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.
Re-exports§
pub use crate::runtime::subagent::SubagentResult;pub use crate::runtime::subagent::SubagentHandle;pub use crate::runtime::subagent::SubagentRegistry;pub use crate::runtime::subagent::SubagentStatus;pub use crate::runtime::subagent::SubagentState;pub use watcher_exit::WatcherExitTool;pub use shell::ShellStartTool;pub use shell::ShellSendTool;pub use shell::ShellEndTool;pub use respond::RespondTool;pub use send_channel::SendChannelTool;
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 - Secret
Prompt Handle - UI-only secret prompt plumbing for interactive tools.
- Secret
Prompt Queue - Secret
Prompt Request - Subagent
Collect Tool - Subagent
Resume Tool - Subagent
Start Tool - 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>>. - Write
Tool
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.