pub struct EchoToolExecutor;Expand description
Tool executor that echoes back the arguments
Useful for simple testing without setting up mock results.
Implementations§
Trait Implementations§
Source§impl Clone for EchoToolExecutor
impl Clone for EchoToolExecutor
Source§fn clone(&self) -> EchoToolExecutor
fn clone(&self) -> EchoToolExecutor
Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreimpl Copy for EchoToolExecutor
Source§impl Debug for EchoToolExecutor
impl Debug for EchoToolExecutor
Source§impl Default for EchoToolExecutor
impl Default for EchoToolExecutor
Source§fn default() -> EchoToolExecutor
fn default() -> EchoToolExecutor
Returns the “default value” for a type. Read more
Source§impl ToolExecutor for EchoToolExecutor
impl ToolExecutor for EchoToolExecutor
Source§fn execute<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
tool_call: &'life1 ToolCall,
_tool_def: &'life2 ToolDefinition,
) -> Pin<Box<dyn Future<Output = Result<ToolResult>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
fn execute<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
tool_call: &'life1 ToolCall,
_tool_def: &'life2 ToolDefinition,
) -> Pin<Box<dyn Future<Output = Result<ToolResult>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
Execute a single tool call (without context) Read more
Source§fn execute_with_context<'life0, 'life1, 'life2, 'life3, 'async_trait>(
&'life0 self,
tool_call: &'life1 ToolCall,
tool_def: &'life2 ToolDefinition,
_context: &'life3 ToolContext,
) -> Pin<Box<dyn Future<Output = Result<ToolResult>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
'life3: 'async_trait,
fn execute_with_context<'life0, 'life1, 'life2, 'life3, 'async_trait>(
&'life0 self,
tool_call: &'life1 ToolCall,
tool_def: &'life2 ToolDefinition,
_context: &'life3 ToolContext,
) -> Pin<Box<dyn Future<Output = Result<ToolResult>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
'life3: 'async_trait,
Execute a single tool call with context Read more
Source§fn execute_batch<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
tool_calls: &'life1 [ToolCall],
tool_defs: &'life2 [ToolDefinition],
) -> Pin<Box<dyn Future<Output = Result<Vec<ToolResult>>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
fn execute_batch<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
tool_calls: &'life1 [ToolCall],
tool_defs: &'life2 [ToolDefinition],
) -> Pin<Box<dyn Future<Output = Result<Vec<ToolResult>>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
Execute multiple tool calls (default: sequential)
Source§fn execute_parallel<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
tool_calls: &'life1 [ToolCall],
tool_defs: &'life2 [ToolDefinition],
) -> Pin<Box<dyn Future<Output = Result<Vec<ToolResult>>> + Send + 'async_trait>>where
Self: Sized + 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
fn execute_parallel<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
tool_calls: &'life1 [ToolCall],
tool_defs: &'life2 [ToolDefinition],
) -> Pin<Box<dyn Future<Output = Result<Vec<ToolResult>>> + Send + 'async_trait>>where
Self: Sized + 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
Execute multiple tool calls in parallel
Auto Trait Implementations§
impl Freeze for EchoToolExecutor
impl RefUnwindSafe for EchoToolExecutor
impl Send for EchoToolExecutor
impl Sync for EchoToolExecutor
impl Unpin for EchoToolExecutor
impl UnsafeUnpin for EchoToolExecutor
impl UnwindSafe for EchoToolExecutor
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<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
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> 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 moreSource§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