50 lines
1.5 KiB
Rust
50 lines
1.5 KiB
Rust
pub mod bash;
|
|
pub mod calculator;
|
|
pub mod file_edit;
|
|
pub mod file_read;
|
|
pub mod file_write;
|
|
pub mod get_skill;
|
|
pub mod http_request;
|
|
pub mod registry;
|
|
pub mod schema;
|
|
pub mod send_message;
|
|
pub mod traits;
|
|
pub mod web_fetch;
|
|
|
|
pub use bash::BashTool;
|
|
pub use calculator::CalculatorTool;
|
|
pub use file_edit::FileEditTool;
|
|
pub use file_read::FileReadTool;
|
|
pub use file_write::FileWriteTool;
|
|
pub use get_skill::GetSkillTool;
|
|
pub use http_request::HttpRequestTool;
|
|
pub use registry::ToolRegistry;
|
|
pub use schema::{CleaningStrategy, SchemaCleanr};
|
|
pub use send_message::SendMessageTool;
|
|
pub use traits::{OutboundMessenger, Tool, ToolResult};
|
|
pub use web_fetch::WebFetchTool;
|
|
|
|
use std::sync::Arc;
|
|
use crate::skills::SkillsLoader;
|
|
|
|
/// Create the base tool registry (without send_message).
|
|
/// `send_message` tool is registered later via `SessionManager::register_outbound_tool()`
|
|
/// once the available channel names are known.
|
|
pub fn create_default_tools(skills_loader: Arc<SkillsLoader>) -> ToolRegistry {
|
|
let registry = ToolRegistry::new();
|
|
registry.register(CalculatorTool::new());
|
|
registry.register(FileReadTool::new());
|
|
registry.register(FileWriteTool::new());
|
|
registry.register(FileEditTool::new());
|
|
registry.register(BashTool::new());
|
|
registry.register(HttpRequestTool::new(
|
|
vec!["*".to_string()],
|
|
1_000_000,
|
|
30,
|
|
false,
|
|
));
|
|
registry.register(WebFetchTool::new(50_000, 30));
|
|
registry.register(GetSkillTool::new(skills_loader));
|
|
registry
|
|
}
|