@outerlayer/cli 0.12.0 → 0.13.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 +12 -0
- package/README.md +9 -4
- package/dist/{agent-setup-52LRZ6AY.js → agent-setup-QE6PSCEZ.js} +8 -8
- package/dist/build-info.json +1 -1
- package/dist/{builder-OF67QKDS.js → builder-UUS4ORDH.js} +3 -3
- package/dist/{check-RJOJU2WA.js → check-63IDCEEV.js} +27 -27
- package/dist/{chunk-XR3BJN33.js → chunk-22RMZBGW.js} +20 -1
- package/dist/{chunk-AHZQBGD2.js → chunk-2M63GG56.js} +1 -1
- package/dist/{chunk-27Y7AX2O.js → chunk-3D4OYFCD.js} +4 -4
- package/dist/{chunk-GGMRZPEA.js → chunk-3KTA5UU2.js} +1 -1
- package/dist/{chunk-USO2DKBD.js → chunk-4KSQKQXE.js} +8 -2
- package/dist/{chunk-C7N4TDHW.js → chunk-4QVZCVWT.js} +5 -5
- package/dist/{chunk-NPXQXYVA.js → chunk-6S3H3J6H.js} +2 -2
- package/dist/{chunk-DVT73QJO.js → chunk-C6IV5BV7.js} +10 -10
- package/dist/{chunk-JOXYKGUV.js → chunk-CNFVHDHG.js} +1 -1
- package/dist/{chunk-ANW7VHMH.js → chunk-DPKX26LT.js} +92 -16
- package/dist/{chunk-ZQUCTFXC.js → chunk-DXQ5MHCO.js} +1 -1
- package/dist/{chunk-GATMPAMK.js → chunk-EFZLAYPE.js} +2 -2
- package/dist/{chunk-SZOVKFWB.js → chunk-GI4XXD4I.js} +3 -3
- package/dist/{chunk-G5XY6CVG.js → chunk-HDTVTA6I.js} +2 -2
- package/dist/{chunk-325272HM.js → chunk-J5M7BSJQ.js} +11 -4
- package/dist/{chunk-3ZPYPFNM.js → chunk-JXYVA45C.js} +1 -1
- package/dist/{chunk-G5IEVZGI.js → chunk-LCEXHCHD.js} +1 -1
- package/dist/{chunk-GEBQXUFY.js → chunk-MJXXRX4M.js} +24 -10
- package/dist/{chunk-SKHN72JO.js → chunk-MZN7AQOB.js} +8 -8
- package/dist/{chunk-QEESCZ26.js → chunk-NX57IBNK.js} +1 -1
- package/dist/{chunk-6FH2AHJY.js → chunk-P4MM66C6.js} +30 -17
- package/dist/{chunk-IBB4D4KE.js → chunk-P6FX4D43.js} +1 -1
- package/dist/{chunk-A56PYPDF.js → chunk-R7OQTKWT.js} +2 -1
- package/dist/{chunk-2KLBKHT4.js → chunk-RLYZLUQ7.js} +1 -1
- package/dist/chunk-RMWLBUCJ.js +50 -0
- package/dist/{chunk-YEQL54G5.js → chunk-SFFHGX3G.js} +1 -1
- package/dist/{chunk-G4RXNF2L.js → chunk-SVEP7PVH.js} +12 -12
- package/dist/{chunk-VK25O2ZM.js → chunk-T5VPP6H7.js} +1 -1
- package/dist/{chunk-FO7KKPYG.js → chunk-TCIW27FM.js} +1 -1
- package/dist/{chunk-PDRYXERC.js → chunk-TOPDNXHZ.js} +5 -5
- package/dist/{chunk-5TGQHOUX.js → chunk-XJKL4BNU.js} +3 -3
- package/dist/{cli-JSSRGA6V.js → cli-WSBIAVZU.js} +116 -80
- package/dist/{command-3WYZ2ML5.js → command-N7BAB4XJ.js} +18 -18
- package/dist/{config-MKBX2ZQD.js → config-N3C6DFQA.js} +1 -1
- package/dist/{connect-cmd-A5NGODCJ.js → connect-cmd-FGYRLLXL.js} +5 -5
- package/dist/{context-adopt-BAHGXJZV.js → context-adopt-B3PWGFHL.js} +5 -5
- package/dist/{context-materialize-45OVRRK2.js → context-materialize-7S6NLLRO.js} +5 -5
- package/dist/{dist-EQDW7MZW.js → dist-LKDWQWZ7.js} +2 -2
- package/dist/{docker-VGWEJWI7.js → docker-BZ55BMBJ.js} +4 -4
- package/dist/{doctor-4FFXTQJ2.js → doctor-3H25Q7WT.js} +20 -20
- package/dist/{emit-artifact-cmd-QS7XNKBT.js → emit-artifact-cmd-IQCRXOH7.js} +8 -8
- package/dist/{emit-cmd-LXEIDKLT.js → emit-cmd-KDSM5VAO.js} +4 -4
- package/dist/{emit-criteria-cmd-XN6AKA53.js → emit-criteria-cmd-EYUXME26.js} +6 -6
- package/dist/{emit-finding-cmd-SQJSEHYS.js → emit-finding-cmd-P4RKBPBB.js} +6 -6
- package/dist/{emit-result-cmd-56RHPHOA.js → emit-result-cmd-6XYENU6H.js} +8 -8
- package/dist/{hook-fast-HLESEJAL.js → hook-fast-PXWKQPN6.js} +1 -1
- package/dist/{import-capture-cmd-NHMAFDM6.js → import-capture-cmd-2BKM5I2N.js} +3 -3
- package/dist/{import-ruler-cmd-UYB32YUT.js → import-ruler-cmd-IXR7YK47.js} +2 -2
- package/dist/index.js +3 -3
- package/dist/{init-UZKD4RY7.js → init-2LWVS4AH.js} +19 -19
- package/dist/{init-6AY5T3P6.js → init-ZL7ORPTF.js} +38 -28
- package/dist/{init-cmd-XGSX2BCC.js → init-cmd-JXOBCOIB.js} +14 -12
- 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-XOAE6ZIY.js} +27 -27
- package/dist/{machine-4JX2D4TS.js → machine-G6PY2J2J.js} +15 -15
- package/dist/{mcp-install-cmd-XZARXNYT.js → mcp-install-cmd-VXVIH7PH.js} +1 -1
- package/dist/{runner-env-WAXTJXZK.js → runner-env-XTC53CHN.js} +3 -3
- package/dist/runner-key-TDTLNAKJ.js +154 -0
- package/dist/{session-sender-T7PN4YRC.js → session-sender-XVGZFWRK.js} +6 -6
- package/dist/{starter-pack-Z22VRFPF.js → starter-pack-B7JPGEDO.js} +4 -4
- package/dist/{status-OXBIRWJ7.js → status-MRTPG34B.js} +20 -20
- package/dist/{sync-cmd-EVXNR47N.js → sync-cmd-UBUZMMDN.js} +5 -5
- package/dist/{watch-7NSFOAL5.js → watch-STNPEWD6.js} +5 -5
- package/dist/{work-claim-cmd-KR7UR2AB.js → work-claim-cmd-CWGYEIJE.js} +10 -10
- package/dist/{work-cmd-JPM37MLF.js → work-cmd-X7NMJDFL.js} +7 -7
- package/dist/{work-comment-cmd-3DC6BC34.js → work-comment-cmd-FI2TMAYQ.js} +7 -7
- package/dist/{work-open-pr-cmd-XZQRJBNZ.js → work-open-pr-cmd-OVHJ5I5H.js} +8 -8
- package/dist/{work-pr-cmd-WHGZOP22.js → work-pr-cmd-Y5TDMQ4O.js} +7 -7
- package/package.json +1 -1
- package/skill-pack/template/build/SKILL.md +60 -33
- package/skill-pack/template/build/references/agent-briefs.md +4 -2
- package/skill-pack/template/build/references/release.md +1 -1
- 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/validators/code-review.yaml +4 -2
- package/dist/chunk-T6OIJQRT.js +0 -31
|
@@ -1,44 +1,44 @@
|
|
|
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 { checkFit, VM_SERVICE_NAME, RUNNER_RESERVE_BYTES } from './chunk-
|
|
4
|
+
import { RunnerInitError, readConfigObject } from './chunk-MJXXRX4M.js';
|
|
5
|
+
import './chunk-P6FX4D43.js';
|
|
6
|
+
import './chunk-MZN7AQOB.js';
|
|
7
|
+
import './chunk-T5VPP6H7.js';
|
|
8
|
+
import { checkFit, VM_SERVICE_NAME, RUNNER_RESERVE_BYTES } from './chunk-RLYZLUQ7.js';
|
|
9
9
|
import './chunk-6MZSX4M7.js';
|
|
10
10
|
import { writeLaunchAgent } from './chunk-LF6MLJCY.js';
|
|
11
11
|
import './chunk-3FMPZPJQ.js';
|
|
12
12
|
import './chunk-N5FOE5PS.js';
|
|
13
13
|
import './chunk-OGFGZQA3.js';
|
|
14
|
-
import './chunk-
|
|
14
|
+
import './chunk-3KTA5UU2.js';
|
|
15
15
|
import './chunk-QOZKPLVJ.js';
|
|
16
|
-
import './chunk-
|
|
16
|
+
import './chunk-NX57IBNK.js';
|
|
17
17
|
import './chunk-CX22S5BA.js';
|
|
18
18
|
import './chunk-QKFB4K7X.js';
|
|
19
19
|
import './chunk-RSNSZ2LJ.js';
|
|
20
|
-
import './chunk-
|
|
21
|
-
import './chunk-
|
|
20
|
+
import './chunk-P4MM66C6.js';
|
|
21
|
+
import './chunk-EFZLAYPE.js';
|
|
22
22
|
import './chunk-IP7BIBXJ.js';
|
|
23
|
-
import './chunk-
|
|
24
|
-
import './chunk-
|
|
25
|
-
import './chunk-
|
|
26
|
-
import './chunk-
|
|
23
|
+
import './chunk-4QVZCVWT.js';
|
|
24
|
+
import './chunk-CNFVHDHG.js';
|
|
25
|
+
import './chunk-JXYVA45C.js';
|
|
26
|
+
import './chunk-4KSQKQXE.js';
|
|
27
27
|
import './chunk-N6LURUEF.js';
|
|
28
28
|
import './chunk-YRYMNBGQ.js';
|
|
29
|
-
import { resolveBuild, resolveHousekeeping } from './chunk-
|
|
29
|
+
import { runnerCredentialProblem, resolveBuild, resolveHousekeeping } from './chunk-22RMZBGW.js';
|
|
30
30
|
import './chunk-UXYLWVTQ.js';
|
|
31
31
|
import { parseSize } from './chunk-7RQ73DLO.js';
|
|
32
32
|
import './chunk-4Q7OMKAT.js';
|
|
33
33
|
import './chunk-WZBHBH3J.js';
|
|
34
|
-
import './chunk-
|
|
34
|
+
import './chunk-GI4XXD4I.js';
|
|
35
35
|
import './chunk-ZJSNLVCE.js';
|
|
36
|
-
import './chunk-
|
|
37
|
-
import './chunk-
|
|
38
|
-
import './chunk-
|
|
36
|
+
import './chunk-TCIW27FM.js';
|
|
37
|
+
import './chunk-LCEXHCHD.js';
|
|
38
|
+
import './chunk-2M63GG56.js';
|
|
39
39
|
import './chunk-YO4PSLVB.js';
|
|
40
40
|
import './chunk-PLMTLGYH.js';
|
|
41
|
-
import './chunk-
|
|
41
|
+
import './chunk-J5M7BSJQ.js';
|
|
42
42
|
import './chunk-EABW6AJQ.js';
|
|
43
43
|
import './chunk-BYT5O5RV.js';
|
|
44
44
|
import './chunk-RA3O54FC.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,28 @@
|
|
|
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-DPKX26LT.js';
|
|
4
4
|
import './chunk-F47JBIAW.js';
|
|
5
5
|
import './chunk-BKO6JEZI.js';
|
|
6
|
-
import './chunk-
|
|
7
|
-
import './chunk-
|
|
6
|
+
import './chunk-P4MM66C6.js';
|
|
7
|
+
import './chunk-EFZLAYPE.js';
|
|
8
8
|
import './chunk-IP7BIBXJ.js';
|
|
9
|
-
import { runConnect, COMMIT_LINE } from './chunk-
|
|
10
|
-
import './chunk-
|
|
11
|
-
import './chunk-
|
|
12
|
-
import './chunk-
|
|
9
|
+
import { runConnect, COMMIT_LINE } from './chunk-4QVZCVWT.js';
|
|
10
|
+
import './chunk-CNFVHDHG.js';
|
|
11
|
+
import './chunk-JXYVA45C.js';
|
|
12
|
+
import './chunk-4KSQKQXE.js';
|
|
13
13
|
import './chunk-N6LURUEF.js';
|
|
14
14
|
import { C } from './chunk-YRYMNBGQ.js';
|
|
15
15
|
import './chunk-WZBHBH3J.js';
|
|
16
16
|
import './chunk-5QRP3MVS.js';
|
|
17
|
-
import './chunk-
|
|
18
|
-
import './chunk-
|
|
17
|
+
import './chunk-LCEXHCHD.js';
|
|
18
|
+
import './chunk-2M63GG56.js';
|
|
19
19
|
import './chunk-YO4PSLVB.js';
|
|
20
20
|
import './chunk-PLMTLGYH.js';
|
|
21
|
-
import './chunk-
|
|
21
|
+
import './chunk-J5M7BSJQ.js';
|
|
22
22
|
import './chunk-EABW6AJQ.js';
|
|
23
23
|
import './chunk-V7NIVOFD.js';
|
|
24
24
|
import './chunk-ZM2IMMYN.js';
|
|
25
|
-
import './chunk-
|
|
25
|
+
import './chunk-SFFHGX3G.js';
|
|
26
26
|
import './chunk-XCCLFVXM.js';
|
|
27
27
|
import './chunk-BJ3KTMDH.js';
|
|
28
28
|
import './chunk-VNVZDWO3.js';
|
|
@@ -87,7 +87,9 @@ ${CLOSING_LINE}
|
|
|
87
87
|
if (connect.linkUrl !== void 0 && connect.repository !== void 0) unlinked = { repository: connect.repository, url: connect.linkUrl };
|
|
88
88
|
const connected = connect.outcome === "done";
|
|
89
89
|
if (connect.outcome === "done") {
|
|
90
|
-
|
|
90
|
+
const mark = connect.linked === false ? `${C.yellow}!${C.reset}` : `${C.green}\u2713${C.reset}`;
|
|
91
|
+
if (flags.json) deps.stderr.write(connect.text);
|
|
92
|
+
else say(`${mark} ${connect.text}`);
|
|
91
93
|
} else if (connect.outcome === "skipped") {
|
|
92
94
|
say(`${C.dim}- Connect skipped: ${connect.reason}${C.reset}
|
|
93
95
|
`);
|
|
@@ -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-SVEP7PVH.js';
|
|
4
|
+
import './chunk-C6IV5BV7.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
11
|
import './chunk-FI5UYJMQ.js';
|
|
12
|
-
import './chunk-
|
|
13
|
-
import './chunk-
|
|
12
|
+
import './chunk-XJKL4BNU.js';
|
|
13
|
+
import './chunk-3D4OYFCD.js';
|
|
14
14
|
import './chunk-HHJDN6AU.js';
|
|
15
15
|
import './chunk-HYZRY4KZ.js';
|
|
16
|
-
import './chunk-
|
|
16
|
+
import './chunk-TOPDNXHZ.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-MJXXRX4M.js';
|
|
21
|
+
import './chunk-P6FX4D43.js';
|
|
22
|
+
import './chunk-MZN7AQOB.js';
|
|
23
|
+
import './chunk-T5VPP6H7.js';
|
|
24
|
+
import './chunk-RLYZLUQ7.js';
|
|
25
25
|
import './chunk-6MZSX4M7.js';
|
|
26
26
|
import './chunk-3FMPZPJQ.js';
|
|
27
27
|
import './chunk-N5FOE5PS.js';
|
|
28
28
|
import './chunk-OGFGZQA3.js';
|
|
29
|
-
import './chunk-
|
|
29
|
+
import './chunk-3KTA5UU2.js';
|
|
30
30
|
import './chunk-QOZKPLVJ.js';
|
|
31
|
-
import './chunk-
|
|
31
|
+
import './chunk-NX57IBNK.js';
|
|
32
32
|
import './chunk-CX22S5BA.js';
|
|
33
33
|
import './chunk-QKFB4K7X.js';
|
|
34
34
|
import './chunk-RSNSZ2LJ.js';
|
|
35
35
|
import './chunk-F7CU5ABH.js';
|
|
36
36
|
import './chunk-BKO6JEZI.js';
|
|
37
|
-
import './chunk-
|
|
38
|
-
import './chunk-
|
|
37
|
+
import './chunk-P4MM66C6.js';
|
|
38
|
+
import './chunk-EFZLAYPE.js';
|
|
39
39
|
import './chunk-IP7BIBXJ.js';
|
|
40
|
-
import './chunk-
|
|
41
|
-
import './chunk-
|
|
42
|
-
import './chunk-
|
|
43
|
-
import './chunk-
|
|
40
|
+
import './chunk-4QVZCVWT.js';
|
|
41
|
+
import './chunk-CNFVHDHG.js';
|
|
42
|
+
import './chunk-JXYVA45C.js';
|
|
43
|
+
import './chunk-4KSQKQXE.js';
|
|
44
44
|
import './chunk-N6LURUEF.js';
|
|
45
45
|
import './chunk-YRYMNBGQ.js';
|
|
46
|
-
import './chunk-
|
|
46
|
+
import './chunk-22RMZBGW.js';
|
|
47
47
|
import './chunk-UXYLWVTQ.js';
|
|
48
48
|
import './chunk-7RQ73DLO.js';
|
|
49
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-GI4XXD4I.js';
|
|
54
54
|
import './chunk-ZJSNLVCE.js';
|
|
55
|
-
import './chunk-
|
|
56
|
-
import './chunk-
|
|
57
|
-
import './chunk-
|
|
55
|
+
import './chunk-TCIW27FM.js';
|
|
56
|
+
import './chunk-LCEXHCHD.js';
|
|
57
|
+
import './chunk-2M63GG56.js';
|
|
58
58
|
import './chunk-YO4PSLVB.js';
|
|
59
59
|
import './chunk-PLMTLGYH.js';
|
|
60
|
-
import './chunk-
|
|
60
|
+
import './chunk-J5M7BSJQ.js';
|
|
61
61
|
import './chunk-EABW6AJQ.js';
|
|
62
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-SFFHGX3G.js';
|
|
67
67
|
import './chunk-XCCLFVXM.js';
|
|
68
68
|
import './chunk-BJ3KTMDH.js';
|
|
69
69
|
import './chunk-VNVZDWO3.js';
|
|
@@ -1,37 +1,37 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
2
|
import { createRequire } from 'node:module';
|
|
3
|
-
export { describeMachineDocker, detectMachine, microVmArchSupported, microVmAssetsPinned, reachDockerStep, supportsContainerBuilds, supportsMicroVmBuilds } from './chunk-
|
|
4
|
-
import './chunk-
|
|
3
|
+
export { describeMachineDocker, detectMachine, microVmArchSupported, microVmAssetsPinned, reachDockerStep, supportsContainerBuilds, supportsMicroVmBuilds } from './chunk-P6FX4D43.js';
|
|
4
|
+
import './chunk-MZN7AQOB.js';
|
|
5
5
|
import './chunk-3FMPZPJQ.js';
|
|
6
6
|
import './chunk-N5FOE5PS.js';
|
|
7
7
|
import './chunk-OGFGZQA3.js';
|
|
8
|
-
import './chunk-
|
|
8
|
+
import './chunk-3KTA5UU2.js';
|
|
9
9
|
import './chunk-QOZKPLVJ.js';
|
|
10
|
-
import './chunk-
|
|
10
|
+
import './chunk-NX57IBNK.js';
|
|
11
11
|
import './chunk-CX22S5BA.js';
|
|
12
12
|
import './chunk-QKFB4K7X.js';
|
|
13
13
|
import './chunk-RSNSZ2LJ.js';
|
|
14
|
-
import './chunk-
|
|
15
|
-
import './chunk-
|
|
14
|
+
import './chunk-P4MM66C6.js';
|
|
15
|
+
import './chunk-EFZLAYPE.js';
|
|
16
16
|
import './chunk-IP7BIBXJ.js';
|
|
17
|
-
import './chunk-
|
|
18
|
-
import './chunk-
|
|
19
|
-
import './chunk-
|
|
20
|
-
import './chunk-
|
|
17
|
+
import './chunk-4QVZCVWT.js';
|
|
18
|
+
import './chunk-CNFVHDHG.js';
|
|
19
|
+
import './chunk-JXYVA45C.js';
|
|
20
|
+
import './chunk-4KSQKQXE.js';
|
|
21
21
|
import './chunk-N6LURUEF.js';
|
|
22
22
|
import './chunk-YRYMNBGQ.js';
|
|
23
23
|
import './chunk-UXYLWVTQ.js';
|
|
24
24
|
import './chunk-7RQ73DLO.js';
|
|
25
25
|
import './chunk-4Q7OMKAT.js';
|
|
26
26
|
import './chunk-WZBHBH3J.js';
|
|
27
|
-
import './chunk-
|
|
27
|
+
import './chunk-GI4XXD4I.js';
|
|
28
28
|
import './chunk-ZJSNLVCE.js';
|
|
29
|
-
import './chunk-
|
|
30
|
-
import './chunk-
|
|
31
|
-
import './chunk-
|
|
29
|
+
import './chunk-TCIW27FM.js';
|
|
30
|
+
import './chunk-LCEXHCHD.js';
|
|
31
|
+
import './chunk-2M63GG56.js';
|
|
32
32
|
import './chunk-YO4PSLVB.js';
|
|
33
33
|
import './chunk-PLMTLGYH.js';
|
|
34
|
-
import './chunk-
|
|
34
|
+
import './chunk-J5M7BSJQ.js';
|
|
35
35
|
import './chunk-EABW6AJQ.js';
|
|
36
36
|
import './chunk-BYT5O5RV.js';
|
|
37
37
|
import './chunk-RA3O54FC.js';
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
2
|
import { createRequire } from 'node:module';
|
|
3
|
-
export { DEFAULT_MCP_COMMAND, DOCS_MCP_SERVER_NAME, McpInstallError, addDocsMcpEntryIfAbsent, addStdioMcpEntryIfAbsent, buildServerEntry, buildStdioServerEntry, defaultMcpUrl, handleMcpInstallError, runMcpInstall } from './chunk-
|
|
3
|
+
export { DEFAULT_MCP_COMMAND, DOCS_MCP_SERVER_NAME, McpInstallError, addDocsMcpEntryIfAbsent, addStdioMcpEntryIfAbsent, buildServerEntry, buildStdioServerEntry, defaultMcpUrl, handleMcpInstallError, runMcpInstall } from './chunk-R7OQTKWT.js';
|
|
4
4
|
import './chunk-YRYMNBGQ.js';
|
|
5
5
|
import './chunk-EABW6AJQ.js';
|
|
6
6
|
import './chunk-VNVZDWO3.js';
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
2
|
import { createRequire } from 'node:module';
|
|
3
|
-
export { AGENT_COMMANDS, RunnerEnvError, credentialFromStdin, hasStoredCredential, isAgentName, restartForCredential, storeClaudeCredential } from './chunk-
|
|
4
|
-
import './chunk-
|
|
3
|
+
export { AGENT_COMMANDS, RunnerEnvError, credentialFromStdin, hasStoredCredential, isAgentName, restartForCredential, storeClaudeCredential } from './chunk-T5VPP6H7.js';
|
|
4
|
+
import './chunk-RLYZLUQ7.js';
|
|
5
5
|
import './chunk-6MZSX4M7.js';
|
|
6
|
-
import './chunk-
|
|
6
|
+
import './chunk-22RMZBGW.js';
|
|
7
7
|
import './chunk-UXYLWVTQ.js';
|
|
8
8
|
import './chunk-7RQ73DLO.js';
|
|
9
9
|
import './chunk-4Q7OMKAT.js';
|
|
@@ -0,0 +1,154 @@
|
|
|
1
|
+
#!/usr/bin/env node
|
|
2
|
+
import { createRequire } from 'node:module';
|
|
3
|
+
import { readConfigObject, RunnerInitError } from './chunk-MJXXRX4M.js';
|
|
4
|
+
import './chunk-P6FX4D43.js';
|
|
5
|
+
import './chunk-MZN7AQOB.js';
|
|
6
|
+
import './chunk-T5VPP6H7.js';
|
|
7
|
+
import './chunk-RLYZLUQ7.js';
|
|
8
|
+
import './chunk-6MZSX4M7.js';
|
|
9
|
+
import './chunk-3FMPZPJQ.js';
|
|
10
|
+
import './chunk-N5FOE5PS.js';
|
|
11
|
+
import './chunk-OGFGZQA3.js';
|
|
12
|
+
import './chunk-3KTA5UU2.js';
|
|
13
|
+
import './chunk-QOZKPLVJ.js';
|
|
14
|
+
import './chunk-NX57IBNK.js';
|
|
15
|
+
import './chunk-CX22S5BA.js';
|
|
16
|
+
import './chunk-QKFB4K7X.js';
|
|
17
|
+
import './chunk-RSNSZ2LJ.js';
|
|
18
|
+
import { postJson, WorkCommandError, getJson } from './chunk-P4MM66C6.js';
|
|
19
|
+
import './chunk-EFZLAYPE.js';
|
|
20
|
+
import './chunk-IP7BIBXJ.js';
|
|
21
|
+
import './chunk-4QVZCVWT.js';
|
|
22
|
+
import './chunk-CNFVHDHG.js';
|
|
23
|
+
import './chunk-JXYVA45C.js';
|
|
24
|
+
import './chunk-4KSQKQXE.js';
|
|
25
|
+
import './chunk-N6LURUEF.js';
|
|
26
|
+
import './chunk-YRYMNBGQ.js';
|
|
27
|
+
import { runnerCredentialProblem } from './chunk-22RMZBGW.js';
|
|
28
|
+
import './chunk-UXYLWVTQ.js';
|
|
29
|
+
import './chunk-7RQ73DLO.js';
|
|
30
|
+
import './chunk-4Q7OMKAT.js';
|
|
31
|
+
import './chunk-WZBHBH3J.js';
|
|
32
|
+
import './chunk-GI4XXD4I.js';
|
|
33
|
+
import './chunk-ZJSNLVCE.js';
|
|
34
|
+
import './chunk-TCIW27FM.js';
|
|
35
|
+
import './chunk-LCEXHCHD.js';
|
|
36
|
+
import './chunk-2M63GG56.js';
|
|
37
|
+
import './chunk-YO4PSLVB.js';
|
|
38
|
+
import './chunk-PLMTLGYH.js';
|
|
39
|
+
import './chunk-J5M7BSJQ.js';
|
|
40
|
+
import { readCloudConfig } from './chunk-EABW6AJQ.js';
|
|
41
|
+
import './chunk-BYT5O5RV.js';
|
|
42
|
+
import './chunk-RA3O54FC.js';
|
|
43
|
+
import './chunk-V7NIVOFD.js';
|
|
44
|
+
import './chunk-ZM2IMMYN.js';
|
|
45
|
+
import './chunk-XCCLFVXM.js';
|
|
46
|
+
import { readRepoConnection } from './chunk-BJ3KTMDH.js';
|
|
47
|
+
import { homeFromEnv } from './chunk-VNVZDWO3.js';
|
|
48
|
+
import './chunk-Z5GEFMRW.js';
|
|
49
|
+
import { existsSync } from 'fs';
|
|
50
|
+
import { hostname } from 'os';
|
|
51
|
+
|
|
52
|
+
createRequire(import.meta.url);
|
|
53
|
+
var RUNNER_KEY_PERMISSIONS = [
|
|
54
|
+
"sessions.ingest",
|
|
55
|
+
"evidence.insert",
|
|
56
|
+
"work.read",
|
|
57
|
+
"git.read",
|
|
58
|
+
"context.read",
|
|
59
|
+
"work.update",
|
|
60
|
+
"work.claim",
|
|
61
|
+
"hosts.ingest"
|
|
62
|
+
];
|
|
63
|
+
var MAX_NAME_ATTEMPTS = 10;
|
|
64
|
+
var PASTED_KEY_FALLBACK = "Ask a member who can create keys to make one with the Runner preset on the factory's API keys page, then put it in the runner's config file as apiKey, with the Factory Id as appId, and run this again.";
|
|
65
|
+
function runnerKeyLogin(configPath, opts = {}) {
|
|
66
|
+
const env = opts.env ?? process.env;
|
|
67
|
+
const config = existsSync(configPath) ? readConfigObject(configPath) : {};
|
|
68
|
+
if (config.apiKey !== void 0) {
|
|
69
|
+
if (opts.appId !== void 0 && opts.appId !== config.appId) {
|
|
70
|
+
throw new RunnerInitError(
|
|
71
|
+
`${configPath} already holds a runner key, for the factory its appId names, so --app-id ${opts.appId} creates no key. Leave --app-id out, or give it the same id.`
|
|
72
|
+
);
|
|
73
|
+
}
|
|
74
|
+
return void 0;
|
|
75
|
+
}
|
|
76
|
+
const saved = readCloudConfig(opts.home ?? homeFromEnv(env));
|
|
77
|
+
const own = typeof config.accountToken === "string" && config.accountToken !== "";
|
|
78
|
+
const accountToken = own ? config.accountToken : saved.accountToken;
|
|
79
|
+
if (accountToken === void 0 || accountToken === "") return void 0;
|
|
80
|
+
const url = config.url ?? (own ? void 0 : saved.url);
|
|
81
|
+
const appId = opts.appId ?? (env.OUTERLAYER_APP_ID || void 0) ?? config.appId ?? readRepoConnection(opts.cwd ?? process.cwd())?.appId;
|
|
82
|
+
if (appId === void 0) {
|
|
83
|
+
throw new RunnerInitError(
|
|
84
|
+
"you are logged in, so this command creates the runner's key, but no factory is chosen. Pass --app-id with the Factory Id from the factory's Settings \u2192 General, or set OUTERLAYER_APP_ID."
|
|
85
|
+
);
|
|
86
|
+
}
|
|
87
|
+
const problem = runnerCredentialProblem({ url, apiKey: accountToken, appId });
|
|
88
|
+
if (problem !== void 0) {
|
|
89
|
+
const where = problem.field === "appId" ? "the factory id" : `${configPath}: ${problem.field}`;
|
|
90
|
+
throw new RunnerInitError(`${where} ${problem.reason}.`);
|
|
91
|
+
}
|
|
92
|
+
return { url, accountToken, appId };
|
|
93
|
+
}
|
|
94
|
+
function defaultRunnerKeyName(host = hostname()) {
|
|
95
|
+
const short = host.replace(/\..*$/, "").trim();
|
|
96
|
+
return short === "" ? "runner" : short;
|
|
97
|
+
}
|
|
98
|
+
function clause(message) {
|
|
99
|
+
return message.replace(/\.+$/, "");
|
|
100
|
+
}
|
|
101
|
+
function forbidden(err) {
|
|
102
|
+
return new RunnerInitError(`your login cannot create a runner key on this factory: ${clause(err.message)}. ${PASTED_KEY_FALLBACK}`);
|
|
103
|
+
}
|
|
104
|
+
async function createKey(login, name, fetchImpl) {
|
|
105
|
+
for (let attempt = 1; attempt <= MAX_NAME_ATTEMPTS; attempt++) {
|
|
106
|
+
const tried = attempt === 1 ? name : `${name}-${attempt}`;
|
|
107
|
+
try {
|
|
108
|
+
const { data } = await postJson(
|
|
109
|
+
login.url,
|
|
110
|
+
"/v1/api-keys",
|
|
111
|
+
login.accountToken,
|
|
112
|
+
login.appId,
|
|
113
|
+
{ name: tried, permissions: [...RUNNER_KEY_PERMISSIONS], app_id: login.appId },
|
|
114
|
+
fetchImpl
|
|
115
|
+
);
|
|
116
|
+
const apiKey = data.plaintext_key;
|
|
117
|
+
if (typeof apiKey !== "string" || apiKey === "") {
|
|
118
|
+
throw new RunnerInitError(`the gateway created the key ${tried} but did not return it. Delete it on the factory's API keys page, then run this again.`);
|
|
119
|
+
}
|
|
120
|
+
return { apiKey, name: tried };
|
|
121
|
+
} catch (err) {
|
|
122
|
+
if (!(err instanceof WorkCommandError)) throw err;
|
|
123
|
+
if (err.status === 409) continue;
|
|
124
|
+
if (err.status === 403) throw forbidden(err);
|
|
125
|
+
throw new RunnerInitError(`the runner key was not created: ${clause(err.message)}.`);
|
|
126
|
+
}
|
|
127
|
+
}
|
|
128
|
+
throw new RunnerInitError(
|
|
129
|
+
`the names ${name} to ${name}-${MAX_NAME_ATTEMPTS} are all taken by keys on this factory. Pass --key-name with another name.`
|
|
130
|
+
);
|
|
131
|
+
}
|
|
132
|
+
async function checkKey(key, fetchImpl) {
|
|
133
|
+
const unusable = (why) => new RunnerInitError(
|
|
134
|
+
`the runner key ${key.name} was created, but ${why}. Nothing else was changed. Delete the key on the factory's API keys page, then run this again.`
|
|
135
|
+
);
|
|
136
|
+
let data;
|
|
137
|
+
try {
|
|
138
|
+
({ data } = await getJson(key.url, "/v1/runner/host-key", key.apiKey, key.appId, fetchImpl));
|
|
139
|
+
} catch (err) {
|
|
140
|
+
throw unusable(`the gateway did not accept it: ${clause(err instanceof Error ? err.message : String(err))}`);
|
|
141
|
+
}
|
|
142
|
+
if (data.bound !== false) {
|
|
143
|
+
throw unusable("the gateway did not report it as a new runner key");
|
|
144
|
+
}
|
|
145
|
+
}
|
|
146
|
+
async function createRunnerKey(login, opts = {}) {
|
|
147
|
+
const fetchImpl = opts.fetchImpl ?? fetch;
|
|
148
|
+
const created = await createKey(login, opts.name ?? defaultRunnerKeyName(), fetchImpl);
|
|
149
|
+
const key = { url: login.url, apiKey: created.apiKey, appId: login.appId, name: created.name };
|
|
150
|
+
await checkKey(key, fetchImpl);
|
|
151
|
+
return key;
|
|
152
|
+
}
|
|
153
|
+
|
|
154
|
+
export { RUNNER_KEY_PERMISSIONS, createRunnerKey, defaultRunnerKeyName, runnerKeyLogin };
|
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
2
|
import { createRequire } from 'node:module';
|
|
3
|
-
export { runSessionSender, senderPidfile, startSessionSender } from './chunk-
|
|
4
|
-
import './chunk-
|
|
3
|
+
export { runSessionSender, senderPidfile, startSessionSender } from './chunk-XJKL4BNU.js';
|
|
4
|
+
import './chunk-3D4OYFCD.js';
|
|
5
5
|
import './chunk-HHJDN6AU.js';
|
|
6
6
|
import './chunk-TBT347UY.js';
|
|
7
7
|
import './chunk-F7CU5ABH.js';
|
|
8
8
|
import './chunk-BKO6JEZI.js';
|
|
9
9
|
import './chunk-IP7BIBXJ.js';
|
|
10
|
-
import './chunk-
|
|
11
|
-
import './chunk-
|
|
10
|
+
import './chunk-CNFVHDHG.js';
|
|
11
|
+
import './chunk-JXYVA45C.js';
|
|
12
12
|
import './chunk-YRYMNBGQ.js';
|
|
13
13
|
import './chunk-GQD22KKN.js';
|
|
14
14
|
import './chunk-WZBHBH3J.js';
|
|
@@ -16,11 +16,11 @@ import './chunk-5QRP3MVS.js';
|
|
|
16
16
|
import './chunk-ZJSNLVCE.js';
|
|
17
17
|
import './chunk-YO4PSLVB.js';
|
|
18
18
|
import './chunk-PLMTLGYH.js';
|
|
19
|
-
import './chunk-
|
|
19
|
+
import './chunk-J5M7BSJQ.js';
|
|
20
20
|
import './chunk-EABW6AJQ.js';
|
|
21
21
|
import './chunk-V7NIVOFD.js';
|
|
22
22
|
import './chunk-ZM2IMMYN.js';
|
|
23
|
-
import './chunk-
|
|
23
|
+
import './chunk-SFFHGX3G.js';
|
|
24
24
|
import './chunk-XCCLFVXM.js';
|
|
25
25
|
import './chunk-BJ3KTMDH.js';
|
|
26
26
|
import './chunk-VNVZDWO3.js';
|
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
2
|
import { createRequire } from 'node:module';
|
|
3
|
-
export { StarterPackError, assertKnownTemplate, formatStarterPackOutput, installStarterPack } from './chunk-
|
|
3
|
+
export { StarterPackError, assertKnownTemplate, formatStarterPackOutput, installStarterPack } from './chunk-DXQ5MHCO.js';
|
|
4
4
|
import './chunk-YRYMNBGQ.js';
|
|
5
|
-
import './chunk-
|
|
6
|
-
import './chunk-
|
|
7
|
-
import './chunk-
|
|
5
|
+
import './chunk-TCIW27FM.js';
|
|
6
|
+
import './chunk-2M63GG56.js';
|
|
7
|
+
import './chunk-J5M7BSJQ.js';
|
|
8
8
|
import './chunk-RA3O54FC.js';
|
|
9
9
|
import './chunk-Z5GEFMRW.js';
|
|
10
10
|
|