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
SubagentDisplayRow
Snapshot row produced by SubagentRegistry::display_rows(). Used by the TUI reconcile path as the registry’s liveness authority.
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.