Skip to content

Run event

@kindgi/specs/run-event.schema.json, schema version 1.0.0.

Kernel-emitted lifecycle events for a specific run. Streamed over SSE to subscribers (browser via client SDK, admin UI, external observers). Distinct from the general Event type: RunEvents are always about a specific run, always emitted by the kernel, and are used by the run subscription API rather than the general subscription API.

  • eventId (string, required): <runId>:<sequence>; monotonic within the run. Used as Last-Event-Id for SSE resumability.
  • runId (string, required)
  • tenantId (string, required)
  • timestamp (string (date-time), required)
  • kind ("run.queued" | "run.started" | "run.step-started" | "run.step-completed" | "run.step-failed" | "run.step-retry-scheduled" | "run.iteration-started" | "run.iteration-completed" | "run.tool-invoked" | "run.tool-result" | "run.model-token" | "run.artifact-produced" | "run.guardrail-violated" | "run.wait-suspended" | "run.wait-resumed" | "run.approval-requested" | "run.approval-completed" | "run.completed" | "run.failed" | "run.cancelled", required)
  • sequence (integer): Monotonic sequence within the run: the journal entry's sequence (JournalEntry.sequence in @kindgi/runtime).
  • nodeId (string): For step-scoped events: the flow node id.
  • payload (object): Kind-specific payload. Model tokens carry text; guardrail-violated carries the guardrail id and evidence; approval-requested carries the token id and prompt; etc.