AgentHarness.SessionConfig (AgentHarness v0.2.0)

Copy Markdown View Source

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

t()

@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

new(session, opts \\ [])

@spec new(
  AgentHarness.SessionRef.t(),
  keyword()
) :: t()