You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
This commit was created on GitHub.com and signed with GitHub’s verified signature.
Windows installation and OAuth callback reliability
Bootstrap installation through pinned npm 12.0.1 from an empty temporary directory before using --allow-scripts, declare the npm 12 requirement in package engines, and make machine-mcp doctor verify the active npm version. This removes the unsupported old-npm path shown by Windows and gives accurate diagnostics for Unknown cli config "--allow-scripts" and legacy devEngines.node errors without guessing which package supplied the invalid metadata.
Construct OAuth callback destinations with the URL API and return 303 See Other after consent instead of manually concatenating a Location string. Add an end-to-end ChatGPT callback regression with reserved state characters and exact origin/path checks.
Extend the isolated install smoke test to require npm 12, install from an empty directory, verify the packaged npm engine requirement, and run the test on Linux, macOS, and Windows CI.
Existing-profile browser automation
Keep the authenticated Manifest V3 extension as the primary browser backend so automation operates the user's ordinary Chromium profile, tabs, extensions, cookies, and login state instead of launching a separate profile. Add tab creation/activation/closure and explicit combined waits for URL, document readiness, page text, and element state.
Replace fragile inspect-then-selector flows with bounded semantic snapshots containing stable per-document/frame element references, visibility/enabled/editable state, and viewport geometry. Page actions now wait for attachment, visibility, enabled/editable state, geometric stability, and unobscured pointer hit targets; ambiguous selectors and stale references fail explicitly.
Add double-click, hover, append-text, and scroll-into-view actions. Top-frame click, double-click, hover, key press, and text input can use fixed short-lived Chromium DevTools Input commands through explicit auto, trusted, or dom modes. The extension exposes no caller-selected CDP method or arbitrary JavaScript and detaches the debugger in finally.
Architecture, security, tests, and documentation
Extract browser command normalization into a focused local module and isolate trusted input in a fixed extension module. Add a versioned extension capability handshake, stale-build reload guidance, explicit keepalive handling, and replacement validation that preserves the current compatible connection until the candidate is accepted; accepted replacements reject in-flight direct and proxied requests with retry guidance instead of leaving them to time out. Preserve resource-backed secrets/files, strict action/value validation, bounded broker messages, cancellation, source limits, and the existing owner-only pairing model.
Add behavior-level tests for command contracts, trusted-input command sequences and cleanup, semantic-ref stability, deterministic scrolling, obscured-target waiting, stale refs, broker routing, catalog parity, and architecture invariants. Update browser setup, permission, security, architecture, testing, and tool documentation.