Skip to main content

caliban_tools_builtin/
lib.rs

1//! Built-in tools for the caliban agent harness.
2//!
3//! Each tool implements `caliban_agent_core::Tool` with a JSON Schema for its
4//! input. All tools share a `WorkspaceRoot` for path resolution.
5//!
6//! Modules are grouped by capability:
7//!
8//! - [`fs`] — filesystem tools (`Read`, `Write`, `Edit`, `MultiEdit`, `NotebookEdit`).
9//! - [`shell`] — shell execution (`Bash`) plus background-job tools.
10//! - [`web`] — `WebFetch` / `WebSearch`.
11//! - [`memory`] — auto-memory `ReadMemoryTopic` / `WriteMemoryTopic`.
12//! - [`agent`] — sub-agent orchestration (`AgentTool`) and `TodoWrite`.
13//! - [`search`] — `Glob` and `Grep`.
14//! - [`plan`] — `EnterPlanMode` / `ExitPlanMode`.
15//! - [`workspace`] — shared `WorkspaceRoot` path-resolution type.
16
17pub mod agent;
18pub mod fs;
19pub mod input;
20pub mod memory;
21pub(crate) mod parallel;
22pub mod plan;
23pub mod search;
24pub mod shell;
25pub mod tool_search;
26pub mod web;
27pub mod workspace;
28
29pub use agent::{
30    AgentFactory, AgentTool, AgentToolInput, BackgroundSpawnResult, BackgroundSpawner,
31    IsolationMode, TodoWriteTool, WorktreeOptions,
32};
33pub use fs::{EditTool, MultiEditTool, NotebookEditTool, ReadTool, WriteTool};
34pub use input::parse_input;
35pub use memory::{ReadMemoryTopicTool, WriteMemoryTopicTool};
36pub use plan::{EnterPlanModeTool, ExitPlanModeTool};
37pub use search::{GlobTool, GrepTool};
38pub use shell::{
39    BashBgRegistry, BashJob, BashOutputTool, BashStatus, BashTool, KillShellTool, RingBuffer,
40    global_registry,
41};
42pub use web::{Provider as WebSearchProvider, SearchHit, WebFetchTool, WebSearchTool};
43pub use workspace::WorkspaceRoot;