Skip to content

bodhi-realtime-agent / LLMTransport

Interface: LLMTransport

Defined in: types/transport.ts:199

Provider-agnostic interface for realtime LLM transports.

Each provider (Gemini Live, OpenAI Realtime) implements this interface, exposing static capabilities and handling provider-specific wire protocols internally.

Properties

audioFormat

readonly audioFormat: AudioFormatSpec

Defined in: types/transport.ts:211


capabilities

readonly capabilities: TransportCapabilities

Defined in: types/transport.ts:201

Static capabilities — read before connecting, used for orchestrator branching.


isConnected

readonly isConnected: boolean

Defined in: types/transport.ts:207


onAudioOutput()?

optional onAudioOutput: (base64Data) => void

Defined in: types/transport.ts:236

Parameters

base64Data

string

Returns

void


onClose()?

optional onClose: (code?, reason?) => void

Defined in: types/transport.ts:245

Parameters

code?

number

reason?

string

Returns

void


onError()?

optional onError: (error) => void

Defined in: types/transport.ts:244

Parameters

error

LLMTransportError

Returns

void


onGoAway()?

optional onGoAway: (timeLeft) => void

Defined in: types/transport.ts:253

Parameters

timeLeft

string

Returns

void


onGroundingMetadata()?

optional onGroundingMetadata: (metadata) => void

Defined in: types/transport.ts:255

Parameters

metadata

Record<string, unknown>

Returns

void


onInputTranscription()?

optional onInputTranscription: (text) => void

Defined in: types/transport.ts:241

Parameters

text

string

Returns

void


onInterrupted()?

optional onInterrupted: () => void

Defined in: types/transport.ts:240

Returns

void


onModelTurnStart()?

optional onModelTurnStart: () => void

Defined in: types/transport.ts:250

Fires when the model begins any response (audio, tool call, etc.). Used by VoiceSession to trigger STT provider commit.

Returns

void


onOutputTranscription()?

optional onOutputTranscription: (text) => void

Defined in: types/transport.ts:242

Parameters

text

string

Returns

void


onResumptionUpdate()?

optional onResumptionUpdate: (handle, resumable) => void

Defined in: types/transport.ts:254

Parameters

handle

string

resumable

boolean

Returns

void


onSessionReady()?

optional onSessionReady: (sessionId) => void

Defined in: types/transport.ts:243

Parameters

sessionId

string

Returns

void


onToolCall()?

optional onToolCall: (calls) => void

Defined in: types/transport.ts:237

Parameters

calls

TransportToolCall[]

Returns

void


onToolCallCancel()?

optional onToolCallCancel: (ids) => void

Defined in: types/transport.ts:238

Parameters

ids

string[]

Returns

void


onTurnComplete()?

optional onTurnComplete: () => void

Defined in: types/transport.ts:239

Returns

void

Methods

clearAudio()

clearAudio(): void

Defined in: types/transport.ts:215

Returns

void


commitAudio()

commitAudio(): void

Defined in: types/transport.ts:214

Returns

void


connect()

connect(config?): Promise<void>

Defined in: types/transport.ts:204

Parameters

config?

LLMTransportConfig

Returns

Promise<void>


disconnect()

disconnect(): Promise<void>

Defined in: types/transport.ts:205

Returns

Promise<void>


reconnect()

reconnect(state?): Promise<void>

Defined in: types/transport.ts:206

Parameters

state?

ReconnectState

Returns

Promise<void>


sendAudio()

sendAudio(base64Data): void

Defined in: types/transport.ts:210

Parameters

base64Data

string

Returns

void


sendContent()

sendContent(turns, turnComplete?): void

Defined in: types/transport.ts:224

Parameters

turns

ContentTurn[]

turnComplete?

boolean

Returns

void


sendFile()

sendFile(base64Data, mimeType): void

Defined in: types/transport.ts:227

Parameters

base64Data

string

mimeType

string

Returns

void


sendToolResult()

sendToolResult(result): void

Defined in: types/transport.ts:230

Parameters

result

TransportToolResult

Returns

void


transferSession()

transferSession(config, state?): Promise<void>

Defined in: types/transport.ts:221

Parameters

config

SessionUpdate

state?

ReconnectState

Returns

Promise<void>


triggerGeneration()

triggerGeneration(instructions?): void

Defined in: types/transport.ts:233

Parameters

instructions?

string

Returns

void


updateSession()

updateSession(config): void

Defined in: types/transport.ts:218

Parameters

config

SessionUpdate

Returns

void

Built with VitePress