pub trait ToolExecutionPlanner: Send + Sync {
// Required method
fn plan(
&self,
tool_uses: &[(String, String, Value)],
decider: &dyn ConcurrencyDecider,
) -> Vec<BatchItem>;
}Expand description
Plan how to execute tool calls this turn (sequencing only).
Required Methods§
Sourcefn plan(
&self,
tool_uses: &[(String, String, Value)],
decider: &dyn ConcurrencyDecider,
) -> Vec<BatchItem>
fn plan( &self, tool_uses: &[(String, String, Value)], decider: &dyn ConcurrencyDecider, ) -> Vec<BatchItem>
Plan execution batches from an ordered list of tool calls. The planner must preserve relative order of application and introduce parallelism only for Shared batches. The decider classifies each tool.