@outerlayer/cli 0.33.0-next.20261022173306 → 0.33.0-next.20261022182214
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/README.md +4 -1
- package/dist/{agent-setup-TXC37SDW.js → agent-setup-4WKFXVOP.js} +5 -5
- package/dist/{build-ZG3IYBVK.js → build-RBLDHQTY.js} +4 -4
- package/dist/{build-disk-5CI7FSX4.js → build-disk-4EEKP23Z.js} +5 -5
- package/dist/build-info.json +1 -1
- package/dist/{builder-6CZUYTHS.js → builder-V3KALVKL.js} +4 -4
- package/dist/{check-TKBLYWSD.js → check-LDDMISY6.js} +31 -31
- package/dist/{chunk-IOF4N6ED.js → chunk-33SMNWZX.js} +4 -4
- package/dist/{chunk-7EBXH2LK.js → chunk-3BGCXC3O.js} +2 -2
- package/dist/{chunk-IJXZFFW4.js → chunk-4AHKR3K5.js} +8 -8
- package/dist/{chunk-427LS26N.js → chunk-5CZV4FZ5.js} +3 -3
- package/dist/{chunk-PETBUIR4.js → chunk-5KO3TN2F.js} +1 -1
- package/dist/{chunk-IZDBVUBY.js → chunk-634F6J3Q.js} +1 -1
- package/dist/{chunk-6N4CYTHB.js → chunk-A6MLCH76.js} +1 -1
- package/dist/{chunk-DSSDKQGX.js → chunk-CMNAAKFD.js} +1 -1
- package/dist/{chunk-HAD7LYDL.js → chunk-COLOLDY3.js} +33 -6
- package/dist/{chunk-64P3ZIGA.js → chunk-DZGLRVS3.js} +3 -3
- package/dist/{chunk-25JWQ3PF.js → chunk-EBX2DU2M.js} +2 -2
- package/dist/{chunk-GMMHAUBZ.js → chunk-F5HZT672.js} +3 -3
- package/dist/{chunk-M5B7QVWU.js → chunk-FLFK42YF.js} +1 -1
- package/dist/{chunk-QY7BNRS6.js → chunk-FSFAP7GA.js} +2 -2
- package/dist/{chunk-NVU7QK3A.js → chunk-HDD3BKAE.js} +2 -2
- package/dist/{chunk-FXTYLRFW.js → chunk-IQFX5GQH.js} +13 -13
- package/dist/{chunk-ZU4ZY7CZ.js → chunk-J6LFFZOY.js} +4 -4
- package/dist/{chunk-6QHLXYS2.js → chunk-JDKLORO3.js} +38 -13
- package/dist/{chunk-VTCV2EIC.js → chunk-JKPJQNJF.js} +5 -5
- package/dist/{chunk-7ZPHKBYH.js → chunk-JUVUVXQZ.js} +2 -2
- package/dist/{chunk-R6QCSHKC.js → chunk-KFA762LZ.js} +2 -2
- package/dist/{chunk-KCRUMHSL.js → chunk-KQFWTTG7.js} +5 -5
- package/dist/{chunk-XR4HMWQI.js → chunk-LOYLFW4I.js} +1 -1
- package/dist/{chunk-IX6EADX7.js → chunk-MBGS33SL.js} +10 -1
- package/dist/{chunk-KM2ZFYJ5.js → chunk-MCIPCQP3.js} +16 -16
- package/dist/{chunk-KGLEUJZO.js → chunk-MWAA3A5T.js} +4 -4
- package/dist/{chunk-USCRSIES.js → chunk-O7MSQBTH.js} +1 -1
- package/dist/{chunk-CWP6P7FQ.js → chunk-PAFSFC6Q.js} +7 -7
- 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-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-QUV5HTDW.js} +86 -86
- package/dist/{command-FPIWWJOW.js → command-LEE7TFQE.js} +19 -19
- package/dist/{connect-cmd-6CTOXCMO.js → connect-cmd-YNPOL2Y5.js} +4 -4
- package/dist/{container-start-22L2L3ZN.js → container-start-SL63GFLG.js} +19 -19
- package/dist/{control-plane-launch-LMMGKN45.js → control-plane-launch-O3TXH3LI.js} +4 -4
- package/dist/{docker-HRRTSESV.js → docker-WVTQTRSC.js} +4 -4
- package/dist/{doctor-SXCEI4PK.js → doctor-KT4HGALK.js} +22 -22
- 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-Q6W74DCY.js} +10 -10
- 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/{guest-init-KDK4DQFK.js → guest-init-TGECSRKO.js} +1 -1
- 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-7P6JHB6Z.js} +18 -18
- package/dist/{init-5MBBGEV6.js → init-BMTDKZU6.js} +18 -18
- package/dist/{init-cmd-KUQIWSPY.js → init-cmd-E7DMPT6E.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-7MFQISEV.js} +31 -31
- package/dist/{machine-7HDA6MFG.js → machine-4QGWUII5.js} +15 -15
- 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-X3UP5IQ4.js} +4 -4
- package/dist/{runner-key-FFWA4AOV.js → runner-key-3STHCRT5.js} +18 -18
- 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-WS2REEFU.js} +20 -20
- 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/skill-pack/maintained/outerlayer-build/references/agent-briefs.md +9 -3
- package/skill-pack/maintained/outerlayer-build/references/evidence.md +4 -3
- package/skill-pack/maintained/outerlayer-evidence/SKILL.md +8 -7
- package/dist/paths-G6G3BJHG.js +0 -9
|
@@ -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-MWAA3A5T.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-5CZV4FZ5.js';
|
|
13
13
|
import { RecipeError, DOCKER_FEATURE, writeSanitizedRecipe, classifyProperties } from './chunk-3Z3MPR55.js';
|
|
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-
|
|
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-KFA762LZ.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,10 +1,10 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
2
|
import { createRequire } from 'node:module';
|
|
3
|
-
import { WorkCommandError, postJson } from './chunk-
|
|
4
|
-
import { defaultGitRunner, materializeContext, isStagingWriteFault, lookupGoverningSource } from './chunk-
|
|
5
|
-
import { signingFetchFor } from './chunk-
|
|
6
|
-
import { signerFor } from './chunk-
|
|
7
|
-
import { SHIM_DIR, stagedContextDir, contextHomeDir, deliveryDir, keptContextDir } from './chunk-
|
|
3
|
+
import { WorkCommandError, postJson } from './chunk-KQFWTTG7.js';
|
|
4
|
+
import { defaultGitRunner, materializeContext, isStagingWriteFault, lookupGoverningSource } from './chunk-YMGSMPPW.js';
|
|
5
|
+
import { signingFetchFor } from './chunk-FLFK42YF.js';
|
|
6
|
+
import { signerFor } from './chunk-634F6J3Q.js';
|
|
7
|
+
import { SHIM_DIR, stagedContextDir, contextHomeDir, deliveryDir, keptContextDir } from './chunk-MBGS33SL.js';
|
|
8
8
|
import { unsupportedLayout, layoutRefusalReason, composeDelivery } from './chunk-FGF52V4V.js';
|
|
9
9
|
import { SHIM_SCRIPT, GOVERNANCE_VARIABLE } from './chunk-HCVLP7XA.js';
|
|
10
10
|
import { readDegraded, readContextManifest, readSourceCache } from './chunk-YQR6E6OV.js';
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
2
|
import { createRequire } from 'node:module';
|
|
3
|
-
import { LiveUploader } from './chunk-
|
|
3
|
+
import { LiveUploader } from './chunk-J6LFFZOY.js';
|
|
4
4
|
import { CaptureDaemon } from './chunk-5DNCFOXA.js';
|
|
5
|
-
import { spoolDir } from './chunk-
|
|
5
|
+
import { spoolDir } from './chunk-ZANK3WWF.js';
|
|
6
6
|
import { parseWorkItemEnv } from './chunk-T2Q7ISPE.js';
|
|
7
7
|
import { homeFromEnv } from './chunk-VNVZDWO3.js';
|
|
8
8
|
import { mkdirSync, writeFileSync, rmSync } from 'fs';
|
|
@@ -29,13 +29,13 @@ var FIRECRACKER_SHA256 = {
|
|
|
29
29
|
var FIRECRACKER_BINARY_SHA256 = {
|
|
30
30
|
x86_64: "99ad0f5cd0514a88aad0e9ae8cfdb3cc3b4ab9d190e1194602406c786b5de7a5"
|
|
31
31
|
};
|
|
32
|
-
var GUEST_ASSETS_VERSION = "
|
|
32
|
+
var GUEST_ASSETS_VERSION = "11";
|
|
33
33
|
var GUEST_ASSETS_BASE_URL = `https://github.com/outerlayerai/guest-assets/releases/download/guest-${GUEST_ASSETS_VERSION}`;
|
|
34
34
|
var GUEST_KERNEL_SHA256 = {
|
|
35
35
|
x86_64: "8552fad4bdea1d49f3e7d2aa500ce3f8918fcd2fc66779fd83235949688a39bb"
|
|
36
36
|
};
|
|
37
37
|
var GUEST_HELPER_SHA256 = {
|
|
38
|
-
x86_64: "
|
|
38
|
+
x86_64: "e373f0fdb192e9930d19dd39cf75ff1c6cf08fdf5a0f041f12c1f999919fc05a"
|
|
39
39
|
};
|
|
40
40
|
function guestAssetsPinned(arch) {
|
|
41
41
|
const zero = "0".repeat(64);
|
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
2
|
import { createRequire } from 'node:module';
|
|
3
|
-
import { detectActiveSession, autoConnect } from './chunk-
|
|
4
|
-
import { workPageUrl } from './chunk-
|
|
3
|
+
import { detectActiveSession, autoConnect } from './chunk-RLGSBR56.js';
|
|
4
|
+
import { workPageUrl } from './chunk-CMNAAKFD.js';
|
|
5
5
|
import { sanitizeTerminal } from './chunk-EWVYQLD3.js';
|
|
6
6
|
import { resolveRepoIdentity } from './chunk-5DNCFOXA.js';
|
|
7
7
|
import { C } from './chunk-ANPNT6PM.js';
|
|
8
|
-
import { resolveGatewayCredentials, unauthorizedMessage, defaultFetch } from './chunk-
|
|
9
|
-
import { signRunnerRequest } from './chunk-
|
|
8
|
+
import { resolveGatewayCredentials, unauthorizedMessage, defaultFetch } from './chunk-FLFK42YF.js';
|
|
9
|
+
import { signRunnerRequest } from './chunk-634F6J3Q.js';
|
|
10
10
|
import { readRepoConnection } from './chunk-BJ3KTMDH.js';
|
|
11
11
|
import { parseTrackerNumber, trackerNumberError } from './chunk-WZBHBH3J.js';
|
|
12
12
|
import { homeFromEnv } from './chunk-VNVZDWO3.js';
|
|
@@ -441,7 +441,7 @@ async function runWorkLinkSession(opts) {
|
|
|
441
441
|
return await linkSession(opts);
|
|
442
442
|
} catch (err) {
|
|
443
443
|
if (opts.logFailures) {
|
|
444
|
-
const { logHookError } = await import('./hook-fast-
|
|
444
|
+
const { logHookError } = await import('./hook-fast-PXSDGAUP.js');
|
|
445
445
|
const reason = err instanceof Error ? err.message : String(err);
|
|
446
446
|
logHookError(opts.home ?? homeFromEnv(opts.env ?? process.env), new Error(`work link-session #${opts.number} failed: ${reason}`));
|
|
447
447
|
}
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
import { createRequire } from 'node:module';
|
|
3
3
|
import { sanitizeTerminal } from './chunk-EWVYQLD3.js';
|
|
4
4
|
import { isAgentsMdLayout } from './chunk-HJYBWJAS.js';
|
|
5
|
-
import { resolveGatewayCredentials, defaultFetch } from './chunk-
|
|
5
|
+
import { resolveGatewayCredentials, defaultFetch } from './chunk-FLFK42YF.js';
|
|
6
6
|
import { versionAtLeast } from './chunk-HCVLP7XA.js';
|
|
7
7
|
import { findGitDirs } from './chunk-BJ3KTMDH.js';
|
|
8
8
|
import { machineSkillsState, staleClaudeSkills } from './chunk-GFYEMCPP.js';
|
|
@@ -86,5 +86,14 @@ function deliveryDir(repository, sha) {
|
|
|
86
86
|
}
|
|
87
87
|
return `${BUILD_HOME}/.outerlayer/context/${repository}/${sha}`;
|
|
88
88
|
}
|
|
89
|
+
function jobConsolePath(jobDirPath) {
|
|
90
|
+
return join(jobDirPath, "vm-console.log");
|
|
91
|
+
}
|
|
92
|
+
function builderConsolePath(buildDirPath) {
|
|
93
|
+
return join(buildDirPath, "console.log");
|
|
94
|
+
}
|
|
95
|
+
function imageBuildLogsDir(configPath, owner, name) {
|
|
96
|
+
return join(imagesDir(configPath), owner, name, "builds");
|
|
97
|
+
}
|
|
89
98
|
|
|
90
|
-
export { RUNNER_DIR_MODE, RUNNER_FILE_MODE, SHIM_DIR, attemptStamp, buildDir, builderCacheDiskPath, buildsDir, contextHomeDir, deliveryDir, diskTemplatesDir, ghConfigDir, hostKeyPath, imagesDir, jobDir, jobsDir, keptContextDir, mirrorDir, pidFilePath, repoCacheDir, rootfsDir, rootfsPathFor, runnerDir, runnerDirOfBuild, spoolDir, stagedContextDir, vmAssetsDir, vsockPath };
|
|
99
|
+
export { RUNNER_DIR_MODE, RUNNER_FILE_MODE, SHIM_DIR, attemptStamp, buildDir, builderCacheDiskPath, builderConsolePath, buildsDir, contextHomeDir, deliveryDir, diskTemplatesDir, ghConfigDir, hostKeyPath, imageBuildLogsDir, imagesDir, jobConsolePath, jobDir, jobsDir, keptContextDir, mirrorDir, pidFilePath, repoCacheDir, rootfsDir, rootfsPathFor, runnerDir, runnerDirOfBuild, spoolDir, stagedContextDir, vmAssetsDir, vsockPath };
|
|
@@ -1,29 +1,29 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
2
|
import { createRequire } from 'node:module';
|
|
3
|
-
import { releaseLease, isUnfinished, setStage, jobEnv, runHook, describeHookEnd, provisionMicroVm, deliverCommitHooks, provisionProcess, provisionEnvironment, readProvisionOut, resolveHostBuild, workdirProblem, listenOnBroker, hostEnvironment, hostCommandEnvironment, execArgv, MICROVM_COMMAND_DIR, commandLogOffset, startMicroVmCommand, microVmCommandLine, runCommand, execCommandLine, startSender, startHostServices, 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-
|
|
3
|
+
import { releaseLease, isUnfinished, setStage, jobEnv, runHook, describeHookEnd, provisionMicroVm, deliverCommitHooks, provisionProcess, provisionEnvironment, readProvisionOut, resolveHostBuild, workdirProblem, listenOnBroker, hostEnvironment, hostCommandEnvironment, execArgv, MICROVM_COMMAND_DIR, commandLogOffset, startMicroVmCommand, microVmCommandLine, runCommand, execCommandLine, startSender, startHostServices, 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-IQFX5GQH.js';
|
|
4
4
|
import { JOB_STATE_FORMAT, readsJobState, jobStateFormatOf } from './chunk-ZVB57WI6.js';
|
|
5
|
-
import { readHousekeepingRecord, writeHousekeepingRecord } from './chunk-
|
|
5
|
+
import { readHousekeepingRecord, writeHousekeepingRecord } from './chunk-QPAPHQZ7.js';
|
|
6
6
|
import { decideInstalledSwitch } from './chunk-3JVYMD4G.js';
|
|
7
7
|
import { fetchVersionMeta, npmVersion, npmSupportsProvenance, fetchTarballDigest, fetchProvenance, installVersion, auditSignatures } from './chunk-E7R2GIAW.js';
|
|
8
|
-
import { fitImageBuildMemory } from './chunk-
|
|
8
|
+
import { fitImageBuildMemory } from './chunk-W4UFGYKQ.js';
|
|
9
9
|
import { RUNNER_PROTOCOL } from './chunk-YKYCE4HY.js';
|
|
10
|
-
import { writePendingUpdate } from './chunk-
|
|
11
|
-
import { currentSkillCommand, formerSkillProblem, realBlockedProbes, checkBlocked } from './chunk-
|
|
12
|
-
import { writeMarker, readMarker, currentVersion, removeMarker, entryIn, versionDir, startedThroughCurrent, switchCurrent, isInLayout, cleanVersions, stagingDir } from './chunk-
|
|
10
|
+
import { writePendingUpdate } from './chunk-5KO3TN2F.js';
|
|
11
|
+
import { currentSkillCommand, formerSkillProblem, realBlockedProbes, checkBlocked } from './chunk-PAFSFC6Q.js';
|
|
12
|
+
import { writeMarker, readMarker, currentVersion, removeMarker, entryIn, versionDir, startedThroughCurrent, switchCurrent, isInLayout, cleanVersions, stagingDir } from './chunk-O7MSQBTH.js';
|
|
13
13
|
import { RepoFilter } from './chunk-TBT347UY.js';
|
|
14
|
-
import { leaseTimeLeftMs, createContainerRuntime, withTunnelLog, LEASE_SECONDS, provisionContainer, leaseExpiresAtMs, deliverContainerHooks, lifecycleSteps, lifecycleFailureReason, prepareBranch, containerCommandExec, setUpRunnerCgroup, sweepImageBuilders, measureDisk, parseCpuList, ensureTunnel, keepGhConfigCurrent, filesAreCopied, gitRemoteFor, startServicesFor, createLeaseChannel } from './chunk-
|
|
15
|
-
import { claimPidFile, writePidFile, readPidFile, releasePidFile } from './chunk-
|
|
14
|
+
import { leaseTimeLeftMs, createContainerRuntime, withTunnelLog, LEASE_SECONDS, provisionContainer, leaseExpiresAtMs, deliverContainerHooks, lifecycleSteps, lifecycleFailureReason, prepareBranch, containerCommandExec, setUpRunnerCgroup, sweepImageBuilders, measureDisk, parseCpuList, ensureTunnel, keepGhConfigCurrent, filesAreCopied, gitRemoteFor, startServicesFor, createLeaseChannel } from './chunk-JDKLORO3.js';
|
|
15
|
+
import { claimPidFile, writePidFile, readPidFile, releasePidFile } from './chunk-ZFJAQS3A.js';
|
|
16
16
|
import { startTimeOf, isSameProcess } from './chunk-JBJTC3UU.js';
|
|
17
|
-
import { describeCallFailure, retrySend, shortClaim, relativeToRunner, formatDuration, BuildTokens, classifyRefusal, refusalCode, createRunnerLog, formatClock } from './chunk-
|
|
18
|
-
import { tagToPull, pullInstruction, imageTag, writeUpdateStatus } from './chunk-
|
|
17
|
+
import { describeCallFailure, retrySend, shortClaim, relativeToRunner, formatDuration, BuildTokens, classifyRefusal, refusalCode, createRunnerLog, formatClock } from './chunk-JKPJQNJF.js';
|
|
18
|
+
import { tagToPull, pullInstruction, imageTag, writeUpdateStatus } from './chunk-PWB7EK4Z.js';
|
|
19
19
|
import { isVersion, compareVersions, satisfiesRange } from './chunk-TQMI335S.js';
|
|
20
20
|
import { freeBytes, formatBytes } from './chunk-YYYRBYWG.js';
|
|
21
|
-
import { writeJobFile, ensureRunnerIdentity, readJobFile, builderName, runnerLabelValue, ensureFailureCount, builderSpec, ensureBuilder, spawnRun, BUILD_LABEL, RUNNER_LABEL, readJobFileChecked } from './chunk-
|
|
21
|
+
import { writeJobFile, ensureRunnerIdentity, readJobFile, builderName, runnerLabelValue, ensureFailureCount, builderSpec, ensureBuilder, spawnRun, BUILD_LABEL, RUNNER_LABEL, readJobFileChecked } from './chunk-5CZV4FZ5.js';
|
|
22
22
|
import { isBuiltinContainer, isBuiltinVm, isBuiltinProcess, loadRunnerConfig, checkHooks, builtinKind, DEFAULT_UPDATE_MAX_WAIT_HOURS } from './chunk-ZQ7VRXYM.js';
|
|
23
23
|
import { exceedsDisk } from './chunk-YJLHUKYS.js';
|
|
24
|
-
import { isSignatureRefusal, WorkCommandError, getJson, postJson } from './chunk-
|
|
25
|
-
import { loadHostKey, ensureHostKey, signerFor } from './chunk-
|
|
26
|
-
import { RUNNER_DIR_MODE, runnerDir, buildDir, attemptStamp, jobDir, RUNNER_FILE_MODE, jobsDir, pidFilePath, spoolDir, imagesDir, rootfsDir, builderCacheDiskPath } from './chunk-
|
|
24
|
+
import { isSignatureRefusal, WorkCommandError, getJson, postJson } from './chunk-KQFWTTG7.js';
|
|
25
|
+
import { loadHostKey, ensureHostKey, signerFor } from './chunk-634F6J3Q.js';
|
|
26
|
+
import { RUNNER_DIR_MODE, runnerDir, buildDir, attemptStamp, jobDir, RUNNER_FILE_MODE, jobsDir, pidFilePath, spoolDir, imagesDir, rootfsDir, builderCacheDiskPath } from './chunk-MBGS33SL.js';
|
|
27
27
|
import { parseClaimIdentity, parseClaimedRepositories, parseUnreachable, repositoriesOf, primaryOf, sharedUserEnvironment, JOB_MOUNT, takeClaudeCredential, heldClaudeCredential, currentClaudeCredential } from './chunk-D5ZGMXUL.js';
|
|
28
28
|
import { resolveVersion } from './chunk-RA3O54FC.js';
|
|
29
29
|
import { fdName } from './chunk-HACGUL52.js';
|
|
@@ -1837,7 +1837,7 @@ var CLAIM_REFUSAL_CODES = new Set(
|
|
|
1837
1837
|
"pull_request_from_fork pull_request_on_default_branch pull_request_ambiguous pull_request_repository_not_connected repository_not_reachable branch_claimed_elsewhere".split(" ")
|
|
1838
1838
|
);
|
|
1839
1839
|
async function tryClaimAndStart(state, item, queue) {
|
|
1840
|
-
const { postJson: postJson2 } = await import('./work-cmd-
|
|
1840
|
+
const { postJson: postJson2 } = await import('./work-cmd-IGYK3MVP.js');
|
|
1841
1841
|
const log = logOf(state);
|
|
1842
1842
|
const hostKey = await loadHostKey(state.config.configPath);
|
|
1843
1843
|
const claim = await retrySend(
|
|
@@ -3033,7 +3033,7 @@ async function start(configPath, deps = { fetchImpl: fetch }) {
|
|
|
3033
3033
|
check: update.check ? () => update.check(configPath) : async () => {
|
|
3034
3034
|
const held = heldClaudeCredential();
|
|
3035
3035
|
const env = held === void 0 ? process.env : { ...process.env, [held.variable]: held.value };
|
|
3036
|
-
return (await import('./check-
|
|
3036
|
+
return (await import('./check-LDDMISY6.js')).runRunnerCheck(configPath, { fetchImpl: deps.fetchImpl, env });
|
|
3037
3037
|
},
|
|
3038
3038
|
now: () => (deps.now ?? (() => /* @__PURE__ */ new Date()))().getTime(),
|
|
3039
3039
|
log
|
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
2
|
import { createRequire } from 'node:module';
|
|
3
|
-
import { claimPidFile, RunnerAlreadyRunningError, releasePidFile } from './chunk-
|
|
3
|
+
import { claimPidFile, RunnerAlreadyRunningError, releasePidFile } from './chunk-ZFJAQS3A.js';
|
|
4
4
|
import { startTimeOf } from './chunk-JBJTC3UU.js';
|
|
5
5
|
import { RecipeError, locateRecipe, readRecipe, assertBuildable, writeSanitizedRecipe, classifyProperties, SANITIZED_NAME } from './chunk-3Z3MPR55.js';
|
|
6
|
-
import { GH_VERSION, VOICE_PACK_FILES, VOICE_PACK_VERSION, FFMPEG_STATIC, FFMPEG_BUILD_TAG, GH_SHA256, TINI_SHA256, TINI_VERSION, CLAUDE_CODE_VERSION, NODE_IMAGE, DEFAULT_BASE_IMAGE, MEDIA_PINS, PLAYWRIGHT_VERSION } from './chunk-
|
|
7
|
-
import { RUNNER_DIR_MODE, RUNNER_FILE_MODE, repoCacheDir, imagesDir, attemptStamp, runnerDir, rootfsPathFor } from './chunk-
|
|
6
|
+
import { GH_VERSION, VOICE_PACK_FILES, VOICE_PACK_VERSION, FFMPEG_STATIC, FFMPEG_BUILD_TAG, GH_SHA256, TINI_SHA256, TINI_VERSION, CLAUDE_CODE_VERSION, NODE_IMAGE, DEFAULT_BASE_IMAGE, MEDIA_PINS, PLAYWRIGHT_VERSION } from './chunk-KFA762LZ.js';
|
|
7
|
+
import { RUNNER_DIR_MODE, RUNNER_FILE_MODE, repoCacheDir, imagesDir, imageBuildLogsDir, attemptStamp, runnerDir, rootfsPathFor } from './chunk-MBGS33SL.js';
|
|
8
8
|
import { PROXY_WARNING_FLAG, withGitConfig, tokenHeader } from './chunk-D5ZGMXUL.js';
|
|
9
9
|
import { RELAY_ID, RELAY_USER } from './chunk-MESOOLF4.js';
|
|
10
10
|
import { mkdirSync, rmSync, writeFileSync, existsSync, mkdtempSync, cpSync, readFileSync, readdirSync, lstatSync, readlinkSync } from 'fs';
|
|
@@ -423,7 +423,7 @@ async function prepareImageBuild(opts) {
|
|
|
423
423
|
const baseImage = opts.defaultBaseImage ?? DEFAULT_BASE_IMAGE;
|
|
424
424
|
const cacheDir = repoCacheDir(opts.configPath, owner, name);
|
|
425
425
|
const repoRecords = join(imagesDir(opts.configPath), owner, name);
|
|
426
|
-
const logPath = join(
|
|
426
|
+
const logPath = join(imageBuildLogsDir(opts.configPath, owner, name), `${attemptStamp(now())}.log`);
|
|
427
427
|
const lockPath = join(repoRecords, LOCK_NAME);
|
|
428
428
|
const self = { pid: process.pid, start: startTimeOf(process.pid) ?? "" };
|
|
429
429
|
mkdirSync(repoRecords, { recursive: true, mode: RUNNER_DIR_MODE });
|
|
@@ -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,14 +1,14 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
2
|
import { createRequire } from 'node:module';
|
|
3
|
-
import { isPlaceholderCommand } from './chunk-
|
|
4
|
-
import { describeCallFailure } from './chunk-
|
|
5
|
-
import { checkFit } from './chunk-
|
|
6
|
-
import { realBuildDiskProbe, checkDiskFit, DEFAULT_BUILD_DISK } from './chunk-
|
|
7
|
-
import { builderDiskPinned } from './chunk-
|
|
3
|
+
import { isPlaceholderCommand } from './chunk-33SMNWZX.js';
|
|
4
|
+
import { describeCallFailure } from './chunk-JKPJQNJF.js';
|
|
5
|
+
import { checkFit } from './chunk-A6MLCH76.js';
|
|
6
|
+
import { realBuildDiskProbe, checkDiskFit, DEFAULT_BUILD_DISK } from './chunk-3BGCXC3O.js';
|
|
7
|
+
import { builderDiskPinned } from './chunk-KFA762LZ.js';
|
|
8
8
|
import { builtinKind, imageBuildOf } from './chunk-ZQ7VRXYM.js';
|
|
9
|
-
import { WorkCommandError, getJson } from './chunk-
|
|
9
|
+
import { WorkCommandError, getJson } from './chunk-KQFWTTG7.js';
|
|
10
10
|
import { sanitizeTerminal } from './chunk-EWVYQLD3.js';
|
|
11
|
-
import { signerFor } from './chunk-
|
|
11
|
+
import { signerFor } from './chunk-634F6J3Q.js';
|
|
12
12
|
import { CLAUDE_CREDENTIAL_VARIABLES, claudeCredential, claudeCredentialVariablesSet } from './chunk-D5ZGMXUL.js';
|
|
13
13
|
import { closeSync, openSync, constants } from 'fs';
|
|
14
14
|
import { totalmem } from 'os';
|
|
@@ -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';
|
|
@@ -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);
|