pub struct FighterLoopParams {Show 13 fields
pub manifest: FighterManifest,
pub user_message: String,
pub bout_id: BoutId,
pub fighter_id: FighterId,
pub memory: Arc<MemorySubstrate>,
pub driver: Arc<dyn LlmDriver>,
pub available_tools: Vec<ToolDefinition>,
pub max_iterations: Option<usize>,
pub context_window: Option<usize>,
pub tool_timeout_secs: Option<u64>,
pub coordinator: Option<Arc<dyn AgentCoordinator>>,
pub approval_engine: Option<Arc<PolicyEngine>>,
pub sandbox: Option<Arc<SandboxEnforcer>>,
}Expand description
Parameters for the fighter loop.
Fields§
§manifest: FighterManifestThe fighter’s manifest (identity, model config, system prompt, capabilities).
user_message: StringThe user’s message to process.
bout_id: BoutIdThe bout (session) ID.
fighter_id: FighterIdThe fighter’s unique ID.
memory: Arc<MemorySubstrate>Shared memory substrate for persistence.
driver: Arc<dyn LlmDriver>The LLM driver to use for completions.
available_tools: Vec<ToolDefinition>Tools available for this fighter to use.
max_iterations: Option<usize>Maximum loop iterations before forced termination (default: 50).
context_window: Option<usize>Context window size in tokens (default: 200K).
tool_timeout_secs: Option<u64>Per-tool timeout in seconds (default: 120).
coordinator: Option<Arc<dyn AgentCoordinator>>Optional agent coordinator for inter-agent tools.
approval_engine: Option<Arc<PolicyEngine>>Optional policy engine for approval-gated tool execution. When present, the referee checks every move before the fighter can throw it.
sandbox: Option<Arc<SandboxEnforcer>>Optional subprocess sandbox (containment ring) for shell and filesystem tools. When present, commands are validated and environments are sanitized before execution.