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
//! `brainwires-tool-runtime` — the execution-runtime half of the Brainwires
//! tool surface. Companion crate to `brainwires-tool-builtins` (the concrete
//! tools), unified by the `brainwires-tools` façade.
//!
//! ## What lives here
//!
//! - [`executor::ToolExecutor`] — the trait every tool dispatcher implements.
//! - [`registry::ToolRegistry`] + [`registry::ToolCategory`] — composable tool
//! registry and category metadata.
//! - [`error`] — tool-error taxonomy + retry classification.
//! - [`sanitization`] — content-source tagging, injection detection,
//! sensitive-data redaction.
//! - [`tool_search::ToolSearchTool`] — meta-tool for keyword / regex / (with
//! `rag` feature) semantic tool discovery.
//! - [`smart_router`] — query-driven category filtering.
//! - [`transaction::TransactionManager`] — idempotency + staging-area
//! bookkeeping for file-mutating tools (native only).
//! - [`validation::ValidationTool`] — duplicate/syntax/build checks (native
//! only).
//!
//! ## Feature-gated runtime modules
//!
//! - `orchestrator` (or `orchestrator-wasm`) — [`orchestrator::OrchestratorTool`]
//! (Rhai script executor).
//! - `oauth` — OAuth 2.0 client, PKCE, pluggable token store.
//! - `openapi` — OpenAPI 3 spec → tool descriptor conversion.
//! - `sandbox` — `sandbox_executor::SandboxedToolExecutor` (wraps any
//! `ToolExecutor` to route bash/code-exec through `brainwires-sandbox`).
//! - `sessions` — `sessions::SessionsTool` (`sessions_list`, `sessions_history`,
//! `sessions_send`, `sessions_spawn`) over a `brainwires-session::SessionBroker`.
//! - `rag` — [`tool_embedding::ToolEmbeddingIndex`] backing `ToolSearchTool`'s
//! semantic mode.
//!
//! Concrete builtin tools (bash, file_ops, git, web, search, code_exec,
//! interpreters, browser, email, calendar, system, semantic_search) live in
//! `brainwires-tool-builtins`. The umbrella `brainwires-tools` façade re-exports
//! both crates.
// Re-export the core trait surface so consumers can pull everything off this crate.
pub use ;
/// Tool-error taxonomy + retry classification.
/// `ToolExecutor` trait + pre-hook surface.
/// Composable tool registry + category metadata.
/// Content-source tagging, injection detection, sensitive-data redaction.
/// Query-driven category filter (`analyze_query`, `get_smart_tools`).
/// Meta-tool for keyword / regex / (with `rag`) semantic tool discovery.
/// Idempotency + staging-area bookkeeping for file-mutating tools.
/// Code-quality checks (duplicates, syntax, build).
/// Rhai-script orchestration tool.
/// OAuth 2.0 client, PKCE, pluggable token store.
/// OpenAPI 3 spec → tool descriptor conversion.
/// Container-sandbox executor wrapper.
/// `SessionsTool` + companion types over `brainwires-session::SessionBroker`.
/// RAG-backed tool-embedding index (powers `ToolSearchTool`'s semantic mode).
// ── Public re-exports ────────────────────────────────────────────────────────
pub use ;
pub use ;
pub use ;
pub use ;
pub use ;
pub use ToolSearchTool;
pub use TransactionManager;
pub use ;
pub use OrchestratorTool;
pub use ;
pub use SandboxedToolExecutor;
// `SessionBroker` / `SessionId` / `SessionMessage` / `SessionSummary` /
// `SpawnRequest` / `SpawnedSession` live in `brainwires-session::broker`. The
// `SessionsTool` here only consumes them — depend on `brainwires-session`
// directly.
pub use SessionsTool;
pub use ToolEmbeddingIndex;