@limrun/cli 0.3.1 → 0.4.1

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 (258) hide show
  1. package/README.md +37 -10
  2. package/dist/base-command.d.ts +6 -0
  3. package/dist/base-command.d.ts.map +1 -1
  4. package/dist/base-command.js +26 -5
  5. package/dist/base-command.js.map +1 -1
  6. package/dist/commands/android/connect.d.ts +1 -0
  7. package/dist/commands/android/connect.d.ts.map +1 -1
  8. package/dist/commands/android/create.d.ts +1 -0
  9. package/dist/commands/android/create.d.ts.map +1 -1
  10. package/dist/commands/android/create.js +12 -10
  11. package/dist/commands/android/create.js.map +1 -1
  12. package/dist/commands/android/delete.d.ts +1 -0
  13. package/dist/commands/android/delete.d.ts.map +1 -1
  14. package/dist/commands/android/element-tree.d.ts +14 -1
  15. package/dist/commands/android/element-tree.d.ts.map +1 -1
  16. package/dist/commands/android/element-tree.js +59 -6
  17. package/dist/commands/android/element-tree.js.map +1 -1
  18. package/dist/commands/android/find-element.d.ts +27 -0
  19. package/dist/commands/android/find-element.d.ts.map +1 -0
  20. package/dist/commands/android/find-element.js +72 -0
  21. package/dist/commands/android/find-element.js.map +1 -0
  22. package/dist/commands/android/get.d.ts +1 -0
  23. package/dist/commands/android/get.d.ts.map +1 -1
  24. package/dist/commands/android/install-app.d.ts +16 -1
  25. package/dist/commands/android/install-app.d.ts.map +1 -1
  26. package/dist/commands/android/install-app.js +66 -3
  27. package/dist/commands/android/install-app.js.map +1 -1
  28. package/dist/commands/android/list.d.ts +1 -0
  29. package/dist/commands/android/list.d.ts.map +1 -1
  30. package/dist/commands/android/open-url.d.ts +16 -1
  31. package/dist/commands/android/open-url.d.ts.map +1 -1
  32. package/dist/commands/android/open-url.js +50 -6
  33. package/dist/commands/android/open-url.js.map +1 -1
  34. package/dist/commands/android/press-key.d.ts +17 -1
  35. package/dist/commands/android/press-key.d.ts.map +1 -1
  36. package/dist/commands/android/press-key.js +51 -6
  37. package/dist/commands/android/press-key.js.map +1 -1
  38. package/dist/commands/android/record.d.ts +20 -1
  39. package/dist/commands/android/record.d.ts.map +1 -1
  40. package/dist/commands/android/record.js +99 -3
  41. package/dist/commands/android/record.js.map +1 -1
  42. package/dist/commands/android/screenshot.d.ts +15 -1
  43. package/dist/commands/android/screenshot.d.ts.map +1 -1
  44. package/dist/commands/android/screenshot.js +64 -3
  45. package/dist/commands/android/screenshot.js.map +1 -1
  46. package/dist/commands/android/scroll.d.ts +30 -1
  47. package/dist/commands/android/scroll.d.ts.map +1 -1
  48. package/dist/commands/android/scroll.js +70 -6
  49. package/dist/commands/android/scroll.js.map +1 -1
  50. package/dist/commands/android/tap-element.d.ts +25 -1
  51. package/dist/commands/android/tap-element.d.ts.map +1 -1
  52. package/dist/commands/android/tap-element.js +59 -6
  53. package/dist/commands/android/tap-element.js.map +1 -1
  54. package/dist/commands/android/tap.d.ts +23 -1
  55. package/dist/commands/android/tap.d.ts.map +1 -1
  56. package/dist/commands/android/tap.js +54 -6
  57. package/dist/commands/android/tap.js.map +1 -1
  58. package/dist/commands/android/type.d.ts +29 -1
  59. package/dist/commands/android/type.d.ts.map +1 -1
  60. package/dist/commands/android/type.js +52 -6
  61. package/dist/commands/android/type.js.map +1 -1
  62. package/dist/commands/asset/delete.d.ts +1 -0
  63. package/dist/commands/asset/delete.d.ts.map +1 -1
  64. package/dist/commands/asset/list.d.ts +2 -0
  65. package/dist/commands/asset/list.d.ts.map +1 -1
  66. package/dist/commands/asset/list.js +6 -0
  67. package/dist/commands/asset/list.js.map +1 -1
  68. package/dist/commands/asset/pull.d.ts +1 -0
  69. package/dist/commands/asset/pull.d.ts.map +1 -1
  70. package/dist/commands/asset/pull.js +2 -2
  71. package/dist/commands/asset/pull.js.map +1 -1
  72. package/dist/commands/asset/push.d.ts +1 -0
  73. package/dist/commands/asset/push.d.ts.map +1 -1
  74. package/dist/commands/asset/push.js +2 -3
  75. package/dist/commands/asset/push.js.map +1 -1
  76. package/dist/commands/ios/{log.d.ts → app-log.d.ts} +4 -3
  77. package/dist/commands/ios/app-log.d.ts.map +1 -0
  78. package/dist/commands/ios/{log.js → app-log.js} +20 -21
  79. package/dist/commands/ios/app-log.js.map +1 -0
  80. package/dist/commands/{exec/type.d.ts → ios/cp.d.ts} +5 -4
  81. package/dist/commands/ios/cp.d.ts.map +1 -0
  82. package/dist/commands/ios/cp.js +66 -0
  83. package/dist/commands/ios/cp.js.map +1 -0
  84. package/dist/commands/ios/create.d.ts +1 -0
  85. package/dist/commands/ios/create.d.ts.map +1 -1
  86. package/dist/commands/ios/create.js +27 -13
  87. package/dist/commands/ios/create.js.map +1 -1
  88. package/dist/commands/ios/delete.d.ts +1 -0
  89. package/dist/commands/ios/delete.d.ts.map +1 -1
  90. package/dist/commands/ios/element-tree.d.ts +14 -1
  91. package/dist/commands/ios/element-tree.d.ts.map +1 -1
  92. package/dist/commands/ios/element-tree.js +56 -6
  93. package/dist/commands/ios/element-tree.js.map +1 -1
  94. package/dist/commands/ios/get.d.ts +1 -0
  95. package/dist/commands/ios/get.d.ts.map +1 -1
  96. package/dist/commands/ios/info.d.ts +1 -0
  97. package/dist/commands/ios/info.d.ts.map +1 -1
  98. package/dist/commands/ios/install-app.d.ts +18 -1
  99. package/dist/commands/ios/install-app.d.ts.map +1 -1
  100. package/dist/commands/ios/install-app.js +93 -3
  101. package/dist/commands/ios/install-app.js.map +1 -1
  102. package/dist/commands/ios/launch-app.d.ts +1 -0
  103. package/dist/commands/ios/launch-app.d.ts.map +1 -1
  104. package/dist/commands/ios/list-apps.d.ts +1 -0
  105. package/dist/commands/ios/list-apps.d.ts.map +1 -1
  106. package/dist/commands/ios/list.d.ts +1 -0
  107. package/dist/commands/ios/list.d.ts.map +1 -1
  108. package/dist/commands/{exec/element-tree.d.ts → ios/lsof.d.ts} +3 -2
  109. package/dist/commands/ios/lsof.d.ts.map +1 -0
  110. package/dist/commands/ios/lsof.js +49 -0
  111. package/dist/commands/ios/lsof.js.map +1 -0
  112. package/dist/commands/ios/open-url.d.ts +16 -1
  113. package/dist/commands/ios/open-url.d.ts.map +1 -1
  114. package/dist/commands/ios/open-url.js +50 -6
  115. package/dist/commands/ios/open-url.js.map +1 -1
  116. package/dist/commands/ios/perform.d.ts +16 -1
  117. package/dist/commands/ios/perform.d.ts.map +1 -1
  118. package/dist/commands/ios/perform.js +224 -3
  119. package/dist/commands/ios/perform.js.map +1 -1
  120. package/dist/commands/ios/press-key.d.ts +17 -1
  121. package/dist/commands/ios/press-key.d.ts.map +1 -1
  122. package/dist/commands/ios/press-key.js +51 -6
  123. package/dist/commands/ios/press-key.js.map +1 -1
  124. package/dist/commands/ios/record.d.ts +20 -1
  125. package/dist/commands/ios/record.d.ts.map +1 -1
  126. package/dist/commands/ios/record.js +100 -3
  127. package/dist/commands/ios/record.js.map +1 -1
  128. package/dist/commands/ios/screenshot.d.ts +15 -1
  129. package/dist/commands/ios/screenshot.d.ts.map +1 -1
  130. package/dist/commands/ios/screenshot.js +63 -3
  131. package/dist/commands/ios/screenshot.js.map +1 -1
  132. package/dist/commands/ios/scroll.d.ts +17 -1
  133. package/dist/commands/ios/scroll.d.ts.map +1 -1
  134. package/dist/commands/ios/scroll.js +55 -6
  135. package/dist/commands/ios/scroll.js.map +1 -1
  136. package/dist/commands/{exec/install-app.d.ts → ios/simctl.d.ts} +5 -5
  137. package/dist/commands/ios/simctl.d.ts.map +1 -0
  138. package/dist/commands/ios/simctl.js +75 -0
  139. package/dist/commands/ios/simctl.js.map +1 -0
  140. package/dist/commands/ios/sync.d.ts +3 -0
  141. package/dist/commands/ios/sync.d.ts.map +1 -1
  142. package/dist/commands/ios/sync.js +13 -4
  143. package/dist/commands/ios/sync.js.map +1 -1
  144. package/dist/commands/{exec/open-url.d.ts → ios/syslog.d.ts} +4 -5
  145. package/dist/commands/ios/syslog.d.ts.map +1 -0
  146. package/dist/commands/ios/syslog.js +65 -0
  147. package/dist/commands/ios/syslog.js.map +1 -0
  148. package/dist/commands/ios/tap-element.d.ts +21 -1
  149. package/dist/commands/ios/tap-element.d.ts.map +1 -1
  150. package/dist/commands/ios/tap-element.js +91 -6
  151. package/dist/commands/ios/tap-element.js.map +1 -1
  152. package/dist/commands/ios/tap.d.ts +23 -1
  153. package/dist/commands/ios/tap.d.ts.map +1 -1
  154. package/dist/commands/ios/tap.js +54 -6
  155. package/dist/commands/ios/tap.js.map +1 -1
  156. package/dist/commands/ios/terminate-app.d.ts +1 -0
  157. package/dist/commands/ios/terminate-app.d.ts.map +1 -1
  158. package/dist/commands/ios/type.d.ts +17 -1
  159. package/dist/commands/ios/type.d.ts.map +1 -1
  160. package/dist/commands/ios/type.js +52 -6
  161. package/dist/commands/ios/type.js.map +1 -1
  162. package/dist/commands/{exec/screenshot.d.ts → ios/xcodebuild.d.ts} +4 -3
  163. package/dist/commands/ios/xcodebuild.d.ts.map +1 -0
  164. package/dist/commands/ios/xcodebuild.js +61 -0
  165. package/dist/commands/ios/xcodebuild.js.map +1 -0
  166. package/dist/commands/ios/xcrun.d.ts +16 -0
  167. package/dist/commands/ios/xcrun.d.ts.map +1 -0
  168. package/dist/commands/ios/xcrun.js +62 -0
  169. package/dist/commands/ios/xcrun.js.map +1 -0
  170. package/dist/commands/login.d.ts +7 -2
  171. package/dist/commands/login.d.ts.map +1 -1
  172. package/dist/commands/login.js +5 -2
  173. package/dist/commands/login.js.map +1 -1
  174. package/dist/commands/logout.d.ts +7 -2
  175. package/dist/commands/logout.d.ts.map +1 -1
  176. package/dist/commands/logout.js +5 -2
  177. package/dist/commands/logout.js.map +1 -1
  178. package/dist/commands/session/start.d.ts +1 -0
  179. package/dist/commands/session/start.d.ts.map +1 -1
  180. package/dist/commands/session/status.d.ts +1 -0
  181. package/dist/commands/session/status.d.ts.map +1 -1
  182. package/dist/commands/session/stop.d.ts +5 -2
  183. package/dist/commands/session/stop.d.ts.map +1 -1
  184. package/dist/commands/session/stop.js +4 -2
  185. package/dist/commands/session/stop.js.map +1 -1
  186. package/dist/commands/xcode/build.d.ts +4 -0
  187. package/dist/commands/xcode/build.d.ts.map +1 -1
  188. package/dist/commands/xcode/build.js +28 -9
  189. package/dist/commands/xcode/build.js.map +1 -1
  190. package/dist/commands/xcode/create.d.ts +1 -0
  191. package/dist/commands/xcode/create.d.ts.map +1 -1
  192. package/dist/commands/xcode/create.js +13 -7
  193. package/dist/commands/xcode/create.js.map +1 -1
  194. package/dist/commands/xcode/delete.d.ts +1 -0
  195. package/dist/commands/xcode/delete.d.ts.map +1 -1
  196. package/dist/commands/xcode/get.d.ts +1 -0
  197. package/dist/commands/xcode/get.d.ts.map +1 -1
  198. package/dist/commands/xcode/list.d.ts +1 -0
  199. package/dist/commands/xcode/list.d.ts.map +1 -1
  200. package/dist/commands/xcode/sync.d.ts +4 -0
  201. package/dist/commands/xcode/sync.d.ts.map +1 -1
  202. package/dist/commands/xcode/sync.js +19 -3
  203. package/dist/commands/xcode/sync.js.map +1 -1
  204. package/dist/lib/android-selector.d.ts +50 -0
  205. package/dist/lib/android-selector.d.ts.map +1 -0
  206. package/dist/lib/android-selector.js +103 -0
  207. package/dist/lib/android-selector.js.map +1 -0
  208. package/dist/lib/config.js +1 -1
  209. package/dist/lib/config.js.map +1 -1
  210. package/dist/lib/daemon.d.ts.map +1 -1
  211. package/dist/lib/daemon.js +25 -3
  212. package/dist/lib/daemon.js.map +1 -1
  213. package/dist/lib/ignore-patterns.d.ts +2 -0
  214. package/dist/lib/ignore-patterns.d.ts.map +1 -0
  215. package/dist/lib/ignore-patterns.js +18 -0
  216. package/dist/lib/ignore-patterns.js.map +1 -0
  217. package/package.json +3 -6
  218. package/dist/commands/exec/element-tree.d.ts.map +0 -1
  219. package/dist/commands/exec/element-tree.js +0 -61
  220. package/dist/commands/exec/element-tree.js.map +0 -1
  221. package/dist/commands/exec/install-app.d.ts.map +0 -1
  222. package/dist/commands/exec/install-app.js +0 -84
  223. package/dist/commands/exec/install-app.js.map +0 -1
  224. package/dist/commands/exec/open-url.d.ts.map +0 -1
  225. package/dist/commands/exec/open-url.js +0 -48
  226. package/dist/commands/exec/open-url.js.map +0 -1
  227. package/dist/commands/exec/perform.d.ts +0 -16
  228. package/dist/commands/exec/perform.d.ts.map +0 -1
  229. package/dist/commands/exec/perform.js +0 -232
  230. package/dist/commands/exec/perform.js.map +0 -1
  231. package/dist/commands/exec/press-key.d.ts +0 -17
  232. package/dist/commands/exec/press-key.d.ts.map +0 -1
  233. package/dist/commands/exec/press-key.js +0 -49
  234. package/dist/commands/exec/press-key.js.map +0 -1
  235. package/dist/commands/exec/record.d.ts +0 -20
  236. package/dist/commands/exec/record.d.ts.map +0 -1
  237. package/dist/commands/exec/record.js +0 -101
  238. package/dist/commands/exec/record.js.map +0 -1
  239. package/dist/commands/exec/screenshot.d.ts.map +0 -1
  240. package/dist/commands/exec/screenshot.js +0 -72
  241. package/dist/commands/exec/screenshot.js.map +0 -1
  242. package/dist/commands/exec/scroll.d.ts +0 -17
  243. package/dist/commands/exec/scroll.d.ts.map +0 -1
  244. package/dist/commands/exec/scroll.js +0 -58
  245. package/dist/commands/exec/scroll.js.map +0 -1
  246. package/dist/commands/exec/tap-element.d.ts +0 -18
  247. package/dist/commands/exec/tap-element.d.ts.map +0 -1
  248. package/dist/commands/exec/tap-element.js +0 -102
  249. package/dist/commands/exec/tap-element.js.map +0 -1
  250. package/dist/commands/exec/tap.d.ts +0 -23
  251. package/dist/commands/exec/tap.d.ts.map +0 -1
  252. package/dist/commands/exec/tap.js +0 -57
  253. package/dist/commands/exec/tap.js.map +0 -1
  254. package/dist/commands/exec/type.d.ts.map +0 -1
  255. package/dist/commands/exec/type.js +0 -54
  256. package/dist/commands/exec/type.js.map +0 -1
  257. package/dist/commands/ios/log.d.ts.map +0 -1
  258. package/dist/commands/ios/log.js.map +0 -1
