assistant_tools.rs

 1mod bash_tool;
 2mod delete_path_tool;
 3mod diagnostics_tool;
 4mod edit_files_tool;
 5mod fetch_tool;
 6mod list_directory_tool;
 7mod now_tool;
 8mod path_search_tool;
 9mod read_file_tool;
10mod regex_search_tool;
11mod thinking_tool;
12
13use std::sync::Arc;
14
15use assistant_tool::ToolRegistry;
16use gpui::App;
17use http_client::HttpClientWithUrl;
18
19use crate::bash_tool::BashTool;
20use crate::delete_path_tool::DeletePathTool;
21use crate::diagnostics_tool::DiagnosticsTool;
22use crate::edit_files_tool::EditFilesTool;
23use crate::fetch_tool::FetchTool;
24use crate::list_directory_tool::ListDirectoryTool;
25use crate::now_tool::NowTool;
26use crate::path_search_tool::PathSearchTool;
27use crate::read_file_tool::ReadFileTool;
28use crate::regex_search_tool::RegexSearchTool;
29use crate::thinking_tool::ThinkingTool;
30
31pub fn init(http_client: Arc<HttpClientWithUrl>, cx: &mut App) {
32    assistant_tool::init(cx);
33    crate::edit_files_tool::log::init(cx);
34
35    let registry = ToolRegistry::global(cx);
36    registry.register_tool(BashTool);
37    registry.register_tool(DeletePathTool);
38    registry.register_tool(DiagnosticsTool);
39    registry.register_tool(EditFilesTool);
40    registry.register_tool(ListDirectoryTool);
41    registry.register_tool(NowTool);
42    registry.register_tool(PathSearchTool);
43    registry.register_tool(ReadFileTool);
44    registry.register_tool(RegexSearchTool);
45    registry.register_tool(ThinkingTool);
46    registry.register_tool(FetchTool::new(http_client));
47}