Constructs a SelfHostSessionBackend around a running container handle.
The handle returned by the Chrome-container runner's Acquire.
Returns the MJ-hosted, embeddable live-view URL — the runner's viewer page, whose frames come from the inherited CDP screencast. Self-host has no provider-hosted live view of its own, so this is MJ's own viewer backed by the screencast (the documented production binding seam).
Does NOT throw: the seed row marks LiveView supported for Self-Hosted Chrome.
A promise resolving to the MJ-hosted viewer URL.
Always throws RemoteBrowserCapabilityNotSupportedError: Self-Hosted Chrome has no
first-party AI-control harness, so high-level intents are driven by MJ's own computer-use loop
rather than delegated to the backend. Matches the seed row, which does not enable
NativeAIControl.
The natural-language intent — ignored; the call is unconditionally unsupported.
Never returns; always rejects.
Tears down the Chrome container behind this session by delegating to the container handle's
Release. Idempotent — a second call after a successful release is a no-op, so teardown is safe to
run from both the session's Close() and the provider's Disconnect().
A promise that resolves once the container has been released.
Begins capturing the browser's tab audio (Self-Hosted Chrome supports it) by delegating to the
shared adapter's in-page MediaRecorder capture mechanism, mapping each computer-use
AudioCaptureChunk to the Base RemoteBrowserAudioChunk. The returned handle's
Stop stops the adapter capture.
Implementing this method is what advertises the audio capability for this backend (v1 gates audio by backend implementation, not a metadata flag) — so CdpRemoteBrowserSession.StartAudioStream starts rather than throws for Self-Hosted Chrome.
The connected Playwright/CDP adapter driving this session.
Callback invoked with each captured audio chunk (Base shape).
A promise resolving to a handle whose Stop tears the capture down.
Self-Hosted Chrome's ICdpSessionBackend. Constructed by import('./selfhost-remote-browser').SelfHostRemoteBrowser.AcquireSession around the running container handle.