Skip to main content

Module tools

Module tools 

Source
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§

BashTool
EditTool
ExtensionTool
FindTool
GrepTool
LsTool
ReadTool
RespondTool
SecretPromptHandle
UI-only secret prompt plumbing for interactive tools.
SecretPromptQueue
SecretPromptRequest
SendChannelTool
ShellEndTool
ShellSendTool
ShellStartTool
SubagentCollectTool
SubagentHandle
SubagentRegistry
SubagentResult
SubagentResumeTool
SubagentStartTool
SubagentState
All mutable state shared between the subagent thread and its handle. Collapsed behind a single RwLock so a status poll takes exactly one lock.
SubagentStatusTool
SubagentSteerTool
SubagentTool
ToolCapabilities
Runtime capability handles — shared services a tool may require.
ToolChannels
Streaming channels — carry partial tool output and stream events.
ToolContext
Context passed to tool execution — composition of channels, capabilities, and limits.
ToolLimits
Configuration limits and timeouts.
ToolRegistry
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>>.
WatcherExitTool
WriteTool

Enums§

SubagentStatus

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.