@limrun/cli 0.2.6 → 0.2.7

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 (99) hide show
  1. package/README.md +26 -25
  2. package/dist/commands/android/connect.d.ts +2 -3
  3. package/dist/commands/android/connect.d.ts.map +1 -1
  4. package/dist/commands/android/connect.js +4 -5
  5. package/dist/commands/android/connect.js.map +1 -1
  6. package/dist/commands/android/get.d.ts +15 -0
  7. package/dist/commands/android/get.d.ts.map +1 -0
  8. package/dist/commands/android/get.js +33 -0
  9. package/dist/commands/android/get.js.map +1 -0
  10. package/dist/commands/android/list.d.ts +1 -4
  11. package/dist/commands/android/list.d.ts.map +1 -1
  12. package/dist/commands/android/list.js +4 -24
  13. package/dist/commands/android/list.js.map +1 -1
  14. package/dist/commands/exec/element-tree.d.ts +2 -3
  15. package/dist/commands/exec/element-tree.d.ts.map +1 -1
  16. package/dist/commands/exec/element-tree.js +10 -6
  17. package/dist/commands/exec/element-tree.js.map +1 -1
  18. package/dist/commands/exec/install-app.d.ts +1 -1
  19. package/dist/commands/exec/install-app.d.ts.map +1 -1
  20. package/dist/commands/exec/install-app.js +7 -5
  21. package/dist/commands/exec/install-app.js.map +1 -1
  22. package/dist/commands/exec/open-url.d.ts +1 -1
  23. package/dist/commands/exec/open-url.d.ts.map +1 -1
  24. package/dist/commands/exec/open-url.js +9 -4
  25. package/dist/commands/exec/open-url.js.map +1 -1
  26. package/dist/commands/exec/press-key.d.ts +1 -1
  27. package/dist/commands/exec/press-key.d.ts.map +1 -1
  28. package/dist/commands/exec/press-key.js +4 -4
  29. package/dist/commands/exec/press-key.js.map +1 -1
  30. package/dist/commands/exec/record.d.ts +1 -1
  31. package/dist/commands/exec/record.d.ts.map +1 -1
  32. package/dist/commands/exec/record.js +9 -9
  33. package/dist/commands/exec/record.js.map +1 -1
  34. package/dist/commands/exec/screenshot.d.ts +2 -3
  35. package/dist/commands/exec/screenshot.d.ts.map +1 -1
  36. package/dist/commands/exec/screenshot.js +6 -7
  37. package/dist/commands/exec/screenshot.js.map +1 -1
  38. package/dist/commands/exec/scroll.d.ts +1 -1
  39. package/dist/commands/exec/scroll.d.ts.map +1 -1
  40. package/dist/commands/exec/scroll.js +6 -3
  41. package/dist/commands/exec/scroll.js.map +1 -1
  42. package/dist/commands/exec/tap-element.d.ts +2 -3
  43. package/dist/commands/exec/tap-element.d.ts.map +1 -1
  44. package/dist/commands/exec/tap-element.js +6 -7
  45. package/dist/commands/exec/tap-element.js.map +1 -1
  46. package/dist/commands/exec/tap.d.ts +1 -1
  47. package/dist/commands/exec/tap.d.ts.map +1 -1
  48. package/dist/commands/exec/tap.js +9 -4
  49. package/dist/commands/exec/tap.js.map +1 -1
  50. package/dist/commands/exec/type.d.ts +1 -1
  51. package/dist/commands/exec/type.d.ts.map +1 -1
  52. package/dist/commands/exec/type.js +6 -3
  53. package/dist/commands/exec/type.js.map +1 -1
  54. package/dist/commands/ios/get.d.ts +15 -0
  55. package/dist/commands/ios/get.d.ts.map +1 -0
  56. package/dist/commands/ios/get.js +33 -0
  57. package/dist/commands/ios/get.js.map +1 -0
  58. package/dist/commands/ios/launch-app.d.ts +1 -1
  59. package/dist/commands/ios/launch-app.d.ts.map +1 -1
  60. package/dist/commands/ios/launch-app.js +4 -4
  61. package/dist/commands/ios/launch-app.js.map +1 -1
  62. package/dist/commands/ios/list-apps.d.ts +2 -3
  63. package/dist/commands/ios/list-apps.d.ts.map +1 -1
  64. package/dist/commands/ios/list-apps.js +7 -6
  65. package/dist/commands/ios/list-apps.js.map +1 -1
  66. package/dist/commands/ios/list.d.ts +1 -4
  67. package/dist/commands/ios/list.d.ts.map +1 -1
  68. package/dist/commands/ios/list.js +4 -24
  69. package/dist/commands/ios/list.js.map +1 -1
  70. package/dist/commands/ios/log.d.ts +1 -1
  71. package/dist/commands/ios/log.d.ts.map +1 -1
  72. package/dist/commands/ios/log.js +5 -5
  73. package/dist/commands/ios/log.js.map +1 -1
  74. package/dist/commands/ios/terminate-app.d.ts +1 -1
  75. package/dist/commands/ios/terminate-app.d.ts.map +1 -1
  76. package/dist/commands/ios/terminate-app.js +9 -4
  77. package/dist/commands/ios/terminate-app.js.map +1 -1
  78. package/dist/commands/session/start.d.ts +2 -3
  79. package/dist/commands/session/start.d.ts.map +1 -1
  80. package/dist/commands/session/start.js +9 -7
  81. package/dist/commands/session/start.js.map +1 -1
  82. package/dist/commands/session/status.js +1 -1
  83. package/dist/commands/session/status.js.map +1 -1
  84. package/dist/commands/session/stop.d.ts +2 -3
  85. package/dist/commands/session/stop.d.ts.map +1 -1
  86. package/dist/commands/session/stop.js +13 -10
  87. package/dist/commands/session/stop.js.map +1 -1
  88. package/dist/commands/xcode/get.d.ts +15 -0
  89. package/dist/commands/xcode/get.d.ts.map +1 -0
  90. package/dist/commands/xcode/get.js +33 -0
  91. package/dist/commands/xcode/get.js.map +1 -0
  92. package/dist/commands/xcode/list.d.ts +1 -4
  93. package/dist/commands/xcode/list.d.ts.map +1 -1
  94. package/dist/commands/xcode/list.js +4 -24
  95. package/dist/commands/xcode/list.js.map +1 -1
  96. package/dist/lib/daemon.d.ts.map +1 -1
  97. package/dist/lib/daemon.js +33 -0
  98. package/dist/lib/daemon.js.map +1 -1
  99. package/package.json +2 -2
package/README.md CHANGED
@@ -64,14 +64,14 @@ lim session start # Starts session for ios_abc123
64
64
  You can always provide an ID explicitly to target a specific instance:
65
65
 
66
66
  ```bash
67
- lim ios screenshot ios_def456 -o test.png
67
+ lim ios screenshot -o test.png --id ios_def456
68
68
  ```
69
69
 
70
70
  **Top-level shortcuts** are available for common actions — the platform is auto-detected from the instance ID prefix:
71
71
 
72
72
  ```bash
73
- lim screenshot ios_abc123 # Works for both iOS and Android
74
- lim tap 100 200 ios_abc123 # Auto-detects platform from ID prefix
73
+ lim screenshot --id ios_abc123 # Works for both iOS and Android
74
+ lim tap 100 200 --id ios_abc123 # Auto-detects platform from ID prefix
75
75
  lim delete ios_abc123 # Auto-detects resource type from ID prefix
76
76
  ```
77
77
 
@@ -91,7 +91,7 @@ lim delete ios_abc123 # Auto-detects resource type from ID prefix
91
91
  ```bash
92
92
  lim ios create # Create a new iOS instance
93
93
  lim ios list # List all ready iOS instances
94
- lim ios list <ID> # Get details of a specific instance
94
+ lim ios get <ID> # Get details of a specific instance
95
95
  lim ios delete <ID> # Delete an instance
96
96
  ```
97
97
 
@@ -139,11 +139,12 @@ lim ios list --state creating # Filter by state
139
139
  lim ios list --region us-west # Filter by region
140
140
  lim ios list --label-selector env=prod # Filter by labels
141
141
  lim ios list --json # JSON output
142
+ lim ios get <ID> # Single instance details
142
143
  ```
143
144
 
144
145
  #### Device Interaction
145
146
 
146
- All interaction commands accept an optional `[ID]` as the last argument. When omitted, the last created iOS instance is used.
147
+ All interaction commands accept an optional `--id`. When omitted, the last created iOS instance is used.
147
148
 
148
149
  ```bash
149
150
  # Screenshots
