@bastani/atomic 0.9.28-alpha.2 → 0.9.28-alpha.4

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 (327) hide show
  1. package/CHANGELOG.md +50 -0
  2. package/dist/builtin/intercom/package.json +2 -2
  3. package/dist/builtin/mcp/native-client-licenses/NOTICE +2 -0
  4. package/dist/builtin/mcp/package.json +1 -1
  5. package/dist/builtin/subagents/CHANGELOG.md +6 -0
  6. package/dist/builtin/subagents/package.json +3 -3
  7. package/dist/builtin/subagents/skills/agent-browser/SKILL.md +1 -1
  8. package/dist/builtin/subagents/skills/cua-driver/BROWSER.md +60 -39
  9. package/dist/builtin/subagents/skills/cua-driver/EMBEDDING.md +119 -36
  10. package/dist/builtin/subagents/skills/cua-driver/LINUX.md +225 -183
  11. package/dist/builtin/subagents/skills/cua-driver/MACOS.md +120 -89
  12. package/dist/builtin/subagents/skills/cua-driver/README.md +16 -7
  13. package/dist/builtin/subagents/skills/cua-driver/RECORDING.md +85 -115
  14. package/dist/builtin/subagents/skills/cua-driver/RUNTIME.md +113 -0
  15. package/dist/builtin/subagents/skills/cua-driver/SKILL.md +55 -1071
  16. package/dist/builtin/subagents/skills/cua-driver/VISUAL.md +125 -0
  17. package/dist/builtin/subagents/skills/cua-driver/WINDOWS.md +145 -185
  18. package/dist/builtin/subagents/skills/cua-driver/WORKFLOW.md +173 -0
  19. package/dist/builtin/web-access/package.json +2 -2
  20. package/dist/builtin/workflows/CHANGELOG.md +21 -0
  21. package/dist/builtin/workflows/README.md +1 -1
  22. package/dist/builtin/workflows/package.json +2 -2
  23. package/dist/builtin/workflows/skills/impeccable/SKILL.md +8 -2
  24. package/dist/builtin/workflows/skills/impeccable/reference/adapt.md +6 -0
  25. package/dist/builtin/workflows/skills/impeccable/reference/audit.md +2 -1
  26. package/dist/builtin/workflows/skills/impeccable/reference/component-review.md +63 -0
  27. package/dist/builtin/workflows/skills/impeccable/reference/degraded/asset-producer.md +5 -0
  28. package/dist/builtin/workflows/skills/impeccable/reference/degraded/finish-reviewer.md +1 -1
  29. package/dist/builtin/workflows/skills/impeccable/reference/generate.md +101 -0
  30. package/dist/builtin/workflows/skills/impeccable/reference/harden.md +9 -0
  31. package/dist/builtin/workflows/skills/impeccable/reference/hooks.md +3 -1
  32. package/dist/builtin/workflows/skills/impeccable/reference/mode-operate.md +21 -0
  33. package/dist/builtin/workflows/skills/impeccable/reference/mode-persuade.md +19 -0
  34. package/dist/builtin/workflows/skills/impeccable/reference/mode-read.md +21 -0
  35. package/dist/builtin/workflows/skills/impeccable/reference/new-work.md +19 -12
  36. package/dist/builtin/workflows/skills/impeccable/reference/region-map.md +26 -0
  37. package/dist/builtin/workflows/skills/impeccable/reference/routing.md +1 -1
  38. package/dist/builtin/workflows/skills/impeccable/reference/visualize.md +5 -5
  39. package/dist/builtin/workflows/skills/impeccable/scripts/VERSION +1 -1
  40. package/dist/builtin/workflows/skills/impeccable/scripts/command-metadata.json +4 -0
  41. package/dist/builtin/workflows/skills/impeccable/scripts/impeccable.cmd +2 -2
  42. package/dist/builtin/workflows/skills/impeccable/scripts/live-browser-session.js +5 -1
  43. package/dist/builtin/workflows/skills/impeccable/scripts/live-browser.js +524 -4
  44. package/dist/builtin/workflows/skills/prompt-engineer/SKILL.md +1 -0
  45. package/dist/builtin/workflows/skills/prompt-engineer/references/claude_haiku_5_5.md +81 -0
  46. package/dist/builtin/workflows/src/extension/index.bundle.mjs +14733 -14704
  47. package/dist/cli/args.d.ts.map +1 -1
  48. package/dist/cli/args.js +8 -1
  49. package/dist/cli/args.js.map +1 -1
  50. package/dist/codemode-worker.js +2 -2
  51. package/dist/config.d.ts +2 -1
  52. package/dist/config.d.ts.map +1 -1
  53. package/dist/config.js +4 -2
  54. package/dist/config.js.map +1 -1
  55. package/dist/core/agent-session-compaction.d.ts +3 -3
  56. package/dist/core/agent-session-compaction.d.ts.map +1 -1
  57. package/dist/core/agent-session-compaction.js +5 -1
  58. package/dist/core/agent-session-compaction.js.map +1 -1
  59. package/dist/core/agent-session-events.d.ts.map +1 -1
  60. package/dist/core/agent-session-events.js +1 -0
  61. package/dist/core/agent-session-events.js.map +1 -1
  62. package/dist/core/agent-session-extension-bindings.d.ts.map +1 -1
  63. package/dist/core/agent-session-extension-bindings.js +7 -2
  64. package/dist/core/agent-session-extension-bindings.js.map +1 -1
  65. package/dist/core/agent-session-methods.d.ts +7 -1
  66. package/dist/core/agent-session-methods.d.ts.map +1 -1
  67. package/dist/core/agent-session-methods.js.map +1 -1
  68. package/dist/core/agent-session-prompt.d.ts.map +1 -1
  69. package/dist/core/agent-session-prompt.js +3 -2
  70. package/dist/core/agent-session-prompt.js.map +1 -1
  71. package/dist/core/agent-session-tool-registry.js.map +1 -1
  72. package/dist/core/agent-session-types.d.ts +2 -0
  73. package/dist/core/agent-session-types.d.ts.map +1 -1
  74. package/dist/core/agent-session-types.js.map +1 -1
  75. package/dist/core/agent-session.d.ts +2 -0
  76. package/dist/core/agent-session.d.ts.map +1 -1
  77. package/dist/core/agent-session.js +6 -1
  78. package/dist/core/agent-session.js.map +1 -1
  79. package/dist/core/bash-executor.d.ts.map +1 -1
  80. package/dist/core/bash-executor.js +22 -4
  81. package/dist/core/bash-executor.js.map +1 -1
  82. package/dist/core/child-session-options.d.ts.map +1 -1
  83. package/dist/core/child-session-options.js +17 -2
  84. package/dist/core/child-session-options.js.map +1 -1
  85. package/dist/core/export-html/tool-renderer.d.ts.map +1 -1
  86. package/dist/core/export-html/tool-renderer.js +2 -0
  87. package/dist/core/export-html/tool-renderer.js.map +1 -1
  88. package/dist/core/extensions/agent-events.d.ts +2 -0
  89. package/dist/core/extensions/agent-events.d.ts.map +1 -1
  90. package/dist/core/extensions/agent-events.js.map +1 -1
  91. package/dist/core/extensions/context-types.d.ts +2 -0
  92. package/dist/core/extensions/context-types.d.ts.map +1 -1
  93. package/dist/core/extensions/context-types.js.map +1 -1
  94. package/dist/core/extensions/loader-virtual-modules.d.ts +3 -4
  95. package/dist/core/extensions/loader-virtual-modules.d.ts.map +1 -1
  96. package/dist/core/extensions/loader-virtual-modules.js +14 -9
  97. package/dist/core/extensions/loader-virtual-modules.js.map +1 -1
  98. package/dist/core/extensions/mcp-server-registry.d.ts +4 -1
  99. package/dist/core/extensions/mcp-server-registry.d.ts.map +1 -1
  100. package/dist/core/extensions/mcp-server-registry.js +7 -4
  101. package/dist/core/extensions/mcp-server-registry.js.map +1 -1
  102. package/dist/core/extensions/runner.d.ts +3 -0
  103. package/dist/core/extensions/runner.d.ts.map +1 -1
  104. package/dist/core/extensions/runner.js +19 -0
  105. package/dist/core/extensions/runner.js.map +1 -1
  106. package/dist/core/extensions/tool-events.d.ts +1 -1
  107. package/dist/core/extensions/tool-events.js.map +1 -1
  108. package/dist/core/extensions/tool-types.d.ts +2 -0
  109. package/dist/core/extensions/tool-types.d.ts.map +1 -1
  110. package/dist/core/extensions/tool-types.js.map +1 -1
  111. package/dist/core/extensions/ts-source-specifiers.d.ts +18 -0
  112. package/dist/core/extensions/ts-source-specifiers.d.ts.map +1 -0
  113. package/dist/core/extensions/ts-source-specifiers.js +142 -0
  114. package/dist/core/extensions/ts-source-specifiers.js.map +1 -0
  115. package/dist/core/fast-model-variants.d.ts.map +1 -1
  116. package/dist/core/fast-model-variants.js +3 -2
  117. package/dist/core/fast-model-variants.js.map +1 -1
  118. package/dist/core/model-resolver-defaults.d.ts.map +1 -1
  119. package/dist/core/model-resolver-defaults.js +2 -0
  120. package/dist/core/model-resolver-defaults.js.map +1 -1
  121. package/dist/core/nested-tool-calls.d.ts +1 -0
  122. package/dist/core/nested-tool-calls.d.ts.map +1 -1
  123. package/dist/core/nested-tool-calls.js +1 -0
  124. package/dist/core/nested-tool-calls.js.map +1 -1
  125. package/dist/core/sdk-exports.d.ts +2 -2
  126. package/dist/core/sdk-exports.js.map +1 -1
  127. package/dist/core/sdk-types.d.ts +3 -0
  128. package/dist/core/sdk-types.d.ts.map +1 -1
  129. package/dist/core/sdk-types.js.map +1 -1
  130. package/dist/core/sdk.d.ts.map +1 -1
  131. package/dist/core/sdk.js +17 -8
  132. package/dist/core/sdk.js.map +1 -1
  133. package/dist/core/settings-manager-basic-accessors.js.map +1 -1
  134. package/dist/core/settings-manager-core.js.map +1 -1
  135. package/dist/core/settings-merge.d.ts +3 -0
  136. package/dist/core/settings-merge.d.ts.map +1 -1
  137. package/dist/core/settings-merge.js +18 -4
  138. package/dist/core/settings-merge.js.map +1 -1
  139. package/dist/core/settings-storage.js.map +1 -1
  140. package/dist/core/settings-types.js.map +1 -1
  141. package/dist/core/tools/bash.d.ts.map +1 -1
  142. package/dist/core/tools/bash.js +7 -3
  143. package/dist/core/tools/bash.js.map +1 -1
  144. package/dist/core/tools/edit.js +1 -1
  145. package/dist/core/tools/edit.js.map +1 -1
  146. package/dist/extensions/codemode/execute.d.ts.map +1 -1
  147. package/dist/extensions/codemode/execute.js +69 -8
  148. package/dist/extensions/codemode/execute.js.map +1 -1
  149. package/dist/extensions/codemode/index.d.ts.map +1 -1
  150. package/dist/extensions/codemode/index.js +7 -0
  151. package/dist/extensions/codemode/index.js.map +1 -1
  152. package/dist/extensions/codemode/tool.d.ts +2 -0
  153. package/dist/extensions/codemode/tool.d.ts.map +1 -1
  154. package/dist/extensions/codemode/tool.js +4 -2
  155. package/dist/extensions/codemode/tool.js.map +1 -1
  156. package/dist/extensions/llama/provider.d.ts.map +1 -1
  157. package/dist/extensions/llama/provider.js +19 -8
  158. package/dist/extensions/llama/provider.js.map +1 -1
  159. package/dist/extensions/mcp/cli.js +18 -24
  160. package/dist/extensions/mcp/cli.js.map +1 -1
  161. package/dist/extensions/mcp/client/auth-provider.d.ts +4 -0
  162. package/dist/extensions/mcp/client/auth-provider.d.ts.map +1 -1
  163. package/dist/extensions/mcp/client/auth-provider.js.map +1 -1
  164. package/dist/extensions/mcp/client/oauth/discovery.d.ts +3 -0
  165. package/dist/extensions/mcp/client/oauth/discovery.d.ts.map +1 -1
  166. package/dist/extensions/mcp/client/oauth/discovery.js +8 -5
  167. package/dist/extensions/mcp/client/oauth/discovery.js.map +1 -1
  168. package/dist/extensions/mcp/client/oauth/flow.d.ts +4 -0
  169. package/dist/extensions/mcp/client/oauth/flow.d.ts.map +1 -1
  170. package/dist/extensions/mcp/client/oauth/flow.js +12 -2
  171. package/dist/extensions/mcp/client/oauth/flow.js.map +1 -1
  172. package/dist/extensions/mcp/client/transports/streamable-http.d.ts +3 -0
  173. package/dist/extensions/mcp/client/transports/streamable-http.d.ts.map +1 -1
  174. package/dist/extensions/mcp/client/transports/streamable-http.js +17 -14
  175. package/dist/extensions/mcp/client/transports/streamable-http.js.map +1 -1
  176. package/dist/extensions/mcp/index.d.ts.map +1 -1
  177. package/dist/extensions/mcp/index.js +150 -72
  178. package/dist/extensions/mcp/index.js.map +1 -1
  179. package/dist/extensions/mcp/oauth.d.ts +5 -3
  180. package/dist/extensions/mcp/oauth.d.ts.map +1 -1
  181. package/dist/extensions/mcp/oauth.js +36 -10
  182. package/dist/extensions/mcp/oauth.js.map +1 -1
  183. package/dist/extensions/mcp/ui.d.ts +3 -3
  184. package/dist/extensions/mcp/ui.d.ts.map +1 -1
  185. package/dist/extensions/mcp/ui.js +10 -2
  186. package/dist/extensions/mcp/ui.js.map +1 -1
  187. package/dist/index.d.ts +2 -2
  188. package/dist/index.d.ts.map +1 -1
  189. package/dist/index.js.map +1 -1
  190. package/dist/main-deferred-startup.d.ts +1 -0
  191. package/dist/main-deferred-startup.d.ts.map +1 -1
  192. package/dist/main-deferred-startup.js +9 -21
  193. package/dist/main-deferred-startup.js.map +1 -1
  194. package/dist/main.d.ts.map +1 -1
  195. package/dist/main.js +8 -6
  196. package/dist/main.js.map +1 -1
  197. package/dist/modes/interactive/components/bash-execution.d.ts +5 -1
  198. package/dist/modes/interactive/components/bash-execution.d.ts.map +1 -1
  199. package/dist/modes/interactive/components/bash-execution.js +17 -14
  200. package/dist/modes/interactive/components/bash-execution.js.map +1 -1
  201. package/dist/modes/interactive/components/branch-summary-message.d.ts +2 -1
  202. package/dist/modes/interactive/components/branch-summary-message.d.ts.map +1 -1
  203. package/dist/modes/interactive/components/branch-summary-message.js +5 -2
  204. package/dist/modes/interactive/components/branch-summary-message.js.map +1 -1
  205. package/dist/modes/interactive/components/chat-message-renderer.d.ts +1 -0
  206. package/dist/modes/interactive/components/chat-message-renderer.d.ts.map +1 -1
  207. package/dist/modes/interactive/components/chat-message-renderer.js +19 -8
  208. package/dist/modes/interactive/components/chat-message-renderer.js.map +1 -1
  209. package/dist/modes/interactive/components/compaction-boundary-message.d.ts +3 -2
  210. package/dist/modes/interactive/components/compaction-boundary-message.d.ts.map +1 -1
  211. package/dist/modes/interactive/components/compaction-boundary-message.js +7 -4
  212. package/dist/modes/interactive/components/compaction-boundary-message.js.map +1 -1
  213. package/dist/modes/interactive/components/custom-entry.d.ts +3 -1
  214. package/dist/modes/interactive/components/custom-entry.d.ts.map +1 -1
  215. package/dist/modes/interactive/components/custom-entry.js +8 -2
  216. package/dist/modes/interactive/components/custom-entry.js.map +1 -1
  217. package/dist/modes/interactive/components/custom-message.d.ts.map +1 -1
  218. package/dist/modes/interactive/components/custom-message.js +1 -0
  219. package/dist/modes/interactive/components/custom-message.js.map +1 -1
  220. package/dist/modes/interactive/components/settings-selector-items.js +1 -1
  221. package/dist/modes/interactive/components/settings-selector-items.js.map +1 -1
  222. package/dist/modes/interactive/components/skill-invocation-message.d.ts +2 -1
  223. package/dist/modes/interactive/components/skill-invocation-message.d.ts.map +1 -1
  224. package/dist/modes/interactive/components/skill-invocation-message.js +5 -2
  225. package/dist/modes/interactive/components/skill-invocation-message.js.map +1 -1
  226. package/dist/modes/interactive/components/tool-execution.d.ts +4 -0
  227. package/dist/modes/interactive/components/tool-execution.d.ts.map +1 -1
  228. package/dist/modes/interactive/components/tool-execution.js +10 -0
  229. package/dist/modes/interactive/components/tool-execution.js.map +1 -1
  230. package/dist/modes/interactive/interactive-agent-events.js +3 -1
  231. package/dist/modes/interactive/interactive-agent-events.js.map +1 -1
  232. package/dist/modes/interactive/interactive-auth-login.js +6 -0
  233. package/dist/modes/interactive/interactive-auth-login.js.map +1 -1
  234. package/dist/modes/interactive/interactive-bash-compact.js +2 -2
  235. package/dist/modes/interactive/interactive-bash-compact.js.map +1 -1
  236. package/dist/modes/interactive/interactive-extension-dialogs.js +11 -2
  237. package/dist/modes/interactive/interactive-extension-dialogs.js.map +1 -1
  238. package/dist/modes/interactive/interactive-input-handling.d.ts.map +1 -1
  239. package/dist/modes/interactive/interactive-input-handling.js +1 -47
  240. package/dist/modes/interactive/interactive-input-handling.js.map +1 -1
  241. package/dist/modes/interactive/interactive-mode-base.d.ts +3 -1
  242. package/dist/modes/interactive/interactive-mode-base.d.ts.map +1 -1
  243. package/dist/modes/interactive/interactive-mode-base.js +6 -1
  244. package/dist/modes/interactive/interactive-mode-base.js.map +1 -1
  245. package/dist/modes/interactive/interactive-mode-surface.d.ts +2 -2
  246. package/dist/modes/interactive/interactive-mode-surface.d.ts.map +1 -1
  247. package/dist/modes/interactive/interactive-mode-surface.js.map +1 -1
  248. package/dist/modes/interactive/interactive-prompt-restore.d.ts.map +1 -1
  249. package/dist/modes/interactive/interactive-prompt-restore.js +0 -5
  250. package/dist/modes/interactive/interactive-prompt-restore.js.map +1 -1
  251. package/dist/modes/interactive/interactive-render-chat.js +7 -10
  252. package/dist/modes/interactive/interactive-render-chat.js.map +1 -1
  253. package/dist/modes/interactive/interactive-selectors.js +8 -1
  254. package/dist/modes/interactive/interactive-selectors.js.map +1 -1
  255. package/dist/modes/interactive/interactive-session-runtime.js +1 -0
  256. package/dist/modes/interactive/interactive-session-runtime.js.map +1 -1
  257. package/dist/modes/interactive/interactive-startup.js +1 -0
  258. package/dist/modes/interactive/interactive-startup.js.map +1 -1
  259. package/dist/modes/interactive/program-status-reporter.d.ts +24 -0
  260. package/dist/modes/interactive/program-status-reporter.d.ts.map +1 -0
  261. package/dist/modes/interactive/program-status-reporter.js +96 -0
  262. package/dist/modes/interactive/program-status-reporter.js.map +1 -0
  263. package/dist/modes/interactive-engine/engine-custom-ui.d.ts.map +1 -1
  264. package/dist/modes/interactive-engine/engine-custom-ui.js +1 -0
  265. package/dist/modes/interactive-engine/engine-custom-ui.js.map +1 -1
  266. package/dist/modes/interactive-engine/engine-render-service.d.ts.map +1 -1
  267. package/dist/modes/interactive-engine/engine-render-service.js +3 -1
  268. package/dist/modes/interactive-engine/engine-render-service.js.map +1 -1
  269. package/dist/modes/interactive-engine/protocol.d.ts +1 -0
  270. package/dist/modes/interactive-engine/protocol.d.ts.map +1 -1
  271. package/dist/modes/interactive-engine/protocol.js +1 -0
  272. package/dist/modes/interactive-engine/protocol.js.map +1 -1
  273. package/dist/modes/interactive-engine/remote-renderer.d.ts +3 -0
  274. package/dist/modes/interactive-engine/remote-renderer.d.ts.map +1 -1
  275. package/dist/modes/interactive-engine/remote-renderer.js +7 -0
  276. package/dist/modes/interactive-engine/remote-renderer.js.map +1 -1
  277. package/dist/modes/rpc/rpc-client-process.d.ts +7 -0
  278. package/dist/modes/rpc/rpc-client-process.d.ts.map +1 -1
  279. package/dist/modes/rpc/rpc-client-process.js +20 -3
  280. package/dist/modes/rpc/rpc-client-process.js.map +1 -1
  281. package/dist/modes/rpc/rpc-command-timeouts.d.ts.map +1 -1
  282. package/dist/modes/rpc/rpc-command-timeouts.js +1 -0
  283. package/dist/modes/rpc/rpc-command-timeouts.js.map +1 -1
  284. package/dist/utils/ansi.d.ts +8 -0
  285. package/dist/utils/ansi.d.ts.map +1 -1
  286. package/dist/utils/ansi.js +29 -10
  287. package/dist/utils/ansi.js.map +1 -1
  288. package/dist/utils/clipboard.d.ts.map +1 -1
  289. package/dist/utils/clipboard.js +13 -3
  290. package/dist/utils/clipboard.js.map +1 -1
  291. package/dist/utils/image-resize-core.d.ts +8 -0
  292. package/dist/utils/image-resize-core.d.ts.map +1 -1
  293. package/dist/utils/image-resize-core.js +1 -0
  294. package/dist/utils/image-resize-core.js.map +1 -1
  295. package/dist/utils/image-resize-worker.js +3 -2
  296. package/dist/utils/image-resize-worker.js.map +1 -1
  297. package/dist/utils/image-resize.d.ts +2 -2
  298. package/dist/utils/image-resize.d.ts.map +1 -1
  299. package/dist/utils/image-resize.js +7 -10
  300. package/dist/utils/image-resize.js.map +1 -1
  301. package/docs/codemode.md +30 -6
  302. package/docs/compaction.md +1 -1
  303. package/docs/computer-use.md +9 -9
  304. package/docs/custom-provider/streaming.md +4 -0
  305. package/docs/environment-variables.md +2 -0
  306. package/docs/extensions/api-reference.md +1 -1
  307. package/docs/extensions/authoring.md +2 -0
  308. package/docs/extensions/events.md +5 -1
  309. package/docs/getting-started/first-session.md +1 -1
  310. package/docs/json.md +6 -1
  311. package/docs/llama-cpp.md +9 -2
  312. package/docs/mcp-servers.md +3 -3
  313. package/docs/models/evals.md +34 -3
  314. package/docs/models.md +10 -0
  315. package/docs/providers.md +35 -4
  316. package/docs/reference/cli.md +2 -2
  317. package/docs/sdk/reference.md +3 -3
  318. package/docs/sdk.md +7 -1
  319. package/docs/settings.md +3 -3
  320. package/docs/skills.md +1 -1
  321. package/docs/terminal-setup.md +14 -0
  322. package/docs/tools.md +1 -1
  323. package/docs/workflows/authoring.md +3 -3
  324. package/docs/workflows/operations.md +2 -2
  325. package/examples/extensions/sandbox/package-lock.json +3 -3
  326. package/npm-shrinkwrap.json +67 -67
  327. package/package.json +8 -8
