pub struct AgentConfig {
pub system_prompt: Option<String>,
pub tools: Vec<ToolDefinition>,
pub max_tool_rounds: usize,
pub permission_policy: Option<Arc<RwLock<PermissionPolicy>>>,
pub confirmation_manager: Option<Arc<ConfirmationManager>>,
pub context_providers: Vec<Arc<dyn ContextProvider>>,
pub planning_enabled: bool,
pub goal_tracking: bool,
pub skill_tool_filters: Vec<Skill>,
pub hook_engine: Option<Arc<HookEngine>>,
}Expand description
Agent configuration
Fields§
§system_prompt: Option<String>§tools: Vec<ToolDefinition>§max_tool_rounds: usize§permission_policy: Option<Arc<RwLock<PermissionPolicy>>>Optional permission policy for tool execution control
confirmation_manager: Option<Arc<ConfirmationManager>>Optional confirmation manager for HITL (Human-in-the-Loop)
context_providers: Vec<Arc<dyn ContextProvider>>Context providers for augmenting prompts with external context
planning_enabled: boolEnable planning phase before execution
goal_tracking: boolEnable goal tracking
skill_tool_filters: Vec<Skill>Loaded skills with allowed_tools restrictions.
When non-empty, tool calls are checked against each skill’s
allowed_tools list. A tool is allowed if ANY skill permits it,
or if no skill has an allowed_tools restriction.
hook_engine: Option<Arc<HookEngine>>Optional hook engine for firing lifecycle events (PreToolUse, PostToolUse, etc.)
Trait Implementations§
Source§impl Clone for AgentConfig
impl Clone for AgentConfig
Source§fn clone(&self) -> AgentConfig
fn clone(&self) -> AgentConfig
Returns a duplicate of the value. Read more
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreSource§impl Debug for AgentConfig
impl Debug for AgentConfig
Auto Trait Implementations§
impl Freeze for AgentConfig
impl !RefUnwindSafe for AgentConfig
impl Send for AgentConfig
impl Sync for AgentConfig
impl Unpin for AgentConfig
impl UnsafeUnpin for AgentConfig
impl !UnwindSafe for AgentConfig
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