Skip to main content

bamboo_server/tools/
mod.rs

1//! Server-only tools and tool executors.
2//!
3//! These tools are registered only when running the Bamboo HTTP server.
4//! They may depend on `AppState` components (storage, schedulers, etc.).
5//!
6//! Framework-agnostic tools (MemoryTool, OverlayToolExecutor, etc.) live in
7//! `bamboo-server-tools` crate. This module re-exports them for convenience.
8
9// Re-export framework-agnostic tools from crate
10pub use crate::server_tools::{
11    CompactContextTool, LoadSkillTool, MemoryTool, OverlayToolExecutor, ReadSkillResourceTool,
12    SessionInspectorTool, ToolSurface, ToolSurfaceFactory,
13};
14
15pub mod child_session_adapter;
16pub mod policy_aware;
17pub mod schedule_tasks;
18pub mod sub_session;
19
20pub type SubagentModelResolver = std::sync::Arc<
21    dyn Fn(String) -> futures::future::BoxFuture<'static, Option<bamboo_domain::ProviderModelRef>>
22        + Send
23        + Sync,
24>;
25pub type OptionalSubagentModelResolver = Option<SubagentModelResolver>;
26
27// Re-export server-specific tool types for convenience
28pub use child_session_adapter::ChildSessionAdapter;
29pub use policy_aware::PolicyAwareToolExecutor;
30pub use schedule_tasks::ScheduleTasksTool;
31pub use sub_session::SubSessionTool;