@limrun/cli 0.2.1 → 0.2.3

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 (168) hide show
  1. package/README.md +140 -115
  2. package/dist/base-command.d.ts +5 -0
  3. package/dist/base-command.d.ts.map +1 -1
  4. package/dist/base-command.js +11 -0
  5. package/dist/base-command.js.map +1 -1
  6. package/dist/commands/android/connect.d.ts +1 -1
  7. package/dist/commands/android/connect.d.ts.map +1 -1
  8. package/dist/commands/android/connect.js +4 -3
  9. package/dist/commands/android/connect.js.map +1 -1
  10. package/dist/commands/android/create.d.ts.map +1 -1
  11. package/dist/commands/android/create.js +2 -0
  12. package/dist/commands/android/create.js.map +1 -1
  13. package/dist/commands/build.d.ts +2 -1
  14. package/dist/commands/build.d.ts.map +1 -1
  15. package/dist/commands/build.js +15 -6
  16. package/dist/commands/build.js.map +1 -1
  17. package/dist/commands/delete/index.d.ts.map +1 -1
  18. package/dist/commands/delete/index.js +2 -1
  19. package/dist/commands/delete/index.js.map +1 -1
  20. package/dist/commands/exec/element-tree.d.ts +1 -1
  21. package/dist/commands/exec/element-tree.d.ts.map +1 -1
  22. package/dist/commands/exec/element-tree.js +5 -4
  23. package/dist/commands/exec/element-tree.js.map +1 -1
  24. package/dist/commands/exec/install-app.d.ts +1 -1
  25. package/dist/commands/exec/install-app.d.ts.map +1 -1
  26. package/dist/commands/exec/install-app.js +5 -4
  27. package/dist/commands/exec/install-app.js.map +1 -1
  28. package/dist/commands/exec/open-url.d.ts +1 -1
  29. package/dist/commands/exec/open-url.d.ts.map +1 -1
  30. package/dist/commands/exec/open-url.js +5 -4
  31. package/dist/commands/exec/open-url.js.map +1 -1
  32. package/dist/commands/exec/press-key.d.ts +1 -1
  33. package/dist/commands/exec/press-key.d.ts.map +1 -1
  34. package/dist/commands/exec/press-key.js +5 -4
  35. package/dist/commands/exec/press-key.js.map +1 -1
  36. package/dist/commands/exec/record.d.ts +1 -1
  37. package/dist/commands/exec/record.d.ts.map +1 -1
  38. package/dist/commands/exec/record.js +8 -7
  39. package/dist/commands/exec/record.js.map +1 -1
  40. package/dist/commands/exec/screenshot.d.ts +1 -1
  41. package/dist/commands/exec/screenshot.d.ts.map +1 -1
  42. package/dist/commands/exec/screenshot.js +6 -5
  43. package/dist/commands/exec/screenshot.js.map +1 -1
  44. package/dist/commands/exec/scroll.d.ts +1 -1
  45. package/dist/commands/exec/scroll.d.ts.map +1 -1
  46. package/dist/commands/exec/scroll.js +5 -4
  47. package/dist/commands/exec/scroll.js.map +1 -1
  48. package/dist/commands/exec/tap-element.d.ts +1 -1
  49. package/dist/commands/exec/tap-element.d.ts.map +1 -1
  50. package/dist/commands/exec/tap-element.js +6 -5
  51. package/dist/commands/exec/tap-element.js.map +1 -1
  52. package/dist/commands/exec/tap.d.ts +1 -1
  53. package/dist/commands/exec/tap.d.ts.map +1 -1
  54. package/dist/commands/exec/tap.js +5 -4
  55. package/dist/commands/exec/tap.js.map +1 -1
  56. package/dist/commands/exec/type.d.ts +1 -1
  57. package/dist/commands/exec/type.d.ts.map +1 -1
  58. package/dist/commands/exec/type.js +5 -4
  59. package/dist/commands/exec/type.js.map +1 -1
  60. package/dist/commands/ios/create.d.ts.map +1 -1
  61. package/dist/commands/ios/create.js +1 -0
  62. package/dist/commands/ios/create.js.map +1 -1
  63. package/dist/commands/ios/launch-app.d.ts +1 -1
  64. package/dist/commands/ios/launch-app.d.ts.map +1 -1
  65. package/dist/commands/ios/launch-app.js +5 -4
  66. package/dist/commands/ios/launch-app.js.map +1 -1
  67. package/dist/commands/ios/list-apps.d.ts +1 -1
  68. package/dist/commands/ios/list-apps.d.ts.map +1 -1
  69. package/dist/commands/ios/list-apps.js +5 -4
  70. package/dist/commands/ios/list-apps.js.map +1 -1
  71. package/dist/commands/ios/log.d.ts +1 -1
  72. package/dist/commands/ios/log.d.ts.map +1 -1
  73. package/dist/commands/ios/log.js +6 -5
  74. package/dist/commands/ios/log.js.map +1 -1
  75. package/dist/commands/ios/terminate-app.d.ts +1 -1
  76. package/dist/commands/ios/terminate-app.d.ts.map +1 -1
  77. package/dist/commands/ios/terminate-app.js +5 -4
  78. package/dist/commands/ios/terminate-app.js.map +1 -1
  79. package/dist/commands/session/start.d.ts +1 -1
  80. package/dist/commands/session/start.d.ts.map +1 -1
  81. package/dist/commands/session/start.js +13 -12
  82. package/dist/commands/session/start.js.map +1 -1
  83. package/dist/commands/sync.d.ts +2 -2
  84. package/dist/commands/sync.d.ts.map +1 -1
  85. package/dist/commands/sync.js +14 -10
  86. package/dist/commands/sync.js.map +1 -1
  87. package/dist/commands/xcode/create.d.ts.map +1 -1
  88. package/dist/commands/xcode/create.js +2 -0
  89. package/dist/commands/xcode/create.js.map +1 -1
  90. package/dist/lib/config.d.ts +7 -0
  91. package/dist/lib/config.d.ts.map +1 -1
  92. package/dist/lib/config.js +47 -0
  93. package/dist/lib/config.js.map +1 -1
  94. package/dist/lib/instance-client-factory.js +2 -2
  95. package/dist/lib/instance-client-factory.js.map +1 -1
  96. package/package.json +1 -1
  97. package/dist/commands/connect/android.d.ts +0 -15
  98. package/dist/commands/connect/android.d.ts.map +0 -1
  99. package/dist/commands/connect/android.js +0 -80
  100. package/dist/commands/connect/android.js.map +0 -1
  101. package/dist/commands/delete/android.d.ts +0 -14
  102. package/dist/commands/delete/android.d.ts.map +0 -1
  103. package/dist/commands/delete/android.js +0 -22
  104. package/dist/commands/delete/android.js.map +0 -1
  105. package/dist/commands/delete/asset.d.ts +0 -14
  106. package/dist/commands/delete/asset.d.ts.map +0 -1
  107. package/dist/commands/delete/asset.js +0 -22
  108. package/dist/commands/delete/asset.js.map +0 -1
  109. package/dist/commands/delete/ios.d.ts +0 -14
  110. package/dist/commands/delete/ios.d.ts.map +0 -1
  111. package/dist/commands/delete/ios.js +0 -24
  112. package/dist/commands/delete/ios.js.map +0 -1
  113. package/dist/commands/delete/xcode.d.ts +0 -14
  114. package/dist/commands/delete/xcode.d.ts.map +0 -1
  115. package/dist/commands/delete/xcode.js +0 -22
  116. package/dist/commands/delete/xcode.js.map +0 -1
  117. package/dist/commands/exec/launch-app.d.ts +0 -16
  118. package/dist/commands/exec/launch-app.d.ts.map +0 -1
  119. package/dist/commands/exec/launch-app.js +0 -49
  120. package/dist/commands/exec/launch-app.js.map +0 -1
  121. package/dist/commands/exec/list-apps.d.ts +0 -14
  122. package/dist/commands/exec/list-apps.d.ts.map +0 -1
  123. package/dist/commands/exec/list-apps.js +0 -45
  124. package/dist/commands/exec/list-apps.js.map +0 -1
  125. package/dist/commands/exec/log.d.ts +0 -17
  126. package/dist/commands/exec/log.d.ts.map +0 -1
  127. package/dist/commands/exec/log.js +0 -80
  128. package/dist/commands/exec/log.js.map +0 -1
  129. package/dist/commands/exec/terminate-app.d.ts +0 -15
  130. package/dist/commands/exec/terminate-app.d.ts.map +0 -1
  131. package/dist/commands/exec/terminate-app.js +0 -39
  132. package/dist/commands/exec/terminate-app.js.map +0 -1
  133. package/dist/commands/get/android.d.ts +0 -19
  134. package/dist/commands/get/android.d.ts.map +0 -1
  135. package/dist/commands/get/android.js +0 -69
  136. package/dist/commands/get/android.js.map +0 -1
  137. package/dist/commands/get/asset.d.ts +0 -18
  138. package/dist/commands/get/asset.d.ts.map +0 -1
  139. package/dist/commands/get/asset.js +0 -74
  140. package/dist/commands/get/asset.js.map +0 -1
  141. package/dist/commands/get/ios.d.ts +0 -19
  142. package/dist/commands/get/ios.d.ts.map +0 -1
  143. package/dist/commands/get/ios.js +0 -69
  144. package/dist/commands/get/ios.js.map +0 -1
  145. package/dist/commands/get/xcode.d.ts +0 -17
  146. package/dist/commands/get/xcode.d.ts.map +0 -1
  147. package/dist/commands/get/xcode.js +0 -65
  148. package/dist/commands/get/xcode.js.map +0 -1
  149. package/dist/commands/pull.d.ts +0 -16
  150. package/dist/commands/pull.d.ts.map +0 -1
  151. package/dist/commands/pull.js +0 -71
  152. package/dist/commands/pull.js.map +0 -1
  153. package/dist/commands/push.d.ts +0 -15
  154. package/dist/commands/push.d.ts.map +0 -1
  155. package/dist/commands/push.js +0 -40
  156. package/dist/commands/push.js.map +0 -1
  157. package/dist/commands/run/android.d.ts +0 -24
  158. package/dist/commands/run/android.d.ts.map +0 -1
  159. package/dist/commands/run/android.js +0 -183
  160. package/dist/commands/run/android.js.map +0 -1
  161. package/dist/commands/run/ios.d.ts +0 -23
  162. package/dist/commands/run/ios.d.ts.map +0 -1
  163. package/dist/commands/run/ios.js +0 -129
  164. package/dist/commands/run/ios.js.map +0 -1
  165. package/dist/commands/run/xcode.d.ts +0 -19
  166. package/dist/commands/run/xcode.d.ts.map +0 -1
  167. package/dist/commands/run/xcode.js +0 -81
  168. package/dist/commands/run/xcode.js.map +0 -1
