lash_core/
tool_dispatch.rs1mod context;
2mod directives;
3mod execution;
4mod preparation;
5mod retry;
6mod scheduling;
7#[cfg(test)]
8mod tests;
9
10pub use context::{ToolDispatchContext, ToolTriggerEffectOutcome};
11#[cfg(test)]
12pub(crate) use scheduling::{ParallelToolCallSpec, dispatch_parallel_tool_calls};
13
14pub(crate) use context::{
15 CheckpointMessageBuffer, PendingToolDispatchOutcome, ToolCallLaunch, ToolDispatchOutcome,
16 ToolPreparationOutcome, ToolTriggerOutcomeBuffer,
17};
18pub(crate) use execution::{
19 dispatch_granted_prepared_tool_attempt_launch_with_execution_context,
20 dispatch_granted_prepared_tool_call_launch_with_execution_context,
21 dispatch_prepared_tool_attempt_launch_with_execution_context,
22 dispatch_prepared_tool_call_launch_with_execution_context,
23 finalize_tool_result_with_execution_context,
24};
25#[cfg(test)]
26pub(crate) use preparation::dispatch_tool_call;
27#[cfg(test)]
28pub(crate) use preparation::dispatch_tool_call_with_execution_context;
29pub(crate) use preparation::{
30 prepare_granted_tool_call_with_context, prepare_tool_call_with_context,
31 resolve_callable_manifest, resolve_callable_manifest_by_id,
32 resolve_tool_argument_projection_policy,
33};
34pub(crate) use retry::{mark_retry_exhausted, retry_after_ms};
35pub(crate) use scheduling::{resolve_tool_scheduling, schedule_tool_batch};