bodhi-realtime-agent / OpenAIRealtimeTransport
Class: OpenAIRealtimeTransport
Defined in: transport/openai-realtime-transport.ts:64
LLMTransport implementation for the OpenAI Realtime API.
Uses the openai SDK's WebSocket transport (OpenAIRealtimeWS) for bidirectional audio streaming with function calling support.
Key differences from Gemini:
- In-place session updates (no reconnect for agent transfers)
- Streamed function call arguments (accumulated before dispatch)
- Client-managed interruption (truncate + cancel)
- 24kHz audio (vs Gemini's 16kHz)
- Explicit
response.createrequired after tool results
Implements
Constructors
Constructor
new OpenAIRealtimeTransport(
config):OpenAIRealtimeTransport
Defined in: transport/openai-realtime-transport.ts:124
Parameters
config
Returns
OpenAIRealtimeTransport
Properties
audioFormat
readonlyaudioFormat:AudioFormatSpec
Defined in: transport/openai-realtime-transport.ts:75
Implementation of
capabilities
readonlycapabilities:TransportCapabilities
Defined in: transport/openai-realtime-transport.ts:65
Static capabilities — read before connecting, used for orchestrator branching.
Implementation of
onAudioOutput()?
optionalonAudioOutput: (base64Data) =>void
Defined in: transport/openai-realtime-transport.ts:84
Parameters
base64Data
string
Returns
void
Implementation of
onClose()?
optionalonClose: (code?,reason?) =>void
Defined in: transport/openai-realtime-transport.ts:93
Parameters
code?
number
reason?
string
Returns
void
Implementation of
onError()?
optionalonError: (error) =>void
Defined in: transport/openai-realtime-transport.ts:92
Parameters
error
Returns
void
Implementation of
onGoAway()?
optionalonGoAway: (timeLeft) =>void
Defined in: transport/openai-realtime-transport.ts:95
Parameters
timeLeft
string
Returns
void
Implementation of
onGroundingMetadata()?
optionalonGroundingMetadata: (metadata) =>void
Defined in: transport/openai-realtime-transport.ts:97
Parameters
metadata
Record<string, unknown>
Returns
void
Implementation of
LLMTransport.onGroundingMetadata
onInputTranscription()?
optionalonInputTranscription: (text) =>void
Defined in: transport/openai-realtime-transport.ts:89
Parameters
text
string
Returns
void
Implementation of
LLMTransport.onInputTranscription
onInterrupted()?
optionalonInterrupted: () =>void
Defined in: transport/openai-realtime-transport.ts:88
Returns
void
Implementation of
onModelTurnStart()?
optionalonModelTurnStart: () =>void
Defined in: transport/openai-realtime-transport.ts:94
Fires when the model begins any response (audio, tool call, etc.). Used by VoiceSession to trigger STT provider commit.
Returns
void
Implementation of
onOutputTranscription()?
optionalonOutputTranscription: (text) =>void
Defined in: transport/openai-realtime-transport.ts:90
Parameters
text
string
Returns
void
Implementation of
LLMTransport.onOutputTranscription
onResumptionUpdate()?
optionalonResumptionUpdate: (handle,resumable) =>void
Defined in: transport/openai-realtime-transport.ts:96
Parameters
handle
string
resumable
boolean
Returns
void
Implementation of
LLMTransport.onResumptionUpdate
onSessionReady()?
optionalonSessionReady: (sessionId) =>void
Defined in: transport/openai-realtime-transport.ts:91
Parameters
sessionId
string
Returns
void
Implementation of
onToolCall()?
optionalonToolCall: (calls) =>void
Defined in: transport/openai-realtime-transport.ts:85
Parameters
calls
Returns
void
Implementation of
onToolCallCancel()?
optionalonToolCallCancel: (ids) =>void
Defined in: transport/openai-realtime-transport.ts:86
Parameters
ids
string[]
Returns
void
Implementation of
onTurnComplete()?
optionalonTurnComplete: () =>void
Defined in: transport/openai-realtime-transport.ts:87
Returns
void
Implementation of
Accessors
isConnected
Get Signature
get isConnected():
boolean
Defined in: transport/openai-realtime-transport.ts:130
Returns
boolean
Implementation of
Methods
clearAudio()
clearAudio():
void
Defined in: transport/openai-realtime-transport.ts:247
Returns
void
Implementation of
commitAudio()
commitAudio():
void
Defined in: transport/openai-realtime-transport.ts:242
Returns
void
Implementation of
connect()
connect(
transportConfig?):Promise<void>
Defined in: transport/openai-realtime-transport.ts:136
Parameters
transportConfig?
Returns
Promise<void>
Implementation of
disconnect()
disconnect():
Promise<void>
Defined in: transport/openai-realtime-transport.ts:185
Returns
Promise<void>
Implementation of
reconnect()
reconnect(
state?):Promise<void>
Defined in: transport/openai-realtime-transport.ts:203
Parameters
state?
Returns
Promise<void>
Implementation of
sendAudio()
sendAudio(
base64Data):void
Defined in: transport/openai-realtime-transport.ts:237
Parameters
base64Data
string
Returns
void
Implementation of
sendContent()
sendContent(
turns,turnComplete):void
Defined in: transport/openai-realtime-transport.ts:308
Parameters
turns
turnComplete
boolean = true
Returns
void
Implementation of
sendFile()
sendFile(
base64Data,mimeType):void
Defined in: transport/openai-realtime-transport.ts:340
Parameters
base64Data
string
mimeType
string
Returns
void
Implementation of
sendToolResult()
sendToolResult(
result):void
Defined in: transport/openai-realtime-transport.ts:362
Parameters
result
Returns
void
Implementation of
transferSession()
transferSession(
config,_state?):Promise<void>
Defined in: transport/openai-realtime-transport.ts:278
Parameters
config
_state?
Returns
Promise<void>
Implementation of
triggerGeneration()
triggerGeneration(
instructions?):void
Defined in: transport/openai-realtime-transport.ts:398
Parameters
instructions?
string
Returns
void
Implementation of
LLMTransport.triggerGeneration
updateSession()
updateSession(
config):void
Defined in: transport/openai-realtime-transport.ts:254
Parameters
config
Returns
void