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