@outerlayer/cli 0.5.1 → 0.7.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 +29 -0
- package/README.md +19 -0
- package/dist/{agent-setup-IFH3FB5X.js → agent-setup-TXLDY5RV.js} +7 -6
- package/dist/{build-PAEKVYVK.js → build-JF5UOWKJ.js} +2 -1
- package/dist/build-info.json +1 -1
- package/dist/{check-4Q33B5ZE.js → check-ASZL5BEO.js} +39 -23
- package/dist/chunk-2VO25HHO.js +75 -0
- package/dist/{chunk-XDDW4FRS.js → chunk-5FWNEQNZ.js} +3 -3
- package/dist/{chunk-CHLVJNTE.js → chunk-6IYLDODX.js} +18 -6
- package/dist/{chunk-W7UTFZDH.js → chunk-6QWV3YDJ.js} +2 -2
- package/dist/{chunk-EGABNHZG.js → chunk-6ZZHWY2Z.js} +149 -18
- package/dist/{lima-XN65D7GN.js → chunk-77MM5RYD.js} +0 -1
- package/dist/chunk-7FTNIAHS.js +211 -0
- package/dist/{chunk-EMY4I27X.js → chunk-7ZR5UPMB.js} +555 -5
- package/dist/{chunk-F4NU4H3V.js → chunk-AII7CKTH.js} +133 -35
- package/dist/{chunk-ZXBITXTS.js → chunk-AIW6GLET.js} +1 -1
- package/dist/{chunk-UWH5DSUP.js → chunk-AJKEHABI.js} +507 -90
- package/dist/{chunk-RTXKYLCA.js → chunk-AQ54MKSQ.js} +2 -2
- package/dist/{chunk-Z62HNKEJ.js → chunk-CEBIA5FD.js} +31 -5
- package/dist/{chunk-EX6M5JPR.js → chunk-D6FXM5OW.js} +6302 -28611
- package/dist/{chunk-RMAZ2NWA.js → chunk-DGAIVMMN.js} +23 -2
- package/dist/{chunk-3DD6AOWC.js → chunk-DTXOJDEH.js} +26 -2
- package/dist/{chunk-T52PKE2Y.js → chunk-E4PIFIC3.js} +244 -17
- package/dist/{chunk-H5NCNVDA.js → chunk-EV3M3EH7.js} +2 -2
- package/dist/chunk-FBTE2A2X.js +38 -0
- package/dist/{chunk-DVDEBNQJ.js → chunk-GQD22KKN.js} +17 -6
- package/dist/{chunk-BCJNHMZT.js → chunk-HHJDN6AU.js} +18 -3
- package/dist/chunk-HKMPVPO7.js +55 -0
- package/dist/{chunk-UFFXNXLQ.js → chunk-JPR2WHHF.js} +31 -29
- package/dist/{chunk-ZMYPLFG3.js → chunk-M3SQ4YGD.js} +1 -1
- package/dist/{chunk-H4CK2YK4.js → chunk-MQPRB5K7.js} +18 -10
- package/dist/{chunk-AUFG23AA.js → chunk-OD2VTIHN.js} +19 -47
- package/dist/chunk-OUUINEYB.js +27 -0
- package/dist/chunk-PUN7LMNS.js +39 -0
- package/dist/{install-cmd-7WXOIFDO.js → chunk-Q5G2ODUZ.js} +1 -2
- package/dist/{chunk-B2G7JHHB.js → chunk-R7STSBLC.js} +1 -1
- package/dist/{chunk-OR6AEEDO.js → chunk-SSU747O6.js} +85 -25
- package/dist/chunk-T6OIJQRT.js +31 -0
- package/dist/{chunk-YYYXRJUW.js → chunk-TI7B7UEO.js} +1 -1
- package/dist/{chunk-WO2BXCTQ.js → chunk-VXLJORHL.js} +1 -1
- package/dist/{chunk-CBPPJSAR.js → chunk-WVGSB3Z2.js} +2 -2
- package/dist/{chunk-JLDZTG3A.js → chunk-X2FSFU4C.js} +4 -1
- package/dist/chunk-YNJEOGDL.js +22434 -0
- package/dist/{chunk-W4SQCOZU.js → chunk-ZOAEPWGL.js} +1 -1
- package/dist/{chunk-WOBNRVQT.js → chunk-ZYHKJKSU.js} +1 -1
- package/dist/{chunk-WIOZAJ2W.js → chunk-ZZXLM64C.js} +1 -1
- package/dist/{cli-LHSUYYMI.js → cli-LEVCGAQV.js} +154 -79
- package/dist/command-FLSYCGIB.js +187 -0
- package/dist/config-I3TVFYLH.js +10 -0
- package/dist/{connect-cmd-OJBFHZWP.js → connect-cmd-MJMUONDY.js} +4 -4
- package/dist/{context-adopt-UMA4O5NY.js → context-adopt-CE4KDXS3.js} +5 -4
- package/dist/{context-materialize-G2FUFC72.js → context-materialize-QL33HDJN.js} +5 -4
- package/dist/{dist-WDV7U7UJ.js → dist-PXBSA7QX.js} +2 -1
- package/dist/{doctor-MOA3RIEP.js → doctor-FVDT3KJZ.js} +46 -19
- package/dist/{emit-artifact-cmd-FDWYKURA.js → emit-artifact-cmd-7RPMRSVP.js} +13 -7
- package/dist/{emit-cmd-DCERAU27.js → emit-cmd-2QRMYPYO.js} +4 -3
- package/dist/{emit-criteria-cmd-OCXHLK34.js → emit-criteria-cmd-MKI7WETO.js} +12 -3
- package/dist/{emit-finding-cmd-POW7PKIA.js → emit-finding-cmd-RMLGZASB.js} +14 -3
- package/dist/{emit-result-cmd-ID35SH53.js → emit-result-cmd-MTXAZ2GV.js} +15 -9
- package/dist/{exec-client-4XGXV3XN.js → exec-client-NPYNUAF3.js} +4 -3
- package/dist/{guest-init-GENRHNP7.js → guest-init-JWNNAH2H.js} +4 -3
- package/dist/{hook-fast-EYENPK6F.js → hook-fast-XBOZ3N6L.js} +1 -1
- package/dist/{import-capture-cmd-AVZ4VIVJ.js → import-capture-cmd-T4556ELW.js} +3 -2
- package/dist/{import-ruler-cmd-GUHL6IY5.js → import-ruler-cmd-SG3UVGI7.js} +2 -1
- package/dist/index.js +3 -2
- package/dist/{init-FYDJAKTM.js → init-BACXESVV.js} +21 -14
- package/dist/{init-2IPOIXJV.js → init-VLW7H6RW.js} +40 -62
- package/dist/{init-cmd-KLIDRVXQ.js → init-cmd-VJFB5L7X.js} +10 -9
- package/dist/inspect-XAUSB7L3.js +63 -0
- package/dist/install-NMAPLLBQ.js +14 -0
- package/dist/install-cmd-B5SEU3G7.js +8 -0
- package/dist/lima-7NPCNGWT.js +6 -0
- package/dist/{logs-7RYUH5A6.js → logs-H55NWW4H.js} +1 -0
- package/dist/loop-D3243JKT.js +64 -0
- package/dist/{machine-ECU3QCZD.js → machine-EB3GEVI4.js} +20 -13
- package/dist/session-sender-LMACEJJS.js +29 -0
- package/dist/{starter-pack-LIZYMKYQ.js → starter-pack-MUXMAU4S.js} +4 -3
- package/dist/{status-CLATHCTQ.js → status-F4THTJJK.js} +36 -16
- package/dist/{sync-cmd-SWQ5KLPL.js → sync-cmd-M6JA3OEE.js} +7 -7
- package/dist/{watch-3YW6Z3DQ.js → watch-NB5TGPEZ.js} +7 -7
- package/dist/{work-claim-cmd-3OPWA77E.js → work-claim-cmd-UHMWOS3G.js} +14 -7
- package/dist/{work-cmd-NUR4CAG6.js → work-cmd-6UMCFTAW.js} +9 -3
- package/dist/{work-comment-cmd-6TTTYGHM.js → work-comment-cmd-E4LEUIXZ.js} +9 -3
- package/dist/{work-launch-YI4CJDAP.js → work-launch-R5HTAP6X.js} +1 -1
- package/dist/{work-open-pr-cmd-KZ7QQFLD.js → work-open-pr-cmd-OPZWGSEQ.js} +10 -4
- package/dist/{work-pr-cmd-QNUBE6IQ.js → work-pr-cmd-IDIAFFRU.js} +9 -2
- package/package.json +2 -1
- package/skill-pack/template/build/scripts/record-criteria.mjs +2 -1
- package/dist/chunk-D2KWEAN6.js +0 -55
- package/dist/chunk-ZOC7JSYC.js +0 -83
- package/dist/config-HL2AIR3K.js +0 -9
- package/dist/loop-NEBUGD2Q.js +0 -45
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-XBOZ3N6L.js');
|
|
10
10
|
await runHookFast(argv[1]);
|
|
11
11
|
process.exit(0);
|
|
12
12
|
}
|
|
@@ -21,5 +21,6 @@ if (argv[0] === "statusline") {
|
|
|
21
21
|
await runStatuslineFast(argv.slice(1));
|
|
22
22
|
process.exit(0);
|
|
23
23
|
}
|
|
24
|
-
|
|
24
|
+
(await import('./hook-fast-XBOZ3N6L.js')).recordLinkExitFailure(argv);
|
|
25
|
+
var { runCli } = await import('./cli-LEVCGAQV.js');
|
|
25
26
|
await runCli(process.argv);
|
|
@@ -1,29 +1,36 @@
|
|
|
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-
|
|
3
|
+
export { PLACEHOLDER_MARKER, RunnerInitError, isPlaceholderCommand, readConfigObject, runRunnerInit } from './chunk-6QWV3YDJ.js';
|
|
4
|
+
import './chunk-AQ54MKSQ.js';
|
|
5
|
+
import './chunk-E4PIFIC3.js';
|
|
6
|
+
import './chunk-CEBIA5FD.js';
|
|
7
7
|
import './chunk-N5FOE5PS.js';
|
|
8
8
|
import './chunk-OGFGZQA3.js';
|
|
9
9
|
import './chunk-774HEQL6.js';
|
|
10
10
|
import './chunk-QOZKPLVJ.js';
|
|
11
|
-
import './chunk-
|
|
12
|
-
import './chunk-
|
|
13
|
-
import './chunk-
|
|
11
|
+
import './chunk-ZOAEPWGL.js';
|
|
12
|
+
import './chunk-R7STSBLC.js';
|
|
13
|
+
import './chunk-DGAIVMMN.js';
|
|
14
|
+
import './chunk-PUN7LMNS.js';
|
|
14
15
|
import './chunk-BFESLKPP.js';
|
|
15
|
-
import './chunk-
|
|
16
|
-
import './chunk-
|
|
16
|
+
import './chunk-SSU747O6.js';
|
|
17
|
+
import './chunk-ZYHKJKSU.js';
|
|
18
|
+
import './chunk-D6FXM5OW.js';
|
|
19
|
+
import './chunk-USO2DKBD.js';
|
|
20
|
+
import './chunk-N6LURUEF.js';
|
|
21
|
+
import './chunk-YRYMNBGQ.js';
|
|
17
22
|
import './chunk-F6GFZXZ3.js';
|
|
18
|
-
import './chunk-
|
|
23
|
+
import './chunk-OD2VTIHN.js';
|
|
24
|
+
import './chunk-HKMPVPO7.js';
|
|
19
25
|
import './chunk-WZBHBH3J.js';
|
|
20
|
-
import './chunk-
|
|
21
|
-
import './chunk-WIOZAJ2W.js';
|
|
22
|
-
import './chunk-WO2BXCTQ.js';
|
|
23
|
-
import './chunk-EMY4I27X.js';
|
|
26
|
+
import './chunk-5FWNEQNZ.js';
|
|
24
27
|
import './chunk-ZJSNLVCE.js';
|
|
28
|
+
import './chunk-ZZXLM64C.js';
|
|
29
|
+
import './chunk-VXLJORHL.js';
|
|
30
|
+
import './chunk-7ZR5UPMB.js';
|
|
25
31
|
import './chunk-BCLJSQCV.js';
|
|
26
32
|
import './chunk-BOLTI6LR.js';
|
|
33
|
+
import './chunk-YNJEOGDL.js';
|
|
27
34
|
import './chunk-EABW6AJQ.js';
|
|
28
35
|
import './chunk-RA3O54FC.js';
|
|
29
36
|
import './chunk-M5POMKKW.js';
|
|
@@ -1,32 +1,40 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
2
|
import { createRequire } from 'node:module';
|
|
3
|
-
import {
|
|
3
|
+
import { readConfigObject, RunnerInitError } from './chunk-6QWV3YDJ.js';
|
|
4
|
+
import { VM_SERVICE_NAME } from './chunk-FBTE2A2X.js';
|
|
5
|
+
import { checkFit, RUNNER_RESERVE_BYTES } from './chunk-OUUINEYB.js';
|
|
4
6
|
import { writeLaunchAgent } from './chunk-LF6MLJCY.js';
|
|
5
|
-
import
|
|
6
|
-
import './chunk-
|
|
7
|
-
import './chunk-
|
|
8
|
-
import './chunk-Z62HNKEJ.js';
|
|
7
|
+
import './chunk-AQ54MKSQ.js';
|
|
8
|
+
import './chunk-E4PIFIC3.js';
|
|
9
|
+
import './chunk-CEBIA5FD.js';
|
|
9
10
|
import './chunk-N5FOE5PS.js';
|
|
10
11
|
import './chunk-OGFGZQA3.js';
|
|
11
12
|
import './chunk-774HEQL6.js';
|
|
12
13
|
import './chunk-QOZKPLVJ.js';
|
|
13
|
-
import './chunk-
|
|
14
|
-
import './chunk-
|
|
15
|
-
import './chunk-
|
|
14
|
+
import './chunk-ZOAEPWGL.js';
|
|
15
|
+
import './chunk-R7STSBLC.js';
|
|
16
|
+
import './chunk-DGAIVMMN.js';
|
|
17
|
+
import './chunk-PUN7LMNS.js';
|
|
16
18
|
import './chunk-BFESLKPP.js';
|
|
17
|
-
import './chunk-
|
|
18
|
-
import './chunk-
|
|
19
|
-
import
|
|
19
|
+
import './chunk-SSU747O6.js';
|
|
20
|
+
import './chunk-ZYHKJKSU.js';
|
|
21
|
+
import './chunk-D6FXM5OW.js';
|
|
22
|
+
import './chunk-USO2DKBD.js';
|
|
23
|
+
import './chunk-N6LURUEF.js';
|
|
24
|
+
import './chunk-YRYMNBGQ.js';
|
|
25
|
+
import { resolveBuild } from './chunk-DTXOJDEH.js';
|
|
20
26
|
import { parseSize } from './chunk-F6GFZXZ3.js';
|
|
21
|
-
import './chunk-
|
|
27
|
+
import './chunk-OD2VTIHN.js';
|
|
28
|
+
import './chunk-HKMPVPO7.js';
|
|
22
29
|
import './chunk-WZBHBH3J.js';
|
|
23
|
-
import './chunk-
|
|
24
|
-
import './chunk-WIOZAJ2W.js';
|
|
25
|
-
import './chunk-WO2BXCTQ.js';
|
|
26
|
-
import './chunk-EMY4I27X.js';
|
|
30
|
+
import './chunk-5FWNEQNZ.js';
|
|
27
31
|
import './chunk-ZJSNLVCE.js';
|
|
32
|
+
import './chunk-ZZXLM64C.js';
|
|
33
|
+
import './chunk-VXLJORHL.js';
|
|
34
|
+
import './chunk-7ZR5UPMB.js';
|
|
28
35
|
import './chunk-BCLJSQCV.js';
|
|
29
36
|
import './chunk-BOLTI6LR.js';
|
|
37
|
+
import './chunk-YNJEOGDL.js';
|
|
30
38
|
import './chunk-EABW6AJQ.js';
|
|
31
39
|
import './chunk-RA3O54FC.js';
|
|
32
40
|
import './chunk-M5POMKKW.js';
|
|
@@ -39,43 +47,22 @@ import { readFileSync, writeFileSync, existsSync, rmSync } from 'fs';
|
|
|
39
47
|
|
|
40
48
|
createRequire(import.meta.url);
|
|
41
49
|
|
|
42
|
-
// src/runner/vm/service.ts
|
|
43
|
-
var VM_SERVICE_NAME = "outerlayer-runner";
|
|
44
|
-
var STOP_MARGIN_MINUTES = 10;
|
|
45
|
-
function runnerUnit(unit) {
|
|
46
|
-
const dir = `${unit.home}/.outerlayer`;
|
|
47
|
-
return `[Unit]
|
|
48
|
-
Description=OuterLayer runner
|
|
49
|
-
After=network-online.target docker.service
|
|
50
|
-
Wants=network-online.target
|
|
51
|
-
Requires=docker.service
|
|
52
|
-
|
|
53
|
-
[Service]
|
|
54
|
-
User=${unit.user}
|
|
55
|
-
ExecStart=${unit.execStart}
|
|
56
|
-
EnvironmentFile=-${dir}/runner.env
|
|
57
|
-
Restart=on-failure
|
|
58
|
-
RestartForceExitStatus=75
|
|
59
|
-
RestartSec=30
|
|
60
|
-
KillSignal=SIGTERM
|
|
61
|
-
KillMode=mixed
|
|
62
|
-
TimeoutStopSec=${unit.timeLimitMinutes + STOP_MARGIN_MINUTES}min
|
|
63
|
-
|
|
64
|
-
[Install]
|
|
65
|
-
WantedBy=multi-user.target
|
|
66
|
-
`;
|
|
67
|
-
}
|
|
68
|
-
|
|
69
50
|
// src/runner/vm/sizing.ts
|
|
70
51
|
var GIB = 1024 ** 3;
|
|
71
52
|
var EXTRA_CPUS = 1;
|
|
72
|
-
var
|
|
53
|
+
var GUEST_MEMORY_SHARE = 0.95;
|
|
73
54
|
var EXTRA_DISK_GIB = 30;
|
|
74
55
|
var gib = (size) => parseSize(size) / GIB;
|
|
56
|
+
function guestUsableBytes(memoryGiB) {
|
|
57
|
+
return Math.floor(memoryGiB * GIB * GUEST_MEMORY_SHARE);
|
|
58
|
+
}
|
|
59
|
+
function wantedMemoryGiB(build, concurrency) {
|
|
60
|
+
return Math.ceil((gib(build.memory) * concurrency + RUNNER_RESERVE_BYTES / GIB) / GUEST_MEMORY_SHARE);
|
|
61
|
+
}
|
|
75
62
|
function sizeVm(build, concurrency, host) {
|
|
76
63
|
return {
|
|
77
64
|
cpus: Math.max(1, Math.min(Math.ceil(build.cpus * concurrency) + EXTRA_CPUS, host.cpus)),
|
|
78
|
-
memoryGiB: Math.max(1, Math.min(
|
|
65
|
+
memoryGiB: Math.max(1, Math.min(wantedMemoryGiB(build, concurrency), Math.floor(host.memoryBytes / GIB))),
|
|
79
66
|
diskGiB: Math.ceil(gib(build.disk) * concurrency) + EXTRA_DISK_GIB
|
|
80
67
|
};
|
|
81
68
|
}
|
|
@@ -85,15 +72,9 @@ var VM_INSTANCE = "outerlayer-runner";
|
|
|
85
72
|
var VmInitError = class extends Error {
|
|
86
73
|
};
|
|
87
74
|
var MIN_NODE_MAJOR = 22;
|
|
88
|
-
var DEFAULT_TIME_LIMIT_MINUTES = 480;
|
|
89
75
|
var TARBALL_IN_VM = "/tmp/outerlayer-cli.tgz";
|
|
90
76
|
var NODE_VERSION = /^v(\d+)\./;
|
|
91
77
|
var quote = (text) => `'${text.replace(/'/g, `'\\''`)}'`;
|
|
92
|
-
function commandsAreReal(block) {
|
|
93
|
-
const commands = block?.commands ?? {};
|
|
94
|
-
const given = [commands.implement, commands.amend].filter((command) => typeof command === "string");
|
|
95
|
-
return given.length > 0 && given.every((command) => !isPlaceholderCommand(command));
|
|
96
|
-
}
|
|
97
78
|
async function runVmInit(configPath, deps) {
|
|
98
79
|
const { lima } = deps;
|
|
99
80
|
const instance = deps.instance ?? VM_INSTANCE;
|
|
@@ -130,8 +111,11 @@ async function runVmInit(configPath, deps) {
|
|
|
130
111
|
}
|
|
131
112
|
const build = resolveBuild(configPath, carried.build);
|
|
132
113
|
const concurrency = typeof carried.concurrency === "number" ? carried.concurrency : 1;
|
|
133
|
-
const timeLimitMinutes = typeof carried.timeLimitMinutes === "number" ? carried.timeLimitMinutes : DEFAULT_TIME_LIMIT_MINUTES;
|
|
134
114
|
const size = sizeVm(build, concurrency, { cpus: deps.hostCpus, memoryBytes: deps.hostMemoryBytes });
|
|
115
|
+
const fit = checkFit({ concurrency, buildMemory: build.memory, usableBytes: guestUsableBytes(size.memoryGiB) });
|
|
116
|
+
if (!fit.fits) {
|
|
117
|
+
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.`);
|
|
118
|
+
}
|
|
135
119
|
const leftBehind = `The VM ${instance} was left as it is; delete it with \`limactl delete --force ${instance}\` to start over.`;
|
|
136
120
|
const failed = (what, result) => new VmInitError(`${what} failed: ${result.stderr.trim() || result.stdout.trim() || `exit status ${result.status}`}. ${leftBehind}`);
|
|
137
121
|
const sh = async (argv, stdin) => {
|
|
@@ -172,13 +156,7 @@ async function runVmInit(configPath, deps) {
|
|
|
172
156
|
...block === void 0 ? {} : { runner: carried }
|
|
173
157
|
};
|
|
174
158
|
const innerOut = await sh(["sg", "docker", "-c", `${quote(outerlayer)} runner init --config-stdin --config ${quote(vmConfig)}`], JSON.stringify(handoff));
|
|
175
|
-
await sh(["sh", "-c", `${quote(outerlayer)} runner install --config ${quote(vmConfig)}`]);
|
|
176
|
-
const nodePath = (await sh(["sh", "-c", "command -v node"])).trim();
|
|
177
|
-
const execStart = execStartCommand(vmConfig, nodePath);
|
|
178
|
-
await sh(["sudo", "tee", `/etc/systemd/system/${VM_SERVICE_NAME}.service`], runnerUnit({ user, home, execStart, timeLimitMinutes }));
|
|
179
|
-
await sh(["sudo", "systemctl", "daemon-reload"]);
|
|
180
|
-
const enabled = commandsAreReal(block);
|
|
181
|
-
if (enabled) await sh(["sudo", "systemctl", "enable", "--now", VM_SERVICE_NAME]);
|
|
159
|
+
const installOut = await sh(["sh", "-c", `${quote(outerlayer)} runner install --service --config ${quote(vmConfig)}`]);
|
|
182
160
|
let agent;
|
|
183
161
|
let hadHostKey;
|
|
184
162
|
try {
|
|
@@ -193,7 +171,6 @@ async function runVmInit(configPath, deps) {
|
|
|
193
171
|
}
|
|
194
172
|
return {
|
|
195
173
|
instance,
|
|
196
|
-
enabled,
|
|
197
174
|
lines: [
|
|
198
175
|
`created the Linux VM ${instance}: ${size.cpus} CPUs, ${size.memoryGiB} GiB memory, ${size.diskGiB} GiB disk`,
|
|
199
176
|
...innerOut.split("\n").map((line) => line.trim()).filter((line) => line !== ""),
|
|
@@ -201,8 +178,9 @@ async function runVmInit(configPath, deps) {
|
|
|
201
178
|
`moved the runner key into the VM: apiKey and runner are gone from ${configPath}`,
|
|
202
179
|
...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"] : [],
|
|
203
180
|
"run outerlayer login again to use capture on this Mac, with a key that is not the runner key",
|
|
204
|
-
|
|
205
|
-
|
|
181
|
+
...installOut.split("\n").map((line) => line.trim()).filter((line) => line !== ""),
|
|
182
|
+
`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}`,
|
|
183
|
+
`the runner claims nothing while a command in the VM's config is still the placeholder or the credential is missing; its host entry says why. Check it with: limactl shell ${instance} outerlayer runner status`
|
|
206
184
|
]
|
|
207
185
|
};
|
|
208
186
|
}
|
|
@@ -1,27 +1,28 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
2
|
import { createRequire } from 'node:module';
|
|
3
|
-
import { summarizeChecks, summaryText, renderDoctorText } from './chunk-
|
|
4
|
-
import { runConnect } from './chunk-OR6AEEDO.js';
|
|
5
|
-
import './chunk-D2KWEAN6.js';
|
|
3
|
+
import { summarizeChecks, summaryText, renderDoctorText } from './chunk-MQPRB5K7.js';
|
|
6
4
|
import './chunk-F47JBIAW.js';
|
|
7
5
|
import './chunk-BKO6JEZI.js';
|
|
8
|
-
import './chunk-
|
|
6
|
+
import './chunk-DGAIVMMN.js';
|
|
7
|
+
import './chunk-PUN7LMNS.js';
|
|
9
8
|
import './chunk-BFESLKPP.js';
|
|
10
|
-
import './chunk-
|
|
11
|
-
import './chunk-
|
|
9
|
+
import { runConnect } from './chunk-SSU747O6.js';
|
|
10
|
+
import './chunk-ZYHKJKSU.js';
|
|
11
|
+
import './chunk-D6FXM5OW.js';
|
|
12
12
|
import './chunk-USO2DKBD.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-ZZXLM64C.js';
|
|
18
|
+
import './chunk-7ZR5UPMB.js';
|
|
19
19
|
import './chunk-BCLJSQCV.js';
|
|
20
20
|
import './chunk-BOLTI6LR.js';
|
|
21
|
+
import './chunk-YNJEOGDL.js';
|
|
21
22
|
import './chunk-EABW6AJQ.js';
|
|
22
23
|
import './chunk-M5POMKKW.js';
|
|
23
24
|
import './chunk-ZM2IMMYN.js';
|
|
24
|
-
import './chunk-
|
|
25
|
+
import './chunk-JPR2WHHF.js';
|
|
25
26
|
import './chunk-XCCLFVXM.js';
|
|
26
27
|
import './chunk-BJ3KTMDH.js';
|
|
27
28
|
import './chunk-VNVZDWO3.js';
|
|
@@ -0,0 +1,63 @@
|
|
|
1
|
+
#!/usr/bin/env node
|
|
2
|
+
import { createRequire } from 'node:module';
|
|
3
|
+
import './chunk-Z5GEFMRW.js';
|
|
4
|
+
import { spawnSync } from 'child_process';
|
|
5
|
+
import { statSync, readFileSync } from 'fs';
|
|
6
|
+
import { join } from 'path';
|
|
7
|
+
|
|
8
|
+
createRequire(import.meta.url);
|
|
9
|
+
var CREDENTIAL_VARIABLES = ["CLAUDE_CODE_OAUTH_TOKEN", "ANTHROPIC_API_KEY"];
|
|
10
|
+
function property(shown, name) {
|
|
11
|
+
return new RegExp(`^${name}=(.*)$`, "m").exec(shown)?.[1]?.trim();
|
|
12
|
+
}
|
|
13
|
+
function holdsGroup(status, gid) {
|
|
14
|
+
const primary = /^Gid:\s+(\d+)/m.exec(status)?.[1];
|
|
15
|
+
const supplementary = /^Groups:[ \t]*(.*)$/m.exec(status)?.[1]?.trim().split(/\s+/).filter((g) => g !== "") ?? [];
|
|
16
|
+
return [primary, ...supplementary].some((g) => g !== void 0 && Number(g) === gid);
|
|
17
|
+
}
|
|
18
|
+
function credentialNames(env) {
|
|
19
|
+
const set = new Set(
|
|
20
|
+
(env ?? "").split("\n").map((line) => /^\s*(?:export\s+)?([A-Za-z_][A-Za-z0-9_]*)=(.+)$/.exec(line)).flatMap((m) => m === null || m[2].trim() === "" ? [] : [m[1]])
|
|
21
|
+
);
|
|
22
|
+
return CREDENTIAL_VARIABLES.filter((name) => set.has(name));
|
|
23
|
+
}
|
|
24
|
+
function inspectService(unit, configDir, probes) {
|
|
25
|
+
const shown = probes.show(unit);
|
|
26
|
+
if (shown === void 0 || property(shown, "LoadState") !== "loaded") return void 0;
|
|
27
|
+
const pid = Number(property(shown, "MainPID") ?? "0");
|
|
28
|
+
const mainPid = Number.isInteger(pid) && pid > 0 ? pid : void 0;
|
|
29
|
+
const delegate = property(shown, "Delegate");
|
|
30
|
+
const status = mainPid === void 0 ? void 0 : probes.readFile(`/proc/${mainPid}/status`);
|
|
31
|
+
const kvm = probes.kvmGid();
|
|
32
|
+
return {
|
|
33
|
+
unit,
|
|
34
|
+
mainPid,
|
|
35
|
+
delegate: delegate === void 0 ? void 0 : delegate !== "no",
|
|
36
|
+
hasKvmGroup: status === void 0 || kvm === void 0 ? void 0 : holdsGroup(status, kvm),
|
|
37
|
+
credentialVariables: credentialNames(probes.readFile(join(configDir, "runner.env")))
|
|
38
|
+
};
|
|
39
|
+
}
|
|
40
|
+
function realInspectProbes() {
|
|
41
|
+
return {
|
|
42
|
+
show: (unit) => {
|
|
43
|
+
const result = spawnSync("systemctl", ["show", "--property=LoadState,MainPID,Delegate", unit], { encoding: "utf8", timeout: 1e4 });
|
|
44
|
+
return result.status === 0 ? result.stdout : void 0;
|
|
45
|
+
},
|
|
46
|
+
readFile: (path) => {
|
|
47
|
+
try {
|
|
48
|
+
return readFileSync(path, "utf8");
|
|
49
|
+
} catch {
|
|
50
|
+
return void 0;
|
|
51
|
+
}
|
|
52
|
+
},
|
|
53
|
+
kvmGid: () => {
|
|
54
|
+
try {
|
|
55
|
+
return statSync("/dev/kvm").gid;
|
|
56
|
+
} catch {
|
|
57
|
+
return void 0;
|
|
58
|
+
}
|
|
59
|
+
}
|
|
60
|
+
};
|
|
61
|
+
}
|
|
62
|
+
|
|
63
|
+
export { inspectService, realInspectProbes };
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
#!/usr/bin/env node
|
|
2
|
+
import { createRequire } from 'node:module';
|
|
3
|
+
export { DEFAULT_UNIT_NAME, installService, uninstallService, unitPathFor } from './chunk-7FTNIAHS.js';
|
|
4
|
+
import './chunk-FBTE2A2X.js';
|
|
5
|
+
import './chunk-OUUINEYB.js';
|
|
6
|
+
import './chunk-DTXOJDEH.js';
|
|
7
|
+
import './chunk-F6GFZXZ3.js';
|
|
8
|
+
import './chunk-OD2VTIHN.js';
|
|
9
|
+
import './chunk-HKMPVPO7.js';
|
|
10
|
+
import './chunk-ZM2IMMYN.js';
|
|
11
|
+
import './chunk-VNVZDWO3.js';
|
|
12
|
+
import './chunk-Z5GEFMRW.js';
|
|
13
|
+
|
|
14
|
+
createRequire(import.meta.url);
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
#!/usr/bin/env node
|
|
2
|
+
import { createRequire } from 'node:module';
|
|
3
|
+
export { RunnerInstallError, runRunnerInstall } from './chunk-Q5G2ODUZ.js';
|
|
4
|
+
import './chunk-TI7B7UEO.js';
|
|
5
|
+
import './chunk-ZM2IMMYN.js';
|
|
6
|
+
import './chunk-Z5GEFMRW.js';
|
|
7
|
+
|
|
8
|
+
createRequire(import.meta.url);
|
|
@@ -0,0 +1,64 @@
|
|
|
1
|
+
#!/usr/bin/env node
|
|
2
|
+
import { createRequire } from 'node:module';
|
|
3
|
+
export { RunnerStartError, listJobFiles, probeCredentials, requestStop, runnerProcessState, start, tick, watchTick } from './chunk-AII7CKTH.js';
|
|
4
|
+
import './chunk-ABIWDUMS.js';
|
|
5
|
+
import './chunk-TI7B7UEO.js';
|
|
6
|
+
import './chunk-AJKEHABI.js';
|
|
7
|
+
import './chunk-T6OIJQRT.js';
|
|
8
|
+
import './chunk-AIW6GLET.js';
|
|
9
|
+
import './chunk-UGP76IZ5.js';
|
|
10
|
+
import './chunk-2VO25HHO.js';
|
|
11
|
+
import './chunk-WVGSB3Z2.js';
|
|
12
|
+
import './chunk-6ZZHWY2Z.js';
|
|
13
|
+
import './chunk-HHJDN6AU.js';
|
|
14
|
+
import './chunk-6IYLDODX.js';
|
|
15
|
+
import './chunk-YYYRBYWG.js';
|
|
16
|
+
import './chunk-TBT347UY.js';
|
|
17
|
+
import './chunk-6QWV3YDJ.js';
|
|
18
|
+
import './chunk-OUUINEYB.js';
|
|
19
|
+
import './chunk-AQ54MKSQ.js';
|
|
20
|
+
import './chunk-E4PIFIC3.js';
|
|
21
|
+
import './chunk-CEBIA5FD.js';
|
|
22
|
+
import './chunk-N5FOE5PS.js';
|
|
23
|
+
import './chunk-OGFGZQA3.js';
|
|
24
|
+
import './chunk-774HEQL6.js';
|
|
25
|
+
import './chunk-QOZKPLVJ.js';
|
|
26
|
+
import './chunk-ZOAEPWGL.js';
|
|
27
|
+
import './chunk-R7STSBLC.js';
|
|
28
|
+
import './chunk-F7CU5ABH.js';
|
|
29
|
+
import './chunk-BKO6JEZI.js';
|
|
30
|
+
import './chunk-DGAIVMMN.js';
|
|
31
|
+
import './chunk-PUN7LMNS.js';
|
|
32
|
+
import './chunk-BFESLKPP.js';
|
|
33
|
+
import './chunk-SSU747O6.js';
|
|
34
|
+
import './chunk-ZYHKJKSU.js';
|
|
35
|
+
import './chunk-D6FXM5OW.js';
|
|
36
|
+
import './chunk-USO2DKBD.js';
|
|
37
|
+
import './chunk-N6LURUEF.js';
|
|
38
|
+
import './chunk-YRYMNBGQ.js';
|
|
39
|
+
import './chunk-DTXOJDEH.js';
|
|
40
|
+
import './chunk-F6GFZXZ3.js';
|
|
41
|
+
import './chunk-OD2VTIHN.js';
|
|
42
|
+
import './chunk-HKMPVPO7.js';
|
|
43
|
+
import './chunk-GQD22KKN.js';
|
|
44
|
+
import './chunk-WZBHBH3J.js';
|
|
45
|
+
import './chunk-5QRP3MVS.js';
|
|
46
|
+
import './chunk-5FWNEQNZ.js';
|
|
47
|
+
import './chunk-ZJSNLVCE.js';
|
|
48
|
+
import './chunk-ZZXLM64C.js';
|
|
49
|
+
import './chunk-VXLJORHL.js';
|
|
50
|
+
import './chunk-7ZR5UPMB.js';
|
|
51
|
+
import './chunk-BCLJSQCV.js';
|
|
52
|
+
import './chunk-BOLTI6LR.js';
|
|
53
|
+
import './chunk-YNJEOGDL.js';
|
|
54
|
+
import './chunk-EABW6AJQ.js';
|
|
55
|
+
import './chunk-RA3O54FC.js';
|
|
56
|
+
import './chunk-M5POMKKW.js';
|
|
57
|
+
import './chunk-ZM2IMMYN.js';
|
|
58
|
+
import './chunk-JPR2WHHF.js';
|
|
59
|
+
import './chunk-XCCLFVXM.js';
|
|
60
|
+
import './chunk-BJ3KTMDH.js';
|
|
61
|
+
import './chunk-VNVZDWO3.js';
|
|
62
|
+
import './chunk-Z5GEFMRW.js';
|
|
63
|
+
|
|
64
|
+
createRequire(import.meta.url);
|
|
@@ -1,28 +1,35 @@
|
|
|
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-
|
|
5
|
-
import './chunk-
|
|
3
|
+
export { describeMachineDocker, detectMachine, microVmArchSupported, microVmAssetsPinned, reachDockerStep, supportsContainerBuilds, supportsMicroVmBuilds } from './chunk-AQ54MKSQ.js';
|
|
4
|
+
import './chunk-E4PIFIC3.js';
|
|
5
|
+
import './chunk-CEBIA5FD.js';
|
|
6
6
|
import './chunk-N5FOE5PS.js';
|
|
7
7
|
import './chunk-OGFGZQA3.js';
|
|
8
8
|
import './chunk-774HEQL6.js';
|
|
9
9
|
import './chunk-QOZKPLVJ.js';
|
|
10
|
-
import './chunk-
|
|
11
|
-
import './chunk-
|
|
12
|
-
import './chunk-
|
|
10
|
+
import './chunk-ZOAEPWGL.js';
|
|
11
|
+
import './chunk-R7STSBLC.js';
|
|
12
|
+
import './chunk-DGAIVMMN.js';
|
|
13
|
+
import './chunk-PUN7LMNS.js';
|
|
13
14
|
import './chunk-BFESLKPP.js';
|
|
14
|
-
import './chunk-
|
|
15
|
-
import './chunk-
|
|
15
|
+
import './chunk-SSU747O6.js';
|
|
16
|
+
import './chunk-ZYHKJKSU.js';
|
|
17
|
+
import './chunk-D6FXM5OW.js';
|
|
18
|
+
import './chunk-USO2DKBD.js';
|
|
19
|
+
import './chunk-N6LURUEF.js';
|
|
20
|
+
import './chunk-YRYMNBGQ.js';
|
|
16
21
|
import './chunk-F6GFZXZ3.js';
|
|
17
|
-
import './chunk-
|
|
22
|
+
import './chunk-OD2VTIHN.js';
|
|
23
|
+
import './chunk-HKMPVPO7.js';
|
|
18
24
|
import './chunk-WZBHBH3J.js';
|
|
19
|
-
import './chunk-
|
|
20
|
-
import './chunk-WIOZAJ2W.js';
|
|
21
|
-
import './chunk-WO2BXCTQ.js';
|
|
22
|
-
import './chunk-EMY4I27X.js';
|
|
25
|
+
import './chunk-5FWNEQNZ.js';
|
|
23
26
|
import './chunk-ZJSNLVCE.js';
|
|
27
|
+
import './chunk-ZZXLM64C.js';
|
|
28
|
+
import './chunk-VXLJORHL.js';
|
|
29
|
+
import './chunk-7ZR5UPMB.js';
|
|
24
30
|
import './chunk-BCLJSQCV.js';
|
|
25
31
|
import './chunk-BOLTI6LR.js';
|
|
32
|
+
import './chunk-YNJEOGDL.js';
|
|
26
33
|
import './chunk-EABW6AJQ.js';
|
|
27
34
|
import './chunk-RA3O54FC.js';
|
|
28
35
|
import './chunk-M5POMKKW.js';
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
#!/usr/bin/env node
|
|
2
|
+
import { createRequire } from 'node:module';
|
|
3
|
+
export { runSessionSender, senderPidfile, startSessionSender } from './chunk-2VO25HHO.js';
|
|
4
|
+
import './chunk-6ZZHWY2Z.js';
|
|
5
|
+
import './chunk-HHJDN6AU.js';
|
|
6
|
+
import './chunk-TBT347UY.js';
|
|
7
|
+
import './chunk-F7CU5ABH.js';
|
|
8
|
+
import './chunk-BKO6JEZI.js';
|
|
9
|
+
import './chunk-BFESLKPP.js';
|
|
10
|
+
import './chunk-ZYHKJKSU.js';
|
|
11
|
+
import './chunk-D6FXM5OW.js';
|
|
12
|
+
import './chunk-YRYMNBGQ.js';
|
|
13
|
+
import './chunk-GQD22KKN.js';
|
|
14
|
+
import './chunk-WZBHBH3J.js';
|
|
15
|
+
import './chunk-5QRP3MVS.js';
|
|
16
|
+
import './chunk-ZJSNLVCE.js';
|
|
17
|
+
import './chunk-BCLJSQCV.js';
|
|
18
|
+
import './chunk-BOLTI6LR.js';
|
|
19
|
+
import './chunk-YNJEOGDL.js';
|
|
20
|
+
import './chunk-EABW6AJQ.js';
|
|
21
|
+
import './chunk-M5POMKKW.js';
|
|
22
|
+
import './chunk-ZM2IMMYN.js';
|
|
23
|
+
import './chunk-JPR2WHHF.js';
|
|
24
|
+
import './chunk-XCCLFVXM.js';
|
|
25
|
+
import './chunk-BJ3KTMDH.js';
|
|
26
|
+
import './chunk-VNVZDWO3.js';
|
|
27
|
+
import './chunk-Z5GEFMRW.js';
|
|
28
|
+
|
|
29
|
+
createRequire(import.meta.url);
|
|
@@ -1,9 +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-M3SQ4YGD.js';
|
|
4
4
|
import './chunk-YRYMNBGQ.js';
|
|
5
|
-
import './chunk-
|
|
6
|
-
import './chunk-
|
|
5
|
+
import './chunk-VXLJORHL.js';
|
|
6
|
+
import './chunk-7ZR5UPMB.js';
|
|
7
|
+
import './chunk-YNJEOGDL.js';
|
|
7
8
|
import './chunk-RA3O54FC.js';
|
|
8
9
|
import './chunk-Z5GEFMRW.js';
|
|
9
10
|
|
|
@@ -1,36 +1,52 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
2
|
import { createRequire } from 'node:module';
|
|
3
|
-
import { LEASE_SECONDS, RENEW_INTERVAL_SECONDS } from './chunk-
|
|
4
|
-
import './chunk-
|
|
3
|
+
import { LEASE_SECONDS, RENEW_INTERVAL_SECONDS } from './chunk-AJKEHABI.js';
|
|
4
|
+
import './chunk-T6OIJQRT.js';
|
|
5
|
+
import './chunk-2VO25HHO.js';
|
|
6
|
+
import './chunk-WVGSB3Z2.js';
|
|
7
|
+
import './chunk-6ZZHWY2Z.js';
|
|
8
|
+
import './chunk-HHJDN6AU.js';
|
|
5
9
|
import { formatBytes } from './chunk-YYYRBYWG.js';
|
|
6
|
-
import './chunk-
|
|
7
|
-
import { formatDuration, formatClock, relativeToRunner } from './chunk-
|
|
8
|
-
import './chunk-
|
|
10
|
+
import './chunk-TBT347UY.js';
|
|
11
|
+
import { formatDuration, formatClock, relativeToRunner } from './chunk-E4PIFIC3.js';
|
|
12
|
+
import './chunk-CEBIA5FD.js';
|
|
9
13
|
import './chunk-N5FOE5PS.js';
|
|
10
14
|
import './chunk-OGFGZQA3.js';
|
|
11
15
|
import './chunk-774HEQL6.js';
|
|
12
16
|
import './chunk-QOZKPLVJ.js';
|
|
13
|
-
import './chunk-
|
|
14
|
-
import './chunk-
|
|
15
|
-
import './chunk-
|
|
17
|
+
import './chunk-ZOAEPWGL.js';
|
|
18
|
+
import './chunk-R7STSBLC.js';
|
|
19
|
+
import './chunk-F7CU5ABH.js';
|
|
20
|
+
import './chunk-BKO6JEZI.js';
|
|
21
|
+
import './chunk-DGAIVMMN.js';
|
|
22
|
+
import './chunk-PUN7LMNS.js';
|
|
16
23
|
import './chunk-BFESLKPP.js';
|
|
17
|
-
import './chunk-
|
|
18
|
-
import './chunk-
|
|
19
|
-
import './chunk-
|
|
24
|
+
import './chunk-SSU747O6.js';
|
|
25
|
+
import './chunk-ZYHKJKSU.js';
|
|
26
|
+
import './chunk-D6FXM5OW.js';
|
|
27
|
+
import './chunk-USO2DKBD.js';
|
|
28
|
+
import './chunk-N6LURUEF.js';
|
|
29
|
+
import './chunk-YRYMNBGQ.js';
|
|
30
|
+
import './chunk-DTXOJDEH.js';
|
|
20
31
|
import './chunk-F6GFZXZ3.js';
|
|
21
|
-
import './chunk-
|
|
32
|
+
import './chunk-OD2VTIHN.js';
|
|
33
|
+
import './chunk-HKMPVPO7.js';
|
|
34
|
+
import './chunk-GQD22KKN.js';
|
|
22
35
|
import './chunk-WZBHBH3J.js';
|
|
23
|
-
import './chunk-
|
|
24
|
-
import './chunk-
|
|
25
|
-
import './chunk-WO2BXCTQ.js';
|
|
26
|
-
import './chunk-EMY4I27X.js';
|
|
36
|
+
import './chunk-5QRP3MVS.js';
|
|
37
|
+
import './chunk-5FWNEQNZ.js';
|
|
27
38
|
import './chunk-ZJSNLVCE.js';
|
|
39
|
+
import './chunk-ZZXLM64C.js';
|
|
40
|
+
import './chunk-VXLJORHL.js';
|
|
41
|
+
import './chunk-7ZR5UPMB.js';
|
|
28
42
|
import './chunk-BCLJSQCV.js';
|
|
29
43
|
import './chunk-BOLTI6LR.js';
|
|
44
|
+
import './chunk-YNJEOGDL.js';
|
|
30
45
|
import './chunk-EABW6AJQ.js';
|
|
31
46
|
import './chunk-RA3O54FC.js';
|
|
32
47
|
import './chunk-M5POMKKW.js';
|
|
33
48
|
import { runnerDir, jobsDir } from './chunk-ZM2IMMYN.js';
|
|
49
|
+
import './chunk-JPR2WHHF.js';
|
|
34
50
|
import './chunk-XCCLFVXM.js';
|
|
35
51
|
import './chunk-BJ3KTMDH.js';
|
|
36
52
|
import './chunk-VNVZDWO3.js';
|
|
@@ -77,6 +93,10 @@ function renderStatus(input) {
|
|
|
77
93
|
const finished = input.jobs.filter(({ job }) => !isUnfinished(job)).sort((a, b) => (b.job.endedAt ?? "").localeCompare(a.job.endedAt ?? "")).slice(0, 20);
|
|
78
94
|
const header = input.process.state === "running" ? `runner ${input.host} running, pid ${input.process.pid} \xB7 config ${input.configPath} \xB7 ${running.length} of ${input.concurrency} slots in use` : input.process.state === "stale" ? `runner ${input.host} not running (stale pid file for pid ${input.process.pid}) \xB7 config ${input.configPath}` : `runner ${input.host} not running (pid file absent) \xB7 config ${input.configPath}`;
|
|
79
95
|
lines.push(header);
|
|
96
|
+
if (input.service !== void 0) {
|
|
97
|
+
const { unit, running: running2, delegated } = input.service;
|
|
98
|
+
lines.push(`service ${unit} ${running2 ? "running" : "stopped"}${delegated === false ? " \xB7 not delegated: microVM builds have no memory limit of their own" : ""}`);
|
|
99
|
+
}
|
|
80
100
|
lines.push(...housekeepingLines(input));
|
|
81
101
|
lines.push("");
|
|
82
102
|
if (running.length === 0) {
|