Module callbacks

Module callbacks 

Source
Expand description

Typed callback registry for Live session events.

Fast lane callbacks (sync, < 1ms): audio, text, transcripts, VAD. Control lane callbacks (async, can block): tool calls, lifecycle, interruptions. Outbound interceptors: transform tool responses, inject context at turn boundaries.

§Callback Modes

Each control-lane callback has an associated CallbackMode:

  • Blocking — awaited inline. The event loop waits for completion before processing the next event. Guarantees ordering and state consistency.
  • Concurrent — spawned as a detached tokio task. The event loop continues immediately. Use for fire-and-forget work (logging, background agent dispatch, analytics).

Fast-lane callbacks (audio, text, VAD) are always sync and inline. Interceptors (before_tool_response, on_turn_boundary) are always blocking.

Some control-lane callbacks are forced-blocking (no concurrent variant): on_interrupted (must clear state before audio resumes), on_tool_call (return value is the tool response).

Structs§

EventCallbacks
Typed callback registry for Live session events.

Enums§

CallbackMode
Controls how a control-lane callback is executed relative to the event loop.