@outerlayer/cli 0.33.0-next.20261022173306 → 0.33.0-next.20261022180022
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/{agent-setup-TXC37SDW.js → agent-setup-4WKFXVOP.js} +5 -5
- package/dist/{build-ZG3IYBVK.js → build-2ONBPS3M.js} +3 -3
- package/dist/{build-disk-5CI7FSX4.js → build-disk-PCDS676T.js} +4 -4
- package/dist/build-info.json +1 -1
- package/dist/{builder-6CZUYTHS.js → builder-AIKWGJHP.js} +3 -3
- package/dist/{check-TKBLYWSD.js → check-LGZOJYLS.js} +29 -29
- package/dist/{chunk-PETBUIR4.js → chunk-5KO3TN2F.js} +1 -1
- package/dist/{chunk-IZDBVUBY.js → chunk-634F6J3Q.js} +1 -1
- package/dist/{chunk-GMMHAUBZ.js → chunk-6KVKEZTH.js} +2 -2
- package/dist/{chunk-KGLEUJZO.js → chunk-7HMF7I3D.js} +3 -3
- package/dist/{chunk-CWP6P7FQ.js → chunk-7SCEDWQP.js} +6 -6
- package/dist/{chunk-6N4CYTHB.js → chunk-A6MLCH76.js} +1 -1
- package/dist/{chunk-DSSDKQGX.js → chunk-CMNAAKFD.js} +1 -1
- package/dist/{chunk-64P3ZIGA.js → chunk-DZGLRVS3.js} +3 -3
- package/dist/{chunk-25JWQ3PF.js → chunk-EBX2DU2M.js} +2 -2
- package/dist/{chunk-M5B7QVWU.js → chunk-FLFK42YF.js} +1 -1
- package/dist/{chunk-QY7BNRS6.js → chunk-FSFAP7GA.js} +2 -2
- package/dist/{chunk-IJXZFFW4.js → chunk-GDI6QGRH.js} +8 -8
- package/dist/{chunk-NVU7QK3A.js → chunk-HDD3BKAE.js} +2 -2
- package/dist/{chunk-KM2ZFYJ5.js → chunk-J5VNSW4W.js} +16 -16
- package/dist/{chunk-ZU4ZY7CZ.js → chunk-J6LFFZOY.js} +4 -4
- package/dist/{chunk-7EBXH2LK.js → chunk-JFRBPBD5.js} +2 -2
- package/dist/{chunk-VTCV2EIC.js → chunk-JKPJQNJF.js} +5 -5
- package/dist/{chunk-7ZPHKBYH.js → chunk-JUVUVXQZ.js} +2 -2
- package/dist/{chunk-KCRUMHSL.js → chunk-KQFWTTG7.js} +5 -5
- package/dist/{chunk-427LS26N.js → chunk-LG2IQRTO.js} +2 -2
- package/dist/{chunk-XR4HMWQI.js → chunk-LOYLFW4I.js} +1 -1
- package/dist/{chunk-IOF4N6ED.js → chunk-M7IA4JOX.js} +4 -4
- package/dist/{chunk-IX6EADX7.js → chunk-MBGS33SL.js} +10 -1
- package/dist/{chunk-USCRSIES.js → chunk-O7MSQBTH.js} +1 -1
- package/dist/{chunk-6QHLXYS2.js → chunk-OKTLQTWH.js} +37 -12
- package/dist/{chunk-ILHDLZKE.js → chunk-PWB7EK4Z.js} +1 -1
- package/dist/{chunk-WPVIC2ST.js → chunk-QPAPHQZ7.js} +1 -1
- package/dist/{chunk-VBXNRP5E.js → chunk-RLGSBR56.js} +2 -2
- package/dist/{chunk-FXTYLRFW.js → chunk-VGIS2D3U.js} +11 -11
- package/dist/{chunk-V4KIB7DX.js → chunk-VHRKGCBY.js} +1 -1
- package/dist/{chunk-7NEOLKCQ.js → chunk-W4UFGYKQ.js} +1 -1
- package/dist/{chunk-BZZIW2A3.js → chunk-XCUXPSHL.js} +2 -2
- package/dist/{chunk-CBJTDU2Z.js → chunk-Y53T3QZM.js} +1 -1
- package/dist/{chunk-VORMBXWO.js → chunk-YMGSMPPW.js} +1 -1
- package/dist/{chunk-ZPSS4CVW.js → chunk-ZANK3WWF.js} +1 -1
- package/dist/{chunk-FZMBBIZR.js → chunk-ZFJAQS3A.js} +1 -1
- package/dist/{chunk-LCHFBISI.js → chunk-ZQSCE7M4.js} +2 -2
- package/dist/{chunk-T44DZRT2.js → chunk-ZZAA73E5.js} +3 -3
- package/dist/{claude-launcher-H23NRBGG.js → claude-launcher-SNMNPDP4.js} +1 -1
- package/dist/{cli-H2SKBBUA.js → cli-2LCCZQA6.js} +85 -85
- package/dist/{command-FPIWWJOW.js → command-2EJ76XJH.js} +18 -18
- package/dist/{connect-cmd-6CTOXCMO.js → connect-cmd-YNPOL2Y5.js} +4 -4
- package/dist/{container-start-22L2L3ZN.js → container-start-RWOEQUCC.js} +18 -18
- package/dist/{control-plane-launch-LMMGKN45.js → control-plane-launch-O3TXH3LI.js} +4 -4
- package/dist/{docker-HRRTSESV.js → docker-NDEA46KV.js} +3 -3
- package/dist/{doctor-SXCEI4PK.js → doctor-C3JKNKEJ.js} +21 -21
- package/dist/{emit-artifact-cmd-PNU53NHX.js → emit-artifact-cmd-PZW7TVHF.js} +9 -9
- package/dist/{emit-criteria-cmd-TAHE36VH.js → emit-criteria-cmd-EE7BYO34.js} +6 -6
- package/dist/{emit-demo-cmd-LQLAACNI.js → emit-demo-cmd-AKRXCWLK.js} +9 -9
- package/dist/{emit-finding-cmd-XAPF2ADX.js → emit-finding-cmd-JXFT233D.js} +6 -6
- package/dist/{emit-result-cmd-5JCWPMDF.js → emit-result-cmd-4K6HUK4B.js} +8 -8
- package/dist/{emit-step-cmd-XGZ4Y7WB.js → emit-step-cmd-JEADH4VS.js} +6 -6
- package/dist/{findings-cmd-GFRXCIDW.js → findings-cmd-MO4MCKIO.js} +6 -6
- package/dist/{fleet-readiness-2UOPN73C.js → fleet-readiness-DA2UXFJW.js} +4 -4
- package/dist/{governing-source-UE2YJEFL.js → governing-source-74VYUJPC.js} +8 -8
- package/dist/{hook-fast-CSR32RVX.js → hook-fast-PXSDGAUP.js} +1 -1
- package/dist/{pending-7B67ODWC.js → host-key-5AUIPHRG.js} +2 -2
- package/dist/{image-tag-SHPANRDC.js → image-tag-6U7UYPIT.js} +2 -2
- package/dist/index.js +4 -4
- package/dist/{init-XYXY27AZ.js → init-2LWFZK45.js} +17 -17
- package/dist/{init-5MBBGEV6.js → init-ZCZVN3AI.js} +17 -17
- package/dist/{init-cmd-KUQIWSPY.js → init-cmd-3YBDLWPR.js} +9 -9
- package/dist/{init-update-CVBL77OI.js → init-update-S6QVSR72.js} +7 -7
- package/dist/{install-TWT2WXEO.js → install-4OPPUC72.js} +2 -2
- package/dist/{install-cmd-45CPGPLT.js → install-cmd-BGUN6XFJ.js} +4 -4
- package/dist/{logs-2LMXN7GQ.js → logs-2XVSZODP.js} +1 -1
- package/dist/{loop-VHTNWIHI.js → loop-3YF4S4CA.js} +29 -29
- package/dist/{machine-7HDA6MFG.js → machine-X3EYEXEM.js} +14 -14
- package/dist/{mcp-serve-cmd-3GCJKTSF.js → mcp-serve-cmd-GYLU23YJ.js} +3 -3
- package/dist/paths-FE7TXSTA.js +9 -0
- package/dist/{host-key-D3EFK52H.js → pending-ZXVJPA24.js} +2 -2
- package/dist/{pidfile-WVL54AJK.js → pidfile-ZWJLQIJV.js} +2 -2
- package/dist/{record-H4A3HMMD.js → record-JGQ3CCKH.js} +2 -2
- package/dist/{runner-env-WXG5KLBK.js → runner-env-V37JMYNW.js} +3 -3
- package/dist/{runner-identity-KARE5T3G.js → runner-identity-77KVP24W.js} +3 -3
- package/dist/{runner-key-FFWA4AOV.js → runner-key-CBL5552Z.js} +17 -17
- package/dist/{session-sender-CHJJC2WE.js → session-sender-I3CQB6YL.js} +9 -9
- package/dist/{spec-cmd-7D5PPR4I.js → spec-cmd-E6LI56MR.js} +7 -7
- package/dist/{status-UPDTLTTF.js → status-TGQTGC7B.js} +18 -18
- package/dist/{sync-cmd-IVN4LVOH.js → sync-cmd-ONY2NA4L.js} +8 -8
- package/dist/{watch-OELQXJA3.js → watch-TH3E7HC3.js} +8 -8
- package/dist/{work-claim-cmd-EIE6NU5O.js → work-claim-cmd-UZYGUHAF.js} +8 -8
- package/dist/{work-cmd-LPEBBF4I.js → work-cmd-IGYK3MVP.js} +6 -6
- package/dist/{work-comment-cmd-JDIXMD6G.js → work-comment-cmd-D5QETAF5.js} +6 -6
- package/dist/{work-logs-cmd-3QFTKXR2.js → work-logs-cmd-I2LQK72I.js} +6 -6
- package/dist/{work-open-pr-cmd-LM7C63XI.js → work-open-pr-cmd-FMJKE3M4.js} +7 -7
- package/dist/{work-pr-cmd-VFEQMSAI.js → work-pr-cmd-5G3FJSPI.js} +6 -6
- package/dist/{work-stop-cmd-YKXWUGTC.js → work-stop-cmd-7J6NG6WO.js} +6 -6
- package/package.json +1 -1
- package/dist/paths-G6G3BJHG.js +0 -9
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
2
|
import { createRequire } from 'node:module';
|
|
3
|
-
import { runnerDir, RUNNER_DIR_MODE, RUNNER_FILE_MODE } from './chunk-
|
|
3
|
+
import { runnerDir, RUNNER_DIR_MODE, RUNNER_FILE_MODE } from './chunk-MBGS33SL.js';
|
|
4
4
|
import { readlinkSync, realpathSync, mkdirSync, unlinkSync, symlinkSync, renameSync, readFileSync, writeFileSync, rmSync, existsSync, readdirSync } from 'fs';
|
|
5
5
|
import { join, basename, sep, resolve } from 'path';
|
|
6
6
|
|
|
@@ -1,22 +1,22 @@
|
|
|
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, FETCHED_DIR, toolsDockerfile, TAG_HOST, metadataFromLabels, writeRecord, FETCHED_FFMPEG, FETCHED_GH, FETCHED_TINI, FETCHED_VOICE_DIR } from './chunk-
|
|
4
|
+
import { readDefaultBranchHead, cloneRepository, buildRepositoryImage, prepareImageBuild, KEY_PREFIX, FETCHED_DIR, toolsDockerfile, TAG_HOST, metadataFromLabels, writeRecord, FETCHED_FFMPEG, FETCHED_GH, FETCHED_TINI, FETCHED_VOICE_DIR } from './chunk-7HMF7I3D.js';
|
|
5
5
|
import { startTimeOf, isSameProcess } from './chunk-JBJTC3UU.js';
|
|
6
6
|
import { currentCliBuild } from './chunk-OGFGZQA3.js';
|
|
7
7
|
import { runExec, execCapture, waitForAgent } from './chunk-XXVYHC6D.js';
|
|
8
8
|
import { GUEST_CID, linkVsockSockets } from './chunk-O5F376JJ.js';
|
|
9
|
-
import { describeCallFailure, keepStagedContext, controlPlaneTokenFailure, refusalCode, resolveGoverningSource, removeStagedContext, stageGovernedContext, pinnedSourceOf, commandWithShim, shimScript, WORKFLOW_PERMISSION_REASON } from './chunk-
|
|
10
|
-
import { runnerImageVersion } from './chunk-
|
|
9
|
+
import { describeCallFailure, keepStagedContext, controlPlaneTokenFailure, refusalCode, resolveGoverningSource, removeStagedContext, stageGovernedContext, pinnedSourceOf, commandWithShim, shimScript, WORKFLOW_PERMISSION_REASON } from './chunk-JKPJQNJF.js';
|
|
10
|
+
import { runnerImageVersion } from './chunk-PWB7EK4Z.js';
|
|
11
11
|
import { formatBytes } from './chunk-YYYRBYWG.js';
|
|
12
|
-
import { createDockerHost, builderSpec, runnerLabelValue, RUNNER_LABEL, BUILD_LABEL, prepareRunArgs, containerRunArgs, HASH_ARGV, parseProgramHash, JUDGE_PROGRAM, containerExecArgs, childEnvironment, JUDGE_DIR, MAX_ITEMS_BYTES, JUDGE_ITEMS, MAX_REPORT_BYTES, JUDGE_REPORT, spawnRun } from './chunk-
|
|
12
|
+
import { createDockerHost, builderSpec, runnerLabelValue, RUNNER_LABEL, BUILD_LABEL, prepareRunArgs, containerRunArgs, HASH_ARGV, parseProgramHash, JUDGE_PROGRAM, containerExecArgs, childEnvironment, JUDGE_DIR, MAX_ITEMS_BYTES, JUDGE_ITEMS, MAX_REPORT_BYTES, JUDGE_REPORT, spawnRun } from './chunk-LG2IQRTO.js';
|
|
13
13
|
import { RecipeError, DOCKER_FEATURE, writeSanitizedRecipe, classifyProperties } from './chunk-3Z3MPR55.js';
|
|
14
14
|
import { FIRECRACKER_VERSION, hostHelperPinned, firecrackerArch, MICROVM_ARCHES, CLAUDE_CODE_VERSION, GUEST_HELPER_SHA256, GUEST_ASSETS_BASE_URL, GUEST_KERNEL_SHA256, JAILER_BINARY_SHA256, FIRECRACKER_BINARY_SHA256, FIRECRACKER_SHA256, GUEST_ASSETS_VERSION, BUILDER_DISK_VERSION, builderDiskPinned, FFMPEG_STATIC, FFMPEG_BUILD_TAG, GH_SHA256, GH_VERSION, TINI_SHA256, TINI_VERSION, VOICE_PACK_FILES, BUILDER_DISK_SHA256, BUILDER_DISK_BASE_URL, DEFAULT_BASE_IMAGE } from './chunk-R6QCSHKC.js';
|
|
15
15
|
import { hostAllowed } from './chunk-UXYLWVTQ.js';
|
|
16
16
|
import { readDu } from './chunk-YJLHUKYS.js';
|
|
17
|
-
import { WorkCommandError } from './chunk-
|
|
17
|
+
import { WorkCommandError } from './chunk-KQFWTTG7.js';
|
|
18
18
|
import { setCustomScrubbers, setLocalIdentity, setRepoRoot, parseTranscript, scrubDeep, scrubText } from './chunk-5DNCFOXA.js';
|
|
19
|
-
import { rootfsPathFor, diskTemplatesDir, RUNNER_FILE_MODE, buildsDir, buildDir, vmAssetsDir, RUNNER_DIR_MODE, deliveryDir, ghConfigDir, runnerDirOfBuild, spoolDir, mirrorDir, SHIM_DIR, runnerDir, vsockPath, builderCacheDiskPath } from './chunk-
|
|
19
|
+
import { rootfsPathFor, diskTemplatesDir, RUNNER_FILE_MODE, buildsDir, buildDir, vmAssetsDir, RUNNER_DIR_MODE, deliveryDir, ghConfigDir, runnerDirOfBuild, spoolDir, mirrorDir, SHIM_DIR, runnerDir, vsockPath, builderCacheDiskPath, builderConsolePath } from './chunk-MBGS33SL.js';
|
|
20
20
|
import { repositoriesOf, primaryOf, RELAY_PORT, repositoryPath, CHECKOUT_DIR, lifecycleWorkdir, claudeCredential, buildEnvironment, startBuildServices, checkEnvironment, AGENT_CREDENTIAL_MISSING, checkoutPath, JOB_MOUNT } from './chunk-D5ZGMXUL.js';
|
|
21
21
|
import { sharedSkillNames, skillConflictMessage } from './chunk-FGF52V4V.js';
|
|
22
22
|
import { versionAtLeast, MINIMUM_CLAUDE_VERSION } from './chunk-HCVLP7XA.js';
|
|
@@ -709,10 +709,18 @@ var LOG_TAIL_LINES = 30;
|
|
|
709
709
|
var MAX_PENDING_BYTES = 64 * 1024;
|
|
710
710
|
var MAX_LOG_BYTES = 64 * 1024 * 1024;
|
|
711
711
|
var RESULT_PREFIX = "OL-RESULT ";
|
|
712
|
+
var ENGINE_PANIC_PREFIX = "OL-ENGINE-PANIC ";
|
|
713
|
+
var ENGINE_STOPPED_LINE = "the Docker engine in the builder is stopped";
|
|
712
714
|
var REFUSALS_NAMED = 5;
|
|
713
715
|
var GUEST_OUTPUT = "/out/rootfs.ext4";
|
|
714
716
|
var DOCKER_WAIT_SECONDS = 90;
|
|
715
717
|
var BUILD_CACHE_KEEP = "2GB";
|
|
718
|
+
function unpackCommand(target) {
|
|
719
|
+
return ["sh", "-c", 'tar -x --no-same-owner -C "$1"; s=$?; cat >/dev/null; exit $s', "unpack", target];
|
|
720
|
+
}
|
|
721
|
+
function engineLogExcerpt(log) {
|
|
722
|
+
return `grep -m1 'panic:' ${log} | sed 's/^/${ENGINE_PANIC_PREFIX}/' || true; tail -n 20 ${log}`;
|
|
723
|
+
}
|
|
716
724
|
function builderMachineConfig(limits2, paths) {
|
|
717
725
|
return machineConfig(limits2, { ...paths, guestInit: BUILDER_INIT });
|
|
718
726
|
}
|
|
@@ -743,13 +751,25 @@ function builderGuestScript(parts) {
|
|
|
743
751
|
"export NODE_USE_ENV_PROXY=1",
|
|
744
752
|
"export DOCKER_CONFIG=/run/builder/docker DOCKER_BUILDKIT=1",
|
|
745
753
|
"mkdir -p /run/builder/docker /cache/docker",
|
|
754
|
+
"dockerd_pid=",
|
|
746
755
|
// Whatever way the script ends, the cache keeps the recipe image and a bounded build cache, so a repository's cache disk cannot fill with the images of old recipes.
|
|
747
756
|
"trim() {",
|
|
748
757
|
` docker image ls --format '{{.Repository}}:{{.Tag}}' 2>/dev/null | grep -vxF -e '<none>:<none>' -e ${recipeTag} | xargs -r docker rmi > /dev/null 2>&1 || true`,
|
|
749
758
|
" docker image prune --force > /dev/null 2>&1 || true",
|
|
750
759
|
` docker builder prune --force --keep-storage ${BUILD_CACHE_KEEP} > /dev/null 2>&1 || true`,
|
|
751
760
|
"}",
|
|
752
|
-
|
|
761
|
+
// The engine stops and the disks sync before the microVM does: the runner stops a builder without a shutdown, and an engine still running leaves BuildKit's database half-written on the cache disk.
|
|
762
|
+
"settle() {",
|
|
763
|
+
" trim",
|
|
764
|
+
' if [ -n "$dockerd_pid" ]; then',
|
|
765
|
+
' kill "$dockerd_pid" 2>/dev/null || true',
|
|
766
|
+
" waited_stop=0",
|
|
767
|
+
' while kill -0 "$dockerd_pid" 2>/dev/null && [ "$waited_stop" -lt 60 ]; do waited_stop=$((waited_stop + 1)); sleep 1; done',
|
|
768
|
+
` if ! kill -0 "$dockerd_pid" 2>/dev/null; then echo "${ENGINE_STOPPED_LINE}"; fi`,
|
|
769
|
+
" fi",
|
|
770
|
+
" sync",
|
|
771
|
+
"}",
|
|
772
|
+
"trap settle EXIT",
|
|
753
773
|
"cat > /run/builder/daemon.json <<'OL_DAEMON_JSON'",
|
|
754
774
|
JSON.stringify(daemonConfig(), null, 2),
|
|
755
775
|
"OL_DAEMON_JSON",
|
|
@@ -764,10 +784,11 @@ function builderGuestScript(parts) {
|
|
|
764
784
|
"mount -t cgroup2 cgroup2 /sys/fs/cgroup 2>/dev/null || true",
|
|
765
785
|
`node /work/tools/dist/index.js vm-forward --listen ${BRIDGE_ADDRESS}:${TUNNEL_PORT} --to 127.0.0.1:${TUNNEL_PORT} > /run/builder/forward.log 2>&1 &`,
|
|
766
786
|
"dockerd --config-file /run/builder/daemon.json > /run/builder/dockerd.log 2>&1 &",
|
|
787
|
+
"dockerd_pid=$!",
|
|
767
788
|
"waited=0",
|
|
768
789
|
"until docker info > /dev/null 2>&1; do",
|
|
769
790
|
" waited=$((waited + 1))",
|
|
770
|
-
` if [ "$waited" -gt ${DOCKER_WAIT_SECONDS} ]; then echo "the Docker engine in the builder did not start:";
|
|
791
|
+
` if [ "$waited" -gt ${DOCKER_WAIT_SECONDS} ]; then echo "the Docker engine in the builder did not start:"; ${engineLogExcerpt("/run/builder/dockerd.log")}; exit 1; fi`,
|
|
771
792
|
" sleep 1",
|
|
772
793
|
"done",
|
|
773
794
|
build,
|
|
@@ -896,6 +917,7 @@ async function buildInBuilder(opts, deps, prepared) {
|
|
|
896
917
|
}, Math.max(0, opts.deadlineMs - Date.now()));
|
|
897
918
|
const tail = [];
|
|
898
919
|
let result;
|
|
920
|
+
let enginePanic;
|
|
899
921
|
let pending = "";
|
|
900
922
|
let logged = 0;
|
|
901
923
|
let hostFailure;
|
|
@@ -925,6 +947,8 @@ async function buildInBuilder(opts, deps, prepared) {
|
|
|
925
947
|
}
|
|
926
948
|
for (const line of lines) {
|
|
927
949
|
if (line.startsWith(RESULT_PREFIX)) result = line.slice(RESULT_PREFIX.length);
|
|
950
|
+
else if (line.startsWith(ENGINE_PANIC_PREFIX)) enginePanic ??= line.slice(ENGINE_PANIC_PREFIX.length);
|
|
951
|
+
else if (line === ENGINE_STOPPED_LINE) continue;
|
|
928
952
|
else {
|
|
929
953
|
tail.push(line);
|
|
930
954
|
if (tail.length > LOG_TAIL_LINES) tail.shift();
|
|
@@ -983,12 +1007,12 @@ async function buildInBuilder(opts, deps, prepared) {
|
|
|
983
1007
|
} else {
|
|
984
1008
|
state.cgroup = ports.cgroup.create(id, opts.limits.memoryBytes);
|
|
985
1009
|
if (state.cgroup !== void 0) record.cgroup = state.cgroup;
|
|
986
|
-
state.firecracker = await ports.firecracker.spawn({ binary: opts.firecracker, configPath, consolePath:
|
|
1010
|
+
state.firecracker = await ports.firecracker.spawn({ binary: opts.firecracker, configPath, consolePath: builderConsolePath(dir), cgroup: state.cgroup });
|
|
987
1011
|
record.firecracker = state.firecracker;
|
|
988
1012
|
writeBuilderRecord(dir, record);
|
|
989
1013
|
}
|
|
990
1014
|
if (!await waitForAgent(state.vsockPath, { attempts: BOOT_ATTEMPTS, delayMs: BOOT_POLL_MS, sleep, onFailure: () => void 0 })) {
|
|
991
|
-
throw new StepFailed(`the builder microVM did not start: its exec agent did not answer${state.jailed === void 0 ? ` (console in ${
|
|
1015
|
+
throw new StepFailed(`the builder microVM did not start: its exec agent did not answer${state.jailed === void 0 ? ` (console in ${builderConsolePath(dir)})` : `; its console output is in the journal of the unit ${state.jailed.unit}`}`);
|
|
992
1016
|
}
|
|
993
1017
|
const space = await cacheSpace();
|
|
994
1018
|
check(0, "checking the builder's cache disk");
|
|
@@ -1020,7 +1044,7 @@ async function buildInBuilder(opts, deps, prepared) {
|
|
|
1020
1044
|
for (const { target, stream } of inputs) {
|
|
1021
1045
|
let status;
|
|
1022
1046
|
try {
|
|
1023
|
-
status = (await ports.exec(state.vsockPath, exec(
|
|
1047
|
+
status = (await ports.exec(state.vsockPath, exec(unpackCommand(target)), { stdin: stream, signal: controller.signal })).status;
|
|
1024
1048
|
} catch (err) {
|
|
1025
1049
|
if (hostFailure !== void 0 || controller.signal.aborted) throw err;
|
|
1026
1050
|
throw new StepFailed(`unpacking ${target} in the builder failed: ${err instanceof Error ? err.message : String(err)}${await spaceNote()}`);
|
|
@@ -1115,7 +1139,8 @@ async function buildInBuilder(opts, deps, prepared) {
|
|
|
1115
1139
|
if (err instanceof StepFailed && refusals.length > 0) return new RecipeError("image_builder_failed", refusalReason(refusals, logPath), logPath);
|
|
1116
1140
|
const last = tail.filter((line) => line.trim() !== "").at(-1);
|
|
1117
1141
|
const why = err instanceof StepFailed ? err.message : `the builder microVM failed: ${describeCallFailure(err)}`;
|
|
1118
|
-
|
|
1142
|
+
const panicNote = enginePanic === void 0 ? "" : `; the first panic in the Docker engine's log was: ${enginePanic}`;
|
|
1143
|
+
return new RecipeError("image_builder_failed", `${why}${panicNote}${last === void 0 ? "" : `; the last line was: ${last}`}. The build log is at ${logPath}`, logPath);
|
|
1119
1144
|
}
|
|
1120
1145
|
async function stopBuilder() {
|
|
1121
1146
|
let ok = true;
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
2
|
import { createRequire } from 'node:module';
|
|
3
3
|
import { isVersion, compareVersions } from './chunk-TQMI335S.js';
|
|
4
|
-
import { RUNNER_DIR_MODE, RUNNER_FILE_MODE } from './chunk-
|
|
4
|
+
import { RUNNER_DIR_MODE, RUNNER_FILE_MODE } from './chunk-MBGS33SL.js';
|
|
5
5
|
import { readFileSync, mkdirSync, writeFileSync, renameSync } from 'fs';
|
|
6
6
|
import { join } from 'path';
|
|
7
7
|
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
2
|
import { createRequire } from 'node:module';
|
|
3
|
-
import { RUNNER_DIR_MODE, RUNNER_FILE_MODE } from './chunk-
|
|
3
|
+
import { RUNNER_DIR_MODE, RUNNER_FILE_MODE } from './chunk-MBGS33SL.js';
|
|
4
4
|
import { readFileSync, mkdirSync, writeFileSync, renameSync } from 'fs';
|
|
5
5
|
import { join } from 'path';
|
|
6
6
|
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
2
|
import { createRequire } from 'node:module';
|
|
3
|
-
import { fetchFactories, selectFactory, saveFactoryConnection, autoConnectedLine } from './chunk-
|
|
3
|
+
import { fetchFactories, selectFactory, saveFactoryConnection, autoConnectedLine } from './chunk-CMNAAKFD.js';
|
|
4
4
|
import { resolveRepoIdentity } from './chunk-5DNCFOXA.js';
|
|
5
|
-
import { resolveGatewayCredentials } from './chunk-
|
|
5
|
+
import { resolveGatewayCredentials } from './chunk-FLFK42YF.js';
|
|
6
6
|
import { findGitDirs, readRepoConnection } from './chunk-BJ3KTMDH.js';
|
|
7
7
|
import { cliInvocation } from './chunk-CRB3POP4.js';
|
|
8
8
|
import { homeFromEnv } from './chunk-VNVZDWO3.js';
|
|
@@ -4,24 +4,24 @@ import { readsJobState, READ_JOB_STATE_FORMATS, jobStateFormatOf } from './chunk
|
|
|
4
4
|
import { DOCKERD_LOG, HELPER_PATH, HELPER_RECORD } from './chunk-HAD7LYDL.js';
|
|
5
5
|
import { writeDockerClientConfig } from './chunk-TTACRX4N.js';
|
|
6
6
|
import { zodProblem } from './chunk-I3LTIAOR.js';
|
|
7
|
-
import { senderPidfile } from './chunk-
|
|
8
|
-
import { installScrubContext } from './chunk-
|
|
9
|
-
import { ADDED_USER, shellQuote, GH_CONFIG_YML, ghHostsYml, AssetError, obtainImage, ensureRootfs, makeBuildsDirPrivate, gitRemoteFor, startServicesFor, createLeaseChannel, createBuildDisk, machineConfig, startJailedInto, resolveAgentUser, AgentUserError, runBuildSteps, LEASE_SECONDS, createContainerRuntime, stopContainer, cleanupContainer, outOfMemoryReason, containerSenderCommand, signalInContainer, syncInContainer, copyTranscriptsFromContainer, MANAGED_UNJAILED_REASON, senderAliveScript, helperFirecrackerNote, isLiteralAddress, stopJailed, deleteBuildDisk, startCheckContainer, lifecycleSteps, lifecycleFailureReason, writeEvalInput, DeliveryFailure, EVAL_INPUT_NAME, copyTranscripts, senderSignalScript, containerJudgeEnvironment, ROOT_DISK_ID_PREFIX, copyJudgeTree } from './chunk-
|
|
10
|
-
import { readBranchHead, fetchCommit, diffBetween } from './chunk-
|
|
7
|
+
import { senderPidfile } from './chunk-JUVUVXQZ.js';
|
|
8
|
+
import { installScrubContext } from './chunk-J6LFFZOY.js';
|
|
9
|
+
import { ADDED_USER, shellQuote, GH_CONFIG_YML, ghHostsYml, AssetError, obtainImage, ensureRootfs, makeBuildsDirPrivate, gitRemoteFor, startServicesFor, createLeaseChannel, createBuildDisk, machineConfig, startJailedInto, resolveAgentUser, AgentUserError, runBuildSteps, LEASE_SECONDS, createContainerRuntime, stopContainer, cleanupContainer, outOfMemoryReason, containerSenderCommand, signalInContainer, syncInContainer, copyTranscriptsFromContainer, MANAGED_UNJAILED_REASON, senderAliveScript, helperFirecrackerNote, isLiteralAddress, stopJailed, deleteBuildDisk, startCheckContainer, lifecycleSteps, lifecycleFailureReason, writeEvalInput, DeliveryFailure, EVAL_INPUT_NAME, copyTranscripts, senderSignalScript, containerJudgeEnvironment, ROOT_DISK_ID_PREFIX, copyJudgeTree } from './chunk-OKTLQTWH.js';
|
|
10
|
+
import { readBranchHead, fetchCommit, diffBetween } from './chunk-7HMF7I3D.js';
|
|
11
11
|
import { isSameProcess, startTimeOf } from './chunk-JBJTC3UU.js';
|
|
12
12
|
import { waitForAgent, vmExecArgs } from './chunk-XXVYHC6D.js';
|
|
13
13
|
import { socketPathProblem, vsockLinks, LEASE_LINK, linkVsockSockets } from './chunk-O5F376JJ.js';
|
|
14
|
-
import { describeCallFailure, resolveGoverningSource, refusalCode, removeStagedContext, stageGovernedContext, pinnedSourceOf, commandWithShim, logStamp, createRunnerLog, removeKeptContext, formatDuration, retrySend, formatClock, WORKFLOW_PERMISSION_REASON, keptContextTree } from './chunk-
|
|
15
|
-
import { HASH_ARGV, parseProgramHash, JUDGE_PROGRAM, writeJobFile, readJobFile, childEnvironment, withAnswerProtocol, judgeCommand, MAX_REPORT_BYTES, JUDGE_MAX_TURNS, JUDGE_DIR, COMMAND_DIR, MAX_ITEMS_BYTES } from './chunk-
|
|
14
|
+
import { describeCallFailure, resolveGoverningSource, refusalCode, removeStagedContext, stageGovernedContext, pinnedSourceOf, commandWithShim, logStamp, createRunnerLog, removeKeptContext, formatDuration, retrySend, formatClock, WORKFLOW_PERMISSION_REASON, keptContextTree } from './chunk-JKPJQNJF.js';
|
|
15
|
+
import { HASH_ARGV, parseProgramHash, JUDGE_PROGRAM, writeJobFile, readJobFile, childEnvironment, withAnswerProtocol, judgeCommand, MAX_REPORT_BYTES, JUDGE_MAX_TURNS, JUDGE_DIR, COMMAND_DIR, MAX_ITEMS_BYTES } from './chunk-LG2IQRTO.js';
|
|
16
16
|
import { CLAUDE_CODE_VERSION, FIRECRACKER_VERSION } from './chunk-R6QCSHKC.js';
|
|
17
17
|
import { imageBuildOf, isBuiltinContainer, isBuiltinProcess, isBuiltinVm, DEFAULT_CHECK_TIME_LIMIT_MINUTES } from './chunk-ZQ7VRXYM.js';
|
|
18
18
|
import { parseSize } from './chunk-YJLHUKYS.js';
|
|
19
|
-
import { WorkCommandError, postJson, isSignatureRefusal, getJson } from './chunk-
|
|
19
|
+
import { WorkCommandError, postJson, isSignatureRefusal, getJson } from './chunk-KQFWTTG7.js';
|
|
20
20
|
import { planArtifactUpload } from './chunk-EWVYQLD3.js';
|
|
21
21
|
import { scrubText } from './chunk-5DNCFOXA.js';
|
|
22
22
|
import { readCloudConfig } from './chunk-PJDQPF5N.js';
|
|
23
|
-
import { signerFor } from './chunk-
|
|
24
|
-
import { RUNNER_FILE_MODE, runnerDir, buildDir, vsockPath } from './chunk-
|
|
23
|
+
import { signerFor } from './chunk-634F6J3Q.js';
|
|
24
|
+
import { RUNNER_FILE_MODE, runnerDir, buildDir, vsockPath, jobConsolePath } from './chunk-MBGS33SL.js';
|
|
25
25
|
import { JOB_MOUNT, claudeCredential, repositoriesOf, primaryOf, buildEnvironment, CHECKOUT_DIR, parseIsolation, proxyEnvironment, withProxyWarningHidden, containerLocalAddress, destinationEnvironment, CLAUDE_CREDENTIAL_VARIABLES, builtInEnvironment, withHooksPath, startBuildServices, BUILT_IN_NAMES, AGENT_CREDENTIAL_MISSING, sharedUserEnvironment, headerVariables, authorEnvironment, withTunnelRecord, commitIdentityRecord, RELAY_PORT, repositoryPath, lifecycleWorkdir, CHECK_ITEMS_FILE, currentClaudeCredential, removedClaudeCredentialValues, checkEnvironment, EVAL_INPUT_DIR } from './chunk-D5ZGMXUL.js';
|
|
26
26
|
import { resolvePackRoot } from './chunk-G63KT5I5.js';
|
|
27
27
|
import { MAINTAINED_SKILLS } from './chunk-CDDED64E.js';
|
|
@@ -476,7 +476,7 @@ async function provisionMicroVm(input) {
|
|
|
476
476
|
}
|
|
477
477
|
if (state.cgroup !== void 0) input.save(state, environment);
|
|
478
478
|
}
|
|
479
|
-
const consolePath =
|
|
479
|
+
const consolePath = jobConsolePath(jobDir);
|
|
480
480
|
if (helper !== void 0) {
|
|
481
481
|
try {
|
|
482
482
|
await startJailedInto(
|
|
@@ -872,7 +872,7 @@ async function startCheckMicroVm(input) {
|
|
|
872
872
|
};
|
|
873
873
|
const checksDir = join(jobDir, "checks");
|
|
874
874
|
mkdirSync(checksDir, { recursive: true });
|
|
875
|
-
const consolePath =
|
|
875
|
+
const consolePath = jobConsolePath(checksDir);
|
|
876
876
|
input.save(state);
|
|
877
877
|
const fail = async (reason) => {
|
|
878
878
|
try {
|
|
@@ -5,7 +5,7 @@ import { addStdioMcpEntryIfAbsent, addDocsMcpEntryIfAbsent, DOCS_MCP_SERVER_NAME
|
|
|
5
5
|
import { installStarterPack } from './chunk-DY7Y7UT4.js';
|
|
6
6
|
import { AGENTS_MD_LAYOUT, declareAgentsMdLayout, linkClaudeSkills, SKILLS_LINK_PATH, describeSkillsLink, isAgentsMdLayout, holdsTodaysLayoutSources, discoverOuterlayerPaths } from './chunk-HJYBWJAS.js';
|
|
7
7
|
import { C } from './chunk-ANPNT6PM.js';
|
|
8
|
-
import { resolveGitCommonDir, defaultGitRunner } from './chunk-
|
|
8
|
+
import { resolveGitCommonDir, defaultGitRunner } from './chunk-YMGSMPPW.js';
|
|
9
9
|
import { loadTemplateFiles, loadMaintainedFiles, skillDir, AGENTS_SKILLS_BASE } from './chunk-G63KT5I5.js';
|
|
10
10
|
import { cliInvocation } from './chunk-CRB3POP4.js';
|
|
11
11
|
import { linkedAgentsPath } from './chunk-AVTI3FL5.js';
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
2
|
import { createRequire } from 'node:module';
|
|
3
|
-
import { checkFit, RUNNER_RESERVE_BYTES } from './chunk-
|
|
3
|
+
import { checkFit, RUNNER_RESERVE_BYTES } from './chunk-A6MLCH76.js';
|
|
4
4
|
import { readFileSync } from 'fs';
|
|
5
5
|
|
|
6
6
|
createRequire(import.meta.url);
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
2
|
import { createRequire } from 'node:module';
|
|
3
|
-
import { autoConnect, detectActiveSession } from './chunk-
|
|
3
|
+
import { autoConnect, detectActiveSession } from './chunk-RLGSBR56.js';
|
|
4
4
|
import { resolveRepoIdentity } from './chunk-5DNCFOXA.js';
|
|
5
5
|
import { C } from './chunk-ANPNT6PM.js';
|
|
6
|
-
import { defaultFetch, unauthorizedMessage, resolveGatewayCredentials } from './chunk-
|
|
6
|
+
import { defaultFetch, unauthorizedMessage, resolveGatewayCredentials } from './chunk-FLFK42YF.js';
|
|
7
7
|
import { parseWorkItemEnv } from './chunk-T2Q7ISPE.js';
|
|
8
8
|
import { parseTrackerNumber, trackerNumberError } from './chunk-WZBHBH3J.js';
|
|
9
9
|
import { homeFromEnv } from './chunk-VNVZDWO3.js';
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
2
|
import { createRequire } from 'node:module';
|
|
3
|
-
import { currentLink } from './chunk-
|
|
3
|
+
import { currentLink } from './chunk-O7MSQBTH.js';
|
|
4
4
|
import { readFileSync, statSync, chmodSync, mkdirSync, writeFileSync, renameSync, rmSync, existsSync, lstatSync, accessSync, constants, realpathSync } from 'fs';
|
|
5
5
|
import { randomBytes } from 'crypto';
|
|
6
6
|
import { join, dirname, delimiter, resolve } from 'path';
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
2
|
import { createRequire } from 'node:module';
|
|
3
3
|
import { removeRetiredSkills } from './chunk-UIUGTW5C.js';
|
|
4
|
-
import { defaultFetch, resolveGatewayCredentials } from './chunk-
|
|
4
|
+
import { defaultFetch, resolveGatewayCredentials } from './chunk-FLFK42YF.js';
|
|
5
5
|
import { withTokenHeader } from './chunk-D5ZGMXUL.js';
|
|
6
6
|
import { appendContextProvenance } from './chunk-ZJSNLVCE.js';
|
|
7
7
|
import { loadMaintainedFiles, writeMaintainedFiles } from './chunk-G63KT5I5.js';
|
|
@@ -684,7 +684,7 @@ async function missingControlPlane(cwd, sessionId, home, env) {
|
|
|
684
684
|
cleanupEarlierCopies(dirs);
|
|
685
685
|
}
|
|
686
686
|
if (!contextPossiblyGoverned(cwd, home)) return void 0;
|
|
687
|
-
const { governanceOf } = await import('./control-plane-launch-
|
|
687
|
+
const { governanceOf } = await import('./control-plane-launch-O3TXH3LI.js');
|
|
688
688
|
if (await governanceOf({ cwd, env, home }) !== "governed") return void 0;
|
|
689
689
|
recordMissingContext(dirs, sessionId, home);
|
|
690
690
|
const launcher = `${cliInvocation()} claude`;
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
2
|
import { createRequire } from 'node:module';
|
|
3
3
|
import { isSameProcess } from './chunk-JBJTC3UU.js';
|
|
4
|
-
import { RUNNER_DIR_MODE, RUNNER_FILE_MODE } from './chunk-
|
|
4
|
+
import { RUNNER_DIR_MODE, RUNNER_FILE_MODE } from './chunk-MBGS33SL.js';
|
|
5
5
|
import { existsSync, readFileSync, mkdirSync, writeFileSync, rmSync } from 'fs';
|
|
6
6
|
import { dirname } from 'path';
|
|
7
7
|
|
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
2
|
import { createRequire } from 'node:module';
|
|
3
3
|
import { launchRefusalForSession } from './chunk-ESVW4MJY.js';
|
|
4
|
-
import { detectActiveSession, autoConnect } from './chunk-
|
|
4
|
+
import { detectActiveSession, autoConnect } from './chunk-RLGSBR56.js';
|
|
5
5
|
import { resolveRepoIdentity } from './chunk-5DNCFOXA.js';
|
|
6
6
|
import { C } from './chunk-ANPNT6PM.js';
|
|
7
|
-
import { resolveGatewayCredentials, defaultFetch, unauthorizedMessage } from './chunk-
|
|
7
|
+
import { resolveGatewayCredentials, defaultFetch, unauthorizedMessage } from './chunk-FLFK42YF.js';
|
|
8
8
|
import { launchedItemForSession } from './chunk-T2Q7ISPE.js';
|
|
9
9
|
import { parseTrackerNumber, trackerNumberError } from './chunk-WZBHBH3J.js';
|
|
10
10
|
import { CriteriaListSchema } from './chunk-E6CO3MJE.js';
|
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
2
|
import { createRequire } from 'node:module';
|
|
3
|
-
import { staleBuildRefusal, staleBuildWarning, detectCi } from './chunk-
|
|
3
|
+
import { staleBuildRefusal, staleBuildWarning, detectCi } from './chunk-J6LFFZOY.js';
|
|
4
4
|
import { launchRefusalForSession } from './chunk-ESVW4MJY.js';
|
|
5
|
-
import { detectActiveSession, autoConnect } from './chunk-
|
|
5
|
+
import { detectActiveSession, autoConnect } from './chunk-RLGSBR56.js';
|
|
6
6
|
import { readEffectiveArtifactSpoolState, localArtifactIds, isArtifactTombstoned, artifactBlobsDir, appendArtifactRecord, artifactsSpoolPath, findPendingArtifactRecord, sanitizeTerminal, appendArtifactTombstone } from './chunk-EWVYQLD3.js';
|
|
7
7
|
import { resolveRepoIdentity } from './chunk-5DNCFOXA.js';
|
|
8
8
|
import { C } from './chunk-ANPNT6PM.js';
|
|
9
|
-
import { resolveGatewayCredentials, defaultFetch, unauthorizedMessage } from './chunk-
|
|
9
|
+
import { resolveGatewayCredentials, defaultFetch, unauthorizedMessage } from './chunk-FLFK42YF.js';
|
|
10
10
|
import { parseTrackerNumber, trackerNumberError } from './chunk-WZBHBH3J.js';
|
|
11
11
|
import { cliInvocation } from './chunk-CRB3POP4.js';
|
|
12
12
|
import { ARTIFACT_MAX_CAPTION_LENGTH, ArtifactCriterionIdSchema, ARTIFACT_MAX_BYTES, ARTIFACT_MAX_FILENAME_LENGTH, mediaTypeForArtifactPath, inferArtifactKind, ARTIFACT_MAX_REPLACES_TARGETS, parseTestSelector, parseJunit, bindTests } from './chunk-E6CO3MJE.js';
|
|
@@ -252,7 +252,7 @@ async function runClaudeLauncher(args, deps = {}) {
|
|
|
252
252
|
return 1;
|
|
253
253
|
}
|
|
254
254
|
} else {
|
|
255
|
-
const { resolveLaunchPlane } = await import('./control-plane-launch-
|
|
255
|
+
const { resolveLaunchPlane } = await import('./control-plane-launch-O3TXH3LI.js');
|
|
256
256
|
const plane = env[GOVERNANCE_VARIABLE] === "self" ? { kind: "none" } : await resolveLaunchPlane({ cwd, env, home, fetchImpl: deps.fetchImpl, stderr });
|
|
257
257
|
if (plane.kind === "none") {
|
|
258
258
|
const own2 = ownSkillsDirFor(cwd, home, [], stderr);
|