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