Skip to content

feat: add WebDriver BiDi transport and normalized health events - #564

Draft
llmxtfai wants to merge 16 commits into
browser-use:mainfrom
llmxtfai:feat/firefox-bidi-transport
Draft

feat: add WebDriver BiDi transport and normalized health events#564
llmxtfai wants to merge 16 commits into
browser-use:mainfrom
llmxtfai:feat/firefox-bidi-transport

Conversation

@llmxtfai

@llmxtfai llmxtfai commented Jul 28, 2026

Copy link
Copy Markdown

Summary

  • add a protocol-neutral browser transport with Edge/CDP and Firefox/WebDriver BiDi adapters
  • normalize browser health observations behind the versioned health_events_v2 contract
  • preserve current-tab actions, input, screenshots, navigation, and clean shutdown across both engines
  • bump the proposed package version to 0.2.0

Why

Angel3 reproduced Firefox-only Tactical failures that Edge-only automation did not catch. This provides the cross-engine transport needed to run the same functional contract in both browsers without introducing a second test runner.

Verification

  • 108 Python tests pass
  • focused Ruff checks pass
  • real visible Edge and Firefox interaction exercises pass
  • Firefox Tactical production proof held the same document and canvas for more than four minutes without reload or WebGL loss

Integration note

This branch also contains the sequenced browser-health foundation required by the normalized event contract. Upstream main advanced during the incident work, so this is opened as a draft while the current-main integration is reconciled.


Summary by cubic

Add a protocol-neutral browser transport with adapters for Edge/CDP and Firefox/WebDriver BiDi to run the same actions in both engines. Normalize and sequence browser health observations under the versioned health_events_v2 contract, and expose a live capability manifest.

  • New Features

    • Add WebDriver BiDi transport for Firefox; default remains CDP for Edge. Select via BU_BROWSER_PROTOCOL=bidi with BU_BIDI_URL and BU_BIDI_CONNECT_HOST.
    • Keep cross-engine parity for current-tab actions, input, screenshots, navigation, and clean shutdown.
    • Introduce health_events_v2 with begin, events_since, and seal, plus schema attestation.
    • Add helpers: health_capabilities(), health_begin(), health_events_since(), health_seal(), and browser_capabilities(). New CLI: browser-harness --capabilities prints live JSON.
    • Bump browser-harness to 0.2.0.
  • Migration

    • Move to the health_events_v2 helpers; v1 is superseded.
    • To use Firefox via BiDi, set BU_BROWSER_PROTOCOL=bidi and provide BU_BIDI_URL and BU_BIDI_CONNECT_HOST. No change needed to stay on Edge/CDP.
    • Detect runtime support with helpers.browser_capabilities() or browser-harness --capabilities.

Written for commit 83b591d. Summary will update on new commits.

Review in cubic

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant