assistant_tools.rs

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