Skip to content

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 ​

ts
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? ​

optional code?: number

detail? ​

optional detail?: 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? ​

optional attemptEpoch?: number

sessionId ​

sessionId: string

transportGeneration? ​

optional transportGeneration?: number

turnId ​

turnId: string

Built with VitePress