MingaAgent.EventLog.EventRecord (Minga v0.1.0)

Copy Markdown View Source

A durable, replay-safe agent session event.

Summary

Types

event_type()

@type event_type() ::
  :session_started
  | :session_stopped
  | :user_disconnected
  | :user_message
  | :assistant_delta
  | :thinking_delta
  | :tool_call_started
  | :tool_call_updated
  | :tool_call_finished
  | :tool_call_interrupted
  | :file_edit_proposed
  | :approval_requested
  | :approval_resolved
  | :approval_interrupted
  | :system_message
  | :status_changed
  | :waiting_for_input
  | :prompt_queued
  | :message_changed
  | :error
  | :context_usage
  | :turn_limit_reached
  | :driver_changed

t()

@type t() :: %MingaAgent.EventLog.EventRecord{
  event_type: event_type(),
  id: non_neg_integer() | nil,
  monotonic_ts: integer(),
  payload: map(),
  session_id: String.t(),
  wall_clock: DateTime.t()
}

Functions

new(session_id, event_type, payload, opts \\ [])

@spec new(String.t(), event_type(), map(), keyword()) :: t()

Creates a new event record.