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