Configuration builder methods for agents
let config = AgentConfig::new("You are a helpful assistant") .with_tools(tools) .with_streaming(true); let agent = StandardAgent::new(config, llm);
.with_tools(Arc<ToolRegistry>)
.with_streaming(bool) // Default: true
.with_debug(bool) // Default: false
sessions/{session_id}/debugger/
.with_thinking(u32) // Budget in tokens
.with_hooks(Arc<HookRegistry>)
.with_hook_short_circuit(bool) // Default: false
.with_max_tool_iterations(usize)
.with_auto_save(bool) // Default: true
.with_injection_chain(InjectionChain)
.with_auto_name(bool) // Default: true
.with_naming_llm(Arc<dyn LlmProvider>)
.with_prompt_caching(bool) // Default: true
.with_dangerous_skip_permissions(bool) // Default: false
let config = AgentConfig::new("You are a coding assistant") .with_tools(tools) .with_streaming(true) .with_debug(false) .with_thinking(16000) .with_hooks(hooks) .with_max_tool_iterations(10) .with_auto_save(true) .with_auto_name(true) .with_prompt_caching(true);