Jidoka.Event (Jidoka v0.8.0-beta.1)

Copy Markdown View Source

Core event emitted by Jidoka turn transitions.

Events are neutral harness data. Runtime, trace, streaming, and UI modules may project or consume them, but workflow/state modules should only emit the event data itself.

Summary

Functions

Builds a core event with defaults for known Jidoka event names.

Returns the core event names currently emitted by Jidoka.

Projects an event into a compact map.

Types

t()

@type t() :: %Jidoka.Event{
  agent_id: nil | nil | binary(),
  category:
    (:workflow
     | :effect
     | :runtime
     | :operation
     | :control
     | :approval
     | :result
     | :memory)
    | binary(),
  data: map(),
  effect_id: nil | nil | binary(),
  effect_kind: nil | nil | (:llm | :operation) | binary(),
  error: nil | nil | any(),
  event:
    (:llm_delta
     | :result_validated
     | :control_allowed
     | :effect_replayed
     | :effect_started
     | :result_repair_requested
     | :capability_call_started
     | :capability_call_completed
     | :capability_call_failed
     | :effect_completed
     | :effect_failed
     | :control_interrupted
     | :approval_requested
     | :approval_responded
     | :approval_applied
     | :turn_finished
     | :turn_failed
     | :turn_hibernated
     | :control_blocked
     | :turn_started
     | :prompt_assembled
     | :effect_planned
     | :control_failed
     | :memory_recalled
     | :memory_written
     | :operation_observed)
    | binary(),
  loop_index: nil | nil | integer(),
  operation: nil | nil | binary(),
  phase:
    nil
    | nil
    | (:start
       | :control
       | :review
       | :memory
       | :assemble_prompt
       | :plan_model_effect
       | :interpret_effect
       | :validate_result
       | :apply_operation_results
       | :finish)
    | binary(),
  request_id: nil | nil | binary(),
  seq: integer(),
  status:
    nil
    | nil
    | (:planned | :pending | :started | :replayed | :completed | :failed)
    | binary()
}

Functions

build(event, existing_events \\ [], attrs \\ [])

@spec build(atom(), list(), keyword() | map()) :: t()

Builds a core event with defaults for known Jidoka event names.

events()

@spec events() :: [atom()]

Returns the core event names currently emitted by Jidoka.

new(attrs)

@spec new(keyword() | map()) :: {:ok, t()} | {:error, term()}

new!(attrs)

@spec new!(keyword() | map()) :: t()

schema()

@spec schema() :: Zoi.schema()

to_map(event)

@spec to_map(t()) :: map()

Projects an event into a compact map.