Skip to content

Releases: michael-berardi/overseer-browser

OverSeer Browser 0.6.8

Choose a tag to compare

@michael-berardi michael-berardi released this 27 Oct 23:16

OverSeer Browser 0.6.8

  • The isolated agent browser connects again after an extension update. Chrome for Testing kept running a cached copy of the old extension code, which looked for the native host under its pre-rename name, so every command failed with isolation_unavailable. The supervisor now clears that cache in the dedicated agent profile whenever the extension version changes. Your everyday browsers are never touched.
  • Screenshots of a covered or minimized Agent Window no longer fail with a bare operation_failed: image readback failed. The capture retries twice, then fails with screenshot_window_occluded and says how to recover.

OverSeer Browser 0.6.7

Choose a tag to compare

@michael-berardi michael-berardi released this 16 Oct 11:14

OverSeer Browser 0.6.7

Rolls up 0.6.2 through 0.6.7.

  • Agent Windows never take focus. Starting a session opens the window unfocused, and selecting a tab only activates it inside the Agent Window, so an agent no longer raises a window over what you are doing.
  • Screenshot results now report the viewport, the captured bitmap, the crop and the scale, so an image can be mapped back to the page.
  • sessions start --mobile [--width PX] [--height PX] opens a phone-width Agent Window. If Chrome keeps the window wider than requested, the command fails with window_size_clamped instead of reporting success, and windows resize fails the same way. The CLI reports extension_outdated when the loaded extension predates --mobile (needs 0.6.4 or later).
  • overseer-browser refresh-extension copies the installed extension into the folder Chrome already loaded, so Reload picks up the new version. It refuses while agent sessions are active, and status reports extension_update when the loaded extension is older than the CLI.
  • press Enter carries the legacy key code 13 for older page controls (still a synthetic, cancellable event).
  • press accepts modifier chords such as Shift+Tab, which now moves focus backwards. Unknown modifiers return invalid_key.
  • --help on any command or subcommand is read-only and never contacts the browser; unknown flags fail with unknown_option instead of becoming session names.
  • The native messaging host is now com.paretocybernetics.overseer_browser (Pareto Cybernetics). Updating keeps the old host name registered as a bridge until Chrome reloads the extension, then retires it. The macOS update also keeps an existing operator-relay registration.

Verified: 199 extension tests, TypeScript checks and build; 182 of 183 Python tests pass. The remaining test compares a built-in list against a separate project checkout that is not part of this repository, so it cannot run from a clean clone.

Update: git pull --ff-only, overseer-browser update, then overseer-browser refresh-extension and click Reload once in chrome://extensions.

Source/unpacked-extension distribution, not a Chrome Web Store publication. ZIP includes the extension only; CLI/native-host installation is separate.

OverSeer Browser 0.6.1

Choose a tag to compare

@michael-berardi michael-berardi released this 09 Sep 18:04

OverSeer Browser 0.6.1

  • Fix installed bundle discovery: prefer the extension inside the immutable runtime, then modern source-build output, then legacy layout. No manual extension-path environment override is needed for a staged installation.
  • Add explicit --operator-relay host opt-in for an owner-authorized existing browser. Default launchers remain isolated-only. Exact extension identity, local authentication, session ownership and site grants still apply.
  • Clarify that updating a separate profile is not a rollout of the extension actually in use. Coordinate Chrome's real reload and verify a command, not just the version label.
  • Correct the DOM documentation's unreleased marker.

Verified: 135 Python tests, 175 extension tests, TypeScript checks, and build. After the operator reloaded regular Chrome, CLI/extension 0.6.1 passed owned-session navigation, evaluation, native DOM text query, recording-status access, screenshot QA pack and cleanup. The installed source matches this commit. Recording still requires a real per-capture popup gesture; no automatic recording or debugger permission is introduced.

Source/unpacked-extension distribution, not a Chrome Web Store publication. ZIP includes the extension only; CLI/native-host installation is separate. Preserve explicit existing-browser launcher/registration configuration when updating. Previous releases and local rollback artifacts are retained.

OverSeer Browser 0.6.0

Choose a tag to compare

@michael-berardi michael-berardi released this 09 Sep 16:55

OverSeer Browser 0.6.0

New

  • Bounded qa pack and timed screenshot-sequence capture, with manifests and explicit partial-result errors.
  • Fixed, read-only dom find|get|is queries.
  • Popup-consented, video-only recording with bounded buffering and optional MP4 export using installed ffmpeg.
  • Automatic temporary-output expiry, completed-output eviction under quota pressure, active reservations, and crash-recoverable publication. Explicit kept exports and unrelated/modified files are preserved.
  • Plain minified JSON command results. --json and --raw-json are compatibility aliases; no JSON compression codec or decoder is required.
  • Staged, atomic installer updates that preserve the previous runtime on failure.

