summaryrefslogtreecommitdiff
path: root/tools.go
diff options
context:
space:
mode:
authorGrail Finder <wohilas@gmail.com>2026-03-03 08:27:14 +0300
committerGrail Finder <wohilas@gmail.com>2026-03-03 08:27:14 +0300
commit6e7a063300b953fe87939d5d22c264700782f479 (patch)
tree283afb43af5c4957c04d4a21eebcb0e04be42d4a /tools.go
parentc05b93299c670f7c54c165d08899fc75ec4c80c1 (diff)
Enha: remove window tools if no vision
Diffstat (limited to 'tools.go')
-rw-r--r--tools.go19
1 files changed, 19 insertions, 0 deletions
diff --git a/tools.go b/tools.go
index 715701b..4c3bad6 100644
--- a/tools.go
+++ b/tools.go
@@ -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