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.Source§fn execute_tool_call_confirmed(
&self,
call: &ToolCall,
) -> impl Future<Output = Result<Option<ToolOutput>, ToolError>> + Send
fn execute_tool_call_confirmed( &self, call: &ToolCall, ) -> impl Future<Output = Result<Option<ToolOutput>, ToolError>> + Send
Execute a structured tool call bypassing confirmation checks. Read more
Source§fn set_skill_env(&self, env: Option<HashMap<String, String>>)
fn set_skill_env(&self, env: Option<HashMap<String, String>>)
Inject environment variables for the currently active skill. No-op by default.
Source§fn set_effective_trust(&self, level: TrustLevel)
fn set_effective_trust(&self, level: TrustLevel)
Set the effective trust level for the currently active skill. No-op by default.
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
Source§impl<T> ErasedToolExecutor for Twhere
T: ToolExecutor,
impl<T> ErasedToolExecutor for Twhere
T: ToolExecutor,
fn execute_erased<'a>( &'a self, response: &'a str, ) -> Pin<Box<dyn Future<Output = Result<Option<ToolOutput>, ToolError>> + Send + 'a>>
fn execute_confirmed_erased<'a>( &'a self, response: &'a str, ) -> Pin<Box<dyn Future<Output = Result<Option<ToolOutput>, ToolError>> + Send + 'a>>
fn tool_definitions_erased(&self) -> Vec<ToolDef>
fn execute_tool_call_erased<'a>( &'a self, call: &'a ToolCall, ) -> Pin<Box<dyn Future<Output = Result<Option<ToolOutput>, ToolError>> + Send + 'a>>
fn execute_tool_call_confirmed_erased<'a>( &'a self, call: &'a ToolCall, ) -> Pin<Box<dyn Future<Output = Result<Option<ToolOutput>, ToolError>> + Send + 'a>>
Source§fn set_skill_env(&self, env: Option<HashMap<String, String>>)
fn set_skill_env(&self, env: Option<HashMap<String, String>>)
Inject environment variables for the currently active skill. No-op by default.
Source§fn set_effective_trust(&self, level: TrustLevel)
fn set_effective_trust(&self, level: TrustLevel)
Set the effective trust level for the currently active skill. No-op by default.
Source§fn is_tool_retryable_erased(&self, tool_id: &str) -> bool
fn is_tool_retryable_erased(&self, tool_id: &str) -> bool
Whether the executor can safely retry this tool call on a transient error.