@zenalexa/unicli 0.216.3 → 0.217.3

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 (379) hide show
  1. package/AGENTS.md +7 -6
  2. package/README.md +67 -19
  3. package/README.zh-CN.md +44 -16
  4. package/crates/unicli-atspi/Cargo.toml +47 -0
  5. package/crates/unicli-atspi/README.md +6 -0
  6. package/crates/unicli-atspi/src/errors.rs +213 -0
  7. package/crates/unicli-atspi/src/input.rs +1004 -0
  8. package/crates/unicli-atspi/src/invoke.rs +1132 -0
  9. package/crates/unicli-atspi/src/main.rs +130 -0
  10. package/crates/unicli-atspi/src/refs.rs +24 -0
  11. package/crates/unicli-atspi/src/screenshot.rs +756 -0
  12. package/crates/unicli-atspi/src/tree.rs +2319 -0
  13. package/crates/unicli-shared/Cargo.toml +13 -0
  14. package/crates/unicli-shared/src/lib.rs +77 -0
  15. package/crates/unicli-uia/Cargo.toml +29 -0
  16. package/crates/unicli-uia/README.md +6 -0
  17. package/crates/unicli-uia/src/errors.rs +179 -0
  18. package/crates/unicli-uia/src/input.rs +790 -0
  19. package/crates/unicli-uia/src/invoke.rs +977 -0
  20. package/crates/unicli-uia/src/main.rs +130 -0
  21. package/crates/unicli-uia/src/refs.rs +24 -0
  22. package/crates/unicli-uia/src/screenshot.rs +685 -0
  23. package/crates/unicli-uia/src/tree.rs +2135 -0
  24. package/dist/adapters/_electron/desktop-shared.d.ts.map +1 -1
  25. package/dist/adapters/_electron/desktop-shared.js +13 -0
  26. package/dist/adapters/_electron/desktop-shared.js.map +1 -1
  27. package/dist/adapters/_electron/shared.d.ts +1 -0
  28. package/dist/adapters/_electron/shared.d.ts.map +1 -1
  29. package/dist/adapters/_electron/shared.js +49 -2
  30. package/dist/adapters/_electron/shared.js.map +1 -1
  31. package/dist/adapters/macos/actions.d.ts +9 -0
  32. package/dist/adapters/macos/actions.d.ts.map +1 -0
  33. package/dist/adapters/macos/actions.js +55 -0
  34. package/dist/adapters/macos/actions.js.map +1 -0
  35. package/dist/browser/bridge.d.ts +5 -1
  36. package/dist/browser/bridge.d.ts.map +1 -1
  37. package/dist/browser/bridge.js +86 -23
  38. package/dist/browser/bridge.js.map +1 -1
  39. package/dist/browser/cdp-client.d.ts +2 -0
  40. package/dist/browser/cdp-client.d.ts.map +1 -1
  41. package/dist/browser/cdp-client.js +7 -0
  42. package/dist/browser/cdp-client.js.map +1 -1
  43. package/dist/browser/page.d.ts +2 -0
  44. package/dist/browser/page.d.ts.map +1 -1
  45. package/dist/browser/page.js +35 -0
  46. package/dist/browser/page.js.map +1 -1
  47. package/dist/cli.d.ts.map +1 -1
  48. package/dist/cli.js +17 -2
  49. package/dist/cli.js.map +1 -1
  50. package/dist/commands/approvals.d.ts +3 -0
  51. package/dist/commands/approvals.d.ts.map +1 -0
  52. package/dist/commands/approvals.js +123 -0
  53. package/dist/commands/approvals.js.map +1 -0
  54. package/dist/commands/browser-operator-runtime.d.ts.map +1 -1
  55. package/dist/commands/browser-operator-runtime.js +5 -2
  56. package/dist/commands/browser-operator-runtime.js.map +1 -1
  57. package/dist/commands/browser-operator.d.ts.map +1 -1
  58. package/dist/commands/browser-operator.js +182 -38
  59. package/dist/commands/browser-operator.js.map +1 -1
  60. package/dist/commands/compute.d.ts +3 -0
  61. package/dist/commands/compute.d.ts.map +1 -0
  62. package/dist/commands/compute.js +324 -0
  63. package/dist/commands/compute.js.map +1 -0
  64. package/dist/commands/describe.d.ts.map +1 -1
  65. package/dist/commands/describe.js +20 -1
  66. package/dist/commands/describe.js.map +1 -1
  67. package/dist/commands/dispatch.d.ts +3 -0
  68. package/dist/commands/dispatch.d.ts.map +1 -1
  69. package/dist/commands/dispatch.js +76 -4
  70. package/dist/commands/dispatch.js.map +1 -1
  71. package/dist/commands/doctor-compute.d.ts +38 -0
  72. package/dist/commands/doctor-compute.d.ts.map +1 -0
  73. package/dist/commands/doctor-compute.js +376 -0
  74. package/dist/commands/doctor-compute.js.map +1 -0
  75. package/dist/commands/lint.d.ts.map +1 -1
  76. package/dist/commands/lint.js +69 -1
  77. package/dist/commands/lint.js.map +1 -1
  78. package/dist/commands/mcp.d.ts.map +1 -1
  79. package/dist/commands/mcp.js +4 -0
  80. package/dist/commands/mcp.js.map +1 -1
  81. package/dist/commands/runs.d.ts +3 -0
  82. package/dist/commands/runs.d.ts.map +1 -0
  83. package/dist/commands/runs.js +367 -0
  84. package/dist/commands/runs.js.map +1 -0
  85. package/dist/core/envelope.d.ts +8 -0
  86. package/dist/core/envelope.d.ts.map +1 -1
  87. package/dist/core/envelope.js +1 -0
  88. package/dist/core/envelope.js.map +1 -1
  89. package/dist/core/schema-v2.d.ts +2 -2
  90. package/dist/discovery/aliases.d.ts.map +1 -1
  91. package/dist/discovery/aliases.js +15 -0
  92. package/dist/discovery/aliases.js.map +1 -1
  93. package/dist/discovery/loader.d.ts.map +1 -1
  94. package/dist/discovery/loader.js +11 -0
  95. package/dist/discovery/loader.js.map +1 -1
  96. package/dist/discovery/macos-dynamic.d.ts +58 -0
  97. package/dist/discovery/macos-dynamic.d.ts.map +1 -0
  98. package/dist/discovery/macos-dynamic.js +429 -0
  99. package/dist/discovery/macos-dynamic.js.map +1 -0
  100. package/dist/discovery/search.d.ts.map +1 -1
  101. package/dist/discovery/search.js +152 -3
  102. package/dist/discovery/search.js.map +1 -1
  103. package/dist/electron-apps.d.ts +1 -0
  104. package/dist/electron-apps.d.ts.map +1 -1
  105. package/dist/electron-apps.js +1 -0
  106. package/dist/electron-apps.js.map +1 -1
  107. package/dist/engine/approval-store.d.ts +43 -0
  108. package/dist/engine/approval-store.d.ts.map +1 -0
  109. package/dist/engine/approval-store.js +193 -0
  110. package/dist/engine/approval-store.js.map +1 -0
  111. package/dist/engine/browser/action-evidence.d.ts +30 -0
  112. package/dist/engine/browser/action-evidence.d.ts.map +1 -0
  113. package/dist/engine/browser/action-evidence.js +354 -0
  114. package/dist/engine/browser/action-evidence.js.map +1 -0
  115. package/dist/engine/browser/evidence.d.ts +85 -0
  116. package/dist/engine/browser/evidence.d.ts.map +1 -0
  117. package/dist/engine/browser/evidence.js +373 -0
  118. package/dist/engine/browser/evidence.js.map +1 -0
  119. package/dist/engine/browser/session-lease.d.ts +53 -0
  120. package/dist/engine/browser/session-lease.d.ts.map +1 -0
  121. package/dist/engine/browser/session-lease.js +100 -0
  122. package/dist/engine/browser/session-lease.js.map +1 -0
  123. package/dist/engine/browser/session-lock.d.ts +17 -0
  124. package/dist/engine/browser/session-lock.d.ts.map +1 -0
  125. package/dist/engine/browser/session-lock.js +114 -0
  126. package/dist/engine/browser/session-lock.js.map +1 -0
  127. package/dist/engine/browser/session-runtime.d.ts +10 -0
  128. package/dist/engine/browser/session-runtime.d.ts.map +1 -0
  129. package/dist/engine/browser/session-runtime.js +87 -0
  130. package/dist/engine/browser/session-runtime.js.map +1 -0
  131. package/dist/engine/capability-policy.d.ts +50 -0
  132. package/dist/engine/capability-policy.d.ts.map +1 -0
  133. package/dist/engine/capability-policy.js +305 -0
  134. package/dist/engine/capability-policy.js.map +1 -0
  135. package/dist/engine/executor.d.ts +8 -3
  136. package/dist/engine/executor.d.ts.map +1 -1
  137. package/dist/engine/executor.js +9 -2
  138. package/dist/engine/executor.js.map +1 -1
  139. package/dist/engine/kernel/execute.d.ts +5 -1
  140. package/dist/engine/kernel/execute.d.ts.map +1 -1
  141. package/dist/engine/kernel/execute.js +215 -11
  142. package/dist/engine/kernel/execute.js.map +1 -1
  143. package/dist/engine/kernel/types.d.ts +15 -0
  144. package/dist/engine/kernel/types.d.ts.map +1 -1
  145. package/dist/engine/operation-policy.d.ts +60 -0
  146. package/dist/engine/operation-policy.d.ts.map +1 -0
  147. package/dist/engine/operation-policy.js +364 -0
  148. package/dist/engine/operation-policy.js.map +1 -0
  149. package/dist/engine/permission-rules.d.ts +43 -0
  150. package/dist/engine/permission-rules.d.ts.map +1 -0
  151. package/dist/engine/permission-rules.js +401 -0
  152. package/dist/engine/permission-rules.js.map +1 -0
  153. package/dist/engine/permission-runtime.d.ts +11 -0
  154. package/dist/engine/permission-runtime.d.ts.map +1 -0
  155. package/dist/engine/permission-runtime.js +21 -0
  156. package/dist/engine/permission-runtime.js.map +1 -0
  157. package/dist/engine/repair/remedies.d.ts +4 -0
  158. package/dist/engine/repair/remedies.d.ts.map +1 -0
  159. package/dist/engine/repair/remedies.js +169 -0
  160. package/dist/engine/repair/remedies.js.map +1 -0
  161. package/dist/engine/runtime-resource-guard.d.ts +23 -0
  162. package/dist/engine/runtime-resource-guard.d.ts.map +1 -0
  163. package/dist/engine/runtime-resource-guard.js +85 -0
  164. package/dist/engine/runtime-resource-guard.js.map +1 -0
  165. package/dist/engine/session/args.d.ts +3 -0
  166. package/dist/engine/session/args.d.ts.map +1 -0
  167. package/dist/engine/session/args.js +17 -0
  168. package/dist/engine/session/args.js.map +1 -0
  169. package/dist/engine/session/compare.d.ts +92 -0
  170. package/dist/engine/session/compare.d.ts.map +1 -0
  171. package/dist/engine/session/compare.js +324 -0
  172. package/dist/engine/session/compare.js.map +1 -0
  173. package/dist/engine/session/environment.d.ts +4 -0
  174. package/dist/engine/session/environment.d.ts.map +1 -0
  175. package/dist/engine/session/environment.js +25 -0
  176. package/dist/engine/session/environment.js.map +1 -0
  177. package/dist/engine/session/events.d.ts +24 -0
  178. package/dist/engine/session/events.d.ts.map +1 -0
  179. package/dist/engine/session/events.js +78 -0
  180. package/dist/engine/session/events.js.map +1 -0
  181. package/dist/engine/session/query.d.ts +47 -0
  182. package/dist/engine/session/query.d.ts.map +1 -0
  183. package/dist/engine/session/query.js +299 -0
  184. package/dist/engine/session/query.js.map +1 -0
  185. package/dist/engine/session/replay.d.ts +35 -0
  186. package/dist/engine/session/replay.d.ts.map +1 -0
  187. package/dist/engine/session/replay.js +144 -0
  188. package/dist/engine/session/replay.js.map +1 -0
  189. package/dist/engine/session/run-loop.d.ts +11 -0
  190. package/dist/engine/session/run-loop.d.ts.map +1 -0
  191. package/dist/engine/session/run-loop.js +212 -0
  192. package/dist/engine/session/run-loop.js.map +1 -0
  193. package/dist/engine/session/store.d.ts +26 -0
  194. package/dist/engine/session/store.d.ts.map +1 -0
  195. package/dist/engine/session/store.js +214 -0
  196. package/dist/engine/session/store.js.map +1 -0
  197. package/dist/engine/session/types.d.ts +39 -0
  198. package/dist/engine/session/types.d.ts.map +1 -0
  199. package/dist/engine/session/types.js +2 -0
  200. package/dist/engine/session/types.js.map +1 -0
  201. package/dist/engine/steps/compute.d.ts +41 -0
  202. package/dist/engine/steps/compute.d.ts.map +1 -0
  203. package/dist/engine/steps/compute.js +55 -0
  204. package/dist/engine/steps/compute.js.map +1 -0
  205. package/dist/engine/steps/desktop-ax.d.ts +8 -0
  206. package/dist/engine/steps/desktop-ax.d.ts.map +1 -1
  207. package/dist/engine/steps/desktop-ax.js +16 -0
  208. package/dist/engine/steps/desktop-ax.js.map +1 -1
  209. package/dist/engine/steps/desktop-sidecar.d.ts +49 -0
  210. package/dist/engine/steps/desktop-sidecar.d.ts.map +1 -0
  211. package/dist/engine/steps/desktop-sidecar.js +50 -0
  212. package/dist/engine/steps/desktop-sidecar.js.map +1 -0
  213. package/dist/engine/steps/download.d.ts +1 -1
  214. package/dist/engine/steps/download.d.ts.map +1 -1
  215. package/dist/engine/steps/download.js +24 -2
  216. package/dist/engine/steps/download.js.map +1 -1
  217. package/dist/engine/steps/exec.d.ts +1 -1
  218. package/dist/engine/steps/exec.d.ts.map +1 -1
  219. package/dist/engine/steps/exec.js +23 -7
  220. package/dist/engine/steps/exec.js.map +1 -1
  221. package/dist/engine/steps/fetch-text.d.ts +2 -2
  222. package/dist/engine/steps/fetch-text.d.ts.map +1 -1
  223. package/dist/engine/steps/fetch-text.js +61 -19
  224. package/dist/engine/steps/fetch-text.js.map +1 -1
  225. package/dist/engine/steps/fetch.d.ts +3 -1
  226. package/dist/engine/steps/fetch.d.ts.map +1 -1
  227. package/dist/engine/steps/fetch.js +36 -7
  228. package/dist/engine/steps/fetch.js.map +1 -1
  229. package/dist/engine/steps/index.d.ts +2 -0
  230. package/dist/engine/steps/index.d.ts.map +1 -1
  231. package/dist/engine/steps/index.js +2 -0
  232. package/dist/engine/steps/index.js.map +1 -1
  233. package/dist/engine/steps/navigate.d.ts +1 -1
  234. package/dist/engine/steps/navigate.d.ts.map +1 -1
  235. package/dist/engine/steps/navigate.js +29 -2
  236. package/dist/engine/steps/navigate.js.map +1 -1
  237. package/dist/engine/steps/parse-rss.d.ts.map +1 -1
  238. package/dist/engine/steps/parse-rss.js +9 -4
  239. package/dist/engine/steps/parse-rss.js.map +1 -1
  240. package/dist/engine/template.d.ts.map +1 -1
  241. package/dist/engine/template.js +2 -1
  242. package/dist/engine/template.js.map +1 -1
  243. package/dist/engine/text-normalize.d.ts +6 -0
  244. package/dist/engine/text-normalize.d.ts.map +1 -0
  245. package/dist/engine/text-normalize.js +63 -0
  246. package/dist/engine/text-normalize.js.map +1 -0
  247. package/dist/fast-path.d.ts.map +1 -1
  248. package/dist/fast-path.js +291 -8
  249. package/dist/fast-path.js.map +1 -1
  250. package/dist/main.d.ts +1 -1
  251. package/dist/main.js +1 -1
  252. package/dist/manifest-compact.txt +2 -2
  253. package/dist/manifest-search.json +1 -1
  254. package/dist/manifest.json +4313 -533
  255. package/dist/mcp/dispatch.d.ts +3 -3
  256. package/dist/mcp/dispatch.d.ts.map +1 -1
  257. package/dist/mcp/dispatch.js +6 -5
  258. package/dist/mcp/dispatch.js.map +1 -1
  259. package/dist/mcp/handler.d.ts +2 -2
  260. package/dist/mcp/handler.d.ts.map +1 -1
  261. package/dist/mcp/handler.js +59 -5
  262. package/dist/mcp/handler.js.map +1 -1
  263. package/dist/mcp/profiles/computer-use.d.ts +4 -0
  264. package/dist/mcp/profiles/computer-use.d.ts.map +1 -0
  265. package/dist/mcp/profiles/computer-use.js +305 -0
  266. package/dist/mcp/profiles/computer-use.js.map +1 -0
  267. package/dist/mcp/server.d.ts.map +1 -1
  268. package/dist/mcp/server.js +30 -6
  269. package/dist/mcp/server.js.map +1 -1
  270. package/dist/mcp/tools.d.ts +9 -0
  271. package/dist/mcp/tools.d.ts.map +1 -1
  272. package/dist/mcp/tools.js +20 -0
  273. package/dist/mcp/tools.js.map +1 -1
  274. package/dist/output/envelope.d.ts +6 -0
  275. package/dist/output/envelope.d.ts.map +1 -1
  276. package/dist/output/envelope.js.map +1 -1
  277. package/dist/output/error-map.d.ts.map +1 -1
  278. package/dist/output/error-map.js +25 -0
  279. package/dist/output/error-map.js.map +1 -1
  280. package/dist/protocol/acp-helpers.d.ts +2 -2
  281. package/dist/protocol/acp-helpers.d.ts.map +1 -1
  282. package/dist/protocol/acp-helpers.js +5 -4
  283. package/dist/protocol/acp-helpers.js.map +1 -1
  284. package/dist/registry.d.ts +4 -1
  285. package/dist/registry.d.ts.map +1 -1
  286. package/dist/registry.js +7 -0
  287. package/dist/registry.js.map +1 -1
  288. package/dist/transport/adapters/cdp-browser.d.ts +38 -2
  289. package/dist/transport/adapters/cdp-browser.d.ts.map +1 -1
  290. package/dist/transport/adapters/cdp-browser.js +349 -22
  291. package/dist/transport/adapters/cdp-browser.js.map +1 -1
  292. package/dist/transport/adapters/desktop-atspi.d.ts +23 -17
  293. package/dist/transport/adapters/desktop-atspi.d.ts.map +1 -1
  294. package/dist/transport/adapters/desktop-atspi.js +143 -32
  295. package/dist/transport/adapters/desktop-atspi.js.map +1 -1
  296. package/dist/transport/adapters/desktop-ax-helpers.d.ts +24 -0
  297. package/dist/transport/adapters/desktop-ax-helpers.d.ts.map +1 -0
  298. package/dist/transport/adapters/desktop-ax-helpers.js +190 -0
  299. package/dist/transport/adapters/desktop-ax-helpers.js.map +1 -0
  300. package/dist/transport/adapters/desktop-ax-swift.d.ts +13 -0
  301. package/dist/transport/adapters/desktop-ax-swift.d.ts.map +1 -1
  302. package/dist/transport/adapters/desktop-ax-swift.js +176 -2
  303. package/dist/transport/adapters/desktop-ax-swift.js.map +1 -1
  304. package/dist/transport/adapters/desktop-ax.d.ts +11 -2
  305. package/dist/transport/adapters/desktop-ax.d.ts.map +1 -1
  306. package/dist/transport/adapters/desktop-ax.js +131 -16
  307. package/dist/transport/adapters/desktop-ax.js.map +1 -1
  308. package/dist/transport/adapters/desktop-sidecar-errors.d.ts +3 -0
  309. package/dist/transport/adapters/desktop-sidecar-errors.d.ts.map +1 -0
  310. package/dist/transport/adapters/desktop-sidecar-errors.js +34 -0
  311. package/dist/transport/adapters/desktop-sidecar-errors.js.map +1 -0
  312. package/dist/transport/adapters/desktop-sidecar-snapshot.d.ts +10 -0
  313. package/dist/transport/adapters/desktop-sidecar-snapshot.d.ts.map +1 -0
  314. package/dist/transport/adapters/desktop-sidecar-snapshot.js +89 -0
  315. package/dist/transport/adapters/desktop-sidecar-snapshot.js.map +1 -0
  316. package/dist/transport/adapters/desktop-uia.d.ts +23 -17
  317. package/dist/transport/adapters/desktop-uia.d.ts.map +1 -1
  318. package/dist/transport/adapters/desktop-uia.js +142 -32
  319. package/dist/transport/adapters/desktop-uia.js.map +1 -1
  320. package/dist/transport/adapters/subprocess.d.ts +7 -0
  321. package/dist/transport/adapters/subprocess.d.ts.map +1 -1
  322. package/dist/transport/adapters/subprocess.js +64 -0
  323. package/dist/transport/adapters/subprocess.js.map +1 -1
  324. package/dist/transport/bus.d.ts +2 -0
  325. package/dist/transport/bus.d.ts.map +1 -1
  326. package/dist/transport/bus.js +7 -11
  327. package/dist/transport/bus.js.map +1 -1
  328. package/dist/transport/capability.d.ts.map +1 -1
  329. package/dist/transport/capability.js +123 -98
  330. package/dist/transport/capability.js.map +1 -1
  331. package/dist/transport/cascade.d.ts +5 -0
  332. package/dist/transport/cascade.d.ts.map +1 -0
  333. package/dist/transport/cascade.js +550 -0
  334. package/dist/transport/cascade.js.map +1 -0
  335. package/dist/transport/cdp-session.d.ts +11 -0
  336. package/dist/transport/cdp-session.d.ts.map +1 -0
  337. package/dist/transport/cdp-session.js +52 -0
  338. package/dist/transport/cdp-session.js.map +1 -0
  339. package/dist/transport/refs.d.ts +51 -0
  340. package/dist/transport/refs.d.ts.map +1 -0
  341. package/dist/transport/refs.js +135 -0
  342. package/dist/transport/refs.js.map +1 -0
  343. package/dist/transport/sidecar-binary.d.ts +18 -0
  344. package/dist/transport/sidecar-binary.d.ts.map +1 -0
  345. package/dist/transport/sidecar-binary.js +55 -0
  346. package/dist/transport/sidecar-binary.js.map +1 -0
  347. package/dist/transport/sidecar.d.ts +35 -0
  348. package/dist/transport/sidecar.d.ts.map +1 -0
  349. package/dist/transport/sidecar.js +134 -0
  350. package/dist/transport/sidecar.js.map +1 -0
  351. package/dist/transport/snapshot-encoder.d.ts +34 -0
  352. package/dist/transport/snapshot-encoder.d.ts.map +1 -0
  353. package/dist/transport/snapshot-encoder.js +139 -0
  354. package/dist/transport/snapshot-encoder.js.map +1 -0
  355. package/dist/transport/types.d.ts +6 -1
  356. package/dist/transport/types.d.ts.map +1 -1
  357. package/dist/types.d.ts +11 -1
  358. package/dist/types.d.ts.map +1 -1
  359. package/dist/types.js.map +1 -1
  360. package/docs/mcp/clients/claude-code.md +29 -0
  361. package/docs/mcp/clients/claude-desktop.md +47 -0
  362. package/docs/mcp/clients/codex.md +29 -0
  363. package/docs/mcp/clients/cursor.md +38 -0
  364. package/docs/mcp/clients/gemini-cli.md +38 -0
  365. package/docs/operate/compute.md +172 -0
  366. package/docs/operate/electron.md +87 -0
  367. package/docs/operate/focus-behavior.md +40 -0
  368. package/docs/operate/troubleshooting.md +379 -0
  369. package/package.json +44 -19
  370. package/src/adapters/36kr/news.yaml +4 -1
  371. package/src/adapters/_electron/desktop-shared.ts +14 -0
  372. package/src/adapters/_electron/shared.ts +54 -2
  373. package/src/adapters/juejin/hot.test.ts +25 -0
  374. package/src/adapters/juejin/hot.yaml +52 -0
  375. package/src/adapters/juejin/search.test.ts +27 -0
  376. package/src/adapters/juejin/search.yaml +58 -0
  377. package/src/adapters/leetcode/discuss-search.test.ts +29 -0
  378. package/src/adapters/leetcode/discuss-search.yaml +56 -0
  379. package/src/adapters/macos/actions.ts +63 -0
