Skip to main content

Module tools

Module tools 

Expand description

Tool subsystem for agent-callable capabilities.

Re-exports§

pub use cron_add::CronAddTool;
pub use cron_list::CronListTool;
pub use cron_remove::CronRemoveTool;
pub use cron_run::CronRunTool;
pub use cron_runs::CronRunsTool;
pub use cron_update::CronUpdateTool;
pub use delegate::DelegateTool;
pub use deliver_file::DeliverFileTool;
pub use deliver_file::MAX_DELIVER_FILE_BYTES;
pub use deliver_file::attachment_deliver_uri;
pub use deliver_file::read_delivered_artifact_bounded;
pub use file_read::FileReadTool;
pub use model_switch::ModelSwitchTool;
pub use read_skill::ReadSkillTool;
pub use schedule::ScheduleTool;
pub use security_ops::SecurityOpsTool;
pub use send_message_to_peer::SendMessageToPeerTool;
pub use shell::ShellTool;
pub use skill_http::SkillHttpTool;
pub use skill_tool::SkillBuiltinTool;
pub use skill_tool::SkillShellTool;
pub use sop_advance::SopAdvanceTool;
pub use sop_approve::SopApproveTool;
pub use sop_execute::SopExecuteTool;
pub use sop_list::SopListTool;
pub use sop_status::SopStatusTool;
pub use sop_workshop::SopWorkshopTool;
pub use spawn_subagent::SpawnSubagentTool;
pub use todo_write::TodoWriteTool;
pub use verifiable_intent::VerifiableIntentTool;

Modules§

attribution
cron_add
cron_list
cron_remove
cron_run
cron_runs
cron_update
delegate
deliver_file
file_read
mcp_context
Helpers that format MCP resource/prompt content for safe injection into the model context. All server-origin content is wrapped with an trust="untrusted-external" provenance marker and run through the existing secret-scrubbing/length-bounding used elsewhere for server-controlled text.
model_switch
param_options
Runtime resolution of tool parameter option domains.
read_skill
schedule
scoped
ScopedToolRegistry - the one gated seam that mints the per-agent tool set.
security_ops
Security operations tool for managed cybersecurity service (MCSS) workflows.
send_message_to_peer
Agent-loop tool that sends a message to a configured peer on a shared channel.
shell
skill_http
HTTP-based tool derived from a skill’s [[tools]] section.
skill_manage
Skill management tools for the background review fork.
skill_tool
Shell-based tool derived from a skill’s [[tools]] section.
sop_advance
sop_approve
sop_execute
sop_list
sop_status
sop_workshop
spawn_subagent
Agent-loop tool that spawns an ephemeral SubAgent inheriting the parent’s identity, security policy, and memory allowlist, runs a focused prompt, and returns the response. Cron’s JobType::Agent dispatch is the other SubAgent spawn site; both funnel through
todo_write
verifiable_intent
Verifiable Intent primitives exposed as a tool.

Structs§

