pub struct GenerateAgentTool { /* private fields */ }Expand description
Tool that lets a parent agent generate and spawn a new agent.
The tool description is built dynamically from template metadata so the LLM can discover available templates and their variables automatically.
Implementations§
Source§impl GenerateAgentTool
impl GenerateAgentTool
pub fn new( spawner: Arc<AgentSpawner>, registry: Arc<AgentRegistry>, llm: Arc<LLMRegistry>, ) -> Self
Trait Implementations§
Source§impl Tool for GenerateAgentTool
impl Tool for GenerateAgentTool
Source§fn description(&self) -> &str
fn description(&self) -> &str
Description shown to the LLM for tool selection.
Source§fn input_schema(&self) -> Value
fn input_schema(&self) -> Value
JSON Schema describing expected input arguments.
Source§fn execute<'life0, 'async_trait>(
&'life0 self,
args: Value,
_ctx: ToolExecutionContext,
) -> Pin<Box<dyn Future<Output = ToolResult> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn execute<'life0, 'async_trait>(
&'life0 self,
args: Value,
_ctx: ToolExecutionContext,
) -> Pin<Box<dyn Future<Output = ToolResult> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
Execute the tool with arguments and executor context.
Source§fn policy_bindings(&self) -> ToolPolicyBindings
fn policy_bindings(&self) -> ToolPolicyBindings
Policy bindings used by the shared executor to apply configured policy.
Source§fn safety_metadata(&self) -> ToolSafetyMetadata
fn safety_metadata(&self) -> ToolSafetyMetadata
Safety metadata used by runtime policy, scheduling, and observability.
Source§fn classify_call(&self, _args: &Value) -> ToolCallClassification
fn classify_call(&self, _args: &Value) -> ToolCallClassification
Classify a specific call when risk depends on arguments.
Auto Trait Implementations§
impl !RefUnwindSafe for GenerateAgentTool
impl !UnwindSafe for GenerateAgentTool
impl Freeze for GenerateAgentTool
impl Send for GenerateAgentTool
impl Sync for GenerateAgentTool
impl Unpin for GenerateAgentTool
impl UnsafeUnpin for GenerateAgentTool
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
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
Source§fn in_current_span(self) -> Instrumented<Self> ⓘ
fn in_current_span(self) -> Instrumented<Self> ⓘ
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
Converts
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
Converts
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more