anycloud 0.0.20 â 0.0.21
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.
- package/binaries/anycloud-darwin-arm64 +0 -0
- package/binaries/anycloud-darwin-x64 +0 -0
- package/binaries/anycloud-linux-arm64 +0 -0
- package/binaries/anycloud-linux-x64 +0 -0
- package/dist/cli/commands/run.js +29 -3
- package/dist/cli/commands/run.js.map +1 -1
- package/dist/cli/commands/ssh.js +37 -30
- package/dist/cli/commands/ssh.js.map +1 -1
- package/dist/cli/commands/status.js +100 -75
- package/dist/cli/commands/status.js.map +1 -1
- package/dist/cli/services/api-client.js +14 -11
- package/dist/cli/services/api-client.js.map +1 -1
- package/dist/cli/utils/output.js +162 -0
- package/dist/cli/utils/output.js.map +1 -1
- package/dist/shared/types.js +40 -0
- package/dist/shared/types.js.map +1 -1
- package/package.json +1 -1
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
package/dist/cli/commands/run.js
CHANGED
|
@@ -126,13 +126,21 @@ async function listGitHubPackages(token) {
|
|
|
126
126
|
}
|
|
127
127
|
}
|
|
128
128
|
export function createRunCommand() {
|
|
129
|
-
return new Command('run')
|
|
129
|
+
return (new Command('run')
|
|
130
130
|
.description('ð Deploy a container image')
|
|
131
131
|
.argument('[image]', 'Container image (e.g., ghcr.io/user/repo:latest)')
|
|
132
132
|
.option('-c, --config <name>', 'Config name from anycloud.json')
|
|
133
133
|
.option('-i, --id <id>', 'Job identifier')
|
|
134
134
|
.option('-e, --env <file>', 'Environment file (.env format)')
|
|
135
135
|
.option('-p, --persist', 'Keep VM running after job completes')
|
|
136
|
+
// Docker runtime options
|
|
137
|
+
.option('--shm-size <size>', 'Shared memory size (e.g., 8g)')
|
|
138
|
+
.option('--gpus <gpus>', 'GPU access (all or count)')
|
|
139
|
+
.option('--ipc <mode>', 'IPC mode (host, private, shareable)')
|
|
140
|
+
.option('--ulimit <ulimit...>', 'Ulimit settings (can specify multiple)')
|
|
141
|
+
.option('--memory <limit>', 'Memory limit (e.g., 32g)')
|
|
142
|
+
.option('--cpus <count>', 'CPU limit')
|
|
143
|
+
.option('--runtime <runtime>', 'Container runtime (e.g., nvidia)')
|
|
136
144
|
.addHelpText('after', `
|
|
137
145
|
Examples:
|
|
138
146
|
$ anycloud run # Select from GHCR images
|
|
@@ -354,9 +362,27 @@ Output:
|
|
|
354
362
|
const cloudConfigs = await resolveDeploymentProfile(configName);
|
|
355
363
|
// Generate job ID if not provided
|
|
356
364
|
const jobId = options.id || generateJobId();
|
|
365
|
+
// Build docker options if any provided
|
|
366
|
+
const dockerOptions = options.shmSize ||
|
|
367
|
+
options.gpus ||
|
|
368
|
+
options.ipc ||
|
|
369
|
+
options.ulimit ||
|
|
370
|
+
options.memory ||
|
|
371
|
+
options.cpus ||
|
|
372
|
+
options.runtime
|
|
373
|
+
? {
|
|
374
|
+
shmSize: options.shmSize,
|
|
375
|
+
gpus: options.gpus,
|
|
376
|
+
ipc: options.ipc,
|
|
377
|
+
ulimits: options.ulimit,
|
|
378
|
+
memory: options.memory,
|
|
379
|
+
cpus: options.cpus,
|
|
380
|
+
runtime: options.runtime,
|
|
381
|
+
}
|
|
382
|
+
: undefined;
|
|
357
383
|
// Create deployment with hardcoded 'job' type
|
|
358
384
|
const spinner = createSpinner('Creating job deployment...').start();
|
|
359
|
-
const response = await createDeployment(image, cloudConfigs, accessToken, configName, DeploymentType.Job, packageJson.version, jobId, envVars, options.persist);
|
|
385
|
+
const response = await createDeployment(image, cloudConfigs, accessToken, configName, DeploymentType.Job, packageJson.version, jobId, envVars, options.persist, dockerOptions);
|
|
360
386
|
// Save SSH key for this deployment
|
|
361
387
|
await saveSshKey(response.id, response.sshPrivateKey);
|
|
362
388
|
spinner.succeed('Job deployment created!');
|
|
@@ -369,6 +395,6 @@ Output:
|
|
|
369
395
|
// Just exit with error code
|
|
370
396
|
process.exit(1);
|
|
371
397
|
}
|
|
372
|
-
});
|
|
398
|
+
}));
|
|
373
399
|
}
|
|
374
400
|
//# sourceMappingURL=run.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"run.js","sourceRoot":"","sources":["../../../src/cli/commands/run.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"run.js","sourceRoot":"","sources":["../../../src/cli/commands/run.ts"],"names":[],"mappings":"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"}
|
package/dist/cli/commands/ssh.js
CHANGED
|
@@ -7,9 +7,9 @@ import prompts from 'prompts';
|
|
|
7
7
|
import { getGitHubToken } from '../services/auth.js';
|
|
8
8
|
import { getDeploymentStatus, listDeployments, loadSshKey, } from '../services/api-client.js';
|
|
9
9
|
import { resolveAllDeploymentProfiles } from '../services/config.js';
|
|
10
|
-
import { printInfo, printError, createSpinner } from '../utils/output.js';
|
|
10
|
+
import { printInfo, printError, createSpinner, selectDeployment, } from '../utils/output.js';
|
|
11
11
|
import { isNonInteractive, getEnvOptional, } from '../services/non-interactive.js';
|
|
12
|
-
import {
|
|
12
|
+
import { DeploymentState, isExitedState, isVmAccessible, } from '../../shared/types.js';
|
|
13
13
|
import packageJson from '../../../package.json' with { type: 'json' };
|
|
14
14
|
export function createSshCommand() {
|
|
15
15
|
return new Command('ssh')
|
|
@@ -28,6 +28,7 @@ Use --vm to SSH directly to the VM without entering the container.
|
|
|
28
28
|
.action(async (id, options) => {
|
|
29
29
|
try {
|
|
30
30
|
let deploymentId = id;
|
|
31
|
+
let isCompletedJob = false;
|
|
31
32
|
// Get GitHub token
|
|
32
33
|
const accessToken = await getGitHubToken();
|
|
33
34
|
// If no ID provided, fetch and prompt for selection
|
|
@@ -48,44 +49,27 @@ Use --vm to SSH directly to the VM without entering the container.
|
|
|
48
49
|
printInfo('No deployments found.');
|
|
49
50
|
process.exit(0);
|
|
50
51
|
}
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
message: 'Select deployment:',
|
|
55
|
-
choices: deployments.map((deployment) => {
|
|
56
|
-
const emoji = stateEmoji[deployment.state] || 'â';
|
|
57
|
-
return {
|
|
58
|
-
title: `${deployment.id} (${deployment.state})`,
|
|
59
|
-
value: { id: deployment.id, state: deployment.state },
|
|
60
|
-
description: emoji,
|
|
61
|
-
};
|
|
62
|
-
}),
|
|
63
|
-
});
|
|
64
|
-
if (!selection.deployment) {
|
|
52
|
+
console.log('');
|
|
53
|
+
const selectedDeployment = await selectDeployment(deployments);
|
|
54
|
+
if (!selectedDeployment) {
|
|
65
55
|
process.exit(0);
|
|
66
56
|
}
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
' Please wait for VMs to be ready before connecting via SSH.\n' +
|
|
72
|
-
' Use "anycloud status" to check deployment progress.');
|
|
57
|
+
// Check if VM is accessible
|
|
58
|
+
if (!isVmAccessible(selectedDeployment.state)) {
|
|
59
|
+
printError(`Deployment is ${selectedDeployment.state}.\n` +
|
|
60
|
+
' Cannot SSH - VM is not accessible.');
|
|
73
61
|
process.exit(1);
|
|
74
62
|
}
|
|
75
63
|
// Block container SSH during starting (container may not exist yet)
|
|
76
|
-
if (selectedDeployment.state ===
|
|
64
|
+
if (selectedDeployment.state === DeploymentState.Starting &&
|
|
65
|
+
!options?.vm) {
|
|
77
66
|
printError(`Deployment is still starting (container may not be ready).\n` +
|
|
78
67
|
' Use "anycloud ssh --vm" to SSH directly to the VM.\n' +
|
|
79
68
|
' Or wait for the deployment to be running.');
|
|
80
69
|
process.exit(1);
|
|
81
70
|
}
|
|
82
|
-
if (selectedDeployment.state === 'terminated' ||
|
|
83
|
-
selectedDeployment.state === 'terminating') {
|
|
84
|
-
printError(`Deployment is ${selectedDeployment.state}.\n` +
|
|
85
|
-
' Cannot SSH into a terminated deployment.');
|
|
86
|
-
process.exit(1);
|
|
87
|
-
}
|
|
88
71
|
deploymentId = selectedDeployment.id;
|
|
72
|
+
isCompletedJob = isExitedState(selectedDeployment.state);
|
|
89
73
|
}
|
|
90
74
|
}
|
|
91
75
|
// Load SSH key for this deployment
|
|
@@ -128,6 +112,19 @@ Use --vm to SSH directly to the VM without entering the container.
|
|
|
128
112
|
}
|
|
129
113
|
vmIp = vmSelection.ip;
|
|
130
114
|
}
|
|
115
|
+
// If job completed/errored, container has exited - prompt for snapshot
|
|
116
|
+
if (isCompletedJob && !options?.vm) {
|
|
117
|
+
const { proceed } = await prompts({
|
|
118
|
+
type: 'confirm',
|
|
119
|
+
name: 'proceed',
|
|
120
|
+
message: 'The container is no longer running. Would you still like to SSH into a snapshot of the container?',
|
|
121
|
+
initial: true,
|
|
122
|
+
});
|
|
123
|
+
if (!proceed) {
|
|
124
|
+
printInfo('Use --vm to SSH directly to the VM instead.');
|
|
125
|
+
process.exit(0);
|
|
126
|
+
}
|
|
127
|
+
}
|
|
131
128
|
// Write SSH key to temp file
|
|
132
129
|
const keyFile = join(tmpdir(), `anycloud-ssh-${deploymentId}-${Date.now()}`);
|
|
133
130
|
writeFileSync(keyFile, sshPrivateKey, { mode: 0o600 });
|
|
@@ -153,7 +150,17 @@ Use --vm to SSH directly to the VM without entering the container.
|
|
|
153
150
|
];
|
|
154
151
|
// Add docker exec command unless --vm flag is set
|
|
155
152
|
if (!vmOnly) {
|
|
156
|
-
|
|
153
|
+
const snapshotName = `${deploymentId}-snapshot`;
|
|
154
|
+
if (isCompletedJob) {
|
|
155
|
+
// Container exited - snapshot and run shell
|
|
156
|
+
sshArgs.push(`docker commit ${deploymentId} ${snapshotName} && ` +
|
|
157
|
+
`docker run -it --rm ${snapshotName} bash`);
|
|
158
|
+
}
|
|
159
|
+
else {
|
|
160
|
+
// Try exec first, fallback to snapshot if container exited (handles direct ID case)
|
|
161
|
+
sshArgs.push(`docker exec -it ${deploymentId} bash 2>/dev/null || ` +
|
|
162
|
+
`(docker commit ${deploymentId} ${snapshotName} && docker run -it --rm ${snapshotName} bash)`);
|
|
163
|
+
}
|
|
157
164
|
}
|
|
158
165
|
const sshProcess = spawn('ssh', sshArgs, { stdio: 'inherit' });
|
|
159
166
|
// Clean up key file when SSH exits
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ssh.js","sourceRoot":"","sources":["../../../src/cli/commands/ssh.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,KAAK,EAAE,MAAM,eAAe,CAAC;AACtC,OAAO,EAAE,aAAa,EAAE,UAAU,EAAE,MAAM,IAAI,CAAC;AAC/C,OAAO,EAAE,MAAM,EAAE,MAAM,IAAI,CAAC;AAC5B,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAC;AAC5B,OAAO,OAAO,MAAM,SAAS,CAAC;AAC9B,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AACrD,OAAO,EACL,mBAAmB,EACnB,eAAe,EACf,UAAU,GACX,MAAM,2BAA2B,CAAC;AACnC,OAAO,EAAE,4BAA4B,EAAE,MAAM,uBAAuB,CAAC;AACrE,OAAO,
|
|
1
|
+
{"version":3,"file":"ssh.js","sourceRoot":"","sources":["../../../src/cli/commands/ssh.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,59 +1,92 @@
|
|
|
1
1
|
import { Command } from 'commander';
|
|
2
|
-
import prompts from 'prompts';
|
|
3
2
|
import { getGitHubToken } from '../services/auth.js';
|
|
4
3
|
import { getDeploymentStatus, listDeployments, loadSshKey, } from '../services/api-client.js';
|
|
5
4
|
import { resolveAllDeploymentProfiles } from '../services/config.js';
|
|
6
|
-
import { printInfo, printError, createSpinner } from '../utils/output.js';
|
|
5
|
+
import { printInfo, printError, createSpinner, printDeploymentHeader, selectDeployment, } from '../utils/output.js';
|
|
7
6
|
import { isNonInteractive, getEnvOptional, } from '../services/non-interactive.js';
|
|
8
|
-
import { DeploymentState,
|
|
7
|
+
import { DeploymentState, } from '../../shared/types.js';
|
|
9
8
|
import packageJson from '../../../package.json' with { type: 'json' };
|
|
10
|
-
//
|
|
11
|
-
const
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
return line.slice(start).trim();
|
|
9
|
+
// Truncate line to terminal width (minus prefix for box drawing)
|
|
10
|
+
const truncate = (line, prefix) => {
|
|
11
|
+
const maxWidth = process.stdout.columns || 80;
|
|
12
|
+
const available = maxWidth - prefix.length;
|
|
13
|
+
return line.length > available ? line.slice(0, available - 3) + '...' : line;
|
|
16
14
|
};
|
|
17
|
-
//
|
|
18
|
-
const
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
15
|
+
// Format deployment events as human-readable log
|
|
16
|
+
const formatEvents = (events) => {
|
|
17
|
+
if (events.length === 0)
|
|
18
|
+
return 'No events recorded';
|
|
19
|
+
return events
|
|
20
|
+
.map((e) => {
|
|
21
|
+
const time = new Date(e.createdAt).toISOString().slice(11, 19);
|
|
22
|
+
const message = e.metadata?.message ? `: ${e.metadata.message}` : '';
|
|
23
|
+
return `[${time}] ${e.state}${message}`;
|
|
24
|
+
})
|
|
25
|
+
.join('\n');
|
|
26
|
+
};
|
|
27
|
+
// Format events with error lines using box drawing
|
|
28
|
+
const formatLogs = (events) => {
|
|
29
|
+
const formatted = formatEvents(events);
|
|
30
|
+
return formatted
|
|
22
31
|
.split('\n')
|
|
23
|
-
.map(
|
|
24
|
-
|
|
25
|
-
.
|
|
26
|
-
|
|
27
|
-
|
|
32
|
+
.map((line) => {
|
|
33
|
+
// Match error lines: [HH:MM:SS] error: message
|
|
34
|
+
const errorMatch = line.match(/^(\[\d{2}:\d{2}:\d{2}\]) error: (.*)$/);
|
|
35
|
+
if (errorMatch) {
|
|
36
|
+
const [, timestamp, message] = errorMatch;
|
|
37
|
+
return `${timestamp} error\n â ${truncate(message, ' â ')}`;
|
|
38
|
+
}
|
|
39
|
+
return line;
|
|
40
|
+
})
|
|
41
|
+
.join('\n');
|
|
28
42
|
};
|
|
29
43
|
export function createStatusCommand() {
|
|
30
44
|
return new Command('status')
|
|
31
45
|
.description('ð Get deployment status')
|
|
32
46
|
.argument('[id]', 'Deployment ID (optional - will prompt to select if not provided)')
|
|
47
|
+
.option('--all', 'Show all deployments (including old terminal states)')
|
|
48
|
+
.option('--active', 'Show only active deployments')
|
|
33
49
|
.addHelpText('after', `
|
|
34
50
|
Examples:
|
|
35
51
|
$ anycloud status anycloud-123153255
|
|
36
52
|
$ anycloud status
|
|
53
|
+
$ anycloud status --all # include all historical deployments
|
|
54
|
+
$ anycloud status --active # only active (provisioning, starting, running)
|
|
55
|
+
|
|
56
|
+
By default, shows active deployments + terminal states from the last 24 hours.
|
|
57
|
+
|
|
58
|
+
Selection:
|
|
59
|
+
ID CLOUD REGION IMAGE AGE STATE
|
|
60
|
+
ââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââ
|
|
61
|
+
anycloud-123153255 azure westus2 myapp:latest 2h running âĄ
|
|
37
62
|
|
|
38
63
|
Output:
|
|
39
64
|
⥠running
|
|
40
65
|
|
|
66
|
+
Image myapp:latest
|
|
67
|
+
Cloud azure / westus2
|
|
68
|
+
VM Standard_B2s (spot)
|
|
69
|
+
Version 0.1.5
|
|
70
|
+
|
|
41
71
|
VMs:
|
|
42
72
|
1.2.3.4
|
|
43
|
-
â container
|
|
44
|
-
â bucket
|
|
73
|
+
â container running 2h
|
|
74
|
+
â bucket-sync running
|
|
45
75
|
|
|
46
|
-
[07:23:05
|
|
47
|
-
[07:
|
|
48
|
-
[07:24:
|
|
49
|
-
[07:24:15 UTC] Standard_B2s node 1.2.3.4 at Azure westus2 is starting...
|
|
50
|
-
[07:24:30 UTC] Standard_B2s node 1.2.3.4 at Azure westus2 is ready...
|
|
51
|
-
[07:24:30 UTC] Deployment complete!
|
|
76
|
+
[07:23:05] provisioning
|
|
77
|
+
[07:24:01] starting
|
|
78
|
+
[07:24:30] running
|
|
52
79
|
`)
|
|
53
|
-
.action(async (id) => {
|
|
80
|
+
.action(async (id, options) => {
|
|
54
81
|
try {
|
|
55
82
|
let deploymentId = id;
|
|
56
|
-
let
|
|
83
|
+
let selectedDeployment;
|
|
84
|
+
// Determine filter from flags
|
|
85
|
+
const filter = options?.all
|
|
86
|
+
? 'all'
|
|
87
|
+
: options?.active
|
|
88
|
+
? 'active'
|
|
89
|
+
: 'default';
|
|
57
90
|
// Get GitHub token
|
|
58
91
|
const accessToken = await getGitHubToken();
|
|
59
92
|
// If no ID provided, fetch and prompt for selection
|
|
@@ -68,40 +101,28 @@ Output:
|
|
|
68
101
|
}
|
|
69
102
|
}
|
|
70
103
|
else {
|
|
71
|
-
// List
|
|
104
|
+
// List deployments with filter
|
|
72
105
|
const loadingSpinner = createSpinner('Loading deployments...').start();
|
|
73
|
-
const deployments = await listDeployments(accessToken, packageJson.version);
|
|
106
|
+
const deployments = await listDeployments(accessToken, packageJson.version, filter);
|
|
74
107
|
loadingSpinner.stop();
|
|
75
108
|
if (deployments.length === 0) {
|
|
76
109
|
printInfo('No deployments found.');
|
|
77
110
|
process.exit(0);
|
|
78
111
|
}
|
|
79
|
-
// Prompt for deployment selection
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
message: 'Select deployment:',
|
|
84
|
-
choices: deployments.map((deployment) => {
|
|
85
|
-
const emoji = stateEmoji[deployment.state] || 'â';
|
|
86
|
-
return {
|
|
87
|
-
title: `${deployment.id} (${deployment.state})`,
|
|
88
|
-
value: { id: deployment.id, state: deployment.state },
|
|
89
|
-
description: emoji,
|
|
90
|
-
};
|
|
91
|
-
}),
|
|
92
|
-
});
|
|
93
|
-
if (!selection.deployment) {
|
|
112
|
+
// Prompt for deployment selection with autocomplete
|
|
113
|
+
console.log('');
|
|
114
|
+
const selected = await selectDeployment(deployments);
|
|
115
|
+
if (!selected) {
|
|
94
116
|
process.exit(0); // User cancelled
|
|
95
117
|
}
|
|
96
|
-
deploymentId =
|
|
97
|
-
|
|
118
|
+
deploymentId = selected.id;
|
|
119
|
+
selectedDeployment = deployments.find((d) => d.id === deploymentId);
|
|
98
120
|
}
|
|
99
121
|
}
|
|
100
|
-
// If we don't have the
|
|
101
|
-
if (!
|
|
102
|
-
const deployments = await listDeployments(accessToken, packageJson.version);
|
|
103
|
-
|
|
104
|
-
deploymentState = deployment?.state;
|
|
122
|
+
// If we don't have the deployment yet (ID provided directly), fetch it from list
|
|
123
|
+
if (!selectedDeployment) {
|
|
124
|
+
const deployments = await listDeployments(accessToken, packageJson.version, filter);
|
|
125
|
+
selectedDeployment = deployments.find((d) => d.id === deploymentId);
|
|
105
126
|
}
|
|
106
127
|
// Load deployment profiles for status check
|
|
107
128
|
const anycloudConfigs = await resolveAllDeploymentProfiles();
|
|
@@ -119,17 +140,23 @@ Output:
|
|
|
119
140
|
const spinner = createSpinner(`Fetching status...`).start();
|
|
120
141
|
const response = await getDeploymentStatus(deploymentId, anycloudConfigs, accessToken, packageJson.version, sshPrivateKey);
|
|
121
142
|
spinner.stop();
|
|
122
|
-
//
|
|
123
|
-
const
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
143
|
+
// Check if we have container status to display
|
|
144
|
+
const hasContainerStatus = response.vmStatuses &&
|
|
145
|
+
response.vmStatuses.length > 0 &&
|
|
146
|
+
response.vmStatuses.some((vm) => vm.container?.uptime);
|
|
147
|
+
// Print deployment header with full metadata
|
|
148
|
+
if (selectedDeployment) {
|
|
149
|
+
printDeploymentHeader(selectedDeployment, hasContainerStatus);
|
|
150
|
+
}
|
|
151
|
+
else {
|
|
152
|
+
// Fallback if deployment not found in list
|
|
153
|
+
console.log('');
|
|
154
|
+
console.log(`â unknown`);
|
|
155
|
+
console.log('');
|
|
156
|
+
}
|
|
130
157
|
// Show per-VM status if available
|
|
131
158
|
if (response.vmStatuses && response.vmStatuses.length > 0) {
|
|
132
|
-
const isPending =
|
|
159
|
+
const isPending = selectedDeployment?.state === DeploymentState.Starting;
|
|
133
160
|
console.log('VMs:');
|
|
134
161
|
response.vmStatuses.forEach((vm) => {
|
|
135
162
|
console.log(` ${vm.ip}`);
|
|
@@ -141,28 +168,26 @@ Output:
|
|
|
141
168
|
: vm.container?.state || 'unknown';
|
|
142
169
|
const containerUptime = vm.container?.uptime;
|
|
143
170
|
const containerLine = containerOk && containerUptime
|
|
144
|
-
? `${containerState}
|
|
171
|
+
? `${containerState} ${containerUptime}`
|
|
145
172
|
: containerState;
|
|
146
|
-
console.log(` ${containerIcon} container
|
|
147
|
-
if (!isPending && !containerOk && vm.container?.logs) {
|
|
148
|
-
formatErrorLogs(vm.container.logs).forEach((line) => console.log(line));
|
|
149
|
-
}
|
|
173
|
+
console.log(` ${containerIcon} container ${containerLine}`);
|
|
150
174
|
// Bucket sync status (omit if not configured)
|
|
151
175
|
if (vm.rclone && !vm.rclone.status.includes('no such process')) {
|
|
152
176
|
const bucketOk = vm.rclone.active ?? false;
|
|
153
177
|
const bucketIcon = isPending ? 'â' : bucketOk ? 'â' : 'â';
|
|
154
|
-
const bucketState = isPending
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
178
|
+
const bucketState = isPending
|
|
179
|
+
? 'pending'
|
|
180
|
+
: bucketOk
|
|
181
|
+
? 'running'
|
|
182
|
+
: 'stopped';
|
|
183
|
+
console.log(` ${bucketIcon} bucket-sync ${bucketState}`);
|
|
159
184
|
}
|
|
160
185
|
console.log('');
|
|
161
186
|
});
|
|
162
187
|
}
|
|
163
|
-
//
|
|
164
|
-
if (response.
|
|
165
|
-
console.log(response.
|
|
188
|
+
// Events log
|
|
189
|
+
if (response.events.length > 0) {
|
|
190
|
+
console.log(formatLogs(response.events));
|
|
166
191
|
}
|
|
167
192
|
}
|
|
168
193
|
catch (error) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"status.js","sourceRoot":"","sources":["../../../src/cli/commands/status.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,
|
|
1
|
+
{"version":3,"file":"status.js","sourceRoot":"","sources":["../../../src/cli/commands/status.ts"],"names":[],"mappings":"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"}
|
|
@@ -20,7 +20,7 @@ export async function loadSshKey(deploymentId) {
|
|
|
20
20
|
* Create a new deployment
|
|
21
21
|
* POST /v1/new
|
|
22
22
|
*/
|
|
23
|
-
export async function createDeployment(image, cloudConfigs, accessToken, configName, deploymentType,
|
|
23
|
+
export async function createDeployment(image, cloudConfigs, accessToken, configName, deploymentType, version, id, env, persist, dockerOptions) {
|
|
24
24
|
const payload = {
|
|
25
25
|
image,
|
|
26
26
|
anycloudConfigs: { [configName]: cloudConfigs },
|
|
@@ -28,20 +28,23 @@ export async function createDeployment(image, cloudConfigs, accessToken, configN
|
|
|
28
28
|
accessToken,
|
|
29
29
|
id,
|
|
30
30
|
deploymentType,
|
|
31
|
-
|
|
31
|
+
version,
|
|
32
32
|
env,
|
|
33
33
|
persist,
|
|
34
|
+
dockerOptions,
|
|
34
35
|
};
|
|
35
36
|
return await apiRequest('/v1/new', 'POST', payload);
|
|
36
37
|
}
|
|
37
38
|
/**
|
|
38
|
-
* List all deployments for the authenticated user
|
|
39
|
+
* List all deployments for the authenticated user
|
|
39
40
|
* POST /v1/list
|
|
41
|
+
* @param filter - 'default' (active + recent 24h), 'active' (only active), 'all'
|
|
40
42
|
*/
|
|
41
|
-
export async function listDeployments(accessToken,
|
|
43
|
+
export async function listDeployments(accessToken, version, filter = 'default') {
|
|
42
44
|
const payload = {
|
|
43
45
|
accessToken,
|
|
44
|
-
|
|
46
|
+
version,
|
|
47
|
+
filter,
|
|
45
48
|
};
|
|
46
49
|
return await apiRequest('/v1/list', 'POST', payload);
|
|
47
50
|
}
|
|
@@ -49,12 +52,12 @@ export async function listDeployments(accessToken, daemonVersion) {
|
|
|
49
52
|
* Get deployment status logs
|
|
50
53
|
* POST /v1/status
|
|
51
54
|
*/
|
|
52
|
-
export async function getDeploymentStatus(id, anycloudConfigs, accessToken,
|
|
55
|
+
export async function getDeploymentStatus(id, anycloudConfigs, accessToken, version, sshPrivateKey) {
|
|
53
56
|
const payload = {
|
|
54
57
|
id,
|
|
55
58
|
anycloudConfigs,
|
|
56
59
|
accessToken,
|
|
57
|
-
|
|
60
|
+
version,
|
|
58
61
|
sshPrivateKey,
|
|
59
62
|
};
|
|
60
63
|
return await apiRequest('/v1/status', 'POST', payload);
|
|
@@ -63,13 +66,13 @@ export async function getDeploymentStatus(id, anycloudConfigs, accessToken, daem
|
|
|
63
66
|
* Terminate a deployment
|
|
64
67
|
* POST /v1/terminate
|
|
65
68
|
*/
|
|
66
|
-
export async function terminateDeployment(id, anycloudConfigs, accessToken,
|
|
69
|
+
export async function terminateDeployment(id, anycloudConfigs, accessToken, version, configName) {
|
|
67
70
|
const payload = {
|
|
68
71
|
id,
|
|
69
72
|
anycloudConfigs,
|
|
70
73
|
configName,
|
|
71
74
|
accessToken,
|
|
72
|
-
|
|
75
|
+
version,
|
|
73
76
|
};
|
|
74
77
|
return await apiRequest('/v1/terminate', 'POST', payload);
|
|
75
78
|
}
|
|
@@ -77,7 +80,7 @@ export async function terminateDeployment(id, anycloudConfigs, accessToken, daem
|
|
|
77
80
|
* Upgrade a deployment to a new image
|
|
78
81
|
* POST /v1/upgrade
|
|
79
82
|
*/
|
|
80
|
-
export async function upgradeDeployment(id, image, cloudConfigs, configName, accessToken, deploymentType,
|
|
83
|
+
export async function upgradeDeployment(id, image, cloudConfigs, configName, accessToken, deploymentType, version, sshPrivateKey) {
|
|
81
84
|
const payload = {
|
|
82
85
|
id,
|
|
83
86
|
image,
|
|
@@ -85,7 +88,7 @@ export async function upgradeDeployment(id, image, cloudConfigs, configName, acc
|
|
|
85
88
|
configName,
|
|
86
89
|
accessToken,
|
|
87
90
|
deploymentType,
|
|
88
|
-
|
|
91
|
+
version,
|
|
89
92
|
sshPrivateKey,
|
|
90
93
|
};
|
|
91
94
|
return await apiRequest('/v1/upgrade', 'POST', payload);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"api-client.js","sourceRoot":"","sources":["../../../src/cli/services/api-client.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AACzD,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAC;AAC5B,OAAO,EAAE,aAAa,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;
|
|
1
|
+
{"version":3,"file":"api-client.js","sourceRoot":"","sources":["../../../src/cli/services/api-client.ts"],"names":[],"mappings":"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"}
|
package/dist/cli/utils/output.js
CHANGED
|
@@ -1,6 +1,8 @@
|
|
|
1
1
|
import chalk from 'chalk';
|
|
2
2
|
import ora from 'ora';
|
|
3
3
|
import Table from 'cli-table3';
|
|
4
|
+
import prompts from 'prompts';
|
|
5
|
+
import { stateEmoji } from '../../shared/types.js';
|
|
4
6
|
// Console output helpers with colors
|
|
5
7
|
export function printSuccess(message) {
|
|
6
8
|
console.log(chalk.green(` â ${message}`));
|
|
@@ -83,4 +85,164 @@ export function printCloudConfigsTable(configs, options = {}) {
|
|
|
83
85
|
});
|
|
84
86
|
console.log(table.toString());
|
|
85
87
|
}
|
|
88
|
+
/**
|
|
89
|
+
* Format a timestamp as a human-readable relative age
|
|
90
|
+
* e.g., "2h", "5d", "3m", "45s"
|
|
91
|
+
*/
|
|
92
|
+
export function formatAge(timestamp) {
|
|
93
|
+
const now = Date.now();
|
|
94
|
+
const diffMs = now - timestamp;
|
|
95
|
+
const diffSeconds = Math.floor(diffMs / 1000);
|
|
96
|
+
const diffMinutes = Math.floor(diffSeconds / 60);
|
|
97
|
+
const diffHours = Math.floor(diffMinutes / 60);
|
|
98
|
+
const diffDays = Math.floor(diffHours / 24);
|
|
99
|
+
if (diffDays > 0)
|
|
100
|
+
return `${diffDays}d`;
|
|
101
|
+
if (diffHours > 0)
|
|
102
|
+
return `${diffHours}h`;
|
|
103
|
+
if (diffMinutes > 0)
|
|
104
|
+
return `${diffMinutes}m`;
|
|
105
|
+
return `${diffSeconds}s`;
|
|
106
|
+
}
|
|
107
|
+
/**
|
|
108
|
+
* Format a duration between two timestamps
|
|
109
|
+
* e.g., "45 minutes", "2 hours", "3 days"
|
|
110
|
+
*/
|
|
111
|
+
export function formatDuration(startMs, endMs) {
|
|
112
|
+
const diffMs = endMs - startMs;
|
|
113
|
+
const diffSeconds = Math.floor(diffMs / 1000);
|
|
114
|
+
const diffMinutes = Math.floor(diffSeconds / 60);
|
|
115
|
+
const diffHours = Math.floor(diffMinutes / 60);
|
|
116
|
+
const diffDays = Math.floor(diffHours / 24);
|
|
117
|
+
if (diffDays > 0) {
|
|
118
|
+
return diffDays === 1 ? '1 day' : `${diffDays} days`;
|
|
119
|
+
}
|
|
120
|
+
if (diffHours > 0) {
|
|
121
|
+
return diffHours === 1 ? '1 hour' : `${diffHours} hours`;
|
|
122
|
+
}
|
|
123
|
+
if (diffMinutes > 0) {
|
|
124
|
+
return diffMinutes === 1 ? '1 minute' : `${diffMinutes} minutes`;
|
|
125
|
+
}
|
|
126
|
+
return diffSeconds === 1 ? '1 second' : `${diffSeconds} seconds`;
|
|
127
|
+
}
|
|
128
|
+
/**
|
|
129
|
+
* Extract just the image name and tag from a full image URI
|
|
130
|
+
* e.g., "registry.example.com/org/myapp:v2" â "myapp:v2"
|
|
131
|
+
*/
|
|
132
|
+
export function formatImageName(image) {
|
|
133
|
+
// Remove registry prefix (everything before the last /)
|
|
134
|
+
const parts = image.split('/');
|
|
135
|
+
const imageWithTag = parts[parts.length - 1];
|
|
136
|
+
return imageWithTag;
|
|
137
|
+
}
|
|
138
|
+
/**
|
|
139
|
+
* Truncate a string to fit within a max width, adding ellipsis if needed
|
|
140
|
+
*/
|
|
141
|
+
export function truncateString(str, maxWidth) {
|
|
142
|
+
if (str.length <= maxWidth)
|
|
143
|
+
return str;
|
|
144
|
+
return str.slice(0, maxWidth - 1) + 'âĶ';
|
|
145
|
+
}
|
|
146
|
+
/**
|
|
147
|
+
* Format a deployment for selection display (table row format)
|
|
148
|
+
* Columns: ID | STATE | CLOUD | REGION | IMAGE | AGE
|
|
149
|
+
* Emoji in description (right side) for consistent rendering
|
|
150
|
+
*/
|
|
151
|
+
export function formatDeploymentChoice(deployment) {
|
|
152
|
+
const emoji = stateEmoji[deployment.state] || 'â';
|
|
153
|
+
const age = formatAge(deployment.startedAt);
|
|
154
|
+
// Fixed-width columns for table alignment (state at end, next to emoji)
|
|
155
|
+
const id = deployment.id.padEnd(22);
|
|
156
|
+
const cloud = (deployment.cloudProvider || 'local').padEnd(7);
|
|
157
|
+
const region = truncateString(deployment.region || '-', 12).padEnd(12);
|
|
158
|
+
const image = truncateString(formatImageName(deployment.image), 18).padEnd(18);
|
|
159
|
+
const state = deployment.state; // no padding - flows into emoji
|
|
160
|
+
const title = `${id} ${cloud} ${region} ${image} ${chalk.dim(age.padEnd(4))} ${state}`;
|
|
161
|
+
return {
|
|
162
|
+
title,
|
|
163
|
+
description: emoji,
|
|
164
|
+
value: { id: deployment.id, state: deployment.state },
|
|
165
|
+
};
|
|
166
|
+
}
|
|
167
|
+
/**
|
|
168
|
+
* Print table header for deployment selection
|
|
169
|
+
*/
|
|
170
|
+
export function printDeploymentTableHeader() {
|
|
171
|
+
// Column widths: ID=22, CLOUD=7, REGION=12, IMAGE=18, AGE=4, STATE (unpadded)
|
|
172
|
+
const header = `${'ID'.padEnd(22)} ${'CLOUD'.padEnd(7)} ${'REGION'.padEnd(12)} ${'IMAGE'.padEnd(18)} ${'AGE'.padEnd(4)} STATE`;
|
|
173
|
+
console.log(chalk.dim(` ${header}`));
|
|
174
|
+
console.log(chalk.dim(` ${'â'.repeat(72)}`));
|
|
175
|
+
}
|
|
176
|
+
/**
|
|
177
|
+
* Print a deployment header with full metadata
|
|
178
|
+
* @param deployment - The deployment to display
|
|
179
|
+
* @param hasContainerStatus - If true, skip showing age (container uptime is shown separately)
|
|
180
|
+
*/
|
|
181
|
+
/**
|
|
182
|
+
* Prompt user to select a deployment with autocomplete (type to filter)
|
|
183
|
+
* Returns the selected deployment value or undefined if cancelled
|
|
184
|
+
*/
|
|
185
|
+
export async function selectDeployment(deployments) {
|
|
186
|
+
printDeploymentTableHeader();
|
|
187
|
+
const choices = deployments.map((deployment) => formatDeploymentChoice(deployment));
|
|
188
|
+
const selection = await prompts({
|
|
189
|
+
type: 'autocomplete',
|
|
190
|
+
name: 'deployment',
|
|
191
|
+
message: '',
|
|
192
|
+
choices,
|
|
193
|
+
suggest: (input, choices) => {
|
|
194
|
+
const inputLower = input.toLowerCase();
|
|
195
|
+
return Promise.resolve(choices.filter((choice) => choice.title.toLowerCase().includes(inputLower)));
|
|
196
|
+
},
|
|
197
|
+
});
|
|
198
|
+
return selection.deployment;
|
|
199
|
+
}
|
|
200
|
+
export function printDeploymentHeader(deployment, hasContainerStatus = false) {
|
|
201
|
+
const emoji = stateEmoji[deployment.state] || 'â';
|
|
202
|
+
console.log('');
|
|
203
|
+
console.log(`${emoji} ${deployment.state}`);
|
|
204
|
+
console.log('');
|
|
205
|
+
// Build info lines (skip ID - already shown in selection)
|
|
206
|
+
const lines = [];
|
|
207
|
+
lines.push(['Image', formatImageName(deployment.image)]);
|
|
208
|
+
if (deployment.cloudProvider) {
|
|
209
|
+
const cloudLine = deployment.region
|
|
210
|
+
? `${deployment.cloudProvider} / ${deployment.region}`
|
|
211
|
+
: deployment.cloudProvider;
|
|
212
|
+
lines.push(['Cloud', cloudLine]);
|
|
213
|
+
}
|
|
214
|
+
if (deployment.vmType) {
|
|
215
|
+
const vmLine = deployment.spot
|
|
216
|
+
? `${deployment.vmType} ${chalk.yellow('(spot)')}`
|
|
217
|
+
: deployment.vmType;
|
|
218
|
+
lines.push(['VM', vmLine]);
|
|
219
|
+
}
|
|
220
|
+
if (deployment.version) {
|
|
221
|
+
lines.push(['Version', deployment.version]);
|
|
222
|
+
}
|
|
223
|
+
// Duration/timing info
|
|
224
|
+
// - For completed deployments: always show duration
|
|
225
|
+
// - For running deployments: only show age if we don't have container status
|
|
226
|
+
if (deployment.completedAt) {
|
|
227
|
+
const duration = formatDuration(deployment.startedAt, deployment.completedAt);
|
|
228
|
+
const completedAge = formatAge(deployment.completedAt);
|
|
229
|
+
lines.push(['Duration', `${duration} (ended ${completedAge} ago)`]);
|
|
230
|
+
}
|
|
231
|
+
else if (!hasContainerStatus) {
|
|
232
|
+
const age = formatAge(deployment.startedAt);
|
|
233
|
+
lines.push(['Started', `${age} ago`]);
|
|
234
|
+
}
|
|
235
|
+
// Exit code for terminal states
|
|
236
|
+
if (deployment.exitCode !== null) {
|
|
237
|
+
const exitStyle = deployment.exitCode === 0 ? chalk.green : chalk.red;
|
|
238
|
+
lines.push(['Exit', exitStyle(String(deployment.exitCode))]);
|
|
239
|
+
}
|
|
240
|
+
// Print with aligned labels
|
|
241
|
+
const maxLabelLen = Math.max(...lines.map(([label]) => label.length));
|
|
242
|
+
lines.forEach(([label, value]) => {
|
|
243
|
+
const paddedLabel = label.padEnd(maxLabelLen);
|
|
244
|
+
console.log(` ${chalk.dim(paddedLabel)} ${value}`);
|
|
245
|
+
});
|
|
246
|
+
console.log('');
|
|
247
|
+
}
|
|
86
248
|
//# sourceMappingURL=output.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"output.js","sourceRoot":"","sources":["../../../src/cli/utils/output.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,GAAiB,MAAM,KAAK,CAAC;AACpC,OAAO,KAAK,MAAM,YAAY,CAAC;
|
|
1
|
+
{"version":3,"file":"output.js","sourceRoot":"","sources":["../../../src/cli/utils/output.ts"],"names":[],"mappings":"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"}
|
package/dist/shared/types.js
CHANGED
|
@@ -44,6 +44,46 @@ export const stateEmoji = {
|
|
|
44
44
|
[DeploymentState.Terminating]: 'ð',
|
|
45
45
|
[DeploymentState.Terminated]: 'ðŠĶ',
|
|
46
46
|
};
|
|
47
|
+
// State groupings for filtering
|
|
48
|
+
export const ACTIVE_STATES = [
|
|
49
|
+
DeploymentState.Provisioning,
|
|
50
|
+
DeploymentState.Starting,
|
|
51
|
+
DeploymentState.Running,
|
|
52
|
+
DeploymentState.Terminating,
|
|
53
|
+
];
|
|
54
|
+
export const TERMINAL_STATES = [
|
|
55
|
+
DeploymentState.Completed,
|
|
56
|
+
DeploymentState.Failed,
|
|
57
|
+
DeploymentState.Errored,
|
|
58
|
+
DeploymentState.Terminated,
|
|
59
|
+
];
|
|
60
|
+
// States where the job ran and container exited (distinct from Failed/Terminated)
|
|
61
|
+
// - Completed: container exited with code 0
|
|
62
|
+
// - Errored: container exited with non-zero code
|
|
63
|
+
// Used for SSH to offer container snapshot access
|
|
64
|
+
export const EXITED_STATES = [
|
|
65
|
+
DeploymentState.Completed,
|
|
66
|
+
DeploymentState.Errored,
|
|
67
|
+
];
|
|
68
|
+
/** Deployment is no longer active (final state) */
|
|
69
|
+
export function isTerminalState(state) {
|
|
70
|
+
return TERMINAL_STATES.includes(state);
|
|
71
|
+
}
|
|
72
|
+
/** Deployment is active (not yet in terminal state) */
|
|
73
|
+
export function isActiveState(state) {
|
|
74
|
+
return ACTIVE_STATES.includes(state);
|
|
75
|
+
}
|
|
76
|
+
/** Container ran and exited (for SSH snapshot access) */
|
|
77
|
+
export function isExitedState(state) {
|
|
78
|
+
return EXITED_STATES.includes(state);
|
|
79
|
+
}
|
|
80
|
+
/** VM is accessible (not provisioning, failed, or terminated) */
|
|
81
|
+
export function isVmAccessible(state) {
|
|
82
|
+
return (state !== DeploymentState.Provisioning &&
|
|
83
|
+
state !== DeploymentState.Failed &&
|
|
84
|
+
state !== DeploymentState.Terminating &&
|
|
85
|
+
state !== DeploymentState.Terminated);
|
|
86
|
+
}
|
|
47
87
|
// Credential classes
|
|
48
88
|
export class AWSCreds {
|
|
49
89
|
}
|
package/dist/shared/types.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/shared/types.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,iBAAiB,MAAM,2CAA2C,CAAC,OAAO,IAAI,EAAE,MAAM,EAAE,CAAC;AAChG,OAAO,iBAAiB,MAAM,2CAA2C,CAAC,OAAO,IAAI,EAAE,MAAM,EAAE,CAAC;AAChG,OAAO,mBAAmB,MAAM,6CAA6C,CAAC,OAAO,IAAI,EAAE,MAAM,EAAE,CAAC;AACpG,OAAO,iBAAiB,MAAM,2CAA2C,CAAC,OAAO,IAAI,EAAE,MAAM,EAAE,CAAC;AAChG,OAAO,iBAAiB,MAAM,2CAA2C,CAAC,OAAO,IAAI,EAAE,MAAM,EAAE,CAAC;AAChG,OAAO,mBAAmB,MAAM,6CAA6C,CAAC,OAAO,IAAI,EAAE,MAAM,EAAE,CAAC;AAEpG,sBAAsB;AACtB,MAAM,CAAN,IAAY,SAKX;AALD,WAAY,SAAS;IACnB,wBAAW,CAAA;IACX,wBAAW,CAAA;IACX,4BAAe,CAAA;IACf,4BAAe,CAAA;AACjB,CAAC,EALW,SAAS,KAAT,SAAS,QAKpB;AAED,uBAAuB;AACvB,MAAM,CAAN,IAAY,cAGX;AAHD,WAAY,cAAc;IACxB,mCAAiB,CAAA;IACjB,6BAAW,CAAA;AACb,CAAC,EAHW,cAAc,KAAd,cAAc,QAGzB;AAKD,sCAAsC;AACtC,MAAM,CAAN,IAAY,eASX;AATD,WAAY,eAAe;IACzB,gDAA6B,CAAA;IAC7B,wCAAqB,CAAA;IACrB,sCAAmB,CAAA;IACnB,0CAAuB,CAAA;IACvB,oCAAiB,CAAA;IACjB,sCAAmB,CAAA;IACnB,8CAA2B,CAAA;IAC3B,4CAAyB,CAAA;AAC3B,CAAC,EATW,eAAe,KAAf,eAAe,QAS1B;AAED,MAAM,CAAC,MAAM,UAAU,GAAoC;IACzD,CAAC,eAAe,CAAC,YAAY,CAAC,EAAE,KAAK;IACrC,CAAC,eAAe,CAAC,QAAQ,CAAC,EAAE,IAAI;IAChC,CAAC,eAAe,CAAC,OAAO,CAAC,EAAE,GAAG;IAC9B,CAAC,eAAe,CAAC,SAAS,CAAC,EAAE,GAAG;IAChC,CAAC,eAAe,CAAC,MAAM,CAAC,EAAE,GAAG;IAC7B,CAAC,eAAe,CAAC,OAAO,CAAC,EAAE,IAAI;IAC/B,CAAC,eAAe,CAAC,WAAW,CAAC,EAAE,IAAI;IACnC,CAAC,eAAe,CAAC,UAAU,CAAC,EAAE,IAAI;CACnC,CAAC;
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/shared/types.ts"],"names":[],"mappings":"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"}
|