@@ -16,6 +16,8 @@
16
16
  * matching transport/step to fix.
17
17
  */
18
18
  import type { Envelope } from "../core/envelope.js";
19
+ import type { RefStore } from "./refs.js";
20
+ import type { SnapshotEncoding } from "./snapshot-encoder.js";
19
21
  /**
20
22
  * The seven transports that together cover the full "operate anything"
21
23
  * surface. A transport is a physical execution channel; a strategy
@@ -31,6 +33,7 @@ export type SnapshotFormat = "dom-ax" | "os-ax" | "screenshot" | "text" | "json"
31
33
  /** Uniform snapshot shape returned by {@link TransportAdapter.snapshot}. */
32
34
  export interface Snapshot {
33
35
  format: SnapshotFormat;
36
+ encoding?: SnapshotEncoding;
34
37
  data: string | Buffer;
35
38
  width?: number;
36
39
  height?: number;
@@ -92,6 +95,7 @@ export interface TransportEvent {
92
95
  * to `cua` on non-trivial perception tasks).
93
96
  */
94
97
  export interface TransportBus {
98
+ refs: RefStore;
95
99
  register(adapter: TransportAdapter): void;
96
100
  get(kind: TransportKind): TransportAdapter;
97
101
  /**
@@ -119,6 +123,7 @@ export interface TransportContext {
119
123
  vars: Record<string, unknown>;
120
124
  signal?: AbortSignal;
121
125
  bus: TransportBus;
126
+ refs?: RefStore;
122
127
  }
123
128
  /**
124
129
  * The core interface every transport implements.
@@ -136,7 +141,7 @@ export interface TransportAdapter {
136
141
  readonly capability: Capability;
137
142
  open(ctx: TransportContext): Promise<void>;
138
143
  snapshot(opts?: {
139
- format?: SnapshotFormat;
144
+ format?: SnapshotFormat | SnapshotEncoding;
140
145
  fresh?: boolean;
141
146
  }): Promise<Snapshot>;
142
147
  action<T = unknown>(req: ActionRequest): Promise<ActionResult<T>>;
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/transport/types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/transport/types.ts"],"names":[],"mappings":"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"}
package/dist/types.d.ts CHANGED
@@ -22,6 +22,7 @@ export declare enum Strategy {
22
22
  INTERCEPT = "intercept",
23
23
  UI = "ui"
24
24
  }
25
+ export type TargetSurface = "web" | "desktop" | "system" | "mobile";
25
26
  export interface AdapterArg {
26
27
  name: string;
27
28
  type?: "str" | "int" | "float" | "bool";
@@ -70,6 +71,13 @@ export interface PipelineStep {
70
71
  export interface AdapterCommand {
71
72
  name: string;
72
73
  description?: string;
74
+ /** Source adapter file used in repair and evidence-bearing error envelopes. */
75
+ adapter_path?: string;
76
+ /**
77
+ * Runtime target surface. TS helper commands can operate on desktop apps
78
+ * even when their registration helper keeps the site in a web-api manifest.
79
+ */
80
+ target_surface?: TargetSurface;
73
81
  /**
74
82
  * When true, the adapter is quarantined: skipped by `unicli test` and the
75
83
  * CI conformance suite, and shown with a `[quarantined]` tag in `unicli list`.
@@ -97,6 +105,8 @@ export interface AdapterCommand {
97
105
  adapterArgs?: AdapterArg[];
98
106
  strategy?: Strategy;
99
107
  browser?: boolean;
108
+ domain?: string;
109
+ base?: string;
100
110
  func?: (page: IPage, kwargs: Record<string, unknown>) => Promise<unknown>;
101
111
  method?: "GET" | "POST" | "PUT" | "DELETE" | "PATCH";
102
112
  path?: string;
@@ -229,7 +239,7 @@ export interface PipelineErrorDetail {
229
239
  step: number;
230
240
  action: string;
231
241
  config: unknown;
232
- errorType: "http_error" | "selector_miss" | "empty_result" | "parse_error" | "timeout" | "expression_error" | "assertion_failed" | "stale_ref" | "ambiguous" | "ref_not_found";
242
+ errorType: "http_error" | "selector_miss" | "empty_result" | "parse_error" | "network_error" | "timeout" | "expression_error" | "assertion_failed" | "stale_ref" | "ambiguous" | "ref_not_found";
233
243
  url?: string;
234
244
  statusCode?: number;
235
245
  responsePreview?: string;
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
package/dist/types.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"types.js","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,MAAM,CAAN,IAAY,WAMX;AAND,WAAY,WAAW;IACrB,kCAAmB,CAAA;IACnB,kCAAmB,CAAA;IACnB,kCAAmB,CAAA;IACnB,gCAAiB,CAAA;IACjB,kCAAmB,CAAA;AACrB,CAAC,EANW,WAAW,KAAX,WAAW,QAMtB;AAED,MAAM,CAAN,IAAY,QAMX;AAND,WAAY,QAAQ;IAClB,6BAAiB,CAAA;IACjB,6BAAiB,CAAA;IACjB,6BAAiB,CAAA;IACjB,mCAAuB,CAAA;IACvB,qBAAS,CAAA;AACX,CAAC,EANW,QAAQ,KAAR,QAAQ,QAMnB;AA4RD,sCAAsC;AACtC,MAAM,CAAC,MAAM,QAAQ,GAAG;IACtB,OAAO,EAAE,CAAC;IACV,aAAa,EAAE,CAAC;IAChB,WAAW,EAAE,CAAC;IACd,YAAY,EAAE,EAAE;IAChB,mBAAmB,EAAE,EAAE;IACvB,YAAY,EAAE,EAAE;IAChB,aAAa,EAAE,EAAE;IACjB,YAAY,EAAE,EAAE;CACR,CAAC"}
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,MAAM,CAAN,IAAY,WAMX;AAND,WAAY,WAAW;IACrB,kCAAmB,CAAA;IACnB,kCAAmB,CAAA;IACnB,kCAAmB,CAAA;IACnB,gCAAiB,CAAA;IACjB,kCAAmB,CAAA;AACrB,CAAC,EANW,WAAW,KAAX,WAAW,QAMtB;AAED,MAAM,CAAN,IAAY,QAMX;AAND,WAAY,QAAQ;IAClB,6BAAiB,CAAA;IACjB,6BAAiB,CAAA;IACjB,6BAAiB,CAAA;IACjB,mCAAuB,CAAA;IACvB,qBAAS,CAAA;AACX,CAAC,EANW,QAAQ,KAAR,QAAQ,QAMnB;AAwSD,sCAAsC;AACtC,MAAM,CAAC,MAAM,QAAQ,GAAG;IACtB,OAAO,EAAE,CAAC;IACV,aAAa,EAAE,CAAC;IAChB,WAAW,EAAE,CAAC;IACd,YAAY,EAAE,EAAE;IAChB,mBAAmB,EAAE,EAAE;IACvB,YAAY,EAAE,EAAE;IAChB,aAAa,EAAE,EAAE;IACjB,YAAY,EAAE,EAAE;CACR,CAAC"}
@@ -0,0 +1,29 @@
1
+ # Claude Code Computer Use
2
+
3
+ Register Uni-CLI as the `computer-use` MCP server for Claude Code:
4
+
5
+ ```bash
6
+ claude mcp add computer-use \
7
+ -- npx -y @zenalexa/unicli mcp serve --profile computer-use
8
+ ```
9
+
10
+ The profile exposes only the 15 local computer-control tools:
11
+ `computer-use.apps`, `computer-use.windows`, `computer-use.snapshot`,
12
+ `computer-use.find`, `computer-use.click`, `computer-use.type`,
13
+ `computer-use.press`, `computer-use.scroll`, `computer-use.launch`,
14
+ `computer-use.screenshot`, `computer-use.attach`, `computer-use.evaluate`,
15
+ `computer-use.wait`, `computer-use.observe`, and `computer-use.assert`.
16
+
17
+ ## Permissions
18
+
19
+ On macOS, grant Accessibility to the terminal or app that launches Claude Code.
20
+ Grant Screen Recording if you want screenshot fallback. Windows and Linux use
21
+ the UIA and AT-SPI sidecars respectively.
22
+
23
+ ## Verify
24
+
25
+ ```bash
26
+ npx -y @zenalexa/unicli mcp serve --profile computer-use
27
+ ```
28
+
29
+ The server banner should report `15 tools registered, mode=computer-use`.
@@ -0,0 +1,47 @@
1
+ # Claude Desktop Computer Use
2
+
3
+ Use the `computer-use` MCP profile when Claude Desktop should control local
4
+ apps through Uni-CLI's compute layer.
5
+
6
+ ```jsonc
7
+ // macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
8
+ // Windows: %APPDATA%\Claude\claude_desktop_config.json
9
+ {
10
+ "mcpServers": {
11
+ "computer-use": {
12
+ "command": "npx",
13
+ "args": [
14
+ "-y",
15
+ "@zenalexa/unicli",
16
+ "mcp",
17
+ "serve",
18
+ "--profile",
19
+ "computer-use",
20
+ "--transport",
21
+ "stdio",
22
+ ],
23
+ },
24
+ },
25
+ }
26
+ ```
27
+
28
+ Restart Claude Desktop after editing the config.
29
+
30
+ ## Permissions
31
+
32
+ macOS requires Accessibility for structured app control. Screenshot fallback
33
+ also requires Screen Recording. Grant both to Claude Desktop, Terminal, or the
34
+ launcher that starts the MCP server.
35
+
36
+ Windows uses UI Automation through the Uni-CLI sidecar. Linux uses AT-SPI and
37
+ requires the desktop accessibility bus to be available.
38
+
39
+ ## Verify
40
+
41
+ Run this outside Claude first:
42
+
43
+ ```bash
44
+ npx -y @zenalexa/unicli mcp serve --profile computer-use
45
+ ```
46
+
47
+ The server banner should report `15 tools registered, mode=computer-use`.
@@ -0,0 +1,29 @@
1
+ # Codex Computer Use
2
+
3
+ Codex desktop can already have its own `computer-use` plugin. To swap the MCP
4
+ server name to Uni-CLI while keeping compatible tool names, configure:
5
+
6
+ ```toml
7
+ # ~/.codex/mcp.toml
8
+ [mcp.servers.computer-use]
9
+ command = "npx"
10
+ args = ["-y", "@zenalexa/unicli", "mcp", "serve", "--profile", "computer-use"]
11
+ ```
12
+
13
+ Existing prompts that call `computer-use.*` tools can keep the same prefix.
14
+ Uni-CLI routes the calls through the cross-platform compute cascade: macOS AX,
15
+ Windows UIA, Linux AT-SPI, CDP for Electron targets, then configured fallbacks.
16
+
17
+ ## Permissions
18
+
19
+ On macOS, grant Accessibility to Codex or to the terminal process that launches
20
+ the MCP server. Grant Screen Recording for screenshot fallback. Windows and
21
+ Linux require the platform accessibility services used by UIA and AT-SPI.
22
+
23
+ ## Verify
24
+
25
+ ```bash
26
+ npx -y @zenalexa/unicli mcp serve --profile computer-use
27
+ ```
28
+
29
+ The server banner should report `15 tools registered, mode=computer-use`.
@@ -0,0 +1,38 @@
1
+ # Cursor Computer Use
2
+
3
+ Use a project-level `.cursor/mcp.json` or global `~/.cursor/mcp.json` entry:
4
+
5
+ ```jsonc
6
+ {
7
+ "mcpServers": {
8
+ "computer-use": {
9
+ "command": "npx",
10
+ "args": [
11
+ "-y",
12
+ "@zenalexa/unicli",
13
+ "mcp",
14
+ "serve",
15
+ "--profile",
16
+ "computer-use",
17
+ ],
18
+ },
19
+ },
20
+ }
21
+ ```
22
+
23
+ Restart Cursor or reload MCP servers after changing the file.
24
+
25
+ ## Permissions
26
+
27
+ macOS requires Accessibility for AX control and Screen Recording for screenshot
28
+ fallback. Grant permissions to Cursor if it launches the server directly, or to
29
+ the terminal/shell process that starts the MCP server. Windows and Linux use the
30
+ UIA and AT-SPI sidecars.
31
+
32
+ ## Verify
33
+
34
+ ```bash
35
+ npx -y @zenalexa/unicli mcp serve --profile computer-use
36
+ ```
37
+
38
+ The server banner should report `15 tools registered, mode=computer-use`.
@@ -0,0 +1,38 @@
1
+ # Gemini CLI Computer Use
2
+
3
+ Add Uni-CLI's `computer-use` MCP profile to Gemini CLI settings:
4
+
5
+ ```jsonc
6
+ // ~/.gemini/settings.json
7
+ {
8
+ "mcpServers": {
9
+ "computer-use": {
10
+ "command": "npx",
11
+ "args": [
12
+ "-y",
13
+ "@zenalexa/unicli",
14
+ "mcp",
15
+ "serve",
16
+ "--profile",
17
+ "computer-use",
18
+ ],
19
+ },
20
+ },
21
+ }
22
+ ```
23
+
24
+ Restart Gemini CLI after editing settings.
25
+
26
+ ## Permissions
27
+
28
+ On macOS, grant Accessibility to the terminal that launches Gemini CLI. Grant
29
+ Screen Recording if screenshot fallback is needed. Windows and Linux use the
30
+ UIA and AT-SPI sidecars respectively.
31
+
32
+ ## Verify
33
+
34
+ ```bash
35
+ npx -y @zenalexa/unicli mcp serve --profile computer-use
36
+ ```
37
+
38
+ The server banner should report `15 tools registered, mode=computer-use`.
@@ -0,0 +1,172 @@
1
+ # Compute
2
+
3
+ `unicli compute` is the local computer-control surface. It routes each request
4
+ through the fastest available structured transport first, then falls back to
5
+ broader transports when needed.
6
+
7
+ Transport order is selected per verb and host platform:
8
+
9
+ - macOS: Accessibility first for app control, CDP for browser/Electron renderers,
10
+ CUA as the visual fallback.
11
+ - Windows: UIA first once the sidecar is present, CDP next where available, CUA
12
+ as fallback.
13
+ - Linux: AT-SPI first once the sidecar is present, CDP next where available,
14
+ CUA as fallback.
15
+
16
+ ## Snapshot, Find, Click
17
+
18
+ ```bash
19
+ unicli compute snapshot --app Calculator --format compact
20
+ unicli compute find --role button --name 5
21
+ unicli compute find --role input --text 8 --first
22
+ unicli compute click @e7
23
+ ```
24
+
25
+ Snapshots return compact element refs such as `@e7`. The latest ref bucket is
26
+ kept by the transport bus so follow-up actions can dereference aliases without
27
+ coordinates. When a structured transport reports bounds, the refs preserve
28
+ screen-relative coordinates and `screenIndex` so follow-up actions can target
29
+ the same monitor in multi-display setups.
30
+ When a snapshot node includes a visible/current value, compact output and stored
31
+ refs preserve it, and `compute find --text <text>` can match that value. This is
32
+ useful for calculator displays, address fields, editors, and status labels
33
+ whose value is not part of the accessible name.
34
+
35
+ ## Commands
36
+
37
+ | Command | Purpose |
38
+ | ------------------------------------------------- | -------------------------------------------------- |
39
+ | `compute apps` | List running apps |
40
+ | `compute windows --app <name>` | List windows |
41
+ | `compute snapshot --app <name> --format compact` | Capture a compact/tree/json accessibility snapshot |
42
+ | `compute find --role <role> --name/--text <text>` | Find matching refs by label or value |
43
+ | `compute click <ref>` | Click a ref |
44
+ | `compute type <ref> <text>` | Set or type text |
45
+ | `compute press <combo>` | Send a key combo |
46
+ | `compute scroll <ref>` | Scroll a ref |
47
+ | `compute launch <app>` | Launch an app |
48
+ | `compute screenshot [path]` | Capture a screenshot |
49
+ | `compute attach --app <name>` | Attach CDP to a renderer |
50
+ | `compute attach --app <name> --confirm-relaunch` | Allow risky app relaunch for CDP attach |
51
+ | `compute eval <js>` | Evaluate JS in an attached renderer |
52
+ | `compute wait --ref <ref>` | Wait for an element/text/state |
53
+ | `compute observe <goal>` | Rank refs for a natural-language goal |
54
+ | `compute assert --text <text>` | Assert visible state |
55
+
56
+ ## Output
57
+
58
+ All commands use the normal Uni-CLI v2 envelope. Success writes to stdout; a
59
+ failed cascade writes a structured error to stderr with the failing transport
60
+ details and exits with the transport error code.
61
+
62
+ `compute launch <app>` is routed through the subprocess transport first. It uses
63
+ the host launcher command for the current OS: `open -a` on macOS,
64
+ `Start-Process` through PowerShell on Windows, and `gtk-launch` on Linux.
65
+ When `--debug-port <port>` is supplied, Uni-CLI passes
66
+ `--remote-debugging-port=<port>` to the launched app for Electron CDP attach
67
+ workflows. The native desktop fallbacks honor the same debug-port argument when
68
+ the subprocess route is not available.
69
+ The direct low-level UIA and AT-SPI sidecar `launch_app` actions are also
70
+ implemented for sidecar callers: UIA uses PowerShell `Start-Process`, and
71
+ AT-SPI uses `gtk-launch`. Cross-OS live launch smoke evidence is still pending.
72
+
73
+ ```bash
74
+ unicli compute snapshot --app TextEdit -f json
75
+ ```
76
+
77
+ Failures include a `minimum_capability` key and may include a structured
78
+ `remedy` with a command or deeplink. See
79
+ [Compute Troubleshooting](troubleshooting.md) for the remedy catalog.
80
+
81
+ ## Live Smoke
82
+
83
+ Maintainers can generate the cross-OS smoke plan without touching the host:
84
+
85
+ ```bash
86
+ npm run compute:smoke -- --json --platform linux
87
+ ```
88
+
89
+ To execute it on a real target machine, run:
90
+
91
+ ```bash
92
+ npm run compute:smoke -- --run --include-mutating --output smoke-report.json
93
+ ```
94
+
95
+ The smoke harness uses a temporary ref store, checks `doctor compute`, lists
96
+ apps, launches the platform calculator app, captures a compact snapshot, finds a
97
+ button ref, waits for it, asserts it is enabled, clicks it with `--background`,
98
+ exercises type/scroll routing, and captures a screenshot. Omit
99
+ `--include-mutating` to skip launch/click/type/scroll steps while still
100
+ collecting read-only evidence. For richer text-field or scroll-container
101
+ coverage, override the app and target label with `--app` and `--button`.
102
+ When `--run` is used, the harness records every step's `ok`, `exit_code`,
103
+ duration, stdout, and stderr instead of aborting at the first failed command, so
104
+ cross-OS smoke artifacts keep enough evidence for repair. `--output` writes the
105
+ same schema-versioned report to disk for CI artifacts or manual release
106
+ evidence.
107
+
108
+ ## Focus Stealing
109
+
110
+ Actuating commands prefer background mode: `compute click`, `compute type`,
111
+ `compute press`, and `compute scroll` pass `focus: false` to structured
112
+ transports unless `--focus` is set. CUA remains the visual last-resort fallback;
113
+ when the cascade reaches CUA, Uni-CLI treats the action as focus-taking because
114
+ the backend may move the cursor or active surface.
115
+
116
+ See [Compute Focus Behavior](focus-behavior.md) for the transport matrix and
117
+ source links.
118
+
119
+ Windows UIA uses native top-level inventory and live descendant traversal where
120
+ available. Refs emitted from Windows snapshot/find can target `compute type`,
121
+ `compute scroll`, `compute screenshot`, `compute wait`, and `compute assert`.
122
+ Wait/assert use role/name/title/app/pid filters and descendant text/value/state
123
+ checks when the UIA tree exposes them. `compute observe` ranks top-level and
124
+ descendant refs by goal/title/name token overlap and marks scrollable
125
+ descendants with `action: "scroll"` and slider/spinner/range descendants with
126
+ `action: "set_value"`. Descendant invoke, value, focus, and scroll actions
127
+ prefer native UIA patterns before bounded fallback paths; invoke also tries
128
+ toggle and selection item patterns for controls such as checkboxes, radio
129
+ buttons, and selectable list rows, while numeric set-value inputs can use
130
+ RangeValuePattern for sliders and spinners.
131
+ The UIA sidecar also supports direct app launch through PowerShell
132
+ `Start-Process`; the public compute launch cascade still tries subprocess first.
133
+
134
+ Linux AT-SPI uses `wmctrl -lG -p` where available and falls back to AT-SPI-only
135
+ top-level registry roots when `wmctrl` is missing or empty. Refs emitted from
136
+ Linux snapshot/find can target `compute click`, `compute type`, `compute
137
+ scroll`, `compute screenshot`, `compute wait`, `compute observe`, and
138
+ `compute assert`. Descendant click/type/focus prefer native AT-SPI
139
+ Action/Value/EditableText/Component proxies before bounded display-server
140
+ helpers; descendant scroll prefers native `Component.scroll_to(...)` before
141
+ helper fallback. `compute observe` marks scrollable descendants with
142
+ `action: "scroll"` and slider/spin-button/range descendants with
143
+ `action: "set_value"`. Descendant screenshots capture the element rectangle
144
+ when bounds are known. Top-level X11 screenshots use `import -window <id>` when
145
+ a real window id exists, and Wayland/top-level bounds use `grim -g` when bounds
146
+ are known.
147
+ The AT-SPI sidecar also supports direct app launch through `gtk-launch`; the
148
+ public compute launch cascade still tries subprocess first.
149
+
150
+ ## CDP Attach
151
+
152
+ `compute attach --app <name>` resolves known Electron apps from the built-in
153
+ registry and uses the app's assigned debug port. If the endpoint is not already
154
+ listening, Uni-CLI launches the app with `--remote-debugging-port=<port>`,
155
+ reprobes CDP, and then reuses that renderer for `compute eval`, snapshot, click,
156
+ type, press, and scroll actions. App-based attach also persists the last CDP
157
+ session under the Uni-CLI compute state directory so a later `compute eval` from
158
+ a separate process can reconnect to the same renderer.
159
+
160
+ Some apps are marked as unsafe to relaunch automatically because restarting them
161
+ can interrupt signed-in workspace state. For those apps, attach refuses before
162
+ launching and returns a structured error; rerun with `--confirm-relaunch` only
163
+ when relaunching the app is acceptable.
164
+
165
+ See [Electron App Control](electron.md) for app caveats and registry guidance.
166
+
167
+ ## Fallback Semantics
168
+
169
+ The cascade stops on the first successful transport result. Failed transports
170
+ are accumulated into one error envelope only when every candidate fails. This
171
+ keeps normal operation low-latency while preserving enough evidence for
172
+ `unicli doctor compute` and repair workflows.
@@ -0,0 +1,87 @@
1
+ # Electron App Control
2
+
3
+ `unicli compute attach` makes Electron renderers scriptable through Chrome
4
+ DevTools Protocol (CDP). Use it when accessibility snapshots miss web content
5
+ inside apps such as VS Code, Slack, Discord, Notion, Figma, GitHub Desktop, or
6
+ NeteaseMusic.
7
+
8
+ ## Attach
9
+
10
+ ```bash
11
+ unicli compute attach --app vscode
12
+ unicli compute eval "document.title"
13
+ ```
14
+
15
+ Attach resolves the app in Uni-CLI's Electron registry, probes the assigned CDP
16
+ port, launches the app with `--remote-debugging-port=<port>` when the endpoint
17
+ is absent, then stores the active target under the compute state directory. A
18
+ later `compute eval`, snapshot, click, type, press, scroll, or wait command can
19
+ reuse that saved target from a separate process.
20
+
21
+ Use an explicit port when the app is already running with a custom CDP port:
22
+
23
+ ```bash
24
+ unicli compute attach --port 9333
25
+ ```
26
+
27
+ ## Relaunch Safety
28
+
29
+ Apps marked with `relaunchLosesSession: true` require explicit confirmation:
30
+
31
+ ```bash
32
+ unicli compute attach --app notion --confirm-relaunch
33
+ ```
34
+
35
+ Use confirmation only when restarting that app is acceptable. Meeting apps,
36
+ workspace apps, and document apps can interrupt active calls, reconnect
37
+ workspaces, or refresh unsaved UI state during relaunch.
38
+
39
+ ## App Caveats
40
+
41
+ | App | Notes |
42
+ | --------------- | ------------------------------------------------------------------------------------------ |
43
+ | VS Code | Renderer CDP uses `--remote-debugging-port=<port>`. Extension-host inspection is separate. |
44
+ | Notion | Requires `--confirm-relaunch` because workspace state can refresh. |
45
+ | Teams / Zoom | Avoid relaunch during calls. Attach to an already-debug-enabled instance when possible. |
46
+ | NeteaseMusic | CDP-first inspection is preferred because the AX tree can be sparse. |
47
+ | Slack / Discord | CDP exposes channel and message content that desktop accessibility can miss. |
48
+
49
+ ## Manual Launch
50
+
51
+ The registry handles launch for known apps. For manual debugging or a custom
52
+ app, launch with a CDP port and then attach by port:
53
+
54
+ ```bash
55
+ unicli compute launch Slack --debug-port 9241
56
+ unicli compute attach --port 9241
57
+ ```
58
+
59
+ The equivalent host command on macOS is:
60
+
61
+ ```bash
62
+ open -a "Slack" --args --remote-debugging-port=9241
63
+ unicli compute attach --port 9241
64
+ ```
65
+
66
+ On Linux or Windows, start the app executable with the same
67
+ `--remote-debugging-port=<port>` argument, then run `compute attach --port`.
68
+
69
+ ## Adding an App
70
+
71
+ Add a profile in `src/electron-apps.ts` with:
72
+
73
+ - unique `port`
74
+ - `processName`
75
+ - `bundleId` or `executableNames`
76
+ - `displayName`
77
+ - useful `aliases`
78
+ - `contentHints`
79
+ - `relaunchLosesSession: true` when relaunch can interrupt active user state
80
+
81
+ Verify the change with:
82
+
83
+ ```bash
84
+ npx vitest run --project unit tests/unit/electron-apps-table.test.ts
85
+ unicli compute attach --app <id>
86
+ unicli compute eval "document.title"
87
+ ```
@@ -0,0 +1,40 @@
1
+ # Compute Focus Behavior
2
+
3
+ `unicli compute` defaults structured transports to `focus: false` for actuating
4
+ verbs. Use `--focus` or `focus: true` only when the target app must be brought
5
+ forward before the action can succeed. CUA is the visual fallback and is treated
6
+ as focus-taking when the cascade reaches it.
7
+
8
+ ## Defaults
9
+
10
+ | Verb | desktop-ax (macOS) | desktop-uia (Windows) | desktop-atspi (Linux) | cdp-browser | cua |
11
+ | -------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------- |
12
+ | `compute click` | Uses `AXUIElementPerformAction(..., AXPress)` without app activation. Proof: [desktop-ax-swift.ts](../../src/transport/adapters/desktop-ax-swift.ts). | Descendant refs prefer native UIA `InvokePattern.Invoke`, `TogglePattern.Toggle`, or `SelectionItemPattern.Select`, then fall back to bounded HWND `PostMessageW` click. Proof: [invoke.rs](../../crates/unicli-uia/src/invoke.rs). | Descendant refs prefer native AT-SPI `ActionProxy.do_action(0)`, then fall back to bounded X11/Wayland click helpers. Top-level X11 refs use `wmctrl`; AT-SPI-only synthetic refs use `ComponentProxy.grab_focus()`. Proof: [invoke.rs](../../crates/unicli-atspi/src/invoke.rs). | Uses the attached renderer page and does not activate the browser window. Proof: [cdp-browser.ts](../../src/transport/adapters/cdp-browser.ts). | Cascade passes `focus: true`; visual backend may move cursor or focus. Proof: [cua.ts](../../src/transport/adapters/cua.ts). |
13
+ | `compute type` | Uses `AXUIElementSetAttributeValue` when possible, without activation. Proof: [desktop-ax-swift.ts](../../src/transport/adapters/desktop-ax-swift.ts). | Descendant refs prefer native UIA `ValuePattern.SetValue`; numeric values can fall through to `RangeValuePattern.SetValue` before bounded click plus `SendInput`. Proof: [invoke.rs](../../crates/unicli-uia/src/invoke.rs). | Descendant refs prefer native AT-SPI `ValueProxy.set_current_value(...)` or `EditableTextProxy.set_text_contents(...)`, then fall back to display-server text helpers. Proof: [invoke.rs](../../crates/unicli-atspi/src/invoke.rs). | Types through the attached renderer page. Proof: [cdp-browser.ts](../../src/transport/adapters/cdp-browser.ts). | Cascade passes `focus: true`; visual typing may move cursor or focus. Proof: [cua.ts](../../src/transport/adapters/cua.ts). |
14
+ | `compute press` | Uses AX action dispatch when a ref/app scope is available; global key combos may require foreground app focus. Proof: [desktop-ax.ts](../../src/transport/adapters/desktop-ax.ts). | Planned per-window key dispatch keeps foreground changes behind `focus: true`. Proof: [unicli-uia main.rs](../../crates/unicli-uia/src/main.rs). | Uses display-server helpers for fallback key dispatch: `xdotool` on X11, `wtype` for printable Wayland keys, and `ydotool` for supported Wayland modifier combos. Proof: [input.rs](../../crates/unicli-atspi/src/input.rs). | Sends key events to the attached renderer page. Proof: [cdp-browser.ts](../../src/transport/adapters/cdp-browser.ts). | Cascade passes `focus: true`; visual key events may focus the active surface. Proof: [cua.ts](../../src/transport/adapters/cua.ts). |
15
+ | `compute scroll` | Uses `AXScrollToVisible` through the AX element action path without activation. Proof: [desktop-ax-swift.ts](../../src/transport/adapters/desktop-ax-swift.ts). | Descendant refs prefer native UIA `ScrollPattern.Scroll(...)`, then fall back to `SendInput` wheel dispatch. Top-level window refs are foregrounded before `SendInput`. Proof: [input.rs](../../crates/unicli-uia/src/input.rs). | Descendant refs prefer native AT-SPI `Component.scroll_to(...)`, then fall back to display-server wheel helpers. Top-level refs are activated before helper wheel dispatch. Proof: [input.rs](../../crates/unicli-atspi/src/input.rs). | Sends wheel events to the attached renderer page. Proof: [cdp-browser.ts](../../src/transport/adapters/cdp-browser.ts). | Cascade passes `focus: true`; visual scrolling may move the cursor or active surface. Proof: [cua.ts](../../src/transport/adapters/cua.ts). |
16
+ | `compute screenshot` | Reads window/screen state without activation; may require Screen Recording permission. Proof: [desktop-ax.ts](../../src/transport/adapters/desktop-ax.ts). | Descendant refs crop the owning HWND/GDI bitmap when bounds are known; top-level refs capture the window bitmap. Proof: [screenshot.rs](../../crates/unicli-uia/src/screenshot.rs). | Top-level X11 window refs capture with `import -window <id>`; Wayland refs with known bounds capture with `grim -g`. Other helper paths activate the target before screenshot. Proof: [screenshot.rs](../../crates/unicli-atspi/src/screenshot.rs). | Captures the attached renderer page. Proof: [cdp-browser.ts](../../src/transport/adapters/cdp-browser.ts). | Backend-specific screenshot behavior. Proof: [cua.ts](../../src/transport/adapters/cua.ts). |
17
+
18
+ ## Operational Notes
19
+
20
+ - `compute click`, `compute type`, `compute press`, and `compute scroll` pass
21
+ `focus: false` to AX, UIA, AT-SPI, and CDP unless the caller sets `--focus`
22
+ or `focus: true`.
23
+ - Linux AT-SPI refs from `compute snapshot` / `compute find --first` can target
24
+ `compute click`, `compute type`, `compute scroll`, `compute screenshot`,
25
+ `compute wait`, `compute observe`, and `compute assert`. Descendant click,
26
+ type, focus, scroll, and screenshot prefer native AT-SPI or bounded region
27
+ operations before display-server helpers. Top-level X11 refs use `wmctrl`
28
+ where a real window id exists; AT-SPI-only synthetic refs use the
29
+ accessibility tree and native `ComponentProxy.grab_focus()`.
30
+ - Windows UIA refs from `compute snapshot` / `compute find --first` can target
31
+ descendant click, type, focus, scroll, screenshot, wait, observe, and assert
32
+ when the OS exposes the UIA tree. Invoke, toggle, selection, value, focus,
33
+ and scroll prefer native UIA patterns before bounded fallback paths.
34
+ - Linux AT-SPI `compute press` remains a global display-server helper path, so
35
+ it targets the active desktop surface.
36
+ - CUA is a fallback for cases where structured transports cannot see or act on
37
+ the target. Because it is visual-provider based, the cascade dispatches CUA
38
+ actions with `focus: true`.
39
+ - If a target is minimized, hidden, disabled, or off screen, prefer a fresh
40
+ `compute snapshot` and a structured retry before enabling `--focus`.