package/README.md CHANGED
@@ -39,6 +39,7 @@ Every command supports these flags:
39
39
  | ------------------- | ----------------------------------------------- |
40
40
  | `--api-key <value>` | API key (also reads `LIM_API_KEY` env var) |
41
41
  | `--json` | Output as JSON instead of human-readable tables |
42
+ | `--quiet` | Suppress intermediate logs and print only the final result |
42
43
  | `--help` | Show help for any command |
43
44
 
44
45
  ## Command Structure
@@ -160,8 +161,8 @@ lim ios screenshot # Output base64 to stdout
160
161
 
161
162
  # Tapping
162
163
  lim ios tap 100 200
163
- lim ios tap-element --label "Submit"
164
- lim ios tap-element --accessibility-id btn_ok
164
+ lim ios tap-element --ax-label "Submit"
165
+ lim ios tap-element --ax-unique-id btn_ok
165
166
 
166
167
  # Text input
167
168
  lim ios type "Hello World"
@@ -191,6 +192,13 @@ lim ios element-tree | jq '.'
191
192
  # Open URLs / deep links
192
193
  lim ios open-url https://example.com
193
194
  lim ios open-url myapp://settings
195
+
196
+ # Low-level simulator access
197
+ lim ios simctl -- listapps booted
198
+ lim ios xcrun -- --sdk iphonesimulator --show-sdk-version
199
+ lim ios xcodebuild -- -version
200
+ lim ios cp payload.json ./fixtures/payload.json
201
+ lim ios lsof
194
202
  ```
195
203
 
196
204
  #### App Management (iOS only)
@@ -199,6 +207,8 @@ lim ios open-url myapp://settings
199
207
  # Install an app (local file auto-uploads, or use URL)
200
208
  lim ios install-app ./MyApp.ipa
201
209
  lim ios install-app https://example.com/app.ipa
210
+ lim ios install-app https://example.com/app.ipa --md5 <hex-digest>
211
+ lim ios install-app ./MyApp.ipa --launch-mode RelaunchIfRunning
202
212
 
203
213
  # Launch / terminate
204
214
  lim ios launch-app com.example.myapp
@@ -213,10 +223,14 @@ lim ios list-apps
213
223
 
214
224
  ```bash
