pub struct AgentToolConfig {Show 13 fields
pub cwd: String,
pub api_key: Option<String>,
pub base_url: Option<String>,
pub model: String,
pub tool_pool: Vec<ToolDefinition>,
pub abort_controller: Arc<AbortController>,
pub can_use_tool: Option<Arc<dyn Fn(ToolDefinition, Value) -> PermissionResult + Send + Sync>>,
pub on_event: Option<Arc<dyn Fn(AgentEvent) + Send + Sync>>,
pub thinking: Option<ThinkingConfig>,
pub parent_messages: Vec<Message>,
pub parent_user_context: HashMap<String, String>,
pub parent_system_context: HashMap<String, String>,
pub parent_session_id: Option<String>,
}Expand description
Configuration for the AgentTool, held behind an Arc for cloning into closures.
Fields§
§cwd: String§api_key: Option<String>§base_url: Option<String>§model: String§tool_pool: Vec<ToolDefinition>§abort_controller: Arc<AbortController>§can_use_tool: Option<Arc<dyn Fn(ToolDefinition, Value) -> PermissionResult + Send + Sync>>§on_event: Option<Arc<dyn Fn(AgentEvent) + Send + Sync>>§thinking: Option<ThinkingConfig>§parent_messages: Vec<Message>Parent messages for fork subagent logic. Used in the query() path.
parent_user_context: HashMap<String, String>Parent user context for fork subagent. Used in the query() path.
parent_system_context: HashMap<String, String>Parent system context for fork subagent. Used in the query() path.
parent_session_id: Option<String>Parent session ID for sidechain transcript recording.
Trait Implementations§
Source§impl Clone for AgentToolConfig
impl Clone for AgentToolConfig
Source§fn clone(&self) -> AgentToolConfig
fn clone(&self) -> AgentToolConfig
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 moreAuto Trait Implementations§
impl Freeze for AgentToolConfig
impl !RefUnwindSafe for AgentToolConfig
impl Send for AgentToolConfig
impl Sync for AgentToolConfig
impl Unpin for AgentToolConfig
impl UnsafeUnpin for AgentToolConfig
impl !UnwindSafe for AgentToolConfig
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