Expand description
Tool system — trait, registry, and built-in tool implementations.
All tools implement the Tool trait and are registered in ToolRegistry.
Subagents get ToolRegistry::without_subagent() to prevent recursion.
Modules§
- respond
- RespondTool — reply to an event through its original source channel.
- send_
channel - SendChannelTool — proactively send a message to a specific channel.
- shell
- Interactive PTY-based shell sessions for agents.
- watcher_
exit
Structs§
- Bash
Tool - Edit
Tool - Extension
Tool - Find
Tool - Grep
Tool - LsTool
- Read
Tool - Respond
Tool - Secret
Prompt Handle - UI-only secret prompt plumbing for interactive tools.
- Secret
Prompt Queue - Secret
Prompt Request - Send
Channel Tool - Shell
EndTool - Shell
Send Tool - Shell
Start Tool - Subagent
Collect Tool - Subagent
Handle - Subagent
Registry - Subagent
Result - Subagent
Resume Tool - Subagent
Start Tool - Subagent
State - All mutable state shared between the subagent thread and its handle. Collapsed behind a single RwLock so a status poll takes exactly one lock.
- Subagent
Status Tool - Subagent
Steer Tool - Subagent
Tool - Tool
Capabilities - Runtime capability handles — shared services a tool may require.
- Tool
Channels - Streaming channels — carry partial tool output and stream events.
- Tool
Context - Context passed to tool execution — composition of channels, capabilities, and limits.
- Tool
Limits - Configuration limits and timeouts.
- Tool
Registry - Registry of available tools. Maintains a name→tool map and a cached JSON schema
array that gets sent to the API. Thread-safe via
Arc<RwLock<ToolRegistry>>. - Watcher
Exit Tool - Write
Tool
Enums§
Traits§
- Tool
- The core trait for all tools. Implement this to add a new tool.
Functions§
- resolve_
agent_ prompt - Resolve an agent name to a system prompt.