AttractorEx.Agent.Event (attractor_phoenix v0.1.0)

Copy Markdown View Source

Typed session event emitted by AttractorEx.Agent.Session.

The shape mirrors the coding-agent loop spec's session-event contract while keeping a payload alias for backward compatibility with older callers.

Summary

Types

kind()

@type kind() ::
  :session_start
  | :session_end
  | :user_input
  | :assistant_text_start
  | :assistant_text_delta
  | :assistant_text_end
  | :tool_call_start
  | :tool_call_output_delta
  | :tool_call_end
  | :steering_injected
  | :turn_limit
  | :loop_detection
  | :context_warning
  | :subagent_spawned
  | :subagent_input_sent
  | :subagent_wait_completed
  | :subagent_closed
  | :error

t()

@type t() :: %AttractorEx.Agent.Event{
  data: map(),
  kind: kind(),
  payload: map(),
  session_id: String.t(),
  timestamp: DateTime.t()
}

Functions

new(kind, session_id, data, timestamp \\ DateTime.utc_now())

@spec new(kind(), String.t(), map(), DateTime.t()) :: t()

supported_kinds()

@spec supported_kinds() :: [kind()]