@outerlayer/cli 0.34.0-next.20261027013606 → 0.34.0-next.20261027023105
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-YSOVDTAN.js → build-FS7TQEJ6.js} +2 -2
- package/dist/build-info.json +1 -1
- package/dist/{check-JD3GVQFP.js → check-YIUZ3UX3.js} +8 -8
- package/dist/{chunk-GK6OYFMU.js → chunk-36U7LY7C.js} +3 -3
- package/dist/{chunk-FQOUIYBL.js → chunk-DX4FF5P5.js} +2 -2
- package/dist/{chunk-7GY3DVIL.js → chunk-GTBY7BTI.js} +47 -1
- package/dist/{chunk-7X2G463B.js → chunk-IYQPUGST.js} +1 -1
- package/dist/{chunk-DM4EEV73.js → chunk-JL4GSPGD.js} +1 -1
- package/dist/{chunk-AHAYHJNN.js → chunk-LKTH7PUH.js} +2 -2
- package/dist/{chunk-MPNASRYB.js → chunk-SSRB5HEL.js} +1 -1
- package/dist/{chunk-EP3WBNMC.js → chunk-UWDFA6WW.js} +6 -6
- package/dist/{chunk-JM3YQ4LC.js → chunk-WPDL7MBC.js} +1 -1
- package/dist/{chunk-VUJURIPJ.js → chunk-ZK3A4W3I.js} +1 -1
- package/dist/{cli-3BAUWQCS.js → cli-MP5AUR36.js} +23 -23
- package/dist/{command-UVGNJILP.js → command-RGBJLW72.js} +3 -3
- package/dist/{container-start-YBENDAOQ.js → container-start-KT2KKAQX.js} +6 -6
- package/dist/{demo-record-cmd-C2C4P2EQ.js → demo-record-cmd-BUNOOCNM.js} +1 -1
- package/dist/{doctor-QENPDYBD.js → doctor-NEO7NXJJ.js} +4 -4
- package/dist/{host-checks-UNEQTQ6L.js → host-checks-JH2ILNZT.js} +4 -4
- package/dist/index.js +1 -1
- package/dist/{init-JR62PVKC.js → init-HGJQW2NL.js} +3 -3
- package/dist/{init-6UEOOD2J.js → init-WGVNY4NP.js} +3 -3
- package/dist/{init-cmd-34YWWGQZ.js → init-cmd-L2SG2WSN.js} +1 -1
- package/dist/{loop-WHK6EVUE.js → loop-F6E6PGWG.js} +8 -8
- package/dist/{machine-ZZOQ7LLV.js → machine-GYTMJSIY.js} +3 -3
- package/dist/{runner-key-4ASVLQGM.js → runner-key-HMXSBRBE.js} +3 -3
- package/dist/{status-7YP2C2QK.js → status-QNKTP6OU.js} +4 -4
- package/dist/{update-steps-J54P3SBL.js → update-steps-M2UKG4QZ.js} +5 -5
- package/dist/{work-proofs-cmd-DTFQ3FSB.js → work-proofs-cmd-A7SZSM2A.js} +1 -1
- package/dist/{work-proofs-record-XG544MGV.js → work-proofs-record-YG6HD6SJ.js} +1 -1
- package/package.json +1 -1
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
2
|
import { createRequire } from 'node:module';
|
|
3
|
-
export { KEY_PREFIX, TAG_HOST, buildRepositoryImage, metadataFromLabels, prepareImageBuild, writeRecord } from './chunk-
|
|
4
|
-
import './chunk-
|
|
3
|
+
export { KEY_PREFIX, TAG_HOST, buildRepositoryImage, metadataFromLabels, prepareImageBuild, writeRecord } from './chunk-IYQPUGST.js';
|
|
4
|
+
import './chunk-GTBY7BTI.js';
|
|
5
5
|
import './chunk-GR7ZVGNI.js';
|
|
6
6
|
export { RecipeError } from './chunk-HDLON3RJ.js';
|
|
7
7
|
import './chunk-QUOITPN7.js';
|
package/dist/build-info.json
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"id":"2026-10-
|
|
1
|
+
{"id":"2026-10-27T02:32:25.418Z+10e9a05","root":"/home/runner/_work/outerlayer/outerlayer","pkg":"outerlayer"}
|
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
2
|
import { createRequire } from 'node:module';
|
|
3
|
-
import { probeCredentials } from './chunk-
|
|
3
|
+
import { probeCredentials } from './chunk-UWDFA6WW.js';
|
|
4
4
|
import './chunk-3JVYMD4G.js';
|
|
5
|
-
import './chunk-
|
|
5
|
+
import './chunk-JL4GSPGD.js';
|
|
6
6
|
import './chunk-E7R2GIAW.js';
|
|
7
7
|
import './chunk-MH6QLXUO.js';
|
|
8
8
|
import './chunk-HOUFCUMH.js';
|
|
9
|
-
import './chunk-
|
|
9
|
+
import './chunk-WPDL7MBC.js';
|
|
10
10
|
import './chunk-TS3EFB7S.js';
|
|
11
|
-
import './chunk-
|
|
11
|
+
import './chunk-DX4FF5P5.js';
|
|
12
12
|
import './chunk-6CK2OC4Q.js';
|
|
13
13
|
import './chunk-ZVB57WI6.js';
|
|
14
14
|
import './chunk-P3NPTFLF.js';
|
|
@@ -18,15 +18,15 @@ import './chunk-QRJIBTNQ.js';
|
|
|
18
18
|
import './chunk-7DK2FOZ4.js';
|
|
19
19
|
import './chunk-ESVW4MJY.js';
|
|
20
20
|
import './chunk-CFFVCI2I.js';
|
|
21
|
-
import { managedProblems, managedFactsOf } from './chunk-
|
|
21
|
+
import { managedProblems, managedFactsOf } from './chunk-ZK3A4W3I.js';
|
|
22
22
|
import './chunk-YL3RWW7X.js';
|
|
23
23
|
import './chunk-TBT347UY.js';
|
|
24
24
|
import { findServiceUnit } from './chunk-FQGC22IP.js';
|
|
25
25
|
import './chunk-TZMDRHWB.js';
|
|
26
|
-
import { placeholderQueues, placeholderProblem, permissionModeProblems, permissionModeProblem, HELPER_ENV, helperSocketPath, probeHelper, needsClaudeCredential, claudeCredentialCheck, claimPermissionProblem, formerSkillQueues, formerSkillProblem } from './chunk-
|
|
26
|
+
import { placeholderQueues, placeholderProblem, permissionModeProblems, permissionModeProblem, HELPER_ENV, helperSocketPath, probeHelper, needsClaudeCredential, claudeCredentialCheck, claimPermissionProblem, formerSkillQueues, formerSkillProblem } from './chunk-LKTH7PUH.js';
|
|
27
27
|
import './chunk-2PGI6RDE.js';
|
|
28
|
-
import './chunk-
|
|
29
|
-
import './chunk-
|
|
28
|
+
import './chunk-IYQPUGST.js';
|
|
29
|
+
import './chunk-GTBY7BTI.js';
|
|
30
30
|
import './chunk-OGFGZQA3.js';
|
|
31
31
|
import './chunk-3VZTNXK5.js';
|
|
32
32
|
import './chunk-6KFJIU73.js';
|
|
@@ -167,14 +167,14 @@ function governingDir(cwd) {
|
|
|
167
167
|
async function testProofMode(cwd) {
|
|
168
168
|
const dir = governingDir(cwd);
|
|
169
169
|
if (dir === void 0) return "any";
|
|
170
|
-
const { testProofIn } = await import('./host-checks-
|
|
170
|
+
const { testProofIn } = await import('./host-checks-JH2ILNZT.js');
|
|
171
171
|
return testProofIn(dir);
|
|
172
172
|
}
|
|
173
173
|
async function judgeCheckName(cwd) {
|
|
174
174
|
const dir = governingDir(cwd);
|
|
175
175
|
if (dir === void 0) return {};
|
|
176
176
|
if (!existsSync(dir)) return { note: `the governed context at ${dir} is not readable` };
|
|
177
|
-
const { checksIn, isJudgeCheck } = await import('./host-checks-
|
|
177
|
+
const { checksIn, isJudgeCheck } = await import('./host-checks-JH2ILNZT.js');
|
|
178
178
|
const quiet = { line: () => void 0, error: () => void 0 };
|
|
179
179
|
const check = checksIn(dir, quiet, "").checks.find((c) => isJudgeCheck(c) && c.judge.subjects === "criteria");
|
|
180
180
|
return check === void 0 ? {} : { name: check.name };
|
|
@@ -314,7 +314,7 @@ async function runWorkProofs(opts) {
|
|
|
314
314
|
async function runWorkProofsCommand(opts) {
|
|
315
315
|
try {
|
|
316
316
|
if (opts.record) {
|
|
317
|
-
const { runWorkProofsRecord } = await import('./work-proofs-record-
|
|
317
|
+
const { runWorkProofsRecord } = await import('./work-proofs-record-YG6HD6SJ.js');
|
|
318
318
|
const result2 = await runWorkProofsRecord(opts);
|
|
319
319
|
process.exitCode = result2.exitCode;
|
|
320
320
|
return;
|
|
@@ -8,8 +8,8 @@ import { senderPidfile } from './chunk-WBTPI5MP.js';
|
|
|
8
8
|
import { installScrubContext } from './chunk-QRJIBTNQ.js';
|
|
9
9
|
import { writeDockerClientConfig } from './chunk-CFFVCI2I.js';
|
|
10
10
|
import { upgradedStarterText } from './chunk-TZMDRHWB.js';
|
|
11
|
-
import { ADDED_USER, shellQuote, GH_CONFIG_YML, ghHostsYml, hasClaudeCredential, AssetError, obtainImage, ensureRootfs, makeBuildsDirPrivate, gitRemoteFor, startServicesFor, createLeaseChannel, createBuildDisk, machineConfig, startJailedInto, resolveAgentUser, AgentUserError, runBuildSteps, createContainerRuntime, containerSenderCommand, hostCommandEnvironment, execArgv, signalInContainer, startHostServices, LEASE_SECONDS, managedBuildSettingsFor, stopContainer, cleanupContainer, outOfMemoryReason, closeHostBuild, dropManagedClaudeKey, dropManagedBuildSettings, startCheckContainer, lifecycleSteps, lifecycleFailureReason, writeEvalInput, DeliveryFailure, EVAL_INPUT_NAME, syncInContainer, copyTranscriptsFromContainer, MANAGED_UNJAILED_REASON, senderAliveScript, managedMachineLimits, withFactoryHosts, helperFirecrackerNote, managedClaudeKeyValues, managedBuildSettingValues, stopJailed, deleteBuildDisk, managedClaudeKeyFor, ROOT_DISK_ID_PREFIX, copyTranscripts, containerJudgeEnvironment, senderSignalScript, copyJudgeTree } from './chunk-
|
|
12
|
-
import { fetchCommit, readBranchHead, diffBetween } from './chunk-
|
|
11
|
+
import { ADDED_USER, shellQuote, GH_CONFIG_YML, ghHostsYml, hasClaudeCredential, AssetError, obtainImage, ensureRootfs, makeBuildsDirPrivate, gitRemoteFor, startServicesFor, createLeaseChannel, createBuildDisk, machineConfig, startJailedInto, resolveAgentUser, AgentUserError, runBuildSteps, createContainerRuntime, containerSenderCommand, hostCommandEnvironment, execArgv, signalInContainer, startHostServices, LEASE_SECONDS, managedBuildSettingsFor, stopContainer, cleanupContainer, outOfMemoryReason, closeHostBuild, dropManagedClaudeKey, dropManagedBuildSettings, startCheckContainer, lifecycleSteps, lifecycleFailureReason, writeEvalInput, DeliveryFailure, EVAL_INPUT_NAME, syncInContainer, copyTranscriptsFromContainer, MANAGED_UNJAILED_REASON, senderAliveScript, managedMachineLimits, withFactoryHosts, helperFirecrackerNote, managedClaudeKeyValues, managedBuildSettingValues, stopJailed, deleteBuildDisk, managedClaudeKeyFor, ROOT_DISK_ID_PREFIX, copyTranscripts, containerJudgeEnvironment, senderSignalScript, copyJudgeTree } from './chunk-LKTH7PUH.js';
|
|
12
|
+
import { fetchCommit, readBranchHead, diffBetween } from './chunk-IYQPUGST.js';
|
|
13
13
|
import { waitForAgent, vmExecArgs } from './chunk-3VZTNXK5.js';
|
|
14
14
|
import { socketPathProblem, vsockLinks, LEASE_LINK, linkVsockSockets } from './chunk-6KFJIU73.js';
|
|
15
15
|
import { describeCallFailure, resolveGoverningSource, prefetchGovernedContext, refusalCode, removeStagedContext, stageGovernedContext, pinnedSourceOf, commandWithShim, logStamp, createRunnerLog, removeKeptContext, formatDuration, retrySend, formatClock, keptContextTree, WORKFLOW_PERMISSION_REASON } from './chunk-77VBS2RT.js';
|
|
@@ -19,6 +19,13 @@ var IMAGE_BROWSER = {
|
|
|
19
19
|
playwright: "/opt/outerlayer/browser/playwright",
|
|
20
20
|
fontConfig: "/opt/outerlayer/browser/fonts.conf"
|
|
21
21
|
};
|
|
22
|
+
var FALLBACK_BIN = "/opt/outerlayer/fallback/bin";
|
|
23
|
+
var IMAGE_GIT = "/opt/outerlayer/git";
|
|
24
|
+
var CA_BUNDLE = "/opt/outerlayer/certs/ca-certificates.crt";
|
|
25
|
+
function findCaBundle() {
|
|
26
|
+
const bundles = ["/etc/ssl/certs/ca-certificates.crt", "/etc/pki/tls/certs/ca-bundle.crt", "/etc/ssl/ca-bundle.pem", "/etc/ssl/cert.pem", CA_BUNDLE];
|
|
27
|
+
return `for ca in ${bundles.join(" ")}; do [ -f "$ca" ] && break; done`;
|
|
28
|
+
}
|
|
22
29
|
function plain(name, value, allowed) {
|
|
23
30
|
if (!allowed.test(value)) throw new Error(`${name} holds a character a Dockerfile line cannot carry safely: ${JSON.stringify(value)}`);
|
|
24
31
|
return value;
|
|
@@ -106,6 +113,7 @@ function toolsDockerfile(parts) {
|
|
|
106
113
|
" && chmod 0755 /out/usr/local/bin/espeak-ng \\",
|
|
107
114
|
" && chmod -R a+rX /out",
|
|
108
115
|
...browserStage({ nodeImage, fetched, download, stream }),
|
|
116
|
+
...gitStage(nodeImage),
|
|
109
117
|
`FROM ${recipeImage} AS recipe`,
|
|
110
118
|
`FROM ${nodeImage} AS stage`,
|
|
111
119
|
"ARG TARGETARCH",
|
|
@@ -148,7 +156,10 @@ function toolsDockerfile(parts) {
|
|
|
148
156
|
...fetched ? [] : [` && ${download} https://github.com/cli/cli/releases/download/v${GH_VERSION}/gh_${GH_VERSION}_linux_$TARGETARCH.tar.gz /tmp/gh.tgz \\`],
|
|
149
157
|
' && echo "$gh_sha /tmp/gh.tgz" | sha256sum -c - \\',
|
|
150
158
|
" && tar -xzf /tmp/gh.tgz -C /tmp \\",
|
|
151
|
-
` && install -m 0755 /tmp/gh_${GH_VERSION}_linux_$TARGETARCH/bin/gh /out/
|
|
159
|
+
` && install -D -m 0755 /tmp/gh_${GH_VERSION}_linux_$TARGETARCH/bin/gh /out/opt/outerlayer/gh/gh \\`,
|
|
160
|
+
// gh checks GitHub's certificate against the system's CA certificates, which a slim recipe image does not have.
|
|
161
|
+
` && printf '%s\\n' '#!/bin/sh' '${findCaBundle()}' 'SSL_CERT_FILE="\${SSL_CERT_FILE:-$ca}"' 'export SSL_CERT_FILE' 'exec /opt/outerlayer/gh/gh "$@"' > /out/usr/local/bin/gh \\`,
|
|
162
|
+
" && chmod 0755 /out/usr/local/bin/gh",
|
|
152
163
|
"COPY --from=recipe /etc/passwd /tmp/recipe-passwd",
|
|
153
164
|
"COPY --from=recipe /etc/group /tmp/recipe-group",
|
|
154
165
|
`RUN uid=$(awk -F: 'BEGIN{m=1499} $3>=1500 && $3<60000 && $3>m{m=$3} END{print m+1}' /tmp/recipe-passwd) \\`,
|
|
@@ -169,17 +180,52 @@ function toolsDockerfile(parts) {
|
|
|
169
180
|
"COPY --from=voice /out/ /",
|
|
170
181
|
"COPY --from=media /out/ /",
|
|
171
182
|
"COPY --from=browser /out/ /",
|
|
183
|
+
"COPY --from=git /out/ /",
|
|
172
184
|
"ENV DISABLE_AUTOUPDATER=1",
|
|
185
|
+
// Last, so a recipe's own git comes first. A recipe image that sets no PATH gets the one Docker gives a container.
|
|
186
|
+
`ENV PATH=\${PATH:-/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin}:${FALLBACK_BIN}`,
|
|
173
187
|
// espeak-ng's audio library makes a private pulse-* folder for the user who runs it, in the temp folder unless XDG_RUNTIME_DIR names another.
|
|
174
188
|
// Made here, as root, it would ship in the image where the build user cannot read it, and the runner's disk check fails on it.
|
|
175
189
|
"RUN check=$(mktemp -d /tmp/ol-check.XXXXXX) \\",
|
|
176
190
|
" && outerlayer --version && claude --version && gh --version && ffmpeg -version && ffprobe -version \\",
|
|
177
191
|
' && XDG_RUNTIME_DIR="$check" espeak-ng --version \\',
|
|
192
|
+
` && git --version && ${FALLBACK_BIN}/git --version \\`,
|
|
178
193
|
` && ${IMAGE_BROWSER.playwright}/chromium_headless_shell-${HEADLESS_SHELL_REVISION}/chrome-headless-shell-linux*/chrome-headless-shell --version \\`,
|
|
179
194
|
' && rm -rf "$check"',
|
|
180
195
|
""
|
|
181
196
|
].join("\n");
|
|
182
197
|
}
|
|
198
|
+
function gitStage(nodeImage) {
|
|
199
|
+
const lib = `${IMAGE_GIT}/lib`;
|
|
200
|
+
const wrapper = [
|
|
201
|
+
"#!/bin/sh",
|
|
202
|
+
findCaBundle(),
|
|
203
|
+
'GIT_SSL_CAINFO="${GIT_SSL_CAINFO:-$ca}"',
|
|
204
|
+
`GIT_EXEC_PATH=${IMAGE_GIT}/git-core`,
|
|
205
|
+
`GIT_TEMPLATE_DIR="\${GIT_TEMPLATE_DIR:-${IMAGE_GIT}/templates}"`,
|
|
206
|
+
"export GIT_SSL_CAINFO GIT_EXEC_PATH GIT_TEMPLATE_DIR",
|
|
207
|
+
`exec ${IMAGE_GIT}/git-core/git "$@"`
|
|
208
|
+
];
|
|
209
|
+
return [
|
|
210
|
+
`FROM ${nodeImage} AS git`,
|
|
211
|
+
"RUN apt-get update \\",
|
|
212
|
+
" && apt-get install -y --no-install-recommends git ca-certificates patchelf \\",
|
|
213
|
+
" && rm -rf /var/lib/apt/lists/*",
|
|
214
|
+
"RUN set -eu \\",
|
|
215
|
+
` && mkdir -p /out${lib} /out/opt/outerlayer/certs /out${FALLBACK_BIN} \\`,
|
|
216
|
+
` && cp -a /usr/lib/git-core /out${IMAGE_GIT}/git-core \\`,
|
|
217
|
+
` && cp -a /usr/share/git-core/templates /out${IMAGE_GIT}/templates \\`,
|
|
218
|
+
` && programs=$(find /out${IMAGE_GIT}/git-core -type f -exec sh -c 'head -c 4 "$1" | grep -q ELF' _ {} \\; -print) \\`,
|
|
219
|
+
` && if ldd $programs | grep 'not found'; then echo "git needs a library this stage does not install" >&2; exit 1; fi \\`,
|
|
220
|
+
` && cp -L $(for file in $programs; do ldd "$file" | awk '$3 ~ /^\\// {print $3}'; done | sort -u) /out${lib}/ \\`,
|
|
221
|
+
` && cp -L $(ldd /usr/lib/git-core/git | awk '$1 ~ /ld-linux/ {print $1}') /out${lib}/ld.so \\`,
|
|
222
|
+
` && for file in $programs; do patchelf --set-interpreter ${lib}/ld.so --force-rpath --set-rpath ${lib} "$file"; done \\`,
|
|
223
|
+
` && cp -L /etc/ssl/certs/ca-certificates.crt /out${CA_BUNDLE} \\`,
|
|
224
|
+
` && printf '%s\\n' ${wrapper.map((line) => `'${line}'`).join(" ")} > /out${FALLBACK_BIN}/git \\`,
|
|
225
|
+
` && chmod 0755 /out${FALLBACK_BIN}/git \\`,
|
|
226
|
+
" && chmod -R a+rX /out"
|
|
227
|
+
];
|
|
228
|
+
}
|
|
183
229
|
function browserStage(parts) {
|
|
184
230
|
const { fetched } = parts;
|
|
185
231
|
const libraries = [
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
2
|
import { createRequire } from 'node:module';
|
|
3
|
-
import { defaultDockerfile, toolsDockerfile } from './chunk-
|
|
3
|
+
import { defaultDockerfile, toolsDockerfile } from './chunk-GTBY7BTI.js';
|
|
4
4
|
import { runnerLabelValue } from './chunk-GR7ZVGNI.js';
|
|
5
5
|
import { RecipeError, locateRecipe, readRecipe, assertBuildable, writeSanitizedRecipe, classifyProperties, SANITIZED_NAME } from './chunk-HDLON3RJ.js';
|
|
6
6
|
import { CLAUDE_CODE_VERSION, NODE_IMAGE, DEFAULT_BASE_IMAGE, MEDIA_PINS, TINI_VERSION, GH_VERSION } from './chunk-QUOITPN7.js';
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
2
|
import { createRequire } from 'node:module';
|
|
3
|
-
import { scrubReason, stripTerminalControls } from './chunk-
|
|
3
|
+
import { scrubReason, stripTerminalControls } from './chunk-DX4FF5P5.js';
|
|
4
4
|
import { checkFit, RUNNER_RESERVE_BYTES } from './chunk-7QF2EXAN.js';
|
|
5
5
|
import { RunnerAlreadyRunningError, readPidFile } from './chunk-LQHCNXPK.js';
|
|
6
6
|
import { isSameProcess } from './chunk-JBJTC3UU.js';
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
2
|
import { createRequire } from 'node:module';
|
|
3
3
|
import { sha256OfFile, downloadPinned, VoiceDownloadError } from './chunk-2PGI6RDE.js';
|
|
4
|
-
import { readDefaultBranchHead, cloneRepository, buildRepositoryImage, prepareImageBuild, KEY_PREFIX, TAG_HOST, metadataFromLabels, writeRecord } from './chunk-
|
|
5
|
-
import { FETCHED_DIR, toolsDockerfile, FETCHED_FFMPEG, FETCHED_GH, FETCHED_TINI, FETCHED_HEADLESS_SHELL, FETCHED_PLAYWRIGHT_FFMPEG, FETCHED_VOICE_DIR } from './chunk-
|
|
4
|
+
import { readDefaultBranchHead, cloneRepository, buildRepositoryImage, prepareImageBuild, KEY_PREFIX, TAG_HOST, metadataFromLabels, writeRecord } from './chunk-IYQPUGST.js';
|
|
5
|
+
import { FETCHED_DIR, toolsDockerfile, FETCHED_FFMPEG, FETCHED_GH, FETCHED_TINI, FETCHED_HEADLESS_SHELL, FETCHED_PLAYWRIGHT_FFMPEG, FETCHED_VOICE_DIR } from './chunk-GTBY7BTI.js';
|
|
6
6
|
import { currentCliBuild } from './chunk-OGFGZQA3.js';
|
|
7
7
|
import { runExec, execCapture, waitForAgent } from './chunk-3VZTNXK5.js';
|
|
8
8
|
import { GUEST_CID, linkVsockSockets } from './chunk-6KFJIU73.js';
|
|
@@ -1217,7 +1217,7 @@ async function gatherDoctorChecks() {
|
|
|
1217
1217
|
const { runnerVmCheck } = await import('./doctor-53F2PYY7.js');
|
|
1218
1218
|
checks.push(runnerVmCheck(configPath, { lima: realLima(), home: homeFromEnv(), instance: runnerVm.instance }));
|
|
1219
1219
|
} else if (hasRunnerBlock(configPath)) {
|
|
1220
|
-
const { runnerHostChecks } = await import('./doctor-
|
|
1220
|
+
const { runnerHostChecks } = await import('./doctor-NEO7NXJJ.js');
|
|
1221
1221
|
const gateway = (() => {
|
|
1222
1222
|
try {
|
|
1223
1223
|
const { url, apiKey, appId } = loadRunnerConfig(configPath);
|
|
@@ -1,18 +1,18 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
2
|
import { createRequire } from 'node:module';
|
|
3
3
|
import { decideInstalledSwitch } from './chunk-3JVYMD4G.js';
|
|
4
|
-
import { reportFailedStart, fitImageBuildMemory } from './chunk-
|
|
4
|
+
import { reportFailedStart, fitImageBuildMemory } from './chunk-JL4GSPGD.js';
|
|
5
5
|
import { fetchVersionMeta, npmVersion, npmSupportsProvenance, fetchTarballDigest, fetchProvenance, installVersion, auditSignatures } from './chunk-E7R2GIAW.js';
|
|
6
6
|
import { RUNNER_PROTOCOL } from './chunk-MH6QLXUO.js';
|
|
7
7
|
import { writePendingUpdate } from './chunk-HOUFCUMH.js';
|
|
8
|
-
import { renderUpdateSteps } from './chunk-
|
|
8
|
+
import { renderUpdateSteps } from './chunk-WPDL7MBC.js';
|
|
9
9
|
import { readHousekeepingRecord, writeHousekeepingRecord } from './chunk-TS3EFB7S.js';
|
|
10
|
-
import { releaseLease, isUnfinished, setStage, jobEnv, runHook, describeHookEnd, provisionMicroVm, deliverCommitHooks, provisionProcess, readProvisionOut, workdirProblem, MICROVM_COMMAND_DIR, commandLogOffset, startMicroVmCommand, microVmCommandLine, runCommand, startSender, finishJob, sampleGuest, foldSample, isContainerTracked, isMicroVmTracked, probeMicroVmCommand, probeCommand, appendCommandLog, judgeProbe, EXIT_CODE_FILE, isTracked, isGroupAlive, outcomeFromExitCode, isTimedOut, readCpuUsec, isIdle, stopOrphanedMicroVms, unfinishedJobs, listUnreadableJobs, listAdoptableJobs, retryFailedReleases, recoverLostJobs, GUEST_USAGE_INTERVAL_MS, hookLimitsFor, AttemptLogBook, microVmOomKills, needsRenew, renewLease, RENEW_INTERVAL_SECONDS, listTrackedJobs, restartSender, serveLease, vmAlive, writeGuestGhConfig, ALREADY_RELEASED, inTeardown } from './chunk-
|
|
10
|
+
import { releaseLease, isUnfinished, setStage, jobEnv, runHook, describeHookEnd, provisionMicroVm, deliverCommitHooks, provisionProcess, readProvisionOut, workdirProblem, MICROVM_COMMAND_DIR, commandLogOffset, startMicroVmCommand, microVmCommandLine, runCommand, startSender, finishJob, sampleGuest, foldSample, isContainerTracked, isMicroVmTracked, probeMicroVmCommand, probeCommand, appendCommandLog, judgeProbe, EXIT_CODE_FILE, isTracked, isGroupAlive, outcomeFromExitCode, isTimedOut, readCpuUsec, isIdle, stopOrphanedMicroVms, unfinishedJobs, listUnreadableJobs, listAdoptableJobs, retryFailedReleases, recoverLostJobs, GUEST_USAGE_INTERVAL_MS, hookLimitsFor, AttemptLogBook, microVmOomKills, needsRenew, renewLease, RENEW_INTERVAL_SECONDS, listTrackedJobs, restartSender, serveLease, vmAlive, writeGuestGhConfig, ALREADY_RELEASED, inTeardown } from './chunk-DX4FF5P5.js';
|
|
11
11
|
import { JOB_STATE_FORMAT, readsJobState, jobStateFormatOf } from './chunk-ZVB57WI6.js';
|
|
12
|
-
import { realBlockedProbes, checkBlockedWithSlots, largeBuildMemoryBytes, LARGE_BUILD_DISK_BYTES, checkManagedRoom, sliceMemoryOf } from './chunk-
|
|
12
|
+
import { realBlockedProbes, checkBlockedWithSlots, largeBuildMemoryBytes, LARGE_BUILD_DISK_BYTES, checkManagedRoom, sliceMemoryOf } from './chunk-ZK3A4W3I.js';
|
|
13
13
|
import { writeMarker, readMarker, currentVersion, removeMarker, isInLayout, startedThroughCurrent, entryIn, versionDir, switchCurrent, cleanVersions, stagingDir } from './chunk-YL3RWW7X.js';
|
|
14
14
|
import { RepoFilter } from './chunk-TBT347UY.js';
|
|
15
|
-
import { leaseTimeLeftMs, createContainerRuntime, withTunnelLog, LEASE_SECONDS, attemptNote, fetchManagedClaudeKey, holdManagedClaudeKey, fetchManagedBuildSettings, holdManagedBuildSettings, needsBuildSkill, provisionContainer, leaseExpiresAtMs, deliverContainerHooks, provisionEnvironment, resolveHostBuild, listenOnBroker, hostEnvironment, deliverExecMaven, runWithSpawn, hostCommandEnvironment, lifecycleSteps, execArgv, lifecycleFailureReason, decideHostBuildSkill, prepareBranch, currentSkillCommand, formerSkillProblem, containerCommandExec, execCommandLine, startHostServices, setUpRunnerCgroup, sweepImageBuilders, measureDisk, parseCpuList, ensureTunnel, keepGhConfigCurrent, filesAreCopied, managedBuildSettingsFor, ADOPTED_FETCH_RETRY_WINDOW_MS, gitRemoteFor, startServicesFor, createLeaseChannel } from './chunk-
|
|
15
|
+
import { leaseTimeLeftMs, createContainerRuntime, withTunnelLog, LEASE_SECONDS, attemptNote, fetchManagedClaudeKey, holdManagedClaudeKey, fetchManagedBuildSettings, holdManagedBuildSettings, needsBuildSkill, provisionContainer, leaseExpiresAtMs, deliverContainerHooks, provisionEnvironment, resolveHostBuild, listenOnBroker, hostEnvironment, deliverExecMaven, runWithSpawn, hostCommandEnvironment, lifecycleSteps, execArgv, lifecycleFailureReason, decideHostBuildSkill, prepareBranch, currentSkillCommand, formerSkillProblem, containerCommandExec, execCommandLine, startHostServices, setUpRunnerCgroup, sweepImageBuilders, measureDisk, parseCpuList, ensureTunnel, keepGhConfigCurrent, filesAreCopied, managedBuildSettingsFor, ADOPTED_FETCH_RETRY_WINDOW_MS, gitRemoteFor, startServicesFor, createLeaseChannel } from './chunk-LKTH7PUH.js';
|
|
16
16
|
import { describeCallFailure, retrySend, shortClaim, relativeToRunner, formatDuration, resolveGoverningSource, BuildTokens, classifyRefusal, refusalCode, createRunnerLog, formatClock } from './chunk-77VBS2RT.js';
|
|
17
17
|
import { imageTag, writeUpdateStatus, pullInstruction, tagToPull } from './chunk-SDELQEG4.js';
|
|
18
18
|
import { isVersion, compareVersions, satisfiesRange } from './chunk-TQMI335S.js';
|
|
@@ -3279,7 +3279,7 @@ async function startRunner(configPath, deps, startup) {
|
|
|
3279
3279
|
check: update.check ? () => update.check(configPath) : async () => {
|
|
3280
3280
|
const held = heldClaudeCredential();
|
|
3281
3281
|
const env = held === void 0 ? process.env : { ...process.env, [held.variable]: held.value };
|
|
3282
|
-
return (await import('./check-
|
|
3282
|
+
return (await import('./check-YIUZ3UX3.js')).runRunnerCheck(configPath, { fetchImpl: deps.fetchImpl, env });
|
|
3283
3283
|
},
|
|
3284
3284
|
now: () => (deps.now ?? (() => /* @__PURE__ */ new Date()))().getTime(),
|
|
3285
3285
|
log
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
2
|
import { createRequire } from 'node:module';
|
|
3
|
-
import { stripTerminalControls } from './chunk-
|
|
3
|
+
import { stripTerminalControls } from './chunk-DX4FF5P5.js';
|
|
4
4
|
import { tagToPull, imageTag, pullInstruction, readUpdateStatus, runnerImageVersion } from './chunk-SDELQEG4.js';
|
|
5
5
|
import { readFileSync } from 'fs';
|
|
6
6
|
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
2
|
import { createRequire } from 'node:module';
|
|
3
|
-
import { placeholderQueues, placeholderProblem } from './chunk-
|
|
3
|
+
import { placeholderQueues, placeholderProblem } from './chunk-LKTH7PUH.js';
|
|
4
4
|
import { checkFit, RUNNER_RESERVE_BYTES } from './chunk-7QF2EXAN.js';
|
|
5
5
|
import { builtinKind, imageBuildOf, keepsHostBuilder } from './chunk-DEJCZ43H.js';
|
|
6
6
|
import { realBuildDiskProbe, checkDiskFit, DEFAULT_CACHE_DISK, DEFAULT_BUILD_DISK } from './chunk-BLSEHKZ4.js';
|
|
@@ -1,6 +1,6 @@
|
|
|
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-SSRB5HEL.js';
|
|
4
4
|
import './chunk-TZMDRHWB.js';
|
|
5
5
|
import './chunk-KT4CN6OU.js';
|
|
6
6
|
import './chunk-J7EJMIDR.js';
|
|
@@ -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-L2SG2WSN.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-L2SG2WSN.js');
|
|
3936
3936
|
const code = await runInitCommand(
|
|
3937
3937
|
{ json: opts.json, factory: opts.factory, shellFunction: opts.shellFunction },
|
|
3938
3938
|
{
|
|
@@ -4455,7 +4455,7 @@ and the command prints the manifest's path for \`emit demo\`. Under \`work proof
|
|
|
4455
4455
|
to OUTERLAYER_PROOF_OUT instead. Exit 1 means the demo's test failed; its manifest is written all the same.
|
|
4456
4456
|
`
|
|
4457
4457
|
).action(async (file, opts) => {
|
|
4458
|
-
const { runDemoRecord, DemoRecordError } = await import('./demo-record-cmd-
|
|
4458
|
+
const { runDemoRecord, DemoRecordError } = await import('./demo-record-cmd-BUNOOCNM.js');
|
|
4459
4459
|
try {
|
|
4460
4460
|
const result = await runDemoRecord({
|
|
4461
4461
|
file,
|
|
@@ -4999,7 +4999,7 @@ differs from HEAD.
|
|
|
4999
4999
|
fail(trackerNumberError("--pr", opts.pr));
|
|
5000
5000
|
return;
|
|
5001
5001
|
}
|
|
5002
|
-
const { runWorkProofsCommand } = await import('./work-proofs-cmd-
|
|
5002
|
+
const { runWorkProofsCommand } = await import('./work-proofs-cmd-A7SZSM2A.js');
|
|
5003
5003
|
await runWorkProofsCommand({ ...opts, ...pr === void 0 ? {} : { pr } });
|
|
5004
5004
|
});
|
|
5005
5005
|
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) => {
|
|
@@ -5146,7 +5146,7 @@ function registerRunnerCommands(program2) {
|
|
|
5146
5146
|
const configOption = "the cloud config file to run against (default: ~/.outerlayer/config.json)";
|
|
5147
5147
|
runnerCmd.command("start").description("Run the loop: claim work, run it, report, clean up, repeat").option("--config <path>", configOption).action(async (opts) => {
|
|
5148
5148
|
const { defaultRunnerConfigPath, RunnerConfigError } = await import('./config-NGCQD6SN.js');
|
|
5149
|
-
const { start, RunnerStartError } = await import('./loop-
|
|
5149
|
+
const { start, RunnerStartError } = await import('./loop-F6E6PGWG.js');
|
|
5150
5150
|
const { RunnerAlreadyRunningError } = await import('./pidfile-PCG2H5T4.js');
|
|
5151
5151
|
const configPath = opts.config ?? defaultRunnerConfigPath();
|
|
5152
5152
|
try {
|
|
@@ -5165,8 +5165,8 @@ function registerRunnerCommands(program2) {
|
|
|
5165
5165
|
"\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"
|
|
5166
5166
|
).action(async () => {
|
|
5167
5167
|
const { defaultRunnerConfigPath, RunnerConfigError } = await import('./config-NGCQD6SN.js');
|
|
5168
|
-
const { containerStart } = await import('./container-start-
|
|
5169
|
-
const { start, RunnerStartError } = await import('./loop-
|
|
5168
|
+
const { containerStart } = await import('./container-start-KT2KKAQX.js');
|
|
5169
|
+
const { start, RunnerStartError } = await import('./loop-F6E6PGWG.js');
|
|
5170
5170
|
const { RunnerAlreadyRunningError } = await import('./pidfile-PCG2H5T4.js');
|
|
5171
5171
|
try {
|
|
5172
5172
|
const result = await containerStart({
|
|
@@ -5190,14 +5190,14 @@ function registerRunnerCommands(program2) {
|
|
|
5190
5190
|
).action(async (opts) => {
|
|
5191
5191
|
const { defaultRunnerConfigPath } = await import('./config-NGCQD6SN.js');
|
|
5192
5192
|
const { runnerDir } = await import('./paths-AQ47ZRHK.js');
|
|
5193
|
-
const { runUpdateSteps } = await import('./update-steps-
|
|
5193
|
+
const { runUpdateSteps } = await import('./update-steps-M2UKG4QZ.js');
|
|
5194
5194
|
const text = await runUpdateSteps({ runnerDirPath: runnerDir(opts.config ?? defaultRunnerConfigPath()) });
|
|
5195
5195
|
process.stdout.write(`${text}
|
|
5196
5196
|
`);
|
|
5197
5197
|
});
|
|
5198
5198
|
runnerCmd.command("check").description("Validate the config, the hooks and the key, and print the effective settings").option("--config <path>", configOption).action(async (opts) => {
|
|
5199
5199
|
const { defaultRunnerConfigPath } = await import('./config-NGCQD6SN.js');
|
|
5200
|
-
const { runRunnerCheck } = await import('./check-
|
|
5200
|
+
const { runRunnerCheck } = await import('./check-YIUZ3UX3.js');
|
|
5201
5201
|
const configPath = opts.config ?? defaultRunnerConfigPath();
|
|
5202
5202
|
const result = await runRunnerCheck(configPath);
|
|
5203
5203
|
if (!result.ok) {
|
|
@@ -5231,13 +5231,13 @@ function registerRunnerCommands(program2) {
|
|
|
5231
5231
|
}
|
|
5232
5232
|
}
|
|
5233
5233
|
const buildCpusMax = opts.buildCpusMax === void 0 ? void 0 : Number(opts.buildCpusMax);
|
|
5234
|
-
if (buildCpusMax !== void 0 && !(await import('./command-
|
|
5234
|
+
if (buildCpusMax !== void 0 && !(await import('./command-RGBJLW72.js')).cpusAreValid(buildCpusMax)) {
|
|
5235
5235
|
fail(`--build-cpus-max ${opts.buildCpusMax} is not a number of CPUs from 0.01 to 1024.`);
|
|
5236
5236
|
return;
|
|
5237
5237
|
}
|
|
5238
5238
|
try {
|
|
5239
5239
|
if (opts.service === true) {
|
|
5240
|
-
const { installServiceCommand } = await import('./command-
|
|
5240
|
+
const { installServiceCommand } = await import('./command-RGBJLW72.js');
|
|
5241
5241
|
const result2 = await installServiceCommand({
|
|
5242
5242
|
configPath,
|
|
5243
5243
|
print: opts.print,
|
|
@@ -5295,7 +5295,7 @@ To keep it running, run ${C.yellow}${cliInvocation()} runner install --service${
|
|
|
5295
5295
|
return;
|
|
5296
5296
|
}
|
|
5297
5297
|
const { defaultRunnerConfigPath } = await import('./config-NGCQD6SN.js');
|
|
5298
|
-
const { uninstallServiceCommand } = await import('./command-
|
|
5298
|
+
const { uninstallServiceCommand } = await import('./command-RGBJLW72.js');
|
|
5299
5299
|
const result = await uninstallServiceCommand({ configPath: opts.config ?? defaultRunnerConfigPath(), unitName: opts.unitName, home: homeFromEnv() });
|
|
5300
5300
|
if (result.ok) for (const line of result.lines) process.stdout.write(`${C.green}\u2713${C.reset} ${line}
|
|
5301
5301
|
`);
|
|
@@ -5323,10 +5323,10 @@ already in claude.env is used.
|
|
|
5323
5323
|
`
|
|
5324
5324
|
).action(async (opts) => {
|
|
5325
5325
|
const { defaultRunnerConfigPath, RunnerConfigError } = await import('./config-NGCQD6SN.js');
|
|
5326
|
-
const { prepareRunnerInit, runRunnerInit, RunnerInitError, writeRunnerInit } = await import('./init-
|
|
5327
|
-
const { obtainRunnerKey, runnerKeyLogin } = await import('./runner-key-
|
|
5328
|
-
const { detectMachine } = await import('./machine-
|
|
5329
|
-
const { chooseVm, runVmInit, VmInitError } = await import('./init-
|
|
5326
|
+
const { prepareRunnerInit, runRunnerInit, RunnerInitError, writeRunnerInit } = await import('./init-HGJQW2NL.js');
|
|
5327
|
+
const { obtainRunnerKey, runnerKeyLogin } = await import('./runner-key-HMXSBRBE.js');
|
|
5328
|
+
const { detectMachine } = await import('./machine-GYTMJSIY.js');
|
|
5329
|
+
const { chooseVm, runVmInit, VmInitError } = await import('./init-WGVNY4NP.js');
|
|
5330
5330
|
const { AGENT_COMMANDS, credentialFromStdin, isAgentName, restartForCredential, RunnerEnvError } = await import('./runner-env-DH7YA4BU.js');
|
|
5331
5331
|
const configPath = opts.config ?? defaultRunnerConfigPath();
|
|
5332
5332
|
if (opts.agent !== void 0 && !isAgentName(opts.agent)) {
|
|
@@ -5477,7 +5477,7 @@ ${C.yellow}The runner will not update itself: ${installErr.message}${C.reset}
|
|
|
5477
5477
|
let serviceUp = false;
|
|
5478
5478
|
let restart;
|
|
5479
5479
|
if (installedLayout) {
|
|
5480
|
-
const { installServiceCommand } = await import('./command-
|
|
5480
|
+
const { installServiceCommand } = await import('./command-RGBJLW72.js');
|
|
5481
5481
|
const service = await installServiceCommand({
|
|
5482
5482
|
configPath,
|
|
5483
5483
|
entryPath: process.argv[1] ?? "",
|
|
@@ -5522,7 +5522,7 @@ Next:
|
|
|
5522
5522
|
"\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"
|
|
5523
5523
|
).action(async (opts) => {
|
|
5524
5524
|
const { defaultRunnerConfigPath } = await import('./config-NGCQD6SN.js');
|
|
5525
|
-
const { buildRepositoryImage, RecipeError } = await import('./build-
|
|
5525
|
+
const { buildRepositoryImage, RecipeError } = await import('./build-FS7TQEJ6.js');
|
|
5526
5526
|
const { currentCliBuild } = await import('./cli-build-K56DK4DS.js');
|
|
5527
5527
|
const { createDockerHost } = await import('./docker-TRGA5QRL.js');
|
|
5528
5528
|
const { builderSpec } = await import('./builder-MQIL24HI.js');
|
|
@@ -5605,7 +5605,7 @@ Next:
|
|
|
5605
5605
|
});
|
|
5606
5606
|
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) => {
|
|
5607
5607
|
const { defaultRunnerConfigPath } = await import('./config-NGCQD6SN.js');
|
|
5608
|
-
const { requestStop } = await import('./loop-
|
|
5608
|
+
const { requestStop } = await import('./loop-F6E6PGWG.js');
|
|
5609
5609
|
const configPath = opts.config ?? defaultRunnerConfigPath();
|
|
5610
5610
|
const { runnerImageVersion } = await import('./image-tag-BTXKIH73.js');
|
|
5611
5611
|
await requestStop(configPath, Boolean(opts.now), void 0, { image: runnerImageVersion() !== void 0 });
|
|
@@ -5613,8 +5613,8 @@ Next:
|
|
|
5613
5613
|
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) => {
|
|
5614
5614
|
const { defaultRunnerConfigPath, loadRunnerConfig } = await import('./config-NGCQD6SN.js');
|
|
5615
5615
|
const { jobsDir, runnerDir } = await import('./paths-AQ47ZRHK.js');
|
|
5616
|
-
const { listJobFiles, runnerProcessState } = await import('./loop-
|
|
5617
|
-
const { renderStatus } = await import('./status-
|
|
5616
|
+
const { listJobFiles, runnerProcessState } = await import('./loop-F6E6PGWG.js');
|
|
5617
|
+
const { renderStatus } = await import('./status-QNKTP6OU.js');
|
|
5618
5618
|
const { readHousekeepingRecord } = await import('./record-SVCNFCGQ.js');
|
|
5619
5619
|
const path2 = await import('path');
|
|
5620
5620
|
const configPath = opts.config ?? defaultRunnerConfigPath();
|
|
@@ -5673,7 +5673,7 @@ Next:
|
|
|
5673
5673
|
});
|
|
5674
5674
|
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) => {
|
|
5675
5675
|
const { defaultRunnerConfigPath } = await import('./config-NGCQD6SN.js');
|
|
5676
|
-
const { listJobFiles } = await import('./loop-
|
|
5676
|
+
const { listJobFiles } = await import('./loop-F6E6PGWG.js');
|
|
5677
5677
|
const { newestAttempt, logPathFor, tail, RunnerLogsError } = await import('./logs-LEVH6VAI.js');
|
|
5678
5678
|
const configPath = opts.config ?? defaultRunnerConfigPath();
|
|
5679
5679
|
const item = parseTrackerNumber(itemArg);
|
|
@@ -3,10 +3,10 @@ import { createRequire } from 'node:module';
|
|
|
3
3
|
import { realOwnership, accountNamed, handOver, runRunnerInstall, launcherSummary, restartNote, accountIdentity } from './chunk-RR3VDM7M.js';
|
|
4
4
|
import './chunk-MN3PP45X.js';
|
|
5
5
|
import { currentLink, execStartCommand } from './chunk-YL3RWW7X.js';
|
|
6
|
-
import { detectMachine, helperSocketPath, ensureFirecrackerAndJailer } from './chunk-
|
|
6
|
+
import { detectMachine, helperSocketPath, ensureFirecrackerAndJailer } from './chunk-LKTH7PUH.js';
|
|
7
7
|
import './chunk-2PGI6RDE.js';
|
|
8
|
-
import './chunk-
|
|
9
|
-
import './chunk-
|
|
8
|
+
import './chunk-IYQPUGST.js';
|
|
9
|
+
import './chunk-GTBY7BTI.js';
|
|
10
10
|
import './chunk-OGFGZQA3.js';
|
|
11
11
|
import './chunk-3VZTNXK5.js';
|
|
12
12
|
import './chunk-6KFJIU73.js';
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
2
|
import { createRequire } from 'node:module';
|
|
3
|
-
import { reportFailedStart, BUILD_MEMORY_VARIABLE } from './chunk-
|
|
4
|
-
import { readOwnContainer } from './chunk-
|
|
5
|
-
import './chunk-
|
|
3
|
+
import { reportFailedStart, BUILD_MEMORY_VARIABLE } from './chunk-JL4GSPGD.js';
|
|
4
|
+
import { readOwnContainer } from './chunk-WPDL7MBC.js';
|
|
5
|
+
import './chunk-DX4FF5P5.js';
|
|
6
6
|
import './chunk-6CK2OC4Q.js';
|
|
7
7
|
import './chunk-ZVB57WI6.js';
|
|
8
8
|
import './chunk-P3NPTFLF.js';
|
|
@@ -14,10 +14,10 @@ import './chunk-ESVW4MJY.js';
|
|
|
14
14
|
import './chunk-CFFVCI2I.js';
|
|
15
15
|
import './chunk-TBT347UY.js';
|
|
16
16
|
import './chunk-TZMDRHWB.js';
|
|
17
|
-
import { detectMachine, supportsContainerBuilds, MIN_ENGINE_MAJOR, describeMachineDocker, RunnerInitError, prepareRunnerInit, writeRunnerInit } from './chunk-
|
|
17
|
+
import { detectMachine, supportsContainerBuilds, MIN_ENGINE_MAJOR, describeMachineDocker, RunnerInitError, prepareRunnerInit, writeRunnerInit } from './chunk-LKTH7PUH.js';
|
|
18
18
|
import './chunk-2PGI6RDE.js';
|
|
19
|
-
import './chunk-
|
|
20
|
-
import './chunk-
|
|
19
|
+
import './chunk-IYQPUGST.js';
|
|
20
|
+
import './chunk-GTBY7BTI.js';
|
|
21
21
|
import './chunk-OGFGZQA3.js';
|
|
22
22
|
import './chunk-3VZTNXK5.js';
|
|
23
23
|
import './chunk-6KFJIU73.js';
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
2
|
import { createRequire } from 'node:module';
|
|
3
|
-
import { IMAGE_BROWSER } from './chunk-
|
|
3
|
+
import { IMAGE_BROWSER } from './chunk-GTBY7BTI.js';
|
|
4
4
|
import { buildRootFromDist } from './chunk-HDLON3RJ.js';
|
|
5
5
|
import './chunk-QUOITPN7.js';
|
|
6
6
|
import { C } from './chunk-ANPNT6PM.js';
|
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
2
|
import { createRequire } from 'node:module';
|
|
3
|
-
import { managedProblems } from './chunk-
|
|
3
|
+
import { managedProblems } from './chunk-ZK3A4W3I.js';
|
|
4
4
|
import { launcherCheck } from './chunk-MN3PP45X.js';
|
|
5
5
|
import './chunk-YL3RWW7X.js';
|
|
6
6
|
import { RepoFilter } from './chunk-TBT347UY.js';
|
|
7
|
-
import { needsClaudeCredential, claudeCredentialCheck, detectMachine, supportsContainerBuilds, describeMachineDocker, MIN_ENGINE_MAJOR, reachDockerStep, supportsMicroVmBuilds, microVmArchSupported, microVmAssetsPinned, helperFirecrackerNote, probeHelper, helperSocketPath, missingPermissionOf, missingPermissionFix } from './chunk-
|
|
7
|
+
import { needsClaudeCredential, claudeCredentialCheck, detectMachine, supportsContainerBuilds, describeMachineDocker, MIN_ENGINE_MAJOR, reachDockerStep, supportsMicroVmBuilds, microVmArchSupported, microVmAssetsPinned, helperFirecrackerNote, probeHelper, helperSocketPath, missingPermissionOf, missingPermissionFix } from './chunk-LKTH7PUH.js';
|
|
8
8
|
import './chunk-2PGI6RDE.js';
|
|
9
|
-
import './chunk-
|
|
10
|
-
import './chunk-
|
|
9
|
+
import './chunk-IYQPUGST.js';
|
|
10
|
+
import './chunk-GTBY7BTI.js';
|
|
11
11
|
import './chunk-OGFGZQA3.js';
|
|
12
12
|
import './chunk-3VZTNXK5.js';
|
|
13
13
|
import './chunk-6KFJIU73.js';
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
2
|
import { createRequire } from 'node:module';
|
|
3
|
-
export { MAX_CHECK_ITEMS_BYTES, checksIn, commandItems, isJudgeCheck, makeRecorder, readDefinitions, runHostChecks, testProofIn, timeoutAfter } from './chunk-
|
|
3
|
+
export { MAX_CHECK_ITEMS_BYTES, checksIn, commandItems, isJudgeCheck, makeRecorder, readDefinitions, runHostChecks, testProofIn, timeoutAfter } from './chunk-DX4FF5P5.js';
|
|
4
4
|
import './chunk-6CK2OC4Q.js';
|
|
5
5
|
import './chunk-ZVB57WI6.js';
|
|
6
6
|
import './chunk-P3NPTFLF.js';
|
|
@@ -12,10 +12,10 @@ import './chunk-ESVW4MJY.js';
|
|
|
12
12
|
import './chunk-CFFVCI2I.js';
|
|
13
13
|
import './chunk-TBT347UY.js';
|
|
14
14
|
import './chunk-TZMDRHWB.js';
|
|
15
|
-
import './chunk-
|
|
15
|
+
import './chunk-LKTH7PUH.js';
|
|
16
16
|
import './chunk-2PGI6RDE.js';
|
|
17
|
-
import './chunk-
|
|
18
|
-
import './chunk-
|
|
17
|
+
import './chunk-IYQPUGST.js';
|
|
18
|
+
import './chunk-GTBY7BTI.js';
|
|
19
19
|
import './chunk-OGFGZQA3.js';
|
|
20
20
|
import './chunk-3VZTNXK5.js';
|
|
21
21
|
import './chunk-6KFJIU73.js';
|
package/dist/index.js
CHANGED
|
@@ -26,5 +26,5 @@ if (argv[0] === "claude") {
|
|
|
26
26
|
process.exit(await runClaudeLauncher(argv.slice(1)));
|
|
27
27
|
}
|
|
28
28
|
(await import('./hook-fast-KXAQ22LZ.js')).recordLinkExitFailure(argv);
|
|
29
|
-
var { runCli } = await import('./cli-
|
|
29
|
+
var { runCli } = await import('./cli-MP5AUR36.js');
|
|
30
30
|
await runCli(process.argv);
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
2
|
import { createRequire } from 'node:module';
|
|
3
|
-
export { PLACEHOLDER_MARKER, RunnerInitError, isPlaceholderCommand, prepareRunnerInit, readConfigObject, runRunnerInit, writeRunnerInit } from './chunk-
|
|
3
|
+
export { PLACEHOLDER_MARKER, RunnerInitError, isPlaceholderCommand, prepareRunnerInit, readConfigObject, runRunnerInit, writeRunnerInit } from './chunk-LKTH7PUH.js';
|
|
4
4
|
import './chunk-2PGI6RDE.js';
|
|
5
|
-
import './chunk-
|
|
6
|
-
import './chunk-
|
|
5
|
+
import './chunk-IYQPUGST.js';
|
|
6
|
+
import './chunk-GTBY7BTI.js';
|
|
7
7
|
import './chunk-OGFGZQA3.js';
|
|
8
8
|
import './chunk-3VZTNXK5.js';
|
|
9
9
|
import './chunk-6KFJIU73.js';
|
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
2
|
import { createRequire } from 'node:module';
|
|
3
3
|
import { npmSupportsProvenance } from './chunk-E7R2GIAW.js';
|
|
4
|
-
import { RunnerInitError, readConfigObject } from './chunk-
|
|
4
|
+
import { RunnerInitError, readConfigObject } from './chunk-LKTH7PUH.js';
|
|
5
5
|
import './chunk-2PGI6RDE.js';
|
|
6
|
-
import './chunk-
|
|
7
|
-
import './chunk-
|
|
6
|
+
import './chunk-IYQPUGST.js';
|
|
7
|
+
import './chunk-GTBY7BTI.js';
|
|
8
8
|
import './chunk-OGFGZQA3.js';
|
|
9
9
|
import './chunk-3VZTNXK5.js';
|
|
10
10
|
import './chunk-6KFJIU73.js';
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
2
|
import { createRequire } from 'node:module';
|
|
3
|
-
import { summarizeChecks, summaryText, renderDoctorText } from './chunk-
|
|
3
|
+
import { summarizeChecks, summaryText, renderDoctorText } from './chunk-SSRB5HEL.js';
|
|
4
4
|
import './chunk-TZMDRHWB.js';
|
|
5
5
|
import { shellFunctionInstalled, removeShellFunction, installShellFunction, SHELL_FUNCTION_LINE } from './chunk-CJJDJ7AT.js';
|
|
6
6
|
import './chunk-KT4CN6OU.js';
|
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
2
|
import { createRequire } from 'node:module';
|
|
3
|
-
export { RunnerStartError, leaseTimeLeftFor, listJobFiles, logUnusableHelper, probeBuild, probeCredentials, requestStop, runnerProcessState, runtimeOf, sampleUsage, start, tick, watchTick } from './chunk-
|
|
3
|
+
export { RunnerStartError, leaseTimeLeftFor, listJobFiles, logUnusableHelper, probeBuild, probeCredentials, requestStop, runnerProcessState, runtimeOf, sampleUsage, start, tick, watchTick } from './chunk-UWDFA6WW.js';
|
|
4
4
|
import './chunk-3JVYMD4G.js';
|
|
5
|
-
import './chunk-
|
|
5
|
+
import './chunk-JL4GSPGD.js';
|
|
6
6
|
import './chunk-E7R2GIAW.js';
|
|
7
7
|
import './chunk-MH6QLXUO.js';
|
|
8
8
|
import './chunk-HOUFCUMH.js';
|
|
9
|
-
import './chunk-
|
|
9
|
+
import './chunk-WPDL7MBC.js';
|
|
10
10
|
import './chunk-TS3EFB7S.js';
|
|
11
|
-
import './chunk-
|
|
11
|
+
import './chunk-DX4FF5P5.js';
|
|
12
12
|
import './chunk-6CK2OC4Q.js';
|
|
13
13
|
import './chunk-ZVB57WI6.js';
|
|
14
14
|
import './chunk-P3NPTFLF.js';
|
|
@@ -18,14 +18,14 @@ import './chunk-QRJIBTNQ.js';
|
|
|
18
18
|
import './chunk-7DK2FOZ4.js';
|
|
19
19
|
import './chunk-ESVW4MJY.js';
|
|
20
20
|
import './chunk-CFFVCI2I.js';
|
|
21
|
-
import './chunk-
|
|
21
|
+
import './chunk-ZK3A4W3I.js';
|
|
22
22
|
import './chunk-YL3RWW7X.js';
|
|
23
23
|
import './chunk-TBT347UY.js';
|
|
24
24
|
import './chunk-TZMDRHWB.js';
|
|
25
|
-
import './chunk-
|
|
25
|
+
import './chunk-LKTH7PUH.js';
|
|
26
26
|
import './chunk-2PGI6RDE.js';
|
|
27
|
-
import './chunk-
|
|
28
|
-
import './chunk-
|
|
27
|
+
import './chunk-IYQPUGST.js';
|
|
28
|
+
import './chunk-GTBY7BTI.js';
|
|
29
29
|
import './chunk-OGFGZQA3.js';
|
|
30
30
|
import './chunk-3VZTNXK5.js';
|
|
31
31
|
import './chunk-6KFJIU73.js';
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
2
|
import { createRequire } from 'node:module';
|
|
3
|
-
export { describeMachineDocker, detectMachine, microVmArchSupported, microVmAssetsPinned, reachDockerStep, supportsContainerBuilds, supportsMicroVmBuilds } from './chunk-
|
|
3
|
+
export { describeMachineDocker, detectMachine, microVmArchSupported, microVmAssetsPinned, reachDockerStep, supportsContainerBuilds, supportsMicroVmBuilds } from './chunk-LKTH7PUH.js';
|
|
4
4
|
import './chunk-2PGI6RDE.js';
|
|
5
|
-
import './chunk-
|
|
6
|
-
import './chunk-
|
|
5
|
+
import './chunk-IYQPUGST.js';
|
|
6
|
+
import './chunk-GTBY7BTI.js';
|
|
7
7
|
import './chunk-OGFGZQA3.js';
|
|
8
8
|
import './chunk-3VZTNXK5.js';
|
|
9
9
|
import './chunk-6KFJIU73.js';
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
2
|
import { createRequire } from 'node:module';
|
|
3
|
-
import { readConfigObject, RunnerInitError } from './chunk-
|
|
3
|
+
import { readConfigObject, RunnerInitError } from './chunk-LKTH7PUH.js';
|
|
4
4
|
import './chunk-2PGI6RDE.js';
|
|
5
|
-
import './chunk-
|
|
6
|
-
import './chunk-
|
|
5
|
+
import './chunk-IYQPUGST.js';
|
|
6
|
+
import './chunk-GTBY7BTI.js';
|
|
7
7
|
import './chunk-OGFGZQA3.js';
|
|
8
8
|
import './chunk-3VZTNXK5.js';
|
|
9
9
|
import './chunk-6KFJIU73.js';
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
2
|
import { createRequire } from 'node:module';
|
|
3
|
-
import { isReadable, ALREADY_RELEASED, RENEW_INTERVAL_SECONDS } from './chunk-
|
|
3
|
+
import { isReadable, ALREADY_RELEASED, RENEW_INTERVAL_SECONDS } from './chunk-DX4FF5P5.js';
|
|
4
4
|
import './chunk-6CK2OC4Q.js';
|
|
5
5
|
import { jobStateFormatOf } from './chunk-ZVB57WI6.js';
|
|
6
6
|
import './chunk-P3NPTFLF.js';
|
|
@@ -12,10 +12,10 @@ import './chunk-ESVW4MJY.js';
|
|
|
12
12
|
import './chunk-CFFVCI2I.js';
|
|
13
13
|
import './chunk-TBT347UY.js';
|
|
14
14
|
import './chunk-TZMDRHWB.js';
|
|
15
|
-
import { LEASE_SECONDS } from './chunk-
|
|
15
|
+
import { LEASE_SECONDS } from './chunk-LKTH7PUH.js';
|
|
16
16
|
import './chunk-2PGI6RDE.js';
|
|
17
|
-
import './chunk-
|
|
18
|
-
import './chunk-
|
|
17
|
+
import './chunk-IYQPUGST.js';
|
|
18
|
+
import './chunk-GTBY7BTI.js';
|
|
19
19
|
import './chunk-OGFGZQA3.js';
|
|
20
20
|
import './chunk-3VZTNXK5.js';
|
|
21
21
|
import './chunk-6KFJIU73.js';
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
2
|
import { createRequire } from 'node:module';
|
|
3
|
-
export { readOwnContainer, renderUpdateSteps, runUpdateSteps } from './chunk-
|
|
4
|
-
import './chunk-
|
|
3
|
+
export { readOwnContainer, renderUpdateSteps, runUpdateSteps } from './chunk-WPDL7MBC.js';
|
|
4
|
+
import './chunk-DX4FF5P5.js';
|
|
5
5
|
import './chunk-6CK2OC4Q.js';
|
|
6
6
|
import './chunk-ZVB57WI6.js';
|
|
7
7
|
import './chunk-P3NPTFLF.js';
|
|
@@ -13,10 +13,10 @@ import './chunk-ESVW4MJY.js';
|
|
|
13
13
|
import './chunk-CFFVCI2I.js';
|
|
14
14
|
import './chunk-TBT347UY.js';
|
|
15
15
|
import './chunk-TZMDRHWB.js';
|
|
16
|
-
import './chunk-
|
|
16
|
+
import './chunk-LKTH7PUH.js';
|
|
17
17
|
import './chunk-2PGI6RDE.js';
|
|
18
|
-
import './chunk-
|
|
19
|
-
import './chunk-
|
|
18
|
+
import './chunk-IYQPUGST.js';
|
|
19
|
+
import './chunk-GTBY7BTI.js';
|
|
20
20
|
import './chunk-OGFGZQA3.js';
|
|
21
21
|
import './chunk-3VZTNXK5.js';
|
|
22
22
|
import './chunk-6KFJIU73.js';
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
2
|
import { createRequire } from 'node:module';
|
|
3
|
-
export { classifyProofs, classifyProofsAt, otherPullRequestHeads, resolveProofsItem, runWorkProofs, runWorkProofsCommand } from './chunk-
|
|
3
|
+
export { classifyProofs, classifyProofsAt, otherPullRequestHeads, resolveProofsItem, runWorkProofs, runWorkProofsCommand } from './chunk-36U7LY7C.js';
|
|
4
4
|
import './chunk-6CK2OC4Q.js';
|
|
5
5
|
import './chunk-QABXXQ67.js';
|
|
6
6
|
import './chunk-IP7BIBXJ.js';
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
2
|
import { createRequire } from 'node:module';
|
|
3
|
-
import { resolveProofsItem, ownPullRequest, proofsCommentId, otherPullRequestHeads, classifyProofsAt, kindProblem, proofsCommentBody, runWorkProofs } from './chunk-
|
|
3
|
+
import { resolveProofsItem, ownPullRequest, proofsCommentId, otherPullRequestHeads, classifyProofsAt, kindProblem, proofsCommentBody, runWorkProofs } from './chunk-36U7LY7C.js';
|
|
4
4
|
import { runWorkComment } from './chunk-EBVK3QBO.js';
|
|
5
5
|
import './chunk-6CK2OC4Q.js';
|
|
6
6
|
import { runEmitDemo } from './chunk-7PCA37ZS.js';
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@outerlayer/cli",
|
|
3
|
-
"version": "0.34.0-next.
|
|
3
|
+
"version": "0.34.0-next.20261027023105",
|
|
4
4
|
"description": "OuterLayer CLI — commands: init, claude, connect, doctor, login, logout, sync, daemon (alias: watch), emit, demo, findings, work, spec, runner, hooks, mcp, context. Capture and sync coding-agent sessions, and record proof of factory work.",
|
|
5
5
|
"license": "Apache-2.0",
|
|
6
6
|
"author": "Magu Studios, Inc.",
|