Skip to content
1 min read · 150 words

Type Alias: TurnObservabilityEvents

ts
type TurnObservabilityEvents = EventMap<{
  dispatchEnd: [DispatchEndEvent];
  dispatchStart: [DispatchStartEvent];
  error: [BaseException];
  iterationEnd: [IterationEndEvent];
  iterationStart: [IterationStartEvent];
  log: [LogEvent];
  toolExecutionEnd: [ToolExecutionEndEvent];
  toolExecutionStart: [ToolExecutionStartEvent];
  turnEnd: [TurnEndEvent];
  turnGateClosed: [TurnGateClosedEvent];
  turnGateOpen: [TurnGate];
  turnStart: [TurnStartEvent];
}>;

Observability events emitted by @nhtio/adk!TurnRunner for instrumentation.

Remarks

These events are for monitoring and instrumentation only and are registered via observe / unobserve / observeOnce. They do not affect pipeline execution.

  • turnStart — emitted immediately before the input pipeline runs.
  • turnEnd — emitted after the pipeline completes (or is aborted/errored).
  • turnGateOpen — emitted when middleware calls ctx.waitFor(), opening a gate.
  • turnGateClosed — emitted when a gate settles (resolved, rejected, aborted, or timed out).
  • toolExecutionStart — emitted before a tool handler is called (after arg validation).
  • toolExecutionEnd — emitted after a tool handler returns or throws.
  • error — emitted when a non-fatal error occurs inside the input or output pipeline.
  • log — emitted when the LLM executor (or anything wired through helpers.log) writes a structured observability record. Carries dispatchId, iteration, emittedAt, level, kind, message, and an optional payload.