Skip to main content

Module tools

Module tools 

Source
Expand description

Extensible Tool System

Provides a trait-based abstraction for tools.

§Architecture

ToolRegistry
  └── builtin tools (bash, read, write, edit, grep, glob, ls, patch, web_fetch, web_search)

Re-exports§

pub use task::parallel_task_params_schema;
pub use task::task_params_schema;
pub use task::ParallelTaskParams;
pub use task::ParallelTaskTool;
pub use task::TaskExecutor;
pub use task::TaskParams;
pub use task::TaskResult;
pub use task::TaskTool;

Modules§

skill
Skill Tool - Invoke skills as callable tools with temporary permission grants
task
Task tools for delegated child runs.

Structs§

ArtifactStore
ArtifactStoreLimits
ProgramTool
ToolArtifact
ToolContext
Tool execution context
ToolExecutor
Tool executor with workspace sandboxing
ToolOutput
Tool execution output
ToolRegistry
Tool registry for managing all available tools
ToolResult
Tool execution result returned by direct tool execution.

Enums§

ToolErrorKind
Structured discriminant for tool failures.
ToolStreamEvent
Events emitted by tools during execution

Constants§

MAX_LINE_LENGTH
Maximum line length before truncation
MAX_OUTPUT_SIZE
Maximum output size in bytes before truncation
MAX_READ_LINES
Maximum lines to read from a file

Traits§

Tool
Tool trait - the core abstraction for all tools

Functions§

register_generate_object
Register the generate_object tool for structured JSON output.
register_program
Register the programmatic tool calling wrapper.
register_program_with_catalog
Register the programmatic tool calling wrapper with a custom catalog.
register_task
Register the task delegation tools (task, parallel_task).
register_task_with_mcp
Register the task delegation tools with optional MCP manager and parent context.
select_tools_for_messages
Select the tools that should be exposed to the model for this turn.
select_tools_for_prompt

Type Aliases§

ToolEventSender
Sender for streaming tool output deltas during execution.