bodhi-realtime-agent / GeminiTransportOptions
Interface: GeminiTransportOptions
Defined in: src/transport/gemini-live-transport.ts:302
The Gemini transport's options apart from its credential.
Extended by
Properties
compressionConfig?
optionalcompressionConfig?:GeminiCompressionConfig
Defined in: src/transport/gemini-live-transport.ts:332
Context-window compression. Thresholds are sent as strings (the API types them as int64); an unset one is omitted so the server default applies, and {} enables compression with both defaults.
connectTimeoutMs?
optionalconnectTimeoutMs?:number
Defined in: src/transport/gemini-live-transport.ts:362
Timeout in ms for connect() to receive setupComplete (default: 30000). With a credentialProvider it is one deadline over the credential fetch, the dial and setupComplete; the fetch may use at most half of it. Under a VoiceSession, keep it at or below VoiceSession.RECONNECT_DEADLINE_MS: an automatic reconnect that outlasts that deadline ends without a retry, so a hung provider is retried only when its half of this deadline ends first.
functionBehavior?
optionalfunctionBehavior?:FunctionBehavior
Defined in: src/transport/gemini-live-transport.ts:342
Default behavior written on every function declaration that does not set its own. Unset means 'BLOCKING' (DEFAULT_FUNCTION_BEHAVIOR) on gemini-3.8 Live models, whose own default is asynchronous; on every other model it sends no behavior, leaving the server default those models were measured with (defaultsToBlockingBehavior).
googleSearch?
optionalgoogleSearch?:boolean
Defined in: src/transport/gemini-live-transport.ts:344
Enable Gemini's built-in Google Search grounding.
inputAudioTranscription?
optionalinputAudioTranscription?:boolean
Defined in: src/transport/gemini-live-transport.ts:346
Enable server-side transcription of user audio input (default: true).
mediaResolution?
optionalmediaResolution?:GeminiMediaResolution
Defined in: src/transport/gemini-live-transport.ts:336
Session-wide media token cost for image/video input. Applies to every realtime-input image this transport sends; realtime input has no per-send override. Omitted → server default.
model?
optionalmodel?:string
Defined in: src/transport/gemini-live-transport.ts:304
Gemini model name (default: DEFAULT_GEMINI_LIVE_MODEL, "gemini-3.8-live").
realtimeInputConfig?
optionalrealtimeInputConfig?:false|GeminiRealtimeInputConfig
Defined in: src/transport/gemini-live-transport.ts:350
Gemini Live realtime input behavior, including server-side VAD tuning, sent as given. false sends no realtimeInputConfig at all, so the server's own defaults apply. Mutually exclusive with vadConfig.
reconnectTimeoutMs?
optionalreconnectTimeoutMs?:number
Defined in: src/transport/gemini-live-transport.ts:366
Force-kill delay in ms for reconnect() (default: 45000): when it expires and no newer dial has started, the session field is cleared. It does not bound the incumbent's close or the redial.
resumptionHandle?
optionalresumptionHandle?:string
Defined in: src/transport/gemini-live-transport.ts:326
Deprecated
Use sessionResumption: { handle } instead. Kept as a compatibility alias; emits a one-shot WARN log per process when used. If both are set, sessionResumption.handle wins.
sessionResumption?
optionalsessionResumption?:false| {handle?:string; }
Defined in: src/transport/gemini-live-transport.ts:322
Server-side session resumption configuration.
false→ opt out entirely (server will not issue resumption handles). Required for ZDR / privacy-sensitive callers who must not allow server-side conversation snapshots.{ handle?: string }→ opt in. Pass a prior handle to resume that session, or omithandle(i.e.{}) for a fresh resumable session.- omitted → defaults to
{}(resume-enabled fresh session, current behavior).
Resolution at connect time: false overrides everything else, including any handle in ReconnectState. Otherwise the transport's mutable effectiveResumptionHandle is used, seeded from this field's handle or the legacy resumptionHandle alias and updated by every resumable: true server sessionResumptionUpdate.
speechConfig?
optionalspeechConfig?:object
Defined in: src/transport/gemini-live-transport.ts:328
Voice configuration for Gemini's speech synthesis.
voiceName?
optionalvoiceName?:string
systemInstruction?
optionalsystemInstruction?:string
Defined in: src/transport/gemini-live-transport.ts:306
System instruction sent to the model at connection time.
tools?
optionaltools?:ToolDefinition[]
Defined in: src/transport/gemini-live-transport.ts:308
Tool definitions to register with the model (converted to Gemini function declarations).
vadConfig?
optionalvadConfig?:GeminiVadConfig
Defined in: src/transport/gemini-live-transport.ts:354
Shorthand for realtimeInputConfig: { automaticActivityDetection: vadConfig }, sent verbatim with nothing merged in. Supplying it together with realtimeInputConfig (including false) throws a ValidationError.