A2aCancelTool
a2a_cancel — cancel an in-flight task.
A2aDiscoverTool
a2a_discover — list available peer agents and their capabilities.
A2aGetTaskTool
a2a_get_task — retrieve the state/artifacts of an in-flight task.
A2aHttpClient
Outbound A2A HTTP client. Holds only the reqwest client and the live config handle — no peer list copy. Constructed once, shared by all a2a_* tools behind an Arc.
A2aSendTool
a2a_send — delegate a task to a peer agent (blocking on the result).
AcpSessionReadView
Agent-scoped access to the durable ACP session store.
ActivatedToolSet
Per-conversation MCP activation and built-in schema selection.
AllToolsResult
Bundled return values from tool registry construction. Named struct to avoid an ever-growing positional tuple that’s painful to destructure across many callers.
ArcToolRef
Thin wrapper that makes an Arc<dyn Tool> usable as Box<dyn Tool>.
AskUserTool
Agent-callable tool for sending a question to a user and waiting for their response.
BackupTool
Shared-data backup tool: create, list, verify, and restore timestamped backups with SHA-256 manifest integrity checking.
CalculatorTool
CanvasStore
Shared canvas store — holds all active canvases. Thread-safe and cheaply cloneable (wraps Arc).
CanvasTool
CanvasTool — agent-callable tool for the Live Canvas (A2UI) system.
ChannelRoomTool
CloudOpsTool
Read-only cloud operations advisory tool. Actions: review_iac, assess_migration, cost_analysis, architecture_review.
CloudPatternsTool
Tool that suggests cloud patterns given a workload description.
ContentSearchTool
DataManagementTool
Shared-data lifecycle tool: retention status, purge preview, and storage statistics. Confirmed purge is currently unavailable.
DeferredMcpToolSet
Collection of all deferred MCP tool stubs discovered at startup. Provides keyword search for tool_search.
DiscordSearchTool
Search Discord message history stored in discord.db.
DiscoveredCli
A discovered CLI tool with metadata.
EscalateToHumanTool
Agent-callable tool for escalating situations to a human operator with urgency routing.
FileDownloadSsrfPolicy
FileDownloadTool
FileEditTool
FileUploadBundleTool
FileUploadTool
FileWriteTool
Write file contents with path sandboxing
GitForgeTool
Agent-callable tool exposing forge operations as a resource/action grid plus a raw catch-all, all over the git channel’s single forge transport.
GitOperationsTool
Git operations tool for structured repository management. Provides safe, parsed git operations with JSON output.
GlobSearchTool
Search for files by glob pattern within the workspace.
HardwareBoardInfoTool
Tool: return full board info (chip, architecture, memory map) for agent/Telegram.
HardwareMemoryMapTool
Tool: report hardware memory map for connected boards.
HardwareMemoryReadTool
Tool: read memory at address from connected Nucleo via probe-rs.
HttpRequestTool
HTTP request tool for API interactions. Supports GET, POST, PUT, DELETE methods with configurable security.
ImageInfoTool
KnowledgeTool
Tool for managing a knowledge graph of patterns, decisions, lessons, and experts.
LlmTaskTool
Tool that runs a single prompt through an LLM and optionally validates the response against a JSON Schema. No tools are provided to the LLM — this is a pure text-in, text-out (or JSON-out) call.
McpPromptsTool
Generic MCP prompt access tool. Routes through McpRegistry.
McpRegistry
Registry of all connected MCP servers, with a flat tool index.
McpResourcesTool
Generic MCP resource access tool. Routes through McpRegistry.
McpServer
A live connection to one MCP server (any transport).
McpToolWrapper
A zeroclaw Tool backed by an MCP server tool. The prefixed_name (e.g. filesystem__read_file) is what the agent loop sees. The registry knows how to route it to the correct server.
MemoryExportTool
Bulk-export memories as a JSON array for GDPR Art. 20 data portability.
MemoryForgetTool
Let the agent forget/delete a memory entry
MemoryPurgeTool
Let the agent bulk-delete memories by namespace or session
MemoryRecallTool
Let the agent search its own memory
MemoryStoreTool
Let the agent store memories — its own brain writes
ModelRoutingConfigTool
PathGuardedTool
PipelineTool
The execute_pipeline tool that runs multi-step tool chains.
PollTool
ProxyConfigTool
RateLimitedTool
ReactionTool
Agent-callable tool for adding or removing emoji reactions on messages.
SchemaCleanr
JSON Schema cleaner optimized for LLM tool calling.
SendViaTool
Agent-callable tool for per-turn output routing and channel fanout.
SessionDeleteTool
Permanently deletes a session and all its messages. The session key becomes invalid and must be recreated for new conversations.
SessionResetTool
Resets a session by clearing its message history. The session key remains valid for new messages. Useful for cleaning up stale conversations without deleting the session entry itself.
SessionsCurrentTool
Returns the session key and metadata for the currently active session. Reads the session key from the TOOL_LOOP_SESSION_KEY task-local, which is scoped around gateway and channel agent turns.
SessionsHistoryTool
Reads the message history of a specific session by ID.
SessionsListTool
Lists active sessions with their channel, last activity time, and message count.
SessionsSendTool
Deprecated compatibility tool that appends content to Chat session history.
ToolOutput
Typed tool output. The LLM-facing string is derived from the structured value exactly once, at construction, so the two can never drift. Deref to str keeps every text read site working on the rendered form.
ToolResult
Result of a tool execution
ToolSearchTool
Fetches full schemas for admitted deferred built-ins and MCP tools.
ToolSpec
WebFetchTool

