pub struct AgentTool { /* private fields */ }Expand description
AgentTool wraps an Agent to make it callable as a Tool.
When the parent LLM generates a function call targeting this tool, the framework executes the wrapped agent, captures its final response, and returns it as the tool’s result.
Implementations§
Source§impl AgentTool
impl AgentTool
Sourcepub fn with_config(agent: Arc<dyn Agent>, config: AgentToolConfig) -> Self
pub fn with_config(agent: Arc<dyn Agent>, config: AgentToolConfig) -> Self
Create a new AgentTool with custom configuration.
Sourcepub fn skip_summarization(self, skip: bool) -> Self
pub fn skip_summarization(self, skip: bool) -> Self
Set whether to skip summarization.
Sourcepub fn forward_artifacts(self, forward: bool) -> Self
pub fn forward_artifacts(self, forward: bool) -> Self
Set whether to forward artifacts.
Sourcepub fn input_schema(self, schema: Value) -> Self
pub fn input_schema(self, schema: Value) -> Self
Set custom input schema.
Sourcepub fn output_schema(self, schema: Value) -> Self
pub fn output_schema(self, schema: Value) -> Self
Set custom output schema.
Trait Implementations§
Source§impl Tool for AgentTool
impl Tool for AgentTool
fn name(&self) -> &str
fn description(&self) -> &str
fn parameters_schema(&self) -> Option<Value>
fn response_schema(&self) -> Option<Value>
Source§fn is_long_running(&self) -> bool
fn is_long_running(&self) -> bool
Indicates whether the tool is a long-running operation.
Long-running tools typically return a task ID immediately and
complete the operation asynchronously.
fn execute<'life0, 'async_trait>(
&'life0 self,
ctx: Arc<dyn ToolContext>,
args: Value,
) -> Pin<Box<dyn Future<Output = Result<Value>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
Source§fn enhanced_description(&self) -> String
fn enhanced_description(&self) -> String
Returns an enhanced description that may include additional notes.
For long-running tools, this includes a warning not to call the tool
again if it has already returned a pending status.
Default implementation returns the base description.
Auto Trait Implementations§
impl Freeze for AgentTool
impl !RefUnwindSafe for AgentTool
impl Send for AgentTool
impl Sync for AgentTool
impl Unpin for AgentTool
impl !UnwindSafe for AgentTool
Blanket Implementations§
§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
§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> FutureExt for T
impl<T> FutureExt for T
Source§fn with_context(self, otel_cx: Context) -> WithContext<Self>
fn with_context(self, otel_cx: Context) -> WithContext<Self>
Source§fn with_current_context(self) -> WithContext<Self>
fn with_current_context(self) -> WithContext<Self>
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> IntoRequest<T> for T
impl<T> IntoRequest<T> for T
Source§fn into_request(self) -> Request<T>
fn into_request(self) -> Request<T>
Wrap the input message
T in a tonic::Request