lim 0.29.1 → 0.29.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (34) hide show
  1. package/README.md +8 -4
  2. package/dist/commands/android/adb-shell.d.ts +19 -0
  3. package/dist/commands/android/adb-shell.d.ts.map +1 -0
  4. package/dist/commands/android/adb-shell.js +68 -0
  5. package/dist/commands/android/adb-shell.js.map +1 -0
  6. package/dist/commands/android/create.d.ts +1 -0
  7. package/dist/commands/android/create.d.ts.map +1 -1
  8. package/dist/commands/android/create.js +7 -0
  9. package/dist/commands/android/create.js.map +1 -1
  10. package/dist/commands/android/pull-file.d.ts +21 -0
  11. package/dist/commands/android/pull-file.d.ts.map +1 -0
  12. package/dist/commands/android/pull-file.js +67 -0
  13. package/dist/commands/android/pull-file.js.map +1 -0
  14. package/dist/commands/ios/tunnel/index.d.ts +29 -0
  15. package/dist/commands/ios/tunnel/index.d.ts.map +1 -0
  16. package/dist/commands/ios/tunnel/index.js +302 -0
  17. package/dist/commands/ios/tunnel/index.js.map +1 -0
  18. package/dist/commands/ios/tunnel/status.d.ts +17 -0
  19. package/dist/commands/ios/tunnel/status.d.ts.map +1 -0
  20. package/dist/commands/ios/tunnel/status.js +79 -0
  21. package/dist/commands/ios/tunnel/status.js.map +1 -0
  22. package/dist/commands/ios/tunnel/stop.d.ts +21 -0
  23. package/dist/commands/ios/tunnel/stop.d.ts.map +1 -0
  24. package/dist/commands/ios/tunnel/stop.js +148 -0
  25. package/dist/commands/ios/tunnel/stop.js.map +1 -0
  26. package/dist/lib/ios-tunnel-process.d.ts +70 -0
  27. package/dist/lib/ios-tunnel-process.d.ts.map +1 -0
  28. package/dist/lib/ios-tunnel-process.js +502 -0
  29. package/dist/lib/ios-tunnel-process.js.map +1 -0
  30. package/dist/lib/ios-tunnel-process.test.d.ts +2 -0
  31. package/dist/lib/ios-tunnel-process.test.d.ts.map +1 -0
  32. package/dist/lib/ios-tunnel-process.test.js +339 -0
  33. package/dist/lib/ios-tunnel-process.test.js.map +1 -0
  34. package/package.json +3 -3
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/commands/ios/tunnel/index.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,17 @@
1
+ import { BaseCommand } from '../../../base-command';
2
+ export default class IosTunnelStatus extends BaseCommand {
3
+ static summary: string;
4
+ static description: string;
5
+ static examples: string[];
6
+ static flags: {
7
+ create: import("@oclif/core/lib/interfaces").BooleanFlag<boolean>;
8
+ id: import("@oclif/core/lib/interfaces").OptionFlag<string | undefined, import("@oclif/core/lib/interfaces").CustomOptions>;
9
+ 'api-key': import("@oclif/core/lib/interfaces").OptionFlag<string | undefined, import("@oclif/core/lib/interfaces").CustomOptions>;
10
+ json: import("@oclif/core/lib/interfaces").BooleanFlag<boolean>;
11
+ quiet: import("@oclif/core/lib/interfaces").BooleanFlag<boolean>;
12
+ workspace: import("@oclif/core/lib/interfaces").OptionFlag<string | undefined, import("@oclif/core/lib/interfaces").CustomOptions>;
13
+ daemon: import("@oclif/core/lib/interfaces").BooleanFlag<boolean>;
14
+ };
15
+ run(): Promise<void>;
16
+ }
17
+ //# sourceMappingURL=status.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"status.d.ts","sourceRoot":"","sources":["../../../../src/commands/ios/tunnel/status.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AASpD,MAAM,CAAC,OAAO,OAAO,eAAgB,SAAQ,WAAW;IACtD,MAAM,CAAC,OAAO,SAAwC;IACtD,MAAM,CAAC,WAAW,SACoF;IACtG,MAAM,CAAC,QAAQ,WAGb;IAEF,MAAM,CAAC,KAAK;;;;;;;;MAYV;IAEI,GAAG,IAAI,OAAO,CAAC,IAAI,CAAC;CAsD3B"}
@@ -0,0 +1,79 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const core_1 = require("@oclif/core");
4
+ const base_command_1 = require("../../../base-command");
5
+ const instance_client_factory_1 = require("../../../lib/instance-client-factory");
6
+ const ios_tunnel_process_1 = require("../../../lib/ios-tunnel-process");
7
+ class IosTunnelStatus extends base_command_1.BaseCommand {
8
+ async run() {
9
+ const { flags } = await this.parse(IosTunnelStatus);
10
+ this.setParsedFlags(flags);
11
+ if (flags.create) {
12
+ this.error('Tunnel status cannot create a replacement instance.');
13
+ }
14
+ await this.withAuth(async () => {
15
+ const resolvedInstance = this.resolveIosInstance(flags.id);
16
+ const { client, disconnect } = await (0, instance_client_factory_1.getIosInstanceClient)(this.client, resolvedInstance);
17
+ try {
18
+ const status = await client.getTunnelStatus();
19
+ const owners = (0, ios_tunnel_process_1.listTunnelProcesses)(resolvedInstance.id).map((state) => ({
20
+ owner: state.owner,
21
+ pid: state.pid,
22
+ status: state.status,
23
+ tunnelId: state.tunnelId,
24
+ logPath: state.logPath,
25
+ process: (0, ios_tunnel_process_1.tunnelOwnerProcessIdentity)(state),
26
+ }));
27
+ if (this.isJsonEnabled()) {
28
+ this.outputJson({
29
+ instanceId: resolvedInstance.id,
30
+ ...status,
31
+ localOwners: owners,
32
+ });
33
+ return;
34
+ }
35
+ if (status.active) {
36
+ this.output(`Tunnel ${status.active.tunnelId}: ${status.active.state}`);
37
+ for (const route of status.active.routes) {
38
+ this.output(`Route: ${(0, ios_tunnel_process_1.formatTunnelRoute)(route)}`);
39
+ }
40
+ }
41
+ else {
42
+ this.output('No active destination tunnel.');
43
+ }
44
+ if (status.lastFailure) {
45
+ this.output(`Last failure: ${status.lastFailure.tunnelId} (${status.lastFailure.code})`);
46
+ }
47
+ if (status.lastDialFailure) {
48
+ this.output((0, ios_tunnel_process_1.formatTunnelDialFailure)(status.lastDialFailure));
49
+ }
50
+ for (const owner of owners) {
51
+ this.output(`Local owner: PID ${owner.pid} (${owner.process}, ${owner.status})${owner.logPath ? `, logs: ${owner.logPath}` : ''}`);
52
+ }
53
+ }
54
+ finally {
55
+ disconnect();
56
+ }
57
+ });
58
+ }
59
+ }
60
+ IosTunnelStatus.summary = 'Show the active destination tunnel';
61
+ IosTunnelStatus.description = 'Query the instance-authoritative tunnel state, most recent failure, and any local detached owner.';
62
+ IosTunnelStatus.examples = [
63
+ '<%= config.bin %> ios tunnel status --id <instance-ID>',
64
+ '<%= config.bin %> ios tunnel status --id <instance-ID> --json',
65
+ ];
66
+ IosTunnelStatus.flags = {
67
+ ...base_command_1.BaseCommand.baseFlags,
68
+ create: core_1.Flags.boolean({
69
+ description: 'Create a replacement instance if the target is gone. Disabled by default for status queries.',
70
+ default: false,
71
+ allowNo: true,
72
+ hidden: true,
73
+ }),
74
+ id: core_1.Flags.string({
75
+ description: 'iOS instance ID to query. Defaults to the last created iOS instance.',
76
+ }),
77
+ };
78
+ exports.default = IosTunnelStatus;
79
+ //# sourceMappingURL=status.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"status.js","sourceRoot":"","sources":["../../../../src/commands/ios/tunnel/status.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,21 @@
1
+ import { BaseCommand } from '../../../base-command';
2
+ export default class IosTunnelStop extends BaseCommand {
3
+ static summary: string;
4
+ static description: string;
5
+ static examples: string[];
6
+ static flags: {
7
+ create: import("@oclif/core/lib/interfaces").BooleanFlag<boolean>;
8
+ id: import("@oclif/core/lib/interfaces").OptionFlag<string | undefined, import("@oclif/core/lib/interfaces").CustomOptions>;
9
+ 'api-key': import("@oclif/core/lib/interfaces").OptionFlag<string | undefined, import("@oclif/core/lib/interfaces").CustomOptions>;
10
+ json: import("@oclif/core/lib/interfaces").BooleanFlag<boolean>;
11
+ quiet: import("@oclif/core/lib/interfaces").BooleanFlag<boolean>;
12
+ workspace: import("@oclif/core/lib/interfaces").OptionFlag<string | undefined, import("@oclif/core/lib/interfaces").CustomOptions>;
13
+ daemon: import("@oclif/core/lib/interfaces").BooleanFlag<boolean>;
14
+ };
15
+ run(): Promise<void>;
16
+ private stopRemoteTunnel;
17
+ private stopLocalOwners;
18
+ private signalOwnerAndRefreshIdentity;
19
+ private waitForPIDExit;
20
+ }
21
+ //# sourceMappingURL=stop.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"stop.d.ts","sourceRoot":"","sources":["../../../../src/commands/ios/tunnel/stop.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AAmBpD,MAAM,CAAC,OAAO,OAAO,aAAc,SAAQ,WAAW;IACpD,MAAM,CAAC,OAAO,SAAwC;IACtD,MAAM,CAAC,WAAW,SAC+H;IACjJ,MAAM,CAAC,QAAQ,WAGb;IAEF,MAAM,CAAC,KAAK;;;;;;;;MAWV;IAEI,GAAG,IAAI,OAAO,CAAC,IAAI,CAAC;YAkCZ,gBAAgB;YAoBhB,eAAe;YAuDf,6BAA6B;YAW7B,cAAc;CAK7B"}
@@ -0,0 +1,148 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const core_1 = require("@oclif/core");
4
+ const api_1 = require("@limrun/api");
5
+ const base_command_1 = require("../../../base-command");
6
+ const instance_client_factory_1 = require("../../../lib/instance-client-factory");
7
+ const ios_tunnel_process_1 = require("../../../lib/ios-tunnel-process");
8
+ class IosTunnelStop extends base_command_1.BaseCommand {
9
+ async run() {
10
+ const { flags } = await this.parse(IosTunnelStop);
11
+ this.setParsedFlags(flags);
12
+ if (flags.create) {
13
+ this.error('Tunnel stop cannot create a replacement instance.');
14
+ }
15
+ await this.withAuth(async () => {
16
+ const resolvedInstance = this.resolveIosInstance(flags.id);
17
+ const ownerSnapshot = (0, ios_tunnel_process_1.listTunnelProcesses)(resolvedInstance.id);
18
+ const remote = await this.stopRemoteTunnel(resolvedInstance);
19
+ const expectedTunnelId = remote.outcome === 'none' ? undefined : remote.tunnelId;
20
+ const owners = (0, ios_tunnel_process_1.selectTunnelOwnersForStop)(ownerSnapshot, expectedTunnelId);
21
+ const local = await this.stopLocalOwners(resolvedInstance.id, owners, remote);
22
+ if (this.isJsonEnabled()) {
23
+ this.outputJson({
24
+ instanceId: resolvedInstance.id,
25
+ ...(remote.outcome === 'none' ? {} : { tunnelId: remote.tunnelId }),
26
+ outcome: remote.outcome,
27
+ localProcessesStopped: local.processesStopped,
28
+ localRecordsCleaned: local.recordsCleaned,
29
+ });
30
+ }
31
+ else if (remote.outcome === 'stopped') {
32
+ this.output(`Stopped destination tunnel ${remote.tunnelId}.`);
33
+ }
34
+ else if (remote.outcome === 'gone') {
35
+ this.output(`Destination tunnel ${remote.tunnelId} was already gone.`);
36
+ }
37
+ else if (local.processesStopped > 0 || local.recordsCleaned > 0) {
38
+ this.output('Cleaned local destination tunnel ownership.');
39
+ }
40
+ else {
41
+ this.output('No active destination tunnel.');
42
+ }
43
+ });
44
+ }
45
+ async stopRemoteTunnel(resolvedInstance) {
46
+ const { client, disconnect } = await (0, instance_client_factory_1.getIosInstanceClient)(this.client, resolvedInstance);
47
+ try {
48
+ const status = await client.getTunnelStatus();
49
+ if (!status.active)
50
+ return { outcome: 'none' };
51
+ const tunnelId = status.active.tunnelId;
52
+ try {
53
+ await client.stopTunnel(tunnelId);
54
+ }
55
+ catch (error) {
56
+ if ((0, ios_tunnel_process_1.stopTunnelErrorIsNotFound)(error)) {
57
+ return { outcome: 'gone', tunnelId };
58
+ }
59
+ throw error;
60
+ }
61
+ return { outcome: 'stopped', tunnelId };
62
+ }
63
+ finally {
64
+ disconnect();
65
+ }
66
+ }
67
+ async stopLocalOwners(instanceId, owners, remote) {
68
+ const expectedTunnelId = remote.outcome === 'none' ? undefined : remote.tunnelId;
69
+ let processesStopped = 0;
70
+ let recordsCleaned = 0;
71
+ const retainedOwners = [];
72
+ for (const snapshot of owners) {
73
+ let state = (0, ios_tunnel_process_1.loadTunnelProcess)(instanceId, snapshot.owner) ?? snapshot;
74
+ let identity = (0, ios_tunnel_process_1.tunnelOwnerProcessIdentity)(state);
75
+ const wasRunning = identity === 'match';
76
+ if (identity === 'match' && remote.outcome === 'stopped') {
77
+ await this.waitForPIDExit(state.pid, 50);
78
+ }
79
+ state = (0, ios_tunnel_process_1.loadTunnelProcess)(instanceId, state.owner) ?? state;
80
+ identity = (0, ios_tunnel_process_1.tunnelOwnerProcessIdentity)(state);
81
+ if (!(0, ios_tunnel_process_1.tunnelOwnerRemainsSelectedForStop)(snapshot, state, expectedTunnelId)) {
82
+ if (identity === 'missing' || identity === 'mismatch') {
83
+ if ((0, ios_tunnel_process_1.clearTunnelProcess)(instanceId, state.owner)) {
84
+ recordsCleaned++;
85
+ }
86
+ else {
87
+ retainedOwners.push(state);
88
+ }
89
+ }
90
+ continue;
91
+ }
92
+ if (identity === 'match') {
93
+ identity = await this.signalOwnerAndRefreshIdentity(state, 'SIGTERM', 20);
94
+ }
95
+ if (identity === 'match') {
96
+ identity = await this.signalOwnerAndRefreshIdentity(state, 'SIGKILL', 20);
97
+ }
98
+ if (identity === 'match' || identity === 'unknown') {
99
+ retainedOwners.push(state);
100
+ continue;
101
+ }
102
+ if (!(0, ios_tunnel_process_1.clearTunnelProcess)(instanceId, state.owner)) {
103
+ retainedOwners.push(state);
104
+ continue;
105
+ }
106
+ recordsCleaned++;
107
+ if (wasRunning)
108
+ processesStopped++;
109
+ }
110
+ if (retainedOwners.length > 0) {
111
+ this.error(`Could not verify that ${retainedOwners.length} local tunnel process(es) exited. ` +
112
+ `Ownership records were retained: ${retainedOwners.map((state) => state.logPath).join(', ')}`);
113
+ }
114
+ return { processesStopped, recordsCleaned };
115
+ }
116
+ async signalOwnerAndRefreshIdentity(state, signal, attempts) {
117
+ const result = (0, ios_tunnel_process_1.signalTunnelOwner)(state, signal);
118
+ if (result !== 'signaled')
119
+ return result;
120
+ await this.waitForPIDExit(state.pid, attempts);
121
+ return (0, ios_tunnel_process_1.tunnelOwnerProcessIdentity)(state);
122
+ }
123
+ async waitForPIDExit(pid, attempts) {
124
+ for (let attempt = 0; attempt < attempts && (0, ios_tunnel_process_1.isProcessAlive)(pid); attempt++) {
125
+ await (0, api_1.defaultSleep)(100);
126
+ }
127
+ }
128
+ }
129
+ IosTunnelStop.summary = 'Stop the active destination tunnel';
130
+ IosTunnelStop.description = 'Stop the instance-authoritative tunnel by its current ID, then gracefully stop and, if necessary, force-stop verified local detached owners.';
131
+ IosTunnelStop.examples = [
132
+ '<%= config.bin %> ios tunnel stop --id <instance-ID>',
133
+ '<%= config.bin %> ios tunnel stop --id <instance-ID> --json',
134
+ ];
135
+ IosTunnelStop.flags = {
136
+ ...base_command_1.BaseCommand.baseFlags,
137
+ create: core_1.Flags.boolean({
138
+ description: 'Create a replacement instance if the target is gone. Disabled by default for stop.',
139
+ default: false,
140
+ allowNo: true,
141
+ hidden: true,
142
+ }),
143
+ id: core_1.Flags.string({
144
+ description: 'iOS instance ID to stop. Defaults to the last created iOS instance.',
145
+ }),
146
+ };
147
+ exports.default = IosTunnelStop;
148
+ //# sourceMappingURL=stop.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"stop.js","sourceRoot":"","sources":["../../../../src/commands/ios/tunnel/stop.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,70 @@
1
+ import { type ChildProcess } from 'child_process';
2
+ import type { Ios } from '@limrun/api';
3
+ export declare const IOS_TUNNELS_ROOT: string;
4
+ export interface IosTunnelProcessState {
5
+ owner: string;
6
+ pid: number;
7
+ instanceId: string;
8
+ status: 'starting' | 'ready';
9
+ routes: Ios.TunnelOptions['routes'];
10
+ startedAt: string;
11
+ logPath: string;
12
+ tunnelId?: string;
13
+ }
14
+ export type ReadyIosTunnelProcessState = IosTunnelProcessState & {
15
+ status: 'ready';
16
+ tunnelId: string;
17
+ };
18
+ export type TunnelOwnerProcessIdentity = 'match' | 'mismatch' | 'missing' | 'unknown';
19
+ export interface IosTunnelProcessPaths {
20
+ directory: string;
21
+ state: string;
22
+ log: string;
23
+ cancelled: string;
24
+ }
25
+ export declare function parseTunnelRoute(value: string): Ios.TunnelOptions['routes'][number];
26
+ export declare function newTunnelOwner(): string;
27
+ export declare function formatTunnelRoute(route: Ios.TunnelOptions['routes'][number]): string;
28
+ export declare function formatTunnelDialFailure(failure: NonNullable<Ios.TunnelStatus['lastDialFailure']>): string;
29
+ export declare function buildTunnelServeArgs(options: {
30
+ scriptPath: string;
31
+ instanceId: string;
32
+ owner: string;
33
+ routes: Ios.TunnelOptions['routes'];
34
+ }): string[];
35
+ export declare function tunnelChildEnvironment(apiKey: string | undefined, environment?: NodeJS.ProcessEnv): NodeJS.ProcessEnv;
36
+ export declare function waitForTunnelProcessReady(options: {
37
+ load: () => IosTunnelProcessState | undefined;
38
+ isAlive: () => boolean;
39
+ sleep: (milliseconds: number) => Promise<void>;
40
+ now?: () => number;
41
+ timeoutMs?: number;
42
+ pollMs?: number;
43
+ }): Promise<{
44
+ outcome: 'ready';
45
+ state: ReadyIosTunnelProcessState;
46
+ } | {
47
+ outcome: 'exited';
48
+ } | {
49
+ outcome: 'timeout';
50
+ }>;
51
+ export declare function tunnelProcessPaths(instanceId: string, owner: string, root?: string): IosTunnelProcessPaths;
52
+ export declare function claimTunnelProcess(state: IosTunnelProcessState, root?: string): boolean;
53
+ export declare function updateTunnelProcess(state: IosTunnelProcessState, expectedOwner: string, root?: string): void;
54
+ export declare function loadTunnelProcess(instanceId: string, owner: string, root?: string): IosTunnelProcessState | undefined;
55
+ export declare function listTunnelProcesses(instanceId: string, root?: string): IosTunnelProcessState[];
56
+ export declare function selectTunnelOwnersForStop(owners: IosTunnelProcessState[], tunnelId: string | undefined): IosTunnelProcessState[];
57
+ export declare function tunnelOwnerRemainsSelectedForStop(snapshot: IosTunnelProcessState, current: IosTunnelProcessState, tunnelId: string | undefined): boolean;
58
+ export declare function subscribeTunnelDisconnect(tunnel: Pick<Ios.Tunnel, 'getConnectionState' | 'onConnectionStateChange'>, onDisconnect: () => void): () => void;
59
+ export declare function stopTunnelErrorIsNotFound(error: unknown): boolean;
60
+ export declare function clearTunnelProcess(instanceId: string, owner: string, root?: string): boolean;
61
+ export declare function pruneTunnelLogs(instanceId: string, root?: string, retain?: number): void;
62
+ export declare function isProcessAlive(pid: number): boolean;
63
+ export declare function isSpawnedTunnelProcessAlive(child: Pick<ChildProcess, 'exitCode' | 'signalCode'>, pid: number): boolean;
64
+ export declare function tunnelProcessStartingLeaseExpired(state: IosTunnelProcessState, now?: number): boolean;
65
+ export declare function tunnelOwnerProcessIdentity(state: IosTunnelProcessState): TunnelOwnerProcessIdentity;
66
+ export declare function signalTunnelOwner(state: IosTunnelProcessState, signal: NodeJS.Signals): 'signaled' | TunnelOwnerProcessIdentity;
67
+ export declare function prepareTunnelLog(logPath: string, maxBytes?: number): number;
68
+ export declare function readTunnelLogTail(logPath: string, lines?: number, maxBytes?: number): string;
69
+ export declare function capTunnelLog(logPath: string, maxBytes?: number): boolean;
70
+ //# sourceMappingURL=ios-tunnel-process.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ios-tunnel-process.d.ts","sourceRoot":"","sources":["../../src/lib/ios-tunnel-process.ts"],"names":[],"mappings":"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"}