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
@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
@type t() :: %AttractorEx.Agent.Event{ data: map(), kind: kind(), payload: map(), session_id: String.t(), timestamp: DateTime.t() }