215
225
  # Tail recent logs
216
- lim ios log com.example.myapp --lines 50
226
+ lim ios app-log com.example.myapp --tail 50
217
227
 
218
228
  # Stream logs continuously (Ctrl+C to stop)
219
- lim ios log com.example.myapp -f
229
+ lim ios app-log com.example.myapp --follow
230
+
231
+ # Stream full simulator syslog
232
+ lim ios syslog
233
+ lim ios syslog --json
220
234
  ```
221
235
 
222
236
  #### Video Recording
@@ -237,6 +251,9 @@ lim ios sync ./Build/Products/Debug-iphonesimulator/MyApp.app
237
251
 
238
252
  # Re-sync on changes and relaunch if the app is already running
239
253
  lim ios sync ./MyApp.app --watch --launch-mode RelaunchIfRunning
254
+
255
+ # Tune the delta-sync cache and patch size
256
+ lim ios sync ./MyApp.app --basis-cache-dir ./.limsync-cache --max-patch-bytes 2097152
240
257
  ```
241
258
 
242
259
  ---
@@ -286,14 +303,18 @@ lim android screenshot -o screenshot.png
286
303
  # Tapping
287
304
  lim android tap 100 200
288
305
  lim android tap-element --resource-id com.example:id/button
306
+ lim android tap-element --content-desc "Sign In button"
289
307
  lim android tap-element --text "Sign In"
308
+ lim android find-element --resource-id com.example:id/button --json
290
309
 
291
310
  # Text input
292
311
  lim android type "Hello World"
312
+ lim android type "Hello World" --resource-id com.example:id/search_input
293
313
  lim android press-key enter
294
314
 
295
315
  # Scrolling
296
316
  lim android scroll down --amount 500
317
+ lim android scroll down --resource-id com.example:id/list --amount 500
297
318
 
298
319
  # UI inspection
299
320
  lim android element-tree
@@ -306,6 +327,7 @@ lim android open-url https://example.com
306
327
 
307
328
  # Video recording
308
329
  lim android record start
330
+ lim android record start --quality 8
309
331
  lim android record stop
310
332
  lim android record stop -o recording.mp4
311
333
  lim android record stop --presigned-url https://example.com/upload
@@ -344,6 +366,10 @@ lim xcode build ./MyProject --scheme MyApp --workspace MyApp.xcworkspace
344
366
 
345
367
  # Build and upload artifact
346
368
  lim xcode build ./MyProject --scheme MyApp --upload my-app-build
