@outerlayer/cli 0.34.0-next.20261023233807 → 0.34.0-next.20261024123749
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/{build-disk-ZDGSJLPA.js → build-disk-LEZ6LAM3.js} +3 -3
- package/dist/build-info.json +1 -1
- package/dist/{builder-QKH2HBAO.js → builder-I32JOQII.js} +2 -2
- package/dist/{check-4MYU7S73.js → check-S6S7XIUP.js} +18 -18
- package/dist/{chunk-WEUCD3J3.js → chunk-2G7PJAJZ.js} +2 -2
- package/dist/{chunk-3FMARI3L.js → chunk-2JB4GD34.js} +1 -1
- package/dist/{chunk-2UF4H4PG.js → chunk-3CKMB2UK.js} +2 -2
- package/dist/{chunk-NYHQF6BT.js → chunk-3KT2IWV3.js} +4 -4
- package/dist/{chunk-TYBK2UCW.js → chunk-43I7PXDP.js} +1 -1
- package/dist/{chunk-7JETLQED.js → chunk-5WCBFLES.js} +7 -7
- package/dist/{chunk-HUUYTDFV.js → chunk-5XZ6BUPH.js} +2 -2
- package/dist/{chunk-3CUGPUCP.js → chunk-6AQLRSYU.js} +1 -1
- package/dist/{chunk-BO42KT3D.js → chunk-6ZFY2L2T.js} +115 -12
- package/dist/{chunk-4V5V2HAQ.js → chunk-AMEM2ZLL.js} +2 -2
- package/dist/{chunk-GODAKHDD.js → chunk-BTHH5H5H.js} +10 -3
- package/dist/{chunk-VY2FE5VT.js → chunk-GWF3ZRUX.js} +2 -2
- package/dist/{chunk-KLGYSJ3A.js → chunk-HBVHRC3A.js} +2 -2
- package/dist/{chunk-J32AF6D2.js → chunk-HIGP4WOC.js} +3 -3
- package/dist/{chunk-LFBMXXE6.js → chunk-LW254XRN.js} +11 -11
- package/dist/{chunk-2GWMYY4M.js → chunk-MHGIN2X6.js} +3 -3
- package/dist/{chunk-OVRNGOD2.js → chunk-NVDPSH72.js} +1 -1
- package/dist/{chunk-2HCXEIJD.js → chunk-OHJDH5GV.js} +2 -2
- package/dist/{chunk-HG6INMG3.js → chunk-PBIYM2Z6.js} +3 -3
- package/dist/{chunk-TCGVYHII.js → chunk-R2CLQJA2.js} +2 -2
- package/dist/{chunk-YNJUN6BB.js → chunk-RT6VNM3S.js} +3 -3
- package/dist/{chunk-YQ5BEACL.js → chunk-SMAZA7DM.js} +2 -2
- package/dist/{chunk-KSZXJE3R.js → chunk-TFKROYY2.js} +7 -7
- package/dist/{chunk-XXTXM47K.js → chunk-XLJHFZRL.js} +9 -9
- package/dist/{chunk-4H2DWORO.js → chunk-YREGBU3O.js} +2 -2
- package/dist/{chunk-5CHRWX3K.js → chunk-ZADIXMKT.js} +4 -4
- package/dist/{chunk-BBGVXGSO.js → chunk-ZYKFYNES.js} +1 -1
- package/dist/{cli-QQBC67PY.js → cli-RL2R7YTM.js} +81 -81
- package/dist/{command-27SJOFEM.js → command-YQBQDIAM.js} +11 -11
- package/dist/{config-7M4PJUZ5.js → config-WRHQDGVI.js} +4 -4
- package/dist/{connect-cmd-XPSJT6JW.js → connect-cmd-42JHZKWN.js} +2 -2
- package/dist/{container-start-FDUQKTOF.js → container-start-7QFR3JWO.js} +16 -16
- package/dist/{context-show-cmd-4HLZ6DEB.js → context-show-cmd-LIWHRWVT.js} +3 -3
- package/dist/{dist-ELNMCU72.js → dist-ZAHCXYSG.js} +1 -1
- package/dist/{docker-7XRXEGMX.js → docker-DJ73SZRC.js} +2 -2
- package/dist/{doctor-Y3F7KETW.js → doctor-AZZJBJYO.js} +12 -12
- package/dist/{emit-artifact-cmd-SX6A3N46.js → emit-artifact-cmd-NU5JURAA.js} +6 -6
- package/dist/{emit-criteria-cmd-4LXKENTI.js → emit-criteria-cmd-RAU3PDEK.js} +4 -4
- package/dist/{emit-demo-cmd-ECMS73O6.js → emit-demo-cmd-524A54D5.js} +7 -7
- package/dist/{emit-finding-cmd-K73WX2UP.js → emit-finding-cmd-LE3HFQWL.js} +4 -4
- package/dist/{emit-result-cmd-SUQASZMD.js → emit-result-cmd-XT2VEPAJ.js} +5 -5
- package/dist/{emit-step-cmd-5NQ6W4F3.js → emit-step-cmd-LXOKBFQE.js} +4 -4
- package/dist/{findings-cmd-2BOST4CX.js → findings-cmd-O5HUK26I.js} +4 -4
- package/dist/{governing-source-NSQ5TIMO.js → governing-source-FNSH4V4A.js} +5 -5
- package/dist/index.js +1 -1
- package/dist/{init-SFZ5VUZ6.js → init-LQDKX2XL.js} +11 -11
- package/dist/{init-E2N3A4MB.js → init-RUIWHKLE.js} +11 -11
- package/dist/{init-cmd-BNOWYMNA.js → init-cmd-2OTTULTI.js} +5 -5
- package/dist/{init-update-6QK5URLQ.js → init-update-TN2W4EN6.js} +2 -2
- package/dist/{install-E6DEU5NV.js → install-OCBERTPQ.js} +5 -5
- package/dist/{loop-6RHTIIIE.js → loop-VC3EE3RK.js} +18 -18
- package/dist/{machine-OYI4ZWQS.js → machine-IEYKRHRK.js} +11 -11
- package/dist/{runner-env-EKBC5EYE.js → runner-env-L7OPH3O3.js} +6 -6
- package/dist/{runner-identity-KN4CW5VQ.js → runner-identity-VASV2AEQ.js} +2 -2
- package/dist/{runner-key-W6KG4QD7.js → runner-key-QKZZTKLY.js} +11 -11
- package/dist/{session-sender-Q7I6NUJU.js → session-sender-IH44FURK.js} +6 -6
- package/dist/{spec-cmd-3RWLOGZW.js → spec-cmd-2LRTOTAO.js} +5 -5
- package/dist/{status-G26SS4VW.js → status-6ISCZDBX.js} +15 -15
- package/dist/{sync-cmd-2W5F23IM.js → sync-cmd-MIID2ANV.js} +5 -5
- package/dist/{watch-QW4LMB23.js → watch-K5UUKCPB.js} +5 -5
- package/dist/{work-claim-cmd-D2VABY7U.js → work-claim-cmd-2LD2JQKI.js} +8 -8
- package/dist/{work-cmd-FVDCWSPE.js → work-cmd-NR53YCXJ.js} +4 -4
- package/dist/{work-comment-cmd-RW7FZBBH.js → work-comment-cmd-PC4HNM45.js} +5 -5
- package/dist/{work-demo-cmd-M5NL3IPF.js → work-demo-cmd-S5EJXBVH.js} +4 -4
- package/dist/{work-logs-cmd-KUG5JARJ.js → work-logs-cmd-5F6MDBLQ.js} +4 -4
- package/dist/{work-open-pr-cmd-HSVGGLFC.js → work-open-pr-cmd-SWVFDSMY.js} +5 -5
- package/dist/{work-pr-cmd-KBHTEAIT.js → work-pr-cmd-DXW4RXG4.js} +4 -4
- package/dist/{work-proofs-cmd-A6QNVO6B.js → work-proofs-cmd-UVTSPFLL.js} +5 -5
- package/dist/{work-proofs-init-QB2UL3BC.js → work-proofs-init-GNGI7PZU.js} +6 -6
- package/dist/{work-proofs-record-APK4VWRB.js → work-proofs-record-HTWSMEDG.js} +11 -11
- package/dist/{work-stop-cmd-HSGFTRIX.js → work-stop-cmd-HL6FZL5X.js} +4 -4
- package/package.json +1 -1
- package/skill-pack/maintained/outerlayer-build/references/agent-briefs.md +3 -1
|
@@ -1,16 +1,16 @@
|
|
|
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-5WCBFLES.js';
|
|
4
4
|
import './chunk-OLCIPTST.js';
|
|
5
5
|
import './chunk-SVLFZLTE.js';
|
|
6
6
|
import './chunk-KT4CN6OU.js';
|
|
7
7
|
import './chunk-XFAJQZN2.js';
|
|
8
|
-
import { verifiedTrackerNames, TRACKERS } from './chunk-
|
|
8
|
+
import { verifiedTrackerNames, TRACKERS } from './chunk-HIGP4WOC.js';
|
|
9
9
|
import './chunk-IP7BIBXJ.js';
|
|
10
|
-
import './chunk-
|
|
11
|
-
import './chunk-
|
|
10
|
+
import './chunk-OHJDH5GV.js';
|
|
11
|
+
import './chunk-NVDPSH72.js';
|
|
12
12
|
import './chunk-MECW77XP.js';
|
|
13
|
-
import './chunk-
|
|
13
|
+
import './chunk-6ZFY2L2T.js';
|
|
14
14
|
import { FIRST_VERSION_READING_AGENTS_SKILLS } from './chunk-TIRHZC2M.js';
|
|
15
15
|
import './chunk-Y5YCX6AL.js';
|
|
16
16
|
import './chunk-G2JWZDFA.js';
|
|
@@ -3800,8 +3800,8 @@ async function installMachineSkillsForSetup() {
|
|
|
3800
3800
|
` : "";
|
|
3801
3801
|
}
|
|
3802
3802
|
async function realConnectDepsForCwd() {
|
|
3803
|
-
const { realConnectDeps } = await import('./connect-cmd-
|
|
3804
|
-
const { resolveRepoIdentity } = await import('./dist-
|
|
3803
|
+
const { realConnectDeps } = await import('./connect-cmd-42JHZKWN.js');
|
|
3804
|
+
const { resolveRepoIdentity } = await import('./dist-ZAHCXYSG.js');
|
|
3805
3805
|
return {
|
|
3806
3806
|
...realConnectDeps(),
|
|
3807
3807
|
home: homeFromEnv(),
|
|
@@ -3875,7 +3875,7 @@ build, ../outerlayer-build/SKILL.md becomes ~/.agents/skills/outerlayer-build/SK
|
|
|
3875
3875
|
what CLIs older than ${FIRST_VERSION_READING_AGENTS_SKILLS} do. \`` + cliInvocation() + " doctor` reports the same\nstates under Starter files.\n"
|
|
3876
3876
|
).action(async (opts) => {
|
|
3877
3877
|
if (opts.update || opts.dryRun) {
|
|
3878
|
-
const { runInitUpdateWithFleet, formatInitUpdate, updateFlagProblem } = await import('./init-update-
|
|
3878
|
+
const { runInitUpdateWithFleet, formatInitUpdate, updateFlagProblem } = await import('./init-update-TN2W4EN6.js');
|
|
3879
3879
|
const { fleetReadiness } = await import('./fleet-readiness-VAKMSSWI.js');
|
|
3880
3880
|
const problem = updateFlagProblem(opts);
|
|
3881
3881
|
if (problem !== void 0) {
|
|
@@ -3927,13 +3927,13 @@ what CLIs older than ${FIRST_VERSION_READING_AGENTS_SKILLS} do. \`` + cliInvocat
|
|
|
3927
3927
|
if (changed.length > 0 && !opts.json) process.stdout.write(`Removed the claude function from ${changed.join(", ")}.
|
|
3928
3928
|
`);
|
|
3929
3929
|
}
|
|
3930
|
-
const shell = !opts.remove && opts.shellFunction !== void 0 ? (await import('./init-cmd-
|
|
3930
|
+
const shell = !opts.remove && opts.shellFunction !== void 0 ? (await import('./init-cmd-2OTTULTI.js')).applyShellFunctionFlag(opts.shellFunction, { home: homeFromEnv(), shellPath: process.env.SHELL }) : void 0;
|
|
3931
3931
|
if (opts.json) writeJson(shell === void 0 ? outcome.result : { ...outcome.result, shellFunction: { outcome: shell.outcome, reason: shell.reason } });
|
|
3932
3932
|
else process.stdout.write(outcome.text + skillsLine + (shell?.text ?? ""));
|
|
3933
3933
|
return;
|
|
3934
3934
|
}
|
|
3935
3935
|
await installMachineSkillsForSetup();
|
|
3936
|
-
const { runInitCommand } = await import('./init-cmd-
|
|
3936
|
+
const { runInitCommand } = await import('./init-cmd-2OTTULTI.js');
|
|
3937
3937
|
const code = await runInitCommand(
|
|
3938
3938
|
{ json: opts.json, factory: opts.factory, shellFunction: opts.shellFunction },
|
|
3939
3939
|
{
|
|
@@ -3954,7 +3954,7 @@ what CLIs older than ${FIRST_VERSION_READING_AGENTS_SKILLS} do. \`` + cliInvocat
|
|
|
3954
3954
|
shellPath: process.env.SHELL,
|
|
3955
3955
|
interactive: Boolean(process.stdin.isTTY && process.stderr.isTTY) && opts.json !== true,
|
|
3956
3956
|
ask: async () => {
|
|
3957
|
-
const { promptOnTerminal } = await import('./connect-cmd-
|
|
3957
|
+
const { promptOnTerminal } = await import('./connect-cmd-42JHZKWN.js');
|
|
3958
3958
|
const answer = await promptOnTerminal({
|
|
3959
3959
|
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.`,
|
|
3960
3960
|
options: [
|
|
@@ -3993,7 +3993,7 @@ linked (true, false, or null when it could not be checked) and, when false,
|
|
|
3993
3993
|
linkUrl.
|
|
3994
3994
|
`
|
|
3995
3995
|
).action(async (opts) => {
|
|
3996
|
-
const { runConnectCommand } = await import('./connect-cmd-
|
|
3996
|
+
const { runConnectCommand } = await import('./connect-cmd-42JHZKWN.js');
|
|
3997
3997
|
const code = await runConnectCommand({ factory: opts.factory, json: opts.json }, await realConnectDepsForCwd(), {
|
|
3998
3998
|
stdout: process.stdout,
|
|
3999
3999
|
stderr: process.stderr
|
|
@@ -4071,7 +4071,7 @@ code is 1: revoke the token on /profile/security.
|
|
|
4071
4071
|
else fail(found.reason);
|
|
4072
4072
|
return;
|
|
4073
4073
|
}
|
|
4074
|
-
const { runSync, SyncConfigError, SyncTransportError } = await import('./sync-cmd-
|
|
4074
|
+
const { runSync, SyncConfigError, SyncTransportError } = await import('./sync-cmd-MIID2ANV.js');
|
|
4075
4075
|
try {
|
|
4076
4076
|
const result = await runSync({
|
|
4077
4077
|
url: opts.url,
|
|
@@ -4102,7 +4102,7 @@ code is 1: revoke the token on /profile/security.
|
|
|
4102
4102
|
if (invokedCommandToken(argv) === "watch") {
|
|
4103
4103
|
warnDeprecated(`\`${cliInvocation()} watch\` is now \`${cliInvocation()} daemon\`; the old name will be removed in a future release.`);
|
|
4104
4104
|
}
|
|
4105
|
-
const { runWatch } = await import('./watch-
|
|
4105
|
+
const { runWatch } = await import('./watch-K5UUKCPB.js');
|
|
4106
4106
|
await runWatch({ once: opts.once });
|
|
4107
4107
|
});
|
|
4108
4108
|
program2.command("hook <event>", { hidden: true }).description("capture-hook fast path, installed by `init`").action(() => {
|
|
@@ -4192,7 +4192,7 @@ code is 1: revoke the token on /profile/security.
|
|
|
4192
4192
|
process.exitCode = await runBuildCommand({ dir: opts.dir, argv: command });
|
|
4193
4193
|
});
|
|
4194
4194
|
program2.command("session-sender", { hidden: true }).description("stream a runner build's sessions to its work item while the build runs").action(async () => {
|
|
4195
|
-
const { runSessionSender } = await import('./session-sender-
|
|
4195
|
+
const { runSessionSender } = await import('./session-sender-IH44FURK.js');
|
|
4196
4196
|
try {
|
|
4197
4197
|
await runSessionSender();
|
|
4198
4198
|
} catch (err) {
|
|
@@ -4288,7 +4288,7 @@ Compiling .outerlayer/ moved to \`${cliInvocation()} context emit\`.
|
|
|
4288
4288
|
await compileContext({ dir: opts.dir, check: opts.check, json: opts.json });
|
|
4289
4289
|
return;
|
|
4290
4290
|
}
|
|
4291
|
-
const { runEmitResult, EmitResultError } = await import('./emit-result-cmd-
|
|
4291
|
+
const { runEmitResult, EmitResultError } = await import('./emit-result-cmd-XT2VEPAJ.js');
|
|
4292
4292
|
try {
|
|
4293
4293
|
const result = await runEmitResult({
|
|
4294
4294
|
name,
|
|
@@ -4339,7 +4339,7 @@ everywhere, bytes and deep link untouched; a still-queued one is cancelled
|
|
|
4339
4339
|
locally so it never uploads. One correction can retire several duplicates.
|
|
4340
4340
|
`
|
|
4341
4341
|
).action(async (file, opts) => {
|
|
4342
|
-
const { runEmitArtifact, EmitArtifactError } = await import('./emit-artifact-cmd-
|
|
4342
|
+
const { runEmitArtifact, EmitArtifactError } = await import('./emit-artifact-cmd-NU5JURAA.js');
|
|
4343
4343
|
let pr;
|
|
4344
4344
|
if (opts.pr !== void 0) {
|
|
4345
4345
|
pr = parseTrackerNumber(opts.pr);
|
|
@@ -4395,7 +4395,7 @@ its criterion, and the new record retires the old record. The id must be the ite
|
|
|
4395
4395
|
as \`work demo --item <n> --json\` prints it.
|
|
4396
4396
|
`
|
|
4397
4397
|
).action(async (manifest, opts) => {
|
|
4398
|
-
const { runEmitDemo, EmitDemoError } = await import('./emit-demo-cmd-
|
|
4398
|
+
const { runEmitDemo, EmitDemoError } = await import('./emit-demo-cmd-524A54D5.js');
|
|
4399
4399
|
let item;
|
|
4400
4400
|
if (opts.item !== void 0) {
|
|
4401
4401
|
item = parseTrackerNumber(opts.item);
|
|
@@ -4465,7 +4465,7 @@ recent events with their ids. --find <text> searches all of them.
|
|
|
4465
4465
|
item that session was launched for is used automatically.
|
|
4466
4466
|
`
|
|
4467
4467
|
).action(async (opts) => {
|
|
4468
|
-
const { runEmitFinding, refuseRemovedFindingFlags, EmitFindingError } = await import('./emit-finding-cmd-
|
|
4468
|
+
const { runEmitFinding, refuseRemovedFindingFlags, EmitFindingError } = await import('./emit-finding-cmd-LE3HFQWL.js');
|
|
4469
4469
|
try {
|
|
4470
4470
|
refuseRemovedFindingFlags(opts);
|
|
4471
4471
|
const result = await runEmitFinding({
|
|
@@ -4532,7 +4532,7 @@ the whole batch. "untimed": true records one with no time on purpose.
|
|
|
4532
4532
|
that session was launched for is used automatically.
|
|
4533
4533
|
`
|
|
4534
4534
|
).action(async (file, opts) => {
|
|
4535
|
-
const { runEmitFindings, EmitFindingError } = await import('./emit-finding-cmd-
|
|
4535
|
+
const { runEmitFindings, EmitFindingError } = await import('./emit-finding-cmd-LE3HFQWL.js');
|
|
4536
4536
|
try {
|
|
4537
4537
|
const result = await runEmitFindings({
|
|
4538
4538
|
file,
|
|
@@ -4567,7 +4567,7 @@ command, the command exits 0, and \`sync\` sends it later. If the gateway refuse
|
|
|
4567
4567
|
the step, the command prints why and exits 1.
|
|
4568
4568
|
`
|
|
4569
4569
|
).action(async (name, opts) => {
|
|
4570
|
-
const { runEmitStep, EmitStepError } = await import('./emit-step-cmd-
|
|
4570
|
+
const { runEmitStep, EmitStepError } = await import('./emit-step-cmd-LXOKBFQE.js');
|
|
4571
4571
|
try {
|
|
4572
4572
|
await runEmitStep({
|
|
4573
4573
|
name,
|
|
@@ -4610,7 +4610,7 @@ of the item, and a (proof: <kind>) annotation names its proof.
|
|
|
4610
4610
|
${cliInvocation()} emit criteria acceptance/412-login.md --item 412
|
|
4611
4611
|
`
|
|
4612
4612
|
).action(async (file, opts) => {
|
|
4613
|
-
const { runEmitCriteria, EmitCriteriaError } = await import('./emit-criteria-cmd-
|
|
4613
|
+
const { runEmitCriteria, EmitCriteriaError } = await import('./emit-criteria-cmd-RAU3PDEK.js');
|
|
4614
4614
|
try {
|
|
4615
4615
|
const result = await runEmitCriteria({
|
|
4616
4616
|
file,
|
|
@@ -4634,9 +4634,9 @@ function registerSpecCommands(program2) {
|
|
|
4634
4634
|
const specCmd = program2.command("spec").description("Find, file and edit the issue a spec lives in, in your factory's tracker");
|
|
4635
4635
|
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)");
|
|
4636
4636
|
const run = async (action) => {
|
|
4637
|
-
const { WorkCommandError } = await import('./work-cmd-
|
|
4637
|
+
const { WorkCommandError } = await import('./work-cmd-NR53YCXJ.js');
|
|
4638
4638
|
try {
|
|
4639
|
-
await action(await import('./spec-cmd-
|
|
4639
|
+
await action(await import('./spec-cmd-2LRTOTAO.js'));
|
|
4640
4640
|
} catch (err) {
|
|
4641
4641
|
if (err instanceof WorkCommandError) {
|
|
4642
4642
|
fail(err.message);
|
|
@@ -4671,7 +4671,7 @@ Prints each problem the item covers with its id, its reports and its result.
|
|
|
4671
4671
|
session was launched for is used.
|
|
4672
4672
|
`
|
|
4673
4673
|
).action(async (opts) => {
|
|
4674
|
-
const { runFindingsShow, FindingsCommandError } = await import('./findings-cmd-
|
|
4674
|
+
const { runFindingsShow, FindingsCommandError } = await import('./findings-cmd-O5HUK26I.js');
|
|
4675
4675
|
try {
|
|
4676
4676
|
const result = await runFindingsShow({
|
|
4677
4677
|
item: opts.item,
|
|
@@ -4699,7 +4699,7 @@ Give exactly one of --fixed and --not-fixed, and a --note. Run it again for the
|
|
|
4699
4699
|
problem to replace the earlier result. A problem the item does not cover is refused.
|
|
4700
4700
|
`
|
|
4701
4701
|
).action(async (problem, opts) => {
|
|
4702
|
-
const { runFindingsResult, FindingsCommandError } = await import('./findings-cmd-
|
|
4702
|
+
const { runFindingsResult, FindingsCommandError } = await import('./findings-cmd-O5HUK26I.js');
|
|
4703
4703
|
try {
|
|
4704
4704
|
const result = await runFindingsResult({
|
|
4705
4705
|
problem,
|
|
@@ -4740,7 +4740,7 @@ takes it, and prints the line that starts your session on it. That
|
|
|
4740
4740
|
session links itself and holds the item's lease while it works.
|
|
4741
4741
|
`
|
|
4742
4742
|
).action(async (opts) => {
|
|
4743
|
-
const { runWorkBuild, WorkCommandError } = await import('./work-cmd-
|
|
4743
|
+
const { runWorkBuild, WorkCommandError } = await import('./work-cmd-NR53YCXJ.js');
|
|
4744
4744
|
try {
|
|
4745
4745
|
await runWorkBuild(opts);
|
|
4746
4746
|
} catch (err) {
|
|
@@ -4763,7 +4763,7 @@ renews that session's own 20-minute lease, unless --no-lease or
|
|
|
4763
4763
|
--ended is given, or another worker already holds a live one.
|
|
4764
4764
|
`
|
|
4765
4765
|
).action(async (number, opts) => {
|
|
4766
|
-
const { runWorkLinkSession, WorkCommandError } = await import('./work-cmd-
|
|
4766
|
+
const { runWorkLinkSession, WorkCommandError } = await import('./work-cmd-NR53YCXJ.js');
|
|
4767
4767
|
try {
|
|
4768
4768
|
await runWorkLinkSession({ ...opts, number, noLease: opts.lease === false, logFailures: opts.logFailures === true });
|
|
4769
4769
|
} catch (err) {
|
|
@@ -4787,8 +4787,8 @@ criterion's new proof; --ready hands the thread back to a person. At
|
|
|
4787
4787
|
most one action flag may be given.
|
|
4788
4788
|
`
|
|
4789
4789
|
).action(async (opts) => {
|
|
4790
|
-
const { runWorkComment, WorkCommentCommandError } = await import('./work-comment-cmd-
|
|
4791
|
-
const { WorkCommandError } = await import('./work-cmd-
|
|
4790
|
+
const { runWorkComment, WorkCommentCommandError } = await import('./work-comment-cmd-PC4HNM45.js');
|
|
4791
|
+
const { WorkCommandError } = await import('./work-cmd-NR53YCXJ.js');
|
|
4792
4792
|
try {
|
|
4793
4793
|
await runWorkComment(opts);
|
|
4794
4794
|
} catch (err) {
|
|
@@ -4809,8 +4809,8 @@ criterion that carries proof or a comment, each with who is waiting
|
|
|
4809
4809
|
on whom next.
|
|
4810
4810
|
`
|
|
4811
4811
|
).action(async (opts) => {
|
|
4812
|
-
const { runWorkThreads, WorkCommentCommandError } = await import('./work-comment-cmd-
|
|
4813
|
-
const { WorkCommandError } = await import('./work-cmd-
|
|
4812
|
+
const { runWorkThreads, WorkCommentCommandError } = await import('./work-comment-cmd-PC4HNM45.js');
|
|
4813
|
+
const { WorkCommandError } = await import('./work-cmd-NR53YCXJ.js');
|
|
4814
4814
|
try {
|
|
4815
4815
|
await runWorkThreads(opts);
|
|
4816
4816
|
} catch (err) {
|
|
@@ -4834,8 +4834,8 @@ still running, or that an older runner released, has no log and the
|
|
|
4834
4834
|
command exits 1.
|
|
4835
4835
|
`
|
|
4836
4836
|
).action(async (opts) => {
|
|
4837
|
-
const { runWorkLogs, WorkLogsCommandError } = await import('./work-logs-cmd-
|
|
4838
|
-
const { WorkCommandError } = await import('./work-cmd-
|
|
4837
|
+
const { runWorkLogs, WorkLogsCommandError } = await import('./work-logs-cmd-5F6MDBLQ.js');
|
|
4838
|
+
const { WorkCommandError } = await import('./work-cmd-NR53YCXJ.js');
|
|
4839
4839
|
try {
|
|
4840
4840
|
await runWorkLogs(opts);
|
|
4841
4841
|
} catch (err) {
|
|
@@ -4858,8 +4858,8 @@ item is not built again until a new build request. Exits 1 when no host
|
|
|
4858
4858
|
build is running for the item.
|
|
4859
4859
|
`
|
|
4860
4860
|
).action(async (opts) => {
|
|
4861
|
-
const { runWorkStop, WorkStopCommandError } = await import('./work-stop-cmd-
|
|
4862
|
-
const { WorkCommandError } = await import('./work-cmd-
|
|
4861
|
+
const { runWorkStop, WorkStopCommandError } = await import('./work-stop-cmd-HL6FZL5X.js');
|
|
4862
|
+
const { WorkCommandError } = await import('./work-cmd-NR53YCXJ.js');
|
|
4863
4863
|
try {
|
|
4864
4864
|
await runWorkStop(opts);
|
|
4865
4865
|
} catch (err) {
|
|
@@ -4880,8 +4880,8 @@ Prints the item's newest live demo record: its artifact id, the commit it was re
|
|
|
4880
4880
|
test file that recorded it. With --json, prints { "demo": null } for an item with no demo.
|
|
4881
4881
|
`
|
|
4882
4882
|
).action(async (opts) => {
|
|
4883
|
-
const { runWorkDemo, WorkDemoCommandError } = await import('./work-demo-cmd-
|
|
4884
|
-
const { WorkCommandError } = await import('./work-cmd-
|
|
4883
|
+
const { runWorkDemo, WorkDemoCommandError } = await import('./work-demo-cmd-S5EJXBVH.js');
|
|
4884
|
+
const { WorkCommandError } = await import('./work-cmd-NR53YCXJ.js');
|
|
4885
4885
|
try {
|
|
4886
4886
|
await runWorkDemo(opts);
|
|
4887
4887
|
} catch (err) {
|
|
@@ -4902,7 +4902,7 @@ deletes anything \u2014 the item is removed from Work only once no
|
|
|
4902
4902
|
live addition remains on it.
|
|
4903
4903
|
`
|
|
4904
4904
|
).action(async (opts) => {
|
|
4905
|
-
const { runWorkRemove, WorkCommandError } = await import('./work-cmd-
|
|
4905
|
+
const { runWorkRemove, WorkCommandError } = await import('./work-cmd-NR53YCXJ.js');
|
|
4906
4906
|
try {
|
|
4907
4907
|
await runWorkRemove(opts);
|
|
4908
4908
|
} catch (err) {
|
|
@@ -4914,7 +4914,7 @@ live addition remains on it.
|
|
|
4914
4914
|
}
|
|
4915
4915
|
});
|
|
4916
4916
|
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) => {
|
|
4917
|
-
const { runWorkStatus, WorkCommandError } = await import('./work-cmd-
|
|
4917
|
+
const { runWorkStatus, WorkCommandError } = await import('./work-cmd-NR53YCXJ.js');
|
|
4918
4918
|
try {
|
|
4919
4919
|
await runWorkStatus(opts);
|
|
4920
4920
|
} catch (err) {
|
|
@@ -4962,11 +4962,11 @@ are not current, emits each proof at HEAD, runs teardown, then lists the proofs.
|
|
|
4962
4962
|
fail(trackerNumberError("--pr", opts.pr));
|
|
4963
4963
|
return;
|
|
4964
4964
|
}
|
|
4965
|
-
const { runWorkProofsCommand } = await import('./work-proofs-cmd-
|
|
4965
|
+
const { runWorkProofsCommand } = await import('./work-proofs-cmd-UVTSPFLL.js');
|
|
4966
4966
|
await runWorkProofsCommand({ ...opts, ...pr === void 0 ? {} : { pr } });
|
|
4967
4967
|
});
|
|
4968
4968
|
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) => {
|
|
4969
|
-
const { runWorkList, WorkCommandError } = await import('./work-cmd-
|
|
4969
|
+
const { runWorkList, WorkCommandError } = await import('./work-cmd-NR53YCXJ.js');
|
|
4970
4970
|
try {
|
|
4971
4971
|
await runWorkList(opts);
|
|
4972
4972
|
} catch (err) {
|
|
@@ -4987,7 +4987,7 @@ by a different key is refused; claiming again with the same key extends
|
|
|
4987
4987
|
it. --host is a label only.
|
|
4988
4988
|
`
|
|
4989
4989
|
).action(async (opts) => {
|
|
4990
|
-
const { runWorkClaim, WorkCommandError } = await import('./work-claim-cmd-
|
|
4990
|
+
const { runWorkClaim, WorkCommandError } = await import('./work-claim-cmd-2LD2JQKI.js');
|
|
4991
4991
|
try {
|
|
4992
4992
|
await runWorkClaim(opts);
|
|
4993
4993
|
} catch (err) {
|
|
@@ -5007,7 +5007,7 @@ Extends the live lease this API key holds. Refused with a 410 if the
|
|
|
5007
5007
|
lease has expired, or a 403 if a different key holds it.
|
|
5008
5008
|
`
|
|
5009
5009
|
).action(async (opts) => {
|
|
5010
|
-
const { runWorkRenew, WorkCommandError } = await import('./work-claim-cmd-
|
|
5010
|
+
const { runWorkRenew, WorkCommandError } = await import('./work-claim-cmd-2LD2JQKI.js');
|
|
5011
5011
|
try {
|
|
5012
5012
|
await runWorkRenew(opts);
|
|
5013
5013
|
} catch (err) {
|
|
@@ -5039,7 +5039,7 @@ applies to a host's lease only. A later tool call in the session
|
|
|
5039
5039
|
takes the lease again.
|
|
5040
5040
|
`
|
|
5041
5041
|
).action(async (opts) => {
|
|
5042
|
-
const { runWorkRelease, WorkCommandError } = await import('./work-claim-cmd-
|
|
5042
|
+
const { runWorkRelease, WorkCommandError } = await import('./work-claim-cmd-2LD2JQKI.js');
|
|
5043
5043
|
try {
|
|
5044
5044
|
await runWorkRelease(opts);
|
|
5045
5045
|
} catch (err) {
|
|
@@ -5066,7 +5066,7 @@ Idempotent: declaring the same pull request twice is a no-op.
|
|
|
5066
5066
|
needs your own login; an agent session or a factory key is refused.
|
|
5067
5067
|
`
|
|
5068
5068
|
).action(async (number, opts) => {
|
|
5069
|
-
const { runWorkPr, WorkPrCommandError } = await import('./work-pr-cmd-
|
|
5069
|
+
const { runWorkPr, WorkPrCommandError } = await import('./work-pr-cmd-DXW4RXG4.js');
|
|
5070
5070
|
try {
|
|
5071
5071
|
await runWorkPr({ ...opts, number });
|
|
5072
5072
|
} catch (err) {
|
|
@@ -5091,8 +5091,8 @@ login, then declares the pull request on the item, as \`work pr\` does.
|
|
|
5091
5091
|
Run it again after a change to the title or description.
|
|
5092
5092
|
`
|
|
5093
5093
|
).action(async (opts) => {
|
|
5094
|
-
const { runWorkOpenPr, WorkOpenPrCommandError } = await import('./work-open-pr-cmd-
|
|
5095
|
-
const { WorkCommandError } = await import('./work-cmd-
|
|
5094
|
+
const { runWorkOpenPr, WorkOpenPrCommandError } = await import('./work-open-pr-cmd-SWVFDSMY.js');
|
|
5095
|
+
const { WorkCommandError } = await import('./work-cmd-NR53YCXJ.js');
|
|
5096
5096
|
try {
|
|
5097
5097
|
await runWorkOpenPr(opts);
|
|
5098
5098
|
} catch (err) {
|
|
@@ -5108,8 +5108,8 @@ function registerRunnerCommands(program2) {
|
|
|
5108
5108
|
const runnerCmd = program2.command("runner").description("Take work from the implement and amend queues on this machine");
|
|
5109
5109
|
const configOption = "the cloud config file to run against (default: ~/.outerlayer/config.json)";
|
|
5110
5110
|
runnerCmd.command("start").description("Run the loop: claim work, run it, report, clean up, repeat").option("--config <path>", configOption).action(async (opts) => {
|
|
5111
|
-
const { defaultRunnerConfigPath, RunnerConfigError } = await import('./config-
|
|
5112
|
-
const { start, RunnerStartError } = await import('./loop-
|
|
5111
|
+
const { defaultRunnerConfigPath, RunnerConfigError } = await import('./config-WRHQDGVI.js');
|
|
5112
|
+
const { start, RunnerStartError } = await import('./loop-VC3EE3RK.js');
|
|
5113
5113
|
const { RunnerAlreadyRunningError } = await import('./pidfile-5UDLYPMC.js');
|
|
5114
5114
|
const configPath = opts.config ?? defaultRunnerConfigPath();
|
|
5115
5115
|
try {
|
|
@@ -5127,9 +5127,9 @@ function registerRunnerCommands(program2) {
|
|
|
5127
5127
|
"after",
|
|
5128
5128
|
"\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"
|
|
5129
5129
|
).action(async () => {
|
|
5130
|
-
const { defaultRunnerConfigPath, RunnerConfigError } = await import('./config-
|
|
5131
|
-
const { containerStart } = await import('./container-start-
|
|
5132
|
-
const { start, RunnerStartError } = await import('./loop-
|
|
5130
|
+
const { defaultRunnerConfigPath, RunnerConfigError } = await import('./config-WRHQDGVI.js');
|
|
5131
|
+
const { containerStart } = await import('./container-start-7QFR3JWO.js');
|
|
5132
|
+
const { start, RunnerStartError } = await import('./loop-VC3EE3RK.js');
|
|
5133
5133
|
const { RunnerAlreadyRunningError } = await import('./pidfile-5UDLYPMC.js');
|
|
5134
5134
|
try {
|
|
5135
5135
|
const result = await containerStart({
|
|
@@ -5148,8 +5148,8 @@ function registerRunnerCommands(program2) {
|
|
|
5148
5148
|
}
|
|
5149
5149
|
});
|
|
5150
5150
|
runnerCmd.command("check").description("Validate the config, the hooks and the key, and print the effective settings").option("--config <path>", configOption).action(async (opts) => {
|
|
5151
|
-
const { defaultRunnerConfigPath } = await import('./config-
|
|
5152
|
-
const { runRunnerCheck } = await import('./check-
|
|
5151
|
+
const { defaultRunnerConfigPath } = await import('./config-WRHQDGVI.js');
|
|
5152
|
+
const { runRunnerCheck } = await import('./check-S6S7XIUP.js');
|
|
5153
5153
|
const configPath = opts.config ?? defaultRunnerConfigPath();
|
|
5154
5154
|
const result = await runRunnerCheck(configPath);
|
|
5155
5155
|
if (!result.ok) {
|
|
@@ -5170,7 +5170,7 @@ function registerRunnerCommands(program2) {
|
|
|
5170
5170
|
`);
|
|
5171
5171
|
});
|
|
5172
5172
|
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) => {
|
|
5173
|
-
const { defaultRunnerConfigPath, RunnerConfigError } = await import('./config-
|
|
5173
|
+
const { defaultRunnerConfigPath, RunnerConfigError } = await import('./config-WRHQDGVI.js');
|
|
5174
5174
|
const { runRunnerInstall, RunnerInstallError, launcherSummary, restartNote } = await import('./install-cmd-FV7IZ7XF.js');
|
|
5175
5175
|
const configPath = opts.config ?? defaultRunnerConfigPath();
|
|
5176
5176
|
if (opts.service !== true) {
|
|
@@ -5183,7 +5183,7 @@ function registerRunnerCommands(program2) {
|
|
|
5183
5183
|
}
|
|
5184
5184
|
try {
|
|
5185
5185
|
if (opts.service === true) {
|
|
5186
|
-
const { installServiceCommand } = await import('./command-
|
|
5186
|
+
const { installServiceCommand } = await import('./command-YQBQDIAM.js');
|
|
5187
5187
|
const result2 = await installServiceCommand({
|
|
5188
5188
|
configPath,
|
|
5189
5189
|
print: opts.print,
|
|
@@ -5238,8 +5238,8 @@ To keep it running, run ${C.yellow}${cliInvocation()} runner install --service${
|
|
|
5238
5238
|
fail(`pass --service: \`${cliInvocation()} runner uninstall --service\` removes the runner's service.`);
|
|
5239
5239
|
return;
|
|
5240
5240
|
}
|
|
5241
|
-
const { defaultRunnerConfigPath } = await import('./config-
|
|
5242
|
-
const { uninstallServiceCommand } = await import('./command-
|
|
5241
|
+
const { defaultRunnerConfigPath } = await import('./config-WRHQDGVI.js');
|
|
5242
|
+
const { uninstallServiceCommand } = await import('./command-YQBQDIAM.js');
|
|
5243
5243
|
const result = await uninstallServiceCommand({ configPath: opts.config ?? defaultRunnerConfigPath(), unitName: opts.unitName, home: homeFromEnv() });
|
|
5244
5244
|
if (result.ok) for (const line of result.lines) process.stdout.write(`${C.green}\u2713${C.reset} ${line}
|
|
5245
5245
|
`);
|
|
@@ -5266,12 +5266,12 @@ already in claude.env is used.
|
|
|
5266
5266
|
printf '%s' "$CLAUDE_CODE_OAUTH_TOKEN" | ${cliInvocation()} runner init --agent claude --factory <org>/<factory>
|
|
5267
5267
|
`
|
|
5268
5268
|
).action(async (opts) => {
|
|
5269
|
-
const { defaultRunnerConfigPath, RunnerConfigError } = await import('./config-
|
|
5270
|
-
const { prepareRunnerInit, runRunnerInit, RunnerInitError, writeRunnerInit } = await import('./init-
|
|
5271
|
-
const { obtainRunnerKey, runnerKeyLogin } = await import('./runner-key-
|
|
5272
|
-
const { detectMachine } = await import('./machine-
|
|
5273
|
-
const { chooseVm, runVmInit, VmInitError } = await import('./init-
|
|
5274
|
-
const { AGENT_COMMANDS, credentialFromStdin, isAgentName, restartForCredential, RunnerEnvError } = await import('./runner-env-
|
|
5269
|
+
const { defaultRunnerConfigPath, RunnerConfigError } = await import('./config-WRHQDGVI.js');
|
|
5270
|
+
const { prepareRunnerInit, runRunnerInit, RunnerInitError, writeRunnerInit } = await import('./init-RUIWHKLE.js');
|
|
5271
|
+
const { obtainRunnerKey, runnerKeyLogin } = await import('./runner-key-QKZZTKLY.js');
|
|
5272
|
+
const { detectMachine } = await import('./machine-IEYKRHRK.js');
|
|
5273
|
+
const { chooseVm, runVmInit, VmInitError } = await import('./init-LQDKX2XL.js');
|
|
5274
|
+
const { AGENT_COMMANDS, credentialFromStdin, isAgentName, restartForCredential, RunnerEnvError } = await import('./runner-env-L7OPH3O3.js');
|
|
5275
5275
|
const configPath = opts.config ?? defaultRunnerConfigPath();
|
|
5276
5276
|
if (opts.agent !== void 0 && !isAgentName(opts.agent)) {
|
|
5277
5277
|
fail(`--agent ${opts.agent}: runner init writes commands for ${Object.keys(AGENT_COMMANDS).join(", ")}. For another agent, leave --agent out and edit runner.commands.`);
|
|
@@ -5421,7 +5421,7 @@ ${C.yellow}The runner will not update itself: ${installErr.message}${C.reset}
|
|
|
5421
5421
|
let serviceUp = false;
|
|
5422
5422
|
let restart;
|
|
5423
5423
|
if (installedLayout) {
|
|
5424
|
-
const { installServiceCommand } = await import('./command-
|
|
5424
|
+
const { installServiceCommand } = await import('./command-YQBQDIAM.js');
|
|
5425
5425
|
const service = await installServiceCommand({
|
|
5426
5426
|
configPath,
|
|
5427
5427
|
entryPath: process.argv[1] ?? "",
|
|
@@ -5465,12 +5465,12 @@ Next:
|
|
|
5465
5465
|
"after",
|
|
5466
5466
|
"\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"
|
|
5467
5467
|
).action(async (opts) => {
|
|
5468
|
-
const { defaultRunnerConfigPath } = await import('./config-
|
|
5468
|
+
const { defaultRunnerConfigPath } = await import('./config-WRHQDGVI.js');
|
|
5469
5469
|
const { buildRepositoryImage, RecipeError } = await import('./build-LSU25G3M.js');
|
|
5470
5470
|
const { currentCliBuild } = await import('./cli-build-K56DK4DS.js');
|
|
5471
|
-
const { createDockerHost } = await import('./docker-
|
|
5472
|
-
const { builderSpec } = await import('./builder-
|
|
5473
|
-
const { loadRunnerConfig } = await import('./config-
|
|
5471
|
+
const { createDockerHost } = await import('./docker-DJ73SZRC.js');
|
|
5472
|
+
const { builderSpec } = await import('./builder-I32JOQII.js');
|
|
5473
|
+
const { loadRunnerConfig } = await import('./config-WRHQDGVI.js');
|
|
5474
5474
|
const configPath = opts.config ?? defaultRunnerConfigPath();
|
|
5475
5475
|
const loaded = (() => {
|
|
5476
5476
|
try {
|
|
@@ -5481,11 +5481,11 @@ Next:
|
|
|
5481
5481
|
})();
|
|
5482
5482
|
const memory = loaded?.build?.memory ?? "8g";
|
|
5483
5483
|
try {
|
|
5484
|
-
const { ensureRunnerIdentity } = await import('./runner-identity-
|
|
5484
|
+
const { ensureRunnerIdentity } = await import('./runner-identity-VASV2AEQ.js');
|
|
5485
5485
|
await ensureRunnerIdentity(configPath, { log: (line) => console.error(line) }).catch((err) => {
|
|
5486
5486
|
console.error(`the runner's Docker identity could not be stored: ${err instanceof Error ? err.message : String(err)}`);
|
|
5487
5487
|
});
|
|
5488
|
-
const { imageTargetFor } = await import('./governing-source-
|
|
5488
|
+
const { imageTargetFor } = await import('./governing-source-FNSH4V4A.js');
|
|
5489
5489
|
const target = await imageTargetFor({ config: loaded, repository: opts.repository, fetchImpl: fetch });
|
|
5490
5490
|
if (!target.ok) {
|
|
5491
5491
|
if (opts.json) {
|
|
@@ -5548,17 +5548,17 @@ Next:
|
|
|
5548
5548
|
}
|
|
5549
5549
|
});
|
|
5550
5550
|
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) => {
|
|
5551
|
-
const { defaultRunnerConfigPath } = await import('./config-
|
|
5552
|
-
const { requestStop } = await import('./loop-
|
|
5551
|
+
const { defaultRunnerConfigPath } = await import('./config-WRHQDGVI.js');
|
|
5552
|
+
const { requestStop } = await import('./loop-VC3EE3RK.js');
|
|
5553
5553
|
const configPath = opts.config ?? defaultRunnerConfigPath();
|
|
5554
5554
|
const { runnerImageVersion } = await import('./image-tag-ADSLWXBA.js');
|
|
5555
5555
|
await requestStop(configPath, Boolean(opts.now), void 0, { image: runnerImageVersion() !== void 0 });
|
|
5556
5556
|
});
|
|
5557
5557
|
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) => {
|
|
5558
|
-
const { defaultRunnerConfigPath, loadRunnerConfig } = await import('./config-
|
|
5558
|
+
const { defaultRunnerConfigPath, loadRunnerConfig } = await import('./config-WRHQDGVI.js');
|
|
5559
5559
|
const { jobsDir, runnerDir } = await import('./paths-7HVTDE6J.js');
|
|
5560
|
-
const { listJobFiles, runnerProcessState } = await import('./loop-
|
|
5561
|
-
const { renderStatus } = await import('./status-
|
|
5560
|
+
const { listJobFiles, runnerProcessState } = await import('./loop-VC3EE3RK.js');
|
|
5561
|
+
const { renderStatus } = await import('./status-6ISCZDBX.js');
|
|
5562
5562
|
const { readHousekeepingRecord } = await import('./record-PPZEXAVA.js');
|
|
5563
5563
|
const path2 = await import('path');
|
|
5564
5564
|
const configPath = opts.config ?? defaultRunnerConfigPath();
|
|
@@ -5580,7 +5580,7 @@ Next:
|
|
|
5580
5580
|
const service = await (async () => {
|
|
5581
5581
|
if (process.platform !== "linux" || !existsSync("/run/systemd/system")) return void 0;
|
|
5582
5582
|
const { inspectService, realInspectProbes } = await import('./inspect-DNLXTXLA.js');
|
|
5583
|
-
const { DEFAULT_UNIT_NAME } = await import('./install-
|
|
5583
|
+
const { DEFAULT_UNIT_NAME } = await import('./install-OCBERTPQ.js');
|
|
5584
5584
|
const facts = inspectService(DEFAULT_UNIT_NAME, path2.dirname(configPath), realInspectProbes());
|
|
5585
5585
|
return facts === void 0 ? void 0 : { unit: facts.unit, running: facts.mainPid !== void 0, delegated: facts.delegate };
|
|
5586
5586
|
})();
|
|
@@ -5617,8 +5617,8 @@ Next:
|
|
|
5617
5617
|
);
|
|
5618
5618
|
});
|
|
5619
5619
|
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) => {
|
|
5620
|
-
const { defaultRunnerConfigPath } = await import('./config-
|
|
5621
|
-
const { listJobFiles } = await import('./loop-
|
|
5620
|
+
const { defaultRunnerConfigPath } = await import('./config-WRHQDGVI.js');
|
|
5621
|
+
const { listJobFiles } = await import('./loop-VC3EE3RK.js');
|
|
5622
5622
|
const { newestAttempt, logPathFor, tail, RunnerLogsError } = await import('./logs-HI46FO6Z.js');
|
|
5623
5623
|
const configPath = opts.config ?? defaultRunnerConfigPath();
|
|
5624
5624
|
const item = parseTrackerNumber(itemArg);
|
|
@@ -5871,7 +5871,7 @@ would get, the instruction files and the names of the skills. It warns when the
|
|
|
5871
5871
|
no \`build\`. It needs the context-read permission: a login or a factory key with it is enough.
|
|
5872
5872
|
`
|
|
5873
5873
|
).action(async (opts) => {
|
|
5874
|
-
const { runContextShow, ContextShowError } = await import('./context-show-cmd-
|
|
5874
|
+
const { runContextShow, ContextShowError } = await import('./context-show-cmd-LIWHRWVT.js');
|
|
5875
5875
|
try {
|
|
5876
5876
|
const result = await runContextShow({ repo: opts.repo, json: opts.json, url: opts.url, apiKey: opts.apiKey, appId: opts.appId });
|
|
5877
5877
|
process.stdout.write(result.output);
|
|
@@ -3,32 +3,32 @@ import { createRequire } from 'node:module';
|
|
|
3
3
|
import { runRunnerInstall, launcherSummary, restartNote } from './chunk-DXJTBU7A.js';
|
|
4
4
|
import './chunk-Z5IW4DHH.js';
|
|
5
5
|
import { currentLink, execStartCommand } from './chunk-NBZ7XBT6.js';
|
|
6
|
-
import { detectMachine, helperSocketPath, ensureFirecrackerAndJailer } from './chunk-
|
|
6
|
+
import { detectMachine, helperSocketPath, ensureFirecrackerAndJailer } from './chunk-TFKROYY2.js';
|
|
7
7
|
import './chunk-2PGI6RDE.js';
|
|
8
|
-
import './chunk-
|
|
8
|
+
import './chunk-2JB4GD34.js';
|
|
9
9
|
import './chunk-ZVLSYWDF.js';
|
|
10
10
|
import './chunk-F5UL23I2.js';
|
|
11
11
|
import './chunk-JBJTC3UU.js';
|
|
12
12
|
import './chunk-OGFGZQA3.js';
|
|
13
13
|
import './chunk-5THSC6BD.js';
|
|
14
14
|
import './chunk-L26V6ILJ.js';
|
|
15
|
-
import './chunk-
|
|
15
|
+
import './chunk-6AQLRSYU.js';
|
|
16
16
|
import './chunk-MZBQTVFG.js';
|
|
17
17
|
import './chunk-TQMI335S.js';
|
|
18
|
-
import { DEFAULT_UNIT_NAME, installService, uninstallService, realTaskScheduler, UNIT_MARKER } from './chunk-
|
|
19
|
-
import { runnerVmOf, loadRunnerConfig, builtinKind } from './chunk-
|
|
20
|
-
import './chunk-
|
|
21
|
-
import { readJobFile } from './chunk-
|
|
18
|
+
import { DEFAULT_UNIT_NAME, installService, uninstallService, realTaskScheduler, UNIT_MARKER } from './chunk-AMEM2ZLL.js';
|
|
19
|
+
import { runnerVmOf, loadRunnerConfig, builtinKind } from './chunk-3CKMB2UK.js';
|
|
20
|
+
import './chunk-ZYKFYNES.js';
|
|
21
|
+
import { readJobFile } from './chunk-43I7PXDP.js';
|
|
22
22
|
import './chunk-3Z3MPR55.js';
|
|
23
23
|
import { firecrackerArch, MICROVM_ARCHES, FIRECRACKER_VERSION, FIRECRACKER_BINARY_SHA256, JAILER_BINARY_SHA256, HOST_HELPER_SHA256, HOST_HELPER_BASE_URL, HOST_HELPER_ASSETS_VERSION, hostHelperPinned } from './chunk-ES4ULBAL.js';
|
|
24
24
|
import { realLima } from './chunk-77MM5RYD.js';
|
|
25
25
|
import { writeLaunchAgent, launchAgentPath } from './chunk-LF6MLJCY.js';
|
|
26
|
-
import './chunk-
|
|
26
|
+
import './chunk-HIGP4WOC.js';
|
|
27
27
|
import './chunk-IP7BIBXJ.js';
|
|
28
|
-
import './chunk-
|
|
29
|
-
import './chunk-
|
|
28
|
+
import './chunk-OHJDH5GV.js';
|
|
29
|
+
import './chunk-NVDPSH72.js';
|
|
30
30
|
import './chunk-MECW77XP.js';
|
|
31
|
-
import './chunk-
|
|
31
|
+
import './chunk-6ZFY2L2T.js';
|
|
32
32
|
import './chunk-TIRHZC2M.js';
|
|
33
33
|
import './chunk-Y5YCX6AL.js';
|
|
34
34
|
import './chunk-G2JWZDFA.js';
|
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
2
|
import { createRequire } from 'node:module';
|
|
3
|
-
export { DEFAULT_CHECK_TIME_LIMIT_MINUTES, DEFAULT_UPDATE_MAX_WAIT_HOURS, RunnerConfigError, builtinKind, checkHooks, defaultRunnerConfigPath, hasRunnerBlock, imageBuildOf, isBuiltinContainer, isBuiltinProcess, isBuiltinVm, loadRunnerConfig, resolveBuild, resolveHousekeeping, runnerCredentialProblem, runnerVmOf } from './chunk-
|
|
4
|
-
import './chunk-
|
|
5
|
-
import './chunk-
|
|
3
|
+
export { DEFAULT_CHECK_TIME_LIMIT_MINUTES, DEFAULT_UPDATE_MAX_WAIT_HOURS, RunnerConfigError, builtinKind, checkHooks, defaultRunnerConfigPath, hasRunnerBlock, imageBuildOf, isBuiltinContainer, isBuiltinProcess, isBuiltinVm, loadRunnerConfig, resolveBuild, resolveHousekeeping, runnerCredentialProblem, runnerVmOf } from './chunk-3CKMB2UK.js';
|
|
4
|
+
import './chunk-ZYKFYNES.js';
|
|
5
|
+
import './chunk-43I7PXDP.js';
|
|
6
6
|
import './chunk-3Z3MPR55.js';
|
|
7
7
|
import './chunk-ES4ULBAL.js';
|
|
8
|
-
import './chunk-
|
|
8
|
+
import './chunk-6ZFY2L2T.js';
|
|
9
9
|
import './chunk-SOI6K5DY.js';
|
|
10
10
|
import './chunk-PA6CK6WQ.js';
|
|
11
11
|
import './chunk-BALIE3BA.js';
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
2
|
import { createRequire } from 'node:module';
|
|
3
|
-
export { AGENTS_LAYOUT_COMMIT_LINE, COMMIT_LINE, autoConnectedLine, commitCommandsFor, commitLineFor, listText as factoryListText, slug as factorySlug, fetchFactories, hasUncommittedPolicy, promptOnTerminal, realConnectDeps, runConnect, runConnectCommand, saveFactoryConnection, selectFactory } from './chunk-
|
|
3
|
+
export { AGENTS_LAYOUT_COMMIT_LINE, COMMIT_LINE, autoConnectedLine, commitCommandsFor, commitLineFor, listText as factoryListText, slug as factorySlug, fetchFactories, hasUncommittedPolicy, promptOnTerminal, realConnectDeps, runConnect, runConnectCommand, saveFactoryConnection, selectFactory } from './chunk-NVDPSH72.js';
|
|
4
4
|
import './chunk-MECW77XP.js';
|
|
5
|
-
import './chunk-
|
|
5
|
+
import './chunk-6ZFY2L2T.js';
|
|
6
6
|
import './chunk-TIRHZC2M.js';
|
|
7
7
|
import './chunk-Y5YCX6AL.js';
|
|
8
8
|
import './chunk-G2JWZDFA.js';
|