Remove vision tools (except take_screenshot) and macax tools

Vision tools removed:
- extract_text (OCR from image files)
- extract_text_with_boxes (OCR with bounding boxes)
- vision_find_text (find text in app windows)
- vision_click_text (find and click on text)
- vision_click_near_text (click near text labels)

macax tools removed:
- macax_list_apps
- macax_get_frontmost_app
- macax_activate_app
- macax_press_key
- macax_type_text

The LLM can now read images directly via read_image tool.
take_screenshot is retained for capturing application windows.

Files deleted:
- crates/g3-core/src/tools/vision.rs
- crates/g3-core/src/tools/macax.rs
- docs/macax-tools.md

Updated tool counts: 12 core + 15 webdriver = 27 total
This commit is contained in:
Dhanji R. Prasanna
2026-01-03 17:38:25 +11:00
parent 29e263ac49
commit 386176899e
19 changed files with 15 additions and 1408 deletions

View File

@@ -7,7 +7,7 @@ use anyhow::Result;
use tracing::{debug, warn};
use crate::tools::executor::ToolContext;
use crate::tools::{file_ops, macax, misc, shell, todo, vision, webdriver};
use crate::tools::{file_ops, misc, shell, todo, webdriver};
use crate::ui_writer::UiWriter;
use crate::ToolCall;
@@ -43,7 +43,6 @@ pub async fn dispatch_tool<W: UiWriter>(
Ok(result)
}
"take_screenshot" => misc::execute_take_screenshot(tool_call, ctx).await,
"extract_text" => misc::execute_extract_text(tool_call, ctx).await,
"code_coverage" => misc::execute_code_coverage(tool_call, ctx).await,
"code_search" => misc::execute_code_search(tool_call, ctx).await,
@@ -64,19 +63,6 @@ pub async fn dispatch_tool<W: UiWriter>(
"webdriver_refresh" => webdriver::execute_webdriver_refresh(tool_call, ctx).await,
"webdriver_quit" => webdriver::execute_webdriver_quit(tool_call, ctx).await,
// macOS Accessibility tools
"macax_list_apps" => macax::execute_macax_list_apps(tool_call, ctx).await,
"macax_get_frontmost_app" => macax::execute_macax_get_frontmost_app(tool_call, ctx).await,
"macax_activate_app" => macax::execute_macax_activate_app(tool_call, ctx).await,
"macax_press_key" => macax::execute_macax_press_key(tool_call, ctx).await,
"macax_type_text" => macax::execute_macax_type_text(tool_call, ctx).await,
// Vision tools
"vision_find_text" => vision::execute_vision_find_text(tool_call, ctx).await,
"vision_click_text" => vision::execute_vision_click_text(tool_call, ctx).await,
"vision_click_near_text" => vision::execute_vision_click_near_text(tool_call, ctx).await,
"extract_text_with_boxes" => vision::execute_extract_text_with_boxes(tool_call, ctx).await,
// Unknown tool
_ => {
warn!("Unknown tool: {}", tool_call.tool);