claude-in-mobile 3.13.0 → 4.0.0-dev

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 (383) hide show
  1. package/README.md +61 -574
  2. package/dist/a11y/types.d.ts +1 -1
  3. package/dist/a11y/types.d.ts.map +1 -1
  4. package/dist/adapters/contracts.d.ts +66 -0
  5. package/dist/adapters/contracts.d.ts.map +1 -0
  6. package/dist/adapters/contracts.js +15 -0
  7. package/dist/adapters/contracts.js.map +1 -0
  8. package/dist/adapters/index.d.ts +0 -5
  9. package/dist/adapters/index.d.ts.map +1 -1
  10. package/dist/adapters/index.js +1 -5
  11. package/dist/adapters/index.js.map +1 -1
  12. package/dist/autopilot/explorer.js +1 -1
  13. package/dist/autopilot/explorer.js.map +1 -1
  14. package/dist/autopilot/healer.d.ts +1 -1
  15. package/dist/autopilot/healer.d.ts.map +1 -1
  16. package/dist/autopilot/screen-fingerprint.d.ts +1 -1
  17. package/dist/autopilot/screen-fingerprint.d.ts.map +1 -1
  18. package/dist/autopilot/types.d.ts +1 -1
  19. package/dist/autopilot/types.d.ts.map +1 -1
  20. package/dist/device/client-cache.d.ts +1 -1
  21. package/dist/device/client-cache.d.ts.map +1 -1
  22. package/dist/device/client-cache.js +4 -24
  23. package/dist/device/client-cache.js.map +1 -1
  24. package/dist/device/proxies/desktop-facade.d.ts +5 -8
  25. package/dist/device/proxies/desktop-facade.d.ts.map +1 -1
  26. package/dist/device/proxies/desktop-facade.js +12 -14
  27. package/dist/device/proxies/desktop-facade.js.map +1 -1
  28. package/dist/device-manager.d.ts +16 -16
  29. package/dist/device-manager.d.ts.map +1 -1
  30. package/dist/device-manager.js +23 -17
  31. package/dist/device-manager.js.map +1 -1
  32. package/dist/index.js +21 -6
  33. package/dist/index.js.map +1 -1
  34. package/dist/perf/collector.d.ts +5 -5
  35. package/dist/perf/collector.d.ts.map +1 -1
  36. package/dist/perf/collector.js.map +1 -1
  37. package/dist/plugins/repl/client.d.ts +15 -1
  38. package/dist/plugins/repl/client.d.ts.map +1 -1
  39. package/dist/plugins/repl/client.js +65 -8
  40. package/dist/plugins/repl/client.js.map +1 -1
  41. package/dist/plugins/repl/index.d.ts +2 -0
  42. package/dist/plugins/repl/index.d.ts.map +1 -1
  43. package/dist/plugins/repl/index.js +22 -3
  44. package/dist/plugins/repl/index.js.map +1 -1
  45. package/dist/plugins/repl/types.d.ts +6 -0
  46. package/dist/plugins/repl/types.d.ts.map +1 -1
  47. package/dist/runtime/bootstrap.d.ts +7 -0
  48. package/dist/runtime/bootstrap.d.ts.map +1 -1
  49. package/dist/runtime/bootstrap.js +87 -15
  50. package/dist/runtime/bootstrap.js.map +1 -1
  51. package/dist/runtime/cli.d.ts.map +1 -1
  52. package/dist/runtime/cli.js +14 -0
  53. package/dist/runtime/cli.js.map +1 -1
  54. package/dist/runtime/platform-cli.d.ts +24 -0
  55. package/dist/runtime/platform-cli.d.ts.map +1 -0
  56. package/dist/runtime/platform-cli.js +116 -0
  57. package/dist/runtime/platform-cli.js.map +1 -0
  58. package/dist/runtime/platform-config.d.ts +21 -0
  59. package/dist/runtime/platform-config.d.ts.map +1 -0
  60. package/dist/runtime/platform-config.js +71 -0
  61. package/dist/runtime/platform-config.js.map +1 -0
  62. package/dist/tools/browser-tools.js.map +1 -1
  63. package/dist/tools/clipboard-tools.js +1 -1
  64. package/dist/tools/clipboard-tools.js.map +1 -1
  65. package/dist/tools/context/hints.d.ts +1 -1
  66. package/dist/tools/context/hints.d.ts.map +1 -1
  67. package/dist/tools/context/hints.js +1 -1
  68. package/dist/tools/context/hints.js.map +1 -1
  69. package/dist/tools/context/ios-helpers.d.ts +1 -1
  70. package/dist/tools/context/ios-helpers.d.ts.map +1 -1
  71. package/dist/tools/context/shared-state-class.d.ts +1 -1
  72. package/dist/tools/context/shared-state-class.d.ts.map +1 -1
  73. package/dist/tools/context/shared-state.d.ts +1 -1
  74. package/dist/tools/context/shared-state.d.ts.map +1 -1
  75. package/dist/tools/context.d.ts +2 -1
  76. package/dist/tools/context.d.ts.map +1 -1
  77. package/dist/tools/context.js +17 -9
  78. package/dist/tools/context.js.map +1 -1
  79. package/dist/tools/desktop-tools.d.ts.map +1 -1
  80. package/dist/tools/desktop-tools.js.map +1 -1
  81. package/dist/tools/flow/common.js +1 -1
  82. package/dist/tools/flow/common.js.map +1 -1
  83. package/dist/tools/flow/run.js +1 -1
  84. package/dist/tools/flow/run.js.map +1 -1
  85. package/dist/tools/helpers/get-elements.d.ts +1 -1
  86. package/dist/tools/helpers/get-elements.d.ts.map +1 -1
  87. package/dist/tools/helpers/get-elements.js +1 -1
  88. package/dist/tools/helpers/get-elements.js.map +1 -1
  89. package/dist/tools/helpers/resolve-element.js +1 -1
  90. package/dist/tools/helpers/resolve-element.js.map +1 -1
  91. package/dist/tools/screenshot-tools.js +1 -1
  92. package/dist/tools/screenshot-tools.js.map +1 -1
  93. package/dist/tools/ui/analyze.js +1 -1
  94. package/dist/tools/ui/analyze.js.map +1 -1
  95. package/dist/tools/ui/assert.js +1 -1
  96. package/dist/tools/ui/assert.js.map +1 -1
  97. package/dist/tools/ui/find.js +1 -1
  98. package/dist/tools/ui/find.js.map +1 -1
  99. package/dist/tools/ui/tree.js +1 -1
  100. package/dist/tools/ui/tree.js.map +1 -1
  101. package/dist/tools/ui/wait.js +1 -1
  102. package/dist/tools/ui/wait.js.map +1 -1
  103. package/dist/ui-tree/ui-parser/diff-engine.d.ts.map +1 -0
  104. package/dist/ui-tree/ui-parser/diff-engine.js.map +1 -0
  105. package/dist/ui-tree/ui-parser/element-builder.d.ts.map +1 -0
  106. package/dist/ui-tree/ui-parser/element-builder.js.map +1 -0
  107. package/dist/ui-tree/ui-parser/element-finders.d.ts.map +1 -0
  108. package/dist/ui-tree/ui-parser/element-finders.js.map +1 -0
  109. package/dist/ui-tree/ui-parser/formatters/compact.d.ts.map +1 -0
  110. package/dist/ui-tree/ui-parser/formatters/compact.js.map +1 -0
  111. package/dist/ui-tree/ui-parser/formatters/full.d.ts.map +1 -0
  112. package/dist/ui-tree/ui-parser/formatters/full.js.map +1 -0
  113. package/dist/ui-tree/ui-parser/formatters/index.d.ts.map +1 -0
  114. package/dist/ui-tree/ui-parser/formatters/index.js.map +1 -0
  115. package/dist/ui-tree/ui-parser/formatters/semantic.d.ts.map +1 -0
  116. package/dist/ui-tree/ui-parser/formatters/semantic.js.map +1 -0
  117. package/dist/ui-tree/ui-parser/node-parser.d.ts.map +1 -0
  118. package/dist/ui-tree/ui-parser/node-parser.js.map +1 -0
  119. package/dist/ui-tree/ui-parser/screen-analyzer.d.ts.map +1 -0
  120. package/dist/ui-tree/ui-parser/screen-analyzer.js.map +1 -0
  121. package/dist/ui-tree/ui-parser/types.d.ts.map +1 -0
  122. package/dist/ui-tree/ui-parser/types.js.map +1 -0
  123. package/dist/ui-tree/ui-parser.d.ts.map +1 -0
  124. package/dist/ui-tree/ui-parser.js.map +1 -0
  125. package/dist/ui-tree/ui-scoring.d.ts.map +1 -0
  126. package/dist/ui-tree/ui-scoring.js.map +1 -0
  127. package/dist/ui-tree/ui-tree-cache.d.ts.map +1 -0
  128. package/dist/ui-tree/ui-tree-cache.js.map +1 -0
  129. package/dist/utils/image/annotate.d.ts +1 -1
  130. package/dist/utils/image/annotate.d.ts.map +1 -1
  131. package/package.json +11 -6
  132. package/dist/adapters/android-adapter.d.ts +0 -64
  133. package/dist/adapters/android-adapter.d.ts.map +0 -1
  134. package/dist/adapters/android-adapter.js +0 -164
  135. package/dist/adapters/android-adapter.js.map +0 -1
  136. package/dist/adapters/aurora-adapter.d.ts +0 -56
  137. package/dist/adapters/aurora-adapter.d.ts.map +0 -1
  138. package/dist/adapters/aurora-adapter.js +0 -118
  139. package/dist/adapters/aurora-adapter.js.map +0 -1
  140. package/dist/adapters/browser-adapter.d.ts +0 -51
  141. package/dist/adapters/browser-adapter.d.ts.map +0 -1
  142. package/dist/adapters/browser-adapter.js +0 -223
  143. package/dist/adapters/browser-adapter.js.map +0 -1
  144. package/dist/adapters/desktop-adapter.d.ts +0 -64
  145. package/dist/adapters/desktop-adapter.d.ts.map +0 -1
  146. package/dist/adapters/desktop-adapter.js +0 -202
  147. package/dist/adapters/desktop-adapter.js.map +0 -1
  148. package/dist/adapters/ios-adapter.d.ts +0 -60
  149. package/dist/adapters/ios-adapter.d.ts.map +0 -1
  150. package/dist/adapters/ios-adapter.js +0 -146
  151. package/dist/adapters/ios-adapter.js.map +0 -1
  152. package/dist/adb/client.d.ts +0 -238
  153. package/dist/adb/client.d.ts.map +0 -1
  154. package/dist/adb/client.js +0 -462
  155. package/dist/adb/client.js.map +0 -1
  156. package/dist/adb/exec.d.ts +0 -23
  157. package/dist/adb/exec.d.ts.map +0 -1
  158. package/dist/adb/exec.js +0 -98
  159. package/dist/adb/exec.js.map +0 -1
  160. package/dist/adb/index.d.ts +0 -5
  161. package/dist/adb/index.d.ts.map +0 -1
  162. package/dist/adb/index.js +0 -3
  163. package/dist/adb/index.js.map +0 -1
  164. package/dist/adb/keycodes.d.ts +0 -22
  165. package/dist/adb/keycodes.d.ts.map +0 -1
  166. package/dist/adb/keycodes.js +0 -69
  167. package/dist/adb/keycodes.js.map +0 -1
  168. package/dist/adb/logcat.d.ts +0 -23
  169. package/dist/adb/logcat.d.ts.map +0 -1
  170. package/dist/adb/logcat.js +0 -40
  171. package/dist/adb/logcat.js.map +0 -1
  172. package/dist/adb/parsers.d.ts +0 -60
  173. package/dist/adb/parsers.d.ts.map +0 -1
  174. package/dist/adb/parsers.js +0 -118
  175. package/dist/adb/parsers.js.map +0 -1
  176. package/dist/adb/resolver.d.ts +0 -24
  177. package/dist/adb/resolver.d.ts.map +0 -1
  178. package/dist/adb/resolver.js +0 -130
  179. package/dist/adb/resolver.js.map +0 -1
  180. package/dist/adb/text-escape.d.ts +0 -23
  181. package/dist/adb/text-escape.d.ts.map +0 -1
  182. package/dist/adb/text-escape.js +0 -41
  183. package/dist/adb/text-escape.js.map +0 -1
  184. package/dist/adb/ui-parser/diff-engine.d.ts.map +0 -1
  185. package/dist/adb/ui-parser/diff-engine.js.map +0 -1
  186. package/dist/adb/ui-parser/element-builder.d.ts.map +0 -1
  187. package/dist/adb/ui-parser/element-builder.js.map +0 -1
  188. package/dist/adb/ui-parser/element-finders.d.ts.map +0 -1
  189. package/dist/adb/ui-parser/element-finders.js.map +0 -1
  190. package/dist/adb/ui-parser/formatters/compact.d.ts.map +0 -1
  191. package/dist/adb/ui-parser/formatters/compact.js.map +0 -1
  192. package/dist/adb/ui-parser/formatters/full.d.ts.map +0 -1
  193. package/dist/adb/ui-parser/formatters/full.js.map +0 -1
  194. package/dist/adb/ui-parser/formatters/index.d.ts.map +0 -1
  195. package/dist/adb/ui-parser/formatters/index.js.map +0 -1
  196. package/dist/adb/ui-parser/formatters/semantic.d.ts.map +0 -1
  197. package/dist/adb/ui-parser/formatters/semantic.js.map +0 -1
  198. package/dist/adb/ui-parser/node-parser.d.ts.map +0 -1
  199. package/dist/adb/ui-parser/node-parser.js.map +0 -1
  200. package/dist/adb/ui-parser/screen-analyzer.d.ts.map +0 -1
  201. package/dist/adb/ui-parser/screen-analyzer.js.map +0 -1
  202. package/dist/adb/ui-parser/types.d.ts.map +0 -1
  203. package/dist/adb/ui-parser/types.js.map +0 -1
  204. package/dist/adb/ui-parser.d.ts.map +0 -1
  205. package/dist/adb/ui-parser.js.map +0 -1
  206. package/dist/adb/ui-scoring.d.ts.map +0 -1
  207. package/dist/adb/ui-scoring.js.map +0 -1
  208. package/dist/adb/ui-tree-cache.d.ts.map +0 -1
  209. package/dist/adb/ui-tree-cache.js.map +0 -1
  210. package/dist/adb/webview.d.ts +0 -59
  211. package/dist/adb/webview.d.ts.map +0 -1
  212. package/dist/adb/webview.js +0 -169
  213. package/dist/adb/webview.js.map +0 -1
  214. package/dist/aurora/client.d.ts +0 -180
  215. package/dist/aurora/client.d.ts.map +0 -1
  216. package/dist/aurora/client.js +0 -324
  217. package/dist/aurora/client.js.map +0 -1
  218. package/dist/aurora/index.d.ts +0 -2
  219. package/dist/aurora/index.d.ts.map +0 -1
  220. package/dist/aurora/index.js +0 -2
  221. package/dist/aurora/index.js.map +0 -1
  222. package/dist/browser/cdp-helpers.d.ts +0 -17
  223. package/dist/browser/cdp-helpers.d.ts.map +0 -1
  224. package/dist/browser/cdp-helpers.js +0 -79
  225. package/dist/browser/cdp-helpers.js.map +0 -1
  226. package/dist/browser/cdp-types.d.ts +0 -167
  227. package/dist/browser/cdp-types.d.ts.map +0 -1
  228. package/dist/browser/cdp-types.js +0 -9
  229. package/dist/browser/cdp-types.js.map +0 -1
  230. package/dist/browser/client.d.ts +0 -29
  231. package/dist/browser/client.d.ts.map +0 -1
  232. package/dist/browser/client.js +0 -391
  233. package/dist/browser/client.js.map +0 -1
  234. package/dist/browser/index.d.ts +0 -5
  235. package/dist/browser/index.d.ts.map +0 -1
  236. package/dist/browser/index.js +0 -4
  237. package/dist/browser/index.js.map +0 -1
  238. package/dist/browser/key-map.d.ts +0 -16
  239. package/dist/browser/key-map.d.ts.map +0 -1
  240. package/dist/browser/key-map.js +0 -35
  241. package/dist/browser/key-map.js.map +0 -1
  242. package/dist/browser/session-manager.d.ts +0 -21
  243. package/dist/browser/session-manager.d.ts.map +0 -1
  244. package/dist/browser/session-manager.js +0 -109
  245. package/dist/browser/session-manager.js.map +0 -1
  246. package/dist/browser/snapshot-builder.d.ts +0 -4
  247. package/dist/browser/snapshot-builder.d.ts.map +0 -1
  248. package/dist/browser/snapshot-builder.js +0 -76
  249. package/dist/browser/snapshot-builder.js.map +0 -1
  250. package/dist/browser/types.d.ts +0 -75
  251. package/dist/browser/types.d.ts.map +0 -1
  252. package/dist/browser/types.js +0 -11
  253. package/dist/browser/types.js.map +0 -1
  254. package/dist/desktop/client.d.ts +0 -196
  255. package/dist/desktop/client.d.ts.map +0 -1
  256. package/dist/desktop/client.js +0 -540
  257. package/dist/desktop/client.js.map +0 -1
  258. package/dist/desktop/gradle.d.ts +0 -45
  259. package/dist/desktop/gradle.d.ts.map +0 -1
  260. package/dist/desktop/gradle.js +0 -234
  261. package/dist/desktop/gradle.js.map +0 -1
  262. package/dist/desktop/index.d.ts +0 -7
  263. package/dist/desktop/index.d.ts.map +0 -1
  264. package/dist/desktop/index.js +0 -7
  265. package/dist/desktop/index.js.map +0 -1
  266. package/dist/desktop/launch-options.d.ts +0 -13
  267. package/dist/desktop/launch-options.d.ts.map +0 -1
  268. package/dist/desktop/launch-options.js +0 -54
  269. package/dist/desktop/launch-options.js.map +0 -1
  270. package/dist/desktop/launchers.d.ts +0 -52
  271. package/dist/desktop/launchers.d.ts.map +0 -1
  272. package/dist/desktop/launchers.js +0 -125
  273. package/dist/desktop/launchers.js.map +0 -1
  274. package/dist/desktop/log-ring.d.ts +0 -21
  275. package/dist/desktop/log-ring.d.ts.map +0 -1
  276. package/dist/desktop/log-ring.js +0 -45
  277. package/dist/desktop/log-ring.js.map +0 -1
  278. package/dist/desktop/permission-allowlist.d.ts +0 -47
  279. package/dist/desktop/permission-allowlist.d.ts.map +0 -1
  280. package/dist/desktop/permission-allowlist.js +0 -148
  281. package/dist/desktop/permission-allowlist.js.map +0 -1
  282. package/dist/desktop/types.d.ts +0 -177
  283. package/dist/desktop/types.d.ts.map +0 -1
  284. package/dist/desktop/types.js +0 -5
  285. package/dist/desktop/types.js.map +0 -1
  286. package/dist/ios/client.d.ts +0 -194
  287. package/dist/ios/client.d.ts.map +0 -1
  288. package/dist/ios/client.js +0 -457
  289. package/dist/ios/client.js.map +0 -1
  290. package/dist/ios/index.d.ts +0 -2
  291. package/dist/ios/index.d.ts.map +0 -1
  292. package/dist/ios/index.js +0 -2
  293. package/dist/ios/index.js.map +0 -1
  294. package/dist/ios/keymap.d.ts +0 -20
  295. package/dist/ios/keymap.d.ts.map +0 -1
  296. package/dist/ios/keymap.js +0 -33
  297. package/dist/ios/keymap.js.map +0 -1
  298. package/dist/ios/simctl-commands.d.ts +0 -35
  299. package/dist/ios/simctl-commands.d.ts.map +0 -1
  300. package/dist/ios/simctl-commands.js +0 -60
  301. package/dist/ios/simctl-commands.js.map +0 -1
  302. package/dist/ios/simctl-exec.d.ts +0 -19
  303. package/dist/ios/simctl-exec.d.ts.map +0 -1
  304. package/dist/ios/simctl-exec.js +0 -55
  305. package/dist/ios/simctl-exec.js.map +0 -1
  306. package/dist/ios/simctl-parsers.d.ts +0 -10
  307. package/dist/ios/simctl-parsers.d.ts.map +0 -1
  308. package/dist/ios/simctl-parsers.js +0 -29
  309. package/dist/ios/simctl-parsers.js.map +0 -1
  310. package/dist/ios/types.d.ts +0 -8
  311. package/dist/ios/types.d.ts.map +0 -1
  312. package/dist/ios/types.js +0 -2
  313. package/dist/ios/types.js.map +0 -1
  314. package/dist/ios/wda/index.d.ts +0 -4
  315. package/dist/ios/wda/index.d.ts.map +0 -1
  316. package/dist/ios/wda/index.js +0 -4
  317. package/dist/ios/wda/index.js.map +0 -1
  318. package/dist/ios/wda/wda-client.d.ts +0 -27
  319. package/dist/ios/wda/wda-client.d.ts.map +0 -1
  320. package/dist/ios/wda/wda-client.js +0 -237
  321. package/dist/ios/wda/wda-client.js.map +0 -1
  322. package/dist/ios/wda/wda-manager.d.ts +0 -18
  323. package/dist/ios/wda/wda-manager.d.ts.map +0 -1
  324. package/dist/ios/wda/wda-manager.js +0 -238
  325. package/dist/ios/wda/wda-manager.js.map +0 -1
  326. package/dist/ios/wda/wda-types.d.ts +0 -39
  327. package/dist/ios/wda/wda-types.d.ts.map +0 -1
  328. package/dist/ios/wda/wda-types.js +0 -2
  329. package/dist/ios/wda/wda-types.js.map +0 -1
  330. package/dist/ios/wda-errors.d.ts +0 -8
  331. package/dist/ios/wda-errors.d.ts.map +0 -1
  332. package/dist/ios/wda-errors.js +0 -13
  333. package/dist/ios/wda-errors.js.map +0 -1
  334. package/dist/ios/wda-payloads.d.ts +0 -32
  335. package/dist/ios/wda-payloads.d.ts.map +0 -1
  336. package/dist/ios/wda-payloads.js +0 -31
  337. package/dist/ios/wda-payloads.js.map +0 -1
  338. package/dist/plugins/android/index.d.ts +0 -23
  339. package/dist/plugins/android/index.d.ts.map +0 -1
  340. package/dist/plugins/android/index.js +0 -45
  341. package/dist/plugins/android/index.js.map +0 -1
  342. package/dist/plugins/aurora/index.d.ts +0 -17
  343. package/dist/plugins/aurora/index.d.ts.map +0 -1
  344. package/dist/plugins/aurora/index.js +0 -27
  345. package/dist/plugins/aurora/index.js.map +0 -1
  346. package/dist/plugins/desktop/index.d.ts +0 -18
  347. package/dist/plugins/desktop/index.d.ts.map +0 -1
  348. package/dist/plugins/desktop/index.js +0 -28
  349. package/dist/plugins/desktop/index.js.map +0 -1
  350. package/dist/plugins/ios/index.d.ts +0 -17
  351. package/dist/plugins/ios/index.d.ts.map +0 -1
  352. package/dist/plugins/ios/index.js +0 -36
  353. package/dist/plugins/ios/index.js.map +0 -1
  354. package/dist/plugins/web/index.d.ts +0 -17
  355. package/dist/plugins/web/index.d.ts.map +0 -1
  356. package/dist/plugins/web/index.js +0 -27
  357. package/dist/plugins/web/index.js.map +0 -1
  358. /package/dist/{adb → ui-tree}/ui-parser/diff-engine.d.ts +0 -0
  359. /package/dist/{adb → ui-tree}/ui-parser/diff-engine.js +0 -0
  360. /package/dist/{adb → ui-tree}/ui-parser/element-builder.d.ts +0 -0
  361. /package/dist/{adb → ui-tree}/ui-parser/element-builder.js +0 -0
  362. /package/dist/{adb → ui-tree}/ui-parser/element-finders.d.ts +0 -0
  363. /package/dist/{adb → ui-tree}/ui-parser/element-finders.js +0 -0
  364. /package/dist/{adb → ui-tree}/ui-parser/formatters/compact.d.ts +0 -0
  365. /package/dist/{adb → ui-tree}/ui-parser/formatters/compact.js +0 -0
  366. /package/dist/{adb → ui-tree}/ui-parser/formatters/full.d.ts +0 -0
  367. /package/dist/{adb → ui-tree}/ui-parser/formatters/full.js +0 -0
  368. /package/dist/{adb → ui-tree}/ui-parser/formatters/index.d.ts +0 -0
  369. /package/dist/{adb → ui-tree}/ui-parser/formatters/index.js +0 -0
  370. /package/dist/{adb → ui-tree}/ui-parser/formatters/semantic.d.ts +0 -0
  371. /package/dist/{adb → ui-tree}/ui-parser/formatters/semantic.js +0 -0
  372. /package/dist/{adb → ui-tree}/ui-parser/node-parser.d.ts +0 -0
  373. /package/dist/{adb → ui-tree}/ui-parser/node-parser.js +0 -0
  374. /package/dist/{adb → ui-tree}/ui-parser/screen-analyzer.d.ts +0 -0
  375. /package/dist/{adb → ui-tree}/ui-parser/screen-analyzer.js +0 -0
  376. /package/dist/{adb → ui-tree}/ui-parser/types.d.ts +0 -0
  377. /package/dist/{adb → ui-tree}/ui-parser/types.js +0 -0
  378. /package/dist/{adb → ui-tree}/ui-parser.d.ts +0 -0
  379. /package/dist/{adb → ui-tree}/ui-parser.js +0 -0
  380. /package/dist/{adb → ui-tree}/ui-scoring.d.ts +0 -0
  381. /package/dist/{adb → ui-tree}/ui-scoring.js +0 -0
  382. /package/dist/{adb → ui-tree}/ui-tree-cache.d.ts +0 -0
  383. /package/dist/{adb → ui-tree}/ui-tree-cache.js +0 -0
