pub struct SpawnAgentTool { /* private fields */ }Expand description
Tool for spawning sub-agents.
Implementations§
Source§impl SpawnAgentTool
impl SpawnAgentTool
pub fn new(swarm: SharedSwarm, factory: Arc<dyn AgentFactory>) -> Self
Trait Implementations§
Source§impl Tool for SpawnAgentTool
impl Tool for SpawnAgentTool
Source§fn description(&self) -> &str
fn description(&self) -> &str
Human-readable description for the LLM.
Source§fn parameters_schema(&self) -> Value
fn parameters_schema(&self) -> Value
JSON Schema for the tool’s parameters.
Source§fn execute<'life0, 'life1, 'async_trait>(
&'life0 self,
args: Value,
ctx: &'life1 mut AgentContext,
) -> Pin<Box<dyn Future<Output = Result<ToolOutput, ToolError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
fn execute<'life0, 'life1, 'async_trait>(
&'life0 self,
args: Value,
ctx: &'life1 mut AgentContext,
) -> Pin<Box<dyn Future<Output = Result<ToolOutput, ToolError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
Execute the tool with JSON arguments.
Source§fn is_system(&self) -> bool
fn is_system(&self) -> bool
System tools are always visible (not subject to progressive discovery).
Source§fn is_read_only(&self) -> bool
fn is_read_only(&self) -> bool
Whether this tool only reads state (no side effects).
Read-only tools can be executed in parallel.
Source§fn execute_readonly<'life0, 'async_trait>(
&'life0 self,
args: Value,
) -> Pin<Box<dyn Future<Output = Result<ToolOutput, ToolError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn execute_readonly<'life0, 'async_trait>(
&'life0 self,
args: Value,
) -> Pin<Box<dyn Future<Output = Result<ToolOutput, ToolError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
Execute without mutable context access. Used for parallel execution of read-only tools.
Default implementation panics — override if is_read_only() returns true.
Auto Trait Implementations§
impl Freeze for SpawnAgentTool
impl !RefUnwindSafe for SpawnAgentTool
impl Send for SpawnAgentTool
impl Sync for SpawnAgentTool
impl Unpin for SpawnAgentTool
impl UnsafeUnpin for SpawnAgentTool
impl !UnwindSafe for SpawnAgentTool
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