ASM.Event (ASM v0.9.2)

Copy Markdown View Source

Run-scoped envelope around normalized core runtime events.

%ASM.Event{} preserves the CliSubprocessCore.Event in :core_event while adding ASM run/session scope plus observability metadata such as lane, backend, and execution mode.

Summary

Types

kind()

@type kind() :: CliSubprocessCore.Event.kind() | :run_completed

payload()

t()

@type t() :: %ASM.Event{
  causation_id: String.t() | nil,
  core_event: CliSubprocessCore.Event.t() | nil,
  correlation_id: String.t() | nil,
  extra: map(),
  id: String.t(),
  kind: kind(),
  metadata: map(),
  payload: payload(),
  provider: atom() | nil,
  provider_session_id: String.t() | nil,
  run_id: String.t(),
  sequence: non_neg_integer() | nil,
  session_id: String.t(),
  timestamp: DateTime.t()
}

Functions

assistant_text(event)

@spec assistant_text(t()) :: String.t() | nil

core?(event)

@spec core?(t()) :: boolean()

generate_id()

@spec generate_id() :: String.t()

generate_id_at(timestamp_ms)

@spec generate_id_at(non_neg_integer()) :: String.t()

kinds()

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

legacy_payload(event)

@spec legacy_payload(t()) :: term()

new(kind, payload, attrs \\ [])

@spec new(kind(), payload(), keyword() | map()) :: t()

parse(attrs)

@spec parse(keyword() | map()) ::
  {:ok, t()}
  | {:error, {:invalid_asm_event, CliSubprocessCore.Schema.error_detail()}}

parse!(attrs)

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

result_usage(event)

@spec result_usage(t()) :: map() | nil

text_delta(event)

@spec text_delta(t()) :: String.t() | nil

to_map(event)

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

wrap_core(run_scope, core_event)

@spec wrap_core(map(), CliSubprocessCore.Event.t()) :: t()