@mseep/clawdcursor 1.5.5

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (354) hide show
  1. package/CHANGELOG.md +2264 -0
  2. package/LICENSE +21 -0
  3. package/README.md +385 -0
  4. package/SECURITY.md +44 -0
  5. package/SKILL.md +503 -0
  6. package/dist/core/agent-loop/agent.d.ts +42 -0
  7. package/dist/core/agent-loop/agent.js +1023 -0
  8. package/dist/core/agent-loop/agent.js.map +1 -0
  9. package/dist/core/agent-loop/batch-tool.d.ts +25 -0
  10. package/dist/core/agent-loop/batch-tool.js +218 -0
  11. package/dist/core/agent-loop/batch-tool.js.map +1 -0
  12. package/dist/core/agent-loop/coord-scale.d.ts +72 -0
  13. package/dist/core/agent-loop/coord-scale.js +89 -0
  14. package/dist/core/agent-loop/coord-scale.js.map +1 -0
  15. package/dist/core/agent-loop/focus-guard.d.ts +24 -0
  16. package/dist/core/agent-loop/focus-guard.js +29 -0
  17. package/dist/core/agent-loop/focus-guard.js.map +1 -0
  18. package/dist/core/agent-loop/project-mcp.d.ts +97 -0
  19. package/dist/core/agent-loop/project-mcp.js +253 -0
  20. package/dist/core/agent-loop/project-mcp.js.map +1 -0
  21. package/dist/core/agent-loop/prompt.d.ts +45 -0
  22. package/dist/core/agent-loop/prompt.js +426 -0
  23. package/dist/core/agent-loop/prompt.js.map +1 -0
  24. package/dist/core/agent-loop/tool-meta.d.ts +93 -0
  25. package/dist/core/agent-loop/tool-meta.js +651 -0
  26. package/dist/core/agent-loop/tool-meta.js.map +1 -0
  27. package/dist/core/agent-loop/tools.d.ts +38 -0
  28. package/dist/core/agent-loop/tools.js +2134 -0
  29. package/dist/core/agent-loop/tools.js.map +1 -0
  30. package/dist/core/agent-loop/types.d.ts +170 -0
  31. package/dist/core/agent-loop/types.js +12 -0
  32. package/dist/core/agent-loop/types.js.map +1 -0
  33. package/dist/core/agent.d.ts +51 -0
  34. package/dist/core/agent.js +245 -0
  35. package/dist/core/agent.js.map +1 -0
  36. package/dist/core/app-categories.d.ts +67 -0
  37. package/dist/core/app-categories.js +108 -0
  38. package/dist/core/app-categories.js.map +1 -0
  39. package/dist/core/banner.d.ts +70 -0
  40. package/dist/core/banner.js +245 -0
  41. package/dist/core/banner.js.map +1 -0
  42. package/dist/core/classify/capability.d.ts +45 -0
  43. package/dist/core/classify/capability.js +78 -0
  44. package/dist/core/classify/capability.js.map +1 -0
  45. package/dist/core/decompose/llm-decomposer.d.ts +35 -0
  46. package/dist/core/decompose/llm-decomposer.js +156 -0
  47. package/dist/core/decompose/llm-decomposer.js.map +1 -0
  48. package/dist/core/decompose/parser.d.ts +27 -0
  49. package/dist/core/decompose/parser.js +101 -0
  50. package/dist/core/decompose/parser.js.map +1 -0
  51. package/dist/core/observability/correlation.d.ts +19 -0
  52. package/dist/core/observability/correlation.js +36 -0
  53. package/dist/core/observability/correlation.js.map +1 -0
  54. package/dist/core/observability/cost-meter.d.ts +51 -0
  55. package/dist/core/observability/cost-meter.js +134 -0
  56. package/dist/core/observability/cost-meter.js.map +1 -0
  57. package/dist/core/observability/logger.d.ts +61 -0
  58. package/dist/core/observability/logger.js +550 -0
  59. package/dist/core/observability/logger.js.map +1 -0
  60. package/dist/core/router/aliases.d.ts +50 -0
  61. package/dist/core/router/aliases.js +104 -0
  62. package/dist/core/router/aliases.js.map +1 -0
  63. package/dist/core/router/normalize.d.ts +41 -0
  64. package/dist/core/router/normalize.js +80 -0
  65. package/dist/core/router/normalize.js.map +1 -0
  66. package/dist/core/safety.d.ts +126 -0
  67. package/dist/core/safety.js +568 -0
  68. package/dist/core/safety.js.map +1 -0
  69. package/dist/core/sense/a11y-resolver.d.ts +73 -0
  70. package/dist/core/sense/a11y-resolver.js +76 -0
  71. package/dist/core/sense/a11y-resolver.js.map +1 -0
  72. package/dist/core/sense/fingerprint.d.ts +41 -0
  73. package/dist/core/sense/fingerprint.js +123 -0
  74. package/dist/core/sense/fingerprint.js.map +1 -0
  75. package/dist/core/sense/rank.d.ts +70 -0
  76. package/dist/core/sense/rank.js +192 -0
  77. package/dist/core/sense/rank.js.map +1 -0
  78. package/dist/core/sense/reactive-check.d.ts +40 -0
  79. package/dist/core/sense/reactive-check.js +48 -0
  80. package/dist/core/sense/reactive-check.js.map +1 -0
  81. package/dist/core/sense/snapshot.d.ts +19 -0
  82. package/dist/core/sense/snapshot.js +100 -0
  83. package/dist/core/sense/snapshot.js.map +1 -0
  84. package/dist/core/sense/types.d.ts +66 -0
  85. package/dist/core/sense/types.js +9 -0
  86. package/dist/core/sense/types.js.map +1 -0
  87. package/dist/core/sense/ui-map-anchors.d.ts +7 -0
  88. package/dist/core/sense/ui-map-anchors.js +24 -0
  89. package/dist/core/sense/ui-map-anchors.js.map +1 -0
  90. package/dist/core/sense/ui-map-elements.d.ts +5 -0
  91. package/dist/core/sense/ui-map-elements.js +33 -0
  92. package/dist/core/sense/ui-map-elements.js.map +1 -0
  93. package/dist/core/sense/ui-map-find.d.ts +56 -0
  94. package/dist/core/sense/ui-map-find.js +153 -0
  95. package/dist/core/sense/ui-map-find.js.map +1 -0
  96. package/dist/core/sense/ui-map-fuse.d.ts +4 -0
  97. package/dist/core/sense/ui-map-fuse.js +44 -0
  98. package/dist/core/sense/ui-map-fuse.js.map +1 -0
  99. package/dist/core/sense/ui-map-geom.d.ts +3 -0
  100. package/dist/core/sense/ui-map-geom.js +16 -0
  101. package/dist/core/sense/ui-map-geom.js.map +1 -0
  102. package/dist/core/sense/ui-map-holder.d.ts +58 -0
  103. package/dist/core/sense/ui-map-holder.js +87 -0
  104. package/dist/core/sense/ui-map-holder.js.map +1 -0
  105. package/dist/core/sense/ui-map-normalize.d.ts +19 -0
  106. package/dist/core/sense/ui-map-normalize.js +65 -0
  107. package/dist/core/sense/ui-map-normalize.js.map +1 -0
  108. package/dist/core/sense/ui-map-render.d.ts +4 -0
  109. package/dist/core/sense/ui-map-render.js +34 -0
  110. package/dist/core/sense/ui-map-render.js.map +1 -0
  111. package/dist/core/sense/ui-map-resolve.d.ts +41 -0
  112. package/dist/core/sense/ui-map-resolve.js +59 -0
  113. package/dist/core/sense/ui-map-resolve.js.map +1 -0
  114. package/dist/core/sense/ui-map-types.d.ts +66 -0
  115. package/dist/core/sense/ui-map-types.js +11 -0
  116. package/dist/core/sense/ui-map-types.js.map +1 -0
  117. package/dist/core/sense/ui-map.d.ts +29 -0
  118. package/dist/core/sense/ui-map.js +113 -0
  119. package/dist/core/sense/ui-map.js.map +1 -0
  120. package/dist/core/verify/assertions.d.ts +132 -0
  121. package/dist/core/verify/assertions.js +284 -0
  122. package/dist/core/verify/assertions.js.map +1 -0
  123. package/dist/index.d.ts +21 -0
  124. package/dist/index.js +24 -0
  125. package/dist/index.js.map +1 -0
  126. package/dist/llm/browser-config.d.ts +36 -0
  127. package/dist/llm/browser-config.js +83 -0
  128. package/dist/llm/browser-config.js.map +1 -0
  129. package/dist/llm/client.d.ts +268 -0
  130. package/dist/llm/client.js +1094 -0
  131. package/dist/llm/client.js.map +1 -0
  132. package/dist/llm/config.d.ts +79 -0
  133. package/dist/llm/config.js +375 -0
  134. package/dist/llm/config.js.map +1 -0
  135. package/dist/llm/credentials.d.ts +35 -0
  136. package/dist/llm/credentials.js +491 -0
  137. package/dist/llm/credentials.js.map +1 -0
  138. package/dist/llm/external-creds.d.ts +42 -0
  139. package/dist/llm/external-creds.js +169 -0
  140. package/dist/llm/external-creds.js.map +1 -0
  141. package/dist/llm/providers.d.ts +123 -0
  142. package/dist/llm/providers.js +717 -0
  143. package/dist/llm/providers.js.map +1 -0
  144. package/dist/paths.d.ts +31 -0
  145. package/dist/paths.js +147 -0
  146. package/dist/paths.js.map +1 -0
  147. package/dist/platform/accessibility.d.ts +139 -0
  148. package/dist/platform/accessibility.js +670 -0
  149. package/dist/platform/accessibility.js.map +1 -0
  150. package/dist/platform/cdp-driver.d.ts +318 -0
  151. package/dist/platform/cdp-driver.js +1179 -0
  152. package/dist/platform/cdp-driver.js.map +1 -0
  153. package/dist/platform/index.d.ts +11 -0
  154. package/dist/platform/index.js +69 -0
  155. package/dist/platform/index.js.map +1 -0
  156. package/dist/platform/keys.d.ts +17 -0
  157. package/dist/platform/keys.js +129 -0
  158. package/dist/platform/keys.js.map +1 -0
  159. package/dist/platform/launch-poll.d.ts +101 -0
  160. package/dist/platform/launch-poll.js +177 -0
  161. package/dist/platform/launch-poll.js.map +1 -0
  162. package/dist/platform/linux.d.ts +173 -0
  163. package/dist/platform/linux.js +1253 -0
  164. package/dist/platform/linux.js.map +1 -0
  165. package/dist/platform/macos.d.ts +136 -0
  166. package/dist/platform/macos.js +976 -0
  167. package/dist/platform/macos.js.map +1 -0
  168. package/dist/platform/native-desktop.d.ts +145 -0
  169. package/dist/platform/native-desktop.js +936 -0
  170. package/dist/platform/native-desktop.js.map +1 -0
  171. package/dist/platform/native-helper.d.ts +130 -0
  172. package/dist/platform/native-helper.js +592 -0
  173. package/dist/platform/native-helper.js.map +1 -0
  174. package/dist/platform/ocr-engine.d.ts +78 -0
  175. package/dist/platform/ocr-engine.js +363 -0
  176. package/dist/platform/ocr-engine.js.map +1 -0
  177. package/dist/platform/ps-runner.d.ts +28 -0
  178. package/dist/platform/ps-runner.js +228 -0
  179. package/dist/platform/ps-runner.js.map +1 -0
  180. package/dist/platform/types.d.ts +397 -0
  181. package/dist/platform/types.js +15 -0
  182. package/dist/platform/types.js.map +1 -0
  183. package/dist/platform/uri-handler.d.ts +75 -0
  184. package/dist/platform/uri-handler.js +273 -0
  185. package/dist/platform/uri-handler.js.map +1 -0
  186. package/dist/platform/wayland-backend.d.ts +53 -0
  187. package/dist/platform/wayland-backend.js +348 -0
  188. package/dist/platform/wayland-backend.js.map +1 -0
  189. package/dist/platform/windows.d.ts +232 -0
  190. package/dist/platform/windows.js +1210 -0
  191. package/dist/platform/windows.js.map +1 -0
  192. package/dist/postbuild.d.ts +10 -0
  193. package/dist/postbuild.js +98 -0
  194. package/dist/postbuild.js.map +1 -0
  195. package/dist/schema/snapshot.d.ts +33 -0
  196. package/dist/schema/snapshot.js +90 -0
  197. package/dist/schema/snapshot.js.map +1 -0
  198. package/dist/shortcuts.d.ts +30 -0
  199. package/dist/shortcuts.js +261 -0
  200. package/dist/shortcuts.js.map +1 -0
  201. package/dist/surface/cli.d.ts +7 -0
  202. package/dist/surface/cli.js +1556 -0
  203. package/dist/surface/cli.js.map +1 -0
  204. package/dist/surface/dashboard.d.ts +8 -0
  205. package/dist/surface/dashboard.js +1193 -0
  206. package/dist/surface/dashboard.js.map +1 -0
  207. package/dist/surface/doctor.d.ts +29 -0
  208. package/dist/surface/doctor.js +1514 -0
  209. package/dist/surface/doctor.js.map +1 -0
  210. package/dist/surface/format.d.ts +10 -0
  211. package/dist/surface/format.js +37 -0
  212. package/dist/surface/format.js.map +1 -0
  213. package/dist/surface/http-utility.d.ts +65 -0
  214. package/dist/surface/http-utility.js +336 -0
  215. package/dist/surface/http-utility.js.map +1 -0
  216. package/dist/surface/mcp-server.d.ts +91 -0
  217. package/dist/surface/mcp-server.js +280 -0
  218. package/dist/surface/mcp-server.js.map +1 -0
  219. package/dist/surface/onboarding.d.ts +15 -0
  220. package/dist/surface/onboarding.js +184 -0
  221. package/dist/surface/onboarding.js.map +1 -0
  222. package/dist/surface/pidfile.d.ts +79 -0
  223. package/dist/surface/pidfile.js +263 -0
  224. package/dist/surface/pidfile.js.map +1 -0
  225. package/dist/surface/readiness.d.ts +45 -0
  226. package/dist/surface/readiness.js +230 -0
  227. package/dist/surface/readiness.js.map +1 -0
  228. package/dist/surface/report.d.ts +68 -0
  229. package/dist/surface/report.js +341 -0
  230. package/dist/surface/report.js.map +1 -0
  231. package/dist/surface/skill-register.d.ts +14 -0
  232. package/dist/surface/skill-register.js +150 -0
  233. package/dist/surface/skill-register.js.map +1 -0
  234. package/dist/surface/version.d.ts +6 -0
  235. package/dist/surface/version.js +27 -0
  236. package/dist/surface/version.js.map +1 -0
  237. package/dist/tools/a11y.d.ts +8 -0
  238. package/dist/tools/a11y.js +545 -0
  239. package/dist/tools/a11y.js.map +1 -0
  240. package/dist/tools/a11y_depth.d.ts +19 -0
  241. package/dist/tools/a11y_depth.js +455 -0
  242. package/dist/tools/a11y_depth.js.map +1 -0
  243. package/dist/tools/agent.d.ts +15 -0
  244. package/dist/tools/agent.js +248 -0
  245. package/dist/tools/agent.js.map +1 -0
  246. package/dist/tools/batch.d.ts +46 -0
  247. package/dist/tools/batch.js +230 -0
  248. package/dist/tools/batch.js.map +1 -0
  249. package/dist/tools/cdp.d.ts +8 -0
  250. package/dist/tools/cdp.js +233 -0
  251. package/dist/tools/cdp.js.map +1 -0
  252. package/dist/tools/compact.d.ts +63 -0
  253. package/dist/tools/compact.js +418 -0
  254. package/dist/tools/compact.js.map +1 -0
  255. package/dist/tools/cost-class.d.ts +38 -0
  256. package/dist/tools/cost-class.js +117 -0
  257. package/dist/tools/cost-class.js.map +1 -0
  258. package/dist/tools/desktop.d.ts +9 -0
  259. package/dist/tools/desktop.js +346 -0
  260. package/dist/tools/desktop.js.map +1 -0
  261. package/dist/tools/electron_bridge.d.ts +41 -0
  262. package/dist/tools/electron_bridge.js +261 -0
  263. package/dist/tools/electron_bridge.js.map +1 -0
  264. package/dist/tools/extras.d.ts +22 -0
  265. package/dist/tools/extras.js +942 -0
  266. package/dist/tools/extras.js.map +1 -0
  267. package/dist/tools/favorites.d.ts +13 -0
  268. package/dist/tools/favorites.js +137 -0
  269. package/dist/tools/favorites.js.map +1 -0
  270. package/dist/tools/introspection.d.ts +13 -0
  271. package/dist/tools/introspection.js +55 -0
  272. package/dist/tools/introspection.js.map +1 -0
  273. package/dist/tools/ocr.d.ts +8 -0
  274. package/dist/tools/ocr.js +66 -0
  275. package/dist/tools/ocr.js.map +1 -0
  276. package/dist/tools/orchestration.d.ts +7 -0
  277. package/dist/tools/orchestration.js +377 -0
  278. package/dist/tools/orchestration.js.map +1 -0
  279. package/dist/tools/playbooks/extract-compose.d.ts +22 -0
  280. package/dist/tools/playbooks/extract-compose.js +85 -0
  281. package/dist/tools/playbooks/extract-compose.js.map +1 -0
  282. package/dist/tools/playbooks/find-replace.d.ts +11 -0
  283. package/dist/tools/playbooks/find-replace.js +56 -0
  284. package/dist/tools/playbooks/find-replace.js.map +1 -0
  285. package/dist/tools/playbooks/index.d.ts +63 -0
  286. package/dist/tools/playbooks/index.js +70 -0
  287. package/dist/tools/playbooks/index.js.map +1 -0
  288. package/dist/tools/playbooks/keys-blocklist.d.ts +24 -0
  289. package/dist/tools/playbooks/keys-blocklist.js +89 -0
  290. package/dist/tools/playbooks/keys-blocklist.js.map +1 -0
  291. package/dist/tools/registry.d.ts +40 -0
  292. package/dist/tools/registry.js +560 -0
  293. package/dist/tools/registry.js.map +1 -0
  294. package/dist/tools/safety-gate.d.ts +16 -0
  295. package/dist/tools/safety-gate.js +70 -0
  296. package/dist/tools/safety-gate.js.map +1 -0
  297. package/dist/tools/scheduler.d.ts +76 -0
  298. package/dist/tools/scheduler.js +413 -0
  299. package/dist/tools/scheduler.js.map +1 -0
  300. package/dist/tools/shortcuts.d.ts +13 -0
  301. package/dist/tools/shortcuts.js +205 -0
  302. package/dist/tools/shortcuts.js.map +1 -0
  303. package/dist/tools/smart.d.ts +15 -0
  304. package/dist/tools/smart.js +785 -0
  305. package/dist/tools/smart.js.map +1 -0
  306. package/dist/tools/types.d.ts +174 -0
  307. package/dist/tools/types.js +67 -0
  308. package/dist/tools/types.js.map +1 -0
  309. package/dist/tools/window-text.d.ts +15 -0
  310. package/dist/tools/window-text.js +39 -0
  311. package/dist/tools/window-text.js.map +1 -0
  312. package/dist/types.d.ts +122 -0
  313. package/dist/types.js +41 -0
  314. package/dist/types.js.map +1 -0
  315. package/native/Package.swift +38 -0
  316. package/native/README.md +113 -0
  317. package/native/Sources/ClawdCursorHelper/main.swift +602 -0
  318. package/native/Sources/ClawdCursorHost/main.swift +182 -0
  319. package/native/Sources/PermissionCheck/main.swift +53 -0
  320. package/native/Sources/ScreenshotHelper/main.swift +219 -0
  321. package/native/build.sh +139 -0
  322. package/native/entitlements.plist +12 -0
  323. package/package.json +115 -0
  324. package/scripts/banner.ps1 +112 -0
  325. package/scripts/coord-accuracy.ps1 +140 -0
  326. package/scripts/coord-uwp.ps1 +80 -0
  327. package/scripts/edge-glow.ps1 +180 -0
  328. package/scripts/find-element.ps1 +198 -0
  329. package/scripts/get-foreground-window.ps1 +71 -0
  330. package/scripts/get-screen-context.ps1 +183 -0
  331. package/scripts/get-windows.ps1 +66 -0
  332. package/scripts/install-panic-hotkey.ps1 +46 -0
  333. package/scripts/interact-element.ps1 +431 -0
  334. package/scripts/invoke-element.ps1 +314 -0
  335. package/scripts/linux/atspi-bridge.py +356 -0
  336. package/scripts/linux/ocr-recognize.py +154 -0
  337. package/scripts/mac/_window-picker.jxa +163 -0
  338. package/scripts/mac/find-element.jxa +0 -0
  339. package/scripts/mac/find-element.sh +161 -0
  340. package/scripts/mac/focus-window.jxa +284 -0
  341. package/scripts/mac/get-focused-element.jxa +102 -0
  342. package/scripts/mac/get-foreground-window.jxa +173 -0
  343. package/scripts/mac/get-screen-context.jxa +197 -0
  344. package/scripts/mac/get-ui-tree.sh +141 -0
  345. package/scripts/mac/get-windows.jxa +117 -0
  346. package/scripts/mac/interact-element.sh +235 -0
  347. package/scripts/mac/invoke-element.jxa +408 -0
  348. package/scripts/mac/ocr-recognize.swift +124 -0
  349. package/scripts/ocr-recognize.ps1 +102 -0
  350. package/scripts/postinstall-native.js +48 -0
  351. package/scripts/ps-bridge.ps1 +830 -0
  352. package/scripts/smoke-mcp.ps1 +119 -0
  353. package/scripts/sync-version.ts +178 -0
  354. package/scripts/verify-install.js +81 -0
