bodhi-realtime-agent / HooksManager
Class: HooksManager
Defined in: core/hooks.ts:9
Manages registered lifecycle hooks and exposes them as getter accessors. Zero-overhead pattern: callers check if (hooks.onX) hooks.onX(event).
Constructors
Constructor
new HooksManager():
HooksManager
Returns
HooksManager
Accessors
onAgentTransfer
Get Signature
get onAgentTransfer(): (
event) =>void|undefined
Defined in: core/hooks.ts:32
Returns
(event) => void
Fires after an agent transfer completes (reconnection included).
Parameters
event
fromAgent
string
reconnectMs
number
sessionId
string
toAgent
string
Returns
void
undefined
onError
Get Signature
get onError(): (
event) =>void|undefined
Defined in: core/hooks.ts:41
Returns
(event) => void
Fires on any framework error. Use for centralized error logging/alerting.
Parameters
event
component
string
error
Error
sessionId?
string
severity
"error" | "warn" | "fatal"
Returns
void
undefined
onMemoryExtraction
Get Signature
get onMemoryExtraction(): (
event) =>void|undefined
Defined in: core/hooks.ts:38
Returns
(event) => void
Fires after the memory distiller extracts facts from conversation.
Parameters
event
durationMs
number
factsExtracted
number
userId
string
Returns
void
undefined
onSessionEnd
Get Signature
get onSessionEnd(): (
event) =>void|undefined
Defined in: core/hooks.ts:20
Returns
(event) => void
Fires when the session transitions to CLOSED.
Parameters
event
durationMs
number
reason
string
sessionId
string
Returns
void
undefined
onSessionStart
Get Signature
get onSessionStart(): (
event) =>void|undefined
Defined in: core/hooks.ts:17
Returns
(event) => void
Fires when the Gemini connection becomes ACTIVE for the first time.
Parameters
event
agentName
string
sessionId
string
userId
string
Returns
void
undefined
onSubagentStep
Get Signature
get onSubagentStep(): (
event) =>void|undefined
Defined in: core/hooks.ts:35
Returns
(event) => void
Fires after each step of a background subagent's LLM execution.
Parameters
event
stepNumber
number
subagentName
string
tokensUsed
number
toolCalls
string[]
Returns
void
undefined
onToolCall
Get Signature
get onToolCall(): (
event) =>void|undefined
Defined in: core/hooks.ts:26
Returns
(event) => void
Fires when Gemini requests a tool invocation (before execution).
Parameters
event
agentName
string
execution
sessionId
string
toolCallId
string
toolName
string
Returns
void
undefined
onToolResult
Get Signature
get onToolResult(): (
event) =>void|undefined
Defined in: core/hooks.ts:29
Returns
(event) => void
Fires after a tool completes, is cancelled, or errors.
Parameters
event
durationMs
number
error?
string
status
"completed" | "cancelled" | "error"
toolCallId
string
Returns
void
undefined
onTurnLatency
Get Signature
get onTurnLatency(): (
event) =>void|undefined
Defined in: core/hooks.ts:23
Returns
(event) => void
Fires at the end of each turn with segment-level latency breakdown.
Parameters
event
segments
{ backendToClientMs?: number; backendToGeminiMs?: number; clientToBackendMs?: number; geminiProcessingMs?: number; geminiToBackendMs?: number; totalE2EMs: number; }
segments.backendToClientMs?
number
segments.backendToGeminiMs?
number
segments.clientToBackendMs?
number
segments.geminiProcessingMs?
number
segments.geminiToBackendMs?
number
segments.totalE2EMs
number
sessionId
string
turnId
string
Returns
void
undefined
Methods
register()
register(
hooks):void
Defined in: core/hooks.ts:13
Register (or overwrite) hook callbacks. Merges with any previously registered hooks.
Parameters
hooks
Returns
void