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,19 +0,0 @@
1
- /**
2
- * Low-level simctl invocation. Centralises the argv-form exec so the host shell
3
- * (/bin/sh) is never spawned — see SECURITY notes on each helper.
4
- *
5
- * No `IosClient` state is involved here; behaviour is parameterised entirely by
6
- * arguments. Retry / WDA loops live in client.ts and call into these as leaves.
7
- */
8
- export declare const SIMCTL_EXEC_TIMEOUT_MS = 15000;
9
- /**
10
- * SECURITY: routes through execFileSync — no /bin/sh -c. Shell metacharacters
11
- * in `args` are passed as literal argv slots (CWE-78 mitigation, issue #40).
12
- */
13
- export declare function execSimctl(args: string[]): string;
14
- /**
15
- * Variant that suppresses stderr (replaces shell `2>/dev/null`).
16
- * Same security guarantee as execSimctl.
17
- */
18
- export declare function execSimctlQuiet(args: string[]): string;
19
- //# sourceMappingURL=simctl-exec.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"simctl-exec.d.ts","sourceRoot":"","sources":["../../src/ios/simctl-exec.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAKH,eAAO,MAAM,sBAAsB,QAAS,CAAC;AAoB7C;;;GAGG;AACH,wBAAgB,UAAU,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,MAAM,CAWjD;AAED;;;GAGG;AACH,wBAAgB,eAAe,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,MAAM,CAatD"}
@@ -1,55 +0,0 @@
1
- /**
2
- * Low-level simctl invocation. Centralises the argv-form exec so the host shell
3
- * (/bin/sh) is never spawned — see SECURITY notes on each helper.
4
- *
5
- * No `IosClient` state is involved here; behaviour is parameterised entirely by
6
- * arguments. Retry / WDA loops live in client.ts and call into these as leaves.
7
- */
8
- import { execFileSync } from "child_process";
9
- import { classifySimctlError } from "../errors.js";
10
- export const SIMCTL_EXEC_TIMEOUT_MS = 15_000;
11
- function handleExecError(error, fullArgs) {
12
- const e = error;
13
- const display = `xcrun ${fullArgs.join(" ")}`;
14
- if (e.killed === true || e.signal === "SIGTERM") {
15
- throw new Error(`simctl command timed out after ${SIMCTL_EXEC_TIMEOUT_MS}ms: ${display}. Simulator may be unresponsive.`);
16
- }
17
- throw classifySimctlError(e.stderr?.toString() ?? e.message ?? String(error), display);
18
- }
19
- /**
20
- * SECURITY: routes through execFileSync — no /bin/sh -c. Shell metacharacters
21
- * in `args` are passed as literal argv slots (CWE-78 mitigation, issue #40).
22
- */
23
- export function execSimctl(args) {
24
- const fullArgs = ["simctl", ...args];
25
- try {
26
- return execFileSync("xcrun", fullArgs, {
27
- encoding: "utf-8",
28
- timeout: SIMCTL_EXEC_TIMEOUT_MS,
29
- maxBuffer: 50 * 1024 * 1024,
30
- }).trim();
31
- }
32
- catch (error) {
33
- handleExecError(error, fullArgs);
34
- }
35
- }
36
- /**
37
- * Variant that suppresses stderr (replaces shell `2>/dev/null`).
38
- * Same security guarantee as execSimctl.
39
- */
40
- export function execSimctlQuiet(args) {
41
- const fullArgs = ["simctl", ...args];
42
- try {
43
- const out = execFileSync("xcrun", fullArgs, {
44
- encoding: "utf-8",
45
- timeout: SIMCTL_EXEC_TIMEOUT_MS,
46
- maxBuffer: 50 * 1024 * 1024,
47
- stdio: ["ignore", "pipe", "ignore"],
48
- });
49
- return out.toString().trim();
50
- }
51
- catch (error) {
52
- handleExecError(error, fullArgs);
53
- }
54
- }
55
- //# sourceMappingURL=simctl-exec.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"simctl-exec.js","sourceRoot":"","sources":["../../src/ios/simctl-exec.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AAC7C,OAAO,EAAE,mBAAmB,EAAE,MAAM,cAAc,CAAC;AAEnD,MAAM,CAAC,MAAM,sBAAsB,GAAG,MAAM,CAAC;AAS7C,SAAS,eAAe,CAAC,KAAc,EAAE,QAAkB;IACzD,MAAM,CAAC,GAAG,KAAkB,CAAC;IAC7B,MAAM,OAAO,GAAG,SAAS,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;IAC9C,IAAI,CAAC,CAAC,MAAM,KAAK,IAAI,IAAI,CAAC,CAAC,MAAM,KAAK,SAAS,EAAE,CAAC;QAChD,MAAM,IAAI,KAAK,CACb,kCAAkC,sBAAsB,OAAO,OAAO,kCAAkC,CACzG,CAAC;IACJ,CAAC;IACD,MAAM,mBAAmB,CAAC,CAAC,CAAC,MAAM,EAAE,QAAQ,EAAE,IAAI,CAAC,CAAC,OAAO,IAAI,MAAM,CAAC,KAAK,CAAC,EAAE,OAAO,CAAC,CAAC;AACzF,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,UAAU,CAAC,IAAc;IACvC,MAAM,QAAQ,GAAG,CAAC,QAAQ,EAAE,GAAG,IAAI,CAAC,CAAC;IACrC,IAAI,CAAC;QACH,OAAO,YAAY,CAAC,OAAO,EAAE,QAAQ,EAAE;YACrC,QAAQ,EAAE,OAAO;YACjB,OAAO,EAAE,sBAAsB;YAC/B,SAAS,EAAE,EAAE,GAAG,IAAI,GAAG,IAAI;SAC5B,CAAC,CAAC,IAAI,EAAE,CAAC;IACZ,CAAC;IAAC,OAAO,KAAc,EAAE,CAAC;QACxB,eAAe,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC;IACnC,CAAC;AACH,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,eAAe,CAAC,IAAc;IAC5C,MAAM,QAAQ,GAAG,CAAC,QAAQ,EAAE,GAAG,IAAI,CAAC,CAAC;IACrC,IAAI,CAAC;QACH,MAAM,GAAG,GAAG,YAAY,CAAC,OAAO,EAAE,QAAQ,EAAE;YAC1C,QAAQ,EAAE,OAAO;YACjB,OAAO,EAAE,sBAAsB;YAC/B,SAAS,EAAE,EAAE,GAAG,IAAI,GAAG,IAAI;YAC3B,KAAK,EAAE,CAAC,QAAQ,EAAE,MAAM,EAAE,QAAQ,CAAC;SACpC,CAAC,CAAC;QACH,OAAO,GAAG,CAAC,QAAQ,EAAE,CAAC,IAAI,EAAE,CAAC;IAC/B,CAAC;IAAC,OAAO,KAAc,EAAE,CAAC;QACxB,eAAe,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC;IACnC,CAAC;AACH,CAAC"}
@@ -1,10 +0,0 @@
1
- /**
2
- * Pure parsers for simctl JSON / text output. No I/O.
3
- */
4
- import type { IosDevice } from "./types.js";
5
- /**
6
- * Parse output of `xcrun simctl list devices -j` into a flat list of available
7
- * simulators. Unavailable devices are filtered out.
8
- */
9
- export declare function parseDevicesJson(output: string): IosDevice[];
10
- //# sourceMappingURL=simctl-parsers.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"simctl-parsers.d.ts","sourceRoot":"","sources":["../../src/ios/simctl-parsers.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AAe5C;;;GAGG;AACH,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,EAAE,CAqB5D"}
@@ -1,29 +0,0 @@
1
- /**
2
- * Pure parsers for simctl JSON / text output. No I/O.
3
- */
4
- const RUNTIME_PREFIX = "com.apple.CoreSimulator.SimRuntime.";
5
- /**
6
- * Parse output of `xcrun simctl list devices -j` into a flat list of available
7
- * simulators. Unavailable devices are filtered out.
8
- */
9
- export function parseDevicesJson(output) {
10
- const data = JSON.parse(output);
11
- const devices = [];
12
- for (const [runtime, deviceList] of Object.entries(data.devices)) {
13
- if (!Array.isArray(deviceList))
14
- continue;
15
- for (const device of deviceList) {
16
- if (device.isAvailable) {
17
- devices.push({
18
- id: device.udid,
19
- name: device.name,
20
- state: device.state.toLowerCase(),
21
- runtime: runtime.replace(RUNTIME_PREFIX, ""),
22
- isSimulator: true,
23
- });
24
- }
25
- }
26
- }
27
- return devices;
28
- }
29
- //# sourceMappingURL=simctl-parsers.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"simctl-parsers.js","sourceRoot":"","sources":["../../src/ios/simctl-parsers.ts"],"names":[],"mappings":"AAAA;;GAEG;AAeH,MAAM,cAAc,GAAG,qCAAqC,CAAC;AAE7D;;;GAGG;AACH,MAAM,UAAU,gBAAgB,CAAC,MAAc;IAC7C,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAmB,CAAC;IAClD,MAAM,OAAO,GAAgB,EAAE,CAAC;IAEhC,KAAK,MAAM,CAAC,OAAO,EAAE,UAAU,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC;QACjE,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,UAAU,CAAC;YAAE,SAAS;QAEzC,KAAK,MAAM,MAAM,IAAI,UAAU,EAAE,CAAC;YAChC,IAAI,MAAM,CAAC,WAAW,EAAE,CAAC;gBACvB,OAAO,CAAC,IAAI,CAAC;oBACX,EAAE,EAAE,MAAM,CAAC,IAAI;oBACf,IAAI,EAAE,MAAM,CAAC,IAAI;oBACjB,KAAK,EAAE,MAAM,CAAC,KAAK,CAAC,WAAW,EAAE;oBACjC,OAAO,EAAE,OAAO,CAAC,OAAO,CAAC,cAAc,EAAE,EAAE,CAAC;oBAC5C,WAAW,EAAE,IAAI;iBAClB,CAAC,CAAC;YACL,CAAC;QACH,CAAC;IACH,CAAC;IAED,OAAO,OAAO,CAAC;AACjB,CAAC"}
@@ -1,8 +0,0 @@
1
- export interface IosDevice {
2
- id: string;
3
- name: string;
4
- state: string;
5
- runtime: string;
6
- isSimulator: boolean;
7
- }
8
- //# sourceMappingURL=types.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/ios/types.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,SAAS;IACxB,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,MAAM,CAAC;IAChB,WAAW,EAAE,OAAO,CAAC;CACtB"}
package/dist/ios/types.js DELETED
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=types.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/ios/types.ts"],"names":[],"mappings":""}
@@ -1,4 +0,0 @@
1
- export { WDAManager } from "./wda-manager.js";
2
- export { WDAClient } from "./wda-client.js";
3
- export * from "./wda-types.js";
4
- //# sourceMappingURL=index.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/ios/wda/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAC9C,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAC5C,cAAc,gBAAgB,CAAC"}
@@ -1,4 +0,0 @@
1
- export { WDAManager } from "./wda-manager.js";
2
- export { WDAClient } from "./wda-client.js";
3
- export * from "./wda-types.js";
4
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/ios/wda/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAC9C,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAC5C,cAAc,gBAAgB,CAAC"}
@@ -1,27 +0,0 @@
1
- import { WDAElement, WDARect, UITreeNode, LocatorStrategy } from "./wda-types.js";
2
- export declare class WDAClient {
3
- private baseUrl;
4
- private sessionId;
5
- private readonly operationTimeout;
6
- constructor(port: number);
7
- ensureSession(deviceId: string): Promise<void>;
8
- private createSession;
9
- deleteSession(): Promise<void>;
10
- getAccessibleSource(): Promise<UITreeNode>;
11
- findElement(strategy: LocatorStrategy, selector: string): Promise<WDAElement>;
12
- findElements(strategy: LocatorStrategy, selector: string): Promise<WDAElement[]>;
13
- clickElement(elementId: string): Promise<void>;
14
- tapByCoordinates(x: number, y: number): Promise<void>;
15
- longPress(x: number, y: number, durationMs?: number): Promise<void>;
16
- typeText(text: string): Promise<void>;
17
- getWindowSize(): Promise<{
18
- width: number;
19
- height: number;
20
- }>;
21
- swipe(x1: number, y1: number, x2: number, y2: number, duration?: number): Promise<void>;
22
- getElementRect(elementId: string): Promise<WDARect>;
23
- getElementText(elementId: string): Promise<string>;
24
- isElementDisplayed(elementId: string): Promise<boolean>;
25
- private request;
26
- }
27
- //# sourceMappingURL=wda-client.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"wda-client.d.ts","sourceRoot":"","sources":["../../../src/ios/wda/wda-client.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,UAAU,EACV,OAAO,EACP,UAAU,EACV,eAAe,EAEhB,MAAM,gBAAgB,CAAC;AAExB,qBAAa,SAAS;IACpB,OAAO,CAAC,OAAO,CAAS;IACxB,OAAO,CAAC,SAAS,CAAuB;IACxC,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAAS;gBAE9B,IAAI,EAAE,MAAM;IAIlB,aAAa,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;YAiBtC,aAAa;IAwBrB,aAAa,IAAI,OAAO,CAAC,IAAI,CAAC;IAW9B,mBAAmB,IAAI,OAAO,CAAC,UAAU,CAAC;IAY1C,WAAW,CACf,QAAQ,EAAE,eAAe,EACzB,QAAQ,EAAE,MAAM,GACf,OAAO,CAAC,UAAU,CAAC;IAiBhB,YAAY,CAChB,QAAQ,EAAE,eAAe,EACzB,QAAQ,EAAE,MAAM,GACf,OAAO,CAAC,UAAU,EAAE,CAAC;IAiBlB,YAAY,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAW9C,gBAAgB,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAuBrD,SAAS,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,UAAU,GAAE,MAAa,GAAG,OAAO,CAAC,IAAI,CAAC;IAuBzE,QAAQ,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IA2BrC,aAAa,IAAI,OAAO,CAAC;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,CAAC;IAY3D,KAAK,CACT,EAAE,EAAE,MAAM,EACV,EAAE,EAAE,MAAM,EACV,EAAE,EAAE,MAAM,EACV,EAAE,EAAE,MAAM,EACV,QAAQ,GAAE,MAAY,GACrB,OAAO,CAAC,IAAI,CAAC;IAwBV,cAAc,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAanD,cAAc,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAalD,kBAAkB,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;YAa/C,OAAO;CAgDtB"}
@@ -1,237 +0,0 @@
1
- export class WDAClient {
2
- baseUrl;
3
- sessionId = null;
4
- operationTimeout = 10000;
5
- constructor(port) {
6
- this.baseUrl = `http://localhost:${port}`;
7
- }
8
- async ensureSession(deviceId) {
9
- if (this.sessionId) {
10
- try {
11
- // Verify session is still valid
12
- await this.request("GET", `/session/${this.sessionId}`);
13
- return;
14
- }
15
- catch (error) {
16
- // Session is invalid, clear it
17
- const msg = error instanceof Error ? error.message : String(error);
18
- console.error("WDA session invalid, recreating:", msg);
19
- this.sessionId = null;
20
- }
21
- }
22
- await this.createSession(deviceId);
23
- }
24
- async createSession(deviceId) {
25
- const response = await this.request("POST", "/session", {
26
- capabilities: {
27
- alwaysMatch: {
28
- platformName: "iOS",
29
- "appium:automationName": "XCUITest",
30
- "appium:udid": deviceId,
31
- },
32
- },
33
- });
34
- this.sessionId = response.sessionId || response.value?.sessionId;
35
- if (!this.sessionId) {
36
- throw new Error("Failed to create WebDriverAgent session.\n\n" +
37
- "Possible causes:\n" +
38
- "- Simulator is not running (boot with: xcrun simctl boot <UDID>)\n" +
39
- "- Port in use (check: lsof -i :8100)\n" +
40
- "- Code signing issues\n\n" +
41
- "Try restarting the simulator.");
42
- }
43
- }
44
- async deleteSession() {
45
- if (this.sessionId) {
46
- try {
47
- await this.request("DELETE", `/session/${this.sessionId}`);
48
- }
49
- catch {
50
- // Ignore errors on cleanup
51
- }
52
- this.sessionId = null;
53
- }
54
- }
55
- async getAccessibleSource() {
56
- if (!this.sessionId) {
57
- throw new Error("No active WDA session");
58
- }
59
- const response = await this.request("GET", `/session/${this.sessionId}/wda/accessibleSource`);
60
- return response.value || response;
61
- }
62
- async findElement(strategy, selector) {
63
- if (!this.sessionId) {
64
- throw new Error("No active WDA session");
65
- }
66
- const response = await this.request("POST", `/session/${this.sessionId}/element`, {
67
- using: strategy,
68
- value: selector,
69
- });
70
- return response.value || response;
71
- }
72
- async findElements(strategy, selector) {
73
- if (!this.sessionId) {
74
- throw new Error("No active WDA session");
75
- }
76
- const response = await this.request("POST", `/session/${this.sessionId}/elements`, {
77
- using: strategy,
78
- value: selector,
79
- });
80
- return response.value || response || [];
81
- }
82
- async clickElement(elementId) {
83
- if (!this.sessionId) {
84
- throw new Error("No active WDA session");
85
- }
86
- await this.request("POST", `/session/${this.sessionId}/element/${elementId}/click`);
87
- }
88
- async tapByCoordinates(x, y) {
89
- if (!this.sessionId) {
90
- throw new Error("No active WDA session");
91
- }
92
- // Use W3C WebDriver Actions API for tapping
93
- await this.request("POST", `/session/${this.sessionId}/actions`, {
94
- actions: [
95
- {
96
- type: "pointer",
97
- id: "finger1",
98
- parameters: { pointerType: "touch" },
99
- actions: [
100
- { type: "pointerMove", duration: 0, x, y },
101
- { type: "pointerDown", button: 0 },
102
- { type: "pause", duration: 100 },
103
- { type: "pointerUp", button: 0 },
104
- ],
105
- },
106
- ],
107
- });
108
- }
109
- async longPress(x, y, durationMs = 1000) {
110
- if (!this.sessionId) {
111
- throw new Error("No active WDA session");
112
- }
113
- // Use W3C WebDriver Actions API: pointerDown + pause(duration) + pointerUp
114
- await this.request("POST", `/session/${this.sessionId}/actions`, {
115
- actions: [
116
- {
117
- type: "pointer",
118
- id: "finger1",
119
- parameters: { pointerType: "touch" },
120
- actions: [
121
- { type: "pointerMove", duration: 0, x, y },
122
- { type: "pointerDown", button: 0 },
123
- { type: "pause", duration: durationMs },
124
- { type: "pointerUp", button: 0 },
125
- ],
126
- },
127
- ],
128
- });
129
- }
130
- async typeText(text) {
131
- if (!this.sessionId) {
132
- throw new Error("No active WDA session");
133
- }
134
- // Try WDA-specific /wda/keys first (works on some WDA builds)
135
- try {
136
- await this.request("POST", `/session/${this.sessionId}/wda/keys`, {
137
- value: text.split(""),
138
- });
139
- return;
140
- }
141
- catch {
142
- // Fall through to W3C active element setValue
143
- }
144
- // Fallback: W3C standard — find active/focused element and setValue
145
- const activeEl = await this.request("GET", `/session/${this.sessionId}/element/active`);
146
- const elementId = activeEl?.value?.ELEMENT ?? activeEl?.value?.element ?? activeEl?.ELEMENT;
147
- if (!elementId) {
148
- throw new Error("No focused element found for text input. Tap a text field first.");
149
- }
150
- await this.request("POST", `/session/${this.sessionId}/element/${elementId}/value`, {
151
- text,
152
- value: text.split(""),
153
- });
154
- }
155
- async getWindowSize() {
156
- if (!this.sessionId) {
157
- throw new Error("No active WDA session");
158
- }
159
- const response = await this.request("GET", `/session/${this.sessionId}/window/size`);
160
- return response.value || response;
161
- }
162
- async swipe(x1, y1, x2, y2, duration = 300) {
163
- if (!this.sessionId) {
164
- throw new Error("No active WDA session");
165
- }
166
- // Use W3C WebDriver Actions API for swiping
167
- await this.request("POST", `/session/${this.sessionId}/actions`, {
168
- actions: [
169
- {
170
- type: "pointer",
171
- id: "finger1",
172
- parameters: { pointerType: "touch" },
173
- actions: [
174
- { type: "pointerMove", duration: 0, x: x1, y: y1 },
175
- { type: "pointerDown", button: 0 },
176
- { type: "pause", duration: 50 },
177
- { type: "pointerMove", duration, x: x2, y: y2, origin: "viewport" },
178
- { type: "pointerUp", button: 0 },
179
- ],
180
- },
181
- ],
182
- });
183
- }
184
- async getElementRect(elementId) {
185
- if (!this.sessionId) {
186
- throw new Error("No active WDA session");
187
- }
188
- const response = await this.request("GET", `/session/${this.sessionId}/element/${elementId}/rect`);
189
- return response.value || response;
190
- }
191
- async getElementText(elementId) {
192
- if (!this.sessionId) {
193
- throw new Error("No active WDA session");
194
- }
195
- const response = await this.request("GET", `/session/${this.sessionId}/element/${elementId}/text`);
196
- return response.value || response || "";
197
- }
198
- async isElementDisplayed(elementId) {
199
- if (!this.sessionId) {
200
- throw new Error("No active WDA session");
201
- }
202
- const response = await this.request("GET", `/session/${this.sessionId}/element/${elementId}/displayed`);
203
- return response.value || response || false;
204
- }
205
- async request(method, path, body) {
206
- const controller = new AbortController();
207
- const timeout = setTimeout(() => controller.abort(), this.operationTimeout);
208
- try {
209
- const response = await fetch(`${this.baseUrl}${path}`, {
210
- method,
211
- headers: {
212
- "Content-Type": "application/json",
213
- },
214
- body: body ? JSON.stringify(body) : undefined,
215
- signal: controller.signal,
216
- });
217
- clearTimeout(timeout);
218
- if (!response.ok) {
219
- const text = await response.text();
220
- throw new Error(`WebDriverAgent request failed: ${response.status} ${response.statusText}\n${text}`);
221
- }
222
- const data = await response.json();
223
- if (data.status !== undefined && data.status !== 0) {
224
- throw new Error(`WebDriverAgent error: ${data.value?.message || JSON.stringify(data)}`);
225
- }
226
- return data;
227
- }
228
- catch (error) {
229
- clearTimeout(timeout);
230
- if (error instanceof Error && error.name === "AbortError") {
231
- throw new Error(`WebDriverAgent request timed out after ${this.operationTimeout}ms`);
232
- }
233
- throw error;
234
- }
235
- }
236
- }
237
- //# sourceMappingURL=wda-client.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"wda-client.js","sourceRoot":"","sources":["../../../src/ios/wda/wda-client.ts"],"names":[],"mappings":"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"}
@@ -1,18 +0,0 @@
1
- import { WDAClient } from "./wda-client.js";
2
- export declare class WDAManager {
3
- private instances;
4
- private clients;
5
- /** Deduplicates parallel launches for the same device */
6
- private launchPromises;
7
- private readonly startupTimeout;
8
- private readonly buildTimeout;
9
- ensureWDAReady(deviceId: string): Promise<WDAClient>;
10
- private doLaunch;
11
- private discoverWDA;
12
- private buildWDAIfNeeded;
13
- private launchWDA;
14
- private checkHealth;
15
- private findFreePort;
16
- cleanup(): void;
17
- }
18
- //# sourceMappingURL=wda-manager.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"wda-manager.d.ts","sourceRoot":"","sources":["../../../src/ios/wda/wda-manager.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAG5C,qBAAa,UAAU;IACrB,OAAO,CAAC,SAAS,CAA2C;IAC5D,OAAO,CAAC,OAAO,CAAqC;IACpD,yDAAyD;IACzD,OAAO,CAAC,cAAc,CAA8C;IACpE,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAS;IACxC,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAU;IAEjC,cAAc,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,SAAS,CAAC;YAuC5C,QAAQ;YAcR,WAAW;YAgCX,gBAAgB;YAmChB,SAAS;YA2FT,WAAW;YAiBX,YAAY;IAsB1B,OAAO,IAAI,IAAI;CAahB"}