369
+
370
+ # Tune sync cache, patch size, or ignore additional paths
371
+ lim xcode sync ./MyProject --watch --basis-cache-dir ./.limsync-cache --max-patch-bytes 2097152
372
+ lim xcode sync ./MyProject --ignore "\\.xcuserdata/" --ignore "^DerivedData/"
347
373
  ```
348
374
 
349
375
  ---
@@ -367,6 +393,7 @@ lim asset pull asset_abc123
367
393
  lim asset list
368
394
  lim asset list --name my-app
369
395
  lim asset list --download-url
396
+ lim asset list --include-app-store
370
397
 
371
398
  # Get a specific asset
372
399
  lim asset list asset_abc123
@@ -408,7 +435,7 @@ This makes sessions essential for interactive workflows, AI agent loops, and any
408
435
  #### Session Commands
409
436
 
410
437
  ```bash
411
- # Start a session (defaults to last created instance)
438
+ # Start a session (defaults to the last remembered iOS instance, otherwise Android, then Xcode)
412
439
  lim session start
413
440
 
414
441
  # Or specify an instance explicitly
@@ -436,7 +463,7 @@ If only one session is active, `lim session stop` (no ID) stops it automatically
436
463
  Each `lim session start` spawns an independent background daemon that:
437
464
 
438
465
  - Holds a persistent WebSocket connection to that specific instance
439
- - Listens on its own Unix socket at `/tmp/lim-sessions/<instance-id>/`
466
+ - Listens on its own Unix socket under `~/.lim/sessions/<hashed-instance-id>/`
440
467
  - All interaction commands automatically detect the matching session and route through it
441
468
  - Multiple sessions run in parallel with no shared state
442
469
 
@@ -449,9 +476,9 @@ lim session start
449
476
  # Fast interaction loop — each command takes ~50ms
450
477
  lim ios launch-app com.example.myapp
451
478
  lim ios element-tree | jq '.tree'
452
- lim ios tap-element --label "Login"
479
+ lim ios tap-element --ax-label "Login"
453
480
  lim ios type "user@example.com"
454
- lim ios tap-element --label "Submit"
481
+ lim ios tap-element --ax-label "Submit"
455
482
  lim ios screenshot -o after-login.png
456
483
 
457
484
  lim session stop
@@ -639,12 +666,12 @@ lim session start
639
666
  # Agent can interact at high speed
640
667
  lim ios tap 200 400
641
668
  lim ios type "test@example.com"
642
- lim ios tap-element --label "Sign In"
669
+ lim ios tap-element --ax-label "Sign In"
643
670
  lim ios screenshot -o result.png
644
671
  lim ios element-tree --json > ui-state.json
645
672
 
646
673
  # Tail logs (non-streaming works through session too)
647
- lim ios log com.example.myapp --lines 20
674
+ lim ios app-log com.example.myapp --tail 20
648
675
 
649
676
  # Clean up
650
677
  lim session stop
