pub enum ToolExecutionPolicy {
Concurrent,
Sequential,
Priority(Arc<PriorityFn>),
Custom(Arc<dyn ToolExecutionStrategy>),
}Expand description
Controls how tool calls within a single turn are dispatched.
The default is Concurrent, which
preserves backward compatibility by spawning all tool calls at once.
Variants§
Concurrent
Execute all tool calls concurrently via tokio::spawn (default).
Sequential
Execute tool calls one at a time, in the order the model returned them.
Priority(Arc<PriorityFn>)
Sort tool calls by priority (higher first), then execute groups of equal priority concurrently. Groups run sequentially from highest to lowest.
Custom(Arc<dyn ToolExecutionStrategy>)
Fully custom execution strategy.
Trait Implementations§
Source§impl Clone for ToolExecutionPolicy
impl Clone for ToolExecutionPolicy
Source§impl Debug for ToolExecutionPolicy
impl Debug for ToolExecutionPolicy
Source§impl Default for ToolExecutionPolicy
impl Default for ToolExecutionPolicy
Source§fn default() -> ToolExecutionPolicy
fn default() -> ToolExecutionPolicy
Returns the “default value” for a type. Read more
Auto Trait Implementations§
impl Freeze for ToolExecutionPolicy
impl !RefUnwindSafe for ToolExecutionPolicy
impl Send for ToolExecutionPolicy
impl Sync for ToolExecutionPolicy
impl Unpin for ToolExecutionPolicy
impl UnsafeUnpin for ToolExecutionPolicy
impl !UnwindSafe for ToolExecutionPolicy
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