Enha: remove window tools if no vision

This commit is contained in:
Grail Finder
2026-03-03 08:27:14 +03:00
parent c05b93299c
commit 6e7a063300
3 changed files with 20 additions and 1 deletions

View File

@@ -1376,7 +1376,26 @@ var fnMap = map[string]fnSig{
"pw_drag": pwDrag,
}
func removeWindowToolsFromBaseTools() {
windowToolNames := map[string]bool{
"list_windows": true,
"capture_window": true,
"capture_window_and_view": true,
}
var filtered []models.Tool
for _, tool := range baseTools {
if !windowToolNames[tool.Function.Name] {
filtered = append(filtered, tool)
}
}
baseTools = filtered
delete(fnMap, "list_windows")
delete(fnMap, "capture_window")
delete(fnMap, "capture_window_and_view")
}
func registerWindowTools() {
removeWindowToolsFromBaseTools()
if windowToolsAvailable {
fnMap["list_windows"] = listWindows
fnMap["capture_window"] = captureWindow