1pub mod approval;
7pub mod events;
8pub mod executor;
9pub mod exposure;
10pub mod guide;
11pub mod orchestrator;
12pub mod output_manager;
13pub mod parallel;
14mod permission_override;
15pub use bamboo_permission as permission;
16pub mod slash_commands;
17#[allow(clippy::module_inception)]
18pub mod tools;
19
20pub use executor::{BuiltinToolExecutor, BuiltinToolExecutorBuilder};
22
23pub use approval::{current_approval_proxy, with_approval_proxy, ApprovalAsk, ApprovalProxy};
25pub use permission_override::{
26 current_hook_permission_override, with_hook_permission_override, HookPermissionOverride,
27};
28
29pub use bamboo_domain::tool_names::{
31 is_builtin_tool, normalize_tool_ref, resolve_alias, BUILTIN_TOOL_NAMES,
32};
33
34pub use guide::{
36 context::{GuideBuildContext, GuideLanguage},
37 EnhancedPromptBuilder, ToolCategory, ToolExample, ToolGuide, ToolGuideSpec,
38};
39
40pub use events::{ToolEmitter, ToolEvent, ToolEventPhase};
42pub use orchestrator::{
43 classify_tool, OrchestratorConfig, OrchestratorResult, ToolMutability, ToolOrchestrator,
44};
45pub use parallel::{ToolCallResult, ToolCallRuntime};
46
47pub use output_manager::{ArtifactRef, ToolOutputManager};
49
50pub use tools::{
52 BashInputTool, BashOutputTool, BashTool, ConclusionWithOptionsTool, EditTool, ExitPlanModeTool,
53 GlobTool, GrepTool, KillShellTool, NotebookEditTool, ReadTool, SlashCommandTool, TaskTool,
54 ToolRegistry, WebFetchTool, WebSearchTool, WriteTool,
55};
56
57pub use bamboo_domain::{TaskItem, TaskItemStatus, TaskList};
59
60#[cfg(test)]
61mod registry_tests;