pub struct AgentLoopConfig {
pub max_rounds: usize,
pub system_prompt: Option<String>,
pub additional_tool_schemas: Vec<ToolSchema>,
pub tool_registry: Arc<ToolRegistry>,
pub composition_executor: Option<Arc<CompositionExecutor>>,
pub skill_manager: Option<Arc<SkillManager>>,
pub skip_initial_user_message: bool,
pub storage: Option<Arc<dyn Storage>>,
pub metrics_collector: Option<MetricsCollector>,
pub model_name: Option<String>,
pub token_budget: Option<TokenBudget>,
}Expand description
Configuration for the agent loop.
Fields§
§max_rounds: usize§system_prompt: Option<String>§additional_tool_schemas: Vec<ToolSchema>§tool_registry: Arc<ToolRegistry>§composition_executor: Option<Arc<CompositionExecutor>>§skill_manager: Option<Arc<SkillManager>>§skip_initial_user_message: boolIf true, skip appending the initial user message (already present in session).
storage: Option<Arc<dyn Storage>>Optional storage for persisting session changes
metrics_collector: Option<MetricsCollector>Optional asynchronous metrics collector
model_name: Option<String>Model name used for metrics attribution
token_budget: Option<TokenBudget>Token budget for context management (optional, defaults to model’s limits)
Trait Implementations§
Auto Trait Implementations§
impl Freeze for AgentLoopConfig
impl !RefUnwindSafe for AgentLoopConfig
impl Send for AgentLoopConfig
impl Sync for AgentLoopConfig
impl Unpin for AgentLoopConfig
impl UnsafeUnpin for AgentLoopConfig
impl !UnwindSafe for AgentLoopConfig
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more