claude-in-mobile 3.14.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 (385) 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/runtime/bootstrap.d.ts +7 -0
  38. package/dist/runtime/bootstrap.d.ts.map +1 -1
  39. package/dist/runtime/bootstrap.js +87 -15
  40. package/dist/runtime/bootstrap.js.map +1 -1
  41. package/dist/runtime/cli.d.ts.map +1 -1
  42. package/dist/runtime/cli.js +14 -0
  43. package/dist/runtime/cli.js.map +1 -1
  44. package/dist/runtime/platform-cli.d.ts +24 -0
  45. package/dist/runtime/platform-cli.d.ts.map +1 -0
  46. package/dist/runtime/platform-cli.js +116 -0
  47. package/dist/runtime/platform-cli.js.map +1 -0
  48. package/dist/runtime/platform-config.d.ts +21 -0
  49. package/dist/runtime/platform-config.d.ts.map +1 -0
  50. package/dist/runtime/platform-config.js +71 -0
  51. package/dist/runtime/platform-config.js.map +1 -0
  52. package/dist/tools/browser-tools.js.map +1 -1
  53. package/dist/tools/clipboard-tools.js +1 -1
  54. package/dist/tools/clipboard-tools.js.map +1 -1
  55. package/dist/tools/context/hints.d.ts +1 -1
  56. package/dist/tools/context/hints.d.ts.map +1 -1
  57. package/dist/tools/context/hints.js +1 -1
  58. package/dist/tools/context/hints.js.map +1 -1
  59. package/dist/tools/context/ios-helpers.d.ts +1 -1
  60. package/dist/tools/context/ios-helpers.d.ts.map +1 -1
  61. package/dist/tools/context/shared-state-class.d.ts +1 -1
  62. package/dist/tools/context/shared-state-class.d.ts.map +1 -1
  63. package/dist/tools/context/shared-state.d.ts +1 -1
  64. package/dist/tools/context/shared-state.d.ts.map +1 -1
  65. package/dist/tools/context.d.ts +2 -1
  66. package/dist/tools/context.d.ts.map +1 -1
  67. package/dist/tools/context.js +17 -9
  68. package/dist/tools/context.js.map +1 -1
  69. package/dist/tools/desktop-tools.d.ts.map +1 -1
  70. package/dist/tools/desktop-tools.js.map +1 -1
  71. package/dist/tools/flow/common.js +1 -1
  72. package/dist/tools/flow/common.js.map +1 -1
  73. package/dist/tools/flow/run.js +1 -1
  74. package/dist/tools/flow/run.js.map +1 -1
  75. package/dist/tools/helpers/get-elements.d.ts +1 -1
  76. package/dist/tools/helpers/get-elements.d.ts.map +1 -1
  77. package/dist/tools/helpers/get-elements.js +1 -1
  78. package/dist/tools/helpers/get-elements.js.map +1 -1
  79. package/dist/tools/helpers/resolve-element.js +1 -1
  80. package/dist/tools/helpers/resolve-element.js.map +1 -1
  81. package/dist/tools/screenshot-tools.js +1 -1
  82. package/dist/tools/screenshot-tools.js.map +1 -1
  83. package/dist/tools/ui/analyze.js +1 -1
  84. package/dist/tools/ui/analyze.js.map +1 -1
  85. package/dist/tools/ui/assert.js +1 -1
  86. package/dist/tools/ui/assert.js.map +1 -1
  87. package/dist/tools/ui/find.js +1 -1
  88. package/dist/tools/ui/find.js.map +1 -1
  89. package/dist/tools/ui/tree.js +1 -1
  90. package/dist/tools/ui/tree.js.map +1 -1
  91. package/dist/tools/ui/wait.js +1 -1
  92. package/dist/tools/ui/wait.js.map +1 -1
  93. package/dist/ui-tree/ui-parser/diff-engine.d.ts.map +1 -0
  94. package/dist/ui-tree/ui-parser/diff-engine.js.map +1 -0
  95. package/dist/ui-tree/ui-parser/element-builder.d.ts.map +1 -0
  96. package/dist/ui-tree/ui-parser/element-builder.js.map +1 -0
  97. package/dist/ui-tree/ui-parser/element-finders.d.ts.map +1 -0
  98. package/dist/ui-tree/ui-parser/element-finders.js.map +1 -0
  99. package/dist/ui-tree/ui-parser/formatters/compact.d.ts.map +1 -0
  100. package/dist/ui-tree/ui-parser/formatters/compact.js.map +1 -0
  101. package/dist/ui-tree/ui-parser/formatters/full.d.ts.map +1 -0
  102. package/dist/ui-tree/ui-parser/formatters/full.js.map +1 -0
  103. package/dist/ui-tree/ui-parser/formatters/index.d.ts.map +1 -0
  104. package/dist/ui-tree/ui-parser/formatters/index.js.map +1 -0
  105. package/dist/ui-tree/ui-parser/formatters/semantic.d.ts.map +1 -0
  106. package/dist/ui-tree/ui-parser/formatters/semantic.js.map +1 -0
  107. package/dist/ui-tree/ui-parser/node-parser.d.ts.map +1 -0
  108. package/dist/ui-tree/ui-parser/node-parser.js.map +1 -0
  109. package/dist/ui-tree/ui-parser/screen-analyzer.d.ts.map +1 -0
  110. package/dist/ui-tree/ui-parser/screen-analyzer.js.map +1 -0
  111. package/dist/ui-tree/ui-parser/types.d.ts.map +1 -0
  112. package/dist/ui-tree/ui-parser/types.js.map +1 -0
  113. package/dist/ui-tree/ui-parser.d.ts.map +1 -0
  114. package/dist/ui-tree/ui-parser.js.map +1 -0
  115. package/dist/ui-tree/ui-scoring.d.ts.map +1 -0
  116. package/dist/ui-tree/ui-scoring.js.map +1 -0
  117. package/dist/ui-tree/ui-tree-cache.d.ts.map +1 -0
  118. package/dist/ui-tree/ui-tree-cache.js.map +1 -0
  119. package/dist/utils/image/annotate.d.ts +1 -1
  120. package/dist/utils/image/annotate.d.ts.map +1 -1
  121. package/package.json +11 -6
  122. package/dist/adapters/android-adapter.d.ts +0 -64
  123. package/dist/adapters/android-adapter.d.ts.map +0 -1
  124. package/dist/adapters/android-adapter.js +0 -164
  125. package/dist/adapters/android-adapter.js.map +0 -1
  126. package/dist/adapters/aurora-adapter.d.ts +0 -56
  127. package/dist/adapters/aurora-adapter.d.ts.map +0 -1
  128. package/dist/adapters/aurora-adapter.js +0 -118
  129. package/dist/adapters/aurora-adapter.js.map +0 -1
  130. package/dist/adapters/browser-adapter.d.ts +0 -51
  131. package/dist/adapters/browser-adapter.d.ts.map +0 -1
  132. package/dist/adapters/browser-adapter.js +0 -223
  133. package/dist/adapters/browser-adapter.js.map +0 -1
  134. package/dist/adapters/desktop-adapter.d.ts +0 -64
  135. package/dist/adapters/desktop-adapter.d.ts.map +0 -1
  136. package/dist/adapters/desktop-adapter.js +0 -202
  137. package/dist/adapters/desktop-adapter.js.map +0 -1
  138. package/dist/adapters/ios-adapter.d.ts +0 -60
  139. package/dist/adapters/ios-adapter.d.ts.map +0 -1
  140. package/dist/adapters/ios-adapter.js +0 -146
  141. package/dist/adapters/ios-adapter.js.map +0 -1
  142. package/dist/adb/client.d.ts +0 -238
  143. package/dist/adb/client.d.ts.map +0 -1
  144. package/dist/adb/client.js +0 -462
  145. package/dist/adb/client.js.map +0 -1
  146. package/dist/adb/exec.d.ts +0 -23
  147. package/dist/adb/exec.d.ts.map +0 -1
  148. package/dist/adb/exec.js +0 -98
  149. package/dist/adb/exec.js.map +0 -1
  150. package/dist/adb/index.d.ts +0 -5
  151. package/dist/adb/index.d.ts.map +0 -1
  152. package/dist/adb/index.js +0 -3
  153. package/dist/adb/index.js.map +0 -1
  154. package/dist/adb/keycodes.d.ts +0 -22
  155. package/dist/adb/keycodes.d.ts.map +0 -1
  156. package/dist/adb/keycodes.js +0 -69
  157. package/dist/adb/keycodes.js.map +0 -1
  158. package/dist/adb/logcat.d.ts +0 -23
  159. package/dist/adb/logcat.d.ts.map +0 -1
  160. package/dist/adb/logcat.js +0 -40
  161. package/dist/adb/logcat.js.map +0 -1
  162. package/dist/adb/parsers.d.ts +0 -60
  163. package/dist/adb/parsers.d.ts.map +0 -1
  164. package/dist/adb/parsers.js +0 -118
  165. package/dist/adb/parsers.js.map +0 -1
  166. package/dist/adb/resolver.d.ts +0 -24
  167. package/dist/adb/resolver.d.ts.map +0 -1
  168. package/dist/adb/resolver.js +0 -130
  169. package/dist/adb/resolver.js.map +0 -1
  170. package/dist/adb/text-escape.d.ts +0 -23
  171. package/dist/adb/text-escape.d.ts.map +0 -1
  172. package/dist/adb/text-escape.js +0 -41
  173. package/dist/adb/text-escape.js.map +0 -1
  174. package/dist/adb/ui-parser/diff-engine.d.ts.map +0 -1
  175. package/dist/adb/ui-parser/diff-engine.js.map +0 -1
  176. package/dist/adb/ui-parser/element-builder.d.ts.map +0 -1
  177. package/dist/adb/ui-parser/element-builder.js.map +0 -1
  178. package/dist/adb/ui-parser/element-finders.d.ts.map +0 -1
  179. package/dist/adb/ui-parser/element-finders.js.map +0 -1
  180. package/dist/adb/ui-parser/formatters/compact.d.ts.map +0 -1
  181. package/dist/adb/ui-parser/formatters/compact.js.map +0 -1
  182. package/dist/adb/ui-parser/formatters/full.d.ts.map +0 -1
  183. package/dist/adb/ui-parser/formatters/full.js.map +0 -1
  184. package/dist/adb/ui-parser/formatters/index.d.ts.map +0 -1
  185. package/dist/adb/ui-parser/formatters/index.js.map +0 -1
  186. package/dist/adb/ui-parser/formatters/semantic.d.ts.map +0 -1
  187. package/dist/adb/ui-parser/formatters/semantic.js.map +0 -1
  188. package/dist/adb/ui-parser/node-parser.d.ts.map +0 -1
  189. package/dist/adb/ui-parser/node-parser.js.map +0 -1
  190. package/dist/adb/ui-parser/screen-analyzer.d.ts.map +0 -1
  191. package/dist/adb/ui-parser/screen-analyzer.js.map +0 -1
  192. package/dist/adb/ui-parser/types.d.ts.map +0 -1
  193. package/dist/adb/ui-parser/types.js.map +0 -1
  194. package/dist/adb/ui-parser.d.ts.map +0 -1
  195. package/dist/adb/ui-parser.js.map +0 -1
  196. package/dist/adb/ui-scoring.d.ts.map +0 -1
  197. package/dist/adb/ui-scoring.js.map +0 -1
  198. package/dist/adb/ui-tree-cache.d.ts.map +0 -1
  199. package/dist/adb/ui-tree-cache.js.map +0 -1
  200. package/dist/adb/webview.d.ts +0 -59
  201. package/dist/adb/webview.d.ts.map +0 -1
  202. package/dist/adb/webview.js +0 -169
  203. package/dist/adb/webview.js.map +0 -1
  204. package/dist/aurora/client.d.ts +0 -180
  205. package/dist/aurora/client.d.ts.map +0 -1
  206. package/dist/aurora/client.js +0 -324
  207. package/dist/aurora/client.js.map +0 -1
  208. package/dist/aurora/index.d.ts +0 -2
  209. package/dist/aurora/index.d.ts.map +0 -1
  210. package/dist/aurora/index.js +0 -2
  211. package/dist/aurora/index.js.map +0 -1
  212. package/dist/browser/cdp-helpers.d.ts +0 -17
  213. package/dist/browser/cdp-helpers.d.ts.map +0 -1
  214. package/dist/browser/cdp-helpers.js +0 -79
  215. package/dist/browser/cdp-helpers.js.map +0 -1
  216. package/dist/browser/cdp-types.d.ts +0 -167
  217. package/dist/browser/cdp-types.d.ts.map +0 -1
  218. package/dist/browser/cdp-types.js +0 -9
  219. package/dist/browser/cdp-types.js.map +0 -1
  220. package/dist/browser/client.d.ts +0 -29
  221. package/dist/browser/client.d.ts.map +0 -1
  222. package/dist/browser/client.js +0 -391
  223. package/dist/browser/client.js.map +0 -1
  224. package/dist/browser/index.d.ts +0 -5
  225. package/dist/browser/index.d.ts.map +0 -1
  226. package/dist/browser/index.js +0 -4
  227. package/dist/browser/index.js.map +0 -1
  228. package/dist/browser/key-map.d.ts +0 -16
  229. package/dist/browser/key-map.d.ts.map +0 -1
  230. package/dist/browser/key-map.js +0 -35
  231. package/dist/browser/key-map.js.map +0 -1
  232. package/dist/browser/session-manager.d.ts +0 -21
  233. package/dist/browser/session-manager.d.ts.map +0 -1
  234. package/dist/browser/session-manager.js +0 -109
  235. package/dist/browser/session-manager.js.map +0 -1
  236. package/dist/browser/snapshot-builder.d.ts +0 -4
  237. package/dist/browser/snapshot-builder.d.ts.map +0 -1
  238. package/dist/browser/snapshot-builder.js +0 -76
  239. package/dist/browser/snapshot-builder.js.map +0 -1
  240. package/dist/browser/types.d.ts +0 -75
  241. package/dist/browser/types.d.ts.map +0 -1
  242. package/dist/browser/types.js +0 -11
  243. package/dist/browser/types.js.map +0 -1
  244. package/dist/desktop/client.d.ts +0 -196
  245. package/dist/desktop/client.d.ts.map +0 -1
  246. package/dist/desktop/client.js +0 -540
  247. package/dist/desktop/client.js.map +0 -1
  248. package/dist/desktop/gradle.d.ts +0 -45
  249. package/dist/desktop/gradle.d.ts.map +0 -1
  250. package/dist/desktop/gradle.js +0 -234
  251. package/dist/desktop/gradle.js.map +0 -1
  252. package/dist/desktop/index.d.ts +0 -7
  253. package/dist/desktop/index.d.ts.map +0 -1
  254. package/dist/desktop/index.js +0 -7
  255. package/dist/desktop/index.js.map +0 -1
  256. package/dist/desktop/launch-options.d.ts +0 -13
  257. package/dist/desktop/launch-options.d.ts.map +0 -1
  258. package/dist/desktop/launch-options.js +0 -54
  259. package/dist/desktop/launch-options.js.map +0 -1
  260. package/dist/desktop/launchers.d.ts +0 -52
  261. package/dist/desktop/launchers.d.ts.map +0 -1
  262. package/dist/desktop/launchers.js +0 -125
  263. package/dist/desktop/launchers.js.map +0 -1
  264. package/dist/desktop/log-ring.d.ts +0 -21
  265. package/dist/desktop/log-ring.d.ts.map +0 -1
  266. package/dist/desktop/log-ring.js +0 -45
  267. package/dist/desktop/log-ring.js.map +0 -1
  268. package/dist/desktop/permission-allowlist.d.ts +0 -47
  269. package/dist/desktop/permission-allowlist.d.ts.map +0 -1
  270. package/dist/desktop/permission-allowlist.js +0 -148
  271. package/dist/desktop/permission-allowlist.js.map +0 -1
  272. package/dist/desktop/types.d.ts +0 -177
  273. package/dist/desktop/types.d.ts.map +0 -1
  274. package/dist/desktop/types.js +0 -5
  275. package/dist/desktop/types.js.map +0 -1
  276. package/dist/ios/client.d.ts +0 -204
  277. package/dist/ios/client.d.ts.map +0 -1
  278. package/dist/ios/client.js +0 -483
  279. package/dist/ios/client.js.map +0 -1
  280. package/dist/ios/go-ios/client.d.ts +0 -23
  281. package/dist/ios/go-ios/client.d.ts.map +0 -1
  282. package/dist/ios/go-ios/client.js +0 -51
  283. package/dist/ios/go-ios/client.js.map +0 -1
  284. package/dist/ios/go-ios/index.d.ts +0 -4
  285. package/dist/ios/go-ios/index.d.ts.map +0 -1
  286. package/dist/ios/go-ios/index.js +0 -3
  287. package/dist/ios/go-ios/index.js.map +0 -1
  288. package/dist/ios/go-ios/parsers.d.ts +0 -28
  289. package/dist/ios/go-ios/parsers.d.ts.map +0 -1
  290. package/dist/ios/go-ios/parsers.js +0 -71
  291. package/dist/ios/go-ios/parsers.js.map +0 -1
  292. package/dist/ios/index.d.ts +0 -2
  293. package/dist/ios/index.d.ts.map +0 -1
  294. package/dist/ios/index.js +0 -2
  295. package/dist/ios/index.js.map +0 -1
  296. package/dist/ios/keymap.d.ts +0 -20
  297. package/dist/ios/keymap.d.ts.map +0 -1
  298. package/dist/ios/keymap.js +0 -33
  299. package/dist/ios/keymap.js.map +0 -1
  300. package/dist/ios/simctl-commands.d.ts +0 -35
  301. package/dist/ios/simctl-commands.d.ts.map +0 -1
  302. package/dist/ios/simctl-commands.js +0 -60
  303. package/dist/ios/simctl-commands.js.map +0 -1
  304. package/dist/ios/simctl-exec.d.ts +0 -19
  305. package/dist/ios/simctl-exec.d.ts.map +0 -1
  306. package/dist/ios/simctl-exec.js +0 -55
  307. package/dist/ios/simctl-exec.js.map +0 -1
  308. package/dist/ios/simctl-parsers.d.ts +0 -10
  309. package/dist/ios/simctl-parsers.d.ts.map +0 -1
  310. package/dist/ios/simctl-parsers.js +0 -29
  311. package/dist/ios/simctl-parsers.js.map +0 -1
  312. package/dist/ios/types.d.ts +0 -8
  313. package/dist/ios/types.d.ts.map +0 -1
  314. package/dist/ios/types.js +0 -2
  315. package/dist/ios/types.js.map +0 -1
  316. package/dist/ios/wda/index.d.ts +0 -4
  317. package/dist/ios/wda/index.d.ts.map +0 -1
  318. package/dist/ios/wda/index.js +0 -4
  319. package/dist/ios/wda/index.js.map +0 -1
  320. package/dist/ios/wda/wda-client.d.ts +0 -33
  321. package/dist/ios/wda/wda-client.d.ts.map +0 -1
  322. package/dist/ios/wda/wda-client.js +0 -250
  323. package/dist/ios/wda/wda-client.js.map +0 -1
  324. package/dist/ios/wda/wda-manager.d.ts +0 -34
  325. package/dist/ios/wda/wda-manager.d.ts.map +0 -1
  326. package/dist/ios/wda/wda-manager.js +0 -392
  327. package/dist/ios/wda/wda-manager.js.map +0 -1
  328. package/dist/ios/wda/wda-types.d.ts +0 -39
  329. package/dist/ios/wda/wda-types.d.ts.map +0 -1
  330. package/dist/ios/wda/wda-types.js +0 -2
  331. package/dist/ios/wda/wda-types.js.map +0 -1
  332. package/dist/ios/wda-errors.d.ts +0 -8
  333. package/dist/ios/wda-errors.d.ts.map +0 -1
  334. package/dist/ios/wda-errors.js +0 -13
  335. package/dist/ios/wda-errors.js.map +0 -1
  336. package/dist/ios/wda-payloads.d.ts +0 -32
  337. package/dist/ios/wda-payloads.d.ts.map +0 -1
  338. package/dist/ios/wda-payloads.js +0 -31
  339. package/dist/ios/wda-payloads.js.map +0 -1
  340. package/dist/plugins/android/index.d.ts +0 -23
  341. package/dist/plugins/android/index.d.ts.map +0 -1
  342. package/dist/plugins/android/index.js +0 -45
  343. package/dist/plugins/android/index.js.map +0 -1
  344. package/dist/plugins/aurora/index.d.ts +0 -17
  345. package/dist/plugins/aurora/index.d.ts.map +0 -1
  346. package/dist/plugins/aurora/index.js +0 -27
  347. package/dist/plugins/aurora/index.js.map +0 -1
  348. package/dist/plugins/desktop/index.d.ts +0 -18
  349. package/dist/plugins/desktop/index.d.ts.map +0 -1
  350. package/dist/plugins/desktop/index.js +0 -28
  351. package/dist/plugins/desktop/index.js.map +0 -1
  352. package/dist/plugins/ios/index.d.ts +0 -17
  353. package/dist/plugins/ios/index.d.ts.map +0 -1
  354. package/dist/plugins/ios/index.js +0 -36
  355. package/dist/plugins/ios/index.js.map +0 -1
  356. package/dist/plugins/web/index.d.ts +0 -17
  357. package/dist/plugins/web/index.d.ts.map +0 -1
  358. package/dist/plugins/web/index.js +0 -27
  359. package/dist/plugins/web/index.js.map +0 -1
  360. /package/dist/{adb → ui-tree}/ui-parser/diff-engine.d.ts +0 -0
  361. /package/dist/{adb → ui-tree}/ui-parser/diff-engine.js +0 -0
  362. /package/dist/{adb → ui-tree}/ui-parser/element-builder.d.ts +0 -0
  363. /package/dist/{adb → ui-tree}/ui-parser/element-builder.js +0 -0
  364. /package/dist/{adb → ui-tree}/ui-parser/element-finders.d.ts +0 -0
  365. /package/dist/{adb → ui-tree}/ui-parser/element-finders.js +0 -0
  366. /package/dist/{adb → ui-tree}/ui-parser/formatters/compact.d.ts +0 -0
  367. /package/dist/{adb → ui-tree}/ui-parser/formatters/compact.js +0 -0
  368. /package/dist/{adb → ui-tree}/ui-parser/formatters/full.d.ts +0 -0
  369. /package/dist/{adb → ui-tree}/ui-parser/formatters/full.js +0 -0
  370. /package/dist/{adb → ui-tree}/ui-parser/formatters/index.d.ts +0 -0
  371. /package/dist/{adb → ui-tree}/ui-parser/formatters/index.js +0 -0
  372. /package/dist/{adb → ui-tree}/ui-parser/formatters/semantic.d.ts +0 -0
  373. /package/dist/{adb → ui-tree}/ui-parser/formatters/semantic.js +0 -0
  374. /package/dist/{adb → ui-tree}/ui-parser/node-parser.d.ts +0 -0
  375. /package/dist/{adb → ui-tree}/ui-parser/node-parser.js +0 -0
  376. /package/dist/{adb → ui-tree}/ui-parser/screen-analyzer.d.ts +0 -0
  377. /package/dist/{adb → ui-tree}/ui-parser/screen-analyzer.js +0 -0
  378. /package/dist/{adb → ui-tree}/ui-parser/types.d.ts +0 -0
  379. /package/dist/{adb → ui-tree}/ui-parser/types.js +0 -0
  380. /package/dist/{adb → ui-tree}/ui-parser.d.ts +0 -0
  381. /package/dist/{adb → ui-tree}/ui-parser.js +0 -0
  382. /package/dist/{adb → ui-tree}/ui-scoring.d.ts +0 -0
  383. /package/dist/{adb → ui-tree}/ui-scoring.js +0 -0
  384. /package/dist/{adb → ui-tree}/ui-tree-cache.d.ts +0 -0
  385. /package/dist/{adb → ui-tree}/ui-tree-cache.js +0 -0