Permissions and compatibility

  • Recording requires a real popup gesture for the owned tab. New video permissions are activeTab, tabCapture, and offscreen; review Chrome's permission prompt.
  • No debugger permission is requested. Debugger-only capabilities remain unsupported; the CLI does not silently switch transports.
  • Automatic media management and recording export require macOS/Linux POSIX locking. Windows existing-relay support remains experimental; these media workflows are not supported there.
  • Update CLI, native host and extension together before using new capabilities. Coordinate reloads with other active agents—do not close their windows or replace a running runtime tree.
  • Temporary files can disappear earlier than their TTL under quota pressure. Use an explicit --keep destination or an outside-temp export for deliverables.

Installation

This remains a source release. Follow the README's platform installation/update instructions. The optional overseer-browser-extension-0.6.0.zip contains the built unpacked extension, not a native-host installer; verify it with SHA256SUMS before loading it. It is not a Chrome Web Store publication.

Verification

  • 133 Python tests; 175 extension tests; TypeScript checks and production extension build passed.
  • New CLI verified against a live compatible relay with owned-session start, navigation, snapshot and cleanup, without interrupting peer sessions.
  • Clean release worktree, current-tree/history and generated-bundle secret review completed. Historical findings are documented example digests; the generated manifest finding is the public extension identity key.
  • Two moderate development-only Vitest advisories concern its mock server. No test/dev server is exposed or shipped in the extension bundle; no blind major dependency upgrade was applied.

The new popup's consent flow still requires the user's gesture after installation. Existing running extensions are not automatically reloaded by publishing this release.

OverSeer Browser 0.4.1

Choose a tag to compare

@michael-berardi michael-berardi released this 07 Sep 19:13

Fixed

  • An explicitly selected, already-running relay now works consistently with CLI health checks, status, and browser commands instead of being routed into the managed agent-v1 namespace.
  • Relay selection authenticates the connection and requires multi-session support. Private descriptors bind the runtime to its token fingerprint; invalid or changed selections fail closed.
  • Authentication uses the exact validated token, preventing token rotation between validation and connection from silently selecting a different relay identity.
  • Starting or stopping sessions on a selected operator relay never launches or terminates its host. Session ownership and site permissions remain enforced.

Choose the connection explicitly

From the updated source checkout:

python3 scripts/select-relay.py /absolute/path/to/private/relay-runtime
overseer-browser status --raw-json
overseer-browser --session my-own-task sessions start

Without a selected relay, dedicated managed-browser isolation remains the default. OVERSEER_BROWSER_CONNECTION=managed explicitly chooses that mode. An explicit OVERSEER_BROWSER_RUNTIME retains its existing managed-namespace behavior.

Upgrade notes

This is a source release. Follow the README's platform installation/update instructions. CLI, native-host, extension manifest, package metadata, and lockfile versions are aligned at 0.4.1.

This fix does not require restarting an already-connected compatible relay or reloading its extension solely for CLI routing. Coordinate full host/extension updates with other active users; do not overwrite a running runtime tree.

For users upgrading from the previous tagged 0.2.0 release: subsequent changes include independently scoped agent sessions and a dedicated Chrome for Testing instance for managed automation. Managed browser lifecycle currently supports macOS/Linux, not Windows; see the README for prerequisites and first-use permissions. Existing-relay selection is explicit opt-in, not automatic adoption of personal tabs or other agents' sessions.

Verification

  • 88 Python tests and 146 extension tests passed.
  • Type checking and a clean staged production extension build passed.
  • Version-alignment and token-rotation regressions included.
  • Installed 0.4.1 CLI verified against a live relay, including owned-session start/stop, preserved peer sessions, and an authenticated page read.
  • Release-source secret scan passed. Historical scan findings were reviewed documentation digest examples, not credentials; generated manifest findings were the public extension identity key.

No new dependencies. No GitHub Actions or custom binary assets; installable source is available below.

OverSeer Browser 0.2.0

Choose a tag to compare

@michael-berardi michael-berardi released this 30 Aug 13:04

Highlights

  • Faster agent loop: snapshot/observe prune invisible subtrees (one style + one rect per visible element), refs resolve via native querySelector, and clicks need one fewer cross-world call
  • --wait-until interactive: navigate/back/forward/reload/tabs create can resolve at DOM readiness instead of full page load — seconds saved on tracker-heavy pages
  • Screenshots fixed: unlimited access now requests Chrome's <all_urls> grant, the only grant captureVisibleTab honors. If you enabled unlimited before 0.2.0, toggle it off and on once in the popup to upgrade the grant
  • UltraCompact output: structured CLI results emit token-minimal UC packets when piped (TTY keeps pretty JSON, --raw-json stays exact), now via in-process FFI with graceful fallbacks
  • Cross-platform: Linux installer (Chrome/Chromium/Brave/Edge, persistent XDG data dir) and Windows installer (HKCU registration, Windows 10 1803+); POSIX-only assumptions in the host and CLI are now platform-gated
  • Fixes: wait.for missed-event race, console-capture cleanup overhead per navigation, BrokenPipeError tracebacks on early-closed pipes

Verified: 122 vitest + 57 bridge tests, live end-to-end session on Chrome/macOS (navigate, interactive wait, snapshot, click, fill, observe deltas, batch, screenshots).

Upgrade: git pull --ff-only && ./scripts/manage-macos.sh update, reload the unpacked extension, and re-toggle unlimited access if you use screenshots.