bamboo-tools 2026.10.13

Tool execution and integrations for the Bamboo agent framework
Documentation
//! Built-in tools for filesystem and command execution.
//!
//! This crate provides a plugin-based tool system using the ToolRegistry pattern.
//! All tools implement the `Tool` trait and can be dynamically registered.

pub mod approval;
pub mod events;
pub mod executor;
pub mod exposure;
pub mod guide;
pub mod local_task_resources;
pub use local_task_resources::{
    DrainedLocalTaskResources, LocalTaskResourceIdentity, LocalTaskResources,
};
pub mod orchestrator;
pub mod output_manager;
pub mod parallel;
mod permission_override;
pub use bamboo_permission as permission;
pub mod slash_commands;
pub mod tool_search;
#[allow(clippy::module_inception)]
pub mod tools;

// Re-export executor types
pub use executor::{BuiltinToolExecutor, BuiltinToolExecutorBuilder};

// Re-export cross-process approval proxy (Phase 2: child → parent delegation)
pub use approval::{current_approval_proxy, with_approval_proxy, ApprovalAsk, ApprovalProxy};
pub use permission_override::{
    current_hook_permission_override, with_hook_permission_override, HookPermissionOverride,
};

// Re-export tool name utilities
pub use bamboo_domain::tool_names::{
    is_builtin_tool, normalize_tool_ref, resolve_alias, BUILTIN_TOOL_NAMES,
};

// Re-export guide system types
pub use guide::{
    context::{GuideBuildContext, GuideLanguage},
    EnhancedPromptBuilder, ToolCategory, ToolExample, ToolGuide, ToolGuideSpec,
};

// Re-export orchestration types
pub use events::{ToolEmitter, ToolEvent, ToolEventPhase};
pub use orchestrator::{
    classify_tool, OrchestratorConfig, OrchestratorResult, ToolMutability, ToolOrchestrator,
};
pub use parallel::{ToolCallResult, ToolCallRuntime};

// Re-export output manager types
pub use output_manager::{ArtifactRef, ToolOutputManager};

// Re-export all tool implementations
pub use tools::{
    BashInputTool, BashOutputTool, BashTool, EditTool, ExitPlanModeTool, GlobTool, GrepTool,
    KillShellTool, ReadTool, TaskTool, ToolRegistry, ViewImageTool, WebFetchTool, WriteTool,
};

// Re-export task types for convenience
pub use bamboo_domain::{TaskItem, TaskItemStatus, TaskList};

#[cfg(test)]
mod registry_tests;