A normalized event emitted during an agent session.
Provider adapters normalize lifecycle events into type and data, while
raw retains the provider value delivered to the adapter for features that
are not part of the common API. An upstream SDK can reject a wire message
before AgentHarness receives it, so this is not a byte-for-byte transport log.
Summary
Types
@type t() :: %AgentHarness.Event{ at: DateTime.t(), data: term(), id: String.t(), provider: atom(), raw: term(), schema_version: pos_integer(), seq: non_neg_integer(), session_id: String.t(), turn_id: String.t() | nil, type: atom() }