Skip to content

bodhi-realtime-agent / GeminiProviderTransportConfig

Interface: GeminiProviderTransportConfig ​

Defined in: src/transport/gemini-live-transport.ts:282

Configuration for connecting to the Gemini Live API with a credential fetched for each connection.

Extends ​

Properties ​

apiKey? ​

optional apiKey?: undefined

Defined in: src/transport/gemini-live-transport.ts:289


compressionConfig? ​

optional compressionConfig?: 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.

Inherited from ​

GeminiTransportOptions.compressionConfig


connectTimeoutMs? ​

optional connectTimeoutMs?: 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.

Inherited from ​

GeminiTransportOptions.connectTimeoutMs


credentialProvider ​

credentialProvider: GeminiCredentialProvider

Defined in: src/transport/gemini-live-transport.ts:288

Per-connection credentials. The transport builds no client of its own and never uses a static key: each connect gets a client built from the provider's credential, with the Developer API selected explicitly (vertexai: false, enterprise: false), so the SDK's routing environment variables do not apply. connect(config).auth is ignored.


functionBehavior? ​

optional functionBehavior?: 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).

Inherited from ​

GeminiTransportOptions.functionBehavior


googleSearch? ​

optional googleSearch?: boolean

Defined in: src/transport/gemini-live-transport.ts:344

Enable Gemini's built-in Google Search grounding.

Inherited from ​

GeminiTransportOptions.googleSearch


inputAudioTranscription? ​

optional inputAudioTranscription?: boolean

Defined in: src/transport/gemini-live-transport.ts:346

Enable server-side transcription of user audio input (default: true).

Inherited from ​

GeminiTransportOptions.inputAudioTranscription


mediaResolution? ​

optional mediaResolution?: 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.

Inherited from ​

GeminiTransportOptions.mediaResolution


minCredentialLifetimeMs? ​

optional minCredentialLifetimeMs?: number

Defined in: src/transport/gemini-live-transport.ts:295

The least use, in ms, a credential must leave after the connect deadline: one that expires less than connectTimeoutMs plus this after the provider returns is refused, failing the connect. A floor on how often credential expiry can reconnect the session. Default 60000; 0 keeps only the connect-deadline check.


model? ​

optional model?: string

Defined in: src/transport/gemini-live-transport.ts:304

Gemini model name (default: DEFAULT_GEMINI_LIVE_MODEL, "gemini-3.8-live").

Inherited from ​

GeminiTransportOptions.model


realtimeInputConfig? ​

optional realtimeInputConfig?: 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.

Inherited from ​

GeminiTransportOptions.realtimeInputConfig


reconnectTimeoutMs? ​

optional reconnectTimeoutMs?: 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.

Inherited from ​

GeminiTransportOptions.reconnectTimeoutMs


resumptionHandle? ​

optional resumptionHandle?: 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.

Inherited from ​

GeminiTransportOptions.resumptionHandle


sessionResumption? ​

optional sessionResumption?: 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 omit handle (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.

Inherited from ​

GeminiTransportOptions.sessionResumption


speechConfig? ​

optional speechConfig?: object

Defined in: src/transport/gemini-live-transport.ts:328

Voice configuration for Gemini's speech synthesis.

voiceName? ​

optional voiceName?: string

Inherited from ​

GeminiTransportOptions.speechConfig


systemInstruction? ​

optional systemInstruction?: string

Defined in: src/transport/gemini-live-transport.ts:306

System instruction sent to the model at connection time.

Inherited from ​

GeminiTransportOptions.systemInstruction


tools? ​

optional tools?: ToolDefinition[]

Defined in: src/transport/gemini-live-transport.ts:308

Tool definitions to register with the model (converted to Gemini function declarations).

Inherited from ​

GeminiTransportOptions.tools


vadConfig? ​

optional vadConfig?: 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.

Inherited from ​

GeminiTransportOptions.vadConfig

Built with VitePress