pub trait ExecutionPlane: Send + Sync {
// Required methods
fn schemas(&self) -> Vec<ToolSchema>;
fn execute_all<'a>(
&'a self,
calls: &'a [ToolCall],
ctx: RunContext<'a>,
) -> Pin<Box<dyn Stream<Item = Result<RunEvent>> + Send + 'a>>;
}Expand description
Guarantees exactly one tool_result event per dispatched ToolCall.
Required Methods§
fn schemas(&self) -> Vec<ToolSchema>
Sourcefn execute_all<'a>(
&'a self,
calls: &'a [ToolCall],
ctx: RunContext<'a>,
) -> Pin<Box<dyn Stream<Item = Result<RunEvent>> + Send + 'a>>
fn execute_all<'a>( &'a self, calls: &'a [ToolCall], ctx: RunContext<'a>, ) -> Pin<Box<dyn Stream<Item = Result<RunEvent>> + Send + 'a>>
Execute a batch of calls. Yields intermediate events; ends with one ToolResult per call.
Dyn Compatibility§
This trait is dyn compatible.
In older versions of Rust, dyn compatibility was called "object safety".