Member Junction
    Preparing search index...

    Abstract base class for a Remote Browser provider driver — a pluggable backend that opens (or attaches to) a real Chromium browser over the Chrome DevTools Protocol and returns a live IRemoteBrowserSession the agent drives.

    This is the sibling of BaseRealtimeBridge: the Remote Browser channel is built exactly like the bridge subsystem (registry table + base driver + EngineBase/Engine pair + pluggable backends). A concrete driver (SelfHostedChromeRemoteBrowser, BrowserbaseRemoteBrowser, …) implements only the irreducibly backend-specific primitives — everything generic (control arbitration, the viewport→screen-track encode, session bookkeeping) lives in the server engine above. Drivers self-register with the MemberJunction ClassFactory — e.g. @RegisterClass(BaseRemoteBrowserProvider, 'BrowserbaseRemoteBrowser'). The base class itself is abstract and unregistered; the engine resolves a driver via MJGlobal.ClassFactory.CreateInstance(BaseRemoteBrowserProvider, provider.DriverClass).

    Capability gating (two layers, defense-in-depth). The engine FIRST checks a provider's SupportedFeatures flag and never calls a session method whose feature is off. The driver's own capability-gated work is the SECOND layer: it calls BaseRemoteBrowserProvider.RequireFeature (or builds an error via BaseRemoteBrowserProvider.notSupported) so a metadata flag that lied — or a caller that bypassed the gate — fails loudly rather than silently degrading.

    Universal CDP substrate. Every backend (self-hosted Chrome and every browser-as-a-service) exposes a CDP endpoint; the engine standardizes on CDP-connect (reusing @memberjunction/computer-use server-side) so this Base package itself stays dependency-light and universal.

    /plans/realtime/realtime-bridges-architecture.md §4d / §4d-i.

    Hierarchy (View Summary)

    Index

    Constructors

    Properties

    The capability flags for the backend this driver instance serves. Populated from the RemoteBrowserProviderContext at BaseRemoteBrowserProvider.Connect time (call this.applyContext(ctx) first). Drives BaseRemoteBrowserProvider.RequireFeature.

    providerName: string = ''

    The backend's display name for this driver instance, used in capability-error messages. Populated from the RemoteBrowserProviderContext; falls back to the driver class name.

    Accessors

    Methods