Member Junction
    Preparing search index...

    Realtime Bridge driver for Slack huddles.

    Construct the driver with the default constructor (the engine's ClassFactory path) — it lazily builds the Slack huddle SDK from the sdkFactory at Connect time. Tests inject a FakeSlackHuddleSdk by overriding the factory via SetSdkFactory (the creation seam) before connecting.

    🚨 See the REAL-API RISK in the file header + slack-sdk.ts: the huddle media path this driver wires is the gating unknown for a live production binding.

    Registered via @RegisterClass(BaseRealtimeBridge, 'SlackBridge').

    Hierarchy (View Summary)

    Index

    Constructors

    Properties

    The capability flags for the provider this bridge instance serves. Populated from the RealtimeBridgeContext at BaseRealtimeBridge.Connect time (and may be set by the engine immediately after construction). Drives BaseRealtimeBridge.RequireFeature.

    providerName: string

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

    Accessors

    Methods

    • Flushes any outbound media the driver has queued for the endpoint — the agent's not-yet-played voice. The engine calls this on a true barge-in (the user interrupts the agent) so the agent stops talking immediately instead of draining already-buffered audio after the model was cut off.

      No-op by default (NOT capability-gated): a driver with no client-side outbound buffer simply has nothing to flush, so calling this is always safe. Drivers that buffer outbound audio override it.

      Returns void

    • Registers a handler for inbound DTMF tones on a telephony bridge.

      Capability-gated by SupportedFeatures.DTMF. Throws unless overridden.

      Parameters

      • _handler: (digits: string) => void

        Invoked with each received DTMF digit string.

      Returns void

      when not overridden.

    • Posts a message to the Slack huddle thread / channel. Exposed for the channel plane / turn-taking hybrid mode (the social-cost-free "raise hand"). Best-effort — a chat failure is logged, never fatal.

      Parameters

      • text: string

        The chat message to post.

      Returns Promise<void>

    • Sends DTMF tones on a telephony bridge.

      Capability-gated by SupportedFeatures.DTMF. Throws unless overridden by a telephony driver.

      Parameters

      • _digits: string

        The DTMF digit string to send (e.g. '1234#').

      Returns Promise<void>

      A promise that resolves once the tones have been sent.

      when not overridden.

    • Sends an outbound media frame into the huddle. Audio is fed to the SDK's huddle media path; video/screen frames are gated by the directional capability flags (the transport carries them, and the SDK send is a deployment-time binding TODO — today the models emit audio).

      ⚠️ REAL-API RISK: the audio send depends on the huddle media path (Chime), the gating unknown — see the file header + slack-sdk.ts.

      Parameters

      Returns void

    • Sets the SlackHuddleSdkFactory this driver uses to construct its SDK seam at connect — the creation seam (mirroring Gemini's overridable connectLiveSession). Production binds the real Slack + huddle-media adapter here; tests inject a FakeSlackHuddleSdk.

      🚨 REAL-API RISK: a production factory must wire a verified huddle media path (likely Chime-level); see the file header + slack-sdk.ts.

      Parameters

      Returns void

    • Requests that the platform begin recording the session.

      Capability-gated by SupportedFeatures.Recording (and subject to per-jurisdiction consent handling upstream). Throws unless overridden.

      Returns Promise<void>

      A promise that resolves once recording has started.

      when not overridden.

    • Transfers the call to another party on a telephony bridge.

      Capability-gated by SupportedFeatures.CallTransfer. Throws unless overridden.

      Parameters

      • _target: string

        The transfer target (a phone number or platform endpoint identifier).

      Returns Promise<void>

      A promise that resolves once the transfer has been initiated.

      when not overridden.