MaelstromRealtimeBaseOptions
Defined in: packages/react-realtime/src/lib/maelstrom-realtime.ts:103
Options shared by every opening configuration of maelstromRealtime.
Type Parameters
Section titled “Type Parameters”Provider
Section titled “Provider”Provider = undefined
Properties
Section titled “Properties”conversationInstructions?
Section titled “conversationInstructions?”
readonlyoptionalconversationInstructions?:string
Defined in: packages/react-realtime/src/lib/maelstrom-realtime.ts:121
Conversation-only instructions for providers with a separate managed tool backend.
createAdapter
Section titled “createAdapter”
readonlycreateAdapter: (context) =>RealtimeProviderAdapter
Defined in: packages/react-realtime/src/lib/maelstrom-realtime.ts:130
Builds one provider adapter for each shared session. The factory receives the orchestrator session identifier and the provider, and is not called per render or hook. If building the session fails after it returns, the adapter is disconnected.
Parameters
Section titled “Parameters”context
Section titled “context”CreateAdapterContext<Provider>
Returns
Section titled “Returns”RealtimeProviderAdapter
debug?
Section titled “debug?”
readonlyoptionaldebug?:boolean
Defined in: packages/react-realtime/src/lib/maelstrom-realtime.ts:159
Enables verbose tracing in the underlying session.
groundingDebounceMs?
Section titled “groundingDebounceMs?”
readonlyoptionalgroundingDebounceMs?:number
Defined in: packages/react-realtime/src/lib/maelstrom-realtime.ts:151
Debounce window for latest-wins grounding pushes.
initialProvider?
Section titled “initialProvider?”
readonlyoptionalinitialProvider?:Provider| (() =>Provider)
Defined in: packages/react-realtime/src/lib/maelstrom-realtime.ts:119
Provider of each Orchestrator’s first session; defaults to the first
entry of providers. A function is read lazily, when that first session
is built. Afterwards the extension remembers the last chosen provider per
Orchestrator, so a remount keeps it.
When providers is set, the selection must belong to that list; an unknown
value throws RangeError before the first adapter is built.
onEvent?
Section titled “onEvent?”
readonlyoptionalonEvent?: (event) =>void
Defined in: packages/react-realtime/src/lib/maelstrom-realtime.ts:157
Observes the stable, additive-only sidechannel stream of every session:
tool calls and results, transcripts and update_ui timings. Turn-mode
diagnostics are excluded.
Parameters
Section titled “Parameters”Readonly<{ at: number; final: boolean; role: "user" | "assistant"; sessionId: SessionId; text: string; type: "transcript"; }> | Readonly<{ argumentsJson: string; at: number; callId: ToolCallId; name: string; sessionId: SessionId; type: "tool_call"; }> | Readonly<{ at: number; callId: ToolCallId; latencyMs: number; ok: boolean; sessionId: SessionId; type: "tool_result"; }> | Readonly<{ at: number; label: string; ms: number; sessionId: SessionId; type: "timing"; }>
Returns
Section titled “Returns”void
onSession?
Section titled “onSession?”
readonlyoptionalonSession?: (session,context) =>void| (() =>void)
Defined in: packages/react-realtime/src/lib/maelstrom-realtime.ts:143
Attaches app wiring, such as diagnostics subscriptions on RealtimeSession.events, to each session the extension builds. It runs once per session, synchronously while the session is built, which can happen during render, so it must not update React state directly. An optional returned cleanup runs after the session has disconnected, when a provider switch replaces it or its last consumer unmounts. Subscriptions the cleanup leaves in place keep observing the retired session, which still reports requests that settle late. Throwing aborts the build.
Parameters
Section titled “Parameters”session
Section titled “session”RealtimeSession
context
Section titled “context”RealtimeSessionContext<Provider>
Returns
Section titled “Returns”void | (() => void)
providers?
Section titled “providers?”
readonlyoptionalproviders?: readonlyProvider[]
Defined in: packages/react-realtime/src/lib/maelstrom-realtime.ts:110
Voice providers this extension can switch between, for example
['live', 'realtime']. The list types
UseVoiceResult.switchProvider, which rejects any other value.
An empty list throws RangeError. Omit it for a single-provider extension.
summarize?
Section titled “summarize?”
readonlyoptionalsummarize?:SummarizeFn
Defined in: packages/react-realtime/src/lib/maelstrom-realtime.ts:149
Overrides the deterministic structural-summary fallback.
transcript?
Section titled “transcript?”
readonlyoptionaltranscript?:ContinuousTranscriptOptions
Defined in: packages/react-realtime/src/lib/maelstrom-realtime.ts:123
Bounds and grouping policy for the opt-in continuous transcript channel.