@@ -224,7 +225,7 @@ lim ios build --scheme MyApp --workspace MyApp.xcworkspace
224
225
  ```bash
225
226
  lim android create # Create a new Android instance
226
227
  lim android list # List all ready Android instances
227
- lim android list <ID> # Get details of a specific instance
228
+ lim android get <ID> # Get details of a specific instance
228
229
  lim android delete <ID> # Delete an instance
229
230
  ```
230
231
 
@@ -254,7 +255,7 @@ lim android create --region us-west --display-name "CI Test" --label env=ci --rm
254
255
 
255
256
  #### Device Interaction
256
257
 
257
- All interaction commands accept an optional `[ID]` as the last argument. When omitted, the last created Android instance is used.
258
+ All interaction commands accept an optional `--id`. When omitted, the last created Android instance is used.
258
259
 
259
260
  ```bash
260
261
  # Screenshots
@@ -294,7 +295,7 @@ Connect to a running Android instance for direct `adb` access:
294
295
 
295
296
  ```bash
296
297
  lim android connect
297
- lim android connect android_abc123 --adb-path /usr/local/bin/adb
298
+ lim android connect --id android_abc123 --adb-path /usr/local/bin/adb
298
299
  ```
299
300
 
300
301
  The tunnel stays open until you press Ctrl+C. While connected, you can use `adb` commands in another terminal.
@@ -308,7 +309,7 @@ Standalone Xcode build sandboxes for remote compilation.
308
309
  ```bash
309
310
  lim xcode create # Create a new Xcode sandbox
310
311
  lim xcode list # List all ready Xcode instances
311
- lim xcode list <ID> # Get details of a specific instance
312
+ lim xcode get <ID> # Get details of a specific instance
312
313
  lim xcode delete <ID> # Delete an instance
313
314
  ```
314
315
 
@@ -389,18 +390,18 @@ This makes sessions essential for interactive workflows, AI agent loops, and any
389
390
  lim session start
390
391
 
391
392
  # Or specify an instance explicitly
392
- lim session start ios_abc123
393
+ lim session start --id ios_abc123
393
394
 
394
395
  # Multiple sessions can run simultaneously
395
- lim session start ios_abc123
396
- lim session start android_def456
396
+ lim session start --id ios_abc123
397
+ lim session start --id android_def456
397
398
 
398
399
  # Check all active sessions
399
400
  lim session status
400
401
  lim session status --json
401
402
 
402
403
  # Stop a specific session
403
- lim session stop ios_abc123
404
+ lim session stop --id ios_abc123
404
405
 
405
406
  # Stop all sessions at once
406
407
  lim session stop --all
@@ -440,18 +441,18 @@ lim ios delete ios_abc123
440
441
  # Create two instances and start sessions for both
441
442
  lim ios create --model iphone
442
443
  lim ios create --model ipad
443
- lim session start ios_phone_123
444
- lim session start ios_tablet_456
444
+ lim session start --id ios_phone_123
445
+ lim session start --id ios_tablet_456
445
446
 
446
447
  # Agent controls both devices in parallel — ~50ms per command
447
- lim ios launch-app com.example.myapp ios_phone_123
448
- lim ios launch-app com.example.myapp ios_tablet_456
448
+ lim ios launch-app com.example.myapp --id ios_phone_123
449
+ lim ios launch-app com.example.myapp --id ios_tablet_456
449
450
 
450
- lim ios screenshot ios_phone_123 -o phone.png
451
- lim ios screenshot ios_tablet_456 -o tablet.png
451
+ lim ios screenshot -o phone.png --id ios_phone_123
452
+ lim ios screenshot -o tablet.png --id ios_tablet_456
452
453
 
453
- lim ios tap 200 400 ios_phone_123
454
- lim ios element-tree ios_tablet_456 --json > tablet-tree.json
454
+ lim ios tap 200 400 --id ios_phone_123
455
+ lim ios element-tree --id ios_tablet_456 --json > tablet-tree.json
455
456
 
456
457
  # Clean up all sessions
457
458
  lim session stop --all
@@ -468,14 +469,14 @@ IDS=()
468
469
 
469
470
  for model in "${DEVICES[@]}"; do
470
471
  ID=$(lim ios create --model $model --json | jq -r '.metadata.id')
471
- lim session start $ID
472
+ lim session start --id $ID
472
473
  IDS+=($ID)
473
474
  done
474
475
 
475
476
  # Run tests against all devices
476
477
  for ID in "${IDS[@]}"; do
477
- lim ios launch-app com.example.myapp $ID
478
- lim ios screenshot $ID -o "test_${ID}.png"
478
+ lim ios launch-app com.example.myapp --id $ID
479
+ lim ios screenshot -o "test_${ID}.png" --id $ID
479
480
  done
480
481
 
481
482
  # Tear down
@@ -590,7 +591,7 @@ All commands support `--json` for machine-readable output, making the CLI suitab
590
591
 
591
592
  ```bash
592
593
  # Get instance details as JSON
593
- lim ios list ios_abc123 --json
594
+ lim ios get ios_abc123 --json
594
595
 
595
596
  # Parse with jq
596
597
  lim android list --json | jq '.[].metadata.id'