Enums§

CleaningStrategy
Schema cleaning strategies for different LLM model_providers.

Constants§

ALLOWED_CONTENT_TYPES
Allowed content types for canvas frames via the REST API.
BUILTIN_TOOL_INTEGRATIONS
MAX_CONTENT_SIZE
Maximum content size per canvas frame (256 KB).
REENTRANT_AGENT_TOOLS
Re-entrant agent-spawning tools that must never be collapsed by the per-turn duplicate-call guard: launching several with the same prompt (redundancy, sampling, fan-out) is intentional, not an accidental repeat. Unioned with config-provided exemptions in the tool-call loop.

Statics§

TURN_ROUTING

Traits§

GitCommandBoundary
Runtime-owned boundary applied to write-classified Git subprocesses.
Tool

Functions§

all_tools
Create full tool registry including memory tools and optional Composio
all_tools_with_runtime
Create the full tool registry on a dedicated builder thread.
all_tools_with_runtime_and_acp_sessions
Create the full tool registry with an optional ACP session read view.
all_tools_with_runtime_and_execution_capability
Create the managed registry while carrying the authority-backed execution capability into tools that can start work for another target alias.
build_deferred_tools_section
Build the <available-deferred-tools> section for the system prompt. Lists tool names with a one-line summary each (the first non-empty line of the description, capped) so the LLM knows what is available without consuming context window on full schemas or full docstrings. Includes an instruction block that tells the LLM to call tool_search to activate them.
build_deferred_tools_section_excluding
build_deferred_tools_section_filtered
build_mcp_capability_tools
Build the two generic MCP capability tools (mcp_resources, mcp_prompts), including each only when the access policy admits its name. A None policy admits both. Returned as Arc<dyn Tool> ready to register and/or expose to delegates.
collect_mcp_elevation_arcs
composio_tool_available
Whether the Composio tool is registered for config: compiled in and enabled. Prompt builders consult this so the model is never told about a tool this build does not carry.
default_tools
Create the default tool registry
default_tools_with_runtime
Create the default tool registry with explicit runtime adapter.
discover_cli_tools
Discover available CLI tools on the system. Scans PATH for known tools and returns metadata for each found.
register_skill_tools_with_context_and_runtime
shell_tool_for_runtime
Assemble a shell tool through the same runtime/sandbox ownership seam used by the production registry.

Type Aliases§

AgentPeerGroupResolver
Resolves the peer groups that include the active agent, read live from config at call time so a config reload (membership / external_peers / channel alias / output_modality) takes effect without rebuilding the tool registry.
ChannelMapHandle
Shared handle giving tools late-bound access to the live channel map.
DelegateParentToolsHandle
Shared handle to the delegate tool’s parent-tools list. Callers can push additional tools (e.g. MCP wrappers) after construction.
ForwardedEnvironment
One immutable, session-scoped client environment shared by shell execution and RPC admission. Only the handles are cloned; values are neither copied into admission state nor persisted. Eligibility is resolved from live grants.
PerToolChannelHandle
TurnRoutingHandle
Handle to one turn’s routing state. The orchestrator creates a fresh handle before each run_tool_call_loop call, scopes it into TURN_ROUTING for the duration of the loop, and reads it back after the loop completes.