@outerlayer/cli 0.30.2-next.20261020115557 → 0.31.0-next.20261020121516
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/{agent-setup-ZNYAXAWI.js → agent-setup-E7CMDUR5.js} +6 -6
- package/dist/{bridge-FI7OF2H3.js → bridge-3EG6Q34K.js} +2 -2
- package/dist/{build-PXRDWSN4.js → build-7QD3VJ6U.js} +4 -4
- package/dist/build-info.json +1 -1
- package/dist/{builder-UNVHUZL7.js → builder-JG34X757.js} +4 -4
- package/dist/{check-N3XNBPDH.js → check-EP4F6VOP.js} +46 -33
- package/dist/{chunk-B5CQJBZ2.js → chunk-2DH7VRLQ.js} +2 -2
- package/dist/{chunk-MBZTX4V2.js → chunk-4XPAQXJF.js} +1 -1
- package/dist/chunk-53SPRUEA.js +211 -0
- package/dist/{chunk-YVY3IVYV.js → chunk-77F7NGAZ.js} +3 -3
- package/dist/{chunk-PS3AHE6C.js → chunk-A2737R27.js} +2 -2
- package/dist/{chunk-DBELICD6.js → chunk-A4UGPQXT.js} +4 -4
- package/dist/{chunk-IRF2FKB5.js → chunk-APSYTJ6I.js} +1 -1
- package/dist/{chunk-EEZO2T24.js → chunk-BPPWINVG.js} +28 -70
- package/dist/{chunk-7YSR636F.js → chunk-CBEM7ZWX.js} +3 -3
- package/dist/{chunk-AM3GMWQK.js → chunk-F3EF56LQ.js} +1 -1
- package/dist/{chunk-3YLHIXLR.js → chunk-GIRXO5HA.js} +1 -1
- package/dist/{chunk-B7NT4YZ3.js → chunk-HB6SACVH.js} +22 -18
- package/dist/{chunk-WHCDULC4.js → chunk-HDSDUTX4.js} +17 -1
- package/dist/{chunk-TKJISBV6.js → chunk-HIGJTX5U.js} +1 -1
- package/dist/{chunk-SOWXLIDN.js → chunk-KP6R7CV3.js} +1 -1
- package/dist/{chunk-TGUWHA27.js → chunk-MCOG33O7.js} +2 -2
- package/dist/{chunk-4OKXGZM3.js → chunk-MIVAWAMF.js} +5 -5
- package/dist/{chunk-DLY22KHX.js → chunk-NIS2PIS4.js} +2 -2
- package/dist/{chunk-5HZDPOJI.js → chunk-NJS7JJYN.js} +3 -3
- package/dist/{chunk-SJ4DX2AD.js → chunk-OSVS2QVP.js} +2 -2
- package/dist/{chunk-3XUZPSBV.js → chunk-P2EVMNU6.js} +2 -2
- package/dist/{chunk-2ZMJFGOZ.js → chunk-P7BEZAEU.js} +7 -2
- package/dist/{chunk-MBVSVQVH.js → chunk-QQGZ5THT.js} +1 -1
- package/dist/{chunk-6CNNRO53.js → chunk-RJYKTWUP.js} +3 -3
- package/dist/{chunk-3F7RC3UA.js → chunk-RQGHHEM7.js} +3 -3
- package/dist/{chunk-IRTZYDZO.js → chunk-T5TBGOT6.js} +1 -1
- package/dist/{chunk-HMAYAMOQ.js → chunk-TYRORELN.js} +10 -10
- package/dist/{chunk-QWJBTFAF.js → chunk-TZQIEUDE.js} +1 -1
- package/dist/{chunk-ZNMVBHGJ.js → chunk-V52SJHWK.js} +2 -2
- package/dist/{chunk-5VWKCY2E.js → chunk-VJ4PORHS.js} +10 -10
- package/dist/{chunk-RJDJFRRY.js → chunk-WRW6QCI6.js} +1 -1
- package/dist/{chunk-44CGGHJF.js → chunk-X7UUIHGH.js} +1 -1
- package/dist/{chunk-I3WLYIIW.js → chunk-XAV6XCI2.js} +1 -1
- package/dist/{chunk-TN2XMMD7.js → chunk-XTNMIV77.js} +1 -1
- package/dist/{chunk-IUV6MUQB.js → chunk-Y5OU66XJ.js} +5 -5
- package/dist/{chunk-4SE6GXQA.js → chunk-YIOUHJQM.js} +5 -5
- package/dist/{chunk-D3LS7E7U.js → chunk-YV7WULXQ.js} +1 -1
- package/dist/{chunk-U5DC57AF.js → chunk-Z7HAIZ6X.js} +3 -3
- package/dist/{chunk-VL3CF4DZ.js → chunk-ZBN4JGTJ.js} +1 -1
- package/dist/{chunk-LJIFCG4G.js → chunk-ZZSQYOY5.js} +1 -1
- package/dist/{claude-launcher-ZDZQXW76.js → claude-launcher-IG7GKYIT.js} +1 -1
- package/dist/{cli-4464W6E6.js → cli-LI3WGWTD.js} +99 -99
- package/dist/{command-2MHSC5AE.js → command-FAXC7673.js} +22 -22
- package/dist/{config-VM6GKCCE.js → config-3JRFDYZL.js} +2 -2
- package/dist/{connect-cmd-U2DY4OZU.js → connect-cmd-BMMVPQUZ.js} +5 -5
- package/dist/{container-start-XMY3VOZB.js → container-start-I6CIYK3G.js} +21 -21
- package/dist/{control-plane-launch-2AC4BTWL.js → control-plane-launch-JCUNTTC3.js} +5 -5
- package/dist/{docker-K442NGCS.js → docker-4GU3IDBN.js} +4 -4
- package/dist/{doctor-5K4UTAT3.js → doctor-XSYJJHMJ.js} +46 -24
- package/dist/{emit-artifact-cmd-IK7GAS7V.js → emit-artifact-cmd-5PSOT6H6.js} +9 -9
- package/dist/{emit-criteria-cmd-TGBRMX3P.js → emit-criteria-cmd-T2HCUJIN.js} +6 -6
- package/dist/{emit-finding-cmd-KXCNLJLK.js → emit-finding-cmd-O2VWIDV3.js} +7 -7
- package/dist/{emit-result-cmd-WJBLCVDL.js → emit-result-cmd-D5SEY3GG.js} +9 -9
- package/dist/{emit-step-cmd-OYX5X65A.js → emit-step-cmd-RBAYCJVS.js} +7 -7
- package/dist/{exec-client-RMGGSTGR.js → exec-client-JLCFGCZT.js} +3 -3
- package/dist/{findings-cmd-HFDOB6AC.js → findings-cmd-R5SD5W6J.js} +7 -7
- package/dist/{fleet-readiness-5S2GCWZE.js → fleet-readiness-JEQ5ITV6.js} +5 -5
- package/dist/{governing-source-WM3WQ6J2.js → governing-source-VB2PXSWT.js} +9 -9
- package/dist/{guest-init-O7INUZWE.js → guest-init-BI7267TB.js} +4 -4
- package/dist/{hook-fast-A2N3PSXI.js → hook-fast-UFHR6EKZ.js} +1 -1
- package/dist/{host-key-HJ66C6MD.js → host-key-KAYMYRO3.js} +3 -3
- package/dist/{image-tag-LLXOFXKP.js → image-tag-OYT7UG7Y.js} +3 -3
- package/dist/index.js +4 -4
- package/dist/{init-WEFM7P2Y.js → init-MRMSJKXM.js} +21 -21
- package/dist/{init-IADOHXZR.js → init-UWDEHTRU.js} +21 -21
- package/dist/{init-cmd-6UPRZDCC.js → init-cmd-6XJVIDBZ.js} +10 -10
- package/dist/{init-update-RN2PZ3MT.js → init-update-OVEAWR2A.js} +8 -8
- package/dist/{install-GZ27NW6U.js → install-OIRIEOS7.js} +4 -4
- package/dist/{install-cmd-26OY23ZZ.js → install-cmd-IYWVR6WX.js} +5 -5
- package/dist/{logs-7O3ELY35.js → logs-C3RJ3ZTC.js} +2 -2
- package/dist/{loop-W2D5FHES.js → loop-7VRNUVEM.js} +33 -33
- package/dist/{machine-NESBHOCL.js → machine-NFK2XNY4.js} +17 -17
- package/dist/{mcp-serve-cmd-AT7G6J5V.js → mcp-serve-cmd-PB4UOTGL.js} +4 -4
- package/dist/{paths-32THAYBB.js → paths-OK2EZS7W.js} +2 -2
- package/dist/{pending-6CMYQHFL.js → pending-RKVRYOTF.js} +3 -3
- package/dist/{pidfile-3BH6WPOA.js → pidfile-BMFAUQAI.js} +3 -3
- package/dist/{record-WHPJCC6Y.js → record-26AH6WDB.js} +3 -3
- package/dist/{runner-env-6Q45P3IE.js → runner-env-66RAFIDJ.js} +5 -5
- package/dist/{runner-identity-KH7HADNF.js → runner-identity-KEN3K5CP.js} +4 -4
- package/dist/{runner-key-C4ZWPXYD.js → runner-key-RH3LXIWA.js} +21 -21
- package/dist/{session-sender-N4DOGRTN.js → session-sender-3USSYBMF.js} +10 -10
- package/dist/{spec-cmd-2ISEEZVA.js → spec-cmd-ZMGZSFBM.js} +7 -7
- package/dist/{status-GDI44URF.js → status-BX42CZLS.js} +24 -24
- package/dist/{sync-cmd-E5VRZ5DK.js → sync-cmd-GCIBKPC3.js} +9 -9
- package/dist/{watch-P6XAYDM2.js → watch-BKHTTS3D.js} +9 -9
- package/dist/{work-claim-cmd-MFPUOWXL.js → work-claim-cmd-QFP54F4D.js} +10 -10
- package/dist/{work-cmd-LXDWHKMQ.js → work-cmd-PHNJNLWA.js} +7 -7
- package/dist/{work-comment-cmd-2HSY4JA7.js → work-comment-cmd-SK5PTWOV.js} +7 -7
- package/dist/{work-logs-cmd-2MQR4JHN.js → work-logs-cmd-YZNVTMZQ.js} +7 -7
- package/dist/{work-open-pr-cmd-QUJVL4TF.js → work-open-pr-cmd-XAT4B35J.js} +8 -8
- package/dist/{work-pr-cmd-HOS5ZHJI.js → work-pr-cmd-HZBADML4.js} +7 -7
- package/dist/{work-stop-cmd-4J2NJ7KL.js → work-stop-cmd-Z44WRD7M.js} +7 -7
- package/package.json +1 -1
- package/dist/chunk-ERXY3FXG.js +0 -116
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
2
|
import { createRequire } from 'node:module';
|
|
3
|
-
import { gatherDoctorChecks, doctorExitCode, summarizeChecks, renderDoctorText, recordWrapped, recordUnwrapped, recordRemoval, readManifest, recordInstall, recordStatusline } from './chunk-
|
|
3
|
+
import { gatherDoctorChecks, doctorExitCode, summarizeChecks, renderDoctorText, recordWrapped, recordUnwrapped, recordRemoval, readManifest, recordInstall, recordStatusline } from './chunk-TYRORELN.js';
|
|
4
4
|
import './chunk-BCWVTWS7.js';
|
|
5
|
-
import './chunk-
|
|
5
|
+
import './chunk-4XPAQXJF.js';
|
|
6
6
|
import './chunk-KT4CN6OU.js';
|
|
7
7
|
import './chunk-XTKH5VAC.js';
|
|
8
|
-
import { verifiedTrackerNames, TRACKERS } from './chunk-
|
|
9
|
-
import './chunk-
|
|
10
|
-
import './chunk-
|
|
8
|
+
import { verifiedTrackerNames, TRACKERS } from './chunk-MIVAWAMF.js';
|
|
9
|
+
import './chunk-OSVS2QVP.js';
|
|
10
|
+
import './chunk-GIRXO5HA.js';
|
|
11
11
|
import './chunk-HSUUTD4E.js';
|
|
12
12
|
import './chunk-FTGJ3DPV.js';
|
|
13
13
|
import { FIRST_VERSION_READING_AGENTS_SKILLS } from './chunk-QDDPVBIS.js';
|
|
@@ -15,12 +15,12 @@ import './chunk-G2RRBBOX.js';
|
|
|
15
15
|
import './chunk-G2JWZDFA.js';
|
|
16
16
|
import { C, warnDeprecated, API_KEY_FLAG_DEPRECATION, NO_COLOR_FLAG, stripNoColor } from './chunk-ANPNT6PM.js';
|
|
17
17
|
import './chunk-V6IYYQU3.js';
|
|
18
|
-
import './chunk-
|
|
18
|
+
import './chunk-F3EF56LQ.js';
|
|
19
19
|
import './chunk-PJDQPF5N.js';
|
|
20
|
-
import './chunk-
|
|
21
|
-
import './chunk-
|
|
22
|
-
import './chunk-
|
|
23
|
-
import { hookFiredMarkerPath, installedCliDistDir } from './chunk-
|
|
20
|
+
import './chunk-APSYTJ6I.js';
|
|
21
|
+
import './chunk-KP6R7CV3.js';
|
|
22
|
+
import './chunk-HDSDUTX4.js';
|
|
23
|
+
import { hookFiredMarkerPath, installedCliDistDir } from './chunk-WRW6QCI6.js';
|
|
24
24
|
import './chunk-ZJSNLVCE.js';
|
|
25
25
|
import './chunk-I7RZHMXW.js';
|
|
26
26
|
import './chunk-BKO6JEZI.js';
|
|
@@ -3799,7 +3799,7 @@ async function installMachineSkillsForSetup() {
|
|
|
3799
3799
|
` : "";
|
|
3800
3800
|
}
|
|
3801
3801
|
async function realConnectDepsForCwd() {
|
|
3802
|
-
const { realConnectDeps } = await import('./connect-cmd-
|
|
3802
|
+
const { realConnectDeps } = await import('./connect-cmd-BMMVPQUZ.js');
|
|
3803
3803
|
const { resolveRepoIdentity } = await import('./dist-IDP7Q53A.js');
|
|
3804
3804
|
return {
|
|
3805
3805
|
...realConnectDeps(),
|
|
@@ -3874,8 +3874,8 @@ build, ../outerlayer-build/SKILL.md becomes ~/.agents/skills/outerlayer-build/SK
|
|
|
3874
3874
|
what CLIs older than ${FIRST_VERSION_READING_AGENTS_SKILLS} do. \`` + cliInvocation() + " doctor` reports the same\nstates under Starter files.\n"
|
|
3875
3875
|
).action(async (opts) => {
|
|
3876
3876
|
if (opts.update || opts.dryRun) {
|
|
3877
|
-
const { runInitUpdateWithFleet, formatInitUpdate, updateFlagProblem } = await import('./init-update-
|
|
3878
|
-
const { fleetReadiness } = await import('./fleet-readiness-
|
|
3877
|
+
const { runInitUpdateWithFleet, formatInitUpdate, updateFlagProblem } = await import('./init-update-OVEAWR2A.js');
|
|
3878
|
+
const { fleetReadiness } = await import('./fleet-readiness-JEQ5ITV6.js');
|
|
3879
3879
|
const problem = updateFlagProblem(opts);
|
|
3880
3880
|
if (problem !== void 0) {
|
|
3881
3881
|
fail(problem);
|
|
@@ -3926,13 +3926,13 @@ what CLIs older than ${FIRST_VERSION_READING_AGENTS_SKILLS} do. \`` + cliInvocat
|
|
|
3926
3926
|
if (changed.length > 0 && !opts.json) process.stdout.write(`Removed the claude function from ${changed.join(", ")}.
|
|
3927
3927
|
`);
|
|
3928
3928
|
}
|
|
3929
|
-
const shell = !opts.remove && opts.shellFunction !== void 0 ? (await import('./init-cmd-
|
|
3929
|
+
const shell = !opts.remove && opts.shellFunction !== void 0 ? (await import('./init-cmd-6XJVIDBZ.js')).applyShellFunctionFlag(opts.shellFunction, { home: homeFromEnv(), shellPath: process.env.SHELL }) : void 0;
|
|
3930
3930
|
if (opts.json) writeJson(shell === void 0 ? outcome.result : { ...outcome.result, shellFunction: { outcome: shell.outcome, reason: shell.reason } });
|
|
3931
3931
|
else process.stdout.write(outcome.text + skillsLine + (shell?.text ?? ""));
|
|
3932
3932
|
return;
|
|
3933
3933
|
}
|
|
3934
3934
|
await installMachineSkillsForSetup();
|
|
3935
|
-
const { runInitCommand } = await import('./init-cmd-
|
|
3935
|
+
const { runInitCommand } = await import('./init-cmd-6XJVIDBZ.js');
|
|
3936
3936
|
const code = await runInitCommand(
|
|
3937
3937
|
{ json: opts.json, factory: opts.factory, shellFunction: opts.shellFunction },
|
|
3938
3938
|
{
|
|
@@ -3944,7 +3944,7 @@ what CLIs older than ${FIRST_VERSION_READING_AGENTS_SKILLS} do. \`` + cliInvocat
|
|
|
3944
3944
|
return { ok, text, detail };
|
|
3945
3945
|
},
|
|
3946
3946
|
runAgentSetup: async () => {
|
|
3947
|
-
const { runAgentSetup } = await import('./agent-setup-
|
|
3947
|
+
const { runAgentSetup } = await import('./agent-setup-E7CMDUR5.js');
|
|
3948
3948
|
return runAgentSetup({ cwd: process.cwd(), skillsLink: opts.skillsLink !== false });
|
|
3949
3949
|
},
|
|
3950
3950
|
runDoctorChecks: gatherDoctorChecks,
|
|
@@ -3953,7 +3953,7 @@ what CLIs older than ${FIRST_VERSION_READING_AGENTS_SKILLS} do. \`` + cliInvocat
|
|
|
3953
3953
|
shellPath: process.env.SHELL,
|
|
3954
3954
|
interactive: Boolean(process.stdin.isTTY && process.stderr.isTTY) && opts.json !== true,
|
|
3955
3955
|
ask: async () => {
|
|
3956
|
-
const { promptOnTerminal } = await import('./connect-cmd-
|
|
3956
|
+
const { promptOnTerminal } = await import('./connect-cmd-BMMVPQUZ.js');
|
|
3957
3957
|
const answer = await promptOnTerminal({
|
|
3958
3958
|
message: `Should plain claude start Claude Code through ${cliInvocation()} claude? That is how a session in a governed repository gets its control plane. It adds one block to your zsh or bash startup file.`,
|
|
3959
3959
|
options: [
|
|
@@ -3992,7 +3992,7 @@ linked (true, false, or null when it could not be checked) and, when false,
|
|
|
3992
3992
|
linkUrl.
|
|
3993
3993
|
`
|
|
3994
3994
|
).action(async (opts) => {
|
|
3995
|
-
const { runConnectCommand } = await import('./connect-cmd-
|
|
3995
|
+
const { runConnectCommand } = await import('./connect-cmd-BMMVPQUZ.js');
|
|
3996
3996
|
const code = await runConnectCommand({ factory: opts.factory, json: opts.json }, await realConnectDepsForCwd(), {
|
|
3997
3997
|
stdout: process.stdout,
|
|
3998
3998
|
stderr: process.stderr
|
|
@@ -4070,7 +4070,7 @@ code is 1: revoke the token on /profile/security.
|
|
|
4070
4070
|
else fail(found.reason);
|
|
4071
4071
|
return;
|
|
4072
4072
|
}
|
|
4073
|
-
const { runSync, SyncConfigError, SyncTransportError } = await import('./sync-cmd-
|
|
4073
|
+
const { runSync, SyncConfigError, SyncTransportError } = await import('./sync-cmd-GCIBKPC3.js');
|
|
4074
4074
|
try {
|
|
4075
4075
|
const result = await runSync({
|
|
4076
4076
|
url: opts.url,
|
|
@@ -4101,7 +4101,7 @@ code is 1: revoke the token on /profile/security.
|
|
|
4101
4101
|
if (invokedCommandToken(argv) === "watch") {
|
|
4102
4102
|
warnDeprecated(`\`${cliInvocation()} watch\` is now \`${cliInvocation()} daemon\`; the old name will be removed in a future release.`);
|
|
4103
4103
|
}
|
|
4104
|
-
const { runWatch } = await import('./watch-
|
|
4104
|
+
const { runWatch } = await import('./watch-BKHTTS3D.js');
|
|
4105
4105
|
await runWatch({ once: opts.once });
|
|
4106
4106
|
});
|
|
4107
4107
|
program2.command("hook <event>", { hidden: true }).description("capture-hook fast path, installed by `init`").action(() => {
|
|
@@ -4162,7 +4162,7 @@ code is 1: revoke the token on /profile/security.
|
|
|
4162
4162
|
}
|
|
4163
4163
|
});
|
|
4164
4164
|
program2.command("vm-exec", { hidden: true }).description("run a command in a microVM build's guest through its exec agent").requiredOption("--socket <path>", "the Unix socket Firecracker serves the build's vsock device on").option("--user <user>", "the user to run as", "").option("--cwd <dir>", "the working directory", "/").option("--env <NAME=value>", "an environment value the command line carries; repeatable", (value, previous) => [...previous, value], []).option("--pass <NAME>", "an environment variable whose value is read from this process; repeatable", (value, previous) => [...previous, value], []).argument("<argv...>", "the command and its arguments").action(async (argv2, opts) => {
|
|
4165
|
-
const { runVmExec } = await import('./exec-client-
|
|
4165
|
+
const { runVmExec } = await import('./exec-client-JLCFGCZT.js');
|
|
4166
4166
|
const env = {};
|
|
4167
4167
|
for (const entry of opts.env) {
|
|
4168
4168
|
const eq = entry.indexOf("=");
|
|
@@ -4191,7 +4191,7 @@ code is 1: revoke the token on /profile/security.
|
|
|
4191
4191
|
process.exitCode = await runBuildCommand({ dir: opts.dir, argv: command });
|
|
4192
4192
|
});
|
|
4193
4193
|
program2.command("session-sender", { hidden: true }).description("stream a runner build's sessions to its work item while the build runs").action(async () => {
|
|
4194
|
-
const { runSessionSender } = await import('./session-sender-
|
|
4194
|
+
const { runSessionSender } = await import('./session-sender-3USSYBMF.js');
|
|
4195
4195
|
try {
|
|
4196
4196
|
await runSessionSender();
|
|
4197
4197
|
} catch (err) {
|
|
@@ -4199,7 +4199,7 @@ code is 1: revoke the token on /profile/security.
|
|
|
4199
4199
|
}
|
|
4200
4200
|
});
|
|
4201
4201
|
program2.command("vm-init", { hidden: true }).description("lay out a microVM build's guest; the guest helper runs it").action(async () => {
|
|
4202
|
-
const { realGuestHost, runGuestInit } = await import('./guest-init-
|
|
4202
|
+
const { realGuestHost, runGuestInit } = await import('./guest-init-BI7267TB.js');
|
|
4203
4203
|
const { readFileSync: readFileSync3 } = await import('fs');
|
|
4204
4204
|
try {
|
|
4205
4205
|
runGuestInit(realGuestHost(), readFileSync3("/proc/cmdline", "utf8"));
|
|
@@ -4208,7 +4208,7 @@ code is 1: revoke the token on /profile/security.
|
|
|
4208
4208
|
}
|
|
4209
4209
|
});
|
|
4210
4210
|
program2.command("vm-forward", { hidden: true }).description("pipe a guest port to another; vm-init runs it").requiredOption("--listen <host:port>", "the address to listen on").requiredOption("--to <host:port>", "the address to pipe each connection to").action(async (opts) => {
|
|
4211
|
-
const { startBridgeForward } = await import('./bridge-
|
|
4211
|
+
const { startBridgeForward } = await import('./bridge-3EG6Q34K.js');
|
|
4212
4212
|
try {
|
|
4213
4213
|
await startBridgeForward(opts);
|
|
4214
4214
|
} catch (err) {
|
|
@@ -4286,7 +4286,7 @@ Compiling .outerlayer/ moved to \`${cliInvocation()} context emit\`.
|
|
|
4286
4286
|
await compileContext({ dir: opts.dir, check: opts.check, json: opts.json });
|
|
4287
4287
|
return;
|
|
4288
4288
|
}
|
|
4289
|
-
const { runEmitResult, EmitResultError } = await import('./emit-result-cmd-
|
|
4289
|
+
const { runEmitResult, EmitResultError } = await import('./emit-result-cmd-D5SEY3GG.js');
|
|
4290
4290
|
try {
|
|
4291
4291
|
const result = await runEmitResult({
|
|
4292
4292
|
name,
|
|
@@ -4337,7 +4337,7 @@ everywhere, bytes and deep link untouched; a still-queued one is cancelled
|
|
|
4337
4337
|
locally so it never uploads. One correction can retire several duplicates.
|
|
4338
4338
|
`
|
|
4339
4339
|
).action(async (file, opts) => {
|
|
4340
|
-
const { runEmitArtifact, EmitArtifactError } = await import('./emit-artifact-cmd-
|
|
4340
|
+
const { runEmitArtifact, EmitArtifactError } = await import('./emit-artifact-cmd-5PSOT6H6.js');
|
|
4341
4341
|
let pr;
|
|
4342
4342
|
if (opts.pr !== void 0) {
|
|
4343
4343
|
pr = parseTrackerNumber(opts.pr);
|
|
@@ -4396,7 +4396,7 @@ recent events with their ids. --find <text> searches all of them.
|
|
|
4396
4396
|
item that session was launched for is used automatically.
|
|
4397
4397
|
`
|
|
4398
4398
|
).action(async (opts) => {
|
|
4399
|
-
const { runEmitFinding, refuseRemovedFindingFlags, EmitFindingError } = await import('./emit-finding-cmd-
|
|
4399
|
+
const { runEmitFinding, refuseRemovedFindingFlags, EmitFindingError } = await import('./emit-finding-cmd-O2VWIDV3.js');
|
|
4400
4400
|
try {
|
|
4401
4401
|
refuseRemovedFindingFlags(opts);
|
|
4402
4402
|
const result = await runEmitFinding({
|
|
@@ -4463,7 +4463,7 @@ the whole batch. "untimed": true records one with no time on purpose.
|
|
|
4463
4463
|
that session was launched for is used automatically.
|
|
4464
4464
|
`
|
|
4465
4465
|
).action(async (file, opts) => {
|
|
4466
|
-
const { runEmitFindings, EmitFindingError } = await import('./emit-finding-cmd-
|
|
4466
|
+
const { runEmitFindings, EmitFindingError } = await import('./emit-finding-cmd-O2VWIDV3.js');
|
|
4467
4467
|
try {
|
|
4468
4468
|
const result = await runEmitFindings({
|
|
4469
4469
|
file,
|
|
@@ -4498,7 +4498,7 @@ command, the command exits 0, and \`sync\` sends it later. If the gateway refuse
|
|
|
4498
4498
|
the step, the command prints why and exits 1.
|
|
4499
4499
|
`
|
|
4500
4500
|
).action(async (name, opts) => {
|
|
4501
|
-
const { runEmitStep, EmitStepError } = await import('./emit-step-cmd-
|
|
4501
|
+
const { runEmitStep, EmitStepError } = await import('./emit-step-cmd-RBAYCJVS.js');
|
|
4502
4502
|
try {
|
|
4503
4503
|
await runEmitStep({
|
|
4504
4504
|
name,
|
|
@@ -4541,7 +4541,7 @@ of the item, and a (proof: <kind>) annotation names its proof.
|
|
|
4541
4541
|
${cliInvocation()} emit criteria acceptance/412-login.md --item 412
|
|
4542
4542
|
`
|
|
4543
4543
|
).action(async (file, opts) => {
|
|
4544
|
-
const { runEmitCriteria, EmitCriteriaError } = await import('./emit-criteria-cmd-
|
|
4544
|
+
const { runEmitCriteria, EmitCriteriaError } = await import('./emit-criteria-cmd-T2HCUJIN.js');
|
|
4545
4545
|
try {
|
|
4546
4546
|
const result = await runEmitCriteria({
|
|
4547
4547
|
file,
|
|
@@ -4565,9 +4565,9 @@ function registerSpecCommands(program2) {
|
|
|
4565
4565
|
const specCmd = program2.command("spec").description("Find, file and edit the issue a spec lives in, in your factory's tracker");
|
|
4566
4566
|
const credentialOptions = (command) => command.option("--json", "machine-readable JSON output").option("--url <url>", "cloud base URL (or OUTERLAYER_URL / config)").addOption(apiKeyOption()).option("--app-id <id>", "factory id the key is bound to (or OUTERLAYER_APP_ID / config)");
|
|
4567
4567
|
const run = async (action) => {
|
|
4568
|
-
const { WorkCommandError } = await import('./work-cmd-
|
|
4568
|
+
const { WorkCommandError } = await import('./work-cmd-PHNJNLWA.js');
|
|
4569
4569
|
try {
|
|
4570
|
-
await action(await import('./spec-cmd-
|
|
4570
|
+
await action(await import('./spec-cmd-ZMGZSFBM.js'));
|
|
4571
4571
|
} catch (err) {
|
|
4572
4572
|
if (err instanceof WorkCommandError) {
|
|
4573
4573
|
fail(err.message);
|
|
@@ -4602,7 +4602,7 @@ Prints each problem the item covers with its id, its reports and its result.
|
|
|
4602
4602
|
session was launched for is used.
|
|
4603
4603
|
`
|
|
4604
4604
|
).action(async (opts) => {
|
|
4605
|
-
const { runFindingsShow, FindingsCommandError } = await import('./findings-cmd-
|
|
4605
|
+
const { runFindingsShow, FindingsCommandError } = await import('./findings-cmd-R5SD5W6J.js');
|
|
4606
4606
|
try {
|
|
4607
4607
|
const result = await runFindingsShow({
|
|
4608
4608
|
item: opts.item,
|
|
@@ -4630,7 +4630,7 @@ Give exactly one of --fixed and --not-fixed, and a --note. Run it again for the
|
|
|
4630
4630
|
problem to replace the earlier result. A problem the item does not cover is refused.
|
|
4631
4631
|
`
|
|
4632
4632
|
).action(async (problem, opts) => {
|
|
4633
|
-
const { runFindingsResult, FindingsCommandError } = await import('./findings-cmd-
|
|
4633
|
+
const { runFindingsResult, FindingsCommandError } = await import('./findings-cmd-R5SD5W6J.js');
|
|
4634
4634
|
try {
|
|
4635
4635
|
const result = await runFindingsResult({
|
|
4636
4636
|
problem,
|
|
@@ -4671,7 +4671,7 @@ takes it, and prints the line that starts your session on it. That
|
|
|
4671
4671
|
session links itself and holds the item's lease while it works.
|
|
4672
4672
|
`
|
|
4673
4673
|
).action(async (opts) => {
|
|
4674
|
-
const { runWorkBuild, WorkCommandError } = await import('./work-cmd-
|
|
4674
|
+
const { runWorkBuild, WorkCommandError } = await import('./work-cmd-PHNJNLWA.js');
|
|
4675
4675
|
try {
|
|
4676
4676
|
await runWorkBuild(opts);
|
|
4677
4677
|
} catch (err) {
|
|
@@ -4694,7 +4694,7 @@ renews that session's own 20-minute lease, unless --no-lease or
|
|
|
4694
4694
|
--ended is given, or another worker already holds a live one.
|
|
4695
4695
|
`
|
|
4696
4696
|
).action(async (number, opts) => {
|
|
4697
|
-
const { runWorkLinkSession, WorkCommandError } = await import('./work-cmd-
|
|
4697
|
+
const { runWorkLinkSession, WorkCommandError } = await import('./work-cmd-PHNJNLWA.js');
|
|
4698
4698
|
try {
|
|
4699
4699
|
await runWorkLinkSession({ ...opts, number, noLease: opts.lease === false, logFailures: opts.logFailures === true });
|
|
4700
4700
|
} catch (err) {
|
|
@@ -4718,8 +4718,8 @@ criterion's new proof; --ready hands the thread back to a person. At
|
|
|
4718
4718
|
most one action flag may be given.
|
|
4719
4719
|
`
|
|
4720
4720
|
).action(async (opts) => {
|
|
4721
|
-
const { runWorkComment, WorkCommentCommandError } = await import('./work-comment-cmd-
|
|
4722
|
-
const { WorkCommandError } = await import('./work-cmd-
|
|
4721
|
+
const { runWorkComment, WorkCommentCommandError } = await import('./work-comment-cmd-SK5PTWOV.js');
|
|
4722
|
+
const { WorkCommandError } = await import('./work-cmd-PHNJNLWA.js');
|
|
4723
4723
|
try {
|
|
4724
4724
|
await runWorkComment(opts);
|
|
4725
4725
|
} catch (err) {
|
|
@@ -4740,8 +4740,8 @@ criterion that carries proof or a comment, each with who is waiting
|
|
|
4740
4740
|
on whom next.
|
|
4741
4741
|
`
|
|
4742
4742
|
).action(async (opts) => {
|
|
4743
|
-
const { runWorkThreads, WorkCommentCommandError } = await import('./work-comment-cmd-
|
|
4744
|
-
const { WorkCommandError } = await import('./work-cmd-
|
|
4743
|
+
const { runWorkThreads, WorkCommentCommandError } = await import('./work-comment-cmd-SK5PTWOV.js');
|
|
4744
|
+
const { WorkCommandError } = await import('./work-cmd-PHNJNLWA.js');
|
|
4745
4745
|
try {
|
|
4746
4746
|
await runWorkThreads(opts);
|
|
4747
4747
|
} catch (err) {
|
|
@@ -4765,8 +4765,8 @@ still running, or that an older runner released, has no log and the
|
|
|
4765
4765
|
command exits 1.
|
|
4766
4766
|
`
|
|
4767
4767
|
).action(async (opts) => {
|
|
4768
|
-
const { runWorkLogs, WorkLogsCommandError } = await import('./work-logs-cmd-
|
|
4769
|
-
const { WorkCommandError } = await import('./work-cmd-
|
|
4768
|
+
const { runWorkLogs, WorkLogsCommandError } = await import('./work-logs-cmd-YZNVTMZQ.js');
|
|
4769
|
+
const { WorkCommandError } = await import('./work-cmd-PHNJNLWA.js');
|
|
4770
4770
|
try {
|
|
4771
4771
|
await runWorkLogs(opts);
|
|
4772
4772
|
} catch (err) {
|
|
@@ -4789,8 +4789,8 @@ item is not built again until a new build request. Exits 1 when no host
|
|
|
4789
4789
|
build is running for the item.
|
|
4790
4790
|
`
|
|
4791
4791
|
).action(async (opts) => {
|
|
4792
|
-
const { runWorkStop, WorkStopCommandError } = await import('./work-stop-cmd-
|
|
4793
|
-
const { WorkCommandError } = await import('./work-cmd-
|
|
4792
|
+
const { runWorkStop, WorkStopCommandError } = await import('./work-stop-cmd-Z44WRD7M.js');
|
|
4793
|
+
const { WorkCommandError } = await import('./work-cmd-PHNJNLWA.js');
|
|
4794
4794
|
try {
|
|
4795
4795
|
await runWorkStop(opts);
|
|
4796
4796
|
} catch (err) {
|
|
@@ -4811,7 +4811,7 @@ deletes anything \u2014 the item is removed from Work only once no
|
|
|
4811
4811
|
live addition remains on it.
|
|
4812
4812
|
`
|
|
4813
4813
|
).action(async (opts) => {
|
|
4814
|
-
const { runWorkRemove, WorkCommandError } = await import('./work-cmd-
|
|
4814
|
+
const { runWorkRemove, WorkCommandError } = await import('./work-cmd-PHNJNLWA.js');
|
|
4815
4815
|
try {
|
|
4816
4816
|
await runWorkRemove(opts);
|
|
4817
4817
|
} catch (err) {
|
|
@@ -4823,7 +4823,7 @@ live addition remains on it.
|
|
|
4823
4823
|
}
|
|
4824
4824
|
});
|
|
4825
4825
|
workCmd.command("status").description("Show one item's stage, gate ledger, and additions").option("--item <number>", "the item's number inside this factory").option("--issue <number>", "issue number, or a Linear/Jira key like ENG-123").option(TRACKER_OPTION_FLAG, "tracker for a keyed --issue, when both hold the key").option("--repo <owner/name>", "repository for an issue number (default: the checkout's remote)").option("--json", "machine-readable JSON output").option("--url <url>", "cloud base URL (or OUTERLAYER_URL / config)").addOption(apiKeyOption()).option("--app-id <id>", "factory id the key is bound to (or OUTERLAYER_APP_ID / config)").action(async (opts) => {
|
|
4826
|
-
const { runWorkStatus, WorkCommandError } = await import('./work-cmd-
|
|
4826
|
+
const { runWorkStatus, WorkCommandError } = await import('./work-cmd-PHNJNLWA.js');
|
|
4827
4827
|
try {
|
|
4828
4828
|
await runWorkStatus(opts);
|
|
4829
4829
|
} catch (err) {
|
|
@@ -4835,7 +4835,7 @@ live addition remains on it.
|
|
|
4835
4835
|
}
|
|
4836
4836
|
});
|
|
4837
4837
|
workCmd.command("list").description("List live work items for this factory").option("--stage <spec|build|review>", "filter by stage").option("--section <attention|waiting|flowing>", "filter by Queue section").option("--repo <owner/name>", "repository (default: the current checkout's remote)").option("--unclaimed", "only items with no live lease").option("--claimed", "only items with a live lease, held by a host or a local session").option("--startable", "only items a host can start: a build request, no open PR, no live lease").option("--needs <amend>", "only items with a thread waiting on an agent").option("--json", "machine-readable JSON output").option("--url <url>", "cloud base URL (or OUTERLAYER_URL / config)").addOption(apiKeyOption()).option("--app-id <id>", "factory id the key is bound to (or OUTERLAYER_APP_ID / config)").action(async (opts) => {
|
|
4838
|
-
const { runWorkList, WorkCommandError } = await import('./work-cmd-
|
|
4838
|
+
const { runWorkList, WorkCommandError } = await import('./work-cmd-PHNJNLWA.js');
|
|
4839
4839
|
try {
|
|
4840
4840
|
await runWorkList(opts);
|
|
4841
4841
|
} catch (err) {
|
|
@@ -4856,7 +4856,7 @@ by a different key is refused; claiming again with the same key extends
|
|
|
4856
4856
|
it. --host is a label only.
|
|
4857
4857
|
`
|
|
4858
4858
|
).action(async (opts) => {
|
|
4859
|
-
const { runWorkClaim, WorkCommandError } = await import('./work-claim-cmd-
|
|
4859
|
+
const { runWorkClaim, WorkCommandError } = await import('./work-claim-cmd-QFP54F4D.js');
|
|
4860
4860
|
try {
|
|
4861
4861
|
await runWorkClaim(opts);
|
|
4862
4862
|
} catch (err) {
|
|
@@ -4876,7 +4876,7 @@ Extends the live lease this API key holds. Refused with a 410 if the
|
|
|
4876
4876
|
lease has expired, or a 403 if a different key holds it.
|
|
4877
4877
|
`
|
|
4878
4878
|
).action(async (opts) => {
|
|
4879
|
-
const { runWorkRenew, WorkCommandError } = await import('./work-claim-cmd-
|
|
4879
|
+
const { runWorkRenew, WorkCommandError } = await import('./work-claim-cmd-QFP54F4D.js');
|
|
4880
4880
|
try {
|
|
4881
4881
|
await runWorkRenew(opts);
|
|
4882
4882
|
} catch (err) {
|
|
@@ -4908,7 +4908,7 @@ applies to a host's lease only. A later tool call in the session
|
|
|
4908
4908
|
takes the lease again.
|
|
4909
4909
|
`
|
|
4910
4910
|
).action(async (opts) => {
|
|
4911
|
-
const { runWorkRelease, WorkCommandError } = await import('./work-claim-cmd-
|
|
4911
|
+
const { runWorkRelease, WorkCommandError } = await import('./work-claim-cmd-QFP54F4D.js');
|
|
4912
4912
|
try {
|
|
4913
4913
|
await runWorkRelease(opts);
|
|
4914
4914
|
} catch (err) {
|
|
@@ -4935,7 +4935,7 @@ Idempotent: declaring the same pull request twice is a no-op.
|
|
|
4935
4935
|
needs your own login; an agent session or a factory key is refused.
|
|
4936
4936
|
`
|
|
4937
4937
|
).action(async (number, opts) => {
|
|
4938
|
-
const { runWorkPr, WorkPrCommandError } = await import('./work-pr-cmd-
|
|
4938
|
+
const { runWorkPr, WorkPrCommandError } = await import('./work-pr-cmd-HZBADML4.js');
|
|
4939
4939
|
try {
|
|
4940
4940
|
await runWorkPr({ ...opts, number });
|
|
4941
4941
|
} catch (err) {
|
|
@@ -4960,8 +4960,8 @@ login, then declares the pull request on the item, as \`work pr\` does.
|
|
|
4960
4960
|
Run it again after a change to the title or description.
|
|
4961
4961
|
`
|
|
4962
4962
|
).action(async (opts) => {
|
|
4963
|
-
const { runWorkOpenPr, WorkOpenPrCommandError } = await import('./work-open-pr-cmd-
|
|
4964
|
-
const { WorkCommandError } = await import('./work-cmd-
|
|
4963
|
+
const { runWorkOpenPr, WorkOpenPrCommandError } = await import('./work-open-pr-cmd-XAT4B35J.js');
|
|
4964
|
+
const { WorkCommandError } = await import('./work-cmd-PHNJNLWA.js');
|
|
4965
4965
|
try {
|
|
4966
4966
|
await runWorkOpenPr(opts);
|
|
4967
4967
|
} catch (err) {
|
|
@@ -4977,9 +4977,9 @@ function registerRunnerCommands(program2) {
|
|
|
4977
4977
|
const runnerCmd = program2.command("runner").description("Take work from the implement and amend queues on this machine");
|
|
4978
4978
|
const configOption = "the cloud config file to run against (default: ~/.outerlayer/config.json)";
|
|
4979
4979
|
runnerCmd.command("start").description("Run the loop: claim work, run it, report, clean up, repeat").option("--config <path>", configOption).action(async (opts) => {
|
|
4980
|
-
const { defaultRunnerConfigPath, RunnerConfigError } = await import('./config-
|
|
4981
|
-
const { start, RunnerStartError } = await import('./loop-
|
|
4982
|
-
const { RunnerAlreadyRunningError } = await import('./pidfile-
|
|
4980
|
+
const { defaultRunnerConfigPath, RunnerConfigError } = await import('./config-3JRFDYZL.js');
|
|
4981
|
+
const { start, RunnerStartError } = await import('./loop-7VRNUVEM.js');
|
|
4982
|
+
const { RunnerAlreadyRunningError } = await import('./pidfile-BMFAUQAI.js');
|
|
4983
4983
|
const configPath = opts.config ?? defaultRunnerConfigPath();
|
|
4984
4984
|
try {
|
|
4985
4985
|
const { realUpdateDeps } = await import('./real-deps-QX5YH7FG.js');
|
|
@@ -4996,10 +4996,10 @@ function registerRunnerCommands(program2) {
|
|
|
4996
4996
|
"after",
|
|
4997
4997
|
"\nReads OUTERLAYER_URL, OUTERLAYER_APP_ID, OUTERLAYER_API_KEY, OUTERLAYER_RUNNER_NAME and one Claude credential\n(CLAUDE_CODE_OAUTH_TOKEN or ANTHROPIC_API_KEY) from the environment. OUTERLAYER_AGENT\nis optional and defaults to claude. On a later start it refuses variables that disagree with the config in the volume.\nThe image sets OUTERLAYER_RUNNER_IMAGE; outside the image, use `runner start`.\n"
|
|
4998
4998
|
).action(async () => {
|
|
4999
|
-
const { defaultRunnerConfigPath, RunnerConfigError } = await import('./config-
|
|
5000
|
-
const { containerStart } = await import('./container-start-
|
|
5001
|
-
const { start, RunnerStartError } = await import('./loop-
|
|
5002
|
-
const { RunnerAlreadyRunningError } = await import('./pidfile-
|
|
4999
|
+
const { defaultRunnerConfigPath, RunnerConfigError } = await import('./config-3JRFDYZL.js');
|
|
5000
|
+
const { containerStart } = await import('./container-start-I6CIYK3G.js');
|
|
5001
|
+
const { start, RunnerStartError } = await import('./loop-7VRNUVEM.js');
|
|
5002
|
+
const { RunnerAlreadyRunningError } = await import('./pidfile-BMFAUQAI.js');
|
|
5003
5003
|
try {
|
|
5004
5004
|
const result = await containerStart({
|
|
5005
5005
|
env: process.env,
|
|
@@ -5017,8 +5017,8 @@ function registerRunnerCommands(program2) {
|
|
|
5017
5017
|
}
|
|
5018
5018
|
});
|
|
5019
5019
|
runnerCmd.command("check").description("Validate the config, the hooks and the key, and print the effective settings").option("--config <path>", configOption).action(async (opts) => {
|
|
5020
|
-
const { defaultRunnerConfigPath } = await import('./config-
|
|
5021
|
-
const { runRunnerCheck } = await import('./check-
|
|
5020
|
+
const { defaultRunnerConfigPath } = await import('./config-3JRFDYZL.js');
|
|
5021
|
+
const { runRunnerCheck } = await import('./check-EP4F6VOP.js');
|
|
5022
5022
|
const configPath = opts.config ?? defaultRunnerConfigPath();
|
|
5023
5023
|
const result = await runRunnerCheck(configPath);
|
|
5024
5024
|
if (!result.ok) {
|
|
@@ -5039,8 +5039,8 @@ function registerRunnerCommands(program2) {
|
|
|
5039
5039
|
`);
|
|
5040
5040
|
});
|
|
5041
5041
|
runnerCmd.command("install").description("Put this CLI in the runner's install layout; --service adds its service").option("--config <path>", configOption).option("--service", "set up the service that keeps the runner running").option("--print", "with --service, print the unit and set up nothing").option("--user <account>", "with --service, the account the service runs as").option("--replace", "replace a unit or launcher file this command did not write").option("--allow-downgrade", "install this CLI even when it is older than the version the runner runs").option("--unit-name <name>", "with --service, the unit's name, to run a second runner beside the first").action(async (opts) => {
|
|
5042
|
-
const { defaultRunnerConfigPath, RunnerConfigError } = await import('./config-
|
|
5043
|
-
const { runRunnerInstall, RunnerInstallError, launcherSummary, restartNote } = await import('./install-cmd-
|
|
5042
|
+
const { defaultRunnerConfigPath, RunnerConfigError } = await import('./config-3JRFDYZL.js');
|
|
5043
|
+
const { runRunnerInstall, RunnerInstallError, launcherSummary, restartNote } = await import('./install-cmd-IYWVR6WX.js');
|
|
5044
5044
|
const configPath = opts.config ?? defaultRunnerConfigPath();
|
|
5045
5045
|
if (opts.service !== true) {
|
|
5046
5046
|
for (const flag of ["print", "user", "unitName"]) {
|
|
@@ -5052,7 +5052,7 @@ function registerRunnerCommands(program2) {
|
|
|
5052
5052
|
}
|
|
5053
5053
|
try {
|
|
5054
5054
|
if (opts.service === true) {
|
|
5055
|
-
const { installServiceCommand } = await import('./command-
|
|
5055
|
+
const { installServiceCommand } = await import('./command-FAXC7673.js');
|
|
5056
5056
|
const result2 = await installServiceCommand({
|
|
5057
5057
|
configPath,
|
|
5058
5058
|
print: opts.print,
|
|
@@ -5107,8 +5107,8 @@ To keep it running, run ${C.yellow}${cliInvocation()} runner install --service${
|
|
|
5107
5107
|
fail(`pass --service: \`${cliInvocation()} runner uninstall --service\` removes the runner's service.`);
|
|
5108
5108
|
return;
|
|
5109
5109
|
}
|
|
5110
|
-
const { defaultRunnerConfigPath } = await import('./config-
|
|
5111
|
-
const { uninstallServiceCommand } = await import('./command-
|
|
5110
|
+
const { defaultRunnerConfigPath } = await import('./config-3JRFDYZL.js');
|
|
5111
|
+
const { uninstallServiceCommand } = await import('./command-FAXC7673.js');
|
|
5112
5112
|
const result = await uninstallServiceCommand({ configPath: opts.config ?? defaultRunnerConfigPath(), unitName: opts.unitName, home: homeFromEnv() });
|
|
5113
5113
|
if (result.ok) for (const line of result.lines) process.stdout.write(`${C.green}\u2713${C.reset} ${line}
|
|
5114
5114
|
`);
|
|
@@ -5135,12 +5135,12 @@ already in claude.env is used.
|
|
|
5135
5135
|
printf '%s' "$CLAUDE_CODE_OAUTH_TOKEN" | ${cliInvocation()} runner init --agent claude --factory <org>/<factory>
|
|
5136
5136
|
`
|
|
5137
5137
|
).action(async (opts) => {
|
|
5138
|
-
const { defaultRunnerConfigPath, RunnerConfigError } = await import('./config-
|
|
5139
|
-
const { prepareRunnerInit, runRunnerInit, RunnerInitError, writeRunnerInit } = await import('./init-
|
|
5140
|
-
const { obtainRunnerKey, runnerKeyLogin } = await import('./runner-key-
|
|
5141
|
-
const { detectMachine } = await import('./machine-
|
|
5142
|
-
const { chooseVm, runVmInit, VmInitError } = await import('./init-
|
|
5143
|
-
const { AGENT_COMMANDS, credentialFromStdin, isAgentName, restartForCredential, RunnerEnvError } = await import('./runner-env-
|
|
5138
|
+
const { defaultRunnerConfigPath, RunnerConfigError } = await import('./config-3JRFDYZL.js');
|
|
5139
|
+
const { prepareRunnerInit, runRunnerInit, RunnerInitError, writeRunnerInit } = await import('./init-UWDEHTRU.js');
|
|
5140
|
+
const { obtainRunnerKey, runnerKeyLogin } = await import('./runner-key-RH3LXIWA.js');
|
|
5141
|
+
const { detectMachine } = await import('./machine-NFK2XNY4.js');
|
|
5142
|
+
const { chooseVm, runVmInit, VmInitError } = await import('./init-MRMSJKXM.js');
|
|
5143
|
+
const { AGENT_COMMANDS, credentialFromStdin, isAgentName, restartForCredential, RunnerEnvError } = await import('./runner-env-66RAFIDJ.js');
|
|
5144
5144
|
const configPath = opts.config ?? defaultRunnerConfigPath();
|
|
5145
5145
|
if (opts.agent !== void 0 && !isAgentName(opts.agent)) {
|
|
5146
5146
|
fail(`--agent ${opts.agent}: runner init writes commands for ${Object.keys(AGENT_COMMANDS).join(", ")}. For another agent, leave --agent out and edit runner.commands.`);
|
|
@@ -5171,7 +5171,7 @@ already in claude.env is used.
|
|
|
5171
5171
|
const chunks = [];
|
|
5172
5172
|
for await (const chunk of process.stdin) chunks.push(Buffer.from(chunk));
|
|
5173
5173
|
const result2 = runRunnerInit(configPath, { machine, configFromStdin: Buffer.concat(chunks).toString("utf8"), requireContainer: true });
|
|
5174
|
-
const { ensureHostKey: ensureHostKey2 } = await import('./host-key-
|
|
5174
|
+
const { ensureHostKey: ensureHostKey2 } = await import('./host-key-KAYMYRO3.js');
|
|
5175
5175
|
const hostKey2 = await ensureHostKey2(configPath);
|
|
5176
5176
|
process.stdout.write(`host key ${hostKey2.fingerprint}
|
|
5177
5177
|
hooks: ${result2.hooks}
|
|
@@ -5230,7 +5230,7 @@ hooks: ${result2.hooks}
|
|
|
5230
5230
|
const prepared = prepareRunnerInit(configPath, { machine, allowProcess, agent, credential, keyFromLogin: makeKey !== void 0 });
|
|
5231
5231
|
const created = makeKey === void 0 ? void 0 : await makeKey();
|
|
5232
5232
|
const result = writeRunnerInit(prepared, created);
|
|
5233
|
-
const { ensureHostKey } = await import('./host-key-
|
|
5233
|
+
const { ensureHostKey } = await import('./host-key-KAYMYRO3.js');
|
|
5234
5234
|
const hostKey = await ensureHostKey(configPath);
|
|
5235
5235
|
if (created !== void 0) {
|
|
5236
5236
|
process.stdout.write(`${C.green}\u2713${C.reset} saved the runner key in ${result.configPath}
|
|
@@ -5258,7 +5258,7 @@ ${C.yellow}${result.note}${C.reset}
|
|
|
5258
5258
|
To isolate builds in containers instead, run ${C.yellow}${cliInvocation()} runner init --vm${C.reset}.
|
|
5259
5259
|
`);
|
|
5260
5260
|
}
|
|
5261
|
-
const { runRunnerInstall, RunnerInstallError, RunnerDowngradeError, launcherSummary } = await import('./install-cmd-
|
|
5261
|
+
const { runRunnerInstall, RunnerInstallError, RunnerDowngradeError, launcherSummary } = await import('./install-cmd-IYWVR6WX.js');
|
|
5262
5262
|
let installedLayout = false;
|
|
5263
5263
|
let noService = "it starts the runner from the install layout, which needs a CLI installed with npm";
|
|
5264
5264
|
try {
|
|
@@ -5290,7 +5290,7 @@ ${C.yellow}The runner will not update itself: ${installErr.message}${C.reset}
|
|
|
5290
5290
|
let serviceUp = false;
|
|
5291
5291
|
let restart;
|
|
5292
5292
|
if (installedLayout) {
|
|
5293
|
-
const { installServiceCommand } = await import('./command-
|
|
5293
|
+
const { installServiceCommand } = await import('./command-FAXC7673.js');
|
|
5294
5294
|
const service = await installServiceCommand({
|
|
5295
5295
|
configPath,
|
|
5296
5296
|
entryPath: process.argv[1] ?? "",
|
|
@@ -5334,12 +5334,12 @@ Next:
|
|
|
5334
5334
|
"after",
|
|
5335
5335
|
"\nA repository governed by a control plane builds the control plane's image, at the commit\nthe gateway has stored for it. A repository that governs itself fetches the head of its\ndefault branch into the runner's cache. Either way it reads .devcontainer/devcontainer.json\nand builds the image with the devcontainer CLI. Settings\nthat reach the host or widen the container's privileges are ignored and listed. The\nimage holds this CLI and a pinned Claude Code. Nothing runs inside the image.\n"
|
|
5336
5336
|
).action(async (opts) => {
|
|
5337
|
-
const { defaultRunnerConfigPath } = await import('./config-
|
|
5338
|
-
const { buildRepositoryImage, RecipeError } = await import('./build-
|
|
5337
|
+
const { defaultRunnerConfigPath } = await import('./config-3JRFDYZL.js');
|
|
5338
|
+
const { buildRepositoryImage, RecipeError } = await import('./build-7QD3VJ6U.js');
|
|
5339
5339
|
const { currentCliBuild } = await import('./cli-build-K56DK4DS.js');
|
|
5340
|
-
const { createDockerHost } = await import('./docker-
|
|
5341
|
-
const { builderSpec } = await import('./builder-
|
|
5342
|
-
const { loadRunnerConfig } = await import('./config-
|
|
5340
|
+
const { createDockerHost } = await import('./docker-4GU3IDBN.js');
|
|
5341
|
+
const { builderSpec } = await import('./builder-JG34X757.js');
|
|
5342
|
+
const { loadRunnerConfig } = await import('./config-3JRFDYZL.js');
|
|
5343
5343
|
const configPath = opts.config ?? defaultRunnerConfigPath();
|
|
5344
5344
|
const loaded = (() => {
|
|
5345
5345
|
try {
|
|
@@ -5350,11 +5350,11 @@ Next:
|
|
|
5350
5350
|
})();
|
|
5351
5351
|
const memory = loaded?.build?.memory ?? "8g";
|
|
5352
5352
|
try {
|
|
5353
|
-
const { ensureRunnerIdentity } = await import('./runner-identity-
|
|
5353
|
+
const { ensureRunnerIdentity } = await import('./runner-identity-KEN3K5CP.js');
|
|
5354
5354
|
await ensureRunnerIdentity(configPath, { log: (line) => console.error(line) }).catch((err) => {
|
|
5355
5355
|
console.error(`the runner's Docker identity could not be stored: ${err instanceof Error ? err.message : String(err)}`);
|
|
5356
5356
|
});
|
|
5357
|
-
const { imageTargetFor } = await import('./governing-source-
|
|
5357
|
+
const { imageTargetFor } = await import('./governing-source-VB2PXSWT.js');
|
|
5358
5358
|
const target = await imageTargetFor({ config: loaded, repository: opts.repository, fetchImpl: fetch });
|
|
5359
5359
|
if (!target.ok) {
|
|
5360
5360
|
if (opts.json) {
|
|
@@ -5417,25 +5417,25 @@ Next:
|
|
|
5417
5417
|
}
|
|
5418
5418
|
});
|
|
5419
5419
|
runnerCmd.command("stop").description("Take no more work; finish running jobs, then exit").option("--config <path>", "the cloud config file naming the runner to stop").option("--now", "end running jobs immediately, with outcome stopped").action(async (opts) => {
|
|
5420
|
-
const { defaultRunnerConfigPath } = await import('./config-
|
|
5421
|
-
const { requestStop } = await import('./loop-
|
|
5420
|
+
const { defaultRunnerConfigPath } = await import('./config-3JRFDYZL.js');
|
|
5421
|
+
const { requestStop } = await import('./loop-7VRNUVEM.js');
|
|
5422
5422
|
const configPath = opts.config ?? defaultRunnerConfigPath();
|
|
5423
|
-
const { runnerImageVersion } = await import('./image-tag-
|
|
5423
|
+
const { runnerImageVersion } = await import('./image-tag-OYT7UG7Y.js');
|
|
5424
5424
|
await requestStop(configPath, Boolean(opts.now), void 0, { image: runnerImageVersion() !== void 0 });
|
|
5425
5425
|
});
|
|
5426
5426
|
runnerCmd.command("status").description("List running jobs; with --recent, finished ones too").option("--config <path>", "the cloud config file naming the runner to inspect").option("--recent", "also list finished jobs, newest first, capped at 20").option("--json", "machine-readable JSON output").action(async (opts) => {
|
|
5427
|
-
const { defaultRunnerConfigPath, loadRunnerConfig } = await import('./config-
|
|
5428
|
-
const { jobsDir, runnerDir } = await import('./paths-
|
|
5429
|
-
const { listJobFiles, runnerProcessState } = await import('./loop-
|
|
5430
|
-
const { renderStatus } = await import('./status-
|
|
5431
|
-
const { readHousekeepingRecord } = await import('./record-
|
|
5427
|
+
const { defaultRunnerConfigPath, loadRunnerConfig } = await import('./config-3JRFDYZL.js');
|
|
5428
|
+
const { jobsDir, runnerDir } = await import('./paths-OK2EZS7W.js');
|
|
5429
|
+
const { listJobFiles, runnerProcessState } = await import('./loop-7VRNUVEM.js');
|
|
5430
|
+
const { renderStatus } = await import('./status-BX42CZLS.js');
|
|
5431
|
+
const { readHousekeepingRecord } = await import('./record-26AH6WDB.js');
|
|
5432
5432
|
const path2 = await import('path');
|
|
5433
5433
|
const configPath = opts.config ?? defaultRunnerConfigPath();
|
|
5434
5434
|
const all = listJobFiles(configPath);
|
|
5435
5435
|
const housekeeping = readHousekeepingRecord(runnerDir(configPath));
|
|
5436
|
-
const { readPendingUpdate } = await import('./pending-
|
|
5436
|
+
const { readPendingUpdate } = await import('./pending-RKVRYOTF.js');
|
|
5437
5437
|
const pendingUpdate = readPendingUpdate(runnerDir(configPath));
|
|
5438
|
-
const { readImageStatus } = await import('./image-tag-
|
|
5438
|
+
const { readImageStatus } = await import('./image-tag-OYT7UG7Y.js');
|
|
5439
5439
|
const image = readImageStatus(runnerDir(configPath));
|
|
5440
5440
|
let host = "unknown";
|
|
5441
5441
|
let concurrency = 1;
|
|
@@ -5449,7 +5449,7 @@ Next:
|
|
|
5449
5449
|
const service = await (async () => {
|
|
5450
5450
|
if (process.platform !== "linux" || !existsSync("/run/systemd/system")) return void 0;
|
|
5451
5451
|
const { inspectService, realInspectProbes } = await import('./inspect-L7JIBK3Y.js');
|
|
5452
|
-
const { DEFAULT_UNIT_NAME } = await import('./install-
|
|
5452
|
+
const { DEFAULT_UNIT_NAME } = await import('./install-OIRIEOS7.js');
|
|
5453
5453
|
const facts = inspectService(DEFAULT_UNIT_NAME, path2.dirname(configPath), realInspectProbes());
|
|
5454
5454
|
return facts === void 0 ? void 0 : { unit: facts.unit, running: facts.mainPid !== void 0, delegated: facts.delegate };
|
|
5455
5455
|
})();
|
|
@@ -5486,9 +5486,9 @@ Next:
|
|
|
5486
5486
|
);
|
|
5487
5487
|
});
|
|
5488
5488
|
runnerCmd.command("logs").argument("<item>", "the work item's number in the factory").description("Print the newest attempt's log for one item").option("--config <path>", "the cloud config file naming the runner to inspect").option("-f, --follow", "keep printing as the log grows").action(async (itemArg, opts) => {
|
|
5489
|
-
const { defaultRunnerConfigPath } = await import('./config-
|
|
5490
|
-
const { listJobFiles } = await import('./loop-
|
|
5491
|
-
const { newestAttempt, logPathFor, tail, RunnerLogsError } = await import('./logs-
|
|
5489
|
+
const { defaultRunnerConfigPath } = await import('./config-3JRFDYZL.js');
|
|
5490
|
+
const { listJobFiles } = await import('./loop-7VRNUVEM.js');
|
|
5491
|
+
const { newestAttempt, logPathFor, tail, RunnerLogsError } = await import('./logs-C3RJ3ZTC.js');
|
|
5492
5492
|
const configPath = opts.config ?? defaultRunnerConfigPath();
|
|
5493
5493
|
const item = parseTrackerNumber(itemArg);
|
|
5494
5494
|
if (item === void 0) {
|
|
@@ -5719,7 +5719,7 @@ caller from the bearer token, the gateway answers 401 without that header.
|
|
|
5719
5719
|
"after",
|
|
5720
5720
|
"\nWhat the stdio .mcp.json entry spawns. Reads newline-delimited JSON-RPC 2.0 on\nstdin and writes responses on stdout. The API key comes from OUTERLAYER_API_KEY\nor ~/.outerlayer/config.json at start-up; with neither the command exits 1 and\nprints why, which the MCP client shows as the connect error.\n"
|
|
5721
5721
|
).action(async (opts) => {
|
|
5722
|
-
const { runMcpServe, handleMcpServeError } = await import('./mcp-serve-cmd-
|
|
5722
|
+
const { runMcpServe, handleMcpServeError } = await import('./mcp-serve-cmd-PB4UOTGL.js');
|
|
5723
5723
|
try {
|
|
5724
5724
|
await runMcpServe({ url: opts.url, appId: opts.appId });
|
|
5725
5725
|
} catch (err) {
|