Immutable provider configuration belonging to one logical session.
startup_timeout bounds Store reconciliation and provider opening;
startup_finalization_timeout separately bounds initial persistence,
rollback, cleanup, and readiness acknowledgement. turn_start_timeout
bounds asynchronous provider admission. provider_command_timeout bounds
response and cancellation callbacks and must be shorter than the application
:provider_command_call_timeout used by the public response call.
Summary
Types
@type t() :: %AgentHarness.SessionConfig{ approval_policy: term(), completed_turn_cache_size: non_neg_integer() | :infinity, cwd: String.t() | nil, env: map(), event_buffer_size: pos_integer(), mcp_servers: map(), metadata: map(), model: String.t() | nil, provider: atom(), provider_command_timeout: pos_integer(), provider_options: map(), sandbox: term(), session_id: String.t(), skills: [map() | String.t()], startup_finalization_timeout: pos_integer(), startup_timeout: pos_integer(), store: false | {module(), term()}, store_failure: :degrade | :stop, system_prompt: String.t() | nil, turn_start_timeout: pos_integer() }
Functions
@spec new( AgentHarness.SessionRef.t(), keyword() ) :: t()