assistant_tools.rs

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