Skip to main content

lash_core/
tool_dispatch.rs

1mod attempt_coordinator;
2mod context;
3mod directives;
4mod execution;
5mod preparation;
6mod retry;
7mod scheduling;
8#[cfg(test)]
9mod tests;
10
11pub use context::{ToolDispatchContext, ToolTriggerEffectOutcome};
12
13pub(crate) use attempt_coordinator::{ToolAttemptEffectIdentity, coordinate_tool_invocation};
14pub(crate) use context::{
15    CheckpointMessageBuffer, PendingToolDispatchOutcome, ToolCallLaunch, ToolDispatchOutcome,
16    ToolPreparationOutcome, ToolTriggerOutcomeBuffer,
17};
18#[cfg(test)]
19pub(crate) use execution::coordinate_prepared_tool_call_launch_with_execution_context;
20pub(crate) use execution::{
21    execute_prepared_tool_attempt_effect, finalize_tool_result_with_execution_context,
22};
23#[cfg(test)]
24pub(crate) use preparation::dispatch_tool_call;
25#[cfg(test)]
26pub(crate) use preparation::dispatch_tool_call_with_execution_context;
27pub(crate) use preparation::{
28    prepare_granted_tool_call_with_context, prepare_tool_call_with_context,
29    resolve_callable_manifest, resolve_callable_manifest_by_id,
30    resolve_tool_argument_projection_policy,
31};
32pub(crate) use retry::{mark_retry_exhausted, retry_after_ms};
33pub(crate) use scheduling::schedule_tool_batch;