Expand description
Tool trait, registry, and execution strategies for the behest agent runtime.
§Key types
Tooltrait: the fundamental abstraction for callable capabilitiesToolRegistry: thread-safe dynamic registration and dispatchToolExecutionStrategy: controls serial vs parallel executionFunctionTool: closure-based tool with metadataToolOutput: wrapped JSON output from tool execution
§ToolExecutionStrategy
- Sequential: strict one-at-a-time execution
- Parallel: concurrent execution with a max concurrency cap
- Auto: intelligently groups read-only/concurrency-safe tools for parallel execution while serializing stateful tools
Structs§
- Execution
Plan - A plan for executing tool calls.
- Function
Tool - A closure-based tool.
- Side
Effects - Side effects a tool may produce.
- Tool
Output - The output of a tool execution, wrapping a JSON value.
- Tool
Registry - A thread-safe registry of tools.
Enums§
- Tool
Error - Canonical tool error type. Aliased here so that downstream callers
can write
behest_tool::ToolErrorwithout taking a direct dependency onbehest_core. Errors produced during tool execution. - Tool
Execution Strategy - How tool calls should be executed.
Traits§
- Tool
- An executable tool that can be called by an LLM.
Type Aliases§
- Tool
Handler - Type alias for the async handler function used by
FunctionTool. - Tool
Result - Alias for a tool execution result.