Skip to main content

Crate opendev_tools_impl

Crate opendev_tools_impl 

Source
Expand description

Tool implementations for OpenDev.

Each module implements the BaseTool trait from opendev-tools-core. Tools are grouped by function:

Re-exports§

pub use agents::AgentsTool;
pub use agents::ChannelProgressCallback;
pub use agents::SpawnSubagentTool;
pub use agents::SubagentEvent;
pub use ask_user::AskUserTool;
pub use bash::BashTool;
pub use browser::BrowserTool;
pub use clear_todos::ClearTodosTool;
pub use complete_todo::CompleteTodoTool;
pub use diff_preview::DiffPreviewTool;
pub use file_edit::FileEditTool;
pub use file_list::FileListTool;
pub use file_read::FileReadTool;
pub use file_search::AstGrepTool;
pub use file_search::GrepTool;
pub use file_write::FileWriteTool;
pub use insert_symbol::InsertAfterSymbolTool;
pub use insert_symbol::InsertBeforeSymbolTool;
pub use invoke_skill::InvokeSkillTool;
pub use list_todos::ListTodosTool;
pub use lsp_query::LspQueryTool;
pub use mcp_tool::McpBridgeTool;
pub use memory::MemoryTool;
pub use message::MessageTool;
pub use multi_edit::MultiEditTool;
pub use notebook_edit::NotebookEditTool;
pub use open_browser::OpenBrowserTool;
pub use patch::PatchTool;
pub use present_plan::PresentPlanTool;
pub use schedule::ScheduleTool;
pub use session::PastSessionsTool;
pub use task_complete::TaskCompleteTool;
pub use todo::TodoTool;
pub use update_todo::UpdateTodoTool;
pub use vlm::VlmTool;
pub use web_fetch::WebFetchTool;
pub use web_screenshot::WebScreenshotTool;
pub use web_search::WebSearchTool;
pub use worktree::WorktreeInfo;
pub use worktree::WorktreeManager;
pub use write_todos::WriteTodosTool;

Modules§

agents
Agents tool — list and spawn subagent types.
ask_user
Ask user tool — pose structured questions to the user via a channel.
bash
Bash tool — execute shell commands with streaming output, background process management, activity-based dual timeout, security checks, and smart truncation.
browser
Browser automation tool — headless browser interaction.
clear_todos
clear_todos tool — remove all todo items.
complete_todo
complete_todo tool — mark a todo item as completed.
custom_tool
Custom tool loaded from .opendev/tools/ directory.
diagnostics_helper
Post-edit diagnostic collection helper.
diff_preview
Diff preview tool — generate and display unified diffs between file versions.
edit_replacers
9-pass fuzzy matching chain for the edit tool.
file_edit
Edit file tool — string replacement with 9-pass fuzzy matching, diff preview, per-file locking, and proper line-count statistics.
file_list
List files tool — glob-based file listing.
file_read
Read file tool — reads file contents with optional line ranges and binary detection.
file_search
Search tools — grep (ripgrep) and ast_grep (ast-grep structural search).
file_write
Write file tool — writes content to a file with atomic writes and directory creation.
formatter
Auto-formatting support for edited files.
insert_symbol
Insert content before or after a symbol found via AST-based symbol navigation.
invoke_skill
invoke_skill tool — loads skill content into conversation context on demand.
list_todos
list_todos tool — display the current todo list.
lsp_query
LSP query tool — wraps LspWrapper methods for definition, references, hover, and symbols.
mcp_tool
MCP tool bridge: wraps an MCP server tool as a BaseTool.
memory
Memory tool — search and write memory files for cross-session persistence.
message
Message tool — send messages to external channels via webhooks.
multi_edit
Multi-edit tool — apply multiple sequential edits to a single file atomically.
notebook_edit
Notebook edit tool — edit Jupyter notebook (.ipynb) cells.
open_browser
Open browser tool — open a URL in the system’s default browser.
patch
Patch tool — apply unified diff and structured (apply_patch) patches to files.
path_utils
Shared path resolution utilities for tool implementations.
present_plan
Present plan tool — present a plan file for user approval.
schedule
Schedule tool — create and manage scheduled tasks persisted to disk.
session
Past sessions tool — browse and search historical conversation sessions.
task_complete
Task complete tool — signal explicit task completion.
todo
Todo tool — list, update, and manage plan execution todos.
truncation
Tool output truncation with temp file overflow.
update_todo
update_todo tool — update a single todo item’s status or title.
vlm
Vision Language Model (VLM) tool — analyze images using vision-capable LLMs.
web_fetch
Web fetch tool — fetch URL content via HTTP.
web_screenshot
Web screenshot tool — capture web page screenshots.
web_search
Web search tool — search the web via DuckDuckGo HTML scraping.
worktree
Git worktree management for isolated agent workspaces.
write_todos
write_todos tool — replace the entire todo list.