Skip to content

bodhi-realtime-agent / GeminiTransportCallbacks

Interface: GeminiTransportCallbacks ​

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

Callbacks fired by GeminiLiveTransport when server messages arrive.

Methods ​

onAudioOutput()? ​

optional onAudioOutput(data): void

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

Base64-encoded PCM audio output from the model.

Parameters ​

data ​

string

Returns ​

void


onClose()? ​

optional onClose(code?, reason?): void

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

WebSocket connection closed.

Parameters ​

code? ​

number

reason? ​

string

Returns ​

void


onConnectionLifecycle()? ​

optional onConnectionLifecycle(event): void

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

Connection-lifecycle facts (attempt / setup / close). With a credentialProvider, a failure may hold provider-supplied text: see ConnectFailure before logging it.

Parameters ​

event ​

ConnectionLifecycleEvent

Returns ​

void


onCredentialExpiry()? ​

optional onCredentialExpiry(): void

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

The current connection's credential expired (credentialProvider only); see LLMTransport.onCredentialExpiry.

Returns ​

void


onError()? ​

optional onError(error): void

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

Transport-level error.

Parameters ​

error ​

Error

Returns ​

void


onFirstAudioChunk()? ​

optional onFirstAudioChunk(): void

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

First audio chunk of the model's response (TTS-first-audio anchor).

Returns ​

void


onGenerationComplete()? ​

optional onGenerationComplete(): void

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

The provider said generationComplete (any response modality). Distinct from turnComplete.

Returns ​

void


onGenerationEnd()? ​

optional onGenerationEnd(generationId, reason): void

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

That generation closed, and why. Fires exactly once per start.

Parameters ​

generationId ​

string

reason ​

GenerationEndReason

Returns ​

void


onGenerationStart()? ​

optional onGenerationStart(generationId): void

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

A generation opened. Paired with exactly one onGenerationEnd.

Parameters ​

generationId ​

string

Returns ​

void


onGoAway()? ​

optional onGoAway(timeLeft): void

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

Server is shutting down — reconnect before timeLeft expires.

Parameters ​

timeLeft ​

string

Returns ​

void


onGroundingMetadata()? ​

optional onGroundingMetadata(metadata): void

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

Grounding metadata from Google Search results.

Parameters ​

metadata ​

Record<string, unknown>

Returns ​

void


onInputTranscription()? ​

optional onInputTranscription(text): void

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

Transcription of user's spoken input.

Parameters ​

text ​

string

Returns ​

void


onInterrupted()? ​

optional onInterrupted(serverTurnId?): void

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

Model's response was interrupted by user speech.

Parameters ​

serverTurnId? ​

number

Returns ​

void


onModelTurnStart()? ​

optional onModelTurnStart(generationId?): void

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

A new generation opened (first model output or tool call of an answer).

Parameters ​

generationId? ​

string

Returns ​

void


onOutputTranscription()? ​

optional onOutputTranscription(text): void

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

Transcription of model's spoken output.

Parameters ​

text ​

string

Returns ​

void


onResumptionUpdate()? ​

optional onResumptionUpdate(handle, resumable): void

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

New session resumption handle available.

Parameters ​

handle ​

string

resumable ​

boolean

Returns ​

void


onSetupComplete()? ​

optional onSetupComplete(sessionId): void

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

Gemini session setup is complete and ready for audio.

Parameters ​

sessionId ​

string

Returns ​

void


onToolCall()? ​

optional onToolCall(calls): void

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

Model is requesting one or more tool invocations.

Parameters ​

calls ​

object[]

Returns ​

void


onToolCallCancellation()? ​

optional onToolCallCancellation(ids): void

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

Model is cancelling previously requested tool calls.

Parameters ​

ids ​

string[]

Returns ​

void


onTurnComplete()? ​

optional onTurnComplete(serverTurnId?): void

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

Model has finished its response turn.

Parameters ​

serverTurnId? ​

number

Returns ​

void


onUsageMetadata()? ​

optional onUsageMetadata(usage): void

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

Server-reported token accounting. Fires on EVERY message carrying it, including ones that also carry serverContent, a tool call, or goAway.

Parameters ​

usage ​

UsageMetadata

Returns ​

void

Built with VitePress