Skip to main content

AgentTool

Struct AgentTool 

Source
pub struct AgentTool { /* private fields */ }
Expand description

Wraps an Agent as a ToolFunction for “agent as a tool” dispatch.

When the live model calls this tool, the wrapped agent runs in an isolated context (no live WebSocket). The agent’s text output is collected and returned as the tool result.

Implementations§

Source§

impl AgentTool

Source

pub fn new(agent: impl Agent + 'static) -> Self

Create a new AgentTool wrapping the given agent.

Source

pub fn from_arc(agent: Arc<dyn Agent>) -> Self

Create from an already-Arc’d agent.

Source

pub fn with_description(self, desc: impl Into<String>) -> Self

Override the tool description.

Source

pub fn with_parameters(self, params: Value) -> Self

Override the tool parameters schema.

Trait Implementations§

Source§

impl ToolFunction for AgentTool

Source§

fn name(&self) -> &str

The unique name of this tool.
Source§

fn description(&self) -> &str

Human-readable description of what this tool does.
Source§

fn parameters(&self) -> Option<Value>

JSON Schema for the tool’s input parameters, or None if parameterless.
Source§

fn call<'life0, 'async_trait>( &'life0 self, args: Value, ) -> Pin<Box<dyn Future<Output = Result<Value, ToolError>> + Send + 'async_trait>>
where Self: 'async_trait, 'life0: 'async_trait,

Execute the tool with the given arguments and return the result.

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T> Instrument for T

Source§

fn instrument(self, span: Span) -> Instrumented<Self>

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more
Source§

fn in_current_span(self) -> Instrumented<Self>

Instruments this type with the current Span, returning an Instrumented wrapper. Read more
Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T> Same for T

Source§

type Output = T

Should always be Self
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
Source§

impl<V, T> VZip<V> for T
where V: MultiLane<T>,

Source§

fn vzip(self) -> V

Source§

impl<T> WithSubscriber for T

Source§

fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
where S: Into<Dispatch>,

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more
Source§

fn with_current_subscriber(self) -> WithDispatch<Self>

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more