pub struct ContextTool { /* private fields */ }Expand description
A tool from a closure that receives the ToolContext.
Implementations§
Trait Implementations§
Source§impl ToolFunction for ContextTool
impl ToolFunction for ContextTool
Source§fn description(&self) -> &str
fn description(&self) -> &str
Human-readable description of what this tool does.
Source§fn parameters(&self) -> Option<Value>
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
'life0: 'async_trait,
ContextTool: 'async_trait,
fn call<'life0, 'async_trait>(
&'life0 self,
args: Value,
) -> Pin<Box<dyn Future<Output = Result<Value, ToolError>> + Send + 'async_trait>>where
'life0: 'async_trait,
ContextTool: 'async_trait,
Execute the tool with the given arguments and return the result.
Source§fn call_with_context<'life0, 'async_trait>(
&'life0 self,
args: Value,
ctx: ToolContext,
) -> Pin<Box<dyn Future<Output = Result<Value, ToolError>> + Send + 'async_trait>>where
'life0: 'async_trait,
ContextTool: 'async_trait,
fn call_with_context<'life0, 'async_trait>(
&'life0 self,
args: Value,
ctx: ToolContext,
) -> Pin<Box<dyn Future<Output = Result<Value, ToolError>> + Send + 'async_trait>>where
'life0: 'async_trait,
ContextTool: 'async_trait,
Execute the tool knowing the session it runs in: its
State, the
call’s id, and a cancellation token (see ToolContext). Read moreSource§fn requires_confirmation(&self) -> bool
fn requires_confirmation(&self) -> bool
Whether this tool must be confirmed before it runs. Defaults to
false. Read moreSource§fn confirmation_message(&self) -> Option<&str>
fn confirmation_message(&self) -> Option<&str>
Optional hint shown when confirmation is requested.
Auto Trait Implementations§
impl Freeze for ContextTool
impl !RefUnwindSafe for ContextTool
impl Send for ContextTool
impl Sync for ContextTool
impl Unpin for ContextTool
impl !UnwindSafe for ContextTool
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
§impl<S> FromSample<S> for S
impl<S> FromSample<S> for S
fn from_sample_(s: S) -> S
§impl<T> FutureExt for T
impl<T> FutureExt for T
§fn with_context(self, otel_cx: Context) -> WithContext<Self>
fn with_context(self, otel_cx: Context) -> WithContext<Self>
§fn with_current_context(self) -> WithContext<Self>
fn with_current_context(self) -> WithContext<Self>
§impl<T> Instrument for T
impl<T> Instrument for T
§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
§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§impl<T> IntoRequest<T> for T
impl<T> IntoRequest<T> for T
§fn into_request(self) -> Request<T>
fn into_request(self) -> Request<T>
Wrap the input message
T in a tonic::Request§impl<L> LayerExt<L> for L
impl<L> LayerExt<L> for L
§fn named_layer<S>(&self, service: S) -> Layered<<L as Layer<S>>::Service, S>where
L: Layer<S>,
fn named_layer<S>(&self, service: S) -> Layered<<L as Layer<S>>::Service, S>where
L: Layer<S>,
Applies the layer to a service and wraps it in [
Layered].