@limrun/cli 0.6.0 → 0.6.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -4,7 +4,7 @@ export default class AndroidGet extends BaseCommand {
4
4
  static description: string;
5
5
  static examples: string[];
6
6
  static args: {
7
- id: import("@oclif/core/lib/interfaces").Arg<string, Record<string, unknown>>;
7
+ id: import("@oclif/core/lib/interfaces").Arg<string | undefined, Record<string, unknown>>;
8
8
  };
9
9
  static flags: {
10
10
  'api-key': import("@oclif/core/lib/interfaces").OptionFlag<string | undefined, import("@oclif/core/lib/interfaces").CustomOptions>;
@@ -1 +1 @@
1
- {"version":3,"file":"get.d.ts","sourceRoot":"","sources":["../../../src/commands/android/get.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AAEjD,MAAM,CAAC,OAAO,OAAO,UAAW,SAAQ,WAAW;IACjD,MAAM,CAAC,OAAO,SAAiD;IAC/D,MAAM,CAAC,WAAW,SACmI;IACrJ,MAAM,CAAC,QAAQ,WAAuF;IAEtG,MAAM,CAAC,IAAI;;MAET;IAEF,MAAM,CAAC,KAAK;;;;;MAAgC;IAEtC,GAAG,IAAI,OAAO,CAAC,IAAI,CAAC;CAuB3B"}
1
+ {"version":3,"file":"get.d.ts","sourceRoot":"","sources":["../../../src/commands/android/get.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AAEjD,MAAM,CAAC,OAAO,OAAO,UAAW,SAAQ,WAAW;IACjD,MAAM,CAAC,OAAO,SAAiD;IAC/D,MAAM,CAAC,WAAW,SACmI;IACrJ,MAAM,CAAC,QAAQ,WAAkF;IAEjG,MAAM,CAAC,IAAI;;MAKT;IAEF,MAAM,CAAC,KAAK;;;;;MAAgC;IAEtC,GAAG,IAAI,OAAO,CAAC,IAAI,CAAC;CAsB3B"}
@@ -7,28 +7,36 @@ class AndroidGet extends base_command_1.BaseCommand {
7
7
  const { args, flags } = await this.parse(AndroidGet);
8
8
  this.setParsedFlags(flags);
9
9
  await this.withAuth(async () => {
10
- const instance = await this.client.androidInstances.get(args.id);
10
+ const resolvedInstance = this.resolveAndroidInstance(args.id);
11
+ const instance = await this.client.androidInstances.get(resolvedInstance.id);
11
12
  if (flags.json) {
12
13
  this.outputJson(instance);
13
14
  }
14
15
  else {
15
16
  const signedStreamUrl = this.signedStreamUrl(instance.status);
16
- this.outputTable(['Field', 'Value'], [
17
- ['ID', instance.metadata.id],
18
- ['Name', instance.metadata.displayName || ''],
19
- ['Region', instance.spec.region],
20
- ['State', instance.status.state],
21
- ...(signedStreamUrl ? [['Signed Stream URL', signedStreamUrl]] : []),
22
- ]);
17
+ this.output(`ID: ${instance.metadata.id}`);
18
+ this.output(`Name: ${instance.metadata.displayName || ''}`);
19
+ this.output(`Region: ${instance.spec.region}`);
20
+ this.output(`State: ${instance.status.state}`);
21
+ this.output(`Console URL: ${this.consoleStreamUrl(instance.metadata.id)}`);
22
+ if (instance.status.apiUrl)
23
+ this.output(`API URL: ${instance.status.apiUrl}`);
24
+ if (instance.status.adbWebSocketUrl)
25
+ this.output(`ADB WebSocket URL: ${instance.status.adbWebSocketUrl}`);
26
+ if (signedStreamUrl)
27
+ this.output(`Signed Stream URL: ${signedStreamUrl}`);
23
28
  }
24
29
  });
25
30
  }
26
31
  }
27
32
  AndroidGet.summary = 'Get details for a specific Android instance';
28
33
  AndroidGet.description = 'Fetch detailed metadata for a single Android instance, including region, state, and display name. Use `--json` to inspect the full API response.';
29
- AndroidGet.examples = ['<%= config.bin %> android get <ID>', '<%= config.bin %> android get <ID> --json'];
34
+ AndroidGet.examples = ['<%= config.bin %> android get', '<%= config.bin %> android get <ID> --json'];
30
35
  AndroidGet.args = {
31
- id: core_1.Args.string({ description: 'Android instance ID to fetch', required: true }),
36
+ id: core_1.Args.string({
37
+ description: 'Android instance ID to fetch. Defaults to the last created Android instance.',
38
+ required: false,
39
+ }),
32
40
  };
33
41
  AndroidGet.flags = { ...base_command_1.BaseCommand.baseFlags };
34
42
  exports.default = AndroidGet;
@@ -1 +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;IAYjD,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,MAAM,eAAe,GAAG,IAAI,CAAC,eAAe,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;gBAC9D,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;oBAChC,GAAG,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,CAAC,mBAAmB,EAAE,eAAe,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;iBACrE,CACF,CAAC;YACJ,CAAC;QACH,CAAC,CAAC,CAAC;IACL,CAAC;;AAjCM,kBAAO,GAAG,6CAA6C,CAAC;AACxD,sBAAW,GAChB,kJAAkJ,CAAC;AAC9I,mBAAQ,GAAG,CAAC,oCAAoC,EAAE,2CAA2C,CAAC,CAAC;AAE/F,eAAI,GAAG;IACZ,EAAE,EAAE,WAAI,CAAC,MAAM,CAAC,EAAE,WAAW,EAAE,8BAA8B,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;CACjF,CAAC;AAEK,gBAAK,GAAG,EAAE,GAAG,0BAAW,CAAC,SAAS,EAAE,CAAC;kBAVzB,UAAU"}
1
+ {"version":3,"file":"get.js","sourceRoot":"","sources":["../../../src/commands/android/get.ts"],"names":[],"mappings":";;AAAA,sCAAmC;AACnC,qDAAiD;AAEjD,MAAqB,UAAW,SAAQ,0BAAW;IAejD,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,gBAAgB,GAAG,IAAI,CAAC,sBAAsB,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YAC9D,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,gBAAgB,CAAC,GAAG,CAAC,gBAAgB,CAAC,EAAE,CAAC,CAAC;YAC7E,IAAI,KAAK,CAAC,IAAI,EAAE,CAAC;gBACf,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC;YAC5B,CAAC;iBAAM,CAAC;gBACN,MAAM,eAAe,GAAG,IAAI,CAAC,eAAe,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;gBAC9D,IAAI,CAAC,MAAM,CAAC,OAAO,QAAQ,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC,CAAC;gBAC3C,IAAI,CAAC,MAAM,CAAC,SAAS,QAAQ,CAAC,QAAQ,CAAC,WAAW,IAAI,EAAE,EAAE,CAAC,CAAC;gBAC5D,IAAI,CAAC,MAAM,CAAC,WAAW,QAAQ,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC;gBAC/C,IAAI,CAAC,MAAM,CAAC,UAAU,QAAQ,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC;gBAC/C,IAAI,CAAC,MAAM,CAAC,gBAAgB,IAAI,CAAC,gBAAgB,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;gBAC3E,IAAI,QAAQ,CAAC,MAAM,CAAC,MAAM;oBAAE,IAAI,CAAC,MAAM,CAAC,YAAY,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC;gBAC9E,IAAI,QAAQ,CAAC,MAAM,CAAC,eAAe;oBAAE,IAAI,CAAC,MAAM,CAAC,sBAAsB,QAAQ,CAAC,MAAM,CAAC,eAAe,EAAE,CAAC,CAAC;gBAC1G,IAAI,eAAe;oBAAE,IAAI,CAAC,MAAM,CAAC,sBAAsB,eAAe,EAAE,CAAC,CAAC;YAC5E,CAAC;QACH,CAAC,CAAC,CAAC;IACL,CAAC;;AAnCM,kBAAO,GAAG,6CAA6C,CAAC;AACxD,sBAAW,GAChB,kJAAkJ,CAAC;AAC9I,mBAAQ,GAAG,CAAC,+BAA+B,EAAE,2CAA2C,CAAC,CAAC;AAE1F,eAAI,GAAG;IACZ,EAAE,EAAE,WAAI,CAAC,MAAM,CAAC;QACd,WAAW,EAAE,8EAA8E;QAC3F,QAAQ,EAAE,KAAK;KAChB,CAAC;CACH,CAAC;AAEK,gBAAK,GAAG,EAAE,GAAG,0BAAW,CAAC,SAAS,EAAE,CAAC;kBAbzB,UAAU"}
@@ -4,7 +4,7 @@ export default class IosGet extends BaseCommand {
4
4
  static description: string;
5
5
  static examples: string[];
6
6
  static args: {
7
- id: import("@oclif/core/lib/interfaces").Arg<string, Record<string, unknown>>;
7
+ id: import("@oclif/core/lib/interfaces").Arg<string | undefined, Record<string, unknown>>;
8
8
  };
9
9
  static flags: {
10
10
  'api-key': import("@oclif/core/lib/interfaces").OptionFlag<string | undefined, import("@oclif/core/lib/interfaces").CustomOptions>;
@@ -1 +1 @@
1
- {"version":3,"file":"get.d.ts","sourceRoot":"","sources":["../../../src/commands/ios/get.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AAEjD,MAAM,CAAC,OAAO,OAAO,MAAO,SAAQ,WAAW;IAC7C,MAAM,CAAC,OAAO,SAA6C;IAC3D,MAAM,CAAC,WAAW,SAC+H;IACjJ,MAAM,CAAC,QAAQ,WAA+E;IAE9F,MAAM,CAAC,IAAI;;MAET;IAEF,MAAM,CAAC,KAAK;;;;;MAAgC;IAEtC,GAAG,IAAI,OAAO,CAAC,IAAI,CAAC;CAuB3B"}
1
+ {"version":3,"file":"get.d.ts","sourceRoot":"","sources":["../../../src/commands/ios/get.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AAEjD,MAAM,CAAC,OAAO,OAAO,MAAO,SAAQ,WAAW;IAC7C,MAAM,CAAC,OAAO,SAA6C;IAC3D,MAAM,CAAC,WAAW,SAC+H;IACjJ,MAAM,CAAC,QAAQ,WAA0E;IAEzF,MAAM,CAAC,IAAI;;MAKT;IAEF,MAAM,CAAC,KAAK;;;;;MAAgC;IAEtC,GAAG,IAAI,OAAO,CAAC,IAAI,CAAC;CAwB3B"}
@@ -7,28 +7,37 @@ class IosGet extends base_command_1.BaseCommand {
7
7
  const { args, flags } = await this.parse(IosGet);
8
8
  this.setParsedFlags(flags);
9
9
  await this.withAuth(async () => {
10
- const instance = await this.client.iosInstances.get(args.id);
10
+ const resolvedInstance = this.resolveIosInstance(args.id);
11
+ const instance = await this.client.iosInstances.get(resolvedInstance.id);
11
12
  if (flags.json) {
12
13
  this.outputJson(instance);
13
14
  }
14
15
  else {
15
16
  const signedStreamUrl = this.signedStreamUrl(instance.status);
16
- this.outputTable(['Field', 'Value'], [
17
- ['ID', instance.metadata.id],
18
- ['Name', instance.metadata.displayName || ''],
19
- ['Region', instance.spec.region],
20
- ['State', instance.status.state],
21
- ...(signedStreamUrl ? [['Signed Stream URL', signedStreamUrl]] : []),
22
- ]);
17
+ this.output(`ID: ${instance.metadata.id}`);
18
+ this.output(`Name: ${instance.metadata.displayName || ''}`);
19
+ this.output(`Region: ${instance.spec.region}`);
20
+ this.output(`State: ${instance.status.state}`);
21
+ this.output(`Console URL: ${this.consoleStreamUrl(instance.metadata.id)}`);
22
+ if (instance.status.apiUrl)
23
+ this.output(`API URL: ${instance.status.apiUrl}`);
24
+ if (instance.status.sandbox?.xcode?.url) {
25
+ this.output(`Xcode Sandbox URL: ${instance.status.sandbox.xcode.url}`);
26
+ }
27
+ if (signedStreamUrl)
28
+ this.output(`Signed Stream URL: ${signedStreamUrl}`);
23
29
  }
24
30
  });
25
31
  }
26
32
  }
27
33
  IosGet.summary = 'Get details for a specific iOS instance';
28
34
  IosGet.description = 'Fetch detailed metadata for a single iOS instance, including region, state, and display name. Use `--json` to inspect the full API response.';
29
- IosGet.examples = ['<%= config.bin %> ios get <ID>', '<%= config.bin %> ios get <ID> --json'];
35
+ IosGet.examples = ['<%= config.bin %> ios get', '<%= config.bin %> ios get <ID> --json'];
30
36
  IosGet.args = {
31
- id: core_1.Args.string({ description: 'iOS instance ID to fetch', required: true }),
37
+ id: core_1.Args.string({
38
+ description: 'iOS instance ID to fetch. Defaults to the last created iOS instance.',
39
+ required: false,
40
+ }),
32
41
  };
33
42
  IosGet.flags = { ...base_command_1.BaseCommand.baseFlags };
34
43
  exports.default = IosGet;
@@ -1 +1 @@
1
- {"version":3,"file":"get.js","sourceRoot":"","sources":["../../../src/commands/ios/get.ts"],"names":[],"mappings":";;AAAA,sCAAmC;AACnC,qDAAiD;AAEjD,MAAqB,MAAO,SAAQ,0BAAW;IAY7C,KAAK,CAAC,GAAG;QACP,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;QACjD,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,YAAY,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YAC7D,IAAI,KAAK,CAAC,IAAI,EAAE,CAAC;gBACf,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC;YAC5B,CAAC;iBAAM,CAAC;gBACN,MAAM,eAAe,GAAG,IAAI,CAAC,eAAe,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;gBAC9D,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;oBAChC,GAAG,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,CAAC,mBAAmB,EAAE,eAAe,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;iBACrE,CACF,CAAC;YACJ,CAAC;QACH,CAAC,CAAC,CAAC;IACL,CAAC;;AAjCM,cAAO,GAAG,yCAAyC,CAAC;AACpD,kBAAW,GAChB,8IAA8I,CAAC;AAC1I,eAAQ,GAAG,CAAC,gCAAgC,EAAE,uCAAuC,CAAC,CAAC;AAEvF,WAAI,GAAG;IACZ,EAAE,EAAE,WAAI,CAAC,MAAM,CAAC,EAAE,WAAW,EAAE,0BAA0B,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;CAC7E,CAAC;AAEK,YAAK,GAAG,EAAE,GAAG,0BAAW,CAAC,SAAS,EAAE,CAAC;kBAVzB,MAAM"}
1
+ {"version":3,"file":"get.js","sourceRoot":"","sources":["../../../src/commands/ios/get.ts"],"names":[],"mappings":";;AAAA,sCAAmC;AACnC,qDAAiD;AAEjD,MAAqB,MAAO,SAAQ,0BAAW;IAe7C,KAAK,CAAC,GAAG;QACP,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;QACjD,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC;QAE3B,MAAM,IAAI,CAAC,QAAQ,CAAC,KAAK,IAAI,EAAE;YAC7B,MAAM,gBAAgB,GAAG,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YAC1D,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,YAAY,CAAC,GAAG,CAAC,gBAAgB,CAAC,EAAE,CAAC,CAAC;YACzE,IAAI,KAAK,CAAC,IAAI,EAAE,CAAC;gBACf,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC;YAC5B,CAAC;iBAAM,CAAC;gBACN,MAAM,eAAe,GAAG,IAAI,CAAC,eAAe,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;gBAC9D,IAAI,CAAC,MAAM,CAAC,OAAO,QAAQ,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC,CAAC;gBAC3C,IAAI,CAAC,MAAM,CAAC,SAAS,QAAQ,CAAC,QAAQ,CAAC,WAAW,IAAI,EAAE,EAAE,CAAC,CAAC;gBAC5D,IAAI,CAAC,MAAM,CAAC,WAAW,QAAQ,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC;gBAC/C,IAAI,CAAC,MAAM,CAAC,UAAU,QAAQ,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC;gBAC/C,IAAI,CAAC,MAAM,CAAC,gBAAgB,IAAI,CAAC,gBAAgB,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;gBAC3E,IAAI,QAAQ,CAAC,MAAM,CAAC,MAAM;oBAAE,IAAI,CAAC,MAAM,CAAC,YAAY,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC;gBAC9E,IAAI,QAAQ,CAAC,MAAM,CAAC,OAAO,EAAE,KAAK,EAAE,GAAG,EAAE,CAAC;oBACxC,IAAI,CAAC,MAAM,CAAC,sBAAsB,QAAQ,CAAC,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,CAAC;gBACzE,CAAC;gBACD,IAAI,eAAe;oBAAE,IAAI,CAAC,MAAM,CAAC,sBAAsB,eAAe,EAAE,CAAC,CAAC;YAC5E,CAAC;QACH,CAAC,CAAC,CAAC;IACL,CAAC;;AArCM,cAAO,GAAG,yCAAyC,CAAC;AACpD,kBAAW,GAChB,8IAA8I,CAAC;AAC1I,eAAQ,GAAG,CAAC,2BAA2B,EAAE,uCAAuC,CAAC,CAAC;AAElF,WAAI,GAAG;IACZ,EAAE,EAAE,WAAI,CAAC,MAAM,CAAC;QACd,WAAW,EAAE,sEAAsE;QACnF,QAAQ,EAAE,KAAK;KAChB,CAAC;CACH,CAAC;AAEK,YAAK,GAAG,EAAE,GAAG,0BAAW,CAAC,SAAS,EAAE,CAAC;kBAbzB,MAAM"}
@@ -4,7 +4,7 @@ export default class XcodeGet extends BaseCommand {
4
4
  static description: string;
5
5
  static examples: string[];
6
6
  static args: {
7
- id: import("@oclif/core/lib/interfaces").Arg<string, Record<string, unknown>>;
7
+ id: import("@oclif/core/lib/interfaces").Arg<string | undefined, Record<string, unknown>>;
8
8
  };
9
9
  static flags: {
10
10
  'api-key': import("@oclif/core/lib/interfaces").OptionFlag<string | undefined, import("@oclif/core/lib/interfaces").CustomOptions>;
@@ -1 +1 @@
1
- {"version":3,"file":"get.d.ts","sourceRoot":"","sources":["../../../src/commands/xcode/get.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AAEjD,MAAM,CAAC,OAAO,OAAO,QAAS,SAAQ,WAAW;IAC/C,MAAM,CAAC,OAAO,SAA+C;IAC7D,MAAM,CAAC,WAAW,SACyI;IAC3J,MAAM,CAAC,QAAQ,WAAmF;IAElG,MAAM,CAAC,IAAI;;MAET;IAEF,MAAM,CAAC,KAAK;;;;;MAAgC;IAEtC,GAAG,IAAI,OAAO,CAAC,IAAI,CAAC;CAyB3B"}
1
+ {"version":3,"file":"get.d.ts","sourceRoot":"","sources":["../../../src/commands/xcode/get.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AAEjD,MAAM,CAAC,OAAO,OAAO,QAAS,SAAQ,WAAW;IAC/C,MAAM,CAAC,OAAO,SAA+C;IAC7D,MAAM,CAAC,WAAW,SACyI;IAC3J,MAAM,CAAC,QAAQ,WAA8E;IAE7F,MAAM,CAAC,IAAI;;MAKT;IAEF,MAAM,CAAC,KAAK;;;;;MAAgC;IAEtC,GAAG,IAAI,OAAO,CAAC,IAAI,CAAC;CAuC3B"}
@@ -7,28 +7,52 @@ class XcodeGet extends base_command_1.BaseCommand {
7
7
  const { args, flags } = await this.parse(XcodeGet);
8
8
  this.setParsedFlags(flags);
9
9
  await this.withAuth(async () => {
10
- const instance = await this.client.xcodeInstances.get(args.id);
10
+ const target = await this.resolveXcodeTarget(args.id);
11
+ if (target.type === 'ios') {
12
+ const instance = await this.client.iosInstances.get(target.id);
13
+ if (flags.json) {
14
+ this.outputJson(instance);
15
+ }
16
+ else {
17
+ const signedStreamUrl = this.signedStreamUrl(instance.status);
18
+ this.output(`ID: ${instance.metadata.id}`);
19
+ this.output(`Type: iOS with Xcode sandbox`);
20
+ this.output(`Name: ${instance.metadata.displayName || ''}`);
21
+ this.output(`Region: ${instance.spec.region}`);
22
+ this.output(`State: ${instance.status.state}`);
23
+ this.output(`Console URL: ${this.consoleStreamUrl(instance.metadata.id)}`);
24
+ if (instance.status.sandbox?.xcode?.url) {
25
+ this.output(`Xcode Sandbox URL: ${instance.status.sandbox.xcode.url}`);
26
+ }
27
+ if (signedStreamUrl)
28
+ this.output(`Signed Stream URL: ${signedStreamUrl}`);
29
+ }
30
+ return;
31
+ }
11
32
  if (flags.json) {
12
- this.outputJson(instance);
33
+ this.outputJson(target);
13
34
  }
14
35
  else {
15
- const signedStreamUrl = this.signedStreamUrl(instance.status);
16
- this.outputTable(['Field', 'Value'], [
17
- ['ID', instance.metadata.id],
18
- ['Name', instance.metadata.displayName || ''],
19
- ['Region', instance.spec.region],
20
- ['State', instance.status.state],
21
- ...(signedStreamUrl ? [['Signed Stream URL', signedStreamUrl]] : []),
22
- ]);
36
+ this.output(`ID: ${target.id}`);
37
+ this.output(`Type: Xcode sandbox`);
38
+ this.output(`Name: ${target.metadata?.displayName || ''}`);
39
+ this.output(`Region: ${target.spec?.region || ''}`);
40
+ this.output(`State: ${target.status?.state || ''}`);
41
+ this.output(`Console URL: ${this.consoleStreamUrl(target.id)}`);
42
+ if (target.apiUrl)
43
+ this.output(`API URL: ${target.apiUrl}`);
23
44
  }
24
45
  });
25
46
  }
26
47
  }
27
48
  XcodeGet.summary = 'Get details for a specific Xcode instance';
28
49
  XcodeGet.description = 'Fetch detailed metadata for a single Xcode sandbox instance, including region, state, and display name. Use `--json` to inspect the full API response.';
29
- XcodeGet.examples = ['<%= config.bin %> xcode get <ID>', '<%= config.bin %> xcode get <ID> --json'];
50
+ XcodeGet.examples = ['<%= config.bin %> xcode get', '<%= config.bin %> xcode get <ID> --json'];
30
51
  XcodeGet.args = {
31
- id: core_1.Args.string({ description: 'Xcode instance ID to fetch', required: true }),
52
+ id: core_1.Args.string({
53
+ description: 'Xcode instance ID to fetch. Defaults to the last created Xcode target.',
54
+ required: false,
55
+ }),
32
56
  };
33
57
  XcodeGet.flags = { ...base_command_1.BaseCommand.baseFlags };
34
58
  exports.default = XcodeGet;
@@ -1 +1 @@
1
- {"version":3,"file":"get.js","sourceRoot":"","sources":["../../../src/commands/xcode/get.ts"],"names":[],"mappings":";;AAAA,sCAAmC;AACnC,qDAAiD;AAEjD,MAAqB,QAAS,SAAQ,0BAAW;IAY/C,KAAK,CAAC,GAAG;QACP,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;QACnD,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,cAAc,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YAC/D,IAAI,KAAK,CAAC,IAAI,EAAE,CAAC;gBACf,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC;YAC5B,CAAC;iBAAM,CAAC;gBACN,MAAM,eAAe,GAAG,IAAI,CAAC,eAAe,CAC1C,QAAQ,CAAC,MAAkD,CAC5D,CAAC;gBACF,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;oBAChC,GAAG,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,CAAC,mBAAmB,EAAE,eAAe,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;iBACrE,CACF,CAAC;YACJ,CAAC;QACH,CAAC,CAAC,CAAC;IACL,CAAC;;AAnCM,gBAAO,GAAG,2CAA2C,CAAC;AACtD,oBAAW,GAChB,wJAAwJ,CAAC;AACpJ,iBAAQ,GAAG,CAAC,kCAAkC,EAAE,yCAAyC,CAAC,CAAC;AAE3F,aAAI,GAAG;IACZ,EAAE,EAAE,WAAI,CAAC,MAAM,CAAC,EAAE,WAAW,EAAE,4BAA4B,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;CAC/E,CAAC;AAEK,cAAK,GAAG,EAAE,GAAG,0BAAW,CAAC,SAAS,EAAE,CAAC;kBAVzB,QAAQ"}
1
+ {"version":3,"file":"get.js","sourceRoot":"","sources":["../../../src/commands/xcode/get.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@limrun/cli",
3
- "version": "0.6.0",
3
+ "version": "0.6.1",
4
4
  "description": "Use remote XCode, iOS Simulator, Android Emulator and more to build and test apps from Linux, Windows or macOS.",
5
5
  "bin": {
6
6
  "lim": "./bin/run.js"