@@ -4,12 +4,18 @@ export declare abstract class BaseCommand extends Command {
4
4
  static baseFlags: {
5
5
  'api-key': import("@oclif/core/lib/interfaces").OptionFlag<string | undefined, import("@oclif/core/lib/interfaces").CustomOptions>;
6
6
  json: import("@oclif/core/lib/interfaces").BooleanFlag<boolean>;
7
+ quiet: import("@oclif/core/lib/interfaces").BooleanFlag<boolean>;
7
8
  };
8
9
  private _client?;
9
10
  protected get client(): Limrun;
10
11
  private _parsedFlags?;
11
12
  protected get parsedFlags(): Record<string, unknown> | undefined;
12
13
  protected setParsedFlags(flags: Record<string, unknown>): void;
14
+ protected isJsonEnabled(): boolean;
15
+ protected isQuietEnabled(): boolean;
16
+ protected shouldSuppressInfo(): boolean;
17
+ protected info(message?: string): void;
18
+ protected output(message?: string): void;
13
19
  protected withAuth<T>(fn: () => Promise<T>): Promise<T>;
14
20
  protected outputTable(headers: string[], rows: string[][]): void;
15
21
  protected outputJson(data: unknown): void;
@@ -1 +1 @@
1
- {"version":3,"file":"base-command.d.ts","sourceRoot":"","sources":["../src/base-command.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAS,MAAM,aAAa,CAAC;AAC7C,OAAO,MAA+B,MAAM,aAAa,CAAC;AAO1D,8BAAsB,WAAY,SAAQ,OAAO;IAC/C,MAAM,CAAC,SAAS;;;MAWd;IAEF,OAAO,CAAC,OAAO,CAAC,CAAS;IAEzB,SAAS,KAAK,MAAM,IAAI,MAAM,CAc7B;IAED,OAAO,CAAC,YAAY,CAAC,CAA0B;IAE/C,SAAS,KAAK,WAAW,IAAI,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,SAAS,CAE/D;IAED,SAAS,CAAC,cAAc,CAAC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI;cAI9C,QAAQ,CAAC,CAAC,EAAE,EAAE,EAAE,MAAM,OAAO,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC;IAiB7D,SAAS,CAAC,WAAW,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE,GAAG,IAAI;IAgBhE,SAAS,CAAC,UAAU,CAAC,IAAI,EAAE,OAAO,GAAG,IAAI;IAIzC,SAAS,CAAC,gBAAgB,CAAC,UAAU,EAAE,MAAM,GAAG,MAAM;IAKtD;;;OAGG;IACH,SAAS,CAAC,SAAS,CAAC,UAAU,EAAE,MAAM,GAAG,SAAS,GAAG,MAAM;CAO5D"}
1
+ {"version":3,"file":"base-command.d.ts","sourceRoot":"","sources":["../src/base-command.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAS,MAAM,aAAa,CAAC;AAC7C,OAAO,MAA+B,MAAM,aAAa,CAAC;AAO1D,8BAAsB,WAAY,SAAQ,OAAO;IAC/C,MAAM,CAAC,SAAS;;;;MAed;IAEF,OAAO,CAAC,OAAO,CAAC,CAAS;IAEzB,SAAS,KAAK,MAAM,IAAI,MAAM,CAc7B;IAED,OAAO,CAAC,YAAY,CAAC,CAA0B;IAE/C,SAAS,KAAK,WAAW,IAAI,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,SAAS,CAE/D;IAED,SAAS,CAAC,cAAc,CAAC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI;IAI9D,SAAS,CAAC,aAAa,IAAI,OAAO;IAIlC,SAAS,CAAC,cAAc,IAAI,OAAO;IAInC,SAAS,CAAC,kBAAkB,IAAI,OAAO;IAIvC,SAAS,CAAC,IAAI,CAAC,OAAO,SAAK,GAAG,IAAI;IAMlC,SAAS,CAAC,MAAM,CAAC,OAAO,SAAK,GAAG,IAAI;cAIpB,QAAQ,CAAC,CAAC,EAAE,EAAE,EAAE,MAAM,OAAO,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC;IAiB7D,SAAS,CAAC,WAAW,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE,GAAG,IAAI;IAgBhE,SAAS,CAAC,UAAU,CAAC,IAAI,EAAE,OAAO,GAAG,IAAI;IAIzC,SAAS,CAAC,gBAAgB,CAAC,UAAU,EAAE,MAAM,GAAG,MAAM;IAKtD;;;OAGG;IACH,SAAS,CAAC,SAAS,CAAC,UAAU,EAAE,MAAM,GAAG,SAAS,GAAG,MAAM;CAO5D"}
@@ -60,6 +60,23 @@ class BaseCommand extends core_1.Command {
60
60
  setParsedFlags(flags) {
61
61
  this._parsedFlags = flags;
62
62
  }
63
+ isJsonEnabled() {
64
+ return Boolean(this.parsedFlags?.json);
65
+ }
66
+ isQuietEnabled() {
67
+ return Boolean(this.parsedFlags?.quiet);
68
+ }
69
+ shouldSuppressInfo() {
70
+ return this.isJsonEnabled() || this.isQuietEnabled();
71
+ }
72
+ info(message = '') {
73
+ if (!this.shouldSuppressInfo()) {
74
+ super.log(message);
75
+ }
76
+ }
77
+ output(message = '') {
78
+ super.log(message);
79
+ }
63
80
  async withAuth(fn) {
64
81
  try {
65
82
  return await fn();
@@ -67,9 +84,9 @@ class BaseCommand extends core_1.Command {
67
84
  catch (err) {
68
85
  if (err instanceof api_1.AuthenticationError) {
69
86
  const config = (0, config_1.readConfig)();
70
- this.log('Session expired. Logging in...');
87
+ this.info('Session expired. Logging in...');
71
88
  await (0, auth_1.login)(config.consoleEndpoint, VERSION);
72
- this.log('You are logged in now.');
89
+ this.info('You are logged in now.');
73
90
  // Reset client so it picks up the new key
74
91
  this._client = undefined;
75
92
  return fn();
@@ -87,14 +104,14 @@ class BaseCommand extends core_1.Command {
87
104
  });
88
105
  return obj;
89
106
  });
90
- this.log(JSON.stringify(objects, null, 2));
107
+ this.output(JSON.stringify(objects, null, 2));
91
108
  }
92
109
  else {
93
- this.log((0, formatting_1.renderTable)(headers, rows));
110
+ this.output((0, formatting_1.renderTable)(headers, rows));
94
111
  }
95
112
  }
96
113
  outputJson(data) {
97
- this.log(JSON.stringify(data, null, 2));
114
+ this.output(JSON.stringify(data, null, 2));
98
115
  }
99
116
  consoleStreamUrl(instanceId) {
100
117
  const baseUrl = (0, config_1.readConfig)().consoleEndpoint.replace(/\/+$/, '');
@@ -122,5 +139,9 @@ BaseCommand.baseFlags = {
122
139
  description: 'Output structured JSON instead of human-readable tables or plain text when the command supports it.',
123
140
  default: false,
124
141
  }),
142
+ quiet: core_1.Flags.boolean({
143
+ description: 'Suppress intermediate human-readable logs and only emit the final result.',
144
+ default: false,
145
+ }),
125
146
  };
126
147
  //# sourceMappingURL=base-command.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"base-command.js","sourceRoot":"","sources":["../src/base-command.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"base-command.js","sourceRoot":"","sources":["../src/base-command.ts"],"names":[],"mappings":"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"}
@@ -9,6 +9,7 @@ export default class AndroidConnect extends BaseCommand {
9
9
  'adb-path': import("@oclif/core/lib/interfaces").OptionFlag<string, import("@oclif/core/lib/interfaces").CustomOptions>;
10
10
  'api-key': import("@oclif/core/lib/interfaces").OptionFlag<string | undefined, import("@oclif/core/lib/interfaces").CustomOptions>;
11
11
  json: import("@oclif/core/lib/interfaces").BooleanFlag<boolean>;
12
+ quiet: import("@oclif/core/lib/interfaces").BooleanFlag<boolean>;
12
13
  };
13
14
  run(): Promise<void>;
14
15
  }
@@ -1 +1 @@
1
- {"version":3,"file":"connect.d.ts","sourceRoot":"","sources":["../../../src/commands/android/connect.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AAEjD,MAAM,CAAC,OAAO,OAAO,cAAe,SAAQ,WAAW;IACrD,MAAM,CAAC,OAAO,SAA4D;IAC1E,MAAM,CAAC,WAAW,SACmN;IACrO,MAAM,CAAC,QAAQ,WAIb;IAEF,MAAM,CAAC,IAAI,KAAM;IAEjB,MAAM,CAAC,KAAK;;;;;MAUV;IAEI,GAAG,IAAI,OAAO,CAAC,IAAI,CAAC;CAoC3B"}
1
+ {"version":3,"file":"connect.d.ts","sourceRoot":"","sources":["../../../src/commands/android/connect.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AAEjD,MAAM,CAAC,OAAO,OAAO,cAAe,SAAQ,WAAW;IACrD,MAAM,CAAC,OAAO,SAA4D;IAC1E,MAAM,CAAC,WAAW,SACmN;IACrO,MAAM,CAAC,QAAQ,WAIb;IAEF,MAAM,CAAC,IAAI,KAAM;IAEjB,MAAM,CAAC,KAAK;;;;;;MAUV;IAEI,GAAG,IAAI,OAAO,CAAC,IAAI,CAAC;CAoC3B"}
@@ -17,6 +17,7 @@ export default class AndroidCreate extends BaseCommand {
17
17
  install: import("@oclif/core/lib/interfaces").OptionFlag<string[] | undefined, import("@oclif/core/lib/interfaces").CustomOptions>;
18
18
  'api-key': import("@oclif/core/lib/interfaces").OptionFlag<string | undefined, import("@oclif/core/lib/interfaces").CustomOptions>;
19
19
  json: import("@oclif/core/lib/interfaces").BooleanFlag<boolean>;
20
+ quiet: import("@oclif/core/lib/interfaces").BooleanFlag<boolean>;
20
21
  };
21
22
  run(): Promise<void>;
22
23
  }
@@ -1 +1 @@
1
- {"version":3,"file":"create.d.ts","sourceRoot":"","sources":["../../../src/commands/android/create.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AAKjD,MAAM,CAAC,OAAO,OAAO,aAAc,SAAQ,WAAW;IACpD,MAAM,CAAC,OAAO,SAAmC;IACjD,MAAM,CAAC,WAAW,SAC+J;IAEjL,MAAM,CAAC,QAAQ,WAKb;IAEF,MAAM,CAAC,KAAK;;;;;;;;;;;;;;MAsCV;IAEI,GAAG,IAAI,OAAO,CAAC,IAAI,CAAC;CAyG3B"}
1
+ {"version":3,"file":"create.d.ts","sourceRoot":"","sources":["../../../src/commands/android/create.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AAKjD,MAAM,CAAC,OAAO,OAAO,aAAc,SAAQ,WAAW;IACpD,MAAM,CAAC,OAAO,SAAmC;IACjD,MAAM,CAAC,WAAW,SAC+J;IAEjL,MAAM,CAAC,QAAQ,WAKb;IAEF,MAAM,CAAC,KAAK;;;;;;;;;;;;;;;MAsCV;IAEI,GAAG,IAAI,OAAO,CAAC,IAAI,CAAC;CA0G3B"}
@@ -52,11 +52,11 @@ class AndroidCreate extends base_command_1.BaseCommand {
52
52
  for (const filePath of flags.install) {
53
53
  const resolved = path_1.default.resolve(filePath);
54
54
  const name = path_1.default.basename(resolved);
55
- this.log(`Uploading ${name}...`);
55
+ this.info(`Uploading ${name}...`);
56
56
  const asset = await this.client.assets.getOrUpload({ path: resolved, name });
57
57
  assetNames.push(asset.name);
58
58
  }
59
- this.log(`Successfully uploaded ${flags.install.length} file(s)`);
59
+ this.info(`Successfully uploaded ${flags.install.length} file(s)`);
60
60
  }
61
61
  // Build params
62
62
  const params = {
@@ -88,17 +88,17 @@ class AndroidCreate extends base_command_1.BaseCommand {
88
88
  const start = Date.now();
89
89
  const instance = await this.client.androidInstances.create(params);
90
90
  (0, config_1.saveLastInstanceId)(instance.metadata.id);
91
- this.log(`Created a new instance in ${((Date.now() - start) / 1000).toFixed(1)}s`);
92
- this.log(`Instance ID: ${instance.metadata.id}`);
93
- this.log(`Console URL: ${this.consoleStreamUrl(instance.metadata.id)}`);
91
+ this.info(`Created a new instance in ${((Date.now() - start) / 1000).toFixed(1)}s`);
92
+ this.info(`Instance ID: ${instance.metadata.id}`);
93
+ this.info(`Console URL: ${this.consoleStreamUrl(instance.metadata.id)}`);
94
94
  if (flags.rm) {
95
95
  const cleanup = async () => {
96
96
  try {
97
97
  await this.client.androidInstances.delete(instance.metadata.id);
98
- this.log(`${instance.metadata.id} is deleted`);
98
+ this.info(`${instance.metadata.id} is deleted`);
99
99
  }
100
100
  catch (e) {
101
- this.log(`Failed to delete instance: ${e}`);
101
+ this.info(`Failed to delete instance: ${e}`);
102
102
  }
103
103
  };
104
104
  process.on('SIGINT', async () => {
@@ -118,8 +118,8 @@ class AndroidCreate extends base_command_1.BaseCommand {
118
118
  token: instance.status.token,
119
119
  });
120
120
  const tunnel = await instanceClient.startAdbTunnel();
121
- this.log(`Open the Console URL in your browser to stream the device: ${this.consoleStreamUrl(instance.metadata.id)}`);
122
- this.log('Tunnel started. Press Ctrl+C to stop.');
121
+ this.info(`Open the Console URL in your browser to stream the device: ${this.consoleStreamUrl(instance.metadata.id)}`);
122
+ this.output('Tunnel started. Press Ctrl+C to stop.');
123
123
  await new Promise((resolve) => {
124
124
  const keepAlive = setInterval(() => { }, 1 << 30);
125
125
  const shutdown = () => {
@@ -133,10 +133,12 @@ class AndroidCreate extends base_command_1.BaseCommand {
133
133
  instanceClient.disconnect();
134
134
  }
135
135
  else {
136
- this.log(`Created instance ${instance.metadata.id}`);
137
136
  if (flags.json) {
138
137
  this.outputJson(instance);
139
138
  }
139
+ else {
140
+ this.output(`Created instance ${instance.metadata.id}`);
141
+ }
140
142
  }
141
143
  });
142
144
  }
@@ -1 +1 @@
1
- {"version":3,"file":"create.js","sourceRoot":"","sources":["../../../src/commands/android/create.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"create.js","sourceRoot":"","sources":["../../../src/commands/android/create.ts"],"names":[],"mappings":"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"}
@@ -9,6 +9,7 @@ export default class AndroidDelete extends BaseCommand {
9
9
  static flags: {
10
10
  'api-key': import("@oclif/core/lib/interfaces").OptionFlag<string | undefined, import("@oclif/core/lib/interfaces").CustomOptions>;
11
11
  json: import("@oclif/core/lib/interfaces").BooleanFlag<boolean>;
12
+ quiet: import("@oclif/core/lib/interfaces").BooleanFlag<boolean>;
12
13
  };
13
14
  run(): Promise<void>;
14
15
  }
@@ -1 +1 @@
1
- {"version":3,"file":"delete.d.ts","sourceRoot":"","sources":["../../../src/commands/android/delete.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AAEjD,MAAM,CAAC,OAAO,OAAO,aAAc,SAAQ,WAAW;IACpD,MAAM,CAAC,OAAO,SAAgC;IAC9C,MAAM,CAAC,WAAW,SAAgD;IAClE,MAAM,CAAC,QAAQ,WAGb;IAEF,MAAM,CAAC,IAAI;;MAET;IAEF,MAAM,CAAC,KAAK;;;MAAgC;IAEtC,GAAG,IAAI,OAAO,CAAC,IAAI,CAAC;CAS3B"}
1
+ {"version":3,"file":"delete.d.ts","sourceRoot":"","sources":["../../../src/commands/android/delete.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AAEjD,MAAM,CAAC,OAAO,OAAO,aAAc,SAAQ,WAAW;IACpD,MAAM,CAAC,OAAO,SAAgC;IAC9C,MAAM,CAAC,WAAW,SAAgD;IAClE,MAAM,CAAC,QAAQ,WAGb;IAEF,MAAM,CAAC,IAAI;;MAET;IAEF,MAAM,CAAC,KAAK;;;;MAAgC;IAEtC,GAAG,IAAI,OAAO,CAAC,IAAI,CAAC;CAS3B"}
@@ -1,2 +1,15 @@
1
- export { default } from '../exec/element-tree';
1
+ import { BaseCommand } from '../../base-command';
2
+ export default class AndroidElementTree extends BaseCommand {
3
+ static summary: string;
4
+ static description: string;
5
+ static examples: string[];
6
+ static args: {};
7
+ static flags: {
8
+ id: import("@oclif/core/lib/interfaces").OptionFlag<string | undefined, import("@oclif/core/lib/interfaces").CustomOptions>;
9
+ 'api-key': import("@oclif/core/lib/interfaces").OptionFlag<string | undefined, import("@oclif/core/lib/interfaces").CustomOptions>;
10
+ json: import("@oclif/core/lib/interfaces").BooleanFlag<boolean>;
11
+ quiet: import("@oclif/core/lib/interfaces").BooleanFlag<boolean>;
12
+ };
13
+ run(): Promise<void>;
14
+ }
2
15
  //# sourceMappingURL=element-tree.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"element-tree.d.ts","sourceRoot":"","sources":["../../../src/commands/android/element-tree.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,sBAAsB,CAAC"}
1
+ {"version":3,"file":"element-tree.d.ts","sourceRoot":"","sources":["../../../src/commands/android/element-tree.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AAQjD,MAAM,CAAC,OAAO,OAAO,kBAAmB,SAAQ,WAAW;IACzD,MAAM,CAAC,OAAO,SAA6D;IAC3E,MAAM,CAAC,WAAW,SACiJ;IACnK,MAAM,CAAC,QAAQ,WAIb;IAEF,MAAM,CAAC,IAAI,KAAM;IAEjB,MAAM,CAAC,KAAK;;;;;MAKV;IAEI,GAAG,IAAI,OAAO,CAAC,IAAI,CAAC;CAwC3B"}
@@ -1,9 +1,62 @@
1
1
  "use strict";
2
- var __importDefault = (this && this.__importDefault) || function (mod) {
3
- return (mod && mod.__esModule) ? mod : { "default": mod };
4
- };
5
2
  Object.defineProperty(exports, "__esModule", { value: true });
6
- exports.default = void 0;
7
- var element_tree_1 = require("../exec/element-tree");
8
- Object.defineProperty(exports, "default", { enumerable: true, get: function () { return __importDefault(element_tree_1).default; } });
3
+ const core_1 = require("@oclif/core");
4
+ const base_command_1 = require("../../base-command");
5
+ const instance_client_factory_1 = require("../../lib/instance-client-factory");
6
+ class AndroidElementTree extends base_command_1.BaseCommand {
7
+ async run() {
8
+ const { flags } = await this.parse(AndroidElementTree);
9
+ this.setParsedFlags(flags);
10
+ await this.withAuth(async () => {
11
+ const id = this.resolveId(flags.id);
12
+ if ((0, instance_client_factory_1.detectInstanceType)(id) !== 'android') {
13
+ this.error('android element-tree only supports Android instances');
14
+ }
15
+ if ((0, instance_client_factory_1.hasActiveSession)(id)) {
16
+ const tree = await (0, instance_client_factory_1.sendSessionCommand)(id, 'element-tree');
17
+ if (flags.json) {
18
+ this.outputJson(tree);
19
+ }
20
+ else if (typeof tree === 'object' && tree && 'xml' in tree) {
21
+ this.log(tree.xml || JSON.stringify(tree.nodes, null, 2));
22
+ }
23
+ else {
24
+ this.log(JSON.stringify(tree, null, 2));
25
+ }
26
+ return;
27
+ }
28
+ const { type, client, disconnect } = await (0, instance_client_factory_1.getInstanceClient)(this.client, id);
29
+ try {
30
+ if (type !== 'android') {
31
+ this.error('android element-tree only supports Android instances');
32
+ }
33
+ const tree = await client.getElementTree();
34
+ if (flags.json) {
35
+ this.outputJson(tree);
36
+ }
37
+ else {
38
+ this.log(tree.xml || JSON.stringify(tree.nodes, null, 2));
39
+ }
40
+ }
41
+ finally {
42
+ disconnect();
43
+ }
44
+ });
45
+ }
46
+ }
47
+ AndroidElementTree.summary = 'Get the UI element tree from a running Android instance';
48
+ AndroidElementTree.description = 'Inspect the current UI hierarchy of a running Android instance. Use `--json` for structured output that agents can search or feed into later automation steps.';
49
+ AndroidElementTree.examples = [
50
+ '<%= config.bin %> android element-tree',
51
+ '<%= config.bin %> android element-tree --id <instance-ID>',
52
+ '<%= config.bin %> android element-tree --json',
53
+ ];
54
+ AndroidElementTree.args = {};
55
+ AndroidElementTree.flags = {
56
+ ...base_command_1.BaseCommand.baseFlags,
57
+ id: core_1.Flags.string({
58
+ description: 'Android instance ID to inspect. Defaults to the last created Android instance.',
59
+ }),
60
+ };
61
+ exports.default = AndroidElementTree;
9
62
  //# sourceMappingURL=element-tree.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"element-tree.js","sourceRoot":"","sources":["../../../src/commands/android/element-tree.ts"],"names":[],"mappings":";;;;;;AAAA,qDAA+C;AAAtC,wHAAA,OAAO,OAAA"}
1
+ {"version":3,"file":"element-tree.js","sourceRoot":"","sources":["../../../src/commands/android/element-tree.ts"],"names":[],"mappings":";;AAAA,sCAAoC;AACpC,qDAAiD;AACjD,+EAK2C;AAE3C,MAAqB,kBAAmB,SAAQ,0BAAW;IAmBzD,KAAK,CAAC,GAAG;QACP,MAAM,EAAE,KAAK,EAAE,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,kBAAkB,CAAC,CAAC;QACvD,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC;QAE3B,MAAM,IAAI,CAAC,QAAQ,CAAC,KAAK,IAAI,EAAE;YAC7B,MAAM,EAAE,GAAG,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;YACpC,IAAI,IAAA,4CAAkB,EAAC,EAAE,CAAC,KAAK,SAAS,EAAE,CAAC;gBACzC,IAAI,CAAC,KAAK,CAAC,sDAAsD,CAAC,CAAC;YACrE,CAAC;YAED,IAAI,IAAA,0CAAgB,EAAC,EAAE,CAAC,EAAE,CAAC;gBACzB,MAAM,IAAI,GAAG,MAAM,IAAA,4CAAkB,EAAC,EAAE,EAAE,cAAc,CAAC,CAAC;gBAC1D,IAAI,KAAK,CAAC,IAAI,EAAE,CAAC;oBACf,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;gBACxB,CAAC;qBAAM,IAAI,OAAO,IAAI,KAAK,QAAQ,IAAI,IAAI,IAAI,KAAK,IAAK,IAAgC,EAAE,CAAC;oBAC1F,IAAI,CAAC,GAAG,CACL,IAAyB,CAAC,GAAG,IAAI,IAAI,CAAC,SAAS,CAAE,IAA4B,CAAC,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC,CAC/F,CAAC;gBACJ,CAAC;qBAAM,CAAC;oBACN,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;gBAC1C,CAAC;gBACD,OAAO;YACT,CAAC;YAED,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,UAAU,EAAE,GAAG,MAAM,IAAA,2CAAiB,EAAC,IAAI,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;YAC9E,IAAI,CAAC;gBACH,IAAI,IAAI,KAAK,SAAS,EAAE,CAAC;oBACvB,IAAI,CAAC,KAAK,CAAC,sDAAsD,CAAC,CAAC;gBACrE,CAAC;gBACD,MAAM,IAAI,GAAG,MAAO,MAAc,CAAC,cAAc,EAAE,CAAC;gBACpD,IAAI,KAAK,CAAC,IAAI,EAAE,CAAC;oBACf,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;gBACxB,CAAC;qBAAM,CAAC;oBACN,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,IAAI,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;gBAC5D,CAAC;YACH,CAAC;oBAAS,CAAC;gBACT,UAAU,EAAE,CAAC;YACf,CAAC;QACH,CAAC,CAAC,CAAC;IACL,CAAC;;AAzDM,0BAAO,GAAG,yDAAyD,CAAC;AACpE,8BAAW,GAChB,gKAAgK,CAAC;AAC5J,2BAAQ,GAAG;IAChB,wCAAwC;IACxC,2DAA2D;IAC3D,+CAA+C;CAChD,CAAC;AAEK,uBAAI,GAAG,EAAE,CAAC;AAEV,wBAAK,GAAG;IACb,GAAG,0BAAW,CAAC,SAAS;IACxB,EAAE,EAAE,YAAK,CAAC,MAAM,CAAC;QACf,WAAW,EAAE,gFAAgF;KAC9F,CAAC;CACH,CAAC;kBAjBiB,kBAAkB"}
@@ -0,0 +1,27 @@
1
+ import { BaseCommand } from '../../base-command';
2
+ export default class AndroidFindElement extends BaseCommand {
3
+ static summary: string;
4
+ static description: string;
5
+ static examples: string[];
6
+ static args: {};
7
+ static flags: {
8
+ limit: import("@oclif/core/lib/interfaces").OptionFlag<number, import("@oclif/core/lib/interfaces").CustomOptions>;
9
+ 'resource-id': import("@oclif/core/lib/interfaces").OptionFlag<string | undefined, import("@oclif/core/lib/interfaces").CustomOptions>;
10
+ text: import("@oclif/core/lib/interfaces").OptionFlag<string | undefined, import("@oclif/core/lib/interfaces").CustomOptions>;
11
+ 'content-desc': import("@oclif/core/lib/interfaces").OptionFlag<string | undefined, import("@oclif/core/lib/interfaces").CustomOptions>;
12
+ 'class-name': import("@oclif/core/lib/interfaces").OptionFlag<string | undefined, import("@oclif/core/lib/interfaces").CustomOptions>;
13
+ 'package-name': import("@oclif/core/lib/interfaces").OptionFlag<string | undefined, import("@oclif/core/lib/interfaces").CustomOptions>;
14
+ index: import("@oclif/core/lib/interfaces").OptionFlag<number | undefined, import("@oclif/core/lib/interfaces").CustomOptions>;
15
+ clickable: import("@oclif/core/lib/interfaces").BooleanFlag<boolean>;
16
+ enabled: import("@oclif/core/lib/interfaces").BooleanFlag<boolean>;
17
+ focused: import("@oclif/core/lib/interfaces").BooleanFlag<boolean>;
18
+ 'bounds-contains-x': import("@oclif/core/lib/interfaces").OptionFlag<number | undefined, import("@oclif/core/lib/interfaces").CustomOptions>;
19
+ 'bounds-contains-y': import("@oclif/core/lib/interfaces").OptionFlag<number | undefined, import("@oclif/core/lib/interfaces").CustomOptions>;
20
+ id: import("@oclif/core/lib/interfaces").OptionFlag<string | undefined, import("@oclif/core/lib/interfaces").CustomOptions>;
21
+ 'api-key': import("@oclif/core/lib/interfaces").OptionFlag<string | undefined, import("@oclif/core/lib/interfaces").CustomOptions>;
22
+ json: import("@oclif/core/lib/interfaces").BooleanFlag<boolean>;
23
+ quiet: import("@oclif/core/lib/interfaces").BooleanFlag<boolean>;
24
+ };
25
+ run(): Promise<void>;
26
+ }
27
+ //# sourceMappingURL=find-element.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"find-element.d.ts","sourceRoot":"","sources":["../../../src/commands/android/find-element.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AAsBjD,MAAM,CAAC,OAAO,OAAO,kBAAmB,SAAQ,WAAW;IACzD,MAAM,CAAC,OAAO,SAAuC;IACrD,MAAM,CAAC,WAAW,SAC8G;IAChI,MAAM,CAAC,QAAQ,WAIb;IAEF,MAAM,CAAC,IAAI,KAAM;IAEjB,MAAM,CAAC,KAAK;;;;;;;;;;;;;;;;;MAUV;IAEI,GAAG,IAAI,OAAO,CAAC,IAAI,CAAC;CAgD3B"}
@@ -0,0 +1,72 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const core_1 = require("@oclif/core");
4
+ const base_command_1 = require("../../base-command");
5
+ const android_selector_1 = require("../../lib/android-selector");
6
+ const instance_client_factory_1 = require("../../lib/instance-client-factory");
7
+ class AndroidFindElement extends base_command_1.BaseCommand {
8
+ async run() {
9
+ const { flags } = await this.parse(AndroidFindElement);
10
+ this.setParsedFlags(flags);
11
+ await this.withAuth(async () => {
12
+ const id = this.resolveId(flags.id);
13
+ if ((0, instance_client_factory_1.detectInstanceType)(id) !== 'android') {
14
+ this.error('android find-element only supports Android instances');
15
+ }
16
+ const selector = (0, android_selector_1.buildAndroidSelector)(flags);
17
+ if (!selector) {
18
+ this.error('Provide at least one Android selector flag such as --resource-id, --text, --content-desc, or --class-name.');
19
+ }
20
+ let result;
21
+ if ((0, instance_client_factory_1.hasActiveSession)(id)) {
22
+ result = (await (0, instance_client_factory_1.sendSessionCommand)(id, 'find-element', [selector, flags.limit]));
23
+ }
24
+ else {
25
+ const { type, client, disconnect } = await (0, instance_client_factory_1.getInstanceClient)(this.client, id);
26
+ try {
27
+ if (type !== 'android') {
28
+ this.error('android find-element only supports Android instances');
29
+ }
30
+ result = await client.findElement(selector, flags.limit);
31
+ }
32
+ finally {
33
+ disconnect();
34
+ }
35
+ }
36
+ if (flags.json) {
37
+ this.outputJson(result);
38
+ return;
39
+ }
40
+ const rows = result.elements.map((element) => [
41
+ element.text || '',
42
+ element.resourceId || '',
43
+ element.className || '',
44
+ element.contentDesc || '',
45
+ element.bounds || '',
46
+ ]);
47
+ this.outputTable(['Text', 'Resource ID', 'Class', 'Content Description', 'Bounds'], rows);
48
+ this.output(`Matched ${result.count} element(s).`);
49
+ });
50
+ }
51
+ }
52
+ AndroidFindElement.summary = 'Find Android elements by selector';
53
+ AndroidFindElement.description = 'Search the current Android UI hierarchy using native selector fields and return the matching elements without tapping them.';
54
+ AndroidFindElement.examples = [
55
+ '<%= config.bin %> android find-element --resource-id com.example:id/submit',
56
+ '<%= config.bin %> android find-element --text "Sign In" --limit 5 --json',
57
+ '<%= config.bin %> android find-element --content-desc "Settings" --id <instance-ID>',
58
+ ];
59
+ AndroidFindElement.args = {};
60
+ AndroidFindElement.flags = {
61
+ ...base_command_1.BaseCommand.baseFlags,
62
+ id: core_1.Flags.string({
63
+ description: 'Android instance ID to inspect. Defaults to the last created Android instance.',
64
+ }),
65
+ ...android_selector_1.androidSelectorFlags,
66
+ limit: core_1.Flags.integer({
67
+ description: 'Maximum number of matching elements to return.',
68
+ default: 20,
69
+ }),
70
+ };
71
+ exports.default = AndroidFindElement;
72
+ //# sourceMappingURL=find-element.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"find-element.js","sourceRoot":"","sources":["../../../src/commands/android/find-element.ts"],"names":[],"mappings":"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"}
@@ -9,6 +9,7 @@ export default class AndroidGet extends BaseCommand {
9
9
  static flags: {
10
10
  'api-key': import("@oclif/core/lib/interfaces").OptionFlag<string | undefined, import("@oclif/core/lib/interfaces").CustomOptions>;
11
11
  json: import("@oclif/core/lib/interfaces").BooleanFlag<boolean>;
12
+ quiet: import("@oclif/core/lib/interfaces").BooleanFlag<boolean>;
12
13
  };
13
14
  run(): Promise<void>;
14
15
  }
@@ -1 +1 @@
1
- {"version":3,"file":"get.d.ts","sourceRoot":"","sources":["../../../src/commands/android/get.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AAEjD,MAAM,CAAC,OAAO,OAAO,UAAW,SAAQ,WAAW;IACjD,MAAM,CAAC,OAAO,SAAiD;IAC/D,MAAM,CAAC,WAAW,SACmI;IACrJ,MAAM,CAAC,QAAQ,WAAuF;IAEtG,MAAM,CAAC,IAAI;;MAET;IAEF,MAAM,CAAC,KAAK;;;MAAgC;IAEtC,GAAG,IAAI,OAAO,CAAC,IAAI,CAAC;CAqB3B"}
1
+ {"version":3,"file":"get.d.ts","sourceRoot":"","sources":["../../../src/commands/android/get.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AAEjD,MAAM,CAAC,OAAO,OAAO,UAAW,SAAQ,WAAW;IACjD,MAAM,CAAC,OAAO,SAAiD;IAC/D,MAAM,CAAC,WAAW,SACmI;IACrJ,MAAM,CAAC,QAAQ,WAAuF;IAEtG,MAAM,CAAC,IAAI;;MAET;IAEF,MAAM,CAAC,KAAK;;;;MAAgC;IAEtC,GAAG,IAAI,OAAO,CAAC,IAAI,CAAC;CAqB3B"}