@@ -1,540 +0,0 @@
1
- /**
2
- * Desktop Client - communicates with Kotlin companion app via JSON-RPC
3
- */
4
- import { spawn, execFileSync } from "child_process";
5
- import { EventEmitter } from "events";
6
- import * as readline from "readline";
7
- import { GradleLauncher } from "./gradle.js";
8
- import { findCompanionAppPath } from "./permission-allowlist.js";
9
- import { LogRing } from "./log-ring.js";
10
- import { normalizeLaunchOptions } from "./launch-options.js";
11
- import { DESKTOP } from "../constants/timeouts.js";
12
- import { AttachLauncher, BundleAppLauncher, GradleAppLauncher, NoOpLauncher, } from "./launchers.js";
13
- // Re-export module-scoped helpers so existing imports of `src/desktop/client.js` keep working.
14
- export { APP_PATH_ALLOWLIST, BLOCKED_COMMS, findCompanionAppPath, getBundleIdFromAppPath, resolvePidByBundleId, validateAndResolveAppPath, validateAttachPid, } from "./permission-allowlist.js";
15
- export { LogRing } from "./log-ring.js";
16
- export { normalizeLaunchOptions } from "./launch-options.js";
17
- export { AttachLauncher, BundleAppLauncher, GradleAppLauncher, NoOpLauncher, } from "./launchers.js";
18
- const MAX_RESTARTS = 3;
19
- export class DesktopClient extends EventEmitter {
20
- process = null;
21
- activeStrategy = null;
22
- gradleLauncher;
23
- requestId = 0;
24
- pendingRequests = new Map();
25
- logRing = new LogRing(10_000);
26
- state = {
27
- status: "stopped",
28
- crashCount: 0,
29
- targetPid: null,
30
- };
31
- lastLaunchOptions = null;
32
- readline = null;
33
- /** PID of the user's app — set after native launch or attach. Auto-passed to tap/input/key. */
34
- targetPid;
35
- constructor() {
36
- super();
37
- this.gradleLauncher = new GradleLauncher();
38
- }
39
- /**
40
- * Get current state
41
- */
42
- getState() {
43
- return { ...this.state };
44
- }
45
- /**
46
- * Check if running
47
- */
48
- isRunning() {
49
- return this.state.status === "running" && this.process !== null && !this.process.killed;
50
- }
51
- /**
52
- * Launch desktop automation. Accepts the flat RawLaunchOptions (backward-compatible)
53
- * and normalizes internally to the discriminated-union LaunchOptions.
54
- */
55
- async launch(options) {
56
- if (this.isRunning()) {
57
- throw new Error("Desktop companion is already running. Stop it first.");
58
- }
59
- const normalized = normalizeLaunchOptions(options);
60
- this.lastLaunchOptions = options;
61
- this.state = {
62
- status: "starting",
63
- projectPath: normalized.mode === "gradle" ? normalized.projectPath : undefined,
64
- crashCount: this.state.crashCount,
65
- targetPid: null,
66
- };
67
- try {
68
- const companionPath = findCompanionAppPath();
69
- this.addLog("stdout", `Starting companion app: ${companionPath}`);
70
- this.process = spawn(companionPath, [], {
71
- stdio: ["pipe", "pipe", "pipe"],
72
- env: {
73
- ...process.env,
74
- JAVA_HOME: process.env.JAVA_HOME || (() => {
75
- if (process.platform !== "darwin")
76
- return "";
77
- try {
78
- return execFileSync("/usr/libexec/java_home", ["-v", "21"], { encoding: "utf-8", timeout: 3000 }).trim();
79
- }
80
- catch {
81
- try {
82
- return execFileSync("/usr/libexec/java_home", [], { encoding: "utf-8", timeout: 3000 }).trim();
83
- }
84
- catch {
85
- return "";
86
- }
87
- }
88
- })(),
89
- },
90
- });
91
- this.state.pid = this.process.pid;
92
- if (this.process.stdout) {
93
- this.readline = readline.createInterface({ input: this.process.stdout, crlfDelay: Infinity });
94
- this.readline.on("line", (line) => this.handleLine(line));
95
- }
96
- if (this.process.stderr) {
97
- this.process.stderr.on("data", (data) => {
98
- const message = data.toString();
99
- this.addLog("stderr", message);
100
- if (message.includes("Desktop companion ready") || message.includes("JsonRpcServer started")) {
101
- this.state.status = "running";
102
- this.emit("ready");
103
- }
104
- });
105
- }
106
- this.process.on("exit", (code, signal) => this.handleExit(code, signal));
107
- this.process.on("error", (error) => {
108
- this.addLog("crash", `Process error: ${error.message}`);
109
- this.handleCrash(error);
110
- });
111
- await this.waitForReady(10000);
112
- this.activeStrategy = this.selectStrategy(normalized);
113
- const targetPid = await this.activeStrategy.launch();
114
- this.state.targetPid = targetPid;
115
- }
116
- catch (error) {
117
- // Kill companion if it was spawned before strategy failure (prevents orphan processes)
118
- if (this.process && !this.process.killed) {
119
- this.process.kill();
120
- }
121
- if (this.readline) {
122
- this.readline.close();
123
- this.readline = null;
124
- }
125
- this.process = null;
126
- this.state.status = "stopped";
127
- this.state.lastError = error instanceof Error ? error.message : String(error);
128
- throw error;
129
- }
130
- }
131
- selectStrategy(opts) {
132
- switch (opts.mode) {
133
- case "gradle":
134
- return new GradleAppLauncher(opts, this.gradleLauncher, this.addLog.bind(this));
135
- case "bundle":
136
- return new BundleAppLauncher(opts, this.addLog.bind(this));
137
- case "attach":
138
- return new AttachLauncher(opts, this.addLog.bind(this));
139
- case "companion-only":
140
- return new NoOpLauncher();
141
- }
142
- }
143
- getTargetPid() {
144
- return this.state.targetPid;
145
- }
146
- /**
147
- * Wait for the companion app to be ready
148
- */
149
- waitForReady(timeoutMs) {
150
- return new Promise((resolve, reject) => {
151
- const cleanup = () => {
152
- clearTimeout(timeout);
153
- this.removeListener("ready", onReady);
154
- this.process?.removeListener("exit", onExit);
155
- };
156
- const onReady = () => {
157
- cleanup();
158
- resolve();
159
- };
160
- const onExit = () => {
161
- cleanup();
162
- reject(new Error("Desktop app exited before becoming ready"));
163
- };
164
- const timeout = setTimeout(() => {
165
- cleanup();
166
- // Consider ready even without explicit signal after timeout
167
- // The app might not send a ready signal
168
- if (this.process && !this.process.killed) {
169
- this.state.status = "running";
170
- resolve();
171
- }
172
- else {
173
- reject(new Error("Desktop app failed to start"));
174
- }
175
- }, timeoutMs);
176
- this.once("ready", onReady);
177
- this.process?.once("exit", onExit);
178
- });
179
- }
180
- /**
181
- * Stop desktop app
182
- */
183
- async stop() {
184
- if (!this.process) {
185
- return;
186
- }
187
- // Stop any app process managed by the active strategy (e.g. Gradle child)
188
- this.activeStrategy?.stop();
189
- this.activeStrategy = null;
190
- if (this.readline) {
191
- this.readline.close();
192
- this.readline = null;
193
- }
194
- // Reject all pending requests
195
- for (const [id, pending] of this.pendingRequests) {
196
- clearTimeout(pending.timeout);
197
- pending.reject(new Error("Desktop app stopped"));
198
- }
199
- this.pendingRequests.clear();
200
- // Stop process
201
- this.gradleLauncher.stop(this.process);
202
- this.process = null;
203
- this.targetPid = undefined;
204
- this.state = {
205
- status: "stopped",
206
- crashCount: 0,
207
- targetPid: null,
208
- };
209
- }
210
- /**
211
- * Handle incoming line from stdout
212
- */
213
- handleLine(line) {
214
- const trimmed = line.trim();
215
- if (!trimmed)
216
- return;
217
- // Try to parse as JSON-RPC response
218
- if (trimmed.startsWith("{")) {
219
- try {
220
- const response = JSON.parse(trimmed);
221
- this.handleResponse(response);
222
- return;
223
- }
224
- catch {
225
- // Not JSON, treat as log
226
- }
227
- }
228
- // Regular log output
229
- this.addLog("stdout", trimmed);
230
- }
231
- /**
232
- * Handle JSON-RPC response
233
- */
234
- handleResponse(response) {
235
- const pending = this.pendingRequests.get(response.id);
236
- if (!pending) {
237
- return; // Unknown response
238
- }
239
- this.pendingRequests.delete(response.id);
240
- clearTimeout(pending.timeout);
241
- if (response.error) {
242
- pending.reject(new Error(`${response.error.message} (code: ${response.error.code})`));
243
- }
244
- else {
245
- pending.resolve(response.result);
246
- }
247
- }
248
- /**
249
- * Handle process exit
250
- */
251
- handleExit(code, signal) {
252
- const wasRunning = this.state.status === "running";
253
- if (code !== 0 && wasRunning) {
254
- this.addLog("crash", `Process exited with code ${code}, signal ${signal}`);
255
- this.handleCrash(new Error(`Exit code: ${code}`));
256
- }
257
- else {
258
- this.state.status = "stopped";
259
- }
260
- this.process = null;
261
- }
262
- /**
263
- * Detach the old (dead/dying) companion process and its associated handles
264
- * so they don't linger until GC when launch() respawns a replacement.
265
- * Safe to call when there's nothing to detach.
266
- */
267
- detachProcess() {
268
- if (this.readline) {
269
- this.readline.removeAllListeners();
270
- this.readline.close();
271
- this.readline = null;
272
- }
273
- const old = this.process;
274
- if (old) {
275
- old.stdout?.removeAllListeners();
276
- old.stderr?.removeAllListeners();
277
- old.removeAllListeners();
278
- if (!old.killed) {
279
- old.kill();
280
- }
281
- this.process = null;
282
- }
283
- }
284
- /**
285
- * Handle crash with auto-restart
286
- */
287
- async handleCrash(error) {
288
- this.state.status = "crashed";
289
- this.state.crashCount++;
290
- this.state.lastError = error.message;
291
- // Reject all pending requests
292
- for (const [id, pending] of this.pendingRequests) {
293
- clearTimeout(pending.timeout);
294
- pending.reject(new Error("Desktop app crashed"));
295
- }
296
- this.pendingRequests.clear();
297
- // Detach the crashed process + its listeners/readline before respawning,
298
- // otherwise the old handles linger until GC (M3).
299
- this.detachProcess();
300
- // Auto-restart if under limit
301
- if (this.state.crashCount <= MAX_RESTARTS && this.lastLaunchOptions) {
302
- console.error(`Desktop app crashed, restarting (${this.state.crashCount}/${MAX_RESTARTS})...`);
303
- try {
304
- await new Promise((resolve) => setTimeout(resolve, 1000)); // Wait before restart
305
- await this.launch(this.lastLaunchOptions);
306
- }
307
- catch (restartError) {
308
- console.error(`Failed to restart: ${restartError.message}`);
309
- }
310
- }
311
- else {
312
- this.emit("crash", error);
313
- }
314
- }
315
- /**
316
- * Send JSON-RPC request
317
- */
318
- async sendRequest(method, params) {
319
- if (!this.isRunning() || !this.process?.stdin) {
320
- throw new Error("Desktop app is not running");
321
- }
322
- const id = ++this.requestId;
323
- const request = {
324
- jsonrpc: "2.0",
325
- id,
326
- method,
327
- params,
328
- };
329
- return new Promise((resolve, reject) => {
330
- const timeout = setTimeout(() => {
331
- this.pendingRequests.delete(id);
332
- reject(new Error(`Request timeout: ${method}`));
333
- }, DESKTOP.RPC_TIMEOUT_MS);
334
- this.pendingRequests.set(id, {
335
- resolve: resolve,
336
- reject,
337
- timeout,
338
- });
339
- const json = JSON.stringify(request);
340
- this.process.stdin.write(json + "\n");
341
- });
342
- }
343
- /**
344
- * Add log entry (delegates to LogRing)
345
- */
346
- addLog(type, message) {
347
- this.logRing.push(type, message);
348
- }
349
- // ============ Public API Methods ============
350
- /**
351
- * Take screenshot
352
- */
353
- async screenshotRaw(options) {
354
- const result = await this.sendRequest("screenshot", options);
355
- return Buffer.from(result.base64, "base64");
356
- }
357
- /**
358
- * Take screenshot and return base64
359
- */
360
- async screenshot(options) {
361
- const result = await this.sendRequest("screenshot", options);
362
- return result.base64;
363
- }
364
- /**
365
- * Get screenshot with metadata
366
- */
367
- async screenshotWithMeta(options) {
368
- return this.sendRequest("screenshot", options);
369
- }
370
- /**
371
- * Tap at coordinates
372
- * @param targetPid - Optional PID to send click without stealing focus (macOS only)
373
- */
374
- async tap(x, y, targetPid) {
375
- await this.sendRequest("tap", { x, y, targetPid: targetPid ?? this.targetPid });
376
- }
377
- /**
378
- * Tap an element by its text content using Accessibility API
379
- * This does NOT move the cursor - perfect for background automation (macOS only)
380
- * @param text - The text to search for (partial match, case-insensitive)
381
- * @param pid - The process ID of the target application
382
- * @param exactMatch - If true, requires exact text match
383
- */
384
- async tapByText(text, pid, exactMatch = false) {
385
- const resolvedPid = pid ?? this.targetPid;
386
- if (resolvedPid === undefined) {
387
- throw new Error("No target PID. Launch a native app (bundleId/appPath) or pass pid explicitly.");
388
- }
389
- return this.sendRequest("tap_by_text", { text, pid: resolvedPid, exactMatch });
390
- }
391
- /**
392
- * Long press at coordinates
393
- */
394
- async longPress(x, y, durationMs = 1000) {
395
- await this.sendRequest("long_press", { x, y, durationMs });
396
- }
397
- /**
398
- * Swipe gesture
399
- */
400
- async swipe(x1, y1, x2, y2, durationMs = 300) {
401
- await this.sendRequest("swipe", { x1, y1, x2, y2, durationMs });
402
- }
403
- /**
404
- * Swipe in direction
405
- */
406
- async swipeDirection(direction, distance) {
407
- await this.sendRequest("swipe_direction", { direction, distance });
408
- }
409
- /**
410
- * Input text
411
- * @param targetPid - Optional PID to send input without stealing focus (macOS only)
412
- */
413
- async inputText(text, targetPid) {
414
- await this.sendRequest("input_text", { text, targetPid: targetPid ?? this.targetPid });
415
- }
416
- /**
417
- * Press key
418
- * @param targetPid - Optional PID to send key without stealing focus (macOS only)
419
- */
420
- async pressKey(key, modifiers, targetPid) {
421
- await this.sendRequest("key_event", { key, modifiers, targetPid: targetPid ?? this.targetPid });
422
- }
423
- /**
424
- * Get the PID of the focused window (for background input)
425
- */
426
- async getFocusedWindowPid() {
427
- const info = await this.getWindowInfo();
428
- const focused = info.windows.find((w) => w.focused);
429
- return focused?.processId ?? null;
430
- }
431
- /**
432
- * Get UI hierarchy
433
- */
434
- async getUiHierarchy(windowId) {
435
- return this.sendRequest("get_ui_hierarchy", { windowId });
436
- }
437
- /**
438
- * Get UI hierarchy as XML string (for compatibility)
439
- */
440
- getUiHierarchyXml() {
441
- // Not supported - desktop uses accessibility tree
442
- throw new Error("XML hierarchy not supported for desktop. Use getUiHierarchy() instead.");
443
- }
444
- /**
445
- * Get window information
446
- */
447
- async getWindowInfo() {
448
- return this.sendRequest("get_window_info");
449
- }
450
- /**
451
- * Focus a window
452
- */
453
- async focusWindow(windowId) {
454
- await this.sendRequest("focus_window", { windowId });
455
- }
456
- /**
457
- * Resize a window
458
- */
459
- async resizeWindow(width, height, windowId) {
460
- await this.sendRequest("resize_window", { windowId, width, height });
461
- }
462
- /**
463
- * Get clipboard content
464
- */
465
- async getClipboard() {
466
- const result = await this.sendRequest("get_clipboard");
467
- return result.text ?? "";
468
- }
469
- /**
470
- * Set clipboard content
471
- */
472
- async setClipboard(text) {
473
- await this.sendRequest("set_clipboard", { text });
474
- }
475
- /**
476
- * Check accessibility permissions
477
- */
478
- async checkPermissions() {
479
- return this.sendRequest("check_permissions");
480
- }
481
- /**
482
- * Get logs
483
- */
484
- getLogs(options) {
485
- return this.logRing.query(options);
486
- }
487
- /**
488
- * Clear logs
489
- */
490
- clearLogs() {
491
- this.logRing.clear();
492
- }
493
- /**
494
- * Get performance metrics
495
- */
496
- async getPerformanceMetrics() {
497
- return this.sendRequest("get_performance_metrics");
498
- }
499
- /**
500
- * Get screen size
501
- */
502
- async getScreenSize() {
503
- const info = await this.getWindowInfo();
504
- if (info.windows.length > 0) {
505
- const focused = info.windows.find((w) => w.focused) ?? info.windows[0];
506
- return {
507
- width: focused.bounds.width,
508
- height: focused.bounds.height,
509
- };
510
- }
511
- return { width: 1920, height: 1080 }; // Default
512
- }
513
- /**
514
- * Get list of connected monitors (multi-monitor support)
515
- */
516
- async getMonitors() {
517
- const result = await this.sendRequest("get_monitors");
518
- return result.monitors;
519
- }
520
- /**
521
- * Launch app by bundle ID (for compatibility with mobile interface).
522
- * If companion is running, launches native macOS app and resolves PID.
523
- */
524
- launchApp(packageName) {
525
- return `Desktop platform doesn't support package launch. Use desktop_launch to start an app.`;
526
- }
527
- /**
528
- * Stop app (for compatibility)
529
- */
530
- stopApp(packageName) {
531
- // No-op for desktop
532
- }
533
- /**
534
- * Shell command (not supported)
535
- */
536
- shell(command) {
537
- throw new Error("Shell commands not supported for desktop. Use native APIs.");
538
- }
539
- }
540
- //# sourceMappingURL=client.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"client.js","sourceRoot":"","sources":["../../src/desktop/client.ts"],"names":[],"mappings":"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"}
@@ -1,45 +0,0 @@
1
- /**
2
- * Gradle task detection and launcher for Compose Desktop projects
3
- */
4
- import { ChildProcess } from "child_process";
5
- import type { GradleProject, RawLaunchOptions } from "./types.js";
6
- export declare class GradleLauncher {
7
- /**
8
- * Check if Gradle wrapper exists in project
9
- */
10
- hasGradleWrapper(projectPath: string): boolean;
11
- /**
12
- * Get Gradle executable (wrapper or system gradle)
13
- */
14
- private getGradleExecutable;
15
- /**
16
- * Detect available desktop run tasks in the project
17
- */
18
- detectDesktopTasks(projectPath: string): Promise<string[]>;
19
- /**
20
- * Analyze Gradle project and return info
21
- */
22
- analyzeProject(projectPath: string): Promise<GradleProject>;
23
- /**
24
- * Launch desktop app via Gradle
25
- * Returns the spawned process
26
- */
27
- launch(options: RawLaunchOptions): ChildProcess;
28
- /**
29
- * Synchronous version of detectDesktopTasks (for launch)
30
- */
31
- private detectDesktopTasksSync;
32
- /**
33
- * Stop a running Gradle process
34
- */
35
- stop(process: ChildProcess): void;
36
- /**
37
- * Check if Gradle daemon is running
38
- */
39
- isGradleDaemonRunning(projectPath: string): boolean;
40
- /**
41
- * Stop Gradle daemon
42
- */
43
- stopGradleDaemon(projectPath: string): void;
44
- }
45
- //# sourceMappingURL=gradle.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"gradle.d.ts","sourceRoot":"","sources":["../../src/desktop/gradle.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAuB,YAAY,EAAE,MAAM,eAAe,CAAC;AAGlE,OAAO,KAAK,EAAE,aAAa,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;AAYlE,qBAAa,cAAc;IACzB;;OAEG;IACH,gBAAgB,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO;IAM9C;;OAEG;IACH,OAAO,CAAC,mBAAmB;IAS3B;;OAEG;IACG,kBAAkB,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC;IA2DhE;;OAEG;IACG,cAAc,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,aAAa,CAAC;IAuBjE;;;OAGG;IACH,MAAM,CAAC,OAAO,EAAE,gBAAgB,GAAG,YAAY;IAuD/C;;OAEG;IACH,OAAO,CAAC,sBAAsB;IAuB9B;;OAEG;IACH,IAAI,CAAC,OAAO,EAAE,YAAY,GAAG,IAAI;IAcjC;;OAEG;IACH,qBAAqB,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO;IAenD;;OAEG;IACH,gBAAgB,CAAC,WAAW,EAAE,MAAM,GAAG,IAAI;CAa5C"}