Typed representation of sub-agent session source metadata.
@type t() :: %Codex.Protocol.SubAgentSource{ agent_nickname: (String.t() | nil) | nil, agent_role: (String.t() | nil) | nil, depth: (integer() | nil) | nil, other: (String.t() | nil) | nil, parent_thread_id: (String.t() | nil) | nil, variant: variant() }
@type variant() :: :review | :compact | :memory_consolidation | :thread_spawn | :other
@spec from_map(map() | atom() | String.t() | t() | nil) :: t()
@spec to_map(t()) :: map() | String.t()