Skip to content

RealtimeProviderAdapter

Defined in: packages/realtime/src/lib/realtime-session/provider-adapter.types.ts:198

A transport with the implemented Maelstrom tool and grounding integration.

readonly optional generatedOpening?: AdapterGeneratedOpening

Defined in: packages/realtime/src/lib/realtime-session/provider-adapter.types.ts:207

Optional natural-opening request; it does not satisfy the fixed-text greeting contract.


readonly observations: AdapterVoiceObservations

Defined in: packages/realtime/src/lib/realtime-session/provider-adapter.types.ts:205

Continuous transcript and media evidence, separate from the legacy exhaustive event union. Every adapter defines the feed; each event kind within it is optional, and media an adapter never reports stays unknown. Providers without media timestamps can use TranscriptObservationFeed.

RealtimeTransportAdapter.observations


readonly optional recovery?: object

Defined in: packages/realtime/src/lib/realtime-session/provider-adapter.types.ts:209

Optional quiet recovery update for application outcomes that settle after reconnect. Never replays tools.

readonly update: (snapshot) => void

VoiceRecoverySnapshot

void


readonly optional turnControl?: AdapterTurnControl

Defined in: packages/realtime/src/lib/realtime-session/provider-adapter.types.ts:240

Manual control for the current connection generation. It may appear, change, or disappear as the adapter establishes or leaves manual mode; speech-native adapters omit it.

Invariant: RealtimeSession never invokes this. It delegates the current value to binding/UI code only while retained turnMode is manual.

connect(opts): Promise<void>

Defined in: packages/realtime/src/lib/realtime-session/provider-adapter.types.ts:217

Opens the provider connection. The adapter mints its own ephemeral credential internally on connect — RealtimeSession never passes one in.

AdapterConnectOptions

Promise<void>

RealtimeTransportAdapter.connect


disconnect(): Promise<void>

Defined in: packages/realtime/src/lib/realtime-session/provider-adapter.types.ts:218

Releases local participation and bounds provider finalization.

Promise<void>

RealtimeTransportAdapter.disconnect


getAudioStreams(): AdapterAudioStreams

Defined in: packages/realtime/src/lib/realtime-session/provider-adapter.types.ts:220

Streams for UI metering. Never throws; absent streams are undefined.

AdapterAudioStreams

RealtimeTransportAdapter.getAudioStreams


injectGrounding(text): void

Defined in: packages/realtime/src/lib/realtime-session/provider-adapter.types.ts:230

Pushes a terse grounding string into the model’s context. The adapter owns whatever latest-wins mechanics apply at the wire/session level (e.g. overwriting session instructions rather than queuing utterances); RealtimeSession additionally debounces calls into this method so the adapter is never asked to collapse a rapid burst on its own.

string

void


on(handler): Unsubscribe

Defined in: packages/realtime/src/lib/realtime-session/provider-adapter.types.ts:231

Subscribes to lifecycle events.

(event) => void

Unsubscribe

RealtimeTransportAdapter.on


sendToolResult(callId, output): Promise<void>

Defined in: packages/realtime/src/lib/realtime-session/provider-adapter.types.ts:222

Sends a tool call’s result back to the model.

ToolCallId

ToolResult

Promise<void>