pub struct DirectExecutor { /* private fields */ }Expand description
Wraps a ToolRegistry as a ToolExecutor.
This bridges the existing tool system into the executor registry, enabling zero-breaking-change migration.
Implementations§
Source§impl DirectExecutor
impl DirectExecutor
pub fn new(tools: Arc<ToolRegistry>) -> Self
Trait Implementations§
Source§impl ToolExecutor for DirectExecutor
impl ToolExecutor for DirectExecutor
Source§fn execute<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
definition: &'life1 ToolDefinition,
call_id: &'life2 str,
arguments: Value,
partial_tx: Option<UnboundedSender<String>>,
) -> Pin<Box<dyn Future<Output = SoulResult<ToolOutput>> + 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,
definition: &'life1 ToolDefinition,
call_id: &'life2 str,
arguments: Value,
partial_tx: Option<UnboundedSender<String>>,
) -> Pin<Box<dyn Future<Output = SoulResult<ToolOutput>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
Execute a tool call.
Source§fn executor_name(&self) -> &str
fn executor_name(&self) -> &str
Name of this executor type.
Auto Trait Implementations§
impl Freeze for DirectExecutor
impl !RefUnwindSafe for DirectExecutor
impl Send for DirectExecutor
impl Sync for DirectExecutor
impl Unpin for DirectExecutor
impl !UnwindSafe for DirectExecutor
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