1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
//! `brainwires-tool-builtins` — the concrete-tools half of the Brainwires
//! tool surface. Companion crate to `brainwires-tool-runtime` (the executor /
//! registry / framework), unified by the `brainwires-tools` façade.
//!
//! ## Always Available (native feature)
//! - **bash** — Shell command execution with proactive output management
//! - **file_ops** — File read/write/edit/patch/list/search/delete/create_directory
//! - **git** — Git operations (status, diff, log, stage, commit, push, pull, …)
//! - **web** — URL fetching
//! - **search** — Regex-based code search (respects .gitignore)
//! - **default_executor::BuiltinToolExecutor** — `ToolExecutor` impl that
//! hardcodes dispatch to the above plus the feature-gated builtins below.
//!
//! ## Feature-Gated
//! - **code_exec / interpreters** (`interpreters` feature) — sandboxed
//! multi-language code execution.
//! - **semantic_search** (`rag` feature) — RAG-powered codebase search.
//! - **email** (`email` feature) — IMAP/SMTP/Gmail-push integration.
//! - **calendar** (`calendar` feature) — Google Calendar / CalDAV.
//! - **browser** (`browser` feature) — headless-browser tooling via the MCP
//! Thalora subprocess.
//! - **system** (`system` feature) — filesystem-event watching, service
//! management (absorbed from `brainwires-system`).
//!
//! The runtime trait surface (`ToolExecutor`, `ToolRegistry`, error types,
//! `transaction`, `validation`, optional `orchestrator` / `oauth` /
//! `openapi` / `sandbox_executor` / `sessions`) is **not** exported from this
//! crate — depend on `brainwires-tool-runtime` directly, or use the
//! `brainwires-tools` façade which re-exports both.
/// OS-level primitives — filesystem event watching and service management
/// (absorbed from brainwires-system).
/// Sandboxed multi-language code interpreters (absorbed from brainwires-code-interpreters).
// ── Public re-exports ──────────────────────────────────────────────────────
pub use BuiltinToolExecutor;
pub use BashTool;
pub use FileOpsTool;
pub use GitTool;
pub use SearchTool;
pub use WebTool;
pub use CodeExecTool;
pub use SemanticSearchTool;
pub use ;
pub use CalendarTool;
pub use BrowserTool;
/// Build a [`brainwires_tool_runtime::ToolRegistry`] pre-populated with
/// every concrete builtin gated on by the active feature set.
///
/// Only registers tools owned by **this crate** (plus the runtime's
/// `tool_search` meta-tool and `validation` tools for backward compat).
/// Runtime-only tools like `OrchestratorTool` are not in scope here —
/// the `brainwires-tools` façade composes those on top via its own
/// `registry_with_builtins()` that has visibility into both crates.
///
/// Replaces the historical `ToolRegistry::with_builtins()` constructor
/// that lived in the runtime crate before the runtime/builtins split —
/// the runtime can't reference concrete builtins, so the convenience
/// constructor lives here where it can.