anycloud 0.0.21 → 0.0.23
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/config/edit.js +55 -151
- package/dist/cli/commands/config/edit.js.map +1 -1
- package/dist/cli/commands/config/new.js +24 -62
- package/dist/cli/commands/config/new.js.map +1 -1
- package/dist/cli/commands/credentials/edit.js +2 -7
- package/dist/cli/commands/credentials/edit.js.map +1 -1
- package/dist/cli/commands/run.js +33 -10
- package/dist/cli/commands/run.js.map +1 -1
- package/dist/cli/commands/ssh.js +12 -2
- package/dist/cli/commands/ssh.js.map +1 -1
- package/dist/cli/commands/status.js +21 -10
- package/dist/cli/commands/status.js.map +1 -1
- package/dist/cli/commands/terminate.js +18 -3
- package/dist/cli/commands/terminate.js.map +1 -1
- package/dist/cli/commands/upgrade.js +11 -1
- package/dist/cli/commands/upgrade.js.map +1 -1
- package/dist/cli/services/api-client.js +10 -52
- package/dist/cli/services/api-client.js.map +1 -1
- package/dist/cli/services/credentials.js +12 -0
- package/dist/cli/services/credentials.js.map +1 -1
- package/dist/cli/utils/output.js +120 -23
- package/dist/cli/utils/output.js.map +1 -1
- package/dist/daemon/cluster.js +3 -37
- package/dist/daemon/cluster.js.map +1 -1
- package/dist/daemon/ip.js +84 -0
- package/dist/daemon/ip.js.map +1 -0
- package/dist/shared/types.js.map +1 -1
- package/package.json +1 -1
package/dist/cli/utils/output.js
CHANGED
|
@@ -36,6 +36,97 @@ export function createSpinner(text) {
|
|
|
36
36
|
color: 'cyan',
|
|
37
37
|
});
|
|
38
38
|
}
|
|
39
|
+
/**
|
|
40
|
+
* Prompt user to select from a list with autocomplete (type to filter)
|
|
41
|
+
* Returns the selected value or undefined if cancelled
|
|
42
|
+
*/
|
|
43
|
+
export async function selectWithAutocomplete(message, choices, initial) {
|
|
44
|
+
const response = await prompts({
|
|
45
|
+
type: 'autocomplete',
|
|
46
|
+
name: 'value',
|
|
47
|
+
message,
|
|
48
|
+
hint: '- Type to filter',
|
|
49
|
+
choices,
|
|
50
|
+
initial,
|
|
51
|
+
suggest: async (input, choices) => choices.filter((c) => c.title.toLowerCase().includes(input.toLowerCase())),
|
|
52
|
+
});
|
|
53
|
+
return response.value;
|
|
54
|
+
}
|
|
55
|
+
/**
|
|
56
|
+
* Prompt user to select a region from a profile's entries
|
|
57
|
+
* Returns the selected index or undefined if cancelled
|
|
58
|
+
*/
|
|
59
|
+
export async function selectRegionEntry(entries, message) {
|
|
60
|
+
const response = await prompts({
|
|
61
|
+
type: 'select',
|
|
62
|
+
name: 'index',
|
|
63
|
+
message,
|
|
64
|
+
choices: entries.map((entry, i) => ({
|
|
65
|
+
title: `${entry.region || 'no region'} (${entry.credentialsName})`,
|
|
66
|
+
value: i,
|
|
67
|
+
description: entry.vmType || 'no VM type',
|
|
68
|
+
})),
|
|
69
|
+
});
|
|
70
|
+
return response.index;
|
|
71
|
+
}
|
|
72
|
+
/**
|
|
73
|
+
* Prompt user for spot instance preference
|
|
74
|
+
* Returns true/false or undefined if cancelled
|
|
75
|
+
*/
|
|
76
|
+
export async function promptSpot(initial) {
|
|
77
|
+
const response = await prompts({
|
|
78
|
+
type: 'confirm',
|
|
79
|
+
name: 'spot',
|
|
80
|
+
message: 'Use spot/preemptible instances? (cheaper but can be interrupted)',
|
|
81
|
+
initial: initial ?? false,
|
|
82
|
+
});
|
|
83
|
+
if (response.spot === undefined) {
|
|
84
|
+
return undefined; // cancelled
|
|
85
|
+
}
|
|
86
|
+
return response.spot;
|
|
87
|
+
}
|
|
88
|
+
/**
|
|
89
|
+
* Prompt user for disk size in GB
|
|
90
|
+
* Returns the disk size or undefined if cancelled, null if empty (use default)
|
|
91
|
+
*/
|
|
92
|
+
export async function promptDiskSize(initial) {
|
|
93
|
+
const response = await prompts({
|
|
94
|
+
type: 'text',
|
|
95
|
+
name: 'diskSizeGb',
|
|
96
|
+
message: 'Disk size in GB (leave empty for provider default):',
|
|
97
|
+
initial: initial?.toString() || '',
|
|
98
|
+
});
|
|
99
|
+
if (response.diskSizeGb === undefined) {
|
|
100
|
+
return undefined; // cancelled
|
|
101
|
+
}
|
|
102
|
+
if (!response.diskSizeGb) {
|
|
103
|
+
return null; // empty - use default
|
|
104
|
+
}
|
|
105
|
+
const diskSize = parseInt(response.diskSizeGb, 10);
|
|
106
|
+
if (!isNaN(diskSize) && diskSize > 0) {
|
|
107
|
+
return diskSize;
|
|
108
|
+
}
|
|
109
|
+
return null; // invalid - treat as default
|
|
110
|
+
}
|
|
111
|
+
/**
|
|
112
|
+
* Prompt user to select credentials
|
|
113
|
+
* Returns the selected credential name or undefined if cancelled
|
|
114
|
+
*/
|
|
115
|
+
export async function selectCredentials(credentials, initial) {
|
|
116
|
+
const credNames = Object.keys(credentials);
|
|
117
|
+
const response = await prompts({
|
|
118
|
+
type: 'select',
|
|
119
|
+
name: 'credName',
|
|
120
|
+
message: 'Select credentials:',
|
|
121
|
+
initial: initial ? credNames.indexOf(initial) : undefined,
|
|
122
|
+
choices: credNames.map((credName) => ({
|
|
123
|
+
title: credName,
|
|
124
|
+
value: credName,
|
|
125
|
+
description: `Provider: ${credentials[credName].cloudProvider}`,
|
|
126
|
+
})),
|
|
127
|
+
});
|
|
128
|
+
return response.credName;
|
|
129
|
+
}
|
|
39
130
|
/**
|
|
40
131
|
* Print cloud configurations table
|
|
41
132
|
* Used by both deployment list and config list commands
|
|
@@ -126,14 +217,18 @@ export function formatDuration(startMs, endMs) {
|
|
|
126
217
|
return diffSeconds === 1 ? '1 second' : `${diffSeconds} seconds`;
|
|
127
218
|
}
|
|
128
219
|
/**
|
|
129
|
-
* Extract
|
|
130
|
-
* e.g., "
|
|
220
|
+
* Extract org and image name from a full image URI
|
|
221
|
+
* e.g., "ghcr.io/org/myapp:v2" → "org/myapp:v2"
|
|
131
222
|
*/
|
|
132
223
|
export function formatImageName(image) {
|
|
133
|
-
// Remove registry prefix
|
|
224
|
+
// Remove registry prefix, keep org/image:tag
|
|
134
225
|
const parts = image.split('/');
|
|
135
|
-
|
|
136
|
-
|
|
226
|
+
if (parts.length >= 3) {
|
|
227
|
+
// ghcr.io/org/image:tag → org/image:tag
|
|
228
|
+
return parts.slice(1).join('/');
|
|
229
|
+
}
|
|
230
|
+
// Fallback: return last part
|
|
231
|
+
return parts[parts.length - 1];
|
|
137
232
|
}
|
|
138
233
|
/**
|
|
139
234
|
* Truncate a string to fit within a max width, adding ellipsis if needed
|
|
@@ -144,23 +239,18 @@ export function truncateString(str, maxWidth) {
|
|
|
144
239
|
return str.slice(0, maxWidth - 1) + '…';
|
|
145
240
|
}
|
|
146
241
|
/**
|
|
147
|
-
* Format a deployment for selection display (
|
|
148
|
-
*
|
|
149
|
-
* Emoji in description (right side) for consistent rendering
|
|
242
|
+
* Format a deployment for selection display (compact format)
|
|
243
|
+
* Format: ID - image - state emoji
|
|
150
244
|
*/
|
|
151
245
|
export function formatDeploymentChoice(deployment) {
|
|
152
246
|
const emoji = stateEmoji[deployment.state] || '❓';
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
const
|
|
156
|
-
const
|
|
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}`;
|
|
247
|
+
// Just the image name without org or tag
|
|
248
|
+
const parts = deployment.image.split('/');
|
|
249
|
+
const imageName = parts[parts.length - 1].split(':')[0];
|
|
250
|
+
const title = `${deployment.id} - ${imageName}`;
|
|
161
251
|
return {
|
|
162
252
|
title,
|
|
163
|
-
description: emoji
|
|
253
|
+
description: `${deployment.state} ${emoji}`,
|
|
164
254
|
value: { id: deployment.id, state: deployment.state },
|
|
165
255
|
};
|
|
166
256
|
}
|
|
@@ -168,10 +258,11 @@ export function formatDeploymentChoice(deployment) {
|
|
|
168
258
|
* Print table header for deployment selection
|
|
169
259
|
*/
|
|
170
260
|
export function printDeploymentTableHeader() {
|
|
171
|
-
// Column widths: ID=22, CLOUD=7, REGION=12, IMAGE=
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
console.log(chalk.dim(`
|
|
261
|
+
// Column widths: ID=22, CLOUD=7, REGION=12, IMAGE=28, AGE=4, STATE (unpadded)
|
|
262
|
+
// 4 spaces padding to align with prompts `? › ` prefix
|
|
263
|
+
const header = `${'ID'.padEnd(22)} ${'CLOUD'.padEnd(7)} ${'REGION'.padEnd(12)} ${'IMAGE'.padEnd(28)} ${'AGE'.padEnd(4)} STATE`;
|
|
264
|
+
console.log(chalk.dim(` ${header}`));
|
|
265
|
+
console.log(chalk.dim(` ${'─'.repeat(82)}`));
|
|
175
266
|
}
|
|
176
267
|
/**
|
|
177
268
|
* Print a deployment header with full metadata
|
|
@@ -183,12 +274,12 @@ export function printDeploymentTableHeader() {
|
|
|
183
274
|
* Returns the selected deployment value or undefined if cancelled
|
|
184
275
|
*/
|
|
185
276
|
export async function selectDeployment(deployments) {
|
|
186
|
-
printDeploymentTableHeader();
|
|
187
277
|
const choices = deployments.map((deployment) => formatDeploymentChoice(deployment));
|
|
188
278
|
const selection = await prompts({
|
|
189
279
|
type: 'autocomplete',
|
|
190
280
|
name: 'deployment',
|
|
191
|
-
message: '',
|
|
281
|
+
message: 'Select deployment',
|
|
282
|
+
hint: 'Type to filter',
|
|
192
283
|
choices,
|
|
193
284
|
suggest: (input, choices) => {
|
|
194
285
|
const inputLower = input.toLowerCase();
|
|
@@ -244,5 +335,11 @@ export function printDeploymentHeader(deployment, hasContainerStatus = false) {
|
|
|
244
335
|
console.log(` ${chalk.dim(paddedLabel)} ${value}`);
|
|
245
336
|
});
|
|
246
337
|
console.log('');
|
|
338
|
+
// Docker command (for debugging)
|
|
339
|
+
if (deployment.dockerCommand) {
|
|
340
|
+
console.log(chalk.dim('Docker command:'));
|
|
341
|
+
console.log(chalk.dim(deployment.dockerCommand));
|
|
342
|
+
console.log('');
|
|
343
|
+
}
|
|
247
344
|
}
|
|
248
345
|
//# sourceMappingURL=output.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"output.js","sourceRoot":"","sources":["../../../src/cli/utils/output.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"output.js","sourceRoot":"","sources":["../../../src/cli/utils/output.ts"],"names":[],"mappings":"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"}
|
package/dist/daemon/cluster.js
CHANGED
|
@@ -7,6 +7,7 @@ import crypto from 'crypto';
|
|
|
7
7
|
import { CloudType } from '../shared/types.js';
|
|
8
8
|
import { MetricsCollector } from './metrics.js';
|
|
9
9
|
import { PreemptionDetector } from './preemption.js';
|
|
10
|
+
import { discoverPublicIp } from './ip.js';
|
|
10
11
|
import { log } from './logger.js';
|
|
11
12
|
const ACK_INTERVAL = 4 * 60 * 1000; // 4 minutes
|
|
12
13
|
const METRICS_INTERVAL = 60 * 1000; // 1 minute
|
|
@@ -19,7 +20,6 @@ export class Coordinator {
|
|
|
19
20
|
this.conductorUrl = null;
|
|
20
21
|
this.deploymentProps = null;
|
|
21
22
|
this.clusterInfo = null;
|
|
22
|
-
this.privateIp = null;
|
|
23
23
|
this.publicIp = null;
|
|
24
24
|
this.ackInterval = null;
|
|
25
25
|
this.metricsInterval = null;
|
|
@@ -32,13 +32,12 @@ export class Coordinator {
|
|
|
32
32
|
async start(conductorUrl, deploymentProps) {
|
|
33
33
|
this.conductorUrl = conductorUrl;
|
|
34
34
|
this.deploymentProps = deploymentProps;
|
|
35
|
-
// Get this VM's IP
|
|
36
|
-
await
|
|
35
|
+
// Get this VM's public IP
|
|
36
|
+
this.publicIp = await discoverPublicIp();
|
|
37
37
|
// Detect cloud provider
|
|
38
38
|
const cloudProvider = await this.detectCloudProvider();
|
|
39
39
|
log.info('Cluster coordinator started', {
|
|
40
40
|
id: deploymentProps.id,
|
|
41
|
-
privateIp: this.privateIp,
|
|
42
41
|
publicIp: this.publicIp,
|
|
43
42
|
cloudProvider,
|
|
44
43
|
});
|
|
@@ -50,39 +49,6 @@ export class Coordinator {
|
|
|
50
49
|
this.startPreemptionDetection(cloudProvider);
|
|
51
50
|
}
|
|
52
51
|
}
|
|
53
|
-
/**
|
|
54
|
-
* Discover this VM's own IP addresses
|
|
55
|
-
*/
|
|
56
|
-
async discoverOwnIps() {
|
|
57
|
-
try {
|
|
58
|
-
// Get private IP from network interfaces
|
|
59
|
-
const { networkInterfaces } = await import('os');
|
|
60
|
-
const nets = networkInterfaces();
|
|
61
|
-
for (const name of Object.keys(nets)) {
|
|
62
|
-
for (const net of nets[name] || []) {
|
|
63
|
-
// Skip internal and IPv6
|
|
64
|
-
if (net.family === 'IPv4' && !net.internal) {
|
|
65
|
-
this.privateIp = net.address;
|
|
66
|
-
break;
|
|
67
|
-
}
|
|
68
|
-
}
|
|
69
|
-
if (this.privateIp)
|
|
70
|
-
break;
|
|
71
|
-
}
|
|
72
|
-
// Get public IP from external service
|
|
73
|
-
const response = await axios.get('https://api.ipify.org?format=json', {
|
|
74
|
-
timeout: 5000,
|
|
75
|
-
});
|
|
76
|
-
this.publicIp = response.data.ip;
|
|
77
|
-
log.debug('Discovered IPs', {
|
|
78
|
-
privateIp: this.privateIp,
|
|
79
|
-
publicIp: this.publicIp,
|
|
80
|
-
});
|
|
81
|
-
}
|
|
82
|
-
catch (error) {
|
|
83
|
-
log.error('Failed to discover IPs', error);
|
|
84
|
-
}
|
|
85
|
-
}
|
|
86
52
|
/**
|
|
87
53
|
* Send /ack heartbeat to deploy service
|
|
88
54
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cluster.js","sourceRoot":"","sources":["../../src/daemon/cluster.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,QAAQ,IAAI,GAAG,EAAE,MAAM,KAAK,CAAC;AACtC,OAAO,MAAM,MAAM,QAAQ,CAAC;AAC5B,OAAO,EAAmB,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAEhE,OAAO,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAC;AAChD,OAAO,EAAE,kBAAkB,EAAE,MAAM,iBAAiB,CAAC;AACrD,OAAO,EAAE,GAAG,EAAE,MAAM,aAAa,CAAC;AAElC,MAAM,YAAY,GAAG,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,CAAC,YAAY;AAChD,MAAM,gBAAgB,GAAG,EAAE,GAAG,IAAI,CAAC,CAAC,WAAW;AAE/C,gDAAgD;AAChD,MAAM,gBAAgB,GACpB,OAAO,CAAC,GAAG,CAAC,gBAAgB,IAAI,wBAAwB,CAAC;AAC3D,MAAM,kBAAkB,GACtB,OAAO,CAAC,GAAG,CAAC,kBAAkB,IAAI,wBAAwB,CAAC;AAC7D,MAAM,gBAAgB,GACpB,OAAO,CAAC,GAAG,CAAC,gBAAgB,IAAI,iCAAiC,CAAC;AAEpE,MAAM,OAAO,WAAW;
|
|
1
|
+
{"version":3,"file":"cluster.js","sourceRoot":"","sources":["../../src/daemon/cluster.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,84 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* IP Discovery Utility
|
|
3
|
+
*
|
|
4
|
+
* Discovers the VM's public IP using cloud metadata endpoints (reliable, no external dependency)
|
|
5
|
+
* with fallback to external service. Never fails fatally - returns null if all methods fail.
|
|
6
|
+
*/
|
|
7
|
+
import axios from 'axios';
|
|
8
|
+
import { log } from './logger.js';
|
|
9
|
+
// Configurable metadata endpoints (for testing)
|
|
10
|
+
const AWS_METADATA_URL = process.env.AWS_METADATA_URL || 'http://169.254.169.254';
|
|
11
|
+
const AZURE_METADATA_URL = process.env.AZURE_METADATA_URL || 'http://169.254.169.254';
|
|
12
|
+
const GCP_METADATA_URL = process.env.GCP_METADATA_URL || 'http://metadata.google.internal';
|
|
13
|
+
const TIMEOUT = 2000;
|
|
14
|
+
/**
|
|
15
|
+
* Discover this VM's public IP address.
|
|
16
|
+
* Tries cloud metadata endpoints sequentially, falls back to external service.
|
|
17
|
+
* Returns null if all methods fail (never throws).
|
|
18
|
+
*/
|
|
19
|
+
export async function discoverPublicIp() {
|
|
20
|
+
// Try cloud metadata endpoints sequentially
|
|
21
|
+
const attempts = [tryAwsMetadata, tryAzureMetadata, tryGcpMetadata];
|
|
22
|
+
for (const attempt of attempts) {
|
|
23
|
+
try {
|
|
24
|
+
const ip = await attempt();
|
|
25
|
+
if (ip) {
|
|
26
|
+
log.debug('Discovered public IP from cloud metadata', { ip });
|
|
27
|
+
return ip;
|
|
28
|
+
}
|
|
29
|
+
}
|
|
30
|
+
catch {
|
|
31
|
+
// Continue to next attempt
|
|
32
|
+
}
|
|
33
|
+
}
|
|
34
|
+
// Fallback to external service
|
|
35
|
+
try {
|
|
36
|
+
const ip = await tryIpify();
|
|
37
|
+
if (ip) {
|
|
38
|
+
log.debug('Discovered public IP from ipify', { ip });
|
|
39
|
+
return ip;
|
|
40
|
+
}
|
|
41
|
+
}
|
|
42
|
+
catch {
|
|
43
|
+
// Continue
|
|
44
|
+
}
|
|
45
|
+
log.warn('Failed to discover public IP from any source');
|
|
46
|
+
return null;
|
|
47
|
+
}
|
|
48
|
+
async function tryAwsMetadata() {
|
|
49
|
+
// Get IMDSv2 token first
|
|
50
|
+
const tokenRes = await axios.put(`${AWS_METADATA_URL}/latest/api/token`, null, {
|
|
51
|
+
headers: { 'X-aws-ec2-metadata-token-ttl-seconds': '21600' },
|
|
52
|
+
timeout: TIMEOUT,
|
|
53
|
+
});
|
|
54
|
+
const token = tokenRes.data;
|
|
55
|
+
const res = await axios.get(`${AWS_METADATA_URL}/latest/meta-data/public-ipv4`, {
|
|
56
|
+
headers: { 'X-aws-ec2-metadata-token': token },
|
|
57
|
+
timeout: TIMEOUT,
|
|
58
|
+
validateStatus: (status) => status === 200,
|
|
59
|
+
});
|
|
60
|
+
return res.data || null;
|
|
61
|
+
}
|
|
62
|
+
async function tryAzureMetadata() {
|
|
63
|
+
const res = await axios.get(`${AZURE_METADATA_URL}/metadata/instance/network/interface/0/ipv4/ipAddress/0/publicIpAddress?api-version=2021-02-01&format=text`, {
|
|
64
|
+
headers: { Metadata: 'true' },
|
|
65
|
+
timeout: TIMEOUT,
|
|
66
|
+
validateStatus: (status) => status === 200,
|
|
67
|
+
});
|
|
68
|
+
return res.data || null;
|
|
69
|
+
}
|
|
70
|
+
async function tryGcpMetadata() {
|
|
71
|
+
const res = await axios.get(`${GCP_METADATA_URL}/computeMetadata/v1/instance/network-interfaces/0/access-configs/0/external-ip`, {
|
|
72
|
+
headers: { 'Metadata-Flavor': 'Google' },
|
|
73
|
+
timeout: TIMEOUT,
|
|
74
|
+
validateStatus: (status) => status === 200,
|
|
75
|
+
});
|
|
76
|
+
return res.data || null;
|
|
77
|
+
}
|
|
78
|
+
async function tryIpify() {
|
|
79
|
+
const res = await axios.get('https://api.ipify.org?format=json', {
|
|
80
|
+
timeout: 5000,
|
|
81
|
+
});
|
|
82
|
+
return res.data?.ip || null;
|
|
83
|
+
}
|
|
84
|
+
//# sourceMappingURL=ip.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ip.js","sourceRoot":"","sources":["../../src/daemon/ip.ts"],"names":[],"mappings":"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"}
|
package/dist/shared/types.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/shared/types.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/shared/types.ts"],"names":[],"mappings":"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"}
|