@@ -0,0 +1,125 @@
1
+ # Optional visual-region parsing
2
+
3
+ Use `parse_visual_regions` when a current Cua Driver screenshot contains useful
4
+ text or icons that accessibility and typed browser state do not expose. The
5
+ tool returns model-neutral observations. It does not decide that a region is
6
+ interactive, choose an action, or grant permission to act.
7
+
8
+ This capability is delivered by the separately installed `cua-perception`
9
+ extension. It is absent from the default Cua Driver installation. The default
10
+ local Driver remains MIT licensed. The extension's ledgers record the
11
+ OmniParser detector artifact as AGPL-3.0-only and the PP-OCR detector and
12
+ recognizer as Apache-2.0. The packaged ONNX Runtime must
13
+ report its exact version, hash, license, and notices. Inspect the exact catalog,
14
+ manifest, SBOM, source ledger, model ledger, and built artifact rather than
15
+ applying the Driver license to them. Distribution and remote service require the applicable notices, corresponding source/conversion
16
+ material, and AGPL network source path.
17
+
18
+ ## Inspect before installing
19
+
20
+ Never install the extension merely because a parse returned `not_installed`.
21
+ Use the signed catalog for this platform from a `cua-perception-v<version>`
22
+ GitHub release, downloaded beside its archive, then inspect the exact artifact:
23
+
24
+ ```bash
25
+ cua-driver extension inspect cua-perception --catalog <catalog.json>
26
+ ```
27
+
28
+ Review its version, target, capabilities, protocol range, worker and model
29
+ sizes, hashes, destination, licenses, publisher, and provenance. Installation
30
+ must be an explicit caller decision after that review:
31
+
32
+ ```bash
33
+ cua-driver extension install cua-perception --catalog <catalog.json>
34
+ cua-driver extension status cua-perception
35
+ ```
36
+
37
+ Use `cua-driver extension update cua-perception --catalog <catalog.json>` only
38
+ after inspecting the proposed replacement. Use
39
+ `cua-driver extension remove cua-perception` to remove extension-owned artifacts
40
+ when they are not in use.
41
+
42
+ If `inspect` cannot present authenticated metadata for the exact artifact,
43
+ stop. Do not invent an artifact URL, substitute an unsigned archive, or infer
44
+ availability from the repository's Latest release.
45
+
46
+ Installation is never a side effect of Driver startup, capture, parsing, or
47
+ update checks. Parsing does not download code or model weights. The extension
48
+ is Rust-based and does not install Python. Driver does not request, store, or
49
+ forward Jev or any other decision-provider credential.
50
+
51
+ ## Capture, parse, act once, and reobserve
52
+
53
+ Use one persistent MCP connection or one typed SDK runtime for the stateful
54
+ loop. A one-shot CLI tool call owns a disposable runtime, so a later process
55
+ cannot resolve its `capture_id`. Keep the four stages separate within the same
56
+ runtime:
57
+
58
+ 1. Capture the exact native window with `get_window_state`, or an explicitly
59
+ authorized desktop with `get_desktop_state`. Use a
60
+ native-resolution capture when the extension requires it and retain the
61
+ returned `capture_id`, target, dimensions, and action-coordinate mapping.
62
+ 2. Call `parse_visual_regions` with that `capture_id` and bounded options. For
63
+ example, request only `text`, set `min_confidence`, and cap `max_regions`.
64
+ 3. Prefer accessibility or typed browser evidence when it identifies the same
65
+ control. If a pixel action is necessary, construct one complete action
66
+ locally from one region, validate that its bounds and target still match the
67
+ source capture, then dispatch one `click` containing `x`, `y`, the exact
68
+ target, `delivery_mode`, and that same `capture_id`. Never retry a capture
69
+ refusal without `capture_id`. Dispatch at most one action derived from that
70
+ capture.
71
+ 4. Reobserve after every action attempt, including a timeout, unknown result,
72
+ partial delivery, or suspected no-op. Verify the postcondition from fresh
73
+ state before choosing another action.
74
+
75
+ Example parse shape:
76
+
77
+ ```json
78
+ {
79
+ "capture_id": "capture-from-current-observation",
80
+ "options": {
81
+ "kinds": ["text", "icon"],
82
+ "min_confidence": 0.5,
83
+ "max_regions": 100
84
+ }
85
+ }
86
+ ```
87
+
88
+ Region rectangles are half-open source-screenshot pixel bounds with a top-left
89
+ origin. Do not treat OCR text, an icon label, or an `interactive` hint as proof
90
+ that a region is actionable. Do not reuse a region after an action, resize,
91
+ move, scroll, navigation, display-layout change, or target-identity change.
92
+
93
+ ## Handle failures by category
94
+
95
+ - `not_installed`: the optional `cua-perception` extension is absent. Continue with
96
+ accessibility, browser, or caller-owned visual reasoning unless the user has
97
+ chosen to inspect and install the extension.
98
+ - `capture_not_found`, `capture_expired`, `capture_stale`, or
99
+ `capture_generation_mismatch`: take a fresh capture and parse that new ID.
100
+ - `unsupported_target` or `unsupported_platform`: use another observation
101
+ route and preserve the reported limitation.
102
+ - `incompatible_protocol` or `artifact_invalid`: stop using the extension;
103
+ inspect its exact installed state before any update or reinstall.
104
+ - `worker_launch_failed`, `worker_crashed`, `worker_cancelled`, `timeout`, or
105
+ `inference_failed`: do not act from a partial or old result. Reobserve before
106
+ a bounded retry or fallback.
107
+ - `invalid_frame` or `resource_limit_exceeded`: narrow the request or use a
108
+ supported native-resolution capture; never clamp regions or silently change
109
+ coordinates.
110
+
111
+ The worker parses only the admitted screenshot and bounded options. It does not
112
+ own desktop capture, accessibility, browser, input, credential-store, or action
113
+ authority.
114
+
115
+ Parsing a window does not make its pixel input background-safe. Preserve the
116
+ platform action ladder and exact `background_unavailable` refusal. Foreground
117
+ delivery and desktop input can change focus, workspace, or the system cursor;
118
+ use them only when already authorized for the workflow.
119
+
120
+ An external chooser, including a `jev-use` recipe, receives a bounded table of
121
+ opaque action IDs rather than open-ended Driver tool access. The caller keeps
122
+ provider setup and credentials outside Driver, validates one returned ID, and
123
+ dispatches the complete prebuilt action unchanged. See [Use jev-use with visual
124
+ regions](https://cua.ai/docs/cua-driver/guides/visual-regions);
125
+ do not add provider SDK logic or credentials to this skill.