bodhi-realtime-agent / EventPayloadMap
Interface: EventPayloadMap
Defined in: src/types/events.ts:87
Maps each event type string to its payload shape. EventBus uses this mapped type for compile-time type safety on publish/subscribe.
Example
eventBus.subscribe('agent.transfer', (payload) => {
// payload is typed as { sessionId: string; fromAgent: string; toAgent: string }
});Properties
agent.enter
agent.enter:
object
Defined in: src/types/events.ts:89
agentName
agentName:
string
sessionId
sessionId:
string
agent.exit
agent.exit:
object
Defined in: src/types/events.ts:90
agentName
agentName:
string
sessionId
sessionId:
string
agent.handoff
agent.handoff:
object
Defined in: src/types/events.ts:93
agentName
agentName:
string
sessionId
sessionId:
string
subagentName
subagentName:
string
toolCallId
toolCallId:
string
agent.transfer
agent.transfer:
object
Defined in: src/types/events.ts:91
fromAgent
fromAgent:
string
sessionId
sessionId:
string
toAgent
toAgent:
string
agent.transfer_requested
agent.transfer_requested:
object
Defined in: src/types/events.ts:92
sessionId
sessionId:
string
toAgent
toAgent:
string
context.compact
context.compact:
object
Defined in: src/types/events.ts:187
removedItems
removedItems:
number
sessionId
sessionId:
string
generation.end
generation.end:
object
Defined in: src/types/events.ts:126
generationId
generationId:
string
reason
reason:
GenerationEndReason
sessionId
sessionId:
string
generation.start
generation.start:
object
Defined in: src/types/events.ts:125
generationId
generationId:
string
sessionId
sessionId:
string
gui.notification
gui.notification:
object
Defined in: src/types/events.ts:153
message
message:
string
sessionId
sessionId:
string
gui.update
gui.update:
object
Defined in: src/types/events.ts:152
data
data:
Record<string,unknown>
sessionId
sessionId:
string
realtime.cache.bust
realtime.cache.bust:
RealtimeCacheBustPublished
Defined in: src/types/events.ts:191
realtime.usage
realtime.usage:
RealtimeUsagePublished
Defined in: src/types/events.ts:190
response.first_audio
response.first_audio:
object
Defined in: src/types/events.ts:145
atMs
atMs:
number
sessionId
sessionId:
string
turnId
turnId:
string
response.started
response.started:
object
Defined in: src/types/events.ts:139
atMs
atMs:
number
origin
origin:
ResponseOrigin
sessionId
sessionId:
string
turnId
turnId:
string
session.close
session.close:
object
Defined in: src/types/events.ts:157
reason
reason:
SessionEndReason
sessionId
sessionId:
string
session.goaway
session.goaway:
object
Defined in: src/types/events.ts:164
sessionId
sessionId:
string
timeLeft
timeLeft:
string
session.reconnectBoundary
session.reconnectBoundary:
object
Defined in: src/types/events.ts:171
A host recovery (recoverUpstream()) crossed its boundary: the active turn was finalized as interrupted and the connection abandoned; the replacement dials next. attemptEpoch is the dial generation the replacement dials on. transportGeneration carries the same dial generation under its older name: it is not the post-setup counter that turn.start.transportGeneration reports.
attemptEpoch
attemptEpoch:
number
reason
reason:
string
sessionId
sessionId:
string
transportGeneration
transportGeneration:
number
session.reset
session.reset:
object
Defined in: src/types/events.ts:147
In-flight latency stamps must be discarded (reconnect/transfer/close).
reason
reason:
"transfer"|"reconnect"|"close"
sessionId
sessionId:
string
session.resume
session.resume:
object
Defined in: src/types/events.ts:163
handle
handle:
string
sessionId
sessionId:
string
session.start
session.start:
object
Defined in: src/types/events.ts:156
agentName
agentName:
string
sessionId
sessionId:
string
userId
userId:
string
session.stateChange
session.stateChange:
object
Defined in: src/types/events.ts:158
fromState
fromState:
SessionState
sessionId
sessionId:
string
toState
toState:
SessionState
session.transcription_mode_changed
session.transcription_mode_changed:
object
Defined in: src/types/events.ts:182
mode
mode:
"agent"|"transcription"
Public, stable mode — 'agent' | 'transcription'.
sessionId
sessionId:
string
session.upstreamLost
session.upstreamLost:
object
Defined in: src/types/events.ts:181
The session parked in UPSTREAM_LOST (upstreamLossPolicy: 'hold'): the provider connection is gone, nothing was finalized, and no automatic dial follows. code/detail carry the transport close code and reason or the failure text, when known.
code?
optionalcode?:number
detail?
optionaldetail?:string
reason
reason:
string
sessionId
sessionId:
string
speech.user_aborted
speech.user_aborted:
object
Defined in: src/types/events.ts:138
A speech.user_started whose segment will never end: client VAD dropped it as a blip shorter than the minimum speech duration, or a forced reset discarded it. No speech.user_ended follows, so a subscriber holding on an open start must let go here.
atMs
atMs:
number
sessionId
sessionId:
string
source
source:
SpeechEventSource
speech.user_ended
speech.user_ended:
object
Defined in: src/types/events.ts:134
atMs
atMs:
number
sessionId
sessionId:
string
source
source:
SpeechEventSource
speech.user_started
speech.user_started:
object
Defined in: src/types/events.ts:133
atMs
atMs:
number
sessionId
sessionId:
string
source
source:
SpeechEventSource
subagent.notification
subagent.notification:
object
Defined in: src/types/events.ts:196
event
event:
ExternalEvent
result
result:
SubagentResult
sessionId
sessionId:
string
subagent.ui.response
subagent.ui.response:
object
Defined in: src/types/events.ts:195
response
response:
UIResponse
sessionId
sessionId:
string
subagent.ui.send
subagent.ui.send:
object
Defined in: src/types/events.ts:194
payload
payload:
UIPayload
sessionId
sessionId:
string
tool.call
tool.call:
ToolCall&object
Defined in: src/types/events.ts:101
Type Declaration
agentName
agentName:
string
sessionId
sessionId:
string
tool.cancel
tool.cancel:
object
Defined in: src/types/events.ts:103
sessionId
sessionId:
string
toolCallIds
toolCallIds:
string[]
tool.result
tool.result:
ToolResult&object
Defined in: src/types/events.ts:102
Type Declaration
sessionId
sessionId:
string
turn.end
turn.end:
object
Defined in: src/types/events.ts:117
sessionId
sessionId:
string
turnId
turnId:
string
turn.interrupted
turn.interrupted:
object
Defined in: src/types/events.ts:118
sessionId
sessionId:
string
turnId
turnId:
string
turn.latency
turn.latency:
object
Defined in: src/types/events.ts:149
Computed per-turn latency result (mirror of onTurnLatency).
segments
segments:
TurnLatencySegments
sessionId
sessionId:
string
turnId
turnId:
string
turn.start
turn.start:
object
Defined in: src/types/events.ts:111
attemptEpoch?
optionalattemptEpoch?:number
sessionId
sessionId:
string
transportGeneration?
optionaltransportGeneration?:number
turnId
turnId:
string