🚀 Socket Launch Week Day 5:Introducing Repository Access Permissions and Custom Roles.Learn more
Sign In

@limrun/cli

Package Overview
Dependencies
Maintainers
4
Versions
37
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@limrun/cli - npm Package Compare versions

Comparing version
0.2.2
to
0.2.3
+2
-1
dist/commands/build.d.ts

@@ -8,5 +8,6 @@ import { BaseCommand } from '../base-command';

static args: {
id: import("@oclif/core/lib/interfaces").Arg<string | undefined, Record<string, unknown>>;
path: import("@oclif/core/lib/interfaces").Arg<string | undefined, Record<string, unknown>>;
};
static flags: {
id: import("@oclif/core/lib/interfaces").OptionFlag<string | undefined, import("@oclif/core/lib/interfaces").CustomOptions>;
scheme: import("@oclif/core/lib/interfaces").OptionFlag<string | undefined, import("@oclif/core/lib/interfaces").CustomOptions>;

@@ -13,0 +14,0 @@ workspace: import("@oclif/core/lib/interfaces").OptionFlag<string | undefined, import("@oclif/core/lib/interfaces").CustomOptions>;

@@ -1,1 +0,1 @@

{"version":3,"file":"build.d.ts","sourceRoot":"","sources":["../../src/commands/build.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAI9C,MAAM,CAAC,OAAO,OAAO,KAAM,SAAQ,WAAW;IAC5C,MAAM,CAAC,OAAO,SAAuC;IACrD,MAAM,CAAC,OAAO,WAAgC;IAC9C,MAAM,CAAC,WAAW,SAE0E;IAE5F,MAAM,CAAC,QAAQ,WAIb;IAEF,MAAM,CAAC,IAAI;;MAET;IAEF,MAAM,CAAC,KAAK;;;;;;;MAMV;IAEI,GAAG,IAAI,OAAO,CAAC,IAAI,CAAC;YA2CZ,iCAAiC;CA4BhD"}
{"version":3,"file":"build.d.ts","sourceRoot":"","sources":["../../src/commands/build.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAI9C,MAAM,CAAC,OAAO,OAAO,KAAM,SAAQ,WAAW;IAC5C,MAAM,CAAC,OAAO,SAAuC;IACrD,MAAM,CAAC,OAAO,WAAgC;IAC9C,MAAM,CAAC,WAAW,SAE0E;IAE5F,MAAM,CAAC,QAAQ,WAOb;IAEF,MAAM,CAAC,IAAI;;MAET;IAEF,MAAM,CAAC,KAAK;;;;;;;;MAOV;IAEI,GAAG,IAAI,OAAO,CAAC,IAAI,CAAC;YAgDZ,iCAAiC;CA4BhD"}

@@ -12,3 +12,4 @@ "use strict";

await this.withAuth(async () => {
const id = this.resolveId(args.id);
const id = this.resolveId(flags.id);
const syncPath = args.path ?? process.cwd();
const xcodeClient = await this.resolveXcodeClientFromIosInstance(id);

@@ -26,2 +27,5 @@ const settings = {};

}
this.log(`Syncing ${syncPath} to instance ${id}...`);
await xcodeClient.sync(syncPath, { watch: false, install: false });
this.log('Sync complete.');
this.log('Starting xcodebuild...');

@@ -69,14 +73,18 @@ const proc = xcodeClient.xcodebuild(Object.keys(settings).length > 0 ? settings : undefined, Object.keys(options).length > 0 ? options : undefined);

Build.aliases = ['ios build', 'xcode build'];
Build.description = 'Triggers a remote xcodebuild with streaming output. ' +
Build.description = 'Syncs a local project path once (or the current working directory if omitted), then triggers a remote xcodebuild with streaming output. ' +
'Works with both standalone Xcode instances and iOS instances that have --xcode enabled.';
Build.examples = [
'<%= config.bin %> build <xcode-instance-ID>',
'<%= config.bin %> build <ios-instance-ID> --scheme MyApp',
'<%= config.bin %> build <xcode-instance-ID> --scheme MyApp --workspace MyApp.xcworkspace',
'<%= config.bin %> build',
'<%= config.bin %> build ./MyProject',
'<%= config.bin %> build --id <xcode-instance-ID>',
'<%= config.bin %> build ./MyProject --id <xcode-instance-ID>',
'<%= config.bin %> build --id <ios-instance-ID> --scheme MyApp',
'<%= config.bin %> build --id <xcode-instance-ID> --scheme MyApp --workspace MyApp.xcworkspace',
];
Build.args = {
id: core_1.Args.string({ description: 'Xcode or iOS instance ID (defaults to last created)', required: false }),
path: core_1.Args.string({ description: 'Local project path (defaults to current directory)', required: false }),
};
Build.flags = {
...base_command_1.BaseCommand.baseFlags,
id: core_1.Flags.string({ description: 'Xcode or iOS instance ID (defaults to last created)' }),
scheme: core_1.Flags.string({ description: 'Xcode scheme' }),

@@ -83,0 +91,0 @@ workspace: core_1.Flags.string({ description: 'Xcode workspace file' }),

@@ -1,1 +0,1 @@

{"version":3,"file":"build.js","sourceRoot":"","sources":["../../src/commands/build.ts"],"names":[],"mappings":"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"}
{"version":3,"file":"build.js","sourceRoot":"","sources":["../../src/commands/build.ts"],"names":[],"mappings":"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"}

@@ -8,6 +8,6 @@ import { BaseCommand } from '../base-command';

static args: {
path: import("@oclif/core/lib/interfaces").Arg<string, Record<string, unknown>>;
id: import("@oclif/core/lib/interfaces").Arg<string | undefined, Record<string, unknown>>;
path: import("@oclif/core/lib/interfaces").Arg<string | undefined, Record<string, unknown>>;
};
static flags: {
id: import("@oclif/core/lib/interfaces").OptionFlag<string | undefined, import("@oclif/core/lib/interfaces").CustomOptions>;
watch: import("@oclif/core/lib/interfaces").BooleanFlag<boolean>;

@@ -14,0 +14,0 @@ install: import("@oclif/core/lib/interfaces").BooleanFlag<boolean>;

@@ -1,1 +0,1 @@

{"version":3,"file":"sync.d.ts","sourceRoot":"","sources":["../../src/commands/sync.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAI9C,MAAM,CAAC,OAAO,OAAO,IAAK,SAAQ,WAAW;IAC3C,MAAM,CAAC,OAAO,SAAwC;IACtD,MAAM,CAAC,OAAO,WAA8B;IAC5C,MAAM,CAAC,WAAW,SAE0E;IAE5F,MAAM,CAAC,QAAQ,WAIb;IAEF,MAAM,CAAC,IAAI;;;MAGT;IAEF,MAAM,CAAC,KAAK;;;;;MAIV;IAEI,GAAG,IAAI,OAAO,CAAC,IAAI,CAAC;YAiCZ,kBAAkB;CA+BjC"}
{"version":3,"file":"sync.d.ts","sourceRoot":"","sources":["../../src/commands/sync.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAI9C,MAAM,CAAC,OAAO,OAAO,IAAK,SAAQ,WAAW;IAC3C,MAAM,CAAC,OAAO,SAAwC;IACtD,MAAM,CAAC,OAAO,WAA8B;IAC5C,MAAM,CAAC,WAAW,SAE0E;IAE5F,MAAM,CAAC,QAAQ,WAMb;IAEF,MAAM,CAAC,IAAI;;MAET;IAEF,MAAM,CAAC,KAAK;;;;;;MAKV;IAEI,GAAG,IAAI,OAAO,CAAC,IAAI,CAAC;YAkCZ,kBAAkB;CA+BjC"}

@@ -12,6 +12,7 @@ "use strict";

await this.withAuth(async () => {
const id = this.resolveId(args.id);
const id = this.resolveId(flags.id);
const syncPath = args.path ?? process.cwd();
const xcodeClient = await this.resolveXcodeClient(id);
this.log(`Syncing ${args.path} to instance ${id}...`);
const result = await xcodeClient.sync(args.path, {
this.log(`Syncing ${syncPath} to instance ${id}...`);
const result = await xcodeClient.sync(syncPath, {
watch: flags.watch,

@@ -66,16 +67,18 @@ install: flags.install,

Sync.aliases = ['ios sync', 'xcode sync'];
Sync.description = 'Pushes local source code to a remote Xcode sandbox with optional watch mode. ' +
Sync.description = 'Pushes a local project path (or the current working directory if omitted) to a remote Xcode sandbox with optional watch mode. ' +
'Works with both standalone Xcode instances and iOS instances that have --xcode enabled.';
Sync.examples = [
'<%= config.bin %> sync',
'<%= config.bin %> sync ./MyProject',
'<%= config.bin %> sync ./MyProject <xcode-instance-ID>',
'<%= config.bin %> sync ./MyProject --no-watch',
'<%= config.bin %> sync --id <xcode-instance-ID>',
'<%= config.bin %> sync ./MyProject --id <xcode-instance-ID>',
'<%= config.bin %> sync --watch',
];
Sync.args = {
path: core_1.Args.string({ description: 'Local project path to sync', required: true }),
id: core_1.Args.string({ description: 'Xcode or iOS instance ID (defaults to last created)', required: false }),
path: core_1.Args.string({ description: 'Local project path (defaults to current directory)', required: false }),
};
Sync.flags = {
...base_command_1.BaseCommand.baseFlags,
watch: core_1.Flags.boolean({ description: 'Watch for changes and re-sync', default: true, allowNo: true }),
id: core_1.Flags.string({ description: 'Xcode or iOS instance ID (defaults to last created)' }),
watch: core_1.Flags.boolean({ description: 'Watch for changes and re-sync', default: false, allowNo: true }),
install: core_1.Flags.boolean({ description: 'Install after syncing', default: true, allowNo: true }),

@@ -82,0 +85,0 @@ };

@@ -1,1 +0,1 @@

{"version":3,"file":"sync.js","sourceRoot":"","sources":["../../src/commands/sync.ts"],"names":[],"mappings":"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"}
{"version":3,"file":"sync.js","sourceRoot":"","sources":["../../src/commands/sync.ts"],"names":[],"mappings":";;AAAA,sCAA0C;AAC1C,kDAA8C;AAC9C,4EAAoE;AACpE,0CAAkD;AAElD,MAAqB,IAAK,SAAQ,0BAAW;IA0B3C,KAAK,CAAC,GAAG;QACP,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QAC/C,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,IAAI,CAAC,IAAI,IAAI,OAAO,CAAC,GAAG,EAAE,CAAC;YAC5C,MAAM,WAAW,GAAG,MAAM,IAAI,CAAC,kBAAkB,CAAC,EAAE,CAAC,CAAC;YAEtD,IAAI,CAAC,GAAG,CAAC,WAAW,QAAQ,gBAAgB,EAAE,KAAK,CAAC,CAAC;YAErD,MAAM,MAAM,GAAG,MAAM,WAAW,CAAC,IAAI,CAAC,QAAQ,EAAE;gBAC9C,KAAK,EAAE,KAAK,CAAC,KAAK;gBAClB,OAAO,EAAE,KAAK,CAAC,OAAO;aACvB,CAAC,CAAC;YAEH,IAAI,CAAC,GAAG,CAAC,gBAAgB,CAAC,CAAC;YAE3B,IAAI,KAAK,CAAC,KAAK,IAAI,MAAM,CAAC,YAAY,EAAE,CAAC;gBACvC,IAAI,CAAC,GAAG,CAAC,6CAA6C,CAAC,CAAC;gBACxD,MAAM,IAAI,OAAO,CAAO,CAAC,OAAO,EAAE,EAAE;oBAClC,MAAM,SAAS,GAAG,WAAW,CAAC,GAAG,EAAE,GAAE,CAAC,EAAE,CAAC,IAAI,EAAE,CAAC,CAAC;oBACjD,MAAM,QAAQ,GAAG,GAAG,EAAE;wBACpB,aAAa,CAAC,SAAS,CAAC,CAAC;wBACzB,MAAM,CAAC,YAAa,EAAE,CAAC;wBACvB,OAAO,EAAE,CAAC;oBACZ,CAAC,CAAC;oBACF,OAAO,CAAC,EAAE,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC;oBAC/B,OAAO,CAAC,EAAE,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAC;gBAClC,CAAC,CAAC,CAAC;YACL,CAAC;QACH,CAAC,CAAC,CAAC;IACL,CAAC;IAEO,KAAK,CAAC,kBAAkB,CAAC,EAAU;QACzC,MAAM,IAAI,GAAG,IAAA,4CAAkB,EAAC,EAAE,CAAC,CAAC,QAAQ,EAAE,CAAC;QAE/C,IAAI,IAAI,KAAK,KAAK,EAAE,CAAC;YACnB,kCAAkC;YAClC,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,YAAY,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;YACxD,IAAI,UAAU,GAAG,QAAQ,CAAC,MAAM,CAAC,OAAO,EAAE,KAAK,EAAE,GAAG,CAAC;YACrD,IAAI,KAAK,GAAG,QAAQ,CAAC,MAAM,CAAC,KAAK,CAAC;YAElC,gEAAgE;YAChE,IAAI,CAAC,UAAU,EAAE,CAAC;gBAChB,MAAM,MAAM,GAAG,IAAA,0BAAiB,EAAC,EAAE,CAAC,CAAC;gBACrC,IAAI,MAAM,EAAE,eAAe,EAAE,CAAC;oBAC5B,UAAU,GAAG,MAAM,CAAC,eAAe,CAAC;oBACpC,KAAK,GAAG,MAAM,CAAC,KAAK,IAAI,KAAK,CAAC;gBAChC,CAAC;YACH,CAAC;YAED,IAAI,CAAC,UAAU,EAAE,CAAC;gBAChB,IAAI,CAAC,KAAK,CAAC,gBAAgB,EAAE,qEAAqE,CAAC,CAAC;YACtG,CAAC;YACD,OAAO,IAAI,CAAC,MAAM,CAAC,cAAc,CAAC,YAAY,CAAC;gBAC7C,MAAM,EAAE,UAAU;gBAClB,KAAK;aACN,CAAC,CAAC;QACL,CAAC;QAED,4BAA4B;QAC5B,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,cAAc,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QAC1D,OAAO,IAAI,CAAC,MAAM,CAAC,cAAc,CAAC,YAAY,CAAC,EAAE,QAAQ,EAAE,CAAC,CAAC;IAC/D,CAAC;;AAzFM,YAAO,GAAG,oCAAoC,CAAC;AAC/C,YAAO,GAAG,CAAC,UAAU,EAAE,YAAY,CAAC,CAAC;AACrC,gBAAW,GAChB,gIAAgI;IAChI,yFAAyF,CAAC;AAErF,aAAQ,GAAG;IAChB,wBAAwB;IACxB,oCAAoC;IACpC,iDAAiD;IACjD,6DAA6D;IAC7D,gCAAgC;CACjC,CAAC;AAEK,SAAI,GAAG;IACZ,IAAI,EAAE,WAAI,CAAC,MAAM,CAAC,EAAE,WAAW,EAAE,oDAAoD,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC;CAC1G,CAAC;AAEK,UAAK,GAAG;IACb,GAAG,0BAAW,CAAC,SAAS;IACxB,EAAE,EAAE,YAAK,CAAC,MAAM,CAAC,EAAE,WAAW,EAAE,qDAAqD,EAAE,CAAC;IACxF,KAAK,EAAE,YAAK,CAAC,OAAO,CAAC,EAAE,WAAW,EAAE,+BAA+B,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;IACrG,OAAO,EAAE,YAAK,CAAC,OAAO,CAAC,EAAE,WAAW,EAAE,uBAAuB,EAAE,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;CAC/F,CAAC;kBAxBiB,IAAI"}
{
"name": "@limrun/cli",
"version": "0.2.2",
"version": "0.2.3",
"description": "The official CLI for Limrun — create and control cloud mobile sandboxes",

@@ -5,0 +5,0 @@ "bin": {

@@ -213,3 +213,3 @@ # @limrun/cli

```bash
# Sync and build (requires --xcode on create)
# Sync/build use the current directory if no path is provided; pass instance IDs with --id (requires --xcode on create)
lim ios sync ./MyProject

@@ -546,6 +546,12 @@ lim ios build --scheme MyApp --workspace MyApp.xcworkspace

```bash
# Watch mode (re-syncs on file changes, default)
# Sync the current directory
lim ios sync
# Watch mode (re-syncs on file changes)
lim ios sync ./MyProject --watch
# One-shot sync (no watch)
# One-shot sync (default)
lim ios sync ./MyProject
# Explicitly disable watch mode
lim ios sync ./MyProject --no-watch

@@ -650,3 +656,3 @@

# Sync, build, and test
lim ios sync ./MyiOSProject --no-watch
lim ios sync ./MyiOSProject
lim ios build --scheme MyApp --workspace MyApp.xcworkspace

@@ -670,3 +676,3 @@

lim xcode sync ./MyiOSProject --no-watch
lim xcode sync ./MyiOSProject
lim xcode build --scheme MyApp --workspace MyApp.xcworkspace --upload myapp-latest

@@ -673,0 +679,0 @@ lim asset pull myapp-latest -o ./build-output

import { BaseCommand } from '../../base-command';
export default class ConnectAndroid extends BaseCommand {
static summary: string;
static examples: string[];
static args: {
id: import("@oclif/core/lib/interfaces").Arg<string, Record<string, unknown>>;
};
static flags: {
'adb-path': import("@oclif/core/lib/interfaces").OptionFlag<string, import("@oclif/core/lib/interfaces").CustomOptions>;
'api-key': import("@oclif/core/lib/interfaces").OptionFlag<string | undefined, import("@oclif/core/lib/interfaces").CustomOptions>;
json: import("@oclif/core/lib/interfaces").BooleanFlag<boolean>;
};
run(): Promise<void>;
}
//# sourceMappingURL=android.d.ts.map
{"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"}
"use strict";
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
if (k2 === undefined) k2 = k;
var desc = Object.getOwnPropertyDescriptor(m, k);
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
desc = { enumerable: true, get: function() { return m[k]; } };
}
Object.defineProperty(o, k2, desc);
}) : (function(o, m, k, k2) {
if (k2 === undefined) k2 = k;
o[k2] = m[k];
}));
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
Object.defineProperty(o, "default", { enumerable: true, value: v });
}) : function(o, v) {
o["default"] = v;
});
var __importStar = (this && this.__importStar) || (function () {
var ownKeys = function(o) {
ownKeys = Object.getOwnPropertyNames || function (o) {
var ar = [];
for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
return ar;
};
return ownKeys(o);
};
return function (mod) {
if (mod && mod.__esModule) return mod;
var result = {};
if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
__setModuleDefault(result, mod);
return result;
};
})();
Object.defineProperty(exports, "__esModule", { value: true });
const core_1 = require("@oclif/core");
const base_command_1 = require("../../base-command");
class ConnectAndroid extends base_command_1.BaseCommand {
async run() {
const { args, flags } = await this.parse(ConnectAndroid);
this.setParsedFlags(flags);
await this.withAuth(async () => {
const instance = await this.client.androidInstances.get(args.id);
if (!instance.status.apiUrl) {
this.error(`Instance ${args.id} does not have an apiUrl. Is it ready?`);
}
const { createInstanceClient } = await Promise.resolve().then(() => __importStar(require('@limrun/api')));
const instanceClient = await createInstanceClient({
apiUrl: instance.status.apiUrl,
adbUrl: instance.status.adbWebSocketUrl,
token: instance.status.token,
});
const tunnel = await instanceClient.startAdbTunnel();
this.log('Tunnel started. Press Ctrl+C to stop.');
await new Promise((resolve) => {
const keepAlive = setInterval(() => { }, 1 << 30);
const shutdown = () => {
clearInterval(keepAlive);
this.log('Stopping tunnel...');
resolve();
};
process.on('SIGINT', shutdown);
process.on('SIGTERM', shutdown);
});
tunnel.close();
instanceClient.disconnect();
});
}
}
ConnectAndroid.summary = 'Connect to an existing Android instance via ADB tunnel';
ConnectAndroid.examples = ['<%= config.bin %> connect android <ID>'];
ConnectAndroid.args = {
id: core_1.Args.string({ description: 'Android instance ID', required: true }),
};
ConnectAndroid.flags = {
...base_command_1.BaseCommand.baseFlags,
'adb-path': core_1.Flags.string({ description: 'Path to adb binary', default: 'adb' }),
};
exports.default = ConnectAndroid;
//# sourceMappingURL=android.js.map
{"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"}
import { BaseCommand } from '../../base-command';
export default class DeleteAndroid extends BaseCommand {
static summary: string;
static examples: string[];
static args: {
id: import("@oclif/core/lib/interfaces").Arg<string, Record<string, unknown>>;
};
static flags: {
'api-key': import("@oclif/core/lib/interfaces").OptionFlag<string | undefined, import("@oclif/core/lib/interfaces").CustomOptions>;
json: import("@oclif/core/lib/interfaces").BooleanFlag<boolean>;
};
run(): Promise<void>;
}
//# sourceMappingURL=android.d.ts.map
{"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"}
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
const core_1 = require("@oclif/core");
const base_command_1 = require("../../base-command");
class DeleteAndroid extends base_command_1.BaseCommand {
async run() {
const { args, flags } = await this.parse(DeleteAndroid);
this.setParsedFlags(flags);
await this.withAuth(async () => {
await this.client.androidInstances.delete(args.id);
this.log(`Deleted Android instance: ${args.id}`);
});
}
}
DeleteAndroid.summary = 'Delete an Android instance';
DeleteAndroid.examples = ['<%= config.bin %> delete android <ID>'];
DeleteAndroid.args = {
id: core_1.Args.string({ description: 'Instance ID to delete', required: true }),
};
DeleteAndroid.flags = { ...base_command_1.BaseCommand.baseFlags };
exports.default = DeleteAndroid;
//# sourceMappingURL=android.js.map
{"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"}
import { BaseCommand } from '../../base-command';
export default class DeleteAsset extends BaseCommand {
static summary: string;
static examples: string[];
static args: {
id: import("@oclif/core/lib/interfaces").Arg<string, Record<string, unknown>>;
};
static flags: {
'api-key': import("@oclif/core/lib/interfaces").OptionFlag<string | undefined, import("@oclif/core/lib/interfaces").CustomOptions>;
json: import("@oclif/core/lib/interfaces").BooleanFlag<boolean>;
};
run(): Promise<void>;
}
//# sourceMappingURL=asset.d.ts.map
{"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"}
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
const core_1 = require("@oclif/core");
const base_command_1 = require("../../base-command");
class DeleteAsset extends base_command_1.BaseCommand {
async run() {
const { args, flags } = await this.parse(DeleteAsset);
this.setParsedFlags(flags);
await this.withAuth(async () => {
await this.client.assets.delete(args.id);
this.log(`Deleted asset: ${args.id}`);
});
}
}
DeleteAsset.summary = 'Delete an asset';
DeleteAsset.examples = ['<%= config.bin %> delete asset <ID>'];
DeleteAsset.args = {
id: core_1.Args.string({ description: 'Asset ID to delete', required: true }),
};
DeleteAsset.flags = { ...base_command_1.BaseCommand.baseFlags };
exports.default = DeleteAsset;
//# sourceMappingURL=asset.js.map
{"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"}
import { BaseCommand } from '../../base-command';
export default class DeleteIos extends BaseCommand {
static summary: string;
static examples: string[];
static args: {
id: import("@oclif/core/lib/interfaces").Arg<string, Record<string, unknown>>;
};
static flags: {
'api-key': import("@oclif/core/lib/interfaces").OptionFlag<string | undefined, import("@oclif/core/lib/interfaces").CustomOptions>;
json: import("@oclif/core/lib/interfaces").BooleanFlag<boolean>;
};
run(): Promise<void>;
}
//# sourceMappingURL=ios.d.ts.map
{"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"}
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
const core_1 = require("@oclif/core");
const base_command_1 = require("../../base-command");
const config_1 = require("../../lib/config");
class DeleteIos extends base_command_1.BaseCommand {
async run() {
const { args, flags } = await this.parse(DeleteIos);
this.setParsedFlags(flags);
await this.withAuth(async () => {
await this.client.iosInstances.delete(args.id);
(0, config_1.clearInstanceCache)(args.id);
this.log(`Deleted iOS instance: ${args.id}`);
});
}
}
DeleteIos.summary = 'Delete an iOS instance';
DeleteIos.examples = ['<%= config.bin %> delete ios <ID>'];
DeleteIos.args = {
id: core_1.Args.string({ description: 'Instance ID to delete', required: true }),
};
DeleteIos.flags = { ...base_command_1.BaseCommand.baseFlags };
exports.default = DeleteIos;
//# sourceMappingURL=ios.js.map
{"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"}
import { BaseCommand } from '../../base-command';
export default class DeleteXcode extends BaseCommand {
static summary: string;
static examples: string[];
static args: {
id: import("@oclif/core/lib/interfaces").Arg<string, Record<string, unknown>>;
};
static flags: {
'api-key': import("@oclif/core/lib/interfaces").OptionFlag<string | undefined, import("@oclif/core/lib/interfaces").CustomOptions>;
json: import("@oclif/core/lib/interfaces").BooleanFlag<boolean>;
};
run(): Promise<void>;
}
//# sourceMappingURL=xcode.d.ts.map
{"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"}
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
const core_1 = require("@oclif/core");
const base_command_1 = require("../../base-command");
class DeleteXcode extends base_command_1.BaseCommand {
async run() {
const { args, flags } = await this.parse(DeleteXcode);
this.setParsedFlags(flags);
await this.withAuth(async () => {
await this.client.xcodeInstances.delete(args.id);
this.log(`Deleted Xcode instance: ${args.id}`);
});
}
}
DeleteXcode.summary = 'Delete a Xcode instance';
DeleteXcode.examples = ['<%= config.bin %> delete xcode <ID>'];
DeleteXcode.args = {
id: core_1.Args.string({ description: 'Instance ID to delete', required: true }),
};
DeleteXcode.flags = { ...base_command_1.BaseCommand.baseFlags };
exports.default = DeleteXcode;
//# sourceMappingURL=xcode.js.map
{"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"}
import { BaseCommand } from '../../base-command';
export default class ExecLaunchApp extends BaseCommand {
static summary: string;
static examples: string[];
static args: {
id: import("@oclif/core/lib/interfaces").Arg<string, Record<string, unknown>>;
bundleId: import("@oclif/core/lib/interfaces").Arg<string, Record<string, unknown>>;
};
static flags: {
mode: import("@oclif/core/lib/interfaces").OptionFlag<string, import("@oclif/core/lib/interfaces").CustomOptions>;
'api-key': import("@oclif/core/lib/interfaces").OptionFlag<string | undefined, import("@oclif/core/lib/interfaces").CustomOptions>;
json: import("@oclif/core/lib/interfaces").BooleanFlag<boolean>;
};
run(): Promise<void>;
}
//# sourceMappingURL=launch-app.d.ts.map
{"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"}
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
const core_1 = require("@oclif/core");
const base_command_1 = require("../../base-command");
const instance_client_factory_1 = require("../../lib/instance-client-factory");
class ExecLaunchApp extends base_command_1.BaseCommand {
async run() {
const { args, flags } = await this.parse(ExecLaunchApp);
this.setParsedFlags(flags);
await this.withAuth(async () => {
if ((0, instance_client_factory_1.hasActiveSession)(args.id)) {
await (0, instance_client_factory_1.sendSessionCommand)(args.id, 'launch-app', [args.bundleId, flags.mode]);
}
else {
const { type, client, disconnect } = await (0, instance_client_factory_1.getInstanceClient)(this.client, args.id);
if (type !== 'ios') {
disconnect();
this.error('launch-app is only supported on iOS instances');
}
try {
await client.launchApp(args.bundleId, flags.mode);
}
finally {
disconnect();
}
}
this.log(`Launched ${args.bundleId}`);
});
}
}
ExecLaunchApp.summary = 'Launch an app on a running iOS instance';
ExecLaunchApp.examples = [
'<%= config.bin %> exec launch-app <instance-ID> com.example.app',
'<%= config.bin %> exec launch-app <instance-ID> com.example.app --mode RelaunchIfRunning',
];
ExecLaunchApp.args = {
id: core_1.Args.string({ description: 'Instance ID', required: true }),
bundleId: core_1.Args.string({ description: 'App bundle identifier', required: true }),
};
ExecLaunchApp.flags = {
...base_command_1.BaseCommand.baseFlags,
mode: core_1.Flags.string({
description: 'Launch mode',
options: ['ForegroundIfRunning', 'RelaunchIfRunning'],
default: 'ForegroundIfRunning',
}),
};
exports.default = ExecLaunchApp;
//# sourceMappingURL=launch-app.js.map
{"version":3,"file":"launch-app.js","sourceRoot":"","sources":["../../../src/commands/exec/launch-app.ts"],"names":[],"mappings":";;AAAA,sCAA0C;AAC1C,qDAAiD;AACjD,+EAA4G;AAE5G,MAAqB,aAAc,SAAQ,0BAAW;IAqBpD,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,IAAI,IAAA,0CAAgB,EAAC,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC;gBAC9B,MAAM,IAAA,4CAAkB,EAAC,IAAI,CAAC,EAAE,EAAE,YAAY,EAAE,CAAC,IAAI,CAAC,QAAQ,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC;YAC/E,CAAC;iBAAM,CAAC;gBACN,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,UAAU,EAAE,GAAG,MAAM,IAAA,2CAAiB,EAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,EAAE,CAAC,CAAC;gBACnF,IAAI,IAAI,KAAK,KAAK,EAAE,CAAC;oBACnB,UAAU,EAAE,CAAC;oBACb,IAAI,CAAC,KAAK,CAAC,+CAA+C,CAAC,CAAC;gBAC9D,CAAC;gBACD,IAAI,CAAC;oBACH,MAAO,MAAc,CAAC,SAAS,CAAC,IAAI,CAAC,QAAQ,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC;gBAC7D,CAAC;wBAAS,CAAC;oBACT,UAAU,EAAE,CAAC;gBACf,CAAC;YACH,CAAC;YACD,IAAI,CAAC,GAAG,CAAC,YAAY,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAC;QACxC,CAAC,CAAC,CAAC;IACL,CAAC;;AAzCM,qBAAO,GAAG,yCAAyC,CAAC;AACpD,sBAAQ,GAAG;IAChB,iEAAiE;IACjE,0FAA0F;CAC3F,CAAC;AAEK,kBAAI,GAAG;IACZ,EAAE,EAAE,WAAI,CAAC,MAAM,CAAC,EAAE,WAAW,EAAE,aAAa,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;IAC/D,QAAQ,EAAE,WAAI,CAAC,MAAM,CAAC,EAAE,WAAW,EAAE,uBAAuB,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;CAChF,CAAC;AAEK,mBAAK,GAAG;IACb,GAAG,0BAAW,CAAC,SAAS;IACxB,IAAI,EAAE,YAAK,CAAC,MAAM,CAAC;QACjB,WAAW,EAAE,aAAa;QAC1B,OAAO,EAAE,CAAC,qBAAqB,EAAE,mBAAmB,CAAC;QACrD,OAAO,EAAE,qBAAqB;KAC/B,CAAC;CACH,CAAC;kBAnBiB,aAAa"}
import { BaseCommand } from '../../base-command';
export default class ExecListApps extends BaseCommand {
static summary: string;
static examples: string[];
static args: {
id: import("@oclif/core/lib/interfaces").Arg<string, Record<string, unknown>>;
};
static flags: {
'api-key': import("@oclif/core/lib/interfaces").OptionFlag<string | undefined, import("@oclif/core/lib/interfaces").CustomOptions>;
json: import("@oclif/core/lib/interfaces").BooleanFlag<boolean>;
};
run(): Promise<void>;
}
//# sourceMappingURL=list-apps.d.ts.map
{"version":3,"file":"list-apps.d.ts","sourceRoot":"","sources":["../../../src/commands/exec/list-apps.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AAGjD,MAAM,CAAC,OAAO,OAAO,YAAa,SAAQ,WAAW;IACnD,MAAM,CAAC,OAAO,SAAmD;IACjE,MAAM,CAAC,QAAQ,WAAsD;IAErE,MAAM,CAAC,IAAI;;MAET;IAEF,MAAM,CAAC,KAAK;;;MAAgC;IAEtC,GAAG,IAAI,OAAO,CAAC,IAAI,CAAC;CA8B3B"}
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
const core_1 = require("@oclif/core");
const base_command_1 = require("../../base-command");
const instance_client_factory_1 = require("../../lib/instance-client-factory");
class ExecListApps extends base_command_1.BaseCommand {
async run() {
const { args, flags } = await this.parse(ExecListApps);
this.setParsedFlags(flags);
await this.withAuth(async () => {
let apps;
if ((0, instance_client_factory_1.hasActiveSession)(args.id)) {
apps = (await (0, instance_client_factory_1.sendSessionCommand)(args.id, 'list-apps'));
}
else {
const { type, client, disconnect } = await (0, instance_client_factory_1.getInstanceClient)(this.client, args.id);
if (type !== 'ios') {
disconnect();
this.error('list-apps is only supported on iOS instances');
}
try {
apps = await client.listApps();
}
finally {
disconnect();
}
}
if (flags.json) {
this.outputJson(apps);
}
else {
const rows = apps.map((a) => [a.bundleId, a.name, a.installType]);
this.outputTable(['Bundle ID', 'Name', 'Install Type'], rows);
}
});
}
}
ExecListApps.summary = 'List installed apps on a running iOS instance';
ExecListApps.examples = ['<%= config.bin %> exec list-apps <instance-ID>'];
ExecListApps.args = {
id: core_1.Args.string({ description: 'Instance ID', required: true }),
};
ExecListApps.flags = { ...base_command_1.BaseCommand.baseFlags };
exports.default = ExecListApps;
//# sourceMappingURL=list-apps.js.map
{"version":3,"file":"list-apps.js","sourceRoot":"","sources":["../../../src/commands/exec/list-apps.ts"],"names":[],"mappings":";;AAAA,sCAAmC;AACnC,qDAAiD;AACjD,+EAA4G;AAE5G,MAAqB,YAAa,SAAQ,0BAAW;IAUnD,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,IAAI,IAAW,CAAC;YAEhB,IAAI,IAAA,0CAAgB,EAAC,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC;gBAC9B,IAAI,GAAG,CAAC,MAAM,IAAA,4CAAkB,EAAC,IAAI,CAAC,EAAE,EAAE,WAAW,CAAC,CAAU,CAAC;YACnE,CAAC;iBAAM,CAAC;gBACN,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,UAAU,EAAE,GAAG,MAAM,IAAA,2CAAiB,EAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,EAAE,CAAC,CAAC;gBACnF,IAAI,IAAI,KAAK,KAAK,EAAE,CAAC;oBACnB,UAAU,EAAE,CAAC;oBACb,IAAI,CAAC,KAAK,CAAC,8CAA8C,CAAC,CAAC;gBAC7D,CAAC;gBACD,IAAI,CAAC;oBACH,IAAI,GAAG,MAAO,MAAc,CAAC,QAAQ,EAAE,CAAC;gBAC1C,CAAC;wBAAS,CAAC;oBACT,UAAU,EAAE,CAAC;gBACf,CAAC;YACH,CAAC;YAED,IAAI,KAAK,CAAC,IAAI,EAAE,CAAC;gBACf,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;YACxB,CAAC;iBAAM,CAAC;gBACN,MAAM,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,CAAM,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC;gBACvE,IAAI,CAAC,WAAW,CAAC,CAAC,WAAW,EAAE,MAAM,EAAE,cAAc,CAAC,EAAE,IAAI,CAAC,CAAC;YAChE,CAAC;QACH,CAAC,CAAC,CAAC;IACL,CAAC;;AAtCM,oBAAO,GAAG,+CAA+C,CAAC;AAC1D,qBAAQ,GAAG,CAAC,gDAAgD,CAAC,CAAC;AAE9D,iBAAI,GAAG;IACZ,EAAE,EAAE,WAAI,CAAC,MAAM,CAAC,EAAE,WAAW,EAAE,aAAa,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;CAChE,CAAC;AAEK,kBAAK,GAAG,EAAE,GAAG,0BAAW,CAAC,SAAS,EAAE,CAAC;kBARzB,YAAY"}
import { BaseCommand } from '../../base-command';
export default class ExecLog extends BaseCommand {
static summary: string;
static examples: string[];
static args: {
id: import("@oclif/core/lib/interfaces").Arg<string, Record<string, unknown>>;
bundleId: import("@oclif/core/lib/interfaces").Arg<string, Record<string, unknown>>;
};
static flags: {
follow: import("@oclif/core/lib/interfaces").BooleanFlag<boolean>;
lines: import("@oclif/core/lib/interfaces").OptionFlag<number, import("@oclif/core/lib/interfaces").CustomOptions>;
'api-key': import("@oclif/core/lib/interfaces").OptionFlag<string | undefined, import("@oclif/core/lib/interfaces").CustomOptions>;
json: import("@oclif/core/lib/interfaces").BooleanFlag<boolean>;
};
run(): Promise<void>;
}
//# sourceMappingURL=log.d.ts.map
{"version":3,"file":"log.d.ts","sourceRoot":"","sources":["../../../src/commands/exec/log.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AAGjD,MAAM,CAAC,OAAO,OAAO,OAAQ,SAAQ,WAAW;IAC9C,MAAM,CAAC,OAAO,SAAyD;IACvE,MAAM,CAAC,QAAQ,WAIb;IAEF,MAAM,CAAC,IAAI;;;MAGT;IAEF,MAAM,CAAC,KAAK;;;;;MAIV;IAEI,GAAG,IAAI,OAAO,CAAC,IAAI,CAAC;CAyD3B"}
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
const core_1 = require("@oclif/core");
const base_command_1 = require("../../base-command");
const instance_client_factory_1 = require("../../lib/instance-client-factory");
class ExecLog extends base_command_1.BaseCommand {
async run() {
const { args, flags } = await this.parse(ExecLog);
this.setParsedFlags(flags);
await this.withAuth(async () => {
// Log tail (non-streaming) can use session
if (!flags.follow) {
if ((0, instance_client_factory_1.hasActiveSession)(args.id)) {
const output = await (0, instance_client_factory_1.sendSessionCommand)(args.id, 'app-log-tail', [args.bundleId, flags.lines]);
this.log(String(output));
}
else {
const { type, client, disconnect } = await (0, instance_client_factory_1.getInstanceClient)(this.client, args.id);
if (type !== 'ios') {
disconnect();
this.error('log command is only supported on iOS instances');
}
try {
const output = await client.appLogTail(args.bundleId, flags.lines);
this.log(output);
}
finally {
disconnect();
}
}
return;
}
// Streaming requires direct connection (long-lived)
const { type, client, disconnect } = await (0, instance_client_factory_1.getInstanceClient)(this.client, args.id);
if (type !== 'ios') {
disconnect();
this.error('log command is only supported on iOS instances');
}
try {
const logStream = client.streamAppLog(args.bundleId);
logStream.on('line', (line) => {
process.stdout.write(line + '\n');
});
logStream.on('error', (err) => {
this.warn(`Log stream error: ${err.message}`);
});
await new Promise((resolve) => {
const keepAlive = setInterval(() => { }, 1 << 30);
const shutdown = () => {
clearInterval(keepAlive);
logStream.stop();
resolve();
};
process.on('SIGINT', shutdown);
process.on('SIGTERM', shutdown);
});
}
finally {
disconnect();
}
});
}
}
ExecLog.summary = 'Stream or tail app logs from a running iOS instance';
ExecLog.examples = [
'<%= config.bin %> exec log <instance-ID> com.example.app',
'<%= config.bin %> exec log <instance-ID> com.example.app --lines 50',
'<%= config.bin %> exec log <instance-ID> com.example.app -f',
];
ExecLog.args = {
id: core_1.Args.string({ description: 'Instance ID', required: true }),
bundleId: core_1.Args.string({ description: 'App bundle identifier', required: true }),
};
ExecLog.flags = {
...base_command_1.BaseCommand.baseFlags,
follow: core_1.Flags.boolean({ char: 'f', description: 'Stream logs continuously', default: false }),
lines: core_1.Flags.integer({ description: 'Number of lines to tail (non-streaming)', default: 100 }),
};
exports.default = ExecLog;
//# sourceMappingURL=log.js.map
{"version":3,"file":"log.js","sourceRoot":"","sources":["../../../src/commands/exec/log.ts"],"names":[],"mappings":"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"}
import { BaseCommand } from '../../base-command';
export default class ExecTerminateApp extends BaseCommand {
static summary: string;
static examples: string[];
static args: {
id: import("@oclif/core/lib/interfaces").Arg<string, Record<string, unknown>>;
bundleId: import("@oclif/core/lib/interfaces").Arg<string, Record<string, unknown>>;
};
static flags: {
'api-key': import("@oclif/core/lib/interfaces").OptionFlag<string | undefined, import("@oclif/core/lib/interfaces").CustomOptions>;
json: import("@oclif/core/lib/interfaces").BooleanFlag<boolean>;
};
run(): Promise<void>;
}
//# sourceMappingURL=terminate-app.d.ts.map
{"version":3,"file":"terminate-app.d.ts","sourceRoot":"","sources":["../../../src/commands/exec/terminate-app.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AAGjD,MAAM,CAAC,OAAO,OAAO,gBAAiB,SAAQ,WAAW;IACvD,MAAM,CAAC,OAAO,SAAgD;IAC9D,MAAM,CAAC,QAAQ,WAA0E;IAEzF,MAAM,CAAC,IAAI;;;MAGT;IAEF,MAAM,CAAC,KAAK;;;MAAgC;IAEtC,GAAG,IAAI,OAAO,CAAC,IAAI,CAAC;CAsB3B"}
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
const core_1 = require("@oclif/core");
const base_command_1 = require("../../base-command");
const instance_client_factory_1 = require("../../lib/instance-client-factory");
class ExecTerminateApp extends base_command_1.BaseCommand {
async run() {
const { args, flags } = await this.parse(ExecTerminateApp);
this.setParsedFlags(flags);
await this.withAuth(async () => {
if ((0, instance_client_factory_1.hasActiveSession)(args.id)) {
await (0, instance_client_factory_1.sendSessionCommand)(args.id, 'terminate-app', [args.bundleId]);
}
else {
const { type, client, disconnect } = await (0, instance_client_factory_1.getInstanceClient)(this.client, args.id);
if (type !== 'ios') {
disconnect();
this.error('terminate-app is only supported on iOS instances');
}
try {
await client.terminateApp(args.bundleId);
}
finally {
disconnect();
}
}
this.log(`Terminated ${args.bundleId}`);
});
}
}
ExecTerminateApp.summary = 'Terminate an app on a running iOS instance';
ExecTerminateApp.examples = ['<%= config.bin %> exec terminate-app <instance-ID> com.example.app'];
ExecTerminateApp.args = {
id: core_1.Args.string({ description: 'Instance ID', required: true }),
bundleId: core_1.Args.string({ description: 'App bundle identifier', required: true }),
};
ExecTerminateApp.flags = { ...base_command_1.BaseCommand.baseFlags };
exports.default = ExecTerminateApp;
//# sourceMappingURL=terminate-app.js.map
{"version":3,"file":"terminate-app.js","sourceRoot":"","sources":["../../../src/commands/exec/terminate-app.ts"],"names":[],"mappings":";;AAAA,sCAAmC;AACnC,qDAAiD;AACjD,+EAA4G;AAE5G,MAAqB,gBAAiB,SAAQ,0BAAW;IAWvD,KAAK,CAAC,GAAG;QACP,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,gBAAgB,CAAC,CAAC;QAC3D,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC;QAE3B,MAAM,IAAI,CAAC,QAAQ,CAAC,KAAK,IAAI,EAAE;YAC7B,IAAI,IAAA,0CAAgB,EAAC,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC;gBAC9B,MAAM,IAAA,4CAAkB,EAAC,IAAI,CAAC,EAAE,EAAE,eAAe,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC;YACtE,CAAC;iBAAM,CAAC;gBACN,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,UAAU,EAAE,GAAG,MAAM,IAAA,2CAAiB,EAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,EAAE,CAAC,CAAC;gBACnF,IAAI,IAAI,KAAK,KAAK,EAAE,CAAC;oBACnB,UAAU,EAAE,CAAC;oBACb,IAAI,CAAC,KAAK,CAAC,kDAAkD,CAAC,CAAC;gBACjE,CAAC;gBACD,IAAI,CAAC;oBACH,MAAO,MAAc,CAAC,YAAY,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;gBACpD,CAAC;wBAAS,CAAC;oBACT,UAAU,EAAE,CAAC;gBACf,CAAC;YACH,CAAC;YACD,IAAI,CAAC,GAAG,CAAC,cAAc,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAC;QAC1C,CAAC,CAAC,CAAC;IACL,CAAC;;AA/BM,wBAAO,GAAG,4CAA4C,CAAC;AACvD,yBAAQ,GAAG,CAAC,oEAAoE,CAAC,CAAC;AAElF,qBAAI,GAAG;IACZ,EAAE,EAAE,WAAI,CAAC,MAAM,CAAC,EAAE,WAAW,EAAE,aAAa,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;IAC/D,QAAQ,EAAE,WAAI,CAAC,MAAM,CAAC,EAAE,WAAW,EAAE,uBAAuB,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;CAChF,CAAC;AAEK,sBAAK,GAAG,EAAE,GAAG,0BAAW,CAAC,SAAS,EAAE,CAAC;kBATzB,gBAAgB"}
import { BaseCommand } from '../../base-command';
export default class GetAndroid extends BaseCommand {
static summary: string;
static aliases: string[];
static examples: string[];
static args: {
id: import("@oclif/core/lib/interfaces").Arg<string | undefined, Record<string, unknown>>;
};
static flags: {
state: import("@oclif/core/lib/interfaces").OptionFlag<string | undefined, import("@oclif/core/lib/interfaces").CustomOptions>;
region: import("@oclif/core/lib/interfaces").OptionFlag<string | undefined, import("@oclif/core/lib/interfaces").CustomOptions>;
'label-selector': import("@oclif/core/lib/interfaces").OptionFlag<string | undefined, import("@oclif/core/lib/interfaces").CustomOptions>;
all: import("@oclif/core/lib/interfaces").BooleanFlag<boolean>;
'api-key': import("@oclif/core/lib/interfaces").OptionFlag<string | undefined, import("@oclif/core/lib/interfaces").CustomOptions>;
json: import("@oclif/core/lib/interfaces").BooleanFlag<boolean>;
};
run(): Promise<void>;
}
//# sourceMappingURL=android.d.ts.map
{"version":3,"file":"android.d.ts","sourceRoot":"","sources":["../../../src/commands/get/android.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AAEjD,MAAM,CAAC,OAAO,OAAO,UAAW,SAAQ,WAAW;IACjD,MAAM,CAAC,OAAO,SAAkD;IAChE,MAAM,CAAC,OAAO,WAAa;IAC3B,MAAM,CAAC,QAAQ,WAA2E;IAE1F,MAAM,CAAC,IAAI;;MAET;IAEF,MAAM,CAAC,KAAK;;;;;;;MAMV;IAEI,GAAG,IAAI,OAAO,CAAC,IAAI,CAAC;CAkD3B"}
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
const core_1 = require("@oclif/core");
const base_command_1 = require("../../base-command");
class GetAndroid extends base_command_1.BaseCommand {
async run() {
const { args, flags } = await this.parse(GetAndroid);
this.setParsedFlags(flags);
await this.withAuth(async () => {
if (args.id) {
const instance = await this.client.androidInstances.get(args.id);
if (flags.json) {
this.outputJson(instance);
}
else {
this.outputTable(['ID', 'Name', 'Region', 'State'], [
[
instance.metadata.id,
instance.metadata.displayName || '',
instance.spec.region,
instance.status.state,
],
]);
}
return;
}
const params = {};
if (flags.state) {
params.state = flags.state;
}
else if (!flags.all) {
params.state = 'ready';
}
if (flags.region)
params.region = flags.region;
if (flags['label-selector'])
params.labelSelector = flags['label-selector'];
const instances = await this.client.androidInstances.list(params);
const items = instances.items ?? instances.getPaginatedItems();
const rows = items.map((i) => [
i.metadata.id,
i.metadata.displayName || '',
i.spec.region,
i.status.state,
]);
if (flags.json) {
this.outputJson(items);
}
else {
this.outputTable(['ID', 'Name', 'Region', 'State'], rows);
}
});
}
}
GetAndroid.summary = 'List Android instances or get a specific one';
GetAndroid.aliases = ['get a'];
GetAndroid.examples = ['<%= config.bin %> get android', '<%= config.bin %> get android <ID>'];
GetAndroid.args = {
id: core_1.Args.string({ description: 'Instance ID to get', required: false }),
};
GetAndroid.flags = {
...base_command_1.BaseCommand.baseFlags,
state: core_1.Flags.string({ description: 'Filter by state (unknown, creating, ready, terminated)' }),
region: core_1.Flags.string({ description: 'Filter by region' }),
'label-selector': core_1.Flags.string({ description: 'Filter by labels (e.g. env=prod,region=us-west)' }),
all: core_1.Flags.boolean({ description: 'Show all states, not just ready', default: false }),
};
exports.default = GetAndroid;
//# sourceMappingURL=android.js.map
{"version":3,"file":"android.js","sourceRoot":"","sources":["../../../src/commands/get/android.ts"],"names":[],"mappings":"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"}
import { BaseCommand } from '../../base-command';
export default class GetAsset extends BaseCommand {
static summary: string;
static aliases: string[];
static examples: string[];
static args: {
id: import("@oclif/core/lib/interfaces").Arg<string | undefined, Record<string, unknown>>;
};
static flags: {
name: import("@oclif/core/lib/interfaces").OptionFlag<string | undefined, import("@oclif/core/lib/interfaces").CustomOptions>;
'download-url': import("@oclif/core/lib/interfaces").BooleanFlag<boolean>;
'upload-url': import("@oclif/core/lib/interfaces").BooleanFlag<boolean>;
'api-key': import("@oclif/core/lib/interfaces").OptionFlag<string | undefined, import("@oclif/core/lib/interfaces").CustomOptions>;
json: import("@oclif/core/lib/interfaces").BooleanFlag<boolean>;
};
run(): Promise<void>;
}
//# sourceMappingURL=asset.d.ts.map
{"version":3,"file":"asset.d.ts","sourceRoot":"","sources":["../../../src/commands/get/asset.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AAEjD,MAAM,CAAC,OAAO,OAAO,QAAS,SAAQ,WAAW;IAC/C,MAAM,CAAC,OAAO,SAAuC;IACrD,MAAM,CAAC,OAAO,WAAkB;IAChC,MAAM,CAAC,QAAQ,WAAuE;IAEtF,MAAM,CAAC,IAAI;;MAET;IAEF,MAAM,CAAC,KAAK;;;;;;MAKV;IAEI,GAAG,IAAI,OAAO,CAAC,IAAI,CAAC;CAqD3B"}
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
const core_1 = require("@oclif/core");
const base_command_1 = require("../../base-command");
class GetAsset extends base_command_1.BaseCommand {
async run() {
const { args, flags } = await this.parse(GetAsset);
this.setParsedFlags(flags);
await this.withAuth(async () => {
if (args.id) {
const asset = await this.client.assets.get(args.id, {
includeDownloadUrl: flags['download-url'],
includeUploadUrl: flags['upload-url'],
});
if (flags.json) {
this.outputJson(asset);
return;
}
const headers = ['ID', 'Name', 'MD5'];
const row = [asset.id, asset.name, asset.md5 || ''];
if (flags['download-url']) {
headers.push('Download URL');
row.push(asset.signedDownloadUrl || '');
}
if (flags['upload-url']) {
headers.push('Upload URL');
row.push(asset.signedUploadUrl || '');
}
this.outputTable(headers, [row]);
return;
}
const params = {
includeDownloadUrl: flags['download-url'],
includeUploadUrl: flags['upload-url'],
};
if (flags.name)
params.nameFilter = flags.name;
const assets = await this.client.assets.list(params);
const headers = ['ID', 'Name', 'MD5'];
if (flags['download-url'])
headers.push('Download URL');
if (flags['upload-url'])
headers.push('Upload URL');
const rows = assets.map((a) => {
const row = [a.id, a.name, a.md5 || ''];
if (flags['download-url'])
row.push(a.signedDownloadUrl || '');
if (flags['upload-url'])
row.push(a.signedUploadUrl || '');
return row;
});
if (flags.json) {
this.outputJson(assets);
}
else {
this.outputTable(headers, rows);
}
});
}
}
GetAsset.summary = 'List assets or get a specific one';
GetAsset.aliases = ['get assets'];
GetAsset.examples = ['<%= config.bin %> get asset', '<%= config.bin %> get asset <ID>'];
GetAsset.args = {
id: core_1.Args.string({ description: 'Asset ID to get', required: false }),
};
GetAsset.flags = {
...base_command_1.BaseCommand.baseFlags,
name: core_1.Flags.string({ description: 'Filter by asset name' }),
'download-url': core_1.Flags.boolean({ description: 'Include download URL in output', default: false }),
'upload-url': core_1.Flags.boolean({ description: 'Include upload URL in output', default: false }),
};
exports.default = GetAsset;
//# sourceMappingURL=asset.js.map
{"version":3,"file":"asset.js","sourceRoot":"","sources":["../../../src/commands/get/asset.ts"],"names":[],"mappings":"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"}
import { BaseCommand } from '../../base-command';
export default class GetIos extends BaseCommand {
static summary: string;
static aliases: string[];
static examples: string[];
static args: {
id: import("@oclif/core/lib/interfaces").Arg<string | undefined, Record<string, unknown>>;
};
static flags: {
state: import("@oclif/core/lib/interfaces").OptionFlag<string | undefined, import("@oclif/core/lib/interfaces").CustomOptions>;
region: import("@oclif/core/lib/interfaces").OptionFlag<string | undefined, import("@oclif/core/lib/interfaces").CustomOptions>;
'label-selector': import("@oclif/core/lib/interfaces").OptionFlag<string | undefined, import("@oclif/core/lib/interfaces").CustomOptions>;
all: import("@oclif/core/lib/interfaces").BooleanFlag<boolean>;
'api-key': import("@oclif/core/lib/interfaces").OptionFlag<string | undefined, import("@oclif/core/lib/interfaces").CustomOptions>;
json: import("@oclif/core/lib/interfaces").BooleanFlag<boolean>;
};
run(): Promise<void>;
}
//# sourceMappingURL=ios.d.ts.map
{"version":3,"file":"ios.d.ts","sourceRoot":"","sources":["../../../src/commands/get/ios.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AAEjD,MAAM,CAAC,OAAO,OAAO,MAAO,SAAQ,WAAW;IAC7C,MAAM,CAAC,OAAO,SAA8C;IAC5D,MAAM,CAAC,OAAO,WAAa;IAC3B,MAAM,CAAC,QAAQ,WAAmE;IAElF,MAAM,CAAC,IAAI;;MAET;IAEF,MAAM,CAAC,KAAK;;;;;;;MAMV;IAEI,GAAG,IAAI,OAAO,CAAC,IAAI,CAAC;CAkD3B"}
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
const core_1 = require("@oclif/core");
const base_command_1 = require("../../base-command");
class GetIos extends base_command_1.BaseCommand {
async run() {
const { args, flags } = await this.parse(GetIos);
this.setParsedFlags(flags);
await this.withAuth(async () => {
if (args.id) {
const instance = await this.client.iosInstances.get(args.id);
if (flags.json) {
this.outputJson(instance);
}
else {
this.outputTable(['ID', 'Name', 'Region', 'State'], [
[
instance.metadata.id,
instance.metadata.displayName || '',
instance.spec.region,
instance.status.state,
],
]);
}
return;
}
const params = {};
if (flags.state) {
params.state = flags.state;
}
else if (!flags.all) {
params.state = 'ready';
}
if (flags.region)
params.region = flags.region;
if (flags['label-selector'])
params.labelSelector = flags['label-selector'];
const instances = await this.client.iosInstances.list(params);
const items = instances.items ?? instances.getPaginatedItems();
const rows = items.map((i) => [
i.metadata.id,
i.metadata.displayName || '',
i.spec.region,
i.status.state,
]);
if (flags.json) {
this.outputJson(items);
}
else {
this.outputTable(['ID', 'Name', 'Region', 'State'], rows);
}
});
}
}
GetIos.summary = 'List iOS instances or get a specific one';
GetIos.aliases = ['get i'];
GetIos.examples = ['<%= config.bin %> get ios', '<%= config.bin %> get ios <ID>'];
GetIos.args = {
id: core_1.Args.string({ description: 'Instance ID to get', required: false }),
};
GetIos.flags = {
...base_command_1.BaseCommand.baseFlags,
state: core_1.Flags.string({ description: 'Filter by state (unknown, creating, ready, terminated)' }),
region: core_1.Flags.string({ description: 'Filter by region' }),
'label-selector': core_1.Flags.string({ description: 'Filter by labels (e.g. env=prod,region=us-west)' }),
all: core_1.Flags.boolean({ description: 'Show all states, not just ready', default: false }),
};
exports.default = GetIos;
//# sourceMappingURL=ios.js.map
{"version":3,"file":"ios.js","sourceRoot":"","sources":["../../../src/commands/get/ios.ts"],"names":[],"mappings":"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"}
import { BaseCommand } from '../../base-command';
export default class GetXcode extends BaseCommand {
static summary: string;
static examples: string[];
static args: {
id: import("@oclif/core/lib/interfaces").Arg<string | undefined, Record<string, unknown>>;
};
static flags: {
state: import("@oclif/core/lib/interfaces").OptionFlag<string | undefined, import("@oclif/core/lib/interfaces").CustomOptions>;
'label-selector': import("@oclif/core/lib/interfaces").OptionFlag<string | undefined, import("@oclif/core/lib/interfaces").CustomOptions>;
all: import("@oclif/core/lib/interfaces").BooleanFlag<boolean>;
'api-key': import("@oclif/core/lib/interfaces").OptionFlag<string | undefined, import("@oclif/core/lib/interfaces").CustomOptions>;
json: import("@oclif/core/lib/interfaces").BooleanFlag<boolean>;
};
run(): Promise<void>;
}
//# sourceMappingURL=xcode.d.ts.map
{"version":3,"file":"xcode.d.ts","sourceRoot":"","sources":["../../../src/commands/get/xcode.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AAEjD,MAAM,CAAC,OAAO,OAAO,QAAS,SAAQ,WAAW;IAC/C,MAAM,CAAC,OAAO,SAAgD;IAC9D,MAAM,CAAC,QAAQ,WAAuE;IAEtF,MAAM,CAAC,IAAI;;MAET;IAEF,MAAM,CAAC,KAAK;;;;;;MAKV;IAEI,GAAG,IAAI,OAAO,CAAC,IAAI,CAAC;CAiD3B"}
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
const core_1 = require("@oclif/core");
const base_command_1 = require("../../base-command");
class GetXcode extends base_command_1.BaseCommand {
async run() {
const { args, flags } = await this.parse(GetXcode);
this.setParsedFlags(flags);
await this.withAuth(async () => {
if (args.id) {
const instance = await this.client.xcodeInstances.get(args.id);
if (flags.json) {
this.outputJson(instance);
}
else {
this.outputTable(['ID', 'Name', 'Region', 'State'], [
[
instance.metadata.id,
instance.metadata.displayName || '',
instance.spec.region,
instance.status.state,
],
]);
}
return;
}
const params = {};
if (flags.state) {
params.state = flags.state;
}
else if (!flags.all) {
params.state = 'ready';
}
if (flags['label-selector'])
params.labelSelector = flags['label-selector'];
const instances = await this.client.xcodeInstances.list(params);
const items = instances.items ?? instances.getPaginatedItems();
const rows = items.map((i) => [
i.metadata.id,
i.metadata.displayName || '',
i.spec.region,
i.status.state,
]);
if (flags.json) {
this.outputJson(items);
}
else {
this.outputTable(['ID', 'Name', 'Region', 'State'], rows);
}
});
}
}
GetXcode.summary = 'List Xcode instances or get a specific one';
GetXcode.examples = ['<%= config.bin %> get xcode', '<%= config.bin %> get xcode <ID>'];
GetXcode.args = {
id: core_1.Args.string({ description: 'Instance ID to get', required: false }),
};
GetXcode.flags = {
...base_command_1.BaseCommand.baseFlags,
state: core_1.Flags.string({ description: 'Filter by state (unknown, creating, ready, terminated)' }),
'label-selector': core_1.Flags.string({ description: 'Filter by labels (e.g. env=prod,region=us-west)' }),
all: core_1.Flags.boolean({ description: 'Show all states, not just ready', default: false }),
};
exports.default = GetXcode;
//# sourceMappingURL=xcode.js.map
{"version":3,"file":"xcode.js","sourceRoot":"","sources":["../../../src/commands/get/xcode.ts"],"names":[],"mappings":";;AAAA,sCAA0C;AAC1C,qDAAiD;AAEjD,MAAqB,QAAS,SAAQ,0BAAW;IAe/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,IAAI,IAAI,CAAC,EAAE,EAAE,CAAC;gBACZ,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,cAAc,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;gBAC/D,IAAI,KAAK,CAAC,IAAI,EAAE,CAAC;oBACf,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC;gBAC5B,CAAC;qBAAM,CAAC;oBACN,IAAI,CAAC,WAAW,CACd,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,OAAO,CAAC,EACjC;wBACE;4BACE,QAAQ,CAAC,QAAQ,CAAC,EAAE;4BACpB,QAAQ,CAAC,QAAQ,CAAC,WAAW,IAAI,EAAE;4BACnC,QAAQ,CAAC,IAAI,CAAC,MAAM;4BACpB,QAAQ,CAAC,MAAM,CAAC,KAAK;yBACtB;qBACF,CACF,CAAC;gBACJ,CAAC;gBACD,OAAO;YACT,CAAC;YAED,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,gBAAgB,CAAC;gBAAE,MAAM,CAAC,aAAa,GAAG,KAAK,CAAC,gBAAgB,CAAC,CAAC;YAE5E,MAAM,SAAS,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,cAAc,CAAC,IAAI,CAAC,MAAa,CAAC,CAAC;YACvE,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;;AA9DM,gBAAO,GAAG,4CAA4C,CAAC;AACvD,iBAAQ,GAAG,CAAC,6BAA6B,EAAE,kCAAkC,CAAC,CAAC;AAE/E,aAAI,GAAG;IACZ,EAAE,EAAE,WAAI,CAAC,MAAM,CAAC,EAAE,WAAW,EAAE,oBAAoB,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC;CACxE,CAAC;AAEK,cAAK,GAAG;IACb,GAAG,0BAAW,CAAC,SAAS;IACxB,KAAK,EAAE,YAAK,CAAC,MAAM,CAAC,EAAE,WAAW,EAAE,wDAAwD,EAAE,CAAC;IAC9F,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;kBAbiB,QAAQ"}
import { BaseCommand } from '../base-command';
export default class Pull extends BaseCommand {
static summary: string;
static examples: string[];
static args: {
id_or_name: import("@oclif/core/lib/interfaces").Arg<string, Record<string, unknown>>;
};
static flags: {
name: import("@oclif/core/lib/interfaces").OptionFlag<string | undefined, import("@oclif/core/lib/interfaces").CustomOptions>;
output: import("@oclif/core/lib/interfaces").OptionFlag<string, import("@oclif/core/lib/interfaces").CustomOptions>;
'api-key': import("@oclif/core/lib/interfaces").OptionFlag<string | undefined, import("@oclif/core/lib/interfaces").CustomOptions>;
json: import("@oclif/core/lib/interfaces").BooleanFlag<boolean>;
};
run(): Promise<void>;
}
//# sourceMappingURL=pull.d.ts.map
{"version":3,"file":"pull.d.ts","sourceRoot":"","sources":["../../src/commands/pull.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAE9C,MAAM,CAAC,OAAO,OAAO,IAAK,SAAQ,WAAW;IAC3C,MAAM,CAAC,OAAO,SAA4B;IAC1C,MAAM,CAAC,QAAQ,WAIb;IAEF,MAAM,CAAC,IAAI;;MAET;IAEF,MAAM,CAAC,KAAK;;;;;MAQV;IAEI,GAAG,IAAI,OAAO,CAAC,IAAI,CAAC;CA+C3B"}
"use strict";
var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
const path_1 = __importDefault(require("path"));
const fs_1 = __importDefault(require("fs"));
const core_1 = require("@oclif/core");
const base_command_1 = require("../base-command");
class Pull extends base_command_1.BaseCommand {
async run() {
const { args, flags } = await this.parse(Pull);
this.setParsedFlags(flags);
await this.withAuth(async () => {
let asset;
// If the argument contains underscore prefix pattern, treat as ID; otherwise as name
const isId = args.id_or_name.includes('_');
if (isId) {
const fetched = await this.client.assets.get(args.id_or_name, { includeDownloadUrl: true });
asset = fetched;
}
else {
const searchName = flags.name || args.id_or_name;
const fetched = await this.client.assets.list({
nameFilter: searchName,
includeDownloadUrl: true,
});
const list = fetched;
if (list.length === 0) {
this.error(`Asset with name "${searchName}" not found`);
}
asset = list[0];
}
if (!asset.signedDownloadUrl) {
this.error('Asset does not have a download URL');
}
const outDir = path_1.default.resolve(flags.output);
fs_1.default.mkdirSync(outDir, { recursive: true });
const fullPath = path_1.default.join(outDir, asset.name);
this.log(`Pulling to ${fullPath}`);
const resp = await fetch(asset.signedDownloadUrl);
if (!resp.ok) {
const body = await resp.text();
this.error(`Failed to download file: ${body}`);
}
const buffer = Buffer.from(await resp.arrayBuffer());
fs_1.default.writeFileSync(fullPath, buffer);
this.log('Done!');
});
}
}
Pull.summary = 'Download an asset file';
Pull.examples = [
'<%= config.bin %> pull <ID>',
'<%= config.bin %> pull my-app.apk',
'<%= config.bin %> pull <ID> -o ./downloads',
];
Pull.args = {
id_or_name: core_1.Args.string({ description: 'Asset ID or name', required: true }),
};
Pull.flags = {
...base_command_1.BaseCommand.baseFlags,
name: core_1.Flags.string({ char: 'n', description: 'Asset name to search for' }),
output: core_1.Flags.string({
char: 'o',
description: 'Output directory (defaults to current directory)',
default: '.',
}),
};
exports.default = Pull;
//# sourceMappingURL=pull.js.map
{"version":3,"file":"pull.js","sourceRoot":"","sources":["../../src/commands/pull.ts"],"names":[],"mappings":"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"}
import { BaseCommand } from '../base-command';
export default class Push extends BaseCommand {
static summary: string;
static examples: string[];
static args: {
file: import("@oclif/core/lib/interfaces").Arg<string, Record<string, unknown>>;
};
static flags: {
name: import("@oclif/core/lib/interfaces").OptionFlag<string | undefined, import("@oclif/core/lib/interfaces").CustomOptions>;
'api-key': import("@oclif/core/lib/interfaces").OptionFlag<string | undefined, import("@oclif/core/lib/interfaces").CustomOptions>;
json: import("@oclif/core/lib/interfaces").BooleanFlag<boolean>;
};
run(): Promise<void>;
}
//# sourceMappingURL=push.d.ts.map
{"version":3,"file":"push.d.ts","sourceRoot":"","sources":["../../src/commands/push.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAE9C,MAAM,CAAC,OAAO,OAAO,IAAK,SAAQ,WAAW;IAC3C,MAAM,CAAC,OAAO,SAA0B;IACxC,MAAM,CAAC,QAAQ,WAAsF;IAErG,MAAM,CAAC,IAAI;;MAET;IAEF,MAAM,CAAC,KAAK;;;;MAGV;IAEI,GAAG,IAAI,OAAO,CAAC,IAAI,CAAC;CAsB3B"}
"use strict";
var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
const path_1 = __importDefault(require("path"));
const fs_1 = __importDefault(require("fs"));
const core_1 = require("@oclif/core");
const base_command_1 = require("../base-command");
class Push extends base_command_1.BaseCommand {
async run() {
const { args, flags } = await this.parse(Push);
this.setParsedFlags(flags);
const filePath = path_1.default.resolve(args.file);
if (!fs_1.default.existsSync(filePath)) {
this.error(`File not found: ${filePath}`);
}
const assetName = flags.name || path_1.default.basename(filePath);
this.log(`Name: ${assetName}`);
await this.withAuth(async () => {
const asset = await this.client.assets.getOrUpload({
path: filePath,
name: assetName,
});
this.log(`ID: ${asset.id}`);
this.log('\nDone!');
});
}
}
Push.summary = 'Upload an asset file';
Push.examples = ['<%= config.bin %> push ./app.apk', '<%= config.bin %> push ./app.ipa -n my-app'];
Push.args = {
file: core_1.Args.string({ description: 'Path to the file to upload', required: true }),
};
Push.flags = {
...base_command_1.BaseCommand.baseFlags,
name: core_1.Flags.string({ char: 'n', description: 'Name for the asset (defaults to filename)' }),
};
exports.default = Push;
//# sourceMappingURL=push.js.map
{"version":3,"file":"push.js","sourceRoot":"","sources":["../../src/commands/push.ts"],"names":[],"mappings":";;;;;AAAA,gDAAwB;AACxB,4CAAoB;AACpB,sCAA0C;AAC1C,kDAA8C;AAE9C,MAAqB,IAAK,SAAQ,0BAAW;IAa3C,KAAK,CAAC,GAAG;QACP,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QAC/C,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC;QAE3B,MAAM,QAAQ,GAAG,cAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACzC,IAAI,CAAC,YAAE,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAE,CAAC;YAC7B,IAAI,CAAC,KAAK,CAAC,mBAAmB,QAAQ,EAAE,CAAC,CAAC;QAC5C,CAAC;QAED,MAAM,SAAS,GAAG,KAAK,CAAC,IAAI,IAAI,cAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;QACxD,IAAI,CAAC,GAAG,CAAC,SAAS,SAAS,EAAE,CAAC,CAAC;QAE/B,MAAM,IAAI,CAAC,QAAQ,CAAC,KAAK,IAAI,EAAE;YAC7B,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,WAAW,CAAC;gBACjD,IAAI,EAAE,QAAQ;gBACd,IAAI,EAAE,SAAS;aAChB,CAAC,CAAC;YAEH,IAAI,CAAC,GAAG,CAAC,OAAO,KAAK,CAAC,EAAE,EAAE,CAAC,CAAC;YAC5B,IAAI,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;QACtB,CAAC,CAAC,CAAC;IACL,CAAC;;AAjCM,YAAO,GAAG,sBAAsB,CAAC;AACjC,aAAQ,GAAG,CAAC,kCAAkC,EAAE,4CAA4C,CAAC,CAAC;AAE9F,SAAI,GAAG;IACZ,IAAI,EAAE,WAAI,CAAC,MAAM,CAAC,EAAE,WAAW,EAAE,4BAA4B,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;CACjF,CAAC;AAEK,UAAK,GAAG;IACb,GAAG,0BAAW,CAAC,SAAS;IACxB,IAAI,EAAE,YAAK,CAAC,MAAM,CAAC,EAAE,IAAI,EAAE,GAAG,EAAE,WAAW,EAAE,2CAA2C,EAAE,CAAC;CAC5F,CAAC;kBAXiB,IAAI"}
import { BaseCommand } from '../../base-command';
export default class RunAndroid extends BaseCommand {
static summary: string;
static description: string;
static examples: string[];
static flags: {
connect: import("@oclif/core/lib/interfaces").BooleanFlag<boolean>;
stream: import("@oclif/core/lib/interfaces").BooleanFlag<boolean>;
rm: import("@oclif/core/lib/interfaces").BooleanFlag<boolean>;
'adb-path': import("@oclif/core/lib/interfaces").OptionFlag<string, import("@oclif/core/lib/interfaces").CustomOptions>;
'display-name': import("@oclif/core/lib/interfaces").OptionFlag<string | undefined, import("@oclif/core/lib/interfaces").CustomOptions>;
region: import("@oclif/core/lib/interfaces").OptionFlag<string | undefined, import("@oclif/core/lib/interfaces").CustomOptions>;
'hard-timeout': import("@oclif/core/lib/interfaces").OptionFlag<string | undefined, import("@oclif/core/lib/interfaces").CustomOptions>;
'inactivity-timeout': import("@oclif/core/lib/interfaces").OptionFlag<string | undefined, import("@oclif/core/lib/interfaces").CustomOptions>;
label: import("@oclif/core/lib/interfaces").OptionFlag<string[] | undefined, import("@oclif/core/lib/interfaces").CustomOptions>;
'reuse-if-exists': import("@oclif/core/lib/interfaces").BooleanFlag<boolean>;
'install-asset': import("@oclif/core/lib/interfaces").OptionFlag<string[] | undefined, import("@oclif/core/lib/interfaces").CustomOptions>;
install: import("@oclif/core/lib/interfaces").OptionFlag<string[] | undefined, import("@oclif/core/lib/interfaces").CustomOptions>;
'api-key': import("@oclif/core/lib/interfaces").OptionFlag<string | undefined, import("@oclif/core/lib/interfaces").CustomOptions>;
json: import("@oclif/core/lib/interfaces").BooleanFlag<boolean>;
};
run(): Promise<void>;
}
//# sourceMappingURL=android.d.ts.map
{"version":3,"file":"android.d.ts","sourceRoot":"","sources":["../../../src/commands/run/android.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AAIjD,MAAM,CAAC,OAAO,OAAO,UAAW,SAAQ,WAAW;IACjD,MAAM,CAAC,OAAO,SAAmC;IACjD,MAAM,CAAC,WAAW,SACkF;IAEpG,MAAM,CAAC,QAAQ,WAIb;IAEF,MAAM,CAAC,KAAK;;;;;;;;;;;;;;;MAwBV;IAEI,GAAG,IAAI,OAAO,CAAC,IAAI,CAAC;CA6G3B"}
"use strict";
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
if (k2 === undefined) k2 = k;
var desc = Object.getOwnPropertyDescriptor(m, k);
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
desc = { enumerable: true, get: function() { return m[k]; } };
}
Object.defineProperty(o, k2, desc);
}) : (function(o, m, k, k2) {
if (k2 === undefined) k2 = k;
o[k2] = m[k];
}));
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
Object.defineProperty(o, "default", { enumerable: true, value: v });
}) : function(o, v) {
o["default"] = v;
});
var __importStar = (this && this.__importStar) || (function () {
var ownKeys = function(o) {
ownKeys = Object.getOwnPropertyNames || function (o) {
var ar = [];
for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
return ar;
};
return ownKeys(o);
};
return function (mod) {
if (mod && mod.__esModule) return mod;
var result = {};
if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
__setModuleDefault(result, mod);
return result;
};
})();
var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
const path_1 = __importDefault(require("path"));
const child_process_1 = require("child_process");
const core_1 = require("@oclif/core");
const base_command_1 = require("../../base-command");
const formatting_1 = require("../../lib/formatting");
class RunAndroid extends base_command_1.BaseCommand {
async run() {
const { flags } = await this.parse(RunAndroid);
this.setParsedFlags(flags);
await this.withAuth(async () => {
// Upload local files first
const assetNames = [...(flags['install-asset'] || [])];
if (flags.install) {
for (const filePath of flags.install) {
const resolved = path_1.default.resolve(filePath);
const name = path_1.default.basename(resolved);
this.log(`Uploading ${name}...`);
const asset = await this.client.assets.getOrUpload({ path: resolved, name });
assetNames.push(asset.name);
}
this.log(`Successfully uploaded ${flags.install.length} file(s)`);
}
// Build params
const params = {
wait: true,
reuseIfExists: flags['reuse-if-exists'] || undefined,
spec: {},
};
if (assetNames.length > 0) {
params.spec.initialAssets = assetNames.map((name) => ({
kind: 'App',
source: 'AssetName',
assetName: name,
}));
}
if (flags.region)
params.spec.region = flags.region;
if (flags['hard-timeout'])
params.spec.hardTimeout = flags['hard-timeout'];
if (flags['inactivity-timeout'])
params.spec.inactivityTimeout = flags['inactivity-timeout'];
const labels = (0, formatting_1.parseLabels)(flags.label);
if (flags['display-name'] || labels) {
params.metadata = {};
if (flags['display-name'])
params.metadata.displayName = flags['display-name'];
if (labels)
params.metadata.labels = labels;
}
const start = Date.now();
const instance = await this.client.androidInstances.create(params);
this.log(`Created a new instance in ${((Date.now() - start) / 1000).toFixed(1)}s`);
if (flags.rm) {
const cleanup = async () => {
try {
await this.client.androidInstances.delete(instance.metadata.id);
this.log(`${instance.metadata.id} is deleted`);
}
catch (e) {
this.log(`Failed to delete instance: ${e}`);
}
};
process.on('SIGINT', async () => {
await cleanup();
process.exit(0);
});
process.on('SIGTERM', async () => {
await cleanup();
process.exit(0);
});
}
if (flags.connect) {
const { createInstanceClient } = await Promise.resolve().then(() => __importStar(require('@limrun/api')));
const instanceClient = await createInstanceClient({
apiUrl: instance.status.apiUrl,
adbUrl: instance.status.adbWebSocketUrl,
token: instance.status.token,
});
const tunnel = await instanceClient.startAdbTunnel();
if (flags.stream) {
const addr = `${tunnel.address.address}:${tunnel.address.port}`;
const scrcpy = (0, child_process_1.spawn)('scrcpy', ['-s', addr], { stdio: 'inherit' });
scrcpy.on('error', (err) => {
this.warn(`Failed to start scrcpy: ${err.message}`);
});
scrcpy.on('close', () => {
process.kill(process.pid, 'SIGTERM');
});
}
this.log('Tunnel started. Press Ctrl+C to stop.');
await new Promise((resolve) => {
const keepAlive = setInterval(() => { }, 1 << 30);
const shutdown = () => {
clearInterval(keepAlive);
resolve();
};
process.on('SIGINT', shutdown);
process.on('SIGTERM', shutdown);
});
tunnel.close();
instanceClient.disconnect();
}
else {
this.log(`Created instance ${instance.metadata.id}`);
if (flags.json) {
this.outputJson(instance);
}
}
});
}
}
RunAndroid.summary = 'Create a new Android instance';
RunAndroid.description = 'Creates and optionally connects to a new Android instance with ADB tunnel and scrcpy streaming.';
RunAndroid.examples = [
'<%= config.bin %> run android',
'<%= config.bin %> run android --rm --install ./app.apk',
'<%= config.bin %> run android --region us-west --label env=dev',
];
RunAndroid.flags = {
...base_command_1.BaseCommand.baseFlags,
connect: core_1.Flags.boolean({
description: 'Connect to the instance (start ADB tunnel)',
default: true,
allowNo: true,
}),
stream: core_1.Flags.boolean({ description: 'Stream the instance with scrcpy', default: true, allowNo: true }),
rm: core_1.Flags.boolean({ description: 'Delete instance on exit', default: false }),
'adb-path': core_1.Flags.string({ description: 'Path to adb binary', default: 'adb' }),
'display-name': core_1.Flags.string({ description: 'Display name for the instance' }),
region: core_1.Flags.string({ description: 'Region where the instance will be created' }),
'hard-timeout': core_1.Flags.string({ description: 'Hard timeout (e.g. 1m, 10m, 3h). Default: no timeout' }),
'inactivity-timeout': core_1.Flags.string({ description: 'Inactivity timeout (e.g. 1m, 10m, 3h). Default: 3m' }),
label: core_1.Flags.string({ description: 'Labels in key=value format', multiple: true }),
'reuse-if-exists': core_1.Flags.boolean({
description: 'Reuse existing instance with same labels/region',
default: false,
}),
'install-asset': core_1.Flags.string({ description: 'Asset name to install (can be repeated)', multiple: true }),
install: core_1.Flags.string({
description: 'Local file to install (auto-uploads if needed, can be repeated)',
multiple: true,
}),
};
exports.default = RunAndroid;
//# sourceMappingURL=android.js.map
{"version":3,"file":"android.js","sourceRoot":"","sources":["../../../src/commands/run/android.ts"],"names":[],"mappings":"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"}
import { BaseCommand } from '../../base-command';
export default class RunIos extends BaseCommand {
static summary: string;
static description: string;
static examples: string[];
static flags: {
rm: import("@oclif/core/lib/interfaces").BooleanFlag<boolean>;
'display-name': import("@oclif/core/lib/interfaces").OptionFlag<string | undefined, import("@oclif/core/lib/interfaces").CustomOptions>;
region: import("@oclif/core/lib/interfaces").OptionFlag<string | undefined, import("@oclif/core/lib/interfaces").CustomOptions>;
'hard-timeout': import("@oclif/core/lib/interfaces").OptionFlag<string | undefined, import("@oclif/core/lib/interfaces").CustomOptions>;
'inactivity-timeout': import("@oclif/core/lib/interfaces").OptionFlag<string | undefined, import("@oclif/core/lib/interfaces").CustomOptions>;
label: import("@oclif/core/lib/interfaces").OptionFlag<string[] | undefined, import("@oclif/core/lib/interfaces").CustomOptions>;
model: import("@oclif/core/lib/interfaces").OptionFlag<string | undefined, import("@oclif/core/lib/interfaces").CustomOptions>;
'reuse-if-exists': import("@oclif/core/lib/interfaces").BooleanFlag<boolean>;
'install-asset': import("@oclif/core/lib/interfaces").OptionFlag<string[] | undefined, import("@oclif/core/lib/interfaces").CustomOptions>;
install: import("@oclif/core/lib/interfaces").OptionFlag<string[] | undefined, import("@oclif/core/lib/interfaces").CustomOptions>;
xcode: import("@oclif/core/lib/interfaces").BooleanFlag<boolean>;
'api-key': import("@oclif/core/lib/interfaces").OptionFlag<string | undefined, import("@oclif/core/lib/interfaces").CustomOptions>;
json: import("@oclif/core/lib/interfaces").BooleanFlag<boolean>;
};
run(): Promise<void>;
}
//# sourceMappingURL=ios.d.ts.map
{"version":3,"file":"ios.d.ts","sourceRoot":"","sources":["../../../src/commands/run/ios.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AAKjD,MAAM,CAAC,OAAO,OAAO,MAAO,SAAQ,WAAW;IAC7C,MAAM,CAAC,OAAO,SAA+B;IAC7C,MAAM,CAAC,WAAW,SAAwD;IAE1E,MAAM,CAAC,QAAQ,WAIb;IAEF,MAAM,CAAC,KAAK;;;;;;;;;;;;;;MAmBV;IAEI,GAAG,IAAI,OAAO,CAAC,IAAI,CAAC;CA0F3B"}
"use strict";
var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
const path_1 = __importDefault(require("path"));
const core_1 = require("@oclif/core");
const base_command_1 = require("../../base-command");
const formatting_1 = require("../../lib/formatting");
const config_1 = require("../../lib/config");
class RunIos extends base_command_1.BaseCommand {
async run() {
const { flags } = await this.parse(RunIos);
this.setParsedFlags(flags);
await this.withAuth(async () => {
// Upload local files first
const assetNames = [...(flags['install-asset'] || [])];
if (flags.install) {
for (const filePath of flags.install) {
const resolved = path_1.default.resolve(filePath);
const name = path_1.default.basename(resolved);
this.log(`Uploading ${name}...`);
const asset = await this.client.assets.getOrUpload({ path: resolved, name });
assetNames.push(asset.name);
}
this.log(`Successfully uploaded ${flags.install.length} file(s)`);
}
// Build params
const params = {
wait: true,
reuseIfExists: flags['reuse-if-exists'] || undefined,
spec: {},
};
if (assetNames.length > 0) {
params.spec.initialAssets = assetNames.map((name) => ({
kind: 'App',
source: 'AssetName',
assetName: name,
}));
}
if (flags.region)
params.spec.region = flags.region;
if (flags.model)
params.spec.model = flags.model;
if (flags['hard-timeout'])
params.spec.hardTimeout = flags['hard-timeout'];
if (flags['inactivity-timeout'])
params.spec.inactivityTimeout = flags['inactivity-timeout'];
if (flags.xcode) {
params.spec.sandbox = { xcode: { enabled: true } };
}
const labels = (0, formatting_1.parseLabels)(flags.label);
if (flags['display-name'] || labels) {
params.metadata = {};
if (flags['display-name'])
params.metadata.displayName = flags['display-name'];
if (labels)
params.metadata.labels = labels;
}
const start = Date.now();
const instance = await this.client.iosInstances.create(params);
this.log(`Created a new iOS instance in ${((Date.now() - start) / 1000).toFixed(1)}s`);
this.log(`Instance ID: ${instance.metadata.id}`);
this.log(`Region: ${instance.spec.region}`);
this.log(`State: ${instance.status.state}`);
if (instance.status.sandbox?.xcode?.url) {
this.log(`Xcode Sandbox: ${instance.status.sandbox.xcode.url}`);
(0, config_1.saveInstanceCache)(instance.metadata.id, {
sandboxXcodeUrl: instance.status.sandbox.xcode.url,
token: instance.status.token,
});
}
if (flags.json) {
this.outputJson(instance);
}
if (flags.rm) {
const cleanup = async () => {
try {
await this.client.iosInstances.delete(instance.metadata.id);
this.log(`${instance.metadata.id} is deleted`);
}
catch (e) {
this.log(`Failed to delete instance: ${e}`);
}
};
this.log('Instance running. Press Ctrl+C to stop and delete.');
await new Promise((resolve) => {
const keepAlive = setInterval(() => { }, 1 << 30);
const shutdown = () => {
clearInterval(keepAlive);
resolve();
};
process.on('SIGINT', shutdown);
process.on('SIGTERM', shutdown);
});
await cleanup();
}
});
}
}
RunIos.summary = 'Create a new iOS instance';
RunIos.description = 'Creates a new iOS simulator instance in the cloud.';
RunIos.examples = [
'<%= config.bin %> run ios',
'<%= config.bin %> run ios --rm --model ipad',
'<%= config.bin %> run ios --region us-west --install-asset my-app.ipa',
];
RunIos.flags = {
...base_command_1.BaseCommand.baseFlags,
rm: core_1.Flags.boolean({ description: 'Delete instance on exit', default: false }),
'display-name': core_1.Flags.string({ description: 'Display name for the instance' }),
region: core_1.Flags.string({ description: 'Region where the instance will be created' }),
'hard-timeout': core_1.Flags.string({ description: 'Hard timeout (e.g. 1m, 10m, 3h). Default: no timeout' }),
'inactivity-timeout': core_1.Flags.string({ description: 'Inactivity timeout (e.g. 1m, 10m, 3h). Default: 3m' }),
label: core_1.Flags.string({ description: 'Labels in key=value format', multiple: true }),
model: core_1.Flags.string({
description: 'Device model (iphone, ipad, watch)',
options: ['iphone', 'ipad', 'watch'],
}),
'reuse-if-exists': core_1.Flags.boolean({
description: 'Reuse existing instance with same labels/region',
default: false,
}),
'install-asset': core_1.Flags.string({ description: 'Asset name to install', multiple: true }),
install: core_1.Flags.string({ description: 'Local file to install (auto-uploads if needed)', multiple: true }),
xcode: core_1.Flags.boolean({ description: 'Enable Xcode sandbox on this iOS instance', default: false }),
};
exports.default = RunIos;
//# sourceMappingURL=ios.js.map
{"version":3,"file":"ios.js","sourceRoot":"","sources":["../../../src/commands/run/ios.ts"],"names":[],"mappings":";;;;;AAAA,gDAAwB;AACxB,sCAAoC;AACpC,qDAAiD;AACjD,qDAAmD;AACnD,6CAAqD;AAGrD,MAAqB,MAAO,SAAQ,0BAAW;IA+B7C,KAAK,CAAC,GAAG;QACP,MAAM,EAAE,KAAK,EAAE,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;QAC3C,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC;QAE3B,MAAM,IAAI,CAAC,QAAQ,CAAC,KAAK,IAAI,EAAE;YAC7B,2BAA2B;YAC3B,MAAM,UAAU,GAAa,CAAC,GAAG,CAAC,KAAK,CAAC,eAAe,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;YACjE,IAAI,KAAK,CAAC,OAAO,EAAE,CAAC;gBAClB,KAAK,MAAM,QAAQ,IAAI,KAAK,CAAC,OAAO,EAAE,CAAC;oBACrC,MAAM,QAAQ,GAAG,cAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;oBACxC,MAAM,IAAI,GAAG,cAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;oBACrC,IAAI,CAAC,GAAG,CAAC,aAAa,IAAI,KAAK,CAAC,CAAC;oBACjC,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,WAAW,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC;oBAC7E,UAAU,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;gBAC9B,CAAC;gBACD,IAAI,CAAC,GAAG,CAAC,yBAAyB,KAAK,CAAC,OAAO,CAAC,MAAM,UAAU,CAAC,CAAC;YACpE,CAAC;YAED,eAAe;YACf,MAAM,MAAM,GAA4B;gBACtC,IAAI,EAAE,IAAI;gBACV,aAAa,EAAE,KAAK,CAAC,iBAAiB,CAAC,IAAI,SAAS;gBACpD,IAAI,EAAE,EAAE;aACT,CAAC;YAEF,IAAI,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBAC1B,MAAM,CAAC,IAAK,CAAC,aAAa,GAAG,UAAU,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;oBACrD,IAAI,EAAE,KAAc;oBACpB,MAAM,EAAE,WAAoB;oBAC5B,SAAS,EAAE,IAAI;iBAChB,CAAC,CAAC,CAAC;YACN,CAAC;YAED,IAAI,KAAK,CAAC,MAAM;gBAAE,MAAM,CAAC,IAAK,CAAC,MAAM,GAAG,KAAK,CAAC,MAAM,CAAC;YACrD,IAAI,KAAK,CAAC,KAAK;gBAAE,MAAM,CAAC,IAAK,CAAC,KAAK,GAAG,KAAK,CAAC,KAAoC,CAAC;YACjF,IAAI,KAAK,CAAC,cAAc,CAAC;gBAAE,MAAM,CAAC,IAAK,CAAC,WAAW,GAAG,KAAK,CAAC,cAAc,CAAC,CAAC;YAC5E,IAAI,KAAK,CAAC,oBAAoB,CAAC;gBAAE,MAAM,CAAC,IAAK,CAAC,iBAAiB,GAAG,KAAK,CAAC,oBAAoB,CAAC,CAAC;YAC9F,IAAI,KAAK,CAAC,KAAK,EAAE,CAAC;gBAChB,MAAM,CAAC,IAAK,CAAC,OAAO,GAAG,EAAE,KAAK,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,EAAE,CAAC;YACtD,CAAC;YAED,MAAM,MAAM,GAAG,IAAA,wBAAW,EAAC,KAAK,CAAC,KAAK,CAAC,CAAC;YACxC,IAAI,KAAK,CAAC,cAAc,CAAC,IAAI,MAAM,EAAE,CAAC;gBACpC,MAAM,CAAC,QAAQ,GAAG,EAAE,CAAC;gBACrB,IAAI,KAAK,CAAC,cAAc,CAAC;oBAAE,MAAM,CAAC,QAAQ,CAAC,WAAW,GAAG,KAAK,CAAC,cAAc,CAAC,CAAC;gBAC/E,IAAI,MAAM;oBAAE,MAAM,CAAC,QAAQ,CAAC,MAAM,GAAG,MAAM,CAAC;YAC9C,CAAC;YAED,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;YACzB,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,YAAY,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;YAC/D,IAAI,CAAC,GAAG,CAAC,iCAAiC,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,KAAK,CAAC,GAAG,IAAI,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;YACvF,IAAI,CAAC,GAAG,CAAC,gBAAgB,QAAQ,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC,CAAC;YACjD,IAAI,CAAC,GAAG,CAAC,WAAW,QAAQ,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC;YAC5C,IAAI,CAAC,GAAG,CAAC,UAAU,QAAQ,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC;YAC5C,IAAI,QAAQ,CAAC,MAAM,CAAC,OAAO,EAAE,KAAK,EAAE,GAAG,EAAE,CAAC;gBACxC,IAAI,CAAC,GAAG,CAAC,kBAAkB,QAAQ,CAAC,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,CAAC;gBAChE,IAAA,0BAAiB,EAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE,EAAE;oBACtC,eAAe,EAAE,QAAQ,CAAC,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,GAAG;oBAClD,KAAK,EAAE,QAAQ,CAAC,MAAM,CAAC,KAAK;iBAC7B,CAAC,CAAC;YACL,CAAC;YAED,IAAI,KAAK,CAAC,IAAI,EAAE,CAAC;gBACf,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC;YAC5B,CAAC;YAED,IAAI,KAAK,CAAC,EAAE,EAAE,CAAC;gBACb,MAAM,OAAO,GAAG,KAAK,IAAI,EAAE;oBACzB,IAAI,CAAC;wBACH,MAAM,IAAI,CAAC,MAAM,CAAC,YAAY,CAAC,MAAM,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;wBAC5D,IAAI,CAAC,GAAG,CAAC,GAAG,QAAQ,CAAC,QAAQ,CAAC,EAAE,aAAa,CAAC,CAAC;oBACjD,CAAC;oBAAC,OAAO,CAAC,EAAE,CAAC;wBACX,IAAI,CAAC,GAAG,CAAC,8BAA8B,CAAC,EAAE,CAAC,CAAC;oBAC9C,CAAC;gBACH,CAAC,CAAC;gBAEF,IAAI,CAAC,GAAG,CAAC,oDAAoD,CAAC,CAAC;gBAC/D,MAAM,IAAI,OAAO,CAAO,CAAC,OAAO,EAAE,EAAE;oBAClC,MAAM,SAAS,GAAG,WAAW,CAAC,GAAG,EAAE,GAAE,CAAC,EAAE,CAAC,IAAI,EAAE,CAAC,CAAC;oBACjD,MAAM,QAAQ,GAAG,GAAG,EAAE;wBACpB,aAAa,CAAC,SAAS,CAAC,CAAC;wBACzB,OAAO,EAAE,CAAC;oBACZ,CAAC,CAAC;oBACF,OAAO,CAAC,EAAE,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC;oBAC/B,OAAO,CAAC,EAAE,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAC;gBAClC,CAAC,CAAC,CAAC;gBACH,MAAM,OAAO,EAAE,CAAC;YAClB,CAAC;QACH,CAAC,CAAC,CAAC;IACL,CAAC;;AAvHM,cAAO,GAAG,2BAA2B,CAAC;AACtC,kBAAW,GAAG,oDAAoD,CAAC;AAEnE,eAAQ,GAAG;IAChB,2BAA2B;IAC3B,6CAA6C;IAC7C,uEAAuE;CACxE,CAAC;AAEK,YAAK,GAAG;IACb,GAAG,0BAAW,CAAC,SAAS;IACxB,EAAE,EAAE,YAAK,CAAC,OAAO,CAAC,EAAE,WAAW,EAAE,yBAAyB,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC;IAC7E,cAAc,EAAE,YAAK,CAAC,MAAM,CAAC,EAAE,WAAW,EAAE,+BAA+B,EAAE,CAAC;IAC9E,MAAM,EAAE,YAAK,CAAC,MAAM,CAAC,EAAE,WAAW,EAAE,2CAA2C,EAAE,CAAC;IAClF,cAAc,EAAE,YAAK,CAAC,MAAM,CAAC,EAAE,WAAW,EAAE,sDAAsD,EAAE,CAAC;IACrG,oBAAoB,EAAE,YAAK,CAAC,MAAM,CAAC,EAAE,WAAW,EAAE,oDAAoD,EAAE,CAAC;IACzG,KAAK,EAAE,YAAK,CAAC,MAAM,CAAC,EAAE,WAAW,EAAE,4BAA4B,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;IAClF,KAAK,EAAE,YAAK,CAAC,MAAM,CAAC;QAClB,WAAW,EAAE,oCAAoC;QACjD,OAAO,EAAE,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,CAAC;KACrC,CAAC;IACF,iBAAiB,EAAE,YAAK,CAAC,OAAO,CAAC;QAC/B,WAAW,EAAE,iDAAiD;QAC9D,OAAO,EAAE,KAAK;KACf,CAAC;IACF,eAAe,EAAE,YAAK,CAAC,MAAM,CAAC,EAAE,WAAW,EAAE,uBAAuB,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;IACvF,OAAO,EAAE,YAAK,CAAC,MAAM,CAAC,EAAE,WAAW,EAAE,gDAAgD,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;IACxG,KAAK,EAAE,YAAK,CAAC,OAAO,CAAC,EAAE,WAAW,EAAE,2CAA2C,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC;CACnG,CAAC;kBA7BiB,MAAM"}
import { BaseCommand } from '../../base-command';
export default class RunXcode extends BaseCommand {
static summary: string;
static description: string;
static examples: string[];
static flags: {
rm: import("@oclif/core/lib/interfaces").BooleanFlag<boolean>;
'display-name': import("@oclif/core/lib/interfaces").OptionFlag<string | undefined, import("@oclif/core/lib/interfaces").CustomOptions>;
region: import("@oclif/core/lib/interfaces").OptionFlag<string | undefined, import("@oclif/core/lib/interfaces").CustomOptions>;
'hard-timeout': import("@oclif/core/lib/interfaces").OptionFlag<string | undefined, import("@oclif/core/lib/interfaces").CustomOptions>;
'inactivity-timeout': import("@oclif/core/lib/interfaces").OptionFlag<string | undefined, import("@oclif/core/lib/interfaces").CustomOptions>;
label: import("@oclif/core/lib/interfaces").OptionFlag<string[] | undefined, import("@oclif/core/lib/interfaces").CustomOptions>;
'reuse-if-exists': import("@oclif/core/lib/interfaces").BooleanFlag<boolean>;
'api-key': import("@oclif/core/lib/interfaces").OptionFlag<string | undefined, import("@oclif/core/lib/interfaces").CustomOptions>;
json: import("@oclif/core/lib/interfaces").BooleanFlag<boolean>;
};
run(): Promise<void>;
}
//# sourceMappingURL=xcode.d.ts.map
{"version":3,"file":"xcode.d.ts","sourceRoot":"","sources":["../../../src/commands/run/xcode.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AAIjD,MAAM,CAAC,OAAO,OAAO,QAAS,SAAQ,WAAW;IAC/C,MAAM,CAAC,OAAO,SAAiC;IAC/C,MAAM,CAAC,WAAW,SAA8D;IAEhF,MAAM,CAAC,QAAQ,WAAwF;IAEvG,MAAM,CAAC,KAAK;;;;;;;;;;MAYV;IAEI,GAAG,IAAI,OAAO,CAAC,IAAI,CAAC;CAyD3B"}
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
const core_1 = require("@oclif/core");
const base_command_1 = require("../../base-command");
const formatting_1 = require("../../lib/formatting");
class RunXcode extends base_command_1.BaseCommand {
async run() {
const { flags } = await this.parse(RunXcode);
this.setParsedFlags(flags);
await this.withAuth(async () => {
const params = {
wait: true,
reuseIfExists: flags['reuse-if-exists'] || undefined,
spec: {},
};
if (flags.region)
params.spec.region = flags.region;
if (flags['hard-timeout'])
params.spec.hardTimeout = flags['hard-timeout'];
if (flags['inactivity-timeout'])
params.spec.inactivityTimeout = flags['inactivity-timeout'];
const labels = (0, formatting_1.parseLabels)(flags.label);
if (flags['display-name'] || labels) {
params.metadata = {};
if (flags['display-name'])
params.metadata.displayName = flags['display-name'];
if (labels)
params.metadata.labels = labels;
}
const start = Date.now();
const instance = await this.client.xcodeInstances.create(params);
this.log(`Created a new Xcode instance in ${((Date.now() - start) / 1000).toFixed(1)}s`);
this.log(`Instance ID: ${instance.metadata.id}`);
this.log(`Region: ${instance.spec.region}`);
this.log(`State: ${instance.status.state}`);
if (flags.json) {
this.outputJson(instance);
}
if (flags.rm) {
const cleanup = async () => {
try {
await this.client.xcodeInstances.delete(instance.metadata.id);
this.log(`${instance.metadata.id} is deleted`);
}
catch (e) {
this.log(`Failed to delete instance: ${e}`);
}
};
this.log('Instance running. Press Ctrl+C to stop and delete.');
await new Promise((resolve) => {
const keepAlive = setInterval(() => { }, 1 << 30);
const shutdown = () => {
clearInterval(keepAlive);
resolve();
};
process.on('SIGINT', shutdown);
process.on('SIGTERM', shutdown);
});
await cleanup();
}
});
}
}
RunXcode.summary = 'Create a new Xcode instance';
RunXcode.description = 'Creates a new Xcode build sandbox instance in the cloud.';
RunXcode.examples = ['<%= config.bin %> run xcode', '<%= config.bin %> run xcode --rm --region us-west'];
RunXcode.flags = {
...base_command_1.BaseCommand.baseFlags,
rm: core_1.Flags.boolean({ description: 'Delete instance on exit', default: false }),
'display-name': core_1.Flags.string({ description: 'Display name for the instance' }),
region: core_1.Flags.string({ description: 'Region where the instance will be created' }),
'hard-timeout': core_1.Flags.string({ description: 'Hard timeout (e.g. 1m, 10m, 3h). Default: no timeout' }),
'inactivity-timeout': core_1.Flags.string({ description: 'Inactivity timeout (e.g. 1m, 10m, 3h). Default: 3m' }),
label: core_1.Flags.string({ description: 'Labels in key=value format', multiple: true }),
'reuse-if-exists': core_1.Flags.boolean({
description: 'Reuse existing instance with same labels/region',
default: false,
}),
};
exports.default = RunXcode;
//# sourceMappingURL=xcode.js.map
{"version":3,"file":"xcode.js","sourceRoot":"","sources":["../../../src/commands/run/xcode.ts"],"names":[],"mappings":"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"}