@outerlayer/cli 0.12.0 → 0.14.0
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/CHANGELOG.md +25 -0
- package/README.md +9 -4
- package/dist/agent-setup-CN2HUBEJ.js +26 -0
- package/dist/{build-LELVCWHV.js → build-BG2YENGK.js} +2 -2
- package/dist/build-info.json +1 -1
- package/dist/{builder-OF67QKDS.js → builder-2D3WSOOY.js} +4 -4
- package/dist/{check-RJOJU2WA.js → check-SRGR36KI.js} +37 -37
- package/dist/{chunk-XR3BJN33.js → chunk-22RMZBGW.js} +20 -1
- package/dist/{chunk-AHZQBGD2.js → chunk-2M63GG56.js} +1 -1
- package/dist/{chunk-SZOVKFWB.js → chunk-3NLOVYJQ.js} +4 -4
- package/dist/{chunk-USO2DKBD.js → chunk-4KSQKQXE.js} +8 -2
- package/dist/{chunk-QEESCZ26.js → chunk-4NPZVMJU.js} +2 -2
- package/dist/{chunk-DVT73QJO.js → chunk-4OGPT6I2.js} +14 -14
- package/dist/{chunk-ZQUCTFXC.js → chunk-FOJGZYFC.js} +11 -5
- package/dist/{chunk-G5XY6CVG.js → chunk-HFKKFTXU.js} +12 -16
- package/dist/{chunk-ANW7VHMH.js → chunk-HFKQIZXL.js} +95 -16
- package/dist/{chunk-325272HM.js → chunk-J5M7BSJQ.js} +11 -4
- package/dist/{chunk-NPXQXYVA.js → chunk-JJEGKEFV.js} +6 -8
- package/dist/{chunk-3ZPYPFNM.js → chunk-JXYVA45C.js} +1 -1
- package/dist/{chunk-IBB4D4KE.js → chunk-JYIEHQIF.js} +1 -1
- package/dist/{chunk-5TGQHOUX.js → chunk-KFRM23WD.js} +3 -3
- package/dist/{chunk-GGMRZPEA.js → chunk-KMDLFI4P.js} +1 -1
- package/dist/{chunk-G5IEVZGI.js → chunk-LCEXHCHD.js} +1 -1
- package/dist/{chunk-27Y7AX2O.js → chunk-MSASO5O4.js} +44 -8
- package/dist/chunk-MTF3PHVZ.js +161 -0
- package/dist/{chunk-G4RXNF2L.js → chunk-NHDVD7DU.js} +12 -12
- package/dist/{chunk-GATMPAMK.js → chunk-NPQWKGUA.js} +2 -2
- package/dist/{chunk-YEQL54G5.js → chunk-PQUM37BK.js} +1 -1
- package/dist/{chunk-GEBQXUFY.js → chunk-Q2UK3C4P.js} +24 -10
- package/dist/{chunk-SKHN72JO.js → chunk-RBKIH5ST.js} +13 -13
- package/dist/{chunk-2KLBKHT4.js → chunk-RLYZLUQ7.js} +1 -1
- package/dist/chunk-RMWLBUCJ.js +50 -0
- package/dist/{chunk-PDRYXERC.js → chunk-SMHOCDCI.js} +5 -5
- package/dist/{chunk-6FH2AHJY.js → chunk-SWHQ4LUM.js} +30 -17
- package/dist/{agent-setup-52LRZ6AY.js → chunk-SXWS25JC.js} +8 -21
- package/dist/{chunk-VK25O2ZM.js → chunk-T5VPP6H7.js} +1 -1
- package/dist/{chunk-JOXYKGUV.js → chunk-WUYTWNMA.js} +4 -2
- package/dist/{chunk-A56PYPDF.js → chunk-XCK2YAY5.js} +14 -4
- package/dist/{chunk-C7N4TDHW.js → chunk-YDSMROTB.js} +5 -5
- package/dist/{chunk-FO7KKPYG.js → chunk-ZA5CHAFY.js} +2 -2
- package/dist/{cli-JSSRGA6V.js → cli-UW2H3UUW.js} +138 -85
- package/dist/{command-3WYZ2ML5.js → command-5LD7G2QQ.js} +27 -27
- package/dist/{config-MKBX2ZQD.js → config-N3C6DFQA.js} +1 -1
- package/dist/{connect-cmd-A5NGODCJ.js → connect-cmd-JUAW6MU4.js} +5 -5
- package/dist/{context-adopt-BAHGXJZV.js → context-adopt-PJUMW2EZ.js} +6 -6
- package/dist/{context-materialize-45OVRRK2.js → context-materialize-FDHYKNDT.js} +6 -6
- package/dist/{dist-EQDW7MZW.js → dist-LKDWQWZ7.js} +2 -2
- package/dist/{docker-VGWEJWI7.js → docker-4J77Q2BF.js} +5 -5
- package/dist/{doctor-4FFXTQJ2.js → doctor-H7REBSLQ.js} +29 -29
- package/dist/{emit-artifact-cmd-QS7XNKBT.js → emit-artifact-cmd-FOGNJXVR.js} +18 -21
- package/dist/emit-cmd-ZEYWLC2C.js +11 -0
- package/dist/{emit-criteria-cmd-XN6AKA53.js → emit-criteria-cmd-HBP6XS5C.js} +8 -11
- package/dist/{emit-finding-cmd-SQJSEHYS.js → emit-finding-cmd-DLI4MKMN.js} +8 -11
- package/dist/{emit-result-cmd-56RHPHOA.js → emit-result-cmd-MUSL7GQA.js} +12 -15
- package/dist/{hook-fast-HLESEJAL.js → hook-fast-WYQD6D7T.js} +1 -1
- package/dist/{import-capture-cmd-NHMAFDM6.js → import-capture-cmd-6QVCOIHK.js} +10 -13
- package/dist/{import-ruler-cmd-UYB32YUT.js → import-ruler-cmd-KLRGRBCP.js} +7 -10
- package/dist/index.js +3 -3
- package/dist/{init-UZKD4RY7.js → init-NTXA3SN7.js} +28 -28
- package/dist/{init-6AY5T3P6.js → init-UBXK6MF7.js} +47 -37
- package/dist/{init-cmd-XGSX2BCC.js → init-cmd-NARDUPIG.js} +20 -13
- package/dist/init-update-O5YYFGF4.js +165 -0
- package/dist/{install-VXXI7UR6.js → install-HDBIPHTX.js} +2 -2
- package/dist/{login-browser-7XGSV7MA.js → login-browser-QZCS3WW6.js} +2 -1
- package/dist/{loop-4NMI2USY.js → loop-SW2M5VDD.js} +37 -37
- package/dist/{machine-4JX2D4TS.js → machine-U66FKVDP.js} +23 -23
- package/dist/mcp-install-cmd-FDTPQQS6.js +9 -0
- package/dist/{runner-env-WAXTJXZK.js → runner-env-XTC53CHN.js} +3 -3
- package/dist/runner-key-3JSMDRJA.js +154 -0
- package/dist/{session-sender-T7PN4YRC.js → session-sender-4M247XSV.js} +7 -7
- package/dist/starter-pack-IB4UUIX3.js +11 -0
- package/dist/{status-OXBIRWJ7.js → status-STZYPU3W.js} +30 -30
- package/dist/{sync-cmd-EVXNR47N.js → sync-cmd-UWD5JOFU.js} +6 -6
- package/dist/{watch-7NSFOAL5.js → watch-DBNB7R6X.js} +6 -6
- package/dist/{work-claim-cmd-KR7UR2AB.js → work-claim-cmd-LY4U6QHN.js} +13 -13
- package/dist/{work-cmd-JPM37MLF.js → work-cmd-RVRQ32EH.js} +7 -7
- package/dist/{work-comment-cmd-3DC6BC34.js → work-comment-cmd-FFUM4TJU.js} +10 -13
- package/dist/{work-open-pr-cmd-XZQRJBNZ.js → work-open-pr-cmd-HLDWP4T2.js} +10 -13
- package/dist/{work-pr-cmd-WHGZOP22.js → work-pr-cmd-L77K32WK.js} +7 -7
- package/package.json +1 -1
- package/skill-pack/maintained/emitting-evidence/SKILL.md +8 -2
- package/skill-pack/shipped.json +70 -0
- package/skill-pack/template/build/SKILL.md +66 -35
- package/skill-pack/template/build/references/agent-briefs.md +4 -2
- package/skill-pack/template/build/references/release.md +36 -8
- package/skill-pack/template/build/references/review-loop.md +6 -2
- package/skill-pack/template/build/scripts/record-criteria.mjs +109 -143
- package/skill-pack/template/spec/SKILL.md +33 -22
- package/skill-pack/template/writing-specs/SKILL.md +36 -3
- package/skill-pack/template/writing-specs/references/agents-snippet.md +57 -0
- package/skill-pack/template/writing-tests/SKILL.md +117 -0
- package/skill-pack/validators/acceptance-criteria.yaml +35 -0
- package/skill-pack/validators/code-review.yaml +4 -2
- package/dist/chunk-T6OIJQRT.js +0 -31
- package/dist/emit-cmd-LXEIDKLT.js +0 -10
- package/dist/mcp-install-cmd-XZARXNYT.js +0 -9
- package/dist/starter-pack-Z22VRFPF.js +0 -11
- package/dist/{chunk-3FMPZPJQ.js → chunk-R7PF5OOU.js} +1 -1
|
@@ -1,17 +1,14 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
2
|
import { createRequire } from 'node:module';
|
|
3
|
-
import {
|
|
4
|
-
import './chunk-
|
|
3
|
+
import { C } from './chunk-YRYMNBGQ.js';
|
|
4
|
+
import { normalizePath } from './chunk-2M63GG56.js';
|
|
5
|
+
import './chunk-J5M7BSJQ.js';
|
|
5
6
|
import './chunk-Z5GEFMRW.js';
|
|
6
7
|
import { existsSync, readdirSync, readFileSync, mkdirSync, writeFileSync } from 'fs';
|
|
7
8
|
import { join, dirname } from 'path';
|
|
8
9
|
|
|
9
10
|
createRequire(import.meta.url);
|
|
10
11
|
var SKIP_DIRS = /* @__PURE__ */ new Set(["node_modules", ".git"]);
|
|
11
|
-
var GREEN = "\x1B[32m";
|
|
12
|
-
var YELLOW = "\x1B[33m";
|
|
13
|
-
var DIM = "\x1B[2m";
|
|
14
|
-
var RESET = "\x1B[0m";
|
|
15
12
|
var ImportRulerError = class extends Error {
|
|
16
13
|
};
|
|
17
14
|
function toRepoRelative(base, name) {
|
|
@@ -98,10 +95,10 @@ function writeOutFile(repoRoot, relPath, content) {
|
|
|
98
95
|
}
|
|
99
96
|
function renderSuccess(scopes, warnings) {
|
|
100
97
|
const warningSuffix = warnings.length > 0 ? `, ${warnings.length} warning${warnings.length === 1 ? "" : "s"}` : "";
|
|
101
|
-
const lines = [`${
|
|
98
|
+
const lines = [`${C.green}\u2713${C.reset} imported ${scopes.length} .ruler/ scope${scopes.length === 1 ? "" : "s"}${warningSuffix}`];
|
|
102
99
|
for (const s of scopes) {
|
|
103
100
|
const written = [s.agentsMdWritten, s.mcpWritten].filter((p) => p !== void 0);
|
|
104
|
-
lines.push(` ${
|
|
101
|
+
lines.push(` ${C.dim}${s.scopePath === "" ? "(root)" : s.scopePath}${C.reset} \u2192 ${written.join(", ") || "nothing to import"}`);
|
|
105
102
|
}
|
|
106
103
|
return lines.join("\n");
|
|
107
104
|
}
|
|
@@ -110,7 +107,7 @@ function runImportRuler(opts = {}) {
|
|
|
110
107
|
if (!existsSync(cwd)) throw new ImportRulerError(`no such directory: ${cwd}`);
|
|
111
108
|
const rulerDirs = discoverRulerDirs(cwd);
|
|
112
109
|
if (rulerDirs.length === 0) {
|
|
113
|
-
const output2 = opts.json ? JSON.stringify({ scopes: [], warnings: [] }) : `${
|
|
110
|
+
const output2 = opts.json ? JSON.stringify({ scopes: [], warnings: [] }) : `${C.dim}no .ruler/ directories found \u2014 nothing to import${C.reset}`;
|
|
114
111
|
if (!opts.quiet) process.stdout.write(output2 + "\n");
|
|
115
112
|
return { scopes: [], warnings: [], output: output2, exitCode: 0 };
|
|
116
113
|
}
|
|
@@ -164,7 +161,7 @@ ${mdContent}`;
|
|
|
164
161
|
process.stdout.write(output + "\n");
|
|
165
162
|
} else {
|
|
166
163
|
process.stdout.write(output + "\n");
|
|
167
|
-
for (const w of warnings) process.stderr.write(` ${
|
|
164
|
+
for (const w of warnings) process.stderr.write(` ${C.yellow}!${C.reset} ${w.path}: ${w.message}
|
|
168
165
|
`);
|
|
169
166
|
}
|
|
170
167
|
}
|
package/dist/index.js
CHANGED
|
@@ -6,7 +6,7 @@ createRequire(import.meta.url);
|
|
|
6
6
|
// src/index.ts
|
|
7
7
|
var argv = process.argv.slice(2);
|
|
8
8
|
if (argv[0] === "hook") {
|
|
9
|
-
const { runHookFast } = await import('./hook-fast-
|
|
9
|
+
const { runHookFast } = await import('./hook-fast-WYQD6D7T.js');
|
|
10
10
|
await runHookFast(argv[1]);
|
|
11
11
|
process.exit(0);
|
|
12
12
|
}
|
|
@@ -21,6 +21,6 @@ if (argv[0] === "statusline") {
|
|
|
21
21
|
await runStatuslineFast(argv.slice(1));
|
|
22
22
|
process.exit(0);
|
|
23
23
|
}
|
|
24
|
-
(await import('./hook-fast-
|
|
25
|
-
var { runCli } = await import('./cli-
|
|
24
|
+
(await import('./hook-fast-WYQD6D7T.js')).recordLinkExitFailure(argv);
|
|
25
|
+
var { runCli } = await import('./cli-UW2H3UUW.js');
|
|
26
26
|
await runCli(process.argv);
|
|
@@ -1,44 +1,44 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
2
|
import { createRequire } from 'node:module';
|
|
3
|
-
export { PLACEHOLDER_MARKER, RunnerInitError, isPlaceholderCommand, readConfigObject, runRunnerInit } from './chunk-
|
|
4
|
-
import './chunk-
|
|
5
|
-
import './chunk-
|
|
6
|
-
import './chunk-
|
|
7
|
-
import './chunk-2KLBKHT4.js';
|
|
8
|
-
import './chunk-6MZSX4M7.js';
|
|
9
|
-
import './chunk-3FMPZPJQ.js';
|
|
10
|
-
import './chunk-N5FOE5PS.js';
|
|
11
|
-
import './chunk-OGFGZQA3.js';
|
|
12
|
-
import './chunk-GGMRZPEA.js';
|
|
13
|
-
import './chunk-QOZKPLVJ.js';
|
|
14
|
-
import './chunk-QEESCZ26.js';
|
|
15
|
-
import './chunk-CX22S5BA.js';
|
|
3
|
+
export { PLACEHOLDER_MARKER, RunnerInitError, isPlaceholderCommand, prepareRunnerInit, readConfigObject, runRunnerInit, writeRunnerInit } from './chunk-Q2UK3C4P.js';
|
|
4
|
+
import './chunk-JYIEHQIF.js';
|
|
5
|
+
import './chunk-RBKIH5ST.js';
|
|
6
|
+
import './chunk-KMDLFI4P.js';
|
|
16
7
|
import './chunk-QKFB4K7X.js';
|
|
17
8
|
import './chunk-RSNSZ2LJ.js';
|
|
18
|
-
import './chunk-
|
|
19
|
-
import './chunk-
|
|
9
|
+
import './chunk-T5VPP6H7.js';
|
|
10
|
+
import './chunk-RLYZLUQ7.js';
|
|
11
|
+
import './chunk-6MZSX4M7.js';
|
|
12
|
+
import './chunk-SWHQ4LUM.js';
|
|
13
|
+
import './chunk-NPQWKGUA.js';
|
|
20
14
|
import './chunk-IP7BIBXJ.js';
|
|
21
|
-
import './chunk-
|
|
22
|
-
import './chunk-JOXYKGUV.js';
|
|
23
|
-
import './chunk-3ZPYPFNM.js';
|
|
24
|
-
import './chunk-USO2DKBD.js';
|
|
25
|
-
import './chunk-N6LURUEF.js';
|
|
26
|
-
import './chunk-YRYMNBGQ.js';
|
|
27
|
-
import './chunk-XR3BJN33.js';
|
|
15
|
+
import './chunk-22RMZBGW.js';
|
|
28
16
|
import './chunk-UXYLWVTQ.js';
|
|
17
|
+
import './chunk-R7PF5OOU.js';
|
|
18
|
+
import './chunk-QOZKPLVJ.js';
|
|
19
|
+
import './chunk-N5FOE5PS.js';
|
|
20
|
+
import './chunk-OGFGZQA3.js';
|
|
21
|
+
import './chunk-4NPZVMJU.js';
|
|
29
22
|
import './chunk-7RQ73DLO.js';
|
|
30
23
|
import './chunk-4Q7OMKAT.js';
|
|
24
|
+
import './chunk-CX22S5BA.js';
|
|
25
|
+
import './chunk-YDSMROTB.js';
|
|
26
|
+
import './chunk-WUYTWNMA.js';
|
|
27
|
+
import './chunk-JXYVA45C.js';
|
|
28
|
+
import './chunk-4KSQKQXE.js';
|
|
29
|
+
import './chunk-N6LURUEF.js';
|
|
30
|
+
import './chunk-YRYMNBGQ.js';
|
|
31
31
|
import './chunk-WZBHBH3J.js';
|
|
32
|
-
import './chunk-
|
|
32
|
+
import './chunk-3NLOVYJQ.js';
|
|
33
|
+
import './chunk-LCEXHCHD.js';
|
|
33
34
|
import './chunk-ZJSNLVCE.js';
|
|
34
|
-
import './chunk-FO7KKPYG.js';
|
|
35
|
-
import './chunk-G5IEVZGI.js';
|
|
36
|
-
import './chunk-AHZQBGD2.js';
|
|
37
35
|
import './chunk-YO4PSLVB.js';
|
|
36
|
+
import './chunk-BYT5O5RV.js';
|
|
37
|
+
import './chunk-ZA5CHAFY.js';
|
|
38
|
+
import './chunk-2M63GG56.js';
|
|
38
39
|
import './chunk-PLMTLGYH.js';
|
|
39
|
-
import './chunk-
|
|
40
|
+
import './chunk-J5M7BSJQ.js';
|
|
40
41
|
import './chunk-EABW6AJQ.js';
|
|
41
|
-
import './chunk-BYT5O5RV.js';
|
|
42
42
|
import './chunk-RA3O54FC.js';
|
|
43
43
|
import './chunk-V7NIVOFD.js';
|
|
44
44
|
import './chunk-ZM2IMMYN.js';
|
|
@@ -1,46 +1,46 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
2
|
import { createRequire } from 'node:module';
|
|
3
3
|
import { npmSupportsProvenance } from './chunk-YETTWTAY.js';
|
|
4
|
-
import { RunnerInitError, readConfigObject } from './chunk-
|
|
5
|
-
import './chunk-
|
|
6
|
-
import './chunk-
|
|
7
|
-
import './chunk-
|
|
8
|
-
import
|
|
4
|
+
import { RunnerInitError, readConfigObject } from './chunk-Q2UK3C4P.js';
|
|
5
|
+
import './chunk-JYIEHQIF.js';
|
|
6
|
+
import './chunk-RBKIH5ST.js';
|
|
7
|
+
import './chunk-KMDLFI4P.js';
|
|
8
|
+
import './chunk-QKFB4K7X.js';
|
|
9
|
+
import './chunk-RSNSZ2LJ.js';
|
|
10
|
+
import './chunk-T5VPP6H7.js';
|
|
11
|
+
import { checkFit, VM_SERVICE_NAME, RUNNER_RESERVE_BYTES } from './chunk-RLYZLUQ7.js';
|
|
9
12
|
import './chunk-6MZSX4M7.js';
|
|
13
|
+
import './chunk-SWHQ4LUM.js';
|
|
14
|
+
import './chunk-NPQWKGUA.js';
|
|
15
|
+
import './chunk-IP7BIBXJ.js';
|
|
16
|
+
import { runnerCredentialProblem, resolveBuild, resolveHousekeeping } from './chunk-22RMZBGW.js';
|
|
17
|
+
import './chunk-UXYLWVTQ.js';
|
|
10
18
|
import { writeLaunchAgent } from './chunk-LF6MLJCY.js';
|
|
11
|
-
import './chunk-
|
|
19
|
+
import './chunk-R7PF5OOU.js';
|
|
20
|
+
import './chunk-QOZKPLVJ.js';
|
|
12
21
|
import './chunk-N5FOE5PS.js';
|
|
13
22
|
import './chunk-OGFGZQA3.js';
|
|
14
|
-
import './chunk-
|
|
15
|
-
import './chunk-
|
|
16
|
-
import './chunk-
|
|
23
|
+
import './chunk-4NPZVMJU.js';
|
|
24
|
+
import { parseSize } from './chunk-7RQ73DLO.js';
|
|
25
|
+
import './chunk-4Q7OMKAT.js';
|
|
17
26
|
import './chunk-CX22S5BA.js';
|
|
18
|
-
import './chunk-
|
|
19
|
-
import './chunk-
|
|
20
|
-
import './chunk-
|
|
21
|
-
import './chunk-
|
|
22
|
-
import './chunk-IP7BIBXJ.js';
|
|
23
|
-
import './chunk-C7N4TDHW.js';
|
|
24
|
-
import './chunk-JOXYKGUV.js';
|
|
25
|
-
import './chunk-3ZPYPFNM.js';
|
|
26
|
-
import './chunk-USO2DKBD.js';
|
|
27
|
+
import './chunk-YDSMROTB.js';
|
|
28
|
+
import './chunk-WUYTWNMA.js';
|
|
29
|
+
import './chunk-JXYVA45C.js';
|
|
30
|
+
import './chunk-4KSQKQXE.js';
|
|
27
31
|
import './chunk-N6LURUEF.js';
|
|
28
32
|
import './chunk-YRYMNBGQ.js';
|
|
29
|
-
import { resolveBuild, resolveHousekeeping } from './chunk-XR3BJN33.js';
|
|
30
|
-
import './chunk-UXYLWVTQ.js';
|
|
31
|
-
import { parseSize } from './chunk-7RQ73DLO.js';
|
|
32
|
-
import './chunk-4Q7OMKAT.js';
|
|
33
33
|
import './chunk-WZBHBH3J.js';
|
|
34
|
-
import './chunk-
|
|
34
|
+
import './chunk-3NLOVYJQ.js';
|
|
35
|
+
import './chunk-LCEXHCHD.js';
|
|
35
36
|
import './chunk-ZJSNLVCE.js';
|
|
36
|
-
import './chunk-FO7KKPYG.js';
|
|
37
|
-
import './chunk-G5IEVZGI.js';
|
|
38
|
-
import './chunk-AHZQBGD2.js';
|
|
39
37
|
import './chunk-YO4PSLVB.js';
|
|
38
|
+
import './chunk-BYT5O5RV.js';
|
|
39
|
+
import './chunk-ZA5CHAFY.js';
|
|
40
|
+
import './chunk-2M63GG56.js';
|
|
40
41
|
import './chunk-PLMTLGYH.js';
|
|
41
|
-
import './chunk-
|
|
42
|
+
import './chunk-J5M7BSJQ.js';
|
|
42
43
|
import './chunk-EABW6AJQ.js';
|
|
43
|
-
import './chunk-BYT5O5RV.js';
|
|
44
44
|
import './chunk-RA3O54FC.js';
|
|
45
45
|
import './chunk-V7NIVOFD.js';
|
|
46
46
|
import { hostKeyPath } from './chunk-ZM2IMMYN.js';
|
|
@@ -48,7 +48,8 @@ import './chunk-XCCLFVXM.js';
|
|
|
48
48
|
import './chunk-BJ3KTMDH.js';
|
|
49
49
|
import './chunk-VNVZDWO3.js';
|
|
50
50
|
import './chunk-Z5GEFMRW.js';
|
|
51
|
-
import { readFileSync,
|
|
51
|
+
import { existsSync, readFileSync, mkdirSync, writeFileSync, rmSync } from 'fs';
|
|
52
|
+
import { dirname } from 'path';
|
|
52
53
|
|
|
53
54
|
createRequire(import.meta.url);
|
|
54
55
|
|
|
@@ -103,15 +104,18 @@ async function runVmInit(configPath, deps) {
|
|
|
103
104
|
"limactl is not installed, and the Linux VM needs it. Install Lima with `brew install lima` (https://lima-vm.io/docs/installation/), then run this again."
|
|
104
105
|
);
|
|
105
106
|
}
|
|
106
|
-
const
|
|
107
|
+
const onDisk = deps.runnerKey !== void 0 && !existsSync(configPath) ? {} : readConfigObject(configPath);
|
|
108
|
+
let config = onDisk;
|
|
107
109
|
const noted = config.runnerVm;
|
|
108
110
|
if (noted !== void 0) {
|
|
109
111
|
throw new RunnerInitError(
|
|
110
112
|
`${configPath}: the runner already lives in the VM ${noted.instance}. Start it with \`limactl start ${noted.instance}\`, or remove the runnerVm key after deleting the VM.`
|
|
111
113
|
);
|
|
112
114
|
}
|
|
113
|
-
|
|
114
|
-
|
|
115
|
+
const problem = deps.runnerKey === void 0 ? runnerCredentialProblem(config) : void 0;
|
|
116
|
+
if (problem !== void 0) {
|
|
117
|
+
const login = problem.reason === "is missing" ? " Run `outerlayer login` first." : "";
|
|
118
|
+
throw new RunnerInitError(`${configPath}: ${problem.field} ${problem.reason}. The runner in the VM needs url, apiKey and appId.${login}`);
|
|
115
119
|
}
|
|
116
120
|
const block = config.runner;
|
|
117
121
|
const { hooks: _ownHooks, ...carried } = block ?? {};
|
|
@@ -135,6 +139,11 @@ async function runVmInit(configPath, deps) {
|
|
|
135
139
|
if (!fit.fits) {
|
|
136
140
|
throw new RunnerInitError(`${configPath}: the VM this Mac can give the runner is ${size.memoryGiB} GiB, and ${fit.message}. Lower runner.concurrency or runner.build.memory, then run this again.`);
|
|
137
141
|
}
|
|
142
|
+
let created;
|
|
143
|
+
if (deps.runnerKey !== void 0) {
|
|
144
|
+
created = await deps.runnerKey();
|
|
145
|
+
config = { ...config, url: created.url, apiKey: created.apiKey, appId: created.appId };
|
|
146
|
+
}
|
|
138
147
|
const leftBehind = `The VM ${instance} was left as it is; delete it with \`limactl delete --force ${instance}\` to start over.`;
|
|
139
148
|
const failed = (what, result) => new VmInitError(`${what} failed: ${result.stderr.trim() || result.stdout.trim() || `exit status ${result.status}`}. ${leftBehind}`);
|
|
140
149
|
const sh = async (argv, stdin) => {
|
|
@@ -155,8 +164,8 @@ async function runVmInit(configPath, deps) {
|
|
|
155
164
|
}
|
|
156
165
|
};
|
|
157
166
|
progress(`creating the Linux VM ${instance}: this downloads an image and can take several minutes`);
|
|
158
|
-
const
|
|
159
|
-
if (
|
|
167
|
+
const made = await stillRunning("creating the VM", lima.create({ instance, cpus: size.cpus, memoryGiB: size.memoryGiB, diskGiB: size.diskGiB }));
|
|
168
|
+
if (made.status !== 0) throw failed("`limactl create`", made);
|
|
160
169
|
progress("starting the VM");
|
|
161
170
|
const started = await stillRunning("starting the VM", lima.start(instance));
|
|
162
171
|
if (started.status !== 0) throw failed("`limactl start`", started);
|
|
@@ -201,7 +210,8 @@ async function runVmInit(configPath, deps) {
|
|
|
201
210
|
let hadHostKey;
|
|
202
211
|
try {
|
|
203
212
|
agent = writeLaunchAgent(deps.home, limactl, instance);
|
|
204
|
-
const { apiKey: _apiKey, runner: _runner, ...kept } =
|
|
213
|
+
const { apiKey: _apiKey, runner: _runner, ...kept } = onDisk;
|
|
214
|
+
mkdirSync(dirname(configPath), { recursive: true });
|
|
205
215
|
writeFileSync(configPath, `${JSON.stringify({ ...kept, runnerVm: { instance, since: (deps.now ?? (() => /* @__PURE__ */ new Date()))().toISOString() } }, null, 2)}
|
|
206
216
|
`);
|
|
207
217
|
hadHostKey = existsSync(hostKeyPath(configPath));
|
|
@@ -215,9 +225,9 @@ async function runVmInit(configPath, deps) {
|
|
|
215
225
|
`created the Linux VM ${instance}: ${size.cpus} CPUs, ${size.memoryGiB} GiB memory, ${size.diskGiB} GiB disk`,
|
|
216
226
|
...innerOut.split("\n").map((line) => line.trim()).filter((line) => line !== ""),
|
|
217
227
|
`the VM starts at login through ${agent}`,
|
|
218
|
-
`moved the runner key into the VM: apiKey and runner are gone from ${configPath}`,
|
|
228
|
+
created === void 0 ? `moved the runner key into the VM: apiKey and runner are gone from ${configPath}` : `created the runner key ${created.name} from your login and gave it to the VM; it is not stored on this Mac`,
|
|
219
229
|
...hadHostKey ? ["deleted this Mac's old host key. If the runner key was bound to it, a member uses Clear host key on the API keys page before the VM's first claim"] : [],
|
|
220
|
-
"run outerlayer login again to use capture on this Mac, with a key that is not the runner key",
|
|
230
|
+
...created === void 0 ? ["run outerlayer login again to use capture on this Mac, with a key that is not the runner key"] : [],
|
|
221
231
|
...installOut.split("\n").map((line) => line.trim()).filter((line) => line !== ""),
|
|
222
232
|
...deps.credential === void 0 ? [
|
|
223
233
|
`put CLAUDE_CODE_OAUTH_TOKEN in ${home}/.outerlayer/runner.env inside the VM, then restart the runner so it reads the file: limactl shell ${instance} sudo systemctl restart ${VM_SERVICE_NAME}`
|
|
@@ -1,28 +1,33 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
2
|
import { createRequire } from 'node:module';
|
|
3
|
-
import { summarizeChecks, summaryText, renderDoctorText } from './chunk-
|
|
3
|
+
import { summarizeChecks, summaryText, renderDoctorText } from './chunk-HFKQIZXL.js';
|
|
4
|
+
import './chunk-MTF3PHVZ.js';
|
|
5
|
+
import './chunk-SWHQ4LUM.js';
|
|
6
|
+
import './chunk-NPQWKGUA.js';
|
|
7
|
+
import './chunk-IP7BIBXJ.js';
|
|
4
8
|
import './chunk-F47JBIAW.js';
|
|
5
9
|
import './chunk-BKO6JEZI.js';
|
|
6
|
-
import './chunk-
|
|
7
|
-
import './chunk-
|
|
8
|
-
import './chunk-
|
|
9
|
-
import
|
|
10
|
-
import './chunk-
|
|
11
|
-
import './chunk-
|
|
12
|
-
import './chunk-USO2DKBD.js';
|
|
10
|
+
import './chunk-XCK2YAY5.js';
|
|
11
|
+
import './chunk-FOJGZYFC.js';
|
|
12
|
+
import { runConnect, COMMIT_LINE } from './chunk-YDSMROTB.js';
|
|
13
|
+
import './chunk-WUYTWNMA.js';
|
|
14
|
+
import './chunk-JXYVA45C.js';
|
|
15
|
+
import './chunk-4KSQKQXE.js';
|
|
13
16
|
import './chunk-N6LURUEF.js';
|
|
14
17
|
import { C } from './chunk-YRYMNBGQ.js';
|
|
15
18
|
import './chunk-WZBHBH3J.js';
|
|
16
19
|
import './chunk-5QRP3MVS.js';
|
|
17
|
-
import './chunk-
|
|
18
|
-
import './chunk-AHZQBGD2.js';
|
|
20
|
+
import './chunk-LCEXHCHD.js';
|
|
19
21
|
import './chunk-YO4PSLVB.js';
|
|
22
|
+
import './chunk-ZA5CHAFY.js';
|
|
23
|
+
import './chunk-2M63GG56.js';
|
|
20
24
|
import './chunk-PLMTLGYH.js';
|
|
21
|
-
import './chunk-
|
|
25
|
+
import './chunk-J5M7BSJQ.js';
|
|
22
26
|
import './chunk-EABW6AJQ.js';
|
|
27
|
+
import './chunk-RA3O54FC.js';
|
|
23
28
|
import './chunk-V7NIVOFD.js';
|
|
24
29
|
import './chunk-ZM2IMMYN.js';
|
|
25
|
-
import './chunk-
|
|
30
|
+
import './chunk-PQUM37BK.js';
|
|
26
31
|
import './chunk-XCCLFVXM.js';
|
|
27
32
|
import './chunk-BJ3KTMDH.js';
|
|
28
33
|
import './chunk-VNVZDWO3.js';
|
|
@@ -87,7 +92,9 @@ ${CLOSING_LINE}
|
|
|
87
92
|
if (connect.linkUrl !== void 0 && connect.repository !== void 0) unlinked = { repository: connect.repository, url: connect.linkUrl };
|
|
88
93
|
const connected = connect.outcome === "done";
|
|
89
94
|
if (connect.outcome === "done") {
|
|
90
|
-
|
|
95
|
+
const mark = connect.linked === false ? `${C.yellow}!${C.reset}` : `${C.green}\u2713${C.reset}`;
|
|
96
|
+
if (flags.json) deps.stderr.write(connect.text);
|
|
97
|
+
else say(`${mark} ${connect.text}`);
|
|
91
98
|
} else if (connect.outcome === "skipped") {
|
|
92
99
|
say(`${C.dim}- Connect skipped: ${connect.reason}${C.reset}
|
|
93
100
|
`);
|
|
@@ -0,0 +1,165 @@
|
|
|
1
|
+
#!/usr/bin/env node
|
|
2
|
+
import { createRequire } from 'node:module';
|
|
3
|
+
import { keepHandWritten } from './chunk-SXWS25JC.js';
|
|
4
|
+
import { runEmit } from './chunk-HFKKFTXU.js';
|
|
5
|
+
import { contextIsGoverned, inspectStarterFiles, canonical } from './chunk-MTF3PHVZ.js';
|
|
6
|
+
import { setMcpEntry } from './chunk-XCK2YAY5.js';
|
|
7
|
+
import './chunk-FOJGZYFC.js';
|
|
8
|
+
import { COMMIT_LINE } from './chunk-YDSMROTB.js';
|
|
9
|
+
import './chunk-WUYTWNMA.js';
|
|
10
|
+
import './chunk-JXYVA45C.js';
|
|
11
|
+
import './chunk-4KSQKQXE.js';
|
|
12
|
+
import './chunk-N6LURUEF.js';
|
|
13
|
+
import { C } from './chunk-YRYMNBGQ.js';
|
|
14
|
+
import './chunk-3NLOVYJQ.js';
|
|
15
|
+
import './chunk-LCEXHCHD.js';
|
|
16
|
+
import './chunk-ZJSNLVCE.js';
|
|
17
|
+
import './chunk-YO4PSLVB.js';
|
|
18
|
+
import './chunk-BYT5O5RV.js';
|
|
19
|
+
import './chunk-ZA5CHAFY.js';
|
|
20
|
+
import './chunk-2M63GG56.js';
|
|
21
|
+
import './chunk-PLMTLGYH.js';
|
|
22
|
+
import './chunk-J5M7BSJQ.js';
|
|
23
|
+
import './chunk-EABW6AJQ.js';
|
|
24
|
+
import './chunk-RA3O54FC.js';
|
|
25
|
+
import './chunk-V7NIVOFD.js';
|
|
26
|
+
import './chunk-ZM2IMMYN.js';
|
|
27
|
+
import './chunk-XCCLFVXM.js';
|
|
28
|
+
import { findGitDirs } from './chunk-BJ3KTMDH.js';
|
|
29
|
+
import './chunk-VNVZDWO3.js';
|
|
30
|
+
import './chunk-Z5GEFMRW.js';
|
|
31
|
+
import { existsSync, readFileSync, mkdirSync, writeFileSync } from 'fs';
|
|
32
|
+
import { join, dirname } from 'path';
|
|
33
|
+
|
|
34
|
+
createRequire(import.meta.url);
|
|
35
|
+
var NOT_COMPILED = "There is no .outerlayer/config.json, so `outerlayer context emit` did not run.";
|
|
36
|
+
var errorMessage = (err) => err instanceof Error ? err.message : String(err);
|
|
37
|
+
function actionFor(item) {
|
|
38
|
+
if (item.state === "outdated") return "update";
|
|
39
|
+
if (item.state === "missing") return "write";
|
|
40
|
+
if (item.state === "current") return "none";
|
|
41
|
+
return "keep";
|
|
42
|
+
}
|
|
43
|
+
function plan(report) {
|
|
44
|
+
return report.items.map((item) => {
|
|
45
|
+
const planned = { path: item.path, state: item.state, action: actionFor(item) };
|
|
46
|
+
if (item.kind === "mcp") planned.server = item.server;
|
|
47
|
+
if (item.kind === "file" && item.state === "edited" && item.file.source !== void 0) {
|
|
48
|
+
planned.compare = `git diff --no-index ${item.file.source} ${item.path}`;
|
|
49
|
+
}
|
|
50
|
+
return planned;
|
|
51
|
+
});
|
|
52
|
+
}
|
|
53
|
+
function apply(root, item) {
|
|
54
|
+
if (item.kind === "file") {
|
|
55
|
+
const abs = join(root, item.path);
|
|
56
|
+
mkdirSync(dirname(abs), { recursive: true });
|
|
57
|
+
writeFileSync(abs, item.file.content);
|
|
58
|
+
} else {
|
|
59
|
+
setMcpEntry(root, item.server, { ...item.entry });
|
|
60
|
+
}
|
|
61
|
+
}
|
|
62
|
+
var CLASHING_FLAGS = ["remove", "org", "local", "template", "factory"];
|
|
63
|
+
function updateFlagProblem(flags) {
|
|
64
|
+
if (flags.update !== true) return flags.dryRun === true ? "--dry-run only applies to --update." : void 0;
|
|
65
|
+
const clash = CLASHING_FLAGS.find((name) => flags[name] !== void 0 && flags[name] !== false);
|
|
66
|
+
return clash === void 0 ? void 0 : `--update changes only the files init wrote, so it cannot be combined with --${clash}.`;
|
|
67
|
+
}
|
|
68
|
+
var MCP_SOURCE = ".outerlayer/mcp.json";
|
|
69
|
+
function sameJson(a, b) {
|
|
70
|
+
try {
|
|
71
|
+
return b !== void 0 && canonical(JSON.parse(a)) === canonical(JSON.parse(b));
|
|
72
|
+
} catch {
|
|
73
|
+
return false;
|
|
74
|
+
}
|
|
75
|
+
}
|
|
76
|
+
function keepUnlessCompiled(keep, mcpSourceBefore) {
|
|
77
|
+
return (output) => {
|
|
78
|
+
if (output.kind === "file" && sameJson(output.existing, mcpSourceBefore)) return false;
|
|
79
|
+
return keep(output);
|
|
80
|
+
};
|
|
81
|
+
}
|
|
82
|
+
function runInitUpdate(opts) {
|
|
83
|
+
const dryRun = opts.dryRun === true;
|
|
84
|
+
const empty = { dryRun, items: [], emitted: [], kept: [], manifest: "ok" };
|
|
85
|
+
const dirs = findGitDirs(opts.cwd);
|
|
86
|
+
if (dirs === void 0) return { ...empty, status: "skipped", reason: "not a git repository" };
|
|
87
|
+
const root = dirs.repoRoot;
|
|
88
|
+
if (contextIsGoverned(root, dirs.gitCommonDir)) {
|
|
89
|
+
return { ...empty, status: "skipped", reason: "this repository's context comes from a control plane and arrives at session start" };
|
|
90
|
+
}
|
|
91
|
+
const report = inspectStarterFiles(root, { packRoot: opts.packRoot });
|
|
92
|
+
const items = plan(report);
|
|
93
|
+
const base = { dryRun, items, emitted: [], kept: [], manifest: report.manifest };
|
|
94
|
+
const changes = report.items.filter((i) => i.state === "outdated" || i.state === "missing");
|
|
95
|
+
if (dryRun || changes.length === 0) return { ...base, status: "done", reason: changes.length === 0 ? "nothing to update" : "dry run" };
|
|
96
|
+
const created = new Set(changes.filter((i) => i.kind === "file" && i.state === "missing").map((i) => i.path));
|
|
97
|
+
const mcpSource = join(root, MCP_SOURCE);
|
|
98
|
+
const mcpSourceBefore = existsSync(mcpSource) ? readFileSync(mcpSource, "utf8") : void 0;
|
|
99
|
+
try {
|
|
100
|
+
for (const item of changes) apply(root, item);
|
|
101
|
+
} catch (err) {
|
|
102
|
+
return { ...base, status: "failed", reason: `could not write the files: ${errorMessage(err)}` };
|
|
103
|
+
}
|
|
104
|
+
if (!existsSync(join(root, ".outerlayer", "config.json"))) {
|
|
105
|
+
return { ...base, status: "done", reason: NOT_COMPILED };
|
|
106
|
+
}
|
|
107
|
+
try {
|
|
108
|
+
const keep = keepUnlessCompiled(keepHandWritten(created), mcpSourceBefore);
|
|
109
|
+
const pending = runEmit({ cwd: root, check: true, quiet: true, keep }).drift ?? [];
|
|
110
|
+
const emitted = runEmit({ cwd: root, quiet: true, keep });
|
|
111
|
+
if (emitted.exitCode !== 0) throw new Error(emitted.errors.map((e) => `${e.path}: ${e.message}`).join("; "));
|
|
112
|
+
return {
|
|
113
|
+
...base,
|
|
114
|
+
status: "done",
|
|
115
|
+
reason: "updated",
|
|
116
|
+
emitted: pending.filter((d) => d.kind !== "orphaned").map((d) => d.path),
|
|
117
|
+
kept: emitted.kept
|
|
118
|
+
};
|
|
119
|
+
} catch (err) {
|
|
120
|
+
return { ...base, status: "failed", reason: `context emit failed: ${errorMessage(err)}` };
|
|
121
|
+
}
|
|
122
|
+
}
|
|
123
|
+
var VERB = {
|
|
124
|
+
update: { done: "updated", planned: "would update" },
|
|
125
|
+
write: { done: "wrote", planned: "would write" }
|
|
126
|
+
};
|
|
127
|
+
function formatInitUpdate(result) {
|
|
128
|
+
if (result.status === "skipped") return `${C.dim}- Nothing to update: ${result.reason}${C.reset}
|
|
129
|
+
`;
|
|
130
|
+
const lines = [];
|
|
131
|
+
const label = (p) => p.server === void 0 ? p.path : `${p.path} "${p.server}" server`;
|
|
132
|
+
const changed = result.items.filter((p) => p.action === "update" || p.action === "write");
|
|
133
|
+
const kept = result.items.filter((p) => p.action === "keep");
|
|
134
|
+
const current = result.items.filter((p) => p.action === "none");
|
|
135
|
+
lines.push(result.dryRun ? "Plan for `outerlayer init --update` (nothing written):" : "Starter files:");
|
|
136
|
+
for (const p of changed) {
|
|
137
|
+
const verb = VERB[p.action];
|
|
138
|
+
const why = p.action === "update" ? "outdated, unedited" : "missing";
|
|
139
|
+
lines.push(` ${result.dryRun ? verb.planned : `${C.green}${verb.done}${C.reset}`} ${label(p)} ${C.dim}(${why})${C.reset}`);
|
|
140
|
+
}
|
|
141
|
+
for (const p of kept) {
|
|
142
|
+
const why = p.state === "unreadable" ? "not valid JSON" : "edited by you";
|
|
143
|
+
lines.push(` ${C.yellow}kept${C.reset} ${label(p)} ${C.dim}(${why}, left as it is)${C.reset}`);
|
|
144
|
+
if (p.compare !== void 0) lines.push(` ${C.dim}compare: ${p.compare}${C.reset}`);
|
|
145
|
+
}
|
|
146
|
+
if (current.length > 0) lines.push(` ${C.dim}${current.length} already current${C.reset}`);
|
|
147
|
+
if (result.manifest !== "ok") {
|
|
148
|
+
lines.push(
|
|
149
|
+
` ${C.yellow}!${C.reset} This CLI's record of earlier versions is ${result.manifest}, so every changed file counts as edited and is left as it is.`
|
|
150
|
+
);
|
|
151
|
+
}
|
|
152
|
+
if (result.emitted.length > 0) {
|
|
153
|
+
lines.push("", "Recompiled by `outerlayer context emit`:", ...result.emitted.map((p) => ` ${p}`));
|
|
154
|
+
}
|
|
155
|
+
for (const p of result.kept) lines.push(` ${C.dim}kept ${p} (written by hand, not replaced)${C.reset}`);
|
|
156
|
+
if (result.status === "failed") lines.push("", `${C.red}\u2717${C.reset} ${result.reason}`);
|
|
157
|
+
else if (!result.dryRun && changed.length > 0) {
|
|
158
|
+
if (result.reason === NOT_COMPILED) lines.push("", `${C.dim}${NOT_COMPILED}${C.reset}`);
|
|
159
|
+
lines.push("", "The changes are left uncommitted.", COMMIT_LINE);
|
|
160
|
+
} else if (changed.length === 0) lines.push("", `${C.green}\u2713${C.reset} Nothing to update.`);
|
|
161
|
+
return `${lines.join("\n")}
|
|
162
|
+
`;
|
|
163
|
+
}
|
|
164
|
+
|
|
165
|
+
export { formatInitUpdate, runInitUpdate, updateFlagProblem };
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
2
|
import { createRequire } from 'node:module';
|
|
3
|
-
export { DEFAULT_UNIT_NAME, installService, uninstallService, unitPathFor } from './chunk-
|
|
4
|
-
import './chunk-
|
|
3
|
+
export { DEFAULT_UNIT_NAME, installService, uninstallService, unitPathFor } from './chunk-RLYZLUQ7.js';
|
|
4
|
+
import './chunk-22RMZBGW.js';
|
|
5
5
|
import './chunk-UXYLWVTQ.js';
|
|
6
6
|
import './chunk-7RQ73DLO.js';
|
|
7
7
|
import './chunk-4Q7OMKAT.js';
|
|
@@ -1,9 +1,10 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
2
|
import { createRequire } from 'node:module';
|
|
3
|
-
export { DEFAULT_DASHBOARD, readPipedKey, realLoginDeps, runLoginCommand, sanitizeMachineName, stdinKind } from './chunk-
|
|
3
|
+
export { DEFAULT_DASHBOARD, readPipedKey, realLoginDeps, runLoginCommand, sanitizeMachineName, stdinKind } from './chunk-4KSQKQXE.js';
|
|
4
4
|
import './chunk-N6LURUEF.js';
|
|
5
5
|
import './chunk-YRYMNBGQ.js';
|
|
6
6
|
import './chunk-EABW6AJQ.js';
|
|
7
|
+
import './chunk-BJ3KTMDH.js';
|
|
7
8
|
import './chunk-VNVZDWO3.js';
|
|
8
9
|
import './chunk-Z5GEFMRW.js';
|
|
9
10
|
|
|
@@ -1,69 +1,69 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
2
|
import { createRequire } from 'node:module';
|
|
3
|
-
export { RunnerStartError, listJobFiles, probeCredentials, requestStop, runnerProcessState, start, tick, watchTick } from './chunk-
|
|
4
|
-
import './chunk-
|
|
3
|
+
export { RunnerStartError, listJobFiles, probeCredentials, requestStop, runnerProcessState, start, tick, watchTick } from './chunk-NHDVD7DU.js';
|
|
4
|
+
import './chunk-4OGPT6I2.js';
|
|
5
5
|
import './chunk-O765JR4W.js';
|
|
6
6
|
import './chunk-UGP76IZ5.js';
|
|
7
7
|
import './chunk-3JVYMD4G.js';
|
|
8
|
-
import './chunk-T6OIJQRT.js';
|
|
9
|
-
import './chunk-I2UOAV7X.js';
|
|
10
8
|
import './chunk-YETTWTAY.js';
|
|
9
|
+
import './chunk-RMWLBUCJ.js';
|
|
10
|
+
import './chunk-I2UOAV7X.js';
|
|
11
|
+
import './chunk-HYZRY4KZ.js';
|
|
11
12
|
import './chunk-FI5UYJMQ.js';
|
|
12
|
-
import './chunk-
|
|
13
|
-
import './chunk-
|
|
13
|
+
import './chunk-KFRM23WD.js';
|
|
14
|
+
import './chunk-MSASO5O4.js';
|
|
14
15
|
import './chunk-HHJDN6AU.js';
|
|
15
|
-
import './chunk-
|
|
16
|
-
import './chunk-PDRYXERC.js';
|
|
16
|
+
import './chunk-SMHOCDCI.js';
|
|
17
17
|
import './chunk-YYYRBYWG.js';
|
|
18
18
|
import './chunk-TI7B7UEO.js';
|
|
19
19
|
import './chunk-TBT347UY.js';
|
|
20
|
-
import './chunk-
|
|
21
|
-
import './chunk-
|
|
22
|
-
import './chunk-
|
|
23
|
-
import './chunk-
|
|
24
|
-
import './chunk-
|
|
20
|
+
import './chunk-Q2UK3C4P.js';
|
|
21
|
+
import './chunk-JYIEHQIF.js';
|
|
22
|
+
import './chunk-RBKIH5ST.js';
|
|
23
|
+
import './chunk-KMDLFI4P.js';
|
|
24
|
+
import './chunk-QKFB4K7X.js';
|
|
25
|
+
import './chunk-RSNSZ2LJ.js';
|
|
26
|
+
import './chunk-T5VPP6H7.js';
|
|
27
|
+
import './chunk-RLYZLUQ7.js';
|
|
25
28
|
import './chunk-6MZSX4M7.js';
|
|
26
|
-
import './chunk-
|
|
29
|
+
import './chunk-SWHQ4LUM.js';
|
|
30
|
+
import './chunk-NPQWKGUA.js';
|
|
31
|
+
import './chunk-IP7BIBXJ.js';
|
|
32
|
+
import './chunk-22RMZBGW.js';
|
|
33
|
+
import './chunk-UXYLWVTQ.js';
|
|
34
|
+
import './chunk-R7PF5OOU.js';
|
|
35
|
+
import './chunk-QOZKPLVJ.js';
|
|
27
36
|
import './chunk-N5FOE5PS.js';
|
|
28
37
|
import './chunk-OGFGZQA3.js';
|
|
29
|
-
import './chunk-
|
|
30
|
-
import './chunk-
|
|
31
|
-
import './chunk-
|
|
38
|
+
import './chunk-4NPZVMJU.js';
|
|
39
|
+
import './chunk-7RQ73DLO.js';
|
|
40
|
+
import './chunk-4Q7OMKAT.js';
|
|
32
41
|
import './chunk-CX22S5BA.js';
|
|
33
|
-
import './chunk-QKFB4K7X.js';
|
|
34
|
-
import './chunk-RSNSZ2LJ.js';
|
|
35
42
|
import './chunk-F7CU5ABH.js';
|
|
36
43
|
import './chunk-BKO6JEZI.js';
|
|
37
|
-
import './chunk-
|
|
38
|
-
import './chunk-
|
|
39
|
-
import './chunk-
|
|
40
|
-
import './chunk-
|
|
41
|
-
import './chunk-JOXYKGUV.js';
|
|
42
|
-
import './chunk-3ZPYPFNM.js';
|
|
43
|
-
import './chunk-USO2DKBD.js';
|
|
44
|
+
import './chunk-YDSMROTB.js';
|
|
45
|
+
import './chunk-WUYTWNMA.js';
|
|
46
|
+
import './chunk-JXYVA45C.js';
|
|
47
|
+
import './chunk-4KSQKQXE.js';
|
|
44
48
|
import './chunk-N6LURUEF.js';
|
|
45
49
|
import './chunk-YRYMNBGQ.js';
|
|
46
|
-
import './chunk-XR3BJN33.js';
|
|
47
|
-
import './chunk-UXYLWVTQ.js';
|
|
48
|
-
import './chunk-7RQ73DLO.js';
|
|
49
|
-
import './chunk-4Q7OMKAT.js';
|
|
50
50
|
import './chunk-GQD22KKN.js';
|
|
51
51
|
import './chunk-WZBHBH3J.js';
|
|
52
52
|
import './chunk-5QRP3MVS.js';
|
|
53
|
-
import './chunk-
|
|
53
|
+
import './chunk-3NLOVYJQ.js';
|
|
54
|
+
import './chunk-LCEXHCHD.js';
|
|
54
55
|
import './chunk-ZJSNLVCE.js';
|
|
55
|
-
import './chunk-FO7KKPYG.js';
|
|
56
|
-
import './chunk-G5IEVZGI.js';
|
|
57
|
-
import './chunk-AHZQBGD2.js';
|
|
58
56
|
import './chunk-YO4PSLVB.js';
|
|
57
|
+
import './chunk-BYT5O5RV.js';
|
|
58
|
+
import './chunk-ZA5CHAFY.js';
|
|
59
|
+
import './chunk-2M63GG56.js';
|
|
59
60
|
import './chunk-PLMTLGYH.js';
|
|
60
|
-
import './chunk-
|
|
61
|
+
import './chunk-J5M7BSJQ.js';
|
|
61
62
|
import './chunk-EABW6AJQ.js';
|
|
62
|
-
import './chunk-BYT5O5RV.js';
|
|
63
63
|
import './chunk-RA3O54FC.js';
|
|
64
64
|
import './chunk-V7NIVOFD.js';
|
|
65
65
|
import './chunk-ZM2IMMYN.js';
|
|
66
|
-
import './chunk-
|
|
66
|
+
import './chunk-PQUM37BK.js';
|
|
67
67
|
import './chunk-XCCLFVXM.js';
|
|
68
68
|
import './chunk-BJ3KTMDH.js';
|
|
69
69
|
import './chunk-VNVZDWO3.js';
|