Domain-only agent session state, independent of any UI.
Tracks the active session identity, lifecycle status, and model/provider info. This struct lives in Layer 1 and can be consumed by both the Editor (Layer 2) and headless runtime clients without pulling in presentation concerns.
Presentation state (spinner timers, buffer PIDs, session history)
lives in MingaEditor.State.Agent, which composes this struct.
Summary
Functions
Returns true if the agent is actively working.
Clears the active tool name.
Records the active tool name while a tool is executing.
Sets the model name.
Sets the provider name.
Sets the active session ID.
Sets the agent lifecycle status.
Types
@type status() :: :idle | :plan | :thinking | :tool_executing | :error | nil
Agent lifecycle status.
@type t() :: %MingaAgent.RuntimeState{ active_session_id: String.t() | nil, active_tool_name: String.t() | nil, model_name: String.t() | nil, provider_name: String.t() | nil, status: status() }
Domain-only agent runtime state.
Functions
Returns true if the agent is actively working.
Clears the active tool name.
Records the active tool name while a tool is executing.
Sets the model name.
Sets the provider name.
Sets the active session ID.
Sets the agent lifecycle status.