@@ -0,0 +1,651 @@
1
+ "use strict";
2
+ /**
3
+ * TOOL_META — MCP-surface metadata for every System B (agent-loop) UnifiedTool.
4
+ *
5
+ * WHY THIS FILE EXISTS
6
+ * --------------------
7
+ * The MCP surface (System A, src/tools/*) and the agent-loop (System B,
8
+ * buildUnifiedTools) are currently two separate, parallel codebases. System B
9
+ * has reliability tweaks (coord scaling, hedging guard, focus-guard, OCR
10
+ * fallback, etc.) that System A lacks. The planned Step 3 will project the MCP
11
+ * surface FROM System B tools, eliminating duplication. This file is Step 1 of
12
+ * that refactor: a PURE DATA table mapping every System B tool name to the
13
+ * metadata fields a ToolDefinition carries.
14
+ *
15
+ * PURELY ADDITIVE — this file is not imported by any production path yet.
16
+ * Wire-in happens in a later step.
17
+ *
18
+ * COVERAGE
19
+ * --------
20
+ * Terminal actions (done, give_up, cannot_read) and the vision compound tools
21
+ * (mouse, keyboard, window — defined in compound.ts) are intentionally EXCLUDED:
22
+ * - Terminal actions do not appear on the MCP surface.
23
+ * - Vision compounds collapse many granular tools into 3 schemas; they have no
24
+ * 1:1 counterpart in the granular MCP surface and their own tool-meta would
25
+ * belong in a separate projection layer.
26
+ *
27
+ * NAME DIFFERENCES (System B → System A)
28
+ * ----------------------------------------
29
+ * Where the System B tool name differs from the granular MCP name:
30
+ * System B name → MCP (System A) name
31
+ * list_windows → get_windows
32
+ * click → mouse_click
33
+ * drag → mouse_drag
34
+ * scroll → mouse_scroll
35
+ * type → type_text
36
+ * key → key_press
37
+ * screenshot → desktop_screenshot
38
+ * read_text → ocr_read_screen
39
+ * browser_connect → cdp_connect
40
+ * browser_navigate → navigate_browser
41
+ * browser_read → cdp_page_context (structured DOM listing path)
42
+ * browser_click → cdp_click
43
+ * browser_type → cdp_type
44
+ *
45
+ * All other System B names match their MCP counterparts exactly.
46
+ */
47
+ Object.defineProperty(exports, "__esModule", { value: true });
48
+ exports.TOOL_META = void 0;
49
+ /**
50
+ * Authoritative metadata table for System B UnifiedTool names.
51
+ *
52
+ * Key: System B tool name (as returned by buildUnifiedTools()).
53
+ * Value: ToolMeta for the projected MCP surface tool.
54
+ */
55
+ exports.TOOL_META = {
56
+ // ─── PERCEPTION ────────────────────────────────────────────────────────────
57
+ read_screen: {
58
+ category: 'perception',
59
+ compactGroup: 'accessibility',
60
+ safetyTier: 0,
61
+ costClass: 'perceive-text',
62
+ cheaperAlternatives: ['find_element', 'get_focused_element'],
63
+ paramDescriptions: {
64
+ processId: 'Focus on a specific process ID (optional — reads foreground window by default)',
65
+ },
66
+ },
67
+ list_windows: {
68
+ mcpName: 'get_windows',
69
+ category: 'window',
70
+ compactGroup: 'window',
71
+ safetyTier: 0,
72
+ costClass: 'inspect',
73
+ // get_windows has no parameters in System A
74
+ },
75
+ // ─── A11Y ACTIONS ──────────────────────────────────────────────────────────
76
+ invoke_element: {
77
+ // System A (smart.ts) invoke_element has category 'window'. The projected tool
78
+ // preserves this to match the System A behavior — same category, no regression.
79
+ category: 'window',
80
+ compactGroup: 'accessibility',
81
+ safetyTier: 1,
82
+ costClass: 'act',
83
+ cheaperAlternatives: ['focus_element'],
84
+ paramDescriptions: {
85
+ name: 'Element name to find',
86
+ automationId: 'Element automation ID (more precise than name)',
87
+ controlType: 'Filter by control type (e.g., "ControlType.Button")',
88
+ processId: 'Target process ID',
89
+ action: 'Action to perform (default: "click"). Options: click, set-value, get-value, focus, expand, collapse',
90
+ value: 'Value for set-value action',
91
+ },
92
+ },
93
+ set_field_value: {
94
+ // a11y input action — same category as System A's a11y_depth.ts set_field_value
95
+ // (category: 'perception'). 'window' was incorrect; this is an accessibility
96
+ // write action, not a window-management action.
97
+ category: 'perception',
98
+ compactGroup: 'accessibility',
99
+ safetyTier: 1,
100
+ costClass: 'act',
101
+ cheaperAlternatives: ['invoke_element'],
102
+ paramDescriptions: {
103
+ name: 'Accessibility name of the field',
104
+ value: 'Value to write',
105
+ controlType: 'Optional role filter (e.g. "Edit")',
106
+ processId: 'Scope to a process',
107
+ },
108
+ },
109
+ // ─── A11Y DEPTH ────────────────────────────────────────────────────────────
110
+ a11y_expand: {
111
+ category: 'perception',
112
+ compactGroup: 'accessibility',
113
+ safetyTier: 1,
114
+ costClass: 'act',
115
+ paramDescriptions: {
116
+ name: 'Accessibility name to match',
117
+ controlType: 'Optional role filter',
118
+ processId: 'Scope to a process',
119
+ },
120
+ },
121
+ a11y_collapse: {
122
+ category: 'perception',
123
+ compactGroup: 'accessibility',
124
+ safetyTier: 1,
125
+ costClass: 'act',
126
+ paramDescriptions: {
127
+ name: 'Accessibility name',
128
+ controlType: 'Optional role filter',
129
+ processId: 'Scope to a process',
130
+ },
131
+ },
132
+ a11y_toggle: {
133
+ category: 'perception',
134
+ compactGroup: 'accessibility',
135
+ safetyTier: 1,
136
+ costClass: 'act',
137
+ paramDescriptions: {
138
+ name: 'Accessibility name',
139
+ controlType: 'Optional role filter',
140
+ processId: 'Scope to a process',
141
+ },
142
+ },
143
+ a11y_select: {
144
+ category: 'perception',
145
+ compactGroup: 'accessibility',
146
+ safetyTier: 1,
147
+ costClass: 'act',
148
+ paramDescriptions: {
149
+ name: 'Accessibility name',
150
+ controlType: 'Optional role filter',
151
+ processId: 'Scope to a process',
152
+ },
153
+ },
154
+ a11y_get_value: {
155
+ category: 'perception',
156
+ compactGroup: 'accessibility',
157
+ safetyTier: 0,
158
+ costClass: 'inspect',
159
+ cheaperAlternatives: ['get_element_state'],
160
+ paramDescriptions: {
161
+ name: 'Accessibility name',
162
+ controlType: 'Optional role filter',
163
+ processId: 'Scope to a process',
164
+ },
165
+ },
166
+ verify: {
167
+ category: 'perception',
168
+ safetyTier: 0,
169
+ costClass: 'inspect',
170
+ paramDescriptions: {
171
+ assertions: 'Array of machine-checkable assertions, each {type, ...fields}',
172
+ },
173
+ },
174
+ compile_ui: {
175
+ category: 'perception',
176
+ safetyTier: 0,
177
+ costClass: 'perceive-text',
178
+ paramDescriptions: {
179
+ purpose: 'What the compile is for',
180
+ target_text: 'Text to find (may pull OCR)',
181
+ max_cost: 'Perception cost ceiling',
182
+ },
183
+ },
184
+ find_action_button: {
185
+ category: 'perception',
186
+ safetyTier: 0,
187
+ costClass: 'perceive-text',
188
+ paramDescriptions: {
189
+ intent: 'What you want to do (submit/cancel/search/login/...)',
190
+ max_cost: 'Perception cost ceiling (default ocr_ok)',
191
+ },
192
+ },
193
+ find_input_field: {
194
+ category: 'perception',
195
+ safetyTier: 0,
196
+ costClass: 'perceive-text',
197
+ paramDescriptions: {
198
+ purpose: 'What the field is for (recipient/subject/body/search/...)',
199
+ max_cost: 'Perception cost ceiling (default ocr_ok)',
200
+ },
201
+ },
202
+ get_element_state: {
203
+ category: 'perception',
204
+ compactGroup: 'accessibility',
205
+ safetyTier: 0,
206
+ costClass: 'inspect',
207
+ paramDescriptions: {
208
+ name: 'Accessibility name',
209
+ controlType: 'Optional role filter',
210
+ processId: 'Scope to a process',
211
+ },
212
+ },
213
+ // ─── INPUT (mouse) ─────────────────────────────────────────────────────────
214
+ click: {
215
+ mcpName: 'mouse_click',
216
+ category: 'mouse',
217
+ compactGroup: 'computer',
218
+ safetyTier: 1,
219
+ costClass: 'act',
220
+ cheaperAlternatives: ['invoke_element'],
221
+ paramDescriptions: {
222
+ x: 'X coordinate in image-space',
223
+ y: 'Y coordinate in image-space',
224
+ button: 'Mouse button to click: "left" (default) or "right"',
225
+ count: 'Click count: 1=single (default), 2=double',
226
+ // MCP callers omit `space` to get the image-space default (backward-compat).
227
+ // Pass space:"screen" to use a11y-snapshot coords without scaling.
228
+ space: 'Coordinate space. Omit (default) or pass "image" for screenshot coords (scaled to physical). Pass "screen" for a11y-snapshot coords that are already in physical pixels.',
229
+ },
230
+ },
231
+ drag: {
232
+ mcpName: 'mouse_drag',
233
+ category: 'mouse',
234
+ compactGroup: 'computer',
235
+ safetyTier: 1,
236
+ costClass: 'act',
237
+ paramDescriptions: {
238
+ startX: 'Start X in image-space',
239
+ startY: 'Start Y in image-space',
240
+ endX: 'End X in image-space',
241
+ endY: 'End Y in image-space',
242
+ path: 'Stepped drag path: array of {x,y} points (min 2). When given, startX/startY/endX/endY are ignored.',
243
+ space: 'Coordinate space. Omit (default) or pass "image" for screenshot coords. Pass "screen" for a11y coords already in physical pixels.',
244
+ },
245
+ },
246
+ move: {
247
+ mcpName: 'mouse_hover',
248
+ category: 'mouse',
249
+ compactGroup: 'computer',
250
+ safetyTier: 1,
251
+ costClass: 'act',
252
+ paramDescriptions: {
253
+ x: 'X coordinate in image-space',
254
+ y: 'Y coordinate in image-space',
255
+ space: 'Coordinate space. Omit (default) or pass "image" for screenshot coords. Pass "screen" for a11y coords already in physical pixels.',
256
+ },
257
+ },
258
+ scroll: {
259
+ mcpName: 'mouse_scroll',
260
+ category: 'mouse',
261
+ compactGroup: 'computer',
262
+ safetyTier: 1,
263
+ costClass: 'act',
264
+ paramDescriptions: {
265
+ x: 'X coordinate in image-space',
266
+ y: 'Y coordinate in image-space',
267
+ direction: 'Scroll direction',
268
+ amount: 'Scroll amount in wheel ticks (default: 3)',
269
+ space: 'Coordinate space. Omit (default) or pass "image" for screenshot coords. Pass "screen" for a11y coords already in physical pixels.',
270
+ },
271
+ },
272
+ // ─── INPUT (keyboard) ──────────────────────────────────────────────────────
273
+ type: {
274
+ mcpName: 'type_text',
275
+ category: 'keyboard',
276
+ compactGroup: 'computer',
277
+ safetyTier: 1,
278
+ costClass: 'act',
279
+ cheaperAlternatives: ['set_field_value'],
280
+ paramDescriptions: {
281
+ text: 'The text to type',
282
+ },
283
+ },
284
+ key: {
285
+ mcpName: 'key_press',
286
+ category: 'keyboard',
287
+ compactGroup: 'computer',
288
+ safetyTier: 1,
289
+ costClass: 'act',
290
+ paramDescriptions: {
291
+ // MCP surface (key_press) uses the parameter name 'key' for backward-compat.
292
+ // System B now also accepts 'key' as an alias for 'combo' — both are valid.
293
+ key: 'Key/combo to press (e.g. "Return", "ctrl+a", "F5"). Space-separate combos for a sequence ("Down Down End").',
294
+ },
295
+ },
296
+ // ─── APPS & WINDOWS ────────────────────────────────────────────────────────
297
+ open_app: {
298
+ category: 'orchestration',
299
+ compactGroup: 'system',
300
+ safetyTier: 1,
301
+ costClass: 'act',
302
+ paramDescriptions: {
303
+ name: 'Application name (e.g. "notepad", "calc", "mspaint", "Outlook", "Chrome")',
304
+ },
305
+ },
306
+ focus_window: {
307
+ category: 'window',
308
+ compactGroup: 'window',
309
+ safetyTier: 1,
310
+ costClass: 'act',
311
+ paramDescriptions: {
312
+ processName: 'Process name to focus (e.g. "notepad", "msedge")',
313
+ processId: 'Process ID to focus',
314
+ title: 'Window title substring to match',
315
+ },
316
+ },
317
+ maximize_window: {
318
+ category: 'window',
319
+ compactGroup: 'window',
320
+ safetyTier: 1,
321
+ costClass: 'act',
322
+ paramDescriptions: {
323
+ processName: 'Optional process name match',
324
+ processId: 'Optional process id match',
325
+ title: 'Optional title-substring match',
326
+ },
327
+ },
328
+ minimize_window: {
329
+ // System B name is 'minimize_window'; the MCP surface distinguishes it as
330
+ // 'minimize_window_to_taskbar' (routed through the PlatformAdapter, not the
331
+ // legacy a11y bridge). The separate a11y-bridge 'minimize_window' in
332
+ // src/tools/a11y.ts is kept as-is; only 'minimize_window_to_taskbar' (from
333
+ // extras.ts) is re-projected from this System B tool.
334
+ mcpName: 'minimize_window_to_taskbar',
335
+ category: 'window',
336
+ compactGroup: 'window',
337
+ safetyTier: 2,
338
+ costClass: 'act',
339
+ paramDescriptions: {
340
+ processName: 'Optional process name match',
341
+ processId: 'Optional process id match',
342
+ title: 'Optional title-substring match',
343
+ },
344
+ },
345
+ restore_window: {
346
+ category: 'window',
347
+ compactGroup: 'window',
348
+ safetyTier: 1,
349
+ costClass: 'act',
350
+ paramDescriptions: {
351
+ processName: 'Optional process name match',
352
+ processId: 'Optional process id match',
353
+ title: 'Optional title-substring match',
354
+ },
355
+ },
356
+ close_window: {
357
+ category: 'window',
358
+ compactGroup: 'window',
359
+ safetyTier: 2,
360
+ costClass: 'act',
361
+ paramDescriptions: {
362
+ processName: 'Optional process name match',
363
+ processId: 'Optional process id match',
364
+ title: 'Optional title-substring match',
365
+ },
366
+ },
367
+ resize_window: {
368
+ category: 'window',
369
+ compactGroup: 'window',
370
+ safetyTier: 1,
371
+ costClass: 'act',
372
+ paramDescriptions: {
373
+ x: 'New X (top-left origin, logical px)',
374
+ y: 'New Y (top-left origin, logical px)',
375
+ width: 'New width in logical px',
376
+ height: 'New height in logical px',
377
+ processName: 'Optional process name match',
378
+ processId: 'Optional process id match',
379
+ title: 'Optional title-substring match',
380
+ },
381
+ },
382
+ list_displays: {
383
+ category: 'window',
384
+ compactGroup: 'window',
385
+ safetyTier: 0,
386
+ costClass: 'inspect',
387
+ // list_displays has no parameters
388
+ },
389
+ switch_tab_os: {
390
+ category: 'window',
391
+ compactGroup: 'window',
392
+ safetyTier: 1,
393
+ costClass: 'act',
394
+ paramDescriptions: {
395
+ index: 'Jump to tab N (1-based, 1-9). If omitted, direction must be provided.',
396
+ direction: 'Cycle "next" or "previous". Ignored when `index` is given.',
397
+ },
398
+ },
399
+ // ─── ACCESSIBILITY DEPTH (Tranche 1B) ──────────────────────────────────────
400
+ focus_element: {
401
+ category: 'perception',
402
+ compactGroup: 'accessibility',
403
+ safetyTier: 1,
404
+ costClass: 'act',
405
+ paramDescriptions: {
406
+ name: 'Accessibility name of the element',
407
+ controlType: 'Optional role filter (Button, Edit, etc.)',
408
+ processId: 'Optional process id to scope the search',
409
+ },
410
+ },
411
+ wait_for_element: {
412
+ category: 'perception',
413
+ compactGroup: 'accessibility',
414
+ safetyTier: 0,
415
+ costClass: 'inspect',
416
+ paramDescriptions: {
417
+ name: 'Accessibility name to match',
418
+ controlType: 'Role filter (e.g. "Button")',
419
+ processId: 'Scope the search to a process',
420
+ timeoutMs: 'Max wait in milliseconds (default 5000)',
421
+ intervalMs: 'Poll interval in ms (default 250)',
422
+ },
423
+ },
424
+ // ─── SYSTEM OPEN HELPERS ───────────────────────────────────────────────────
425
+ open_file: {
426
+ category: 'orchestration',
427
+ compactGroup: 'window',
428
+ safetyTier: 2,
429
+ costClass: 'act',
430
+ paramDescriptions: {
431
+ path: 'Absolute filesystem path',
432
+ },
433
+ },
434
+ open_url: {
435
+ category: 'orchestration',
436
+ compactGroup: 'window',
437
+ safetyTier: 1,
438
+ costClass: 'act',
439
+ paramDescriptions: {
440
+ url: 'https:// or http:// URL',
441
+ },
442
+ },
443
+ open_uri: {
444
+ category: 'orchestration',
445
+ compactGroup: 'window',
446
+ safetyTier: 2,
447
+ costClass: 'act',
448
+ paramDescriptions: {
449
+ uri: 'A full URI like "mailto:bob@example.com?subject=hi&body=hello", "tel:+15551234", "slack://channel?team=T123&id=C456", "vscode://file/Users/me/code/x.ts", "https://example.com". Must be properly URL-encoded.',
450
+ },
451
+ },
452
+ build_uri: {
453
+ category: 'orchestration',
454
+ compactGroup: 'window',
455
+ safetyTier: 0,
456
+ costClass: 'inspect',
457
+ paramDescriptions: {
458
+ scheme: 'URI scheme without the colon: mailto, tel, sms, webcal, slack, vscode, obsidian, spotify, https, etc.',
459
+ path: 'Scheme-specific path (for mailto: the recipient address; for tel:/sms: the number; for https: the host+path). URL-encoded for you.',
460
+ query: 'JSON object of query parameters, e.g. {"subject":"hi","body":"hello"}. Each value will be URL-encoded.',
461
+ },
462
+ },
463
+ get_system_time: {
464
+ category: 'perception',
465
+ compactGroup: 'system',
466
+ safetyTier: 0,
467
+ costClass: 'inspect',
468
+ // get_system_time has no parameters
469
+ },
470
+ // ─── MOUSE + KEYBOARD EXTENDED ─────────────────────────────────────────────
471
+ mouse_move_relative: {
472
+ category: 'mouse',
473
+ compactGroup: 'computer',
474
+ safetyTier: 1,
475
+ costClass: 'act',
476
+ paramDescriptions: {
477
+ dx: 'X offset in image-space pixels',
478
+ dy: 'Y offset in image-space pixels',
479
+ },
480
+ },
481
+ mouse_down: {
482
+ category: 'mouse',
483
+ compactGroup: 'computer',
484
+ safetyTier: 1,
485
+ costClass: 'act',
486
+ paramDescriptions: {
487
+ button: 'Which button (default: left)',
488
+ },
489
+ },
490
+ mouse_up: {
491
+ category: 'mouse',
492
+ compactGroup: 'computer',
493
+ safetyTier: 1,
494
+ costClass: 'act',
495
+ paramDescriptions: {
496
+ button: 'Which button (default: left)',
497
+ },
498
+ },
499
+ key_down: {
500
+ category: 'keyboard',
501
+ compactGroup: 'computer',
502
+ safetyTier: 1,
503
+ costClass: 'act',
504
+ paramDescriptions: {
505
+ key: 'Key token (e.g. "shift", "ctrl", "a", "Return")',
506
+ },
507
+ },
508
+ key_up: {
509
+ category: 'keyboard',
510
+ compactGroup: 'computer',
511
+ safetyTier: 1,
512
+ costClass: 'act',
513
+ paramDescriptions: {
514
+ key: 'Key token',
515
+ },
516
+ },
517
+ undo_last: {
518
+ category: 'keyboard',
519
+ compactGroup: 'computer',
520
+ safetyTier: 1,
521
+ costClass: 'act',
522
+ // undo_last has no parameters
523
+ },
524
+ // ─── CLIPBOARD ─────────────────────────────────────────────────────────────
525
+ read_clipboard: {
526
+ category: 'clipboard',
527
+ compactGroup: 'system',
528
+ safetyTier: 0,
529
+ costClass: 'inspect',
530
+ // read_clipboard has no parameters
531
+ },
532
+ write_clipboard: {
533
+ category: 'clipboard',
534
+ compactGroup: 'system',
535
+ safetyTier: 2,
536
+ costClass: 'act',
537
+ paramDescriptions: {
538
+ text: 'Text to write to clipboard',
539
+ },
540
+ },
541
+ // ─── FLOW CONTROL ──────────────────────────────────────────────────────────
542
+ wait: {
543
+ category: 'orchestration',
544
+ compactGroup: 'system',
545
+ safetyTier: 0,
546
+ costClass: 'act',
547
+ paramDescriptions: {
548
+ // System B uses 'ms'; System A uses 'seconds'. The param names differ.
549
+ ms: 'Duration to wait in milliseconds (max 5000)',
550
+ },
551
+ },
552
+ // ─── VISION ────────────────────────────────────────────────────────────────
553
+ screenshot: {
554
+ mcpName: 'desktop_screenshot',
555
+ category: 'perception',
556
+ compactGroup: 'computer',
557
+ safetyTier: 0,
558
+ costClass: 'perceive-image',
559
+ cheaperAlternatives: ['read_screen', 'ocr_read_screen'],
560
+ // screenshot has no parameters
561
+ },
562
+ // ─── OCR PERCEPTION ────────────────────────────────────────────────────────
563
+ read_text: {
564
+ mcpName: 'ocr_read_screen',
565
+ category: 'perception',
566
+ compactGroup: 'system',
567
+ safetyTier: 0,
568
+ costClass: 'perceive-text',
569
+ cheaperAlternatives: ['read_screen', 'find_element'],
570
+ // System B 'filter' param has its own description; no System A counterpart
571
+ },
572
+ smart_click: {
573
+ category: 'mouse',
574
+ compactGroup: 'computer',
575
+ safetyTier: 1,
576
+ costClass: 'perceive-text',
577
+ cheaperAlternatives: ['invoke_element', 'mouse_click'],
578
+ paramDescriptions: {
579
+ target: 'Element name/text to click (e.g., "Send", "Submit", "New Email")',
580
+ processId: 'Limit search to a specific process',
581
+ timeout: 'Max time in ms (default 5000)',
582
+ },
583
+ },
584
+ // ─── BROWSER (CDP / DOM) ───────────────────────────────────────────────────
585
+ browser_connect: {
586
+ mcpName: 'cdp_connect',
587
+ category: 'browser',
588
+ compactGroup: 'browser',
589
+ safetyTier: 1,
590
+ costClass: 'act',
591
+ // browser_connect has no parameters
592
+ },
593
+ browser_navigate: {
594
+ mcpName: 'navigate_browser',
595
+ category: 'browser',
596
+ compactGroup: 'browser',
597
+ safetyTier: 1,
598
+ costClass: 'act',
599
+ paramDescriptions: {
600
+ url: 'URL to navigate to',
601
+ },
602
+ },
603
+ browser_read: {
604
+ // Closest System A equivalent is cdp_page_context (structured DOM listing).
605
+ // cdp_read_text covers the selector-based text path, but cdp_page_context
606
+ // is the more analogous default path. The projector uses this MCP name.
607
+ mcpName: 'cdp_page_context',
608
+ category: 'browser',
609
+ compactGroup: 'browser',
610
+ safetyTier: 0,
611
+ costClass: 'perceive-text',
612
+ cheaperAlternatives: ['read_screen'],
613
+ paramDescriptions: {
614
+ selector: 'Optional CSS selector to read text from (default: structured interactive-element list for the whole page).',
615
+ },
616
+ },
617
+ browser_click: {
618
+ mcpName: 'cdp_click',
619
+ category: 'browser',
620
+ compactGroup: 'browser',
621
+ safetyTier: 1,
622
+ costClass: 'act',
623
+ cheaperAlternatives: ['invoke_element'],
624
+ paramDescriptions: {
625
+ selector: 'CSS selector to click (e.g. "#submit", "button.primary")',
626
+ text: 'Visible text of the element to click (alternative to selector)',
627
+ },
628
+ },
629
+ browser_type: {
630
+ mcpName: 'cdp_type',
631
+ category: 'browser',
632
+ compactGroup: 'browser',
633
+ safetyTier: 1,
634
+ costClass: 'act',
635
+ cheaperAlternatives: ['set_field_value'],
636
+ paramDescriptions: {
637
+ selector: 'CSS selector for the input field',
638
+ label: 'Label text associated with the input (alternative to selector)',
639
+ text: 'Text to type into the field',
640
+ },
641
+ },
642
+ // ─── BATCHED PLANNING ──────────────────────────────────────────────────────
643
+ batch: {
644
+ category: 'orchestration',
645
+ compactGroup: 'system',
646
+ safetyTier: 1,
647
+ costClass: 'act',
648
+ // batch has its own complex schema; no direct System A counterpart
649
+ },
650
+ };
651
+ //# sourceMappingURL=tool-meta.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tool-meta.js","sourceRoot":"","sources":["../../../src/core/agent-loop/tool-meta.ts"],"names":[],"mappings":"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"}