@@ -3,10 +3,9 @@ export default class AndroidConnect extends BaseCommand {
3
3
  static summary: string;
4
4
  static aliases: string[];
5
5
  static examples: string[];
6
- static args: {
7
- id: import("@oclif/core/lib/interfaces").Arg<string | undefined, Record<string, unknown>>;
8
- };
6
+ static args: {};
9
7
  static flags: {
8
+ id: import("@oclif/core/lib/interfaces").OptionFlag<string | undefined, import("@oclif/core/lib/interfaces").CustomOptions>;
10
9
  'adb-path': import("@oclif/core/lib/interfaces").OptionFlag<string, import("@oclif/core/lib/interfaces").CustomOptions>;
11
10
  'api-key': import("@oclif/core/lib/interfaces").OptionFlag<string | undefined, import("@oclif/core/lib/interfaces").CustomOptions>;
12
11
  json: import("@oclif/core/lib/interfaces").BooleanFlag<boolean>;
@@ -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,OAAO,WAAuB;IACrC,MAAM,CAAC,QAAQ,WAA8C;IAE7D,MAAM,CAAC,IAAI;;MAET;IAEF,MAAM,CAAC,KAAK;;;;MAGV;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,OAAO,WAAuB;IACrC,MAAM,CAAC,QAAQ,WAAwF;IAEvG,MAAM,CAAC,IAAI,KAAM;IAEjB,MAAM,CAAC,KAAK;;;;;MAIV;IAEI,GAAG,IAAI,OAAO,CAAC,IAAI,CAAC;CAoC3B"}
@@ -40,7 +40,7 @@ class AndroidConnect extends base_command_1.BaseCommand {
40
40
  const { args, flags } = await this.parse(AndroidConnect);
41
41
  this.setParsedFlags(flags);
42
42
  await this.withAuth(async () => {
43
- const id = this.resolveId(args.id);
43
+ const id = this.resolveId(flags.id);
44
44
  const instance = await this.client.androidInstances.get(id);
45
45
  if (!instance.status.apiUrl) {
46
46
  this.error(`Instance ${id} does not have an apiUrl. Is it ready?`);
@@ -70,12 +70,11 @@ class AndroidConnect extends base_command_1.BaseCommand {
70
70
  }
71
71
  AndroidConnect.summary = 'Connect to an existing Android instance via ADB tunnel';
72
72
  AndroidConnect.aliases = ['connect android'];
73
- AndroidConnect.examples = ['<%= config.bin %> android connect <ID>'];
74
- AndroidConnect.args = {
75
- id: core_1.Args.string({ description: 'Android instance ID (defaults to last created)', required: false }),
76
- };
73
+ AndroidConnect.examples = ['<%= config.bin %> android connect', '<%= config.bin %> android connect --id <ID>'];
74
+ AndroidConnect.args = {};
77
75
  AndroidConnect.flags = {
78
76
  ...base_command_1.BaseCommand.baseFlags,
77
+ id: core_1.Flags.string({ description: 'Android instance ID (defaults to last created)' }),
79
78
  'adb-path': core_1.Flags.string({ description: 'Path to adb binary', default: 'adb' }),
80
79
  };
81
80
  exports.default = AndroidConnect;
@@ -1 +1 @@
1
- {"version":3,"file":"connect.js","sourceRoot":"","sources":["../../../src/commands/android/connect.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,sCAA0C;AAC1C,qDAAiD;AAEjD,MAAqB,cAAe,SAAQ,0BAAW;IAcrD,KAAK,CAAC,GAAG;QACP,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC;QACzD,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC;QAE3B,MAAM,IAAI,CAAC,QAAQ,CAAC,KAAK,IAAI,EAAE;YAC7B,MAAM,EAAE,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YACnC,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,gBAAgB,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;YAC5D,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC;gBAC5B,IAAI,CAAC,KAAK,CAAC,YAAY,EAAE,wCAAwC,CAAC,CAAC;YACrE,CAAC;YAED,MAAM,EAAE,oBAAoB,EAAE,GAAG,wDAAa,aAAa,GAAC,CAAC;YAC7D,MAAM,cAAc,GAAG,MAAM,oBAAoB,CAAC;gBAChD,MAAM,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM;gBAC9B,MAAM,EAAE,QAAQ,CAAC,MAAM,CAAC,eAAe;gBACvC,KAAK,EAAE,QAAQ,CAAC,MAAM,CAAC,KAAK;aAC7B,CAAC,CAAC;YAEH,MAAM,MAAM,GAAG,MAAM,cAAc,CAAC,cAAc,EAAE,CAAC;YACrD,IAAI,CAAC,GAAG,CAAC,uCAAuC,CAAC,CAAC;YAElD,MAAM,IAAI,OAAO,CAAO,CAAC,OAAO,EAAE,EAAE;gBAClC,MAAM,SAAS,GAAG,WAAW,CAAC,GAAG,EAAE,GAAE,CAAC,EAAE,CAAC,IAAI,EAAE,CAAC,CAAC;gBACjD,MAAM,QAAQ,GAAG,GAAG,EAAE;oBACpB,aAAa,CAAC,SAAS,CAAC,CAAC;oBACzB,IAAI,CAAC,GAAG,CAAC,oBAAoB,CAAC,CAAC;oBAC/B,OAAO,EAAE,CAAC;gBACZ,CAAC,CAAC;gBACF,OAAO,CAAC,EAAE,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC;gBAC/B,OAAO,CAAC,EAAE,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAC;YAClC,CAAC,CAAC,CAAC;YAEH,MAAM,CAAC,KAAK,EAAE,CAAC;YACf,cAAc,CAAC,UAAU,EAAE,CAAC;QAC9B,CAAC,CAAC,CAAC;IACL,CAAC;;AAhDM,sBAAO,GAAG,wDAAwD,CAAC;AACnE,sBAAO,GAAG,CAAC,iBAAiB,CAAC,CAAC;AAC9B,uBAAQ,GAAG,CAAC,wCAAwC,CAAC,CAAC;AAEtD,mBAAI,GAAG;IACZ,EAAE,EAAE,WAAI,CAAC,MAAM,CAAC,EAAE,WAAW,EAAE,gDAAgD,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC;CACpG,CAAC;AAEK,oBAAK,GAAG;IACb,GAAG,0BAAW,CAAC,SAAS;IACxB,UAAU,EAAE,YAAK,CAAC,MAAM,CAAC,EAAE,WAAW,EAAE,oBAAoB,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC;CAChF,CAAC;kBAZiB,cAAc"}
1
+ {"version":3,"file":"connect.js","sourceRoot":"","sources":["../../../src/commands/android/connect.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,sCAAoC;AACpC,qDAAiD;AAEjD,MAAqB,cAAe,SAAQ,0BAAW;IAarD,KAAK,CAAC,GAAG;QACP,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC;QACzD,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,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,gBAAgB,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;YAC5D,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC;gBAC5B,IAAI,CAAC,KAAK,CAAC,YAAY,EAAE,wCAAwC,CAAC,CAAC;YACrE,CAAC;YAED,MAAM,EAAE,oBAAoB,EAAE,GAAG,wDAAa,aAAa,GAAC,CAAC;YAC7D,MAAM,cAAc,GAAG,MAAM,oBAAoB,CAAC;gBAChD,MAAM,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM;gBAC9B,MAAM,EAAE,QAAQ,CAAC,MAAM,CAAC,eAAe;gBACvC,KAAK,EAAE,QAAQ,CAAC,MAAM,CAAC,KAAK;aAC7B,CAAC,CAAC;YAEH,MAAM,MAAM,GAAG,MAAM,cAAc,CAAC,cAAc,EAAE,CAAC;YACrD,IAAI,CAAC,GAAG,CAAC,uCAAuC,CAAC,CAAC;YAElD,MAAM,IAAI,OAAO,CAAO,CAAC,OAAO,EAAE,EAAE;gBAClC,MAAM,SAAS,GAAG,WAAW,CAAC,GAAG,EAAE,GAAE,CAAC,EAAE,CAAC,IAAI,EAAE,CAAC,CAAC;gBACjD,MAAM,QAAQ,GAAG,GAAG,EAAE;oBACpB,aAAa,CAAC,SAAS,CAAC,CAAC;oBACzB,IAAI,CAAC,GAAG,CAAC,oBAAoB,CAAC,CAAC;oBAC/B,OAAO,EAAE,CAAC;gBACZ,CAAC,CAAC;gBACF,OAAO,CAAC,EAAE,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC;gBAC/B,OAAO,CAAC,EAAE,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAC;YAClC,CAAC,CAAC,CAAC;YAEH,MAAM,CAAC,KAAK,EAAE,CAAC;YACf,cAAc,CAAC,UAAU,EAAE,CAAC;QAC9B,CAAC,CAAC,CAAC;IACL,CAAC;;AA/CM,sBAAO,GAAG,wDAAwD,CAAC;AACnE,sBAAO,GAAG,CAAC,iBAAiB,CAAC,CAAC;AAC9B,uBAAQ,GAAG,CAAC,mCAAmC,EAAE,6CAA6C,CAAC,CAAC;AAEhG,mBAAI,GAAG,EAAE,CAAC;AAEV,oBAAK,GAAG;IACb,GAAG,0BAAW,CAAC,SAAS;IACxB,EAAE,EAAE,YAAK,CAAC,MAAM,CAAC,EAAE,WAAW,EAAE,gDAAgD,EAAE,CAAC;IACnF,UAAU,EAAE,YAAK,CAAC,MAAM,CAAC,EAAE,WAAW,EAAE,oBAAoB,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC;CAChF,CAAC;kBAXiB,cAAc"}
@@ -0,0 +1,15 @@
1
+ import { BaseCommand } from '../../base-command';
2
+ export default class AndroidGet extends BaseCommand {
3
+ static summary: string;
4
+ static aliases: string[];
5
+ static examples: string[];
6
+ static args: {
7
+ id: import("@oclif/core/lib/interfaces").Arg<string, Record<string, unknown>>;
8
+ };
9
+ static flags: {
10
+ 'api-key': import("@oclif/core/lib/interfaces").OptionFlag<string | undefined, import("@oclif/core/lib/interfaces").CustomOptions>;
11
+ json: import("@oclif/core/lib/interfaces").BooleanFlag<boolean>;
12
+ };
13
+ run(): Promise<void>;
14
+ }
15
+ //# sourceMappingURL=get.d.ts.map
@@ -0,0 +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,OAAO,WAA4B;IAC1C,MAAM,CAAC,QAAQ,WAA0C;IAEzD,MAAM,CAAC,IAAI;;MAET;IAEF,MAAM,CAAC,KAAK;;;MAAgC;IAEtC,GAAG,IAAI,OAAO,CAAC,IAAI,CAAC;CAqB3B"}
@@ -0,0 +1,33 @@
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
+ class AndroidGet extends base_command_1.BaseCommand {
6
+ async run() {
7
+ const { args, flags } = await this.parse(AndroidGet);
8
+ this.setParsedFlags(flags);
9
+ await this.withAuth(async () => {
10
+ const instance = await this.client.androidInstances.get(args.id);
11
+ if (flags.json) {
12
+ this.outputJson(instance);
13
+ }
14
+ else {
15
+ this.outputTable(['Field', 'Value'], [
16
+ ['ID', instance.metadata.id],
17
+ ['Name', instance.metadata.displayName || ''],
18
+ ['Region', instance.spec.region],
19
+ ['State', instance.status.state],
20
+ ]);
21
+ }
22
+ });
23
+ }
24
+ }
25
+ AndroidGet.summary = 'Get details for a specific Android instance';
26
+ AndroidGet.aliases = ['get android', 'get a'];
27
+ AndroidGet.examples = ['<%= config.bin %> android get <ID>'];
28
+ AndroidGet.args = {
29
+ id: core_1.Args.string({ description: 'Instance ID to get', required: true }),
30
+ };
31
+ AndroidGet.flags = { ...base_command_1.BaseCommand.baseFlags };
32
+ exports.default = AndroidGet;
33
+ //# sourceMappingURL=get.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"get.js","sourceRoot":"","sources":["../../../src/commands/android/get.ts"],"names":[],"mappings":";;AAAA,sCAAmC;AACnC,qDAAiD;AAEjD,MAAqB,UAAW,SAAQ,0BAAW;IAWjD,KAAK,CAAC,GAAG;QACP,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC;QACrD,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC;QAE3B,MAAM,IAAI,CAAC,QAAQ,CAAC,KAAK,IAAI,EAAE;YAC7B,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,gBAAgB,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YACjE,IAAI,KAAK,CAAC,IAAI,EAAE,CAAC;gBACf,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC;YAC5B,CAAC;iBAAM,CAAC;gBACN,IAAI,CAAC,WAAW,CACd,CAAC,OAAO,EAAE,OAAO,CAAC,EAClB;oBACE,CAAC,IAAI,EAAE,QAAQ,CAAC,QAAQ,CAAC,EAAE,CAAC;oBAC5B,CAAC,MAAM,EAAE,QAAQ,CAAC,QAAQ,CAAC,WAAW,IAAI,EAAE,CAAC;oBAC7C,CAAC,QAAQ,EAAE,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC;oBAChC,CAAC,OAAO,EAAE,QAAQ,CAAC,MAAM,CAAC,KAAK,CAAC;iBACjC,CACF,CAAC;YACJ,CAAC;QACH,CAAC,CAAC,CAAC;IACL,CAAC;;AA9BM,kBAAO,GAAG,6CAA6C,CAAC;AACxD,kBAAO,GAAG,CAAC,aAAa,EAAE,OAAO,CAAC,CAAC;AACnC,mBAAQ,GAAG,CAAC,oCAAoC,CAAC,CAAC;AAElD,eAAI,GAAG;IACZ,EAAE,EAAE,WAAI,CAAC,MAAM,CAAC,EAAE,WAAW,EAAE,oBAAoB,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;CACvE,CAAC;AAEK,gBAAK,GAAG,EAAE,GAAG,0BAAW,CAAC,SAAS,EAAE,CAAC;kBATzB,UAAU"}
@@ -1,11 +1,8 @@
1
1
  import { BaseCommand } from '../../base-command';
2
2
  export default class AndroidList extends BaseCommand {
3
3
  static summary: string;
4
- static aliases: string[];
5
4
  static examples: string[];
6
- static args: {
7
- id: import("@oclif/core/lib/interfaces").Arg<string | undefined, Record<string, unknown>>;
8
- };
5
+ static args: {};
9
6
  static flags: {
10
7
  state: import("@oclif/core/lib/interfaces").OptionFlag<string | undefined, import("@oclif/core/lib/interfaces").CustomOptions>;
11
8
  region: import("@oclif/core/lib/interfaces").OptionFlag<string | undefined, import("@oclif/core/lib/interfaces").CustomOptions>;
@@ -1 +1 @@
1
- {"version":3,"file":"list.d.ts","sourceRoot":"","sources":["../../../src/commands/android/list.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AAEjD,MAAM,CAAC,OAAO,OAAO,WAAY,SAAQ,WAAW;IAClD,MAAM,CAAC,OAAO,SAAkD;IAChE,MAAM,CAAC,OAAO,WAA4B;IAC1C,MAAM,CAAC,QAAQ,WAA6E;IAE5F,MAAM,CAAC,IAAI;;MAET;IAEF,MAAM,CAAC,KAAK;;;;;;;MAMV;IAEI,GAAG,IAAI,OAAO,CAAC,IAAI,CAAC;CAkD3B"}
1
+ {"version":3,"file":"list.d.ts","sourceRoot":"","sources":["../../../src/commands/android/list.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AAEjD,MAAM,CAAC,OAAO,OAAO,WAAY,SAAQ,WAAW;IAClD,MAAM,CAAC,OAAO,SAA4B;IAC1C,MAAM,CAAC,QAAQ,WAAsC;IAErD,MAAM,CAAC,IAAI,KAAM;IAEjB,MAAM,CAAC,KAAK;;;;;;;MAMV;IAEI,GAAG,IAAI,OAAO,CAAC,IAAI,CAAC;CA8B3B"}
@@ -4,26 +4,9 @@ const core_1 = require("@oclif/core");
4
4
  const base_command_1 = require("../../base-command");
5
5
  class AndroidList extends base_command_1.BaseCommand {
6
6
  async run() {
7
- const { args, flags } = await this.parse(AndroidList);
7
+ const { flags } = await this.parse(AndroidList);
8
8
  this.setParsedFlags(flags);
9
9
  await this.withAuth(async () => {
10
- if (args.id) {
11
- const instance = await this.client.androidInstances.get(args.id);
12
- if (flags.json) {
13
- this.outputJson(instance);
14
- }
15
- else {
16
- this.outputTable(['ID', 'Name', 'Region', 'State'], [
17
- [
18
- instance.metadata.id,
19
- instance.metadata.displayName || '',
20
- instance.spec.region,
21
- instance.status.state,
22
- ],
23
- ]);
24
- }
25
- return;
26
- }
27
10
  const params = {};
28
11
  if (flags.state) {
29
12
  params.state = flags.state;
@@ -52,12 +35,9 @@ class AndroidList extends base_command_1.BaseCommand {
52
35
  });
53
36
  }
54
37
  }
55
- AndroidList.summary = 'List Android instances or get a specific one';
56
- AndroidList.aliases = ['get android', 'get a'];
57
- AndroidList.examples = ['<%= config.bin %> android list', '<%= config.bin %> android list <ID>'];
58
- AndroidList.args = {
59
- id: core_1.Args.string({ description: 'Instance ID to get', required: false }),
60
- };
38
+ AndroidList.summary = 'List Android instances';
39
+ AndroidList.examples = ['<%= config.bin %> android list'];
40
+ AndroidList.args = {};
61
41
  AndroidList.flags = {
62
42
  ...base_command_1.BaseCommand.baseFlags,
63
43
  state: core_1.Flags.string({ description: 'Filter by state (unknown, creating, ready, terminated)' }),
@@ -1 +1 @@
1
- {"version":3,"file":"list.js","sourceRoot":"","sources":["../../../src/commands/android/list.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"list.js","sourceRoot":"","sources":["../../../src/commands/android/list.ts"],"names":[],"mappings":";;AAAA,sCAAoC;AACpC,qDAAiD;AAEjD,MAAqB,WAAY,SAAQ,0BAAW;IAclD,KAAK,CAAC,GAAG;QACP,MAAM,EAAE,KAAK,EAAE,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC;QAChD,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC;QAE3B,MAAM,IAAI,CAAC,QAAQ,CAAC,KAAK,IAAI,EAAE;YAC7B,MAAM,MAAM,GAA4B,EAAE,CAAC;YAC3C,IAAI,KAAK,CAAC,KAAK,EAAE,CAAC;gBAChB,MAAM,CAAC,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC;YAC7B,CAAC;iBAAM,IAAI,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC;gBACtB,MAAM,CAAC,KAAK,GAAG,OAAO,CAAC;YACzB,CAAC;YACD,IAAI,KAAK,CAAC,MAAM;gBAAE,MAAM,CAAC,MAAM,GAAG,KAAK,CAAC,MAAM,CAAC;YAC/C,IAAI,KAAK,CAAC,gBAAgB,CAAC;gBAAE,MAAM,CAAC,aAAa,GAAG,KAAK,CAAC,gBAAgB,CAAC,CAAC;YAE5E,MAAM,SAAS,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,gBAAgB,CAAC,IAAI,CAAC,MAAa,CAAC,CAAC;YACzE,MAAM,KAAK,GAAG,SAAS,CAAC,KAAK,IAAI,SAAS,CAAC,iBAAiB,EAAE,CAAC;YAC/D,MAAM,IAAI,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC,CAAM,EAAE,EAAE,CAAC;gBACjC,CAAC,CAAC,QAAQ,CAAC,EAAE;gBACb,CAAC,CAAC,QAAQ,CAAC,WAAW,IAAI,EAAE;gBAC5B,CAAC,CAAC,IAAI,CAAC,MAAM;gBACb,CAAC,CAAC,MAAM,CAAC,KAAK;aACf,CAAC,CAAC;YAEH,IAAI,KAAK,CAAC,IAAI,EAAE,CAAC;gBACf,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC;YACzB,CAAC;iBAAM,CAAC;gBACN,IAAI,CAAC,WAAW,CAAC,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,OAAO,CAAC,EAAE,IAAI,CAAC,CAAC;YAC5D,CAAC;QACH,CAAC,CAAC,CAAC;IACL,CAAC;;AA1CM,mBAAO,GAAG,wBAAwB,CAAC;AACnC,oBAAQ,GAAG,CAAC,gCAAgC,CAAC,CAAC;AAE9C,gBAAI,GAAG,EAAE,CAAC;AAEV,iBAAK,GAAG;IACb,GAAG,0BAAW,CAAC,SAAS;IACxB,KAAK,EAAE,YAAK,CAAC,MAAM,CAAC,EAAE,WAAW,EAAE,wDAAwD,EAAE,CAAC;IAC9F,MAAM,EAAE,YAAK,CAAC,MAAM,CAAC,EAAE,WAAW,EAAE,kBAAkB,EAAE,CAAC;IACzD,gBAAgB,EAAE,YAAK,CAAC,MAAM,CAAC,EAAE,WAAW,EAAE,iDAAiD,EAAE,CAAC;IAClG,GAAG,EAAE,YAAK,CAAC,OAAO,CAAC,EAAE,WAAW,EAAE,iCAAiC,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC;CACvF,CAAC;kBAZiB,WAAW"}
@@ -3,10 +3,9 @@ export default class ExecElementTree extends BaseCommand {
3
3
  static summary: string;
4
4
  static aliases: string[];
5
5
  static examples: string[];
6
- static args: {
7
- id: import("@oclif/core/lib/interfaces").Arg<string | undefined, Record<string, unknown>>;
8
- };
6
+ static args: {};
9
7
  static flags: {
8
+ id: import("@oclif/core/lib/interfaces").OptionFlag<string | undefined, import("@oclif/core/lib/interfaces").CustomOptions>;
10
9
  'api-key': import("@oclif/core/lib/interfaces").OptionFlag<string | undefined, import("@oclif/core/lib/interfaces").CustomOptions>;
11
10
  json: import("@oclif/core/lib/interfaces").BooleanFlag<boolean>;
12
11
  };
@@ -1 +1 @@
1
- {"version":3,"file":"element-tree.d.ts","sourceRoot":"","sources":["../../../src/commands/exec/element-tree.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AAGjD,MAAM,CAAC,OAAO,OAAO,eAAgB,SAAQ,WAAW;IACtD,MAAM,CAAC,OAAO,SAAqD;IACnE,MAAM,CAAC,OAAO,WAAgD;IAC9D,MAAM,CAAC,QAAQ,WAAwD;IAEvE,MAAM,CAAC,IAAI;;MAET;IAEF,MAAM,CAAC,KAAK;;;MAAgC;IAEtC,GAAG,IAAI,OAAO,CAAC,IAAI,CAAC;CAiC3B"}
1
+ {"version":3,"file":"element-tree.d.ts","sourceRoot":"","sources":["../../../src/commands/exec/element-tree.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AAGjD,MAAM,CAAC,OAAO,OAAO,eAAgB,SAAQ,WAAW;IACtD,MAAM,CAAC,OAAO,SAAqD;IACnE,MAAM,CAAC,OAAO,WAAgD;IAC9D,MAAM,CAAC,QAAQ,WAGb;IAEF,MAAM,CAAC,IAAI,KAAM;IAEjB,MAAM,CAAC,KAAK;;;;MAGV;IAEI,GAAG,IAAI,OAAO,CAAC,IAAI,CAAC;CAiC3B"}
@@ -5,10 +5,10 @@ const base_command_1 = require("../../base-command");
5
5
  const instance_client_factory_1 = require("../../lib/instance-client-factory");
6
6
  class ExecElementTree extends base_command_1.BaseCommand {
7
7
  async run() {
8
- const { args, flags } = await this.parse(ExecElementTree);
8
+ const { flags } = await this.parse(ExecElementTree);
9
9
  this.setParsedFlags(flags);
10
10
  await this.withAuth(async () => {
11
- const id = this.resolveId(args.id);
11
+ const id = this.resolveId(flags.id);
12
12
  if ((0, instance_client_factory_1.hasActiveSession)(id)) {
13
13
  const tree = await (0, instance_client_factory_1.sendSessionCommand)(id, 'element-tree');
14
14
  if (flags.json) {
@@ -44,10 +44,14 @@ class ExecElementTree extends base_command_1.BaseCommand {
44
44
  }
45
45
  ExecElementTree.summary = 'Get the UI element tree from a running instance';
46
46
  ExecElementTree.aliases = ['ios element-tree', 'android element-tree'];
47
- ExecElementTree.examples = ['<%= config.bin %> ios element-tree <instance-ID>'];
48
- ExecElementTree.args = {
49
- id: core_1.Args.string({ description: 'Instance ID (defaults to last created)', required: false }),
47
+ ExecElementTree.examples = [
48
+ '<%= config.bin %> ios element-tree',
49
+ '<%= config.bin %> ios element-tree --id <instance-ID>',
50
+ ];
51
+ ExecElementTree.args = {};
52
+ ExecElementTree.flags = {
53
+ ...base_command_1.BaseCommand.baseFlags,
54
+ id: core_1.Flags.string({ description: 'Instance ID (defaults to last created)' }),
50
55
  };
51
- ExecElementTree.flags = { ...base_command_1.BaseCommand.baseFlags };
52
56
  exports.default = ExecElementTree;
53
57
  //# sourceMappingURL=element-tree.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"element-tree.js","sourceRoot":"","sources":["../../../src/commands/exec/element-tree.ts"],"names":[],"mappings":";;AAAA,sCAAmC;AACnC,qDAAiD;AACjD,+EAA4G;AAE5G,MAAqB,eAAgB,SAAQ,0BAAW;IAWtD,KAAK,CAAC,GAAG;QACP,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,eAAe,CAAC,CAAC;QAC1D,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC;QAE3B,MAAM,IAAI,CAAC,QAAQ,CAAC,KAAK,IAAI,EAAE;YAC7B,MAAM,EAAE,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YACnC,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,CAAC;oBACN,IAAI,CAAC,GAAG,CAAC,OAAO,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;gBAC5E,CAAC;YACH,CAAC;iBAAM,CAAC;gBACN,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,UAAU,EAAE,GAAG,MAAM,IAAA,2CAAiB,EAAC,IAAI,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;gBAC9E,IAAI,CAAC;oBACH,IAAI,IAAI,KAAK,KAAK,EAAE,CAAC;wBACnB,MAAM,IAAI,GAAG,MAAO,MAAc,CAAC,WAAW,EAAE,CAAC;wBACjD,IAAI,CAAC,GAAG,CAAC,OAAO,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;oBAC5E,CAAC;yBAAM,CAAC;wBACN,MAAM,IAAI,GAAG,MAAO,MAAc,CAAC,cAAc,EAAE,CAAC;wBACpD,IAAI,KAAK,CAAC,IAAI,EAAE,CAAC;4BACf,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;wBACxB,CAAC;6BAAM,CAAC;4BACN,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,IAAI,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;wBAC5D,CAAC;oBACH,CAAC;gBACH,CAAC;wBAAS,CAAC;oBACT,UAAU,EAAE,CAAC;gBACf,CAAC;YACH,CAAC;QACH,CAAC,CAAC,CAAC;IACL,CAAC;;AA1CM,uBAAO,GAAG,iDAAiD,CAAC;AAC5D,uBAAO,GAAG,CAAC,kBAAkB,EAAE,sBAAsB,CAAC,CAAC;AACvD,wBAAQ,GAAG,CAAC,kDAAkD,CAAC,CAAC;AAEhE,oBAAI,GAAG;IACZ,EAAE,EAAE,WAAI,CAAC,MAAM,CAAC,EAAE,WAAW,EAAE,wCAAwC,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC;CAC5F,CAAC;AAEK,qBAAK,GAAG,EAAE,GAAG,0BAAW,CAAC,SAAS,EAAE,CAAC;kBATzB,eAAe"}
1
+ {"version":3,"file":"element-tree.js","sourceRoot":"","sources":["../../../src/commands/exec/element-tree.ts"],"names":[],"mappings":";;AAAA,sCAAoC;AACpC,qDAAiD;AACjD,+EAA4G;AAE5G,MAAqB,eAAgB,SAAQ,0BAAW;IAetD,KAAK,CAAC,GAAG;QACP,MAAM,EAAE,KAAK,EAAE,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,eAAe,CAAC,CAAC;QACpD,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,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,CAAC;oBACN,IAAI,CAAC,GAAG,CAAC,OAAO,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;gBAC5E,CAAC;YACH,CAAC;iBAAM,CAAC;gBACN,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,UAAU,EAAE,GAAG,MAAM,IAAA,2CAAiB,EAAC,IAAI,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;gBAC9E,IAAI,CAAC;oBACH,IAAI,IAAI,KAAK,KAAK,EAAE,CAAC;wBACnB,MAAM,IAAI,GAAG,MAAO,MAAc,CAAC,WAAW,EAAE,CAAC;wBACjD,IAAI,CAAC,GAAG,CAAC,OAAO,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;oBAC5E,CAAC;yBAAM,CAAC;wBACN,MAAM,IAAI,GAAG,MAAO,MAAc,CAAC,cAAc,EAAE,CAAC;wBACpD,IAAI,KAAK,CAAC,IAAI,EAAE,CAAC;4BACf,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;wBACxB,CAAC;6BAAM,CAAC;4BACN,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,IAAI,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;wBAC5D,CAAC;oBACH,CAAC;gBACH,CAAC;wBAAS,CAAC;oBACT,UAAU,EAAE,CAAC;gBACf,CAAC;YACH,CAAC;QACH,CAAC,CAAC,CAAC;IACL,CAAC;;AA9CM,uBAAO,GAAG,iDAAiD,CAAC;AAC5D,uBAAO,GAAG,CAAC,kBAAkB,EAAE,sBAAsB,CAAC,CAAC;AACvD,wBAAQ,GAAG;IAChB,oCAAoC;IACpC,uDAAuD;CACxD,CAAC;AAEK,oBAAI,GAAG,EAAE,CAAC;AAEV,qBAAK,GAAG;IACb,GAAG,0BAAW,CAAC,SAAS;IACxB,EAAE,EAAE,YAAK,CAAC,MAAM,CAAC,EAAE,WAAW,EAAE,wCAAwC,EAAE,CAAC;CAC5E,CAAC;kBAbiB,eAAe"}
@@ -6,9 +6,9 @@ export default class ExecInstallApp extends BaseCommand {
6
6
  static examples: string[];
7
7
  static args: {
8
8
  path_or_url: import("@oclif/core/lib/interfaces").Arg<string, Record<string, unknown>>;
9
- id: import("@oclif/core/lib/interfaces").Arg<string | undefined, Record<string, unknown>>;
10
9
  };
11
10
  static flags: {
11
+ id: import("@oclif/core/lib/interfaces").OptionFlag<string | undefined, import("@oclif/core/lib/interfaces").CustomOptions>;
12
12
  'api-key': import("@oclif/core/lib/interfaces").OptionFlag<string | undefined, import("@oclif/core/lib/interfaces").CustomOptions>;
13
13
  json: import("@oclif/core/lib/interfaces").BooleanFlag<boolean>;
14
14
  };
@@ -1 +1 @@
1
- {"version":3,"file":"install-app.d.ts","sourceRoot":"","sources":["../../../src/commands/exec/install-app.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AAGjD,MAAM,CAAC,OAAO,OAAO,cAAe,SAAQ,WAAW;IACrD,MAAM,CAAC,OAAO,SAA0C;IACxD,MAAM,CAAC,WAAW,SACkF;IACpG,MAAM,CAAC,OAAO,WAA8C;IAE5D,MAAM,CAAC,QAAQ,WAGb;IAEF,MAAM,CAAC,IAAI;;;MAGT;IAEF,MAAM,CAAC,KAAK;;;MAAgC;IAEtC,GAAG,IAAI,OAAO,CAAC,IAAI,CAAC;CAgD3B"}
1
+ {"version":3,"file":"install-app.d.ts","sourceRoot":"","sources":["../../../src/commands/exec/install-app.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AAGjD,MAAM,CAAC,OAAO,OAAO,cAAe,SAAQ,WAAW;IACrD,MAAM,CAAC,OAAO,SAA0C;IACxD,MAAM,CAAC,WAAW,SACkF;IACpG,MAAM,CAAC,OAAO,WAA8C;IAE5D,MAAM,CAAC,QAAQ,WAGb;IAEF,MAAM,CAAC,IAAI;;MAET;IAEF,MAAM,CAAC,KAAK;;;;MAGV;IAEI,GAAG,IAAI,OAAO,CAAC,IAAI,CAAC;CAgD3B"}
@@ -13,7 +13,7 @@ class ExecInstallApp extends base_command_1.BaseCommand {
13
13
  const { args, flags } = await this.parse(ExecInstallApp);
14
14
  this.setParsedFlags(flags);
15
15
  await this.withAuth(async () => {
16
- const id = this.resolveId(args.id);
16
+ const id = this.resolveId(flags.id);
17
17
  let downloadUrl;
18
18
  if (args.path_or_url.startsWith('http://') || args.path_or_url.startsWith('https://')) {
19
19
  downloadUrl = args.path_or_url;
@@ -65,13 +65,15 @@ ExecInstallApp.summary = 'Install an app on a running instance';
65
65
  ExecInstallApp.description = 'Installs an app from a local file or URL. Local files are auto-uploaded to asset storage first.';
66
66
  ExecInstallApp.aliases = ['ios install-app', 'android install-app'];
67
67
  ExecInstallApp.examples = [
68
- '<%= config.bin %> ios install-app <instance-ID> ./MyApp.ipa',
69
- '<%= config.bin %> android install-app <instance-ID> ./app.apk',
68
+ '<%= config.bin %> ios install-app ./MyApp.ipa',
69
+ '<%= config.bin %> android install-app ./app.apk --id <instance-ID>',
70
70
  ];
71
71
  ExecInstallApp.args = {
72
72
  path_or_url: core_1.Args.string({ description: 'Local file path or URL', required: true }),
73
- id: core_1.Args.string({ description: 'Instance ID (defaults to last created)', required: false }),
74
73
  };
75
- ExecInstallApp.flags = { ...base_command_1.BaseCommand.baseFlags };
74
+ ExecInstallApp.flags = {
75
+ ...base_command_1.BaseCommand.baseFlags,
76
+ id: core_1.Flags.string({ description: 'Instance ID (defaults to last created)' }),
77
+ };
76
78
  exports.default = ExecInstallApp;
77
79
  //# sourceMappingURL=install-app.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"install-app.js","sourceRoot":"","sources":["../../../src/commands/exec/install-app.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"install-app.js","sourceRoot":"","sources":["../../../src/commands/exec/install-app.ts"],"names":[],"mappings":"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"}
@@ -5,9 +5,9 @@ export default class ExecOpenUrl extends BaseCommand {
5
5
  static examples: string[];
6
6
  static args: {
7
7
  url: import("@oclif/core/lib/interfaces").Arg<string, Record<string, unknown>>;
8
- id: import("@oclif/core/lib/interfaces").Arg<string | undefined, Record<string, unknown>>;
9
8
  };
10
9
  static flags: {
10
+ id: import("@oclif/core/lib/interfaces").OptionFlag<string | undefined, import("@oclif/core/lib/interfaces").CustomOptions>;
11
11
  'api-key': import("@oclif/core/lib/interfaces").OptionFlag<string | undefined, import("@oclif/core/lib/interfaces").CustomOptions>;
12
12
  json: import("@oclif/core/lib/interfaces").BooleanFlag<boolean>;
13
13
  };
@@ -1 +1 @@
1
- {"version":3,"file":"open-url.d.ts","sourceRoot":"","sources":["../../../src/commands/exec/open-url.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AAGjD,MAAM,CAAC,OAAO,OAAO,WAAY,SAAQ,WAAW;IAClD,MAAM,CAAC,OAAO,SAAsC;IACpD,MAAM,CAAC,OAAO,WAAwC;IACtD,MAAM,CAAC,QAAQ,WAAwE;IAEvF,MAAM,CAAC,IAAI;;;MAGT;IAEF,MAAM,CAAC,KAAK;;;MAAgC;IAEtC,GAAG,IAAI,OAAO,CAAC,IAAI,CAAC;CAmB3B"}
1
+ {"version":3,"file":"open-url.d.ts","sourceRoot":"","sources":["../../../src/commands/exec/open-url.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AAGjD,MAAM,CAAC,OAAO,OAAO,WAAY,SAAQ,WAAW;IAClD,MAAM,CAAC,OAAO,SAAsC;IACpD,MAAM,CAAC,OAAO,WAAwC;IACtD,MAAM,CAAC,QAAQ,WAGb;IAEF,MAAM,CAAC,IAAI;;MAET;IAEF,MAAM,CAAC,KAAK;;;;MAGV;IAEI,GAAG,IAAI,OAAO,CAAC,IAAI,CAAC;CAmB3B"}
@@ -8,7 +8,7 @@ class ExecOpenUrl extends base_command_1.BaseCommand {
8
8
  const { args, flags } = await this.parse(ExecOpenUrl);
9
9
  this.setParsedFlags(flags);
10
10
  await this.withAuth(async () => {
11
- const id = this.resolveId(args.id);
11
+ const id = this.resolveId(flags.id);
12
12
  if ((0, instance_client_factory_1.hasActiveSession)(id)) {
13
13
  await (0, instance_client_factory_1.sendSessionCommand)(id, 'open-url', [args.url]);
14
14
  }
@@ -27,11 +27,16 @@ class ExecOpenUrl extends base_command_1.BaseCommand {
27
27
  }
28
28
  ExecOpenUrl.summary = 'Open a URL on a running instance';
29
29
  ExecOpenUrl.aliases = ['ios open-url', 'android open-url'];
30
- ExecOpenUrl.examples = ['<%= config.bin %> ios open-url <instance-ID> https://example.com'];
30
+ ExecOpenUrl.examples = [
31
+ '<%= config.bin %> ios open-url https://example.com',
32
+ '<%= config.bin %> ios open-url https://example.com --id <instance-ID>',
33
+ ];
31
34
  ExecOpenUrl.args = {
32
35
  url: core_1.Args.string({ description: 'URL to open', required: true }),
33
- id: core_1.Args.string({ description: 'Instance ID (defaults to last created)', required: false }),
34
36
  };
35
- ExecOpenUrl.flags = { ...base_command_1.BaseCommand.baseFlags };
37
+ ExecOpenUrl.flags = {
38
+ ...base_command_1.BaseCommand.baseFlags,
39
+ id: core_1.Flags.string({ description: 'Instance ID (defaults to last created)' }),
40
+ };
36
41
  exports.default = ExecOpenUrl;
37
42
  //# sourceMappingURL=open-url.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"open-url.js","sourceRoot":"","sources":["../../../src/commands/exec/open-url.ts"],"names":[],"mappings":";;AAAA,sCAAmC;AACnC,qDAAiD;AACjD,+EAA4G;AAE5G,MAAqB,WAAY,SAAQ,0BAAW;IAYlD,KAAK,CAAC,GAAG;QACP,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC;QACtD,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC;QAE3B,MAAM,IAAI,CAAC,QAAQ,CAAC,KAAK,IAAI,EAAE;YAC7B,MAAM,EAAE,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YACnC,IAAI,IAAA,0CAAgB,EAAC,EAAE,CAAC,EAAE,CAAC;gBACzB,MAAM,IAAA,4CAAkB,EAAC,EAAE,EAAE,UAAU,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;YACvD,CAAC;iBAAM,CAAC;gBACN,MAAM,EAAE,MAAM,EAAE,UAAU,EAAE,GAAG,MAAM,IAAA,2CAAiB,EAAC,IAAI,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;gBACxE,IAAI,CAAC;oBACH,MAAO,MAAc,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;gBAC1C,CAAC;wBAAS,CAAC;oBACT,UAAU,EAAE,CAAC;gBACf,CAAC;YACH,CAAC;YACD,IAAI,CAAC,GAAG,CAAC,eAAe,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC;QACtC,CAAC,CAAC,CAAC;IACL,CAAC;;AA7BM,mBAAO,GAAG,kCAAkC,CAAC;AAC7C,mBAAO,GAAG,CAAC,cAAc,EAAE,kBAAkB,CAAC,CAAC;AAC/C,oBAAQ,GAAG,CAAC,kEAAkE,CAAC,CAAC;AAEhF,gBAAI,GAAG;IACZ,GAAG,EAAE,WAAI,CAAC,MAAM,CAAC,EAAE,WAAW,EAAE,aAAa,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;IAChE,EAAE,EAAE,WAAI,CAAC,MAAM,CAAC,EAAE,WAAW,EAAE,wCAAwC,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC;CAC5F,CAAC;AAEK,iBAAK,GAAG,EAAE,GAAG,0BAAW,CAAC,SAAS,EAAE,CAAC;kBAVzB,WAAW"}
1
+ {"version":3,"file":"open-url.js","sourceRoot":"","sources":["../../../src/commands/exec/open-url.ts"],"names":[],"mappings":";;AAAA,sCAA0C;AAC1C,qDAAiD;AACjD,+EAA4G;AAE5G,MAAqB,WAAY,SAAQ,0BAAW;IAiBlD,KAAK,CAAC,GAAG;QACP,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC;QACtD,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,0CAAgB,EAAC,EAAE,CAAC,EAAE,CAAC;gBACzB,MAAM,IAAA,4CAAkB,EAAC,EAAE,EAAE,UAAU,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;YACvD,CAAC;iBAAM,CAAC;gBACN,MAAM,EAAE,MAAM,EAAE,UAAU,EAAE,GAAG,MAAM,IAAA,2CAAiB,EAAC,IAAI,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;gBACxE,IAAI,CAAC;oBACH,MAAO,MAAc,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;gBAC1C,CAAC;wBAAS,CAAC;oBACT,UAAU,EAAE,CAAC;gBACf,CAAC;YACH,CAAC;YACD,IAAI,CAAC,GAAG,CAAC,eAAe,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC;QACtC,CAAC,CAAC,CAAC;IACL,CAAC;;AAlCM,mBAAO,GAAG,kCAAkC,CAAC;AAC7C,mBAAO,GAAG,CAAC,cAAc,EAAE,kBAAkB,CAAC,CAAC;AAC/C,oBAAQ,GAAG;IAChB,oDAAoD;IACpD,uEAAuE;CACxE,CAAC;AAEK,gBAAI,GAAG;IACZ,GAAG,EAAE,WAAI,CAAC,MAAM,CAAC,EAAE,WAAW,EAAE,aAAa,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;CACjE,CAAC;AAEK,iBAAK,GAAG;IACb,GAAG,0BAAW,CAAC,SAAS;IACxB,EAAE,EAAE,YAAK,CAAC,MAAM,CAAC,EAAE,WAAW,EAAE,wCAAwC,EAAE,CAAC;CAC5E,CAAC;kBAfiB,WAAW"}
@@ -5,9 +5,9 @@ export default class ExecPressKey extends BaseCommand {
5
5
  static examples: string[];
6
6
  static args: {
7
7
  key: import("@oclif/core/lib/interfaces").Arg<string, Record<string, unknown>>;
8
- id: import("@oclif/core/lib/interfaces").Arg<string | undefined, Record<string, unknown>>;
9
8
  };
10
9
  static flags: {
10
+ id: import("@oclif/core/lib/interfaces").OptionFlag<string | undefined, import("@oclif/core/lib/interfaces").CustomOptions>;
11
11
  modifier: import("@oclif/core/lib/interfaces").OptionFlag<string[] | undefined, import("@oclif/core/lib/interfaces").CustomOptions>;
12
12
  'api-key': import("@oclif/core/lib/interfaces").OptionFlag<string | undefined, import("@oclif/core/lib/interfaces").CustomOptions>;
13
13
  json: import("@oclif/core/lib/interfaces").BooleanFlag<boolean>;
@@ -1 +1 @@
1
- {"version":3,"file":"press-key.d.ts","sourceRoot":"","sources":["../../../src/commands/exec/press-key.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AAGjD,MAAM,CAAC,OAAO,OAAO,YAAa,SAAQ,WAAW;IACnD,MAAM,CAAC,OAAO,SAAuC;IACrD,MAAM,CAAC,OAAO,WAA0C;IACxD,MAAM,CAAC,QAAQ,WAGb;IAEF,MAAM,CAAC,IAAI;;;MAGT;IAEF,MAAM,CAAC,KAAK;;;;MAGV;IAEI,GAAG,IAAI,OAAO,CAAC,IAAI,CAAC;CAmB3B"}
1
+ {"version":3,"file":"press-key.d.ts","sourceRoot":"","sources":["../../../src/commands/exec/press-key.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AAGjD,MAAM,CAAC,OAAO,OAAO,YAAa,SAAQ,WAAW;IACnD,MAAM,CAAC,OAAO,SAAuC;IACrD,MAAM,CAAC,OAAO,WAA0C;IACxD,MAAM,CAAC,QAAQ,WAGb;IAEF,MAAM,CAAC,IAAI;;MAET;IAEF,MAAM,CAAC,KAAK;;;;;MAIV;IAEI,GAAG,IAAI,OAAO,CAAC,IAAI,CAAC;CAmB3B"}
@@ -8,7 +8,7 @@ class ExecPressKey extends base_command_1.BaseCommand {
8
8
  const { args, flags } = await this.parse(ExecPressKey);
9
9
  this.setParsedFlags(flags);
10
10
  await this.withAuth(async () => {
11
- const id = this.resolveId(args.id);
11
+ const id = this.resolveId(flags.id);
12
12
  if ((0, instance_client_factory_1.hasActiveSession)(id)) {
13
13
  await (0, instance_client_factory_1.sendSessionCommand)(id, 'press-key', [args.key, flags.modifier]);
14
14
  }
@@ -28,15 +28,15 @@ class ExecPressKey extends base_command_1.BaseCommand {
28
28
  ExecPressKey.summary = 'Press a key on a running instance';
29
29
  ExecPressKey.aliases = ['ios press-key', 'android press-key'];
30
30
  ExecPressKey.examples = [
31
- '<%= config.bin %> ios press-key <instance-ID> enter',
32
- '<%= config.bin %> ios press-key <instance-ID> a --modifier shift',
31
+ '<%= config.bin %> ios press-key enter',
32
+ '<%= config.bin %> ios press-key a --modifier shift --id <instance-ID>',
33
33
  ];
34
34
  ExecPressKey.args = {
35
35
  key: core_1.Args.string({ description: 'Key to press (e.g. enter, backspace, a, f1)', required: true }),
36
- id: core_1.Args.string({ description: 'Instance ID (defaults to last created)', required: false }),
37
36
  };
38
37
  ExecPressKey.flags = {
39
38
  ...base_command_1.BaseCommand.baseFlags,
39
+ id: core_1.Flags.string({ description: 'Instance ID (defaults to last created)' }),
40
40
  modifier: core_1.Flags.string({ description: 'Modifier key (e.g. shift, command, alt)', multiple: true }),
41
41
  };
42
42
  exports.default = ExecPressKey;
@@ -1 +1 @@
1
- {"version":3,"file":"press-key.js","sourceRoot":"","sources":["../../../src/commands/exec/press-key.ts"],"names":[],"mappings":";;AAAA,sCAA0C;AAC1C,qDAAiD;AACjD,+EAA4G;AAE5G,MAAqB,YAAa,SAAQ,0BAAW;IAkBnD,KAAK,CAAC,GAAG;QACP,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,YAAY,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,IAAI,CAAC,EAAE,CAAC,CAAC;YACnC,IAAI,IAAA,0CAAgB,EAAC,EAAE,CAAC,EAAE,CAAC;gBACzB,MAAM,IAAA,4CAAkB,EAAC,EAAE,EAAE,WAAW,EAAE,CAAC,IAAI,CAAC,GAAG,EAAE,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC;YACxE,CAAC;iBAAM,CAAC;gBACN,MAAM,EAAE,MAAM,EAAE,UAAU,EAAE,GAAG,MAAM,IAAA,2CAAiB,EAAC,IAAI,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;gBACxE,IAAI,CAAC;oBACH,MAAO,MAAc,CAAC,QAAQ,CAAC,IAAI,CAAC,GAAG,EAAE,KAAK,CAAC,QAAQ,CAAC,CAAC;gBAC3D,CAAC;wBAAS,CAAC;oBACT,UAAU,EAAE,CAAC;gBACf,CAAC;YACH,CAAC;YACD,IAAI,CAAC,GAAG,CAAC,gBAAgB,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC;QACvC,CAAC,CAAC,CAAC;IACL,CAAC;;AAnCM,oBAAO,GAAG,mCAAmC,CAAC;AAC9C,oBAAO,GAAG,CAAC,eAAe,EAAE,mBAAmB,CAAC,CAAC;AACjD,qBAAQ,GAAG;IAChB,qDAAqD;IACrD,kEAAkE;CACnE,CAAC;AAEK,iBAAI,GAAG;IACZ,GAAG,EAAE,WAAI,CAAC,MAAM,CAAC,EAAE,WAAW,EAAE,6CAA6C,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;IAChG,EAAE,EAAE,WAAI,CAAC,MAAM,CAAC,EAAE,WAAW,EAAE,wCAAwC,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC;CAC5F,CAAC;AAEK,kBAAK,GAAG;IACb,GAAG,0BAAW,CAAC,SAAS;IACxB,QAAQ,EAAE,YAAK,CAAC,MAAM,CAAC,EAAE,WAAW,EAAE,yCAAyC,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;CACnG,CAAC;kBAhBiB,YAAY"}
1
+ {"version":3,"file":"press-key.js","sourceRoot":"","sources":["../../../src/commands/exec/press-key.ts"],"names":[],"mappings":";;AAAA,sCAA0C;AAC1C,qDAAiD;AACjD,+EAA4G;AAE5G,MAAqB,YAAa,SAAQ,0BAAW;IAkBnD,KAAK,CAAC,GAAG;QACP,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,YAAY,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,0CAAgB,EAAC,EAAE,CAAC,EAAE,CAAC;gBACzB,MAAM,IAAA,4CAAkB,EAAC,EAAE,EAAE,WAAW,EAAE,CAAC,IAAI,CAAC,GAAG,EAAE,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC;YACxE,CAAC;iBAAM,CAAC;gBACN,MAAM,EAAE,MAAM,EAAE,UAAU,EAAE,GAAG,MAAM,IAAA,2CAAiB,EAAC,IAAI,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;gBACxE,IAAI,CAAC;oBACH,MAAO,MAAc,CAAC,QAAQ,CAAC,IAAI,CAAC,GAAG,EAAE,KAAK,CAAC,QAAQ,CAAC,CAAC;gBAC3D,CAAC;wBAAS,CAAC;oBACT,UAAU,EAAE,CAAC;gBACf,CAAC;YACH,CAAC;YACD,IAAI,CAAC,GAAG,CAAC,gBAAgB,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC;QACvC,CAAC,CAAC,CAAC;IACL,CAAC;;AAnCM,oBAAO,GAAG,mCAAmC,CAAC;AAC9C,oBAAO,GAAG,CAAC,eAAe,EAAE,mBAAmB,CAAC,CAAC;AACjD,qBAAQ,GAAG;IAChB,uCAAuC;IACvC,uEAAuE;CACxE,CAAC;AAEK,iBAAI,GAAG;IACZ,GAAG,EAAE,WAAI,CAAC,MAAM,CAAC,EAAE,WAAW,EAAE,6CAA6C,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;CACjG,CAAC;AAEK,kBAAK,GAAG;IACb,GAAG,0BAAW,CAAC,SAAS;IACxB,EAAE,EAAE,YAAK,CAAC,MAAM,CAAC,EAAE,WAAW,EAAE,wCAAwC,EAAE,CAAC;IAC3E,QAAQ,EAAE,YAAK,CAAC,MAAM,CAAC,EAAE,WAAW,EAAE,yCAAyC,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;CACnG,CAAC;kBAhBiB,YAAY"}
@@ -5,9 +5,9 @@ export default class ExecRecord extends BaseCommand {
5
5
  static examples: string[];
6
6
  static args: {
7
7
  action: import("@oclif/core/lib/interfaces").Arg<string, Record<string, unknown>>;
8
- id: import("@oclif/core/lib/interfaces").Arg<string | undefined, Record<string, unknown>>;
9
8
  };
10
9
  static flags: {
10
+ id: import("@oclif/core/lib/interfaces").OptionFlag<string | undefined, import("@oclif/core/lib/interfaces").CustomOptions>;
11
11
  quality: import("@oclif/core/lib/interfaces").OptionFlag<number, import("@oclif/core/lib/interfaces").CustomOptions>;
12
12
  output: import("@oclif/core/lib/interfaces").OptionFlag<string | undefined, import("@oclif/core/lib/interfaces").CustomOptions>;
13
13
  'presigned-url': import("@oclif/core/lib/interfaces").OptionFlag<string | undefined, import("@oclif/core/lib/interfaces").CustomOptions>;
@@ -1 +1 @@
1
- {"version":3,"file":"record.d.ts","sourceRoot":"","sources":["../../../src/commands/exec/record.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AAGjD,MAAM,CAAC,OAAO,OAAO,UAAW,SAAQ,WAAW;IACjD,MAAM,CAAC,OAAO,SAAyD;IACvE,MAAM,CAAC,OAAO,WAAoC;IAClD,MAAM,CAAC,QAAQ,WAQb;IAEF,MAAM,CAAC,IAAI;;;MAGT;IAEF,MAAM,CAAC,KAAK;;;;;;MAKV;IAEI,GAAG,IAAI,OAAO,CAAC,IAAI,CAAC;IA+C1B,OAAO,CAAC,oBAAoB;CAI7B"}
1
+ {"version":3,"file":"record.d.ts","sourceRoot":"","sources":["../../../src/commands/exec/record.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AAGjD,MAAM,CAAC,OAAO,OAAO,UAAW,SAAQ,WAAW;IACjD,MAAM,CAAC,OAAO,SAAyD;IACvE,MAAM,CAAC,OAAO,WAAoC;IAClD,MAAM,CAAC,QAAQ,WAQb;IAEF,MAAM,CAAC,IAAI;;MAET;IAEF,MAAM,CAAC,KAAK;;;;;;;MAMV;IAEI,GAAG,IAAI,OAAO,CAAC,IAAI,CAAC;IA+C1B,OAAO,CAAC,oBAAoB;CAI7B"}