@agentuity/cli 1.0.10 → 1.0.12
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/dist/cmd/build/ast.d.ts +1 -1
- package/dist/cmd/build/ast.d.ts.map +1 -1
- package/dist/cmd/build/ast.js +103 -5
- package/dist/cmd/build/ast.js.map +1 -1
- package/dist/cmd/build/vite/config-loader.d.ts.map +1 -1
- package/dist/cmd/build/vite/config-loader.js +1 -1
- package/dist/cmd/build/vite/config-loader.js.map +1 -1
- package/dist/cmd/build/vite/index.d.ts +2 -0
- package/dist/cmd/build/vite/index.d.ts.map +1 -1
- package/dist/cmd/build/vite/index.js +2 -1
- package/dist/cmd/build/vite/index.js.map +1 -1
- package/dist/cmd/build/vite/metadata-generator.d.ts +4 -1
- package/dist/cmd/build/vite/metadata-generator.d.ts.map +1 -1
- package/dist/cmd/build/vite/metadata-generator.js +1 -0
- package/dist/cmd/build/vite/metadata-generator.js.map +1 -1
- package/dist/cmd/build/vite/route-discovery.d.ts.map +1 -1
- package/dist/cmd/build/vite/route-discovery.js +23 -1
- package/dist/cmd/build/vite/route-discovery.js.map +1 -1
- package/dist/cmd/build/vite/vite-builder.d.ts +2 -0
- package/dist/cmd/build/vite/vite-builder.d.ts.map +1 -1
- package/dist/cmd/build/vite/vite-builder.js +1 -0
- package/dist/cmd/build/vite/vite-builder.js.map +1 -1
- package/dist/cmd/build/vite-bundler.d.ts +2 -0
- package/dist/cmd/build/vite-bundler.d.ts.map +1 -1
- package/dist/cmd/build/vite-bundler.js +2 -1
- package/dist/cmd/build/vite-bundler.js.map +1 -1
- package/dist/cmd/cloud/db/list.d.ts.map +1 -1
- package/dist/cmd/cloud/db/list.js +14 -1
- package/dist/cmd/cloud/db/list.js.map +1 -1
- package/dist/cmd/cloud/deploy.d.ts.map +1 -1
- package/dist/cmd/cloud/deploy.js +36 -22
- package/dist/cmd/cloud/deploy.js.map +1 -1
- package/dist/cmd/cloud/queue/list.d.ts.map +1 -1
- package/dist/cmd/cloud/queue/list.js +10 -0
- package/dist/cmd/cloud/queue/list.js.map +1 -1
- package/dist/cmd/cloud/sandbox/list.d.ts.map +1 -1
- package/dist/cmd/cloud/sandbox/list.js +10 -0
- package/dist/cmd/cloud/sandbox/list.js.map +1 -1
- package/dist/cmd/cloud/sandbox/runtime/list.d.ts.map +1 -1
- package/dist/cmd/cloud/sandbox/runtime/list.js +10 -0
- package/dist/cmd/cloud/sandbox/runtime/list.js.map +1 -1
- package/dist/cmd/cloud/sandbox/snapshot/list.d.ts.map +1 -1
- package/dist/cmd/cloud/sandbox/snapshot/list.js +10 -0
- package/dist/cmd/cloud/sandbox/snapshot/list.js.map +1 -1
- package/dist/cmd/cloud/session/get.js +12 -12
- package/dist/cmd/cloud/session/get.js.map +1 -1
- package/dist/cmd/cloud/session/list.d.ts.map +1 -1
- package/dist/cmd/cloud/session/list.js +14 -4
- package/dist/cmd/cloud/session/list.js.map +1 -1
- package/dist/cmd/cloud/storage/list.d.ts.map +1 -1
- package/dist/cmd/cloud/storage/list.js +14 -1
- package/dist/cmd/cloud/storage/list.js.map +1 -1
- package/dist/cmd/cloud/stream/list.d.ts.map +1 -1
- package/dist/cmd/cloud/stream/list.js +10 -0
- package/dist/cmd/cloud/stream/list.js.map +1 -1
- package/dist/cmd/cloud/thread/list.d.ts.map +1 -1
- package/dist/cmd/cloud/thread/list.js +10 -0
- package/dist/cmd/cloud/thread/list.js.map +1 -1
- package/dist/cmd/project/domain/check.d.ts +2 -0
- package/dist/cmd/project/domain/check.d.ts.map +1 -0
- package/dist/cmd/project/domain/check.js +131 -0
- package/dist/cmd/project/domain/check.js.map +1 -0
- package/dist/cmd/project/domain/index.d.ts +2 -0
- package/dist/cmd/project/domain/index.d.ts.map +1 -0
- package/dist/cmd/project/domain/index.js +20 -0
- package/dist/cmd/project/domain/index.js.map +1 -0
- package/dist/cmd/project/hostname/get.d.ts +2 -0
- package/dist/cmd/project/hostname/get.d.ts.map +1 -0
- package/dist/cmd/project/hostname/get.js +50 -0
- package/dist/cmd/project/hostname/get.js.map +1 -0
- package/dist/cmd/project/hostname/index.d.ts +2 -0
- package/dist/cmd/project/hostname/index.d.ts.map +1 -0
- package/dist/cmd/project/hostname/index.js +18 -0
- package/dist/cmd/project/hostname/index.js.map +1 -0
- package/dist/cmd/project/hostname/set.d.ts +2 -0
- package/dist/cmd/project/hostname/set.d.ts.map +1 -0
- package/dist/cmd/project/hostname/set.js +100 -0
- package/dist/cmd/project/hostname/set.js.map +1 -0
- package/dist/cmd/project/index.d.ts.map +1 -1
- package/dist/cmd/project/index.js +12 -0
- package/dist/cmd/project/index.js.map +1 -1
- package/dist/cmd/upgrade/index.d.ts.map +1 -1
- package/dist/cmd/upgrade/index.js +14 -8
- package/dist/cmd/upgrade/index.js.map +1 -1
- package/dist/cmd/upgrade/npm-availability.d.ts +12 -0
- package/dist/cmd/upgrade/npm-availability.d.ts.map +1 -1
- package/dist/cmd/upgrade/npm-availability.js +85 -6
- package/dist/cmd/upgrade/npm-availability.js.map +1 -1
- package/dist/cmd/upgrade/npm-availability.test.d.ts +2 -0
- package/dist/cmd/upgrade/npm-availability.test.d.ts.map +1 -0
- package/dist/cmd/upgrade/npm-availability.test.js +48 -0
- package/dist/cmd/upgrade/npm-availability.test.js.map +1 -0
- package/dist/index.d.ts +1 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1 -1
- package/dist/index.js.map +1 -1
- package/dist/steps.d.ts +9 -0
- package/dist/steps.d.ts.map +1 -1
- package/dist/steps.js +131 -71
- package/dist/steps.js.map +1 -1
- package/dist/tui.d.ts +2 -2
- package/dist/tui.d.ts.map +1 -1
- package/dist/tui.js +6 -4
- package/dist/tui.js.map +1 -1
- package/dist/version-check.js +3 -6
- package/dist/version-check.js.map +1 -1
- package/package.json +6 -6
- package/src/cmd/build/ast.ts +141 -5
- package/src/cmd/build/vite/config-loader.ts +1 -3
- package/src/cmd/build/vite/index.ts +4 -0
- package/src/cmd/build/vite/metadata-generator.ts +5 -1
- package/src/cmd/build/vite/route-discovery.ts +34 -1
- package/src/cmd/build/vite/vite-builder.ts +3 -0
- package/src/cmd/build/vite-bundler.ts +4 -0
- package/src/cmd/cloud/db/list.ts +14 -1
- package/src/cmd/cloud/deploy.ts +46 -21
- package/src/cmd/cloud/queue/list.ts +10 -0
- package/src/cmd/cloud/sandbox/list.ts +10 -0
- package/src/cmd/cloud/sandbox/runtime/list.ts +10 -0
- package/src/cmd/cloud/sandbox/snapshot/list.ts +10 -0
- package/src/cmd/cloud/session/get.ts +12 -12
- package/src/cmd/cloud/session/list.ts +28 -18
- package/src/cmd/cloud/storage/list.ts +14 -1
- package/src/cmd/cloud/stream/list.ts +18 -8
- package/src/cmd/cloud/thread/list.ts +15 -5
- package/src/cmd/project/domain/check.ts +146 -0
- package/src/cmd/project/domain/index.ts +20 -0
- package/src/cmd/project/hostname/get.ts +54 -0
- package/src/cmd/project/hostname/index.ts +18 -0
- package/src/cmd/project/hostname/set.ts +123 -0
- package/src/cmd/project/index.ts +12 -0
- package/src/cmd/upgrade/index.ts +23 -9
- package/src/cmd/upgrade/npm-availability.test.ts +65 -0
- package/src/cmd/upgrade/npm-availability.ts +103 -6
- package/src/index.ts +1 -1
- package/src/steps.ts +139 -74
- package/src/tui.ts +6 -4
- package/src/version-check.ts +6 -6
|
@@ -4,7 +4,6 @@ import { getCommand } from '../../command-prefix';
|
|
|
4
4
|
import { z } from 'zod';
|
|
5
5
|
import { ErrorCode, createError, exitWithError } from '../../errors';
|
|
6
6
|
import * as tui from '../../tui';
|
|
7
|
-
import { $ } from 'bun';
|
|
8
7
|
import { tmpdir } from 'node:os';
|
|
9
8
|
import { getInstallationType } from '../../utils/installation-type';
|
|
10
9
|
const UpgradeOptionsSchema = z.object({
|
|
@@ -68,13 +67,12 @@ async function performBunUpgrade(version, onRetry) {
|
|
|
68
67
|
const npmVersion = version.replace(/^v/, '');
|
|
69
68
|
const { installWithRetry } = await import('./npm-availability');
|
|
70
69
|
try {
|
|
70
|
+
const { spawnWithTimeout } = await import('./npm-availability');
|
|
71
71
|
await installWithRetry(async () => {
|
|
72
72
|
// Use bun to install the specific version globally
|
|
73
73
|
// Run from tmpdir to avoid interference from any local package.json/node_modules
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
.quiet()
|
|
77
|
-
.nothrow();
|
|
74
|
+
// spawnWithTimeout kills the process if it exceeds 30s (INSTALL_TIMEOUT_MS)
|
|
75
|
+
const result = await spawnWithTimeout(['bun', 'add', '-g', `@agentuity/cli@${npmVersion}`], { cwd: tmpdir(), timeout: 30_000 });
|
|
78
76
|
return { exitCode: result.exitCode, stderr: result.stderr };
|
|
79
77
|
}, { onRetry });
|
|
80
78
|
}
|
|
@@ -86,8 +84,9 @@ async function performBunUpgrade(version, onRetry) {
|
|
|
86
84
|
* Verify the upgrade was successful by checking the installed version
|
|
87
85
|
*/
|
|
88
86
|
async function verifyUpgrade(expectedVersion) {
|
|
89
|
-
|
|
90
|
-
|
|
87
|
+
const { spawnWithTimeout } = await import('./npm-availability');
|
|
88
|
+
// Run agentuity version to check the installed version (5s timeout — local command, sub-second normally)
|
|
89
|
+
const result = await spawnWithTimeout(['agentuity', 'version'], { timeout: 5_000 });
|
|
91
90
|
if (result.exitCode !== 0) {
|
|
92
91
|
throw new Error('Failed to verify upgrade - could not run agentuity version');
|
|
93
92
|
}
|
|
@@ -184,7 +183,9 @@ export const command = createCommand({
|
|
|
184
183
|
if (!isAvailable) {
|
|
185
184
|
tui.warning('The new version is not yet available on npm.');
|
|
186
185
|
tui.info('This can happen right after a release. Please try again in a few minutes.');
|
|
187
|
-
tui.
|
|
186
|
+
tui.newline();
|
|
187
|
+
tui.info('You can also upgrade manually:');
|
|
188
|
+
console.log(` ${tui.muted('curl -fsSL https://agentuity.sh | sh')}`);
|
|
188
189
|
return {
|
|
189
190
|
upgraded: false,
|
|
190
191
|
from: currentVersion,
|
|
@@ -249,6 +250,11 @@ export const command = createCommand({
|
|
|
249
250
|
error: error instanceof Error ? error.message : 'Unknown error',
|
|
250
251
|
installationType,
|
|
251
252
|
};
|
|
253
|
+
tui.newline();
|
|
254
|
+
tui.info('If the upgrade continues to fail, you can reinstall manually:');
|
|
255
|
+
tui.newline();
|
|
256
|
+
console.log(` ${tui.muted('curl -fsSL https://agentuity.sh | sh')}`);
|
|
257
|
+
tui.newline();
|
|
252
258
|
exitWithError(createError(ErrorCode.INTERNAL_ERROR, 'Upgrade failed', errorDetails), logger, options.errorFormat);
|
|
253
259
|
}
|
|
254
260
|
},
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/cmd/upgrade/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAC5C,OAAO,EAAE,UAAU,EAAE,aAAa,EAAE,aAAa,EAAE,KAAK,EAAE,MAAM,eAAe,CAAC;AAChF,OAAO,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAClD,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,SAAS,EAAE,WAAW,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AACrE,OAAO,KAAK,GAAG,MAAM,WAAW,CAAC;AACjC,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/cmd/upgrade/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -2,6 +2,18 @@
|
|
|
2
2
|
* npm registry availability checking utilities.
|
|
3
3
|
* Used to verify a version is available via bun's resolver before attempting upgrade.
|
|
4
4
|
*/
|
|
5
|
+
/**
|
|
6
|
+
* Run a command via Bun.spawn with a timeout that kills the process.
|
|
7
|
+
* Returns { exitCode, stdout, stderr } similar to Bun's $ shell result.
|
|
8
|
+
*/
|
|
9
|
+
export declare function spawnWithTimeout(cmd: string[], options: {
|
|
10
|
+
cwd?: string;
|
|
11
|
+
timeout: number;
|
|
12
|
+
}): Promise<{
|
|
13
|
+
exitCode: number;
|
|
14
|
+
stdout: Buffer;
|
|
15
|
+
stderr: Buffer;
|
|
16
|
+
}>;
|
|
5
17
|
/**
|
|
6
18
|
* Check if a specific version of @agentuity/cli is resolvable by bun.
|
|
7
19
|
* Uses `bun info` to verify bun's own resolver/CDN can see the version,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"npm-availability.d.ts","sourceRoot":"","sources":["../../../src/cmd/upgrade/npm-availability.ts"],"names":[],"mappings":"AAAA;;;GAGG;
|
|
1
|
+
{"version":3,"file":"npm-availability.d.ts","sourceRoot":"","sources":["../../../src/cmd/upgrade/npm-availability.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAYH;;;GAGG;AACH,wBAAsB,gBAAgB,CACrC,GAAG,EAAE,MAAM,EAAE,EACb,OAAO,EAAE;IAAE,GAAG,CAAC,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE,GACxC,OAAO,CAAC;IAAE,QAAQ,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,CAAC,CAkC/D;AAoCD;;;;;;;;GAQG;AACH,wBAAsB,uBAAuB,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAkB/E;AAED;;;;;;GAMG;AACH,wBAAsB,4BAA4B,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAEpF;AAED,MAAM,WAAW,iBAAiB;IACjC,8CAA8C;IAC9C,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,2DAA2D;IAC3D,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,4DAA4D;IAC5D,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,wCAAwC;IACxC,OAAO,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,KAAK,IAAI,CAAC;CACrD;AAED;;;;;;GAMG;AACH,wBAAsB,sBAAsB,CAC3C,OAAO,EAAE,MAAM,EACf,OAAO,GAAE,iBAAsB,GAC7B,OAAO,CAAC,OAAO,CAAC,CAsBlB;AAQD;;;GAGG;AACH,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAEzD;AAED,MAAM,WAAW,uBAAuB;IACvC,0FAA0F;IAC1F,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,iEAAiE;IACjE,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,+CAA+C;IAC/C,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,oEAAoE;IACpE,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,oFAAoF;IACpF,OAAO,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,KAAK,IAAI,CAAC;CACrD;AAED;;;;;;;;;;;GAWG;AACH,wBAAsB,gBAAgB,CACrC,SAAS,EAAE,MAAM,OAAO,CAAC;IAAE,QAAQ,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,CAAC,EAC9D,OAAO,GAAE,uBAA4B,GACnC,OAAO,CAAC;IAAE,QAAQ,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,CAAC,CAoD/C"}
|
|
@@ -2,9 +2,75 @@
|
|
|
2
2
|
* npm registry availability checking utilities.
|
|
3
3
|
* Used to verify a version is available via bun's resolver before attempting upgrade.
|
|
4
4
|
*/
|
|
5
|
-
import { $ } from 'bun';
|
|
6
5
|
import { tmpdir } from 'node:os';
|
|
7
6
|
const PACKAGE_SPEC = '@agentuity/cli';
|
|
7
|
+
/** Default timeout for `bun info` subprocess calls (10 seconds) */
|
|
8
|
+
const BUN_INFO_TIMEOUT_MS = 10_000;
|
|
9
|
+
/** Default timeout for install (`bun add -g`) subprocess calls (30 seconds) */
|
|
10
|
+
const INSTALL_TIMEOUT_MS = 30_000;
|
|
11
|
+
/**
|
|
12
|
+
* Run a command via Bun.spawn with a timeout that kills the process.
|
|
13
|
+
* Returns { exitCode, stdout, stderr } similar to Bun's $ shell result.
|
|
14
|
+
*/
|
|
15
|
+
export async function spawnWithTimeout(cmd, options) {
|
|
16
|
+
const proc = Bun.spawn(cmd, {
|
|
17
|
+
cwd: options.cwd,
|
|
18
|
+
stdout: 'pipe',
|
|
19
|
+
stderr: 'pipe',
|
|
20
|
+
});
|
|
21
|
+
let timedOut = false;
|
|
22
|
+
const timer = setTimeout(() => {
|
|
23
|
+
timedOut = true;
|
|
24
|
+
proc.kill();
|
|
25
|
+
}, options.timeout);
|
|
26
|
+
try {
|
|
27
|
+
const [exitCode, stdoutBytes, stderrBytes] = await Promise.all([
|
|
28
|
+
proc.exited,
|
|
29
|
+
new Response(proc.stdout).arrayBuffer(),
|
|
30
|
+
new Response(proc.stderr).arrayBuffer(),
|
|
31
|
+
]);
|
|
32
|
+
if (timedOut) {
|
|
33
|
+
throw new Error(`Command timed out after ${options.timeout}ms: ${cmd.join(' ')}`);
|
|
34
|
+
}
|
|
35
|
+
return {
|
|
36
|
+
exitCode,
|
|
37
|
+
stdout: Buffer.from(stdoutBytes),
|
|
38
|
+
stderr: Buffer.from(stderrBytes),
|
|
39
|
+
};
|
|
40
|
+
}
|
|
41
|
+
finally {
|
|
42
|
+
clearTimeout(timer);
|
|
43
|
+
}
|
|
44
|
+
}
|
|
45
|
+
/**
|
|
46
|
+
* Sentinel error thrown exclusively by withTimeout so the retry loop can
|
|
47
|
+
* distinguish a genuine timeout from other failures (e.g. permission errors).
|
|
48
|
+
*/
|
|
49
|
+
class TimeoutError extends Error {
|
|
50
|
+
constructor(description, timeoutMs) {
|
|
51
|
+
super(`${description} timed out after ${timeoutMs}ms`);
|
|
52
|
+
this.name = 'TimeoutError';
|
|
53
|
+
}
|
|
54
|
+
}
|
|
55
|
+
/**
|
|
56
|
+
* Race a promise against a timeout. Unlike spawnWithTimeout (which kills a process),
|
|
57
|
+
* this is a generic wrapper for any async operation (e.g. the installFn callback).
|
|
58
|
+
*
|
|
59
|
+
* Throws a {@link TimeoutError} (not a plain Error) so callers can tell
|
|
60
|
+
* timeouts apart from other exceptions.
|
|
61
|
+
*/
|
|
62
|
+
async function withTimeout(promise, timeoutMs, description) {
|
|
63
|
+
let timer;
|
|
64
|
+
const timeoutPromise = new Promise((_, reject) => {
|
|
65
|
+
timer = setTimeout(() => reject(new TimeoutError(description, timeoutMs)), timeoutMs);
|
|
66
|
+
});
|
|
67
|
+
try {
|
|
68
|
+
return await Promise.race([promise, timeoutPromise]);
|
|
69
|
+
}
|
|
70
|
+
finally {
|
|
71
|
+
clearTimeout(timer);
|
|
72
|
+
}
|
|
73
|
+
}
|
|
8
74
|
/**
|
|
9
75
|
* Check if a specific version of @agentuity/cli is resolvable by bun.
|
|
10
76
|
* Uses `bun info` to verify bun's own resolver/CDN can see the version,
|
|
@@ -17,10 +83,7 @@ const PACKAGE_SPEC = '@agentuity/cli';
|
|
|
17
83
|
export async function isVersionAvailableOnNpm(version) {
|
|
18
84
|
const normalizedVersion = version.replace(/^v/, '');
|
|
19
85
|
try {
|
|
20
|
-
const result = await
|
|
21
|
-
.cwd(tmpdir())
|
|
22
|
-
.quiet()
|
|
23
|
-
.nothrow();
|
|
86
|
+
const result = await spawnWithTimeout(['bun', 'info', `${PACKAGE_SPEC}@${normalizedVersion}`, '--json'], { cwd: tmpdir(), timeout: BUN_INFO_TIMEOUT_MS });
|
|
24
87
|
if (result.exitCode !== 0) {
|
|
25
88
|
return false;
|
|
26
89
|
}
|
|
@@ -97,7 +160,23 @@ export async function installWithRetry(installFn, options = {}) {
|
|
|
97
160
|
const { maxAttempts = 7, initialDelayMs = 5000, maxDelayMs = 30000, multiplier = 2, onRetry, } = options;
|
|
98
161
|
let delay = initialDelayMs;
|
|
99
162
|
for (let attempt = 1; attempt <= maxAttempts; attempt++) {
|
|
100
|
-
|
|
163
|
+
let result;
|
|
164
|
+
try {
|
|
165
|
+
result = await withTimeout(installFn(), INSTALL_TIMEOUT_MS, 'Install command');
|
|
166
|
+
}
|
|
167
|
+
catch (error) {
|
|
168
|
+
// Only retry on timeouts — non-timeout errors (permissions, disk, etc.) are fatal
|
|
169
|
+
if (!(error instanceof TimeoutError)) {
|
|
170
|
+
throw error;
|
|
171
|
+
}
|
|
172
|
+
if (attempt === maxAttempts) {
|
|
173
|
+
throw error;
|
|
174
|
+
}
|
|
175
|
+
onRetry?.(attempt, delay);
|
|
176
|
+
await new Promise((resolve) => setTimeout(resolve, delay));
|
|
177
|
+
delay = Math.min(Math.round(delay * multiplier), maxDelayMs);
|
|
178
|
+
continue;
|
|
179
|
+
}
|
|
101
180
|
if (result.exitCode === 0) {
|
|
102
181
|
return result;
|
|
103
182
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"npm-availability.js","sourceRoot":"","sources":["../../../src/cmd/upgrade/npm-availability.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;
|
|
1
|
+
{"version":3,"file":"npm-availability.js","sourceRoot":"","sources":["../../../src/cmd/upgrade/npm-availability.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"npm-availability.test.d.ts","sourceRoot":"","sources":["../../../src/cmd/upgrade/npm-availability.test.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
import { test, expect, beforeAll, afterAll } from 'bun:test';
|
|
2
|
+
import { spawnWithTimeout } from './npm-availability';
|
|
3
|
+
import { tmpdir } from 'node:os';
|
|
4
|
+
import { join } from 'node:path';
|
|
5
|
+
// bun info requires a package.json in its cwd, and isVersionAvailableOnNpm
|
|
6
|
+
// uses tmpdir() as cwd. Ensure a minimal package.json exists there for tests.
|
|
7
|
+
const tmpPackageJson = join(tmpdir(), 'package.json');
|
|
8
|
+
let createdPackageJson = false;
|
|
9
|
+
beforeAll(async () => {
|
|
10
|
+
const file = Bun.file(tmpPackageJson);
|
|
11
|
+
if (!(await file.exists())) {
|
|
12
|
+
await Bun.write(file, '{}');
|
|
13
|
+
createdPackageJson = true;
|
|
14
|
+
}
|
|
15
|
+
});
|
|
16
|
+
afterAll(async () => {
|
|
17
|
+
if (createdPackageJson) {
|
|
18
|
+
const { unlink } = await import('node:fs/promises');
|
|
19
|
+
await unlink(tmpPackageJson).catch(() => { });
|
|
20
|
+
}
|
|
21
|
+
});
|
|
22
|
+
test('spawnWithTimeout kills process on timeout', async () => {
|
|
23
|
+
// spawn a command that hangs with a short timeout (500ms)
|
|
24
|
+
await expect(spawnWithTimeout(['bun', '-e', 'setTimeout(()=>{},60000)'], { timeout: 500 })).rejects.toThrow(/timed out/);
|
|
25
|
+
});
|
|
26
|
+
test('spawnWithTimeout returns result when command completes in time', async () => {
|
|
27
|
+
const result = await spawnWithTimeout(['bun', '-e', "console.log('hello')"], {
|
|
28
|
+
timeout: 5_000,
|
|
29
|
+
});
|
|
30
|
+
expect(result.exitCode).toBe(0);
|
|
31
|
+
expect(result.stdout.toString().trim()).toBe('hello');
|
|
32
|
+
});
|
|
33
|
+
test('spawnWithTimeout returns non-zero exit code without throwing', async () => {
|
|
34
|
+
const result = await spawnWithTimeout(['bun', '-e', 'process.exit(1)'], { timeout: 5_000 });
|
|
35
|
+
expect(result.exitCode).not.toBe(0);
|
|
36
|
+
});
|
|
37
|
+
test('isVersionAvailableOnNpm returns true for a known version', async () => {
|
|
38
|
+
const { isVersionAvailableOnNpm } = await import('./npm-availability');
|
|
39
|
+
// Use a known-good old version that definitely exists
|
|
40
|
+
const result = await isVersionAvailableOnNpm('1.0.10');
|
|
41
|
+
expect(result).toBe(true);
|
|
42
|
+
}, 15_000); // generous test timeout but the function itself has 10s subprocess timeout
|
|
43
|
+
test('isVersionAvailableOnNpm returns false for non-existent version', async () => {
|
|
44
|
+
const { isVersionAvailableOnNpm } = await import('./npm-availability');
|
|
45
|
+
const result = await isVersionAvailableOnNpm('999.999.999');
|
|
46
|
+
expect(result).toBe(false);
|
|
47
|
+
}, 15_000);
|
|
48
|
+
//# sourceMappingURL=npm-availability.test.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"npm-availability.test.js","sourceRoot":"","sources":["../../../src/cmd/upgrade/npm-availability.test.ts"],"names":[],"mappings":"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"}
|
package/dist/index.d.ts
CHANGED
|
@@ -23,7 +23,7 @@ export { detectColorScheme } from './terminal';
|
|
|
23
23
|
export { getCommandPrefix, getCommand } from './command-prefix';
|
|
24
24
|
export * as tui from './tui';
|
|
25
25
|
export { createRepl, type ReplConfig, type ReplCommand, type ReplContext, type ParsedCommand, type CommandHandler, type TableColumn, } from './repl';
|
|
26
|
-
export { runSteps, stepSuccess, stepSkipped, stepError } from './steps';
|
|
26
|
+
export { runSteps, stepSuccess, stepSkipped, stepError, StepInterruptError } from './steps';
|
|
27
27
|
export { playSound } from './sound';
|
|
28
28
|
export { downloadWithProgress, downloadWithSpinner, downloadGitHubTarball, type DownloadOptions as DownloadOptionsType, type DownloadGitHubOptions, } from './download';
|
|
29
29
|
export type { Config, LogLevel, GlobalOptions, CommandContext, SubcommandDefinition, CommandDefinition, Profile, AuthData, CommandSchemas, ResourceSelectionRule, BuildPhase, BuildContext, BuildConfig, BuildConfigFunction, AgentuityConfig, WorkbenchConfig, } from './types';
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,gBAAgB,EAAE,MAAM,OAAO,CAAC;AACpD,OAAO,EAAE,cAAc,EAAE,KAAK,cAAc,EAAE,MAAM,WAAW,CAAC;AAChE,OAAO,EACN,iBAAiB,EACjB,WAAW,EACX,mBAAmB,EACnB,YAAY,EACZ,mBAAmB,EACnB,KAAK,UAAU,GACf,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EAAE,eAAe,EAAE,KAAK,EAAE,MAAM,WAAW,CAAC;AACnD,OAAO,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAC7C,OAAO,EAAE,cAAc,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAC;AAChE,OAAO,EACN,iBAAiB,EACjB,KAAK,SAAS,EACd,KAAK,aAAa,EAClB,KAAK,aAAa,GAClB,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EACN,SAAS,EACT,WAAW,EACX,aAAa,EACb,eAAe,EACf,gBAAgB,EAChB,KAAK,eAAe,GACpB,MAAM,UAAU,CAAC;AAClB,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AACrD,OAAO,EACN,cAAc,EACd,oBAAoB,EACpB,mBAAmB,EACnB,cAAc,GACd,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EAAE,eAAe,EAAE,qBAAqB,EAAE,MAAM,oBAAoB,CAAC;AAC5E,OAAO,EACN,UAAU,EACV,WAAW,EACX,qBAAqB,EACrB,mBAAmB,EACnB,UAAU,EACV,aAAa,EACb,UAAU,EACV,aAAa,EACb,SAAS,EACT,qBAAqB,EACrB,mBAAmB,EACnB,cAAc,EACd,gBAAgB,EAChB,gBAAgB,EAChB,iBAAiB,EACjB,iBAAiB,EACjB,KAAK,YAAY,EACjB,KAAK,gBAAgB,EACrB,KAAK,eAAe,EACpB,KAAK,oBAAoB,GACzB,MAAM,UAAU,CAAC;AAClB,OAAO,EACN,aAAa,EACb,YAAY,EACZ,aAAa,EACb,aAAa,EACb,iBAAiB,EACjB,YAAY,EACZ,KAAK,WAAW,EAChB,KAAK,WAAW,GAChB,MAAM,WAAW,CAAC;AACnB,OAAO,EAAE,UAAU,EAAE,WAAW,EAAE,cAAc,EAAE,UAAU,EAAE,MAAM,WAAW,CAAC;AAChF,OAAO,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,QAAQ,CAAC;AACnD,OAAO,EACN,UAAU,EACV,UAAU,EACV,oBAAoB,EACpB,mBAAmB,EACnB,cAAc,EACd,eAAe,EACf,WAAW,EACX,UAAU,EACV,aAAa,EACb,QAAQ,EACR,SAAS,EACT,OAAO,GACP,MAAM,UAAU,CAAC;AAClB,OAAO,EAAE,SAAS,EAAE,aAAa,EAAE,aAAa,EAAE,MAAM,OAAO,CAAC;AAChE,OAAO,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAC5C,OAAO,EACN,aAAa,EACb,YAAY,EACZ,KAAK,WAAW,IAAI,iBAAiB,GACrC,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EAAE,UAAU,EAAE,MAAM,UAAU,CAAC;AACtC,OAAO,EAAE,gBAAgB,EAAE,MAAM,OAAO,CAAC;AACzC,OAAO,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAC;AAC/C,OAAO,EAAE,gBAAgB,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAChE,OAAO,KAAK,GAAG,MAAM,OAAO,CAAC;AAC7B,OAAO,EACN,UAAU,EACV,KAAK,UAAU,EACf,KAAK,WAAW,EAChB,KAAK,WAAW,EAChB,KAAK,aAAa,EAClB,KAAK,cAAc,EACnB,KAAK,WAAW,GAChB,MAAM,QAAQ,CAAC;AAChB,OAAO,EAAE,QAAQ,EAAE,WAAW,EAAE,WAAW,EAAE,SAAS,EAAE,MAAM,SAAS,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
package/dist/index.js
CHANGED
|
@@ -23,7 +23,7 @@ export { detectColorScheme } from './terminal';
|
|
|
23
23
|
export { getCommandPrefix, getCommand } from './command-prefix';
|
|
24
24
|
export * as tui from './tui';
|
|
25
25
|
export { createRepl, } from './repl';
|
|
26
|
-
export { runSteps, stepSuccess, stepSkipped, stepError } from './steps';
|
|
26
|
+
export { runSteps, stepSuccess, stepSkipped, stepError, StepInterruptError } from './steps';
|
|
27
27
|
export { playSound } from './sound';
|
|
28
28
|
export { downloadWithProgress, downloadWithSpinner, downloadGitHubTarball, } from './download';
|
|
29
29
|
export { createSubcommand, createCommand } from './types';
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,gBAAgB,EAAE,MAAM,OAAO,CAAC;AACpD,OAAO,EAAE,cAAc,EAAuB,MAAM,WAAW,CAAC;AAChE,OAAO,EACN,iBAAiB,EACjB,WAAW,EACX,mBAAmB,EACnB,YAAY,EACZ,mBAAmB,GAEnB,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EAAE,eAAe,EAAE,KAAK,EAAE,MAAM,WAAW,CAAC;AACnD,OAAO,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAC7C,OAAO,EAAE,cAAc,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAC;AAChE,OAAO,EACN,iBAAiB,GAIjB,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EACN,SAAS,EACT,WAAW,EACX,aAAa,EACb,eAAe,EACf,gBAAgB,GAEhB,MAAM,UAAU,CAAC;AAClB,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AACrD,OAAO,EACN,cAAc,EACd,oBAAoB,EACpB,mBAAmB,EACnB,cAAc,GACd,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EAAE,eAAe,EAAE,qBAAqB,EAAE,MAAM,oBAAoB,CAAC;AAC5E,OAAO,EACN,UAAU,EACV,WAAW,EACX,qBAAqB,EACrB,mBAAmB,EACnB,UAAU,EACV,aAAa,EACb,UAAU,EACV,aAAa,EACb,SAAS,EACT,qBAAqB,EACrB,mBAAmB,EACnB,cAAc,EACd,gBAAgB,EAChB,gBAAgB,EAChB,iBAAiB,EACjB,iBAAiB,GAKjB,MAAM,UAAU,CAAC;AAClB,OAAO,EACN,aAAa,EACb,YAAY,EACZ,aAAa,EACb,aAAa,EACb,iBAAiB,EACjB,YAAY,GAGZ,MAAM,WAAW,CAAC;AACnB,OAAO,EAAE,UAAU,EAAE,WAAW,EAAE,cAAc,EAAE,UAAU,EAAE,MAAM,WAAW,CAAC;AAChF,OAAO,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,QAAQ,CAAC;AACnD,OAAO,EACN,UAAU,EACV,UAAU,EACV,oBAAoB,EACpB,mBAAmB,EACnB,cAAc,EACd,eAAe,EACf,WAAW,EACX,UAAU,EACV,aAAa,EACb,QAAQ,EACR,SAAS,EACT,OAAO,GACP,MAAM,UAAU,CAAC;AAClB,OAAO,EAAE,SAAS,EAAE,aAAa,EAAE,aAAa,EAAE,MAAM,OAAO,CAAC;AAChE,OAAO,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAC5C,OAAO,EACN,aAAa,EACb,YAAY,GAEZ,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EAAE,UAAU,EAAE,MAAM,UAAU,CAAC;AACtC,OAAO,EAAE,gBAAgB,EAAE,MAAM,OAAO,CAAC;AACzC,OAAO,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAC;AAC/C,OAAO,EAAE,gBAAgB,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAChE,OAAO,KAAK,GAAG,MAAM,OAAO,CAAC;AAC7B,OAAO,EACN,UAAU,GAOV,MAAM,QAAQ,CAAC;AAChB,OAAO,EAAE,QAAQ,EAAE,WAAW,EAAE,WAAW,EAAE,SAAS,EAAE,MAAM,SAAS,CAAC;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,gBAAgB,EAAE,MAAM,OAAO,CAAC;AACpD,OAAO,EAAE,cAAc,EAAuB,MAAM,WAAW,CAAC;AAChE,OAAO,EACN,iBAAiB,EACjB,WAAW,EACX,mBAAmB,EACnB,YAAY,EACZ,mBAAmB,GAEnB,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EAAE,eAAe,EAAE,KAAK,EAAE,MAAM,WAAW,CAAC;AACnD,OAAO,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAC7C,OAAO,EAAE,cAAc,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAC;AAChE,OAAO,EACN,iBAAiB,GAIjB,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EACN,SAAS,EACT,WAAW,EACX,aAAa,EACb,eAAe,EACf,gBAAgB,GAEhB,MAAM,UAAU,CAAC;AAClB,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AACrD,OAAO,EACN,cAAc,EACd,oBAAoB,EACpB,mBAAmB,EACnB,cAAc,GACd,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EAAE,eAAe,EAAE,qBAAqB,EAAE,MAAM,oBAAoB,CAAC;AAC5E,OAAO,EACN,UAAU,EACV,WAAW,EACX,qBAAqB,EACrB,mBAAmB,EACnB,UAAU,EACV,aAAa,EACb,UAAU,EACV,aAAa,EACb,SAAS,EACT,qBAAqB,EACrB,mBAAmB,EACnB,cAAc,EACd,gBAAgB,EAChB,gBAAgB,EAChB,iBAAiB,EACjB,iBAAiB,GAKjB,MAAM,UAAU,CAAC;AAClB,OAAO,EACN,aAAa,EACb,YAAY,EACZ,aAAa,EACb,aAAa,EACb,iBAAiB,EACjB,YAAY,GAGZ,MAAM,WAAW,CAAC;AACnB,OAAO,EAAE,UAAU,EAAE,WAAW,EAAE,cAAc,EAAE,UAAU,EAAE,MAAM,WAAW,CAAC;AAChF,OAAO,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,QAAQ,CAAC;AACnD,OAAO,EACN,UAAU,EACV,UAAU,EACV,oBAAoB,EACpB,mBAAmB,EACnB,cAAc,EACd,eAAe,EACf,WAAW,EACX,UAAU,EACV,aAAa,EACb,QAAQ,EACR,SAAS,EACT,OAAO,GACP,MAAM,UAAU,CAAC;AAClB,OAAO,EAAE,SAAS,EAAE,aAAa,EAAE,aAAa,EAAE,MAAM,OAAO,CAAC;AAChE,OAAO,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAC5C,OAAO,EACN,aAAa,EACb,YAAY,GAEZ,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EAAE,UAAU,EAAE,MAAM,UAAU,CAAC;AACtC,OAAO,EAAE,gBAAgB,EAAE,MAAM,OAAO,CAAC;AACzC,OAAO,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAC;AAC/C,OAAO,EAAE,gBAAgB,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAChE,OAAO,KAAK,GAAG,MAAM,OAAO,CAAC;AAC7B,OAAO,EACN,UAAU,GAOV,MAAM,QAAQ,CAAC;AAChB,OAAO,EAAE,QAAQ,EAAE,WAAW,EAAE,WAAW,EAAE,SAAS,EAAE,kBAAkB,EAAE,MAAM,SAAS,CAAC;AAC5F,OAAO,EAAE,SAAS,EAAE,MAAM,SAAS,CAAC;AACpC,OAAO,EACN,oBAAoB,EACpB,mBAAmB,EACnB,qBAAqB,GAGrB,MAAM,YAAY,CAAC;AAmBpB,OAAO,EAAE,gBAAgB,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC"}
|
package/dist/steps.d.ts
CHANGED
|
@@ -5,6 +5,14 @@
|
|
|
5
5
|
* Track total lines rendered to calculate cursor movement.
|
|
6
6
|
*/
|
|
7
7
|
import type { LogLevel } from './types';
|
|
8
|
+
/**
|
|
9
|
+
* Error thrown when step execution is interrupted by a signal (e.g., Ctrl+C).
|
|
10
|
+
* Callers can catch this to perform cleanup before exiting.
|
|
11
|
+
*/
|
|
12
|
+
export declare class StepInterruptError extends Error {
|
|
13
|
+
readonly exitCode: number;
|
|
14
|
+
constructor(exitCode?: number);
|
|
15
|
+
}
|
|
8
16
|
/**
|
|
9
17
|
* Step outcome returned by step.run()
|
|
10
18
|
*/
|
|
@@ -32,6 +40,7 @@ export declare const stepError: (message: string, cause?: Error, output?: string
|
|
|
32
40
|
*/
|
|
33
41
|
export interface StepContext {
|
|
34
42
|
progress: (n: number) => void;
|
|
43
|
+
signal: AbortSignal;
|
|
35
44
|
}
|
|
36
45
|
/**
|
|
37
46
|
* Step definition
|
package/dist/steps.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"steps.d.ts","sourceRoot":"","sources":["../src/steps.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAGH,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;
|
|
1
|
+
{"version":3,"file":"steps.d.ts","sourceRoot":"","sources":["../src/steps.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAGH,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AAKxC;;;GAGG;AACH,qBAAa,kBAAmB,SAAQ,KAAK;IAC5C,SAAgB,QAAQ,EAAE,MAAM,CAAC;gBACrB,QAAQ,SAAM;CAK1B;AAuCD;;GAEG;AACH,MAAM,MAAM,WAAW,GACpB;IAAE,MAAM,EAAE,SAAS,CAAC;IAAC,MAAM,CAAC,EAAE,MAAM,EAAE,CAAA;CAAE,GACxC;IAAE,MAAM,EAAE,SAAS,CAAC;IAAC,MAAM,CAAC,EAAE,MAAM,CAAC;IAAC,MAAM,CAAC,EAAE,MAAM,EAAE,CAAA;CAAE,GACzD;IAAE,MAAM,EAAE,OAAO,CAAC;IAAC,OAAO,EAAE,MAAM,CAAC;IAAC,KAAK,CAAC,EAAE,KAAK,CAAC;IAAC,MAAM,CAAC,EAAE,MAAM,EAAE,CAAA;CAAE,CAAC;AAE1E;;GAEG;AACH,eAAO,MAAM,WAAW,GAAI,SAAS,MAAM,EAAE,KAAG,WAA8C,CAAC;AAC/F,eAAO,MAAM,WAAW,GAAI,SAAS,MAAM,EAAE,SAAS,MAAM,EAAE,KAAG,WAI/D,CAAC;AACH,eAAO,MAAM,SAAS,GAAI,SAAS,MAAM,EAAE,QAAQ,KAAK,EAAE,SAAS,MAAM,EAAE,KAAG,WAK5E,CAAC;AAEH;;GAEG;AACH,MAAM,WAAW,WAAW;IAC3B,QAAQ,EAAE,CAAC,CAAC,EAAE,MAAM,KAAK,IAAI,CAAC;IAC9B,MAAM,EAAE,WAAW,CAAC;CACpB;AAED;;GAEG;AACH,MAAM,WAAW,IAAI;IACpB,KAAK,EAAE,MAAM,CAAC;IACd,GAAG,EAAE,CAAC,GAAG,EAAE,WAAW,KAAK,OAAO,CAAC,WAAW,CAAC,CAAC;CAChD;AA6ID,wBAAgB,cAAc,IAAI,OAAO,CAExC;AAaD;;;GAGG;AACH,wBAAgB,WAAW,CAAC,KAAK,UAAQ,GAAG,MAAM,IAAI,CAqDrD;AAgYD;;GAEG;AACH,wBAAsB,QAAQ,CAAC,KAAK,EAAE,IAAI,EAAE,EAAE,QAAQ,CAAC,EAAE,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC,CAQhF"}
|