pub struct ToolExecutor { /* private fields */ }Expand description
Executor for running tools.
Implementations§
Source§impl ToolExecutor
impl ToolExecutor
pub fn new() -> Self
pub fn sequential() -> Self
pub fn concurrent(max_parallel: Option<usize>) -> Self
Sourcepub async fn execute_all(
&self,
tools: &[(Arc<dyn AgentTool>, ToolUse)],
invocation_state: &InvocationState,
) -> Vec<(String, Vec<ToolEvent>)>
pub async fn execute_all( &self, tools: &[(Arc<dyn AgentTool>, ToolUse)], invocation_state: &InvocationState, ) -> Vec<(String, Vec<ToolEvent>)>
Executes all tools and returns their results.
Sourcepub async fn execute_one(
&self,
tool: Arc<dyn AgentTool>,
tool_use: &ToolUse,
invocation_state: &InvocationState,
) -> Vec<ToolEvent>
pub async fn execute_one( &self, tool: Arc<dyn AgentTool>, tool_use: &ToolUse, invocation_state: &InvocationState, ) -> Vec<ToolEvent>
Executes a single tool and returns its events.
Trait Implementations§
Auto Trait Implementations§
impl Freeze for ToolExecutor
impl RefUnwindSafe for ToolExecutor
impl Send for ToolExecutor
impl Sync for ToolExecutor
impl Unpin for ToolExecutor
impl UnwindSafe for ToolExecutor
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> 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 moreCreates a shared type from an unshared type.