pub struct DynExecutor(pub Arc<dyn ErasedToolExecutor>);Expand description
Wraps Arc<dyn ErasedToolExecutor> so it can be used as a concrete ToolExecutor.
Enables dynamic composition of tool executors at runtime without static type chains.
Tuple Fields§
§0: Arc<dyn ErasedToolExecutor>Trait Implementations§
Source§impl ToolExecutor for DynExecutor
impl ToolExecutor for DynExecutor
fn execute( &self, response: &str, ) -> impl Future<Output = Result<Option<ToolOutput>, ToolError>> + Send
Source§fn execute_confirmed(
&self,
response: &str,
) -> impl Future<Output = Result<Option<ToolOutput>, ToolError>> + Send
fn execute_confirmed( &self, response: &str, ) -> impl Future<Output = Result<Option<ToolOutput>, ToolError>> + Send
Execute bypassing confirmation checks (called after user approves).
Default: delegates to
execute.Source§fn tool_definitions(&self) -> Vec<ToolDef>
fn tool_definitions(&self) -> Vec<ToolDef>
Return tool definitions this executor can handle.
Source§fn execute_tool_call(
&self,
call: &ToolCall,
) -> impl Future<Output = Result<Option<ToolOutput>, ToolError>> + Send
fn execute_tool_call( &self, call: &ToolCall, ) -> impl Future<Output = Result<Option<ToolOutput>, ToolError>> + Send
Execute a structured tool call. Returns
None if tool_id is not handled.Auto Trait Implementations§
impl Freeze for DynExecutor
impl !RefUnwindSafe for DynExecutor
impl Send for DynExecutor
impl Sync for DynExecutor
impl Unpin for DynExecutor
impl UnsafeUnpin for DynExecutor
impl !UnwindSafe for DynExecutor
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