@@ -1,47 +0,0 @@
1
- /**
2
- * Path and process-attach allowlist helpers for the macOS desktop companion.
3
- *
4
- * These helpers guard the surface that translates a "launch this app" request
5
- * into a real process. They intentionally fail closed — anything that cannot
6
- * be canonically resolved within an allowed directory, or any pid that does
7
- * not belong to the current user, is rejected before reaching `open` or the
8
- * companion's attach path.
9
- */
10
- declare const BUNDLE_LAUNCH_POLL_INTERVAL_MS = 100;
11
- declare const BUNDLE_LAUNCH_TIMEOUT_MS = 5000;
12
- /** Allowed prefixes for appPath (realpath-resolved). */
13
- export declare const APP_PATH_ALLOWLIST: string[];
14
- /** System processes that must not be attached to. */
15
- export declare const BLOCKED_COMMS: Set<string>;
16
- /**
17
- * Resolve bundleId from an .app path by reading Info.plist via `defaults read`.
18
- * All calls use execFileSync (no shell).
19
- */
20
- export declare function getBundleIdFromAppPath(appPath: string): string;
21
- /**
22
- * Validate an appPath: must be absolute, end with .app, no .., within allowlist (realpath-resolved).
23
- * Returns the canonicalized path to use when calling `open`.
24
- */
25
- export declare function validateAndResolveAppPath(appPath: string): string;
26
- /**
27
- * Poll AppleScript until the process with the given bundle ID appears, or timeout.
28
- * Uses execFileAsync (non-blocking) so the event loop is not held during the 3s osascript call.
29
- * bundleId is pre-validated by validateBundleId; regex permits only [a-zA-Z0-9.-].
30
- * AppleScript injection prevention relies on this regex — do not relax without re-auditing.
31
- */
32
- export declare function resolvePidByBundleId(bundleId: string): Promise<number>;
33
- /**
34
- * Validate a PID for safe attach: must be positive, belong to current user, not a system process.
35
- * Uses separate ps calls to avoid space-split issues with multi-word comm names.
36
- */
37
- export declare function validateAttachPid(pid: number): void;
38
- /**
39
- * Find the companion app path on disk.
40
- *
41
- * Two candidate locations are checked: relative to the compiled `dist/desktop/client.js`
42
- * (production) and relative to the source `src/desktop/client.ts` (when running with ts-node
43
- * or a similar in-place runner).
44
- */
45
- export declare function findCompanionAppPath(): string;
46
- export { BUNDLE_LAUNCH_POLL_INTERVAL_MS, BUNDLE_LAUNCH_TIMEOUT_MS };
47
- //# sourceMappingURL=permission-allowlist.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"permission-allowlist.d.ts","sourceRoot":"","sources":["../../src/desktop/permission-allowlist.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAgBH,QAAA,MAAM,8BAA8B,MAAM,CAAC;AAC3C,QAAA,MAAM,wBAAwB,OAAO,CAAC;AAEtC,wDAAwD;AACxD,eAAO,MAAM,kBAAkB,UAM9B,CAAC;AAEF,qDAAqD;AACrD,eAAO,MAAM,aAAa,aAAkE,CAAC;AAE7F;;;GAGG;AACH,wBAAgB,sBAAsB,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAe9D;AAED;;;GAGG;AACH,wBAAgB,yBAAyB,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAiBjE;AAED;;;;;GAKG;AACH,wBAAsB,oBAAoB,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CA4B5E;AAED;;;GAGG;AACH,wBAAgB,iBAAiB,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI,CA8BnD;AAED;;;;;;GAMG;AACH,wBAAgB,oBAAoB,IAAI,MAAM,CAiB7C;AAED,OAAO,EAAE,8BAA8B,EAAE,wBAAwB,EAAE,CAAC"}
@@ -1,148 +0,0 @@
1
- /**
2
- * Path and process-attach allowlist helpers for the macOS desktop companion.
3
- *
4
- * These helpers guard the surface that translates a "launch this app" request
5
- * into a real process. They intentionally fail closed — anything that cannot
6
- * be canonically resolved within an allowed directory, or any pid that does
7
- * not belong to the current user, is rejected before reaching `open` or the
8
- * companion's attach path.
9
- */
10
- import { execFileSync, execFile } from "child_process";
11
- import { promisify } from "util";
12
- import * as path from "path";
13
- import * as os from "os";
14
- import * as fs from "fs";
15
- import { fileURLToPath } from "url";
16
- import { validatePath } from "../utils/sanitize.js";
17
- import { MobileError } from "../errors.js";
18
- const execFileAsync = promisify(execFile);
19
- const __filename = fileURLToPath(import.meta.url);
20
- const __dirname = path.dirname(__filename);
21
- const BUNDLE_LAUNCH_POLL_INTERVAL_MS = 100;
22
- const BUNDLE_LAUNCH_TIMEOUT_MS = 5000;
23
- /** Allowed prefixes for appPath (realpath-resolved). */
24
- export const APP_PATH_ALLOWLIST = [
25
- "/Applications",
26
- "/System/Applications",
27
- path.join(os.homedir(), "Applications"),
28
- "/Developer",
29
- path.join(os.homedir(), "Library/Developer/Xcode/DerivedData"),
30
- ];
31
- /** System processes that must not be attached to. */
32
- export const BLOCKED_COMMS = new Set(["launchd", "kernel_task", "securityd", "loginwindow"]);
33
- /**
34
- * Resolve bundleId from an .app path by reading Info.plist via `defaults read`.
35
- * All calls use execFileSync (no shell).
36
- */
37
- export function getBundleIdFromAppPath(appPath) {
38
- try {
39
- const result = execFileSync("defaults", ["read", `${appPath}/Contents/Info`, "CFBundleIdentifier"], { encoding: "utf-8", timeout: 5000 }).trim();
40
- if (!result)
41
- throw new Error("empty result");
42
- return result;
43
- }
44
- catch (e) {
45
- throw new MobileError(`Could not read bundle ID from ${appPath}/Contents/Info.plist: ${e.message}`, "BUNDLE_ID_READ_FAILED");
46
- }
47
- }
48
- /**
49
- * Validate an appPath: must be absolute, end with .app, no .., within allowlist (realpath-resolved).
50
- * Returns the canonicalized path to use when calling `open`.
51
- */
52
- export function validateAndResolveAppPath(appPath) {
53
- validatePath(appPath, "appPath");
54
- if (!path.isAbsolute(appPath)) {
55
- throw new MobileError(`appPath must be an absolute path: ${appPath}`, "INVALID_APP_PATH");
56
- }
57
- if (!appPath.endsWith(".app")) {
58
- throw new MobileError(`appPath must end with .app: ${appPath}`, "INVALID_APP_PATH");
59
- }
60
- const resolved = fs.realpathSync(appPath);
61
- const allowed = APP_PATH_ALLOWLIST.some(prefix => resolved.startsWith(prefix + "/") || resolved === prefix);
62
- if (!allowed) {
63
- throw new MobileError(`appPath "${resolved}" is outside allowed directories (${APP_PATH_ALLOWLIST.join(", ")})`, "APP_PATH_NOT_ALLOWED");
64
- }
65
- return resolved;
66
- }
67
- /**
68
- * Poll AppleScript until the process with the given bundle ID appears, or timeout.
69
- * Uses execFileAsync (non-blocking) so the event loop is not held during the 3s osascript call.
70
- * bundleId is pre-validated by validateBundleId; regex permits only [a-zA-Z0-9.-].
71
- * AppleScript injection prevention relies on this regex — do not relax without re-auditing.
72
- */
73
- export async function resolvePidByBundleId(bundleId) {
74
- const deadline = Date.now() + BUNDLE_LAUNCH_TIMEOUT_MS;
75
- while (Date.now() < deadline) {
76
- try {
77
- const { stdout } = await execFileAsync("osascript", ["-e", `tell application "System Events" to unix id of first application process whose bundle identifier is "${bundleId}"`], { timeout: 3000 });
78
- const pid = parseInt(stdout.trim(), 10);
79
- if (pid > 0)
80
- return pid;
81
- }
82
- catch (e) {
83
- const stderr = e.stderr ?? "";
84
- // Non-transient: permission denial from System Events will never self-resolve
85
- if (stderr.includes("Not authorized") || stderr.includes("-1743")) {
86
- throw new MobileError(`Accessibility permission denied. Grant access in System Settings → Privacy → Automation.`, "AUTOMATION_PERMISSION_DENIED");
87
- }
88
- // App not yet running — continue polling
89
- }
90
- await new Promise(resolve => setTimeout(resolve, BUNDLE_LAUNCH_POLL_INTERVAL_MS));
91
- }
92
- throw new MobileError(`App with bundle ID "${bundleId}" did not start within ${BUNDLE_LAUNCH_TIMEOUT_MS}ms`, "BUNDLE_LAUNCH_TIMEOUT");
93
- }
94
- /**
95
- * Validate a PID for safe attach: must be positive, belong to current user, not a system process.
96
- * Uses separate ps calls to avoid space-split issues with multi-word comm names.
97
- */
98
- export function validateAttachPid(pid) {
99
- if (!Number.isInteger(pid) || pid <= 0) {
100
- throw new MobileError(`Invalid pid: ${pid}. Must be a positive integer`, "INVALID_PID");
101
- }
102
- let psOut;
103
- try {
104
- psOut = execFileSync("ps", ["-o", "uid=,comm=", "-p", String(pid)], { encoding: "utf-8" }).trim();
105
- }
106
- catch (e) {
107
- if (e.status === 1) {
108
- throw new MobileError(`Process with pid ${pid} does not exist`, "PROCESS_NOT_FOUND");
109
- }
110
- throw new MobileError(`Failed to inspect pid ${pid}: ${e.message}`, "PS_EXEC_FAILED");
111
- }
112
- // uid= and comm= are separated by whitespace; comm= may contain spaces — split on first whitespace only
113
- const spaceIdx = psOut.search(/\s/);
114
- const uidStr = spaceIdx >= 0 ? psOut.slice(0, spaceIdx) : psOut;
115
- const comm = spaceIdx >= 0 ? psOut.slice(spaceIdx + 1).trim() : "";
116
- const uid = parseInt(uidStr, 10);
117
- const currentUid = process.getuid ? process.getuid() : -1;
118
- if (currentUid >= 0 && uid !== currentUid) {
119
- throw new MobileError(`Cannot attach to pid ${pid}: process belongs to another user`, "PID_FOREIGN_USER");
120
- }
121
- const basename = path.basename(comm);
122
- if (BLOCKED_COMMS.has(basename)) {
123
- throw new MobileError(`Cannot attach to system process: ${basename} (pid ${pid})`, "PID_SYSTEM_PROCESS");
124
- }
125
- }
126
- /**
127
- * Find the companion app path on disk.
128
- *
129
- * Two candidate locations are checked: relative to the compiled `dist/desktop/client.js`
130
- * (production) and relative to the source `src/desktop/client.ts` (when running with ts-node
131
- * or a similar in-place runner).
132
- */
133
- export function findCompanionAppPath() {
134
- const possiblePaths = [
135
- // From dist/desktop/client.js (production layout)
136
- path.join(__dirname, "..", "..", "desktop-companion", "build", "install", "desktop-companion", "bin", "desktop-companion"),
137
- // From src/desktop/client.ts (when running directly)
138
- path.join(__dirname, "..", "..", "..", "desktop-companion", "build", "install", "desktop-companion", "bin", "desktop-companion"),
139
- ];
140
- for (const p of possiblePaths) {
141
- if (fs.existsSync(p)) {
142
- return p;
143
- }
144
- }
145
- throw new Error("Desktop companion app not found. Please build it first: cd desktop-companion && ./gradlew installDist");
146
- }
147
- export { BUNDLE_LAUNCH_POLL_INTERVAL_MS, BUNDLE_LAUNCH_TIMEOUT_MS };
148
- //# sourceMappingURL=permission-allowlist.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"permission-allowlist.js","sourceRoot":"","sources":["../../src/desktop/permission-allowlist.ts"],"names":[],"mappings":"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"}
@@ -1,177 +0,0 @@
1
- /**
2
- * Desktop platform types for claude-in-mobile
3
- */
4
- export interface JsonRpcRequest {
5
- jsonrpc: "2.0";
6
- id: number;
7
- method: string;
8
- params?: Record<string, unknown>;
9
- }
10
- export interface JsonRpcResponse {
11
- jsonrpc: "2.0";
12
- id: number;
13
- result?: unknown;
14
- error?: JsonRpcError;
15
- }
16
- export interface JsonRpcError {
17
- code: number;
18
- message: string;
19
- data?: unknown;
20
- }
21
- export interface Bounds {
22
- x: number;
23
- y: number;
24
- width: number;
25
- height: number;
26
- }
27
- export interface DesktopWindow {
28
- id: string;
29
- title: string;
30
- bounds: Bounds;
31
- focused: boolean;
32
- minimized: boolean;
33
- fullscreen: boolean;
34
- processId?: number;
35
- ownerName?: string;
36
- }
37
- export interface WindowInfo {
38
- windows: DesktopWindow[];
39
- activeWindowId: string | null;
40
- }
41
- export interface DesktopUiElement {
42
- index: number;
43
- id?: string;
44
- text?: string;
45
- contentDescription?: string;
46
- className: string;
47
- role?: string;
48
- bounds: Bounds;
49
- clickable: boolean;
50
- enabled: boolean;
51
- focused: boolean;
52
- focusable: boolean;
53
- children: DesktopUiElement[];
54
- centerX: number;
55
- centerY: number;
56
- }
57
- export interface UiHierarchy {
58
- windows: DesktopWindow[];
59
- elements: DesktopUiElement[];
60
- scaleFactor: number;
61
- }
62
- export interface ScreenshotOptions {
63
- windowId?: string;
64
- quality?: number;
65
- monitorIndex?: number;
66
- }
67
- export interface ScreenshotResult {
68
- base64: string;
69
- width: number;
70
- height: number;
71
- scaleFactor: number;
72
- mimeType: "image/jpeg";
73
- }
74
- export interface TapOptions {
75
- x: number;
76
- y: number;
77
- }
78
- export interface SwipeOptions {
79
- x1: number;
80
- y1: number;
81
- x2: number;
82
- y2: number;
83
- durationMs?: number;
84
- }
85
- export interface KeyEventOptions {
86
- key: string;
87
- modifiers?: string[];
88
- }
89
- export type LaunchMode = "gradle" | "bundle" | "attach" | "companion-only";
90
- export type LaunchOptions = {
91
- mode: "gradle";
92
- projectPath: string;
93
- task?: string;
94
- jvmArgs?: string[];
95
- env?: Record<string, string>;
96
- } | {
97
- mode: "bundle";
98
- bundleId: string;
99
- appPath?: string;
100
- env?: Record<string, string>;
101
- } | {
102
- mode: "bundle";
103
- bundleId?: string;
104
- appPath: string;
105
- env?: Record<string, string>;
106
- } | {
107
- mode: "attach";
108
- pid: number;
109
- } | {
110
- mode: "companion-only";
111
- };
112
- export interface RawLaunchOptions {
113
- mode?: LaunchMode;
114
- projectPath?: string;
115
- task?: string;
116
- jvmArgs?: string[];
117
- env?: Record<string, string>;
118
- bundleId?: string;
119
- appPath?: string;
120
- pid?: number;
121
- }
122
- export interface GradleProject {
123
- path: string;
124
- desktopTasks: string[];
125
- selectedTask?: string;
126
- }
127
- export type LogType = "stdout" | "stderr" | "compose" | "crash";
128
- export interface LogEntry {
129
- timestamp: number;
130
- type: LogType;
131
- message: string;
132
- }
133
- export interface LogOptions {
134
- type?: LogType;
135
- since?: number;
136
- limit?: number;
137
- }
138
- export interface PerformanceMetrics {
139
- fps?: number;
140
- memoryUsageMb: number;
141
- cpuPercent?: number;
142
- }
143
- export interface PermissionStatus {
144
- granted: boolean;
145
- instructions?: string[];
146
- }
147
- export type DesktopStatus = "stopped" | "starting" | "running" | "crashed";
148
- export interface DesktopState {
149
- status: DesktopStatus;
150
- pid?: number;
151
- projectPath?: string;
152
- crashCount: number;
153
- lastError?: string;
154
- targetPid: number | null;
155
- }
156
- export interface ClipboardContent {
157
- text?: string;
158
- hasImage?: boolean;
159
- }
160
- export interface MonitorInfo {
161
- index: number;
162
- name: string;
163
- x: number;
164
- y: number;
165
- width: number;
166
- height: number;
167
- isPrimary: boolean;
168
- }
169
- export interface MonitorsResult {
170
- monitors: MonitorInfo[];
171
- }
172
- export interface TapByTextResult {
173
- success: boolean;
174
- elementRole?: string;
175
- error?: string;
176
- }
177
- //# sourceMappingURL=types.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/desktop/types.ts"],"names":[],"mappings":"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"}
@@ -1,5 +0,0 @@
1
- /**
2
- * Desktop platform types for claude-in-mobile
3
- */
4
- export {};
5
- //# sourceMappingURL=types.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/desktop/types.ts"],"names":[],"mappings":"AAAA;;GAEG"}
@@ -1,204 +0,0 @@
1
- import { WDAElement, WDARect } from "./wda/index.js";
2
- import type { IosDevice } from "./types.js";
3
- import { type FindElementsCriteria } from "./wda-payloads.js";
4
- export type { IosDevice } from "./types.js";
5
- export declare class IosClient {
6
- private deviceId?;
7
- private wdaManager;
8
- private wdaClient?;
9
- constructor(deviceId?: string);
10
- cleanup(): void;
11
- /** True unless the device id belongs to a connected physical device. */
12
- private isSimulatorDevice;
13
- private ensureWDA;
14
- /** Thin instance wrapper around `execSimctl` (argv-form, no shell). */
15
- private execArgs;
16
- /** Thin instance wrapper around `execSimctlQuiet` (stderr suppressed). */
17
- private execArgsQuiet;
18
- /** Legacy string form: whitespace-split into argv tokens, then `execSimctl`. */
19
- private exec;
20
- /**
21
- * Get the active device ID or 'booted'
22
- */
23
- private get targetDevice();
24
- /** Resolve target device for a per-call override or fall back to instance default. */
25
- private targetDeviceFor;
26
- /**
27
- * Get list of iOS devices: simulators (simctl) plus connected physical
28
- * devices (go-ios). Physical discovery is best-effort — if go-ios is not
29
- * installed it contributes nothing and simulator behaviour is unchanged.
30
- */
31
- getDevices(): IosDevice[];
32
- /**
33
- * Get booted simulators
34
- */
35
- getBootedDevices(): IosDevice[];
36
- /**
37
- * Set active device
38
- */
39
- setDevice(deviceId: string): void;
40
- /**
41
- * Get currently configured device ID
42
- */
43
- getDeviceId(): string | undefined;
44
- /**
45
- * Boot simulator
46
- */
47
- boot(deviceId?: string): void;
48
- /**
49
- * Shutdown simulator
50
- */
51
- shutdown(deviceId?: string): void;
52
- /**
53
- * Take screenshot and return raw PNG buffer
54
- */
55
- screenshotRaw(deviceIdOverride?: string): Buffer;
56
- /**
57
- * Take screenshot and return as base64 (legacy)
58
- */
59
- screenshot(deviceIdOverride?: string): string;
60
- /**
61
- * Async screenshot that works for physical devices too: routes physical
62
- * devices through WDA `/screenshot` (simctl io only addresses simulators),
63
- * and simulators through the fast sync simctl path.
64
- */
65
- screenshotRawAsync(deviceIdOverride?: string): Promise<Buffer>;
66
- /**
67
- * Tap at coordinates
68
- */
69
- tap(x: number, y: number, deviceIdOverride?: string): Promise<void>;
70
- /**
71
- * Swipe gesture
72
- */
73
- swipe(x1: number, y1: number, x2: number, y2: number, durationMs?: number, deviceIdOverride?: string): Promise<void>;
74
- /**
75
- * Long press at coordinates via WDA Actions API
76
- */
77
- longPress(x: number, y: number, durationMs?: number, deviceIdOverride?: string): Promise<void>;
78
- /**
79
- * Swipe in direction (uses actual screen center from WDA, not hardcoded)
80
- */
81
- swipeDirection(direction: "up" | "down" | "left" | "right", distance?: number): Promise<void>;
82
- /**
83
- * Input text via WDA (types into the currently focused element)
84
- */
85
- inputText(text: string, deviceIdOverride?: string): Promise<void>;
86
- /**
87
- * Press key
88
- *
89
- * SECURITY: AppleScript invocations use execFileSync("osascript", ["-e", literal])
90
- * — the script literal is a single argv slot, so /bin/sh never parses its contents.
91
- * The `key` argument is whitelisted via keyMap; only fixed AppleScript literals reach
92
- * osascript.
93
- */
94
- pressKey(key: string): void;
95
- /**
96
- * Launch app by bundle ID
97
- */
98
- launchApp(bundleId: string, deviceIdOverride?: string): string;
99
- /**
100
- * Terminate app
101
- */
102
- stopApp(bundleId: string, deviceIdOverride?: string): void;
103
- /**
104
- * Install app (.app bundle or .ipa)
105
- */
106
- installApp(path: string): string;
107
- /**
108
- * Uninstall app
109
- */
110
- uninstallApp(bundleId: string): string;
111
- /**
112
- * Get UI hierarchy (limited on iOS simulator)
113
- * Returns accessibility info if available
114
- */
115
- getUiHierarchy(deviceIdOverride?: string): Promise<string>;
116
- /**
117
- * Find element by text or label
118
- */
119
- findElement(criteria: {
120
- text?: string;
121
- label?: string;
122
- }): Promise<WDAElement>;
123
- /**
124
- * Find multiple elements by criteria
125
- */
126
- findElements(criteria: FindElementsCriteria): Promise<Array<{
127
- id: string;
128
- type: string;
129
- label: string;
130
- rect: WDARect;
131
- }>>;
132
- /**
133
- * Get element rect (position + size) by element ID
134
- */
135
- getElementRect(elementId: string): Promise<WDARect | null>;
136
- /**
137
- * Tap element by element ID
138
- */
139
- tapElement(elementId: string): Promise<void>;
140
- /**
141
- * Open URL in simulator
142
- *
143
- * SECURITY: URL passes as a single argv slot to xcrun (no /bin/sh -c).
144
- * Any shell metacharacters in `url` are not parsed by the host shell.
145
- * Scheme validation happens at the tool layer (validateUrl).
146
- */
147
- openUrl(url: string): void;
148
- /**
149
- * Add photo to simulator
150
- */
151
- addPhoto(imagePath: string): void;
152
- /**
153
- * Set location
154
- */
155
- setLocation(lat: number, lon: number): void;
156
- /**
157
- * Get device info
158
- */
159
- getDeviceInfo(): Record<string, string>;
160
- /**
161
- * Execute arbitrary simctl command
162
- *
163
- * SECURITY: `command` is whitespace-split into argv tokens before reaching
164
- * execFileSync. Shell metacharacters (;, &, |, $(), backticks, etc.) cannot
165
- * spawn a host shell from this path. The MCP tool layer additionally validates
166
- * via validateShellCommand as defense in depth.
167
- */
168
- shell(command: string): string;
169
- /**
170
- * Get device logs
171
- */
172
- getLogs(options?: {
173
- predicate?: string;
174
- lines?: number;
175
- level?: "debug" | "info" | "default" | "error" | "fault";
176
- }): string;
177
- /**
178
- * Get app-specific logs
179
- *
180
- * SECURITY: bundleId is validated against the reverse-DNS whitelist before
181
- * embedding into the simctl predicate string. The predicate itself is passed
182
- * as ONE argv slot — the host shell never parses it; simctl parses it
183
- * internally as its own DSL.
184
- */
185
- getAppLogs(bundleId: string, lines?: number): string;
186
- /**
187
- * Clear logs (not fully supported on iOS, but we can note the timestamp)
188
- */
189
- clearLogs(): string;
190
- /**
191
- * Grant privacy permission on iOS simulator
192
- * Services: camera, microphone, photos, location, contacts, calendar, reminders, motion, health, speech-recognition
193
- */
194
- grantPermission(bundleId: string, service: string): string;
195
- /**
196
- * Revoke privacy permission on iOS simulator
197
- */
198
- revokePermission(bundleId: string, service: string): string;
199
- /**
200
- * Reset all privacy permissions for an app on iOS simulator
201
- */
202
- resetPermissions(bundleId: string): string;
203
- }
204
- //# sourceMappingURL=client.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../../src/ios/client.ts"],"names":[],"mappings":"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"}