Expand description
Tool dispatch interface for external tool invocations.
This module provides two layers:
ToolDispatcher— the low-level dispatch trait used by the VM.ToolProvider— the high-level pluggable provider trait for external integrations.
A ProviderRegistry collects named providers and implements ToolDispatcher,
so it can be plugged directly into the VM’s tool_dispatcher slot.
Structs§
- Null
Provider - A sentinel provider that always returns
ToolError::NotRegistered. Used as a placeholder when no real provider has been registered for a tool. - Provider
Registry - A registry of named tool providers. Implements
ToolDispatcherso it can be plugged directly into the VM. - Retry
Policy - Retry policy for tool calls.
- Stub
Dispatcher - Stub tool dispatcher for testing (returns configured responses).
- Tool
Request - Tool
Response - Tool
Schema - Schema describing a tool’s input/output types and declared effects.
Enums§
- Capability
- Capability supported by a provider.
- Tool
Error
Traits§
- Tool
Dispatcher - Tool dispatch trait — implementations handle HTTP, MCP, or built-in tool calls.
- Tool
Provider - A pluggable tool provider. Implementations live in separate crates (e.g. an HTTP provider, an MCP provider, a mock provider).
Type Aliases§
- Tool
Future - Boxed async result used by tool dispatcher and provider async paths.