Durable pause point produced by a runtime control.
Interrupts are data. They describe why a turn paused and what pending effect may continue after an application supplies a review response.
Summary
Functions
Returns true when the review window has expired.
Normalizes an existing interrupt, keyword list, or map.
Builds a review interrupt from keyword or map attributes.
Builds a review interrupt and raises if the attributes are invalid.
Returns the Zoi schema for a runtime review interrupt.
Builds a stable review identifier from deterministic parts.
Adds request and expiry times to an interrupt.
Types
@type t() :: %Jidoka.Review.Interrupt{ agent_id: binary(), arguments: map(), boundary: :operation, control: atom(), control_name: binary(), created_at_ms: nil | nil | integer(), effect_id: binary(), effect_kind: :operation, expires_at_ms: nil | nil | integer(), id: binary(), idempotency: (((:pure | :idempotent) | :dedupe) | :reconcile) | :unsafe_once, idempotency_key: nil | nil | binary(), loop_index: integer(), metadata: map(), operation: binary(), operation_kind: (((((((((:action | :operation) | :tool) | :ash_resource) | :browser) | :skill) | :mcp) | :catalog) | :workflow) | :subagent) | :handoff, reason: any(), request_id: binary() }
Functions
@spec expired?(t(), non_neg_integer()) :: boolean()
Returns true when the review window has expired.
Normalizes an existing interrupt, keyword list, or map.
Builds a review interrupt from keyword or map attributes.
Builds a review interrupt and raises if the attributes are invalid.
@spec schema() :: Zoi.schema()
Returns the Zoi schema for a runtime review interrupt.
Builds a stable review identifier from deterministic parts.
@spec with_review_window(t(), non_neg_integer(), pos_integer() | nil) :: t()
Adds request and expiry times to an interrupt.