@@ -9,9 +9,11 @@ class Sync extends base_command_1.BaseCommand {
9
9
  const { args, flags } = await this.parse(Sync);
10
10
  this.setParsedFlags(flags);
11
11
  await this.withAuth(async () => {
12
- const xcodeClient = await this.resolveXcodeClient(args.id);
13
- this.log(`Syncing ${args.path} to instance ${args.id}...`);
14
- const result = await xcodeClient.sync(args.path, {
12
+ const id = this.resolveId(flags.id);
13
+ const syncPath = args.path ?? process.cwd();
14
+ const xcodeClient = await this.resolveXcodeClient(id);
15
+ this.log(`Syncing ${syncPath} to instance ${id}...`);
16
+ const result = await xcodeClient.sync(syncPath, {
15
17
  watch: flags.watch,
16
18
  install: flags.install,
17
19
  });
@@ -61,20 +63,22 @@ class Sync extends base_command_1.BaseCommand {
61
63
  }
62
64
  Sync.summary = 'Sync local code to a Xcode sandbox';
63
65
  Sync.aliases = ['ios sync', 'xcode sync'];
64
- Sync.description = 'Pushes local source code to a remote Xcode sandbox with optional watch mode. ' +
66
+ Sync.description = 'Pushes a local project path (or the current working directory if omitted) to a remote Xcode sandbox with optional watch mode. ' +
65
67
  'Works with both standalone Xcode instances and iOS instances that have --xcode enabled.';
66
68
  Sync.examples = [
67
- '<%= config.bin %> sync <xcode-instance-ID> ./MyProject',
68
- '<%= config.bin %> sync <ios-instance-ID> ./MyProject',
69
- '<%= config.bin %> sync <xcode-instance-ID> ./MyProject --no-watch',
69
+ '<%= config.bin %> sync',
70
+ '<%= config.bin %> sync ./MyProject',
71
+ '<%= config.bin %> sync --id <xcode-instance-ID>',
72
+ '<%= config.bin %> sync ./MyProject --id <xcode-instance-ID>',
73
+ '<%= config.bin %> sync --watch',
70
74
  ];
71
75
  Sync.args = {
72
- id: core_1.Args.string({ description: 'Xcode or iOS instance ID', required: true }),
73
- path: core_1.Args.string({ description: 'Local project path to sync', required: true }),
76
+ path: core_1.Args.string({ description: 'Local project path (defaults to current directory)', required: false }),
74
77
  };
75
78
  Sync.flags = {
76
79
  ...base_command_1.BaseCommand.baseFlags,
77
- watch: core_1.Flags.boolean({ description: 'Watch for changes and re-sync', default: true, allowNo: true }),
80
+ id: core_1.Flags.string({ description: 'Xcode or iOS instance ID (defaults to last created)' }),
81
+ watch: core_1.Flags.boolean({ description: 'Watch for changes and re-sync', default: false, allowNo: true }),
78
82
  install: core_1.Flags.boolean({ description: 'Install after syncing', default: true, allowNo: true }),
79
83
  };
80
84
  exports.default = Sync;
@@ -1 +1 @@
1
- {"version":3,"file":"sync.js","sourceRoot":"","sources":["../../src/commands/sync.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"sync.js","sourceRoot":"","sources":["../../src/commands/sync.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"create.d.ts","sourceRoot":"","sources":["../../../src/commands/xcode/create.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AAIjD,MAAM,CAAC,OAAO,OAAO,WAAY,SAAQ,WAAW;IAClD,MAAM,CAAC,OAAO,SAAiC;IAC/C,MAAM,CAAC,WAAW,SAA8D;IAChF,MAAM,CAAC,OAAO,WAAiB;IAE/B,MAAM,CAAC,QAAQ,WAGb;IAEF,MAAM,CAAC,KAAK;;;;;;;;;;MAYV;IAEI,GAAG,IAAI,OAAO,CAAC,IAAI,CAAC;CAyD3B"}
1
+ {"version":3,"file":"create.d.ts","sourceRoot":"","sources":["../../../src/commands/xcode/create.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AAKjD,MAAM,CAAC,OAAO,OAAO,WAAY,SAAQ,WAAW;IAClD,MAAM,CAAC,OAAO,SAAiC;IAC/C,MAAM,CAAC,WAAW,SAA8D;IAChF,MAAM,CAAC,OAAO,WAAiB;IAE/B,MAAM,CAAC,QAAQ,WAGb;IAEF,MAAM,CAAC,KAAK;;;;;;;;;;MAYV;IAEI,GAAG,IAAI,OAAO,CAAC,IAAI,CAAC;CA0D3B"}
@@ -3,6 +3,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  const core_1 = require("@oclif/core");
4
4
  const base_command_1 = require("../../base-command");
5
5
  const formatting_1 = require("../../lib/formatting");
6
+ const config_1 = require("../../lib/config");
6
7
  class XcodeCreate extends base_command_1.BaseCommand {
7
8
  async run() {
8
9
  const { flags } = await this.parse(XcodeCreate);
@@ -29,6 +30,7 @@ class XcodeCreate extends base_command_1.BaseCommand {
29
30
  }
30
31
  const start = Date.now();
31
32
  const instance = await this.client.xcodeInstances.create(params);
33
+ (0, config_1.saveLastInstanceId)(instance.metadata.id);
32
34
  this.log(`Created a new Xcode instance in ${((Date.now() - start) / 1000).toFixed(1)}s`);
33
35
  this.log(`Instance ID: ${instance.metadata.id}`);
34
36
  this.log(`Region: ${instance.spec.region}`);
@@ -1 +1 @@
1
- {"version":3,"file":"create.js","sourceRoot":"","sources":["../../../src/commands/xcode/create.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"create.js","sourceRoot":"","sources":["../../../src/commands/xcode/create.ts"],"names":[],"mappings":"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"}
@@ -11,6 +11,13 @@ export interface LimConfig {
11
11
  export declare function readConfig(): LimConfig;
12
12
  export declare function writeConfig(partial: Partial<Record<string, string>>): void;
13
13
  export declare function clearApiKey(): void;
14
+ export declare function saveLastInstanceId(instanceId: string): void;
15
+ export declare function loadLastInstanceId(type?: string): string | null;
16
+ /**
17
+ * Resolve an instance ID from explicit arg, active session, or last-used fallback.
18
+ * Throws with a helpful message if no ID can be determined.
19
+ */
20
+ export declare function resolveInstanceId(providedId: string | undefined, expectedType?: string): string;
14
21
  export interface InstanceCache {
15
22
  sandboxXcodeUrl?: string;
16
23
  token?: string;
@@ -1 +1 @@
1
- {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../src/lib/config.ts"],"names":[],"mappings":"AAQA,eAAO,MAAM,WAAW;;;;CAId,CAAC;AAOX,MAAM,WAAW,SAAS;IACxB,MAAM,EAAE,MAAM,CAAC;IACf,WAAW,EAAE,MAAM,CAAC;IACpB,eAAe,EAAE,MAAM,CAAC;CACzB;AA0BD,wBAAgB,UAAU,IAAI,SAAS,CAWtC;AAED,wBAAgB,WAAW,CAAC,OAAO,EAAE,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,GAAG,IAAI,CAI1E;AAED,wBAAgB,WAAW,IAAI,IAAI,CAIlC;AAQD,MAAM,WAAW,aAAa;IAC5B,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAOD,wBAAgB,iBAAiB,CAAC,UAAU,EAAE,MAAM,EAAE,IAAI,EAAE,aAAa,GAAG,IAAI,CAM/E;AAED,wBAAgB,iBAAiB,CAAC,UAAU,EAAE,MAAM,GAAG,aAAa,GAAG,IAAI,CAQ1E;AAED,wBAAgB,kBAAkB,CAAC,UAAU,EAAE,MAAM,GAAG,IAAI,CAI3D"}
1
+ {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../src/lib/config.ts"],"names":[],"mappings":"AAQA,eAAO,MAAM,WAAW;;;;CAId,CAAC;AAOX,MAAM,WAAW,SAAS;IACxB,MAAM,EAAE,MAAM,CAAC;IACf,WAAW,EAAE,MAAM,CAAC;IACpB,eAAe,EAAE,MAAM,CAAC;CACzB;AA0BD,wBAAgB,UAAU,IAAI,SAAS,CAWtC;AAED,wBAAgB,WAAW,CAAC,OAAO,EAAE,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,GAAG,IAAI,CAI1E;AAED,wBAAgB,WAAW,IAAI,IAAI,CAIlC;AAqBD,wBAAgB,kBAAkB,CAAC,UAAU,EAAE,MAAM,GAAG,IAAI,CAQ3D;AAED,wBAAgB,kBAAkB,CAAC,IAAI,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAM/D;AAED;;;GAGG;AACH,wBAAgB,iBAAiB,CAAC,UAAU,EAAE,MAAM,GAAG,SAAS,EAAE,YAAY,CAAC,EAAE,MAAM,GAAG,MAAM,CAY/F;AAQD,MAAM,WAAW,aAAa;IAC5B,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAOD,wBAAgB,iBAAiB,CAAC,UAAU,EAAE,MAAM,EAAE,IAAI,EAAE,aAAa,GAAG,IAAI,CAM/E;AAED,wBAAgB,iBAAiB,CAAC,UAAU,EAAE,MAAM,GAAG,aAAa,GAAG,IAAI,CAQ1E;AAED,wBAAgB,kBAAkB,CAAC,UAAU,EAAE,MAAM,GAAG,IAAI,CAI3D"}
@@ -7,6 +7,9 @@ exports.CONFIG_KEYS = void 0;
7
7
  exports.readConfig = readConfig;
8
8
  exports.writeConfig = writeConfig;
9
9
  exports.clearApiKey = clearApiKey;
10
+ exports.saveLastInstanceId = saveLastInstanceId;
11
+ exports.loadLastInstanceId = loadLastInstanceId;
12
+ exports.resolveInstanceId = resolveInstanceId;
10
13
  exports.saveInstanceCache = saveInstanceCache;
11
14
  exports.loadInstanceCache = loadInstanceCache;
12
15
  exports.clearInstanceCache = clearInstanceCache;
@@ -66,6 +69,50 @@ function clearApiKey() {
66
69
  delete raw[exports.CONFIG_KEYS.apiKey];
67
70
  writeRawConfig(raw);
68
71
  }
72
+ // ---------- Last used instance per type ----------
73
+ const LAST_INSTANCE_FILE = path_1.default.join(CONFIG_DIR, 'last-instances.json');
74
+ function readLastInstances() {
75
+ if (!fs_1.default.existsSync(LAST_INSTANCE_FILE))
76
+ return {};
77
+ try {
78
+ return JSON.parse(fs_1.default.readFileSync(LAST_INSTANCE_FILE, 'utf-8'));
79
+ }
80
+ catch {
81
+ return {};
82
+ }
83
+ }
84
+ function saveLastInstanceId(instanceId) {
85
+ ensureConfigDir();
86
+ const rawPrefix = instanceId.split('_')[0];
87
+ // Map sandbox_ prefix to xcode type
88
+ const prefix = (rawPrefix === 'sandbox' ? 'xcode' : rawPrefix);
89
+ const data = readLastInstances();
90
+ data[prefix] = instanceId;
91
+ fs_1.default.writeFileSync(LAST_INSTANCE_FILE, JSON.stringify(data, null, 2), { mode: 0o600 });
92
+ }
93
+ function loadLastInstanceId(type) {
94
+ const data = readLastInstances();
95
+ if (type)
96
+ return data[type] ?? null;
97
+ // Return the most recently saved one (check all types)
98
+ // Since we can't track order, prefer ios > android > xcode as a reasonable default
99
+ return data.ios ?? data.android ?? data.xcode ?? null;
100
+ }
101
+ /**
102
+ * Resolve an instance ID from explicit arg, active session, or last-used fallback.
103
+ * Throws with a helpful message if no ID can be determined.
104
+ */
105
+ function resolveInstanceId(providedId, expectedType) {
106
+ if (providedId)
107
+ return providedId;
108
+ // Try last-used instance for the expected type
109
+ const lastId = loadLastInstanceId(expectedType);
110
+ if (lastId)
111
+ return lastId;
112
+ const typeHint = expectedType ? ` ${expectedType}` : '';
113
+ throw new Error(`No instance ID provided and no recent${typeHint} instance found.\n` +
114
+ `Provide an instance ID or create one first with: lim${typeHint} create`);
115
+ }
69
116
  // ---------- Instance metadata cache ----------
70
117
  // Stores data from create responses that the API doesn't return on get
71
118
  // (e.g. sandbox.xcode.url for iOS instances)
@@ -1 +1 @@
1
- {"version":3,"file":"config.js","sourceRoot":"","sources":["../../src/lib/config.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"config.js","sourceRoot":"","sources":["../../src/lib/config.ts"],"names":[],"mappings":"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"}
@@ -12,9 +12,9 @@ function detectInstanceType(id) {
12
12
  return 'android';
13
13
  if (prefix === 'ios')
14
14
  return 'ios';
15
- if (prefix === 'xcode')
15
+ if (prefix === 'xcode' || prefix === 'sandbox')
16
16
  return 'xcode';
17
- throw new Error(`Cannot detect instance type from ID "${id}". Expected prefix "android_", "ios_", or "xcode_".`);
17
+ throw new Error(`Cannot detect instance type from ID "${id}". Expected prefix "android_", "ios_", "xcode_", or "sandbox_".`);
18
18
  }
19
19
  /**
20
20
  * Check if a daemon session is active for the given instance ID.
@@ -1 +1 @@
1
- {"version":3,"file":"instance-client-factory.js","sourceRoot":"","sources":["../../src/lib/instance-client-factory.ts"],"names":[],"mappings":";;AAaA,gDAQC;AAKD,4CAEC;AAKD,gDAMC;AAKD,8CA8BC;AA1ED,qCAAqF;AACrF,mDAA+D;AAY/D,SAAgB,kBAAkB,CAAC,EAAU;IAC3C,MAAM,MAAM,GAAG,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;IAChC,IAAI,MAAM,KAAK,SAAS;QAAE,OAAO,SAAS,CAAC;IAC3C,IAAI,MAAM,KAAK,KAAK;QAAE,OAAO,KAAK,CAAC;IACnC,IAAI,MAAM,KAAK,OAAO;QAAE,OAAO,OAAO,CAAC;IACvC,MAAM,IAAI,KAAK,CACb,wCAAwC,EAAE,qDAAqD,CAChG,CAAC;AACJ,CAAC;AAED;;GAEG;AACH,SAAgB,gBAAgB,CAAC,EAAU;IACzC,OAAO,IAAA,+BAAe,EAAC,EAAE,CAAC,CAAC;AAC7B,CAAC;AAED;;GAEG;AACH,SAAgB,kBAAkB,CAChC,UAAkB,EAClB,OAAe,EACf,OAAkB,EAAE;IAEpB,OAAO,IAAA,2BAAW,EAAC,UAAU,EAAE,OAAO,EAAE,IAAI,CAAC,CAAC;AAChD,CAAC;AAED;;GAEG;AACI,KAAK,UAAU,iBAAiB,CAAC,GAAW,EAAE,EAAU;IAC7D,MAAM,IAAI,GAAG,kBAAkB,CAAC,EAAE,CAAC,CAAC;IAEpC,IAAI,IAAI,KAAK,SAAS,EAAE,CAAC;QACvB,MAAM,QAAQ,GAAG,MAAM,GAAG,CAAC,gBAAgB,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QACpD,MAAM,MAAM,GAAG,QAAQ,CAAC,MAAM,CAAC,MAAM,CAAC;QACtC,MAAM,KAAK,GAAG,QAAQ,CAAC,MAAM,CAAC,KAAK,CAAC;QACpC,IAAI,CAAC,MAAM,EAAE,CAAC;YACZ,MAAM,IAAI,KAAK,CAAC,oBAAoB,EAAE,wCAAwC,CAAC,CAAC;QAClF,CAAC;QACD,MAAM,MAAM,GAAG,MAAM,IAAA,0BAAoB,EAAC;YACxC,MAAM;YACN,MAAM,EAAE,QAAQ,CAAC,MAAM,CAAC,eAAe;YACvC,KAAK;SACN,CAAC,CAAC;QACH,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,UAAU,EAAE,GAAG,EAAE,CAAC,MAAM,CAAC,UAAU,EAAE,EAAE,SAAS,EAAE,KAAK,EAAE,CAAC;IACnF,CAAC;IAED,IAAI,IAAI,KAAK,KAAK,EAAE,CAAC;QACnB,MAAM,QAAQ,GAAG,MAAM,GAAG,CAAC,YAAY,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QAChD,MAAM,MAAM,GAAG,QAAQ,CAAC,MAAM,CAAC,MAAM,CAAC;QACtC,MAAM,KAAK,GAAG,QAAQ,CAAC,MAAM,CAAC,KAAK,CAAC;QACpC,IAAI,CAAC,MAAM,EAAE,CAAC;YACZ,MAAM,IAAI,KAAK,CAAC,gBAAgB,EAAE,wCAAwC,CAAC,CAAC;QAC9E,CAAC;QACD,MAAM,MAAM,GAAG,MAAM,SAAG,CAAC,oBAAoB,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,CAAC;QACjE,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,UAAU,EAAE,GAAG,EAAE,CAAC,MAAM,CAAC,UAAU,EAAE,EAAE,SAAS,EAAE,KAAK,EAAE,CAAC;IACnF,CAAC;IAED,MAAM,IAAI,KAAK,CAAC,2CAA2C,IAAI,wCAAwC,CAAC,CAAC;AAC3G,CAAC"}
1
+ {"version":3,"file":"instance-client-factory.js","sourceRoot":"","sources":["../../src/lib/instance-client-factory.ts"],"names":[],"mappings":";;AAaA,gDAQC;AAKD,4CAEC;AAKD,gDAMC;AAKD,8CA8BC;AA1ED,qCAAqF;AACrF,mDAA+D;AAY/D,SAAgB,kBAAkB,CAAC,EAAU;IAC3C,MAAM,MAAM,GAAG,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;IAChC,IAAI,MAAM,KAAK,SAAS;QAAE,OAAO,SAAS,CAAC;IAC3C,IAAI,MAAM,KAAK,KAAK;QAAE,OAAO,KAAK,CAAC;IACnC,IAAI,MAAM,KAAK,OAAO,IAAI,MAAM,KAAK,SAAS;QAAE,OAAO,OAAO,CAAC;IAC/D,MAAM,IAAI,KAAK,CACb,wCAAwC,EAAE,iEAAiE,CAC5G,CAAC;AACJ,CAAC;AAED;;GAEG;AACH,SAAgB,gBAAgB,CAAC,EAAU;IACzC,OAAO,IAAA,+BAAe,EAAC,EAAE,CAAC,CAAC;AAC7B,CAAC;AAED;;GAEG;AACH,SAAgB,kBAAkB,CAChC,UAAkB,EAClB,OAAe,EACf,OAAkB,EAAE;IAEpB,OAAO,IAAA,2BAAW,EAAC,UAAU,EAAE,OAAO,EAAE,IAAI,CAAC,CAAC;AAChD,CAAC;AAED;;GAEG;AACI,KAAK,UAAU,iBAAiB,CAAC,GAAW,EAAE,EAAU;IAC7D,MAAM,IAAI,GAAG,kBAAkB,CAAC,EAAE,CAAC,CAAC;IAEpC,IAAI,IAAI,KAAK,SAAS,EAAE,CAAC;QACvB,MAAM,QAAQ,GAAG,MAAM,GAAG,CAAC,gBAAgB,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QACpD,MAAM,MAAM,GAAG,QAAQ,CAAC,MAAM,CAAC,MAAM,CAAC;QACtC,MAAM,KAAK,GAAG,QAAQ,CAAC,MAAM,CAAC,KAAK,CAAC;QACpC,IAAI,CAAC,MAAM,EAAE,CAAC;YACZ,MAAM,IAAI,KAAK,CAAC,oBAAoB,EAAE,wCAAwC,CAAC,CAAC;QAClF,CAAC;QACD,MAAM,MAAM,GAAG,MAAM,IAAA,0BAAoB,EAAC;YACxC,MAAM;YACN,MAAM,EAAE,QAAQ,CAAC,MAAM,CAAC,eAAe;YACvC,KAAK;SACN,CAAC,CAAC;QACH,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,UAAU,EAAE,GAAG,EAAE,CAAC,MAAM,CAAC,UAAU,EAAE,EAAE,SAAS,EAAE,KAAK,EAAE,CAAC;IACnF,CAAC;IAED,IAAI,IAAI,KAAK,KAAK,EAAE,CAAC;QACnB,MAAM,QAAQ,GAAG,MAAM,GAAG,CAAC,YAAY,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QAChD,MAAM,MAAM,GAAG,QAAQ,CAAC,MAAM,CAAC,MAAM,CAAC;QACtC,MAAM,KAAK,GAAG,QAAQ,CAAC,MAAM,CAAC,KAAK,CAAC;QACpC,IAAI,CAAC,MAAM,EAAE,CAAC;YACZ,MAAM,IAAI,KAAK,CAAC,gBAAgB,EAAE,wCAAwC,CAAC,CAAC;QAC9E,CAAC;QACD,MAAM,MAAM,GAAG,MAAM,SAAG,CAAC,oBAAoB,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,CAAC;QACjE,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,UAAU,EAAE,GAAG,EAAE,CAAC,MAAM,CAAC,UAAU,EAAE,EAAE,SAAS,EAAE,KAAK,EAAE,CAAC;IACnF,CAAC;IAED,MAAM,IAAI,KAAK,CAAC,2CAA2C,IAAI,wCAAwC,CAAC,CAAC;AAC3G,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@limrun/cli",
3
- "version": "0.2.1",
3
+ "version": "0.2.3",
4
4
  "description": "The official CLI for Limrun — create and control cloud mobile sandboxes",
5
5
  "bin": {
6
6
  "lim": "./bin/run.js"
@@ -1,15 +0,0 @@
1
- import { BaseCommand } from '../../base-command';
2
- export default class ConnectAndroid extends BaseCommand {
3
- static summary: string;
4
- static examples: string[];
5
- static args: {
6
- id: import("@oclif/core/lib/interfaces").Arg<string, Record<string, unknown>>;
7
- };
8
- static flags: {
9
- 'adb-path': import("@oclif/core/lib/interfaces").OptionFlag<string, import("@oclif/core/lib/interfaces").CustomOptions>;
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=android.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"android.d.ts","sourceRoot":"","sources":["../../../src/commands/connect/android.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,QAAQ,WAA8C;IAE7D,MAAM,CAAC,IAAI;;MAET;IAEF,MAAM,CAAC,KAAK;;;;MAGV;IAEI,GAAG,IAAI,OAAO,CAAC,IAAI,CAAC;CAmC3B"}
@@ -1,80 +0,0 @@
1
- "use strict";
2
- var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
- if (k2 === undefined) k2 = k;
4
- var desc = Object.getOwnPropertyDescriptor(m, k);
5
- if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
- desc = { enumerable: true, get: function() { return m[k]; } };
7
- }
8
- Object.defineProperty(o, k2, desc);
9
- }) : (function(o, m, k, k2) {
10
- if (k2 === undefined) k2 = k;
11
- o[k2] = m[k];
12
- }));
13
- var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
- Object.defineProperty(o, "default", { enumerable: true, value: v });
15
- }) : function(o, v) {
16
- o["default"] = v;
17
- });
18
- var __importStar = (this && this.__importStar) || (function () {
19
- var ownKeys = function(o) {
20
- ownKeys = Object.getOwnPropertyNames || function (o) {
21
- var ar = [];
22
- for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
23
- return ar;
24
- };
25
- return ownKeys(o);
26
- };
27
- return function (mod) {
28
- if (mod && mod.__esModule) return mod;
29
- var result = {};
30
- if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
31
- __setModuleDefault(result, mod);
32
- return result;
33
- };
34
- })();
35
- Object.defineProperty(exports, "__esModule", { value: true });
36
- const core_1 = require("@oclif/core");
37
- const base_command_1 = require("../../base-command");
38
- class ConnectAndroid extends base_command_1.BaseCommand {
39
- async run() {
40
- const { args, flags } = await this.parse(ConnectAndroid);
41
- this.setParsedFlags(flags);
42
- await this.withAuth(async () => {
43
- const instance = await this.client.androidInstances.get(args.id);
44
- if (!instance.status.apiUrl) {
45
- this.error(`Instance ${args.id} does not have an apiUrl. Is it ready?`);
46
- }
47
- const { createInstanceClient } = await Promise.resolve().then(() => __importStar(require('@limrun/api')));
48
- const instanceClient = await createInstanceClient({
49
- apiUrl: instance.status.apiUrl,
50
- adbUrl: instance.status.adbWebSocketUrl,
51
- token: instance.status.token,
52
- });
53
- const tunnel = await instanceClient.startAdbTunnel();
54
- this.log('Tunnel started. Press Ctrl+C to stop.');
55
- await new Promise((resolve) => {
56
- const keepAlive = setInterval(() => { }, 1 << 30);
57
- const shutdown = () => {
58
- clearInterval(keepAlive);
59
- this.log('Stopping tunnel...');
60
- resolve();
61
- };
62
- process.on('SIGINT', shutdown);
63
- process.on('SIGTERM', shutdown);
64
- });
65
- tunnel.close();
66
- instanceClient.disconnect();
67
- });
68
- }
69
- }
70
- ConnectAndroid.summary = 'Connect to an existing Android instance via ADB tunnel';
71
- ConnectAndroid.examples = ['<%= config.bin %> connect android <ID>'];
72
- ConnectAndroid.args = {
73
- id: core_1.Args.string({ description: 'Android instance ID', required: true }),
74
- };
75
- ConnectAndroid.flags = {
76
- ...base_command_1.BaseCommand.baseFlags,
77
- 'adb-path': core_1.Flags.string({ description: 'Path to adb binary', default: 'adb' }),
78
- };
79
- exports.default = ConnectAndroid;
80
- //# sourceMappingURL=android.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"android.js","sourceRoot":"","sources":["../../../src/commands/connect/android.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,sCAA0C;AAC1C,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,QAAQ,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,gBAAgB,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YACjE,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC;gBAC5B,IAAI,CAAC,KAAK,CAAC,YAAY,IAAI,CAAC,EAAE,wCAAwC,CAAC,CAAC;YAC1E,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;;AA9CM,sBAAO,GAAG,wDAAwD,CAAC;AACnE,uBAAQ,GAAG,CAAC,wCAAwC,CAAC,CAAC;AAEtD,mBAAI,GAAG;IACZ,EAAE,EAAE,WAAI,CAAC,MAAM,CAAC,EAAE,WAAW,EAAE,qBAAqB,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;CACxE,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;kBAXiB,cAAc"}
@@ -1,14 +0,0 @@
1
- import { BaseCommand } from '../../base-command';
2
- export default class DeleteAndroid extends BaseCommand {
3
- static summary: string;
4
- static examples: string[];
5
- static args: {
6
- id: import("@oclif/core/lib/interfaces").Arg<string, Record<string, unknown>>;
7
- };
8
- static flags: {
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
- };
12
- run(): Promise<void>;
13
- }
14
- //# sourceMappingURL=android.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"android.d.ts","sourceRoot":"","sources":["../../../src/commands/delete/android.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,QAAQ,WAA6C;IAE5D,MAAM,CAAC,IAAI;;MAET;IAEF,MAAM,CAAC,KAAK;;;MAAgC;IAEtC,GAAG,IAAI,OAAO,CAAC,IAAI,CAAC;CAS3B"}
@@ -1,22 +0,0 @@
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 DeleteAndroid extends base_command_1.BaseCommand {
6
- async run() {
7
- const { args, flags } = await this.parse(DeleteAndroid);
8
- this.setParsedFlags(flags);
9
- await this.withAuth(async () => {
10
- await this.client.androidInstances.delete(args.id);
11
- this.log(`Deleted Android instance: ${args.id}`);
12
- });
13
- }
14
- }
15
- DeleteAndroid.summary = 'Delete an Android instance';
16
- DeleteAndroid.examples = ['<%= config.bin %> delete android <ID>'];
17
- DeleteAndroid.args = {
18
- id: core_1.Args.string({ description: 'Instance ID to delete', required: true }),
19
- };
20
- DeleteAndroid.flags = { ...base_command_1.BaseCommand.baseFlags };
21
- exports.default = DeleteAndroid;
22
- //# sourceMappingURL=android.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"android.js","sourceRoot":"","sources":["../../../src/commands/delete/android.ts"],"names":[],"mappings":";;AAAA,sCAAmC;AACnC,qDAAiD;AAEjD,MAAqB,aAAc,SAAQ,0BAAW;IAUpD,KAAK,CAAC,GAAG;QACP,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC;QACxD,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC;QAE3B,MAAM,IAAI,CAAC,QAAQ,CAAC,KAAK,IAAI,EAAE;YAC7B,MAAM,IAAI,CAAC,MAAM,CAAC,gBAAgB,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YACnD,IAAI,CAAC,GAAG,CAAC,6BAA6B,IAAI,CAAC,EAAE,EAAE,CAAC,CAAC;QACnD,CAAC,CAAC,CAAC;IACL,CAAC;;AAjBM,qBAAO,GAAG,4BAA4B,CAAC;AACvC,sBAAQ,GAAG,CAAC,uCAAuC,CAAC,CAAC;AAErD,kBAAI,GAAG;IACZ,EAAE,EAAE,WAAI,CAAC,MAAM,CAAC,EAAE,WAAW,EAAE,uBAAuB,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;CAC1E,CAAC;AAEK,mBAAK,GAAG,EAAE,GAAG,0BAAW,CAAC,SAAS,EAAE,CAAC;kBARzB,aAAa"}
@@ -1,14 +0,0 @@
1
- import { BaseCommand } from '../../base-command';
2
- export default class DeleteAsset extends BaseCommand {
3
- static summary: string;
4
- static examples: string[];
5
- static args: {
6
- id: import("@oclif/core/lib/interfaces").Arg<string, Record<string, unknown>>;
7
- };
8
- static flags: {
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
- };
12
- run(): Promise<void>;
13
- }
14
- //# sourceMappingURL=asset.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"asset.d.ts","sourceRoot":"","sources":["../../../src/commands/delete/asset.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AAEjD,MAAM,CAAC,OAAO,OAAO,WAAY,SAAQ,WAAW;IAClD,MAAM,CAAC,OAAO,SAAqB;IACnC,MAAM,CAAC,QAAQ,WAA2C;IAE1D,MAAM,CAAC,IAAI;;MAET;IAEF,MAAM,CAAC,KAAK;;;MAAgC;IAEtC,GAAG,IAAI,OAAO,CAAC,IAAI,CAAC;CAS3B"}
@@ -1,22 +0,0 @@
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 DeleteAsset extends base_command_1.BaseCommand {
6
- async run() {
7
- const { args, flags } = await this.parse(DeleteAsset);
8
- this.setParsedFlags(flags);
9
- await this.withAuth(async () => {
10
- await this.client.assets.delete(args.id);
11
- this.log(`Deleted asset: ${args.id}`);
12
- });
13
- }
14
- }
15
- DeleteAsset.summary = 'Delete an asset';
16
- DeleteAsset.examples = ['<%= config.bin %> delete asset <ID>'];
17
- DeleteAsset.args = {
18
- id: core_1.Args.string({ description: 'Asset ID to delete', required: true }),
19
- };
20
- DeleteAsset.flags = { ...base_command_1.BaseCommand.baseFlags };
21
- exports.default = DeleteAsset;
22
- //# sourceMappingURL=asset.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"asset.js","sourceRoot":"","sources":["../../../src/commands/delete/asset.ts"],"names":[],"mappings":";;AAAA,sCAAmC;AACnC,qDAAiD;AAEjD,MAAqB,WAAY,SAAQ,0BAAW;IAUlD,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,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YACzC,IAAI,CAAC,GAAG,CAAC,kBAAkB,IAAI,CAAC,EAAE,EAAE,CAAC,CAAC;QACxC,CAAC,CAAC,CAAC;IACL,CAAC;;AAjBM,mBAAO,GAAG,iBAAiB,CAAC;AAC5B,oBAAQ,GAAG,CAAC,qCAAqC,CAAC,CAAC;AAEnD,gBAAI,GAAG;IACZ,EAAE,EAAE,WAAI,CAAC,MAAM,CAAC,EAAE,WAAW,EAAE,oBAAoB,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;CACvE,CAAC;AAEK,iBAAK,GAAG,EAAE,GAAG,0BAAW,CAAC,SAAS,EAAE,CAAC;kBARzB,WAAW"}
@@ -1,14 +0,0 @@
1
- import { BaseCommand } from '../../base-command';
2
- export default class DeleteIos extends BaseCommand {
3
- static summary: string;
4
- static examples: string[];
5
- static args: {
6
- id: import("@oclif/core/lib/interfaces").Arg<string, Record<string, unknown>>;
7
- };
8
- static flags: {
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
- };
12
- run(): Promise<void>;
13
- }
14
- //# sourceMappingURL=ios.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"ios.d.ts","sourceRoot":"","sources":["../../../src/commands/delete/ios.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AAGjD,MAAM,CAAC,OAAO,OAAO,SAAU,SAAQ,WAAW;IAChD,MAAM,CAAC,OAAO,SAA4B;IAC1C,MAAM,CAAC,QAAQ,WAAyC;IAExD,MAAM,CAAC,IAAI;;MAET;IAEF,MAAM,CAAC,KAAK;;;MAAgC;IAEtC,GAAG,IAAI,OAAO,CAAC,IAAI,CAAC;CAU3B"}
@@ -1,24 +0,0 @@
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 config_1 = require("../../lib/config");
6
- class DeleteIos extends base_command_1.BaseCommand {
7
- async run() {
8
- const { args, flags } = await this.parse(DeleteIos);
9
- this.setParsedFlags(flags);
10
- await this.withAuth(async () => {
11
- await this.client.iosInstances.delete(args.id);
12
- (0, config_1.clearInstanceCache)(args.id);
13
- this.log(`Deleted iOS instance: ${args.id}`);
14
- });
15
- }
16
- }
17
- DeleteIos.summary = 'Delete an iOS instance';
18
- DeleteIos.examples = ['<%= config.bin %> delete ios <ID>'];
19
- DeleteIos.args = {
20
- id: core_1.Args.string({ description: 'Instance ID to delete', required: true }),
21
- };
22
- DeleteIos.flags = { ...base_command_1.BaseCommand.baseFlags };
23
- exports.default = DeleteIos;
24
- //# sourceMappingURL=ios.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"ios.js","sourceRoot":"","sources":["../../../src/commands/delete/ios.ts"],"names":[],"mappings":";;AAAA,sCAAmC;AACnC,qDAAiD;AACjD,6CAAsD;AAEtD,MAAqB,SAAU,SAAQ,0BAAW;IAUhD,KAAK,CAAC,GAAG;QACP,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;QACpD,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC;QAE3B,MAAM,IAAI,CAAC,QAAQ,CAAC,KAAK,IAAI,EAAE;YAC7B,MAAM,IAAI,CAAC,MAAM,CAAC,YAAY,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YAC/C,IAAA,2BAAkB,EAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YAC5B,IAAI,CAAC,GAAG,CAAC,yBAAyB,IAAI,CAAC,EAAE,EAAE,CAAC,CAAC;QAC/C,CAAC,CAAC,CAAC;IACL,CAAC;;AAlBM,iBAAO,GAAG,wBAAwB,CAAC;AACnC,kBAAQ,GAAG,CAAC,mCAAmC,CAAC,CAAC;AAEjD,cAAI,GAAG;IACZ,EAAE,EAAE,WAAI,CAAC,MAAM,CAAC,EAAE,WAAW,EAAE,uBAAuB,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;CAC1E,CAAC;AAEK,eAAK,GAAG,EAAE,GAAG,0BAAW,CAAC,SAAS,EAAE,CAAC;kBARzB,SAAS"}
@@ -1,14 +0,0 @@
1
- import { BaseCommand } from '../../base-command';
2
- export default class DeleteXcode extends BaseCommand {
3
- static summary: string;
4
- static examples: string[];
5
- static args: {
6
- id: import("@oclif/core/lib/interfaces").Arg<string, Record<string, unknown>>;
7
- };
8
- static flags: {
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
- };
12
- run(): Promise<void>;
13
- }
14
- //# sourceMappingURL=xcode.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"xcode.d.ts","sourceRoot":"","sources":["../../../src/commands/delete/xcode.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AAEjD,MAAM,CAAC,OAAO,OAAO,WAAY,SAAQ,WAAW;IAClD,MAAM,CAAC,OAAO,SAA6B;IAC3C,MAAM,CAAC,QAAQ,WAA2C;IAE1D,MAAM,CAAC,IAAI;;MAET;IAEF,MAAM,CAAC,KAAK;;;MAAgC;IAEtC,GAAG,IAAI,OAAO,CAAC,IAAI,CAAC;CAS3B"}
@@ -1,22 +0,0 @@
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 DeleteXcode extends base_command_1.BaseCommand {
6
- async run() {
7
- const { args, flags } = await this.parse(DeleteXcode);
8
- this.setParsedFlags(flags);
9
- await this.withAuth(async () => {
10
- await this.client.xcodeInstances.delete(args.id);
11
- this.log(`Deleted Xcode instance: ${args.id}`);
12
- });
13
- }
14
- }
15
- DeleteXcode.summary = 'Delete a Xcode instance';
16
- DeleteXcode.examples = ['<%= config.bin %> delete xcode <ID>'];
17
- DeleteXcode.args = {
18
- id: core_1.Args.string({ description: 'Instance ID to delete', required: true }),
19
- };
20
- DeleteXcode.flags = { ...base_command_1.BaseCommand.baseFlags };
21
- exports.default = DeleteXcode;
22
- //# sourceMappingURL=xcode.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"xcode.js","sourceRoot":"","sources":["../../../src/commands/delete/xcode.ts"],"names":[],"mappings":";;AAAA,sCAAmC;AACnC,qDAAiD;AAEjD,MAAqB,WAAY,SAAQ,0BAAW;IAUlD,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,IAAI,CAAC,MAAM,CAAC,cAAc,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YACjD,IAAI,CAAC,GAAG,CAAC,2BAA2B,IAAI,CAAC,EAAE,EAAE,CAAC,CAAC;QACjD,CAAC,CAAC,CAAC;IACL,CAAC;;AAjBM,mBAAO,GAAG,yBAAyB,CAAC;AACpC,oBAAQ,GAAG,CAAC,qCAAqC,CAAC,CAAC;AAEnD,gBAAI,GAAG;IACZ,EAAE,EAAE,WAAI,CAAC,MAAM,CAAC,EAAE,WAAW,EAAE,uBAAuB,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;CAC1E,CAAC;AAEK,iBAAK,GAAG,EAAE,GAAG,0BAAW,CAAC,SAAS,EAAE,CAAC;kBARzB,WAAW"}
@@ -1,16 +0,0 @@
1
- import { BaseCommand } from '../../base-command';
2
- export default class ExecLaunchApp extends BaseCommand {
3
- static summary: string;
4
- static examples: string[];
5
- static args: {
6
- id: import("@oclif/core/lib/interfaces").Arg<string, Record<string, unknown>>;
7
- bundleId: import("@oclif/core/lib/interfaces").Arg<string, Record<string, unknown>>;
8
- };
9
- static flags: {
10
- mode: import("@oclif/core/lib/interfaces").OptionFlag<string, import("@oclif/core/lib/interfaces").CustomOptions>;
11
- 'api-key': import("@oclif/core/lib/interfaces").OptionFlag<string | undefined, import("@oclif/core/lib/interfaces").CustomOptions>;
12
- json: import("@oclif/core/lib/interfaces").BooleanFlag<boolean>;
13
- };
14
- run(): Promise<void>;
15
- }
16
- //# sourceMappingURL=launch-app.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"launch-app.d.ts","sourceRoot":"","sources":["../../../src/commands/exec/launch-app.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AAGjD,MAAM,CAAC,OAAO,OAAO,aAAc,SAAQ,WAAW;IACpD,MAAM,CAAC,OAAO,SAA6C;IAC3D,MAAM,CAAC,QAAQ,WAGb;IAEF,MAAM,CAAC,IAAI;;;MAGT;IAEF,MAAM,CAAC,KAAK;;;;MAOV;IAEI,GAAG,IAAI,OAAO,CAAC,IAAI,CAAC;CAsB3B"}
@@ -1,49 +0,0 @@
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 instance_client_factory_1 = require("../../lib/instance-client-factory");
6
- class ExecLaunchApp extends base_command_1.BaseCommand {
7
- async run() {
8
- const { args, flags } = await this.parse(ExecLaunchApp);
9
- this.setParsedFlags(flags);
10
- await this.withAuth(async () => {
11
- if ((0, instance_client_factory_1.hasActiveSession)(args.id)) {
12
- await (0, instance_client_factory_1.sendSessionCommand)(args.id, 'launch-app', [args.bundleId, flags.mode]);
13
- }
14
- else {
15
- const { type, client, disconnect } = await (0, instance_client_factory_1.getInstanceClient)(this.client, args.id);
16
- if (type !== 'ios') {
17
- disconnect();
18
- this.error('launch-app is only supported on iOS instances');
19
- }
20
- try {
21
- await client.launchApp(args.bundleId, flags.mode);
22
- }
23
- finally {
24
- disconnect();
25
- }
26
- }
27
- this.log(`Launched ${args.bundleId}`);
28
- });
29
- }
30
- }
31
- ExecLaunchApp.summary = 'Launch an app on a running iOS instance';
32
- ExecLaunchApp.examples = [
33
- '<%= config.bin %> exec launch-app <instance-ID> com.example.app',
34
- '<%= config.bin %> exec launch-app <instance-ID> com.example.app --mode RelaunchIfRunning',
35
- ];
36
- ExecLaunchApp.args = {
37
- id: core_1.Args.string({ description: 'Instance ID', required: true }),
38
- bundleId: core_1.Args.string({ description: 'App bundle identifier', required: true }),
39
- };
40
- ExecLaunchApp.flags = {
41
- ...base_command_1.BaseCommand.baseFlags,
42
- mode: core_1.Flags.string({
43
- description: 'Launch mode',
44
- options: ['ForegroundIfRunning', 'RelaunchIfRunning'],
45
- default: 'ForegroundIfRunning',
46
- }),
47
- };
48
- exports.default = ExecLaunchApp;
49
- //# sourceMappingURL=launch-app.js.map