@outerlayer/cli 0.34.0-next.20261026145838 → 0.34.0-next.20261026182624

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.
Files changed (125) hide show
  1. package/README.md +6 -0
  2. package/dist/{agent-setup-FNDKCPUP.js → agent-setup-WOEZELVB.js} +6 -6
  3. package/dist/{bridge-YJBB4YA3.js → bridge-F5FBQSPZ.js} +2 -2
  4. package/dist/{build-ZJK6CPNH.js → build-UDOBVX5J.js} +7 -7
  5. package/dist/{build-disk-7HS4UF7O.js → build-disk-C3WIAHCL.js} +6 -6
  6. package/dist/build-info.json +1 -1
  7. package/dist/{builder-MHZKDI4H.js → builder-YNXWVH2V.js} +5 -5
  8. package/dist/{check-4W4QUBMP.js → check-G2K76NEM.js} +39 -38
  9. package/dist/{chunk-2ILU7UAU.js → chunk-3VZTNXK5.js} +1 -1
  10. package/dist/{chunk-4YFMNF5Y.js → chunk-4J2FF5HZ.js} +3 -3
  11. package/dist/{chunk-CAQCDYKF.js → chunk-5JGPTYLT.js} +2 -2
  12. package/dist/chunk-6D7H5DMZ.js +152 -0
  13. package/dist/{chunk-OGPEHSNW.js → chunk-6KFJIU73.js} +1 -1
  14. package/dist/{chunk-3EJBI5JW.js → chunk-7FQYTM7M.js} +1 -1
  15. package/dist/{chunk-3N77LUQI.js → chunk-7QAJQDHS.js} +1 -1
  16. package/dist/{chunk-SI6WDF3U.js → chunk-CFFVCI2I.js} +1 -1
  17. package/dist/{chunk-7P3H4RY2.js → chunk-CNZRUVZ5.js} +102 -36
  18. package/dist/{chunk-WMNPKBX5.js → chunk-ELO5XEES.js} +4 -4
  19. package/dist/{chunk-PP6OX4OT.js → chunk-EPFFYDNX.js} +5 -5
  20. package/dist/{chunk-CY5TCVBS.js → chunk-ERTIEYDG.js} +6 -6
  21. package/dist/{chunk-35JMYSUD.js → chunk-EUQZAH2W.js} +2 -2
  22. package/dist/{chunk-WHDS6MEG.js → chunk-GHFI5GBF.js} +3 -3
  23. package/dist/{chunk-PXGU3GKY.js → chunk-GJ4KBHBD.js} +1 -1
  24. package/dist/chunk-GYVMMU3U.js +321 -0
  25. package/dist/{chunk-VVOSUGEF.js → chunk-H47VGSCW.js} +4 -4
  26. package/dist/{chunk-TFPNPS4Q.js → chunk-HOUFCUMH.js} +1 -1
  27. package/dist/{chunk-7JE2WFNK.js → chunk-HVPW272H.js} +3 -3
  28. package/dist/{chunk-M3ME6TLQ.js → chunk-HVQMIZ22.js} +4 -4
  29. package/dist/{chunk-7DXVL7TN.js → chunk-IO2BBKG4.js} +3 -3
  30. package/dist/{chunk-UONH72CJ.js → chunk-IWVGALDC.js} +2 -2
  31. package/dist/{chunk-ZP7GKJSM.js → chunk-JC6AQ6PC.js} +39 -6
  32. package/dist/{chunk-6JZXIWX7.js → chunk-JKNOJKVD.js} +34 -9
  33. package/dist/{chunk-GEQT3RPN.js → chunk-JSZRBQY3.js} +3 -3
  34. package/dist/{chunk-MOI2KDLH.js → chunk-L5VHGRQE.js} +1 -1
  35. package/dist/{chunk-SKVA4KWD.js → chunk-LD3BHLK7.js} +3 -3
  36. package/dist/{chunk-YNMVVQOQ.js → chunk-LQHCNXPK.js} +1 -1
  37. package/dist/{chunk-PWSUNS6Y.js → chunk-LTN2YFLR.js} +99 -31
  38. package/dist/{chunk-YHKU2NOZ.js → chunk-LTYBHCL4.js} +1 -1
  39. package/dist/{chunk-PAK5P2ND.js → chunk-MH6QLXUO.js} +1 -1
  40. package/dist/{chunk-OS7DJOQJ.js → chunk-MN3PP45X.js} +1 -1
  41. package/dist/{chunk-25GRRBTH.js → chunk-NHEU5CON.js} +1 -1
  42. package/dist/{chunk-IM6IL3F4.js → chunk-OQT7RT5I.js} +3 -3
  43. package/dist/{chunk-KRTD2F3I.js → chunk-P3CHDKXD.js} +3 -3
  44. package/dist/{chunk-63IVRRIO.js → chunk-P3NPTFLF.js} +3 -3
  45. package/dist/{chunk-GC5PVMIJ.js → chunk-RR3VDM7M.js} +3 -3
  46. package/dist/{chunk-G4W4B33M.js → chunk-SDAEXUIX.js} +25 -10
  47. package/dist/{chunk-SYVRBBLW.js → chunk-SDELQEG4.js} +1 -1
  48. package/dist/{chunk-AE3OTPUU.js → chunk-SZU4YCBH.js} +964 -1056
  49. package/dist/{chunk-FDJPDZSR.js → chunk-TS3EFB7S.js} +1 -1
  50. package/dist/{chunk-EMH2LNIE.js → chunk-V2VJYK46.js} +4 -4
  51. package/dist/{chunk-KAVZAB3E.js → chunk-VEJWLQ4G.js} +10 -10
  52. package/dist/{chunk-XTYYF6P7.js → chunk-VUQKGBIQ.js} +14 -7
  53. package/dist/{chunk-3RLKILPT.js → chunk-WE4C3ODP.js} +2 -2
  54. package/dist/{chunk-QEIA5Q35.js → chunk-XL2MPORM.js} +4 -4
  55. package/dist/{chunk-VGRCZE6U.js → chunk-XSFR76J7.js} +3 -3
  56. package/dist/{chunk-UMYYYF7B.js → chunk-YL3RWW7X.js} +1 -1
  57. package/dist/{chunk-GSSVJNP2.js → chunk-Z7WMU3RA.js} +3 -2
  58. package/dist/{chunk-3EHDZTRT.js → chunk-ZIKZZ4LK.js} +3 -3
  59. package/dist/{claude-launcher-OQZNW7XJ.js → claude-launcher-6KGANL7E.js} +1 -1
  60. package/dist/{cli-PFWJD5QM.js → cli-5KY3TE3S.js} +114 -112
  61. package/dist/{command-CM22HPN5.js → command-VQPQDPCZ.js} +24 -24
  62. package/dist/{config-W2XWNR4C.js → config-WSZIWPP4.js} +7 -7
  63. package/dist/{connect-cmd-TOWE4P45.js → connect-cmd-LI34HS5Q.js} +6 -6
  64. package/dist/{container-start-D2OEPMUO.js → container-start-XRR4VC5Z.js} +31 -30
  65. package/dist/{context-show-cmd-5UJUWBJL.js → context-show-cmd-X27GMOT6.js} +7 -7
  66. package/dist/{control-plane-launch-XBGHM7DB.js → control-plane-launch-74EIIB5Z.js} +5 -5
  67. package/dist/dist-HVXLUMRV.js +7 -0
  68. package/dist/{docker-GA63DVME.js → docker-KZ3OQTPW.js} +5 -5
  69. package/dist/{doctor-GVWQBHBC.js → doctor-KPKLFIJH.js} +24 -24
  70. package/dist/{emit-artifact-cmd-TUOLSGHB.js → emit-artifact-cmd-BJICHW2E.js} +11 -11
  71. package/dist/{emit-criteria-cmd-VEUMA7MZ.js → emit-criteria-cmd-MUWPT25P.js} +8 -8
  72. package/dist/{emit-demo-cmd-YLEZB6FG.js → emit-demo-cmd-YQN7VKQH.js} +12 -12
  73. package/dist/{emit-finding-cmd-BX3FWGSX.js → emit-finding-cmd-NPBWVY44.js} +8 -8
  74. package/dist/{emit-result-cmd-AYXGCIPR.js → emit-result-cmd-7CJZZQGK.js} +10 -10
  75. package/dist/{emit-step-cmd-CU6GQ3WW.js → emit-step-cmd-ZPLHZAMA.js} +8 -8
  76. package/dist/{exec-client-QB4OZRGM.js → exec-client-LXHTMVIB.js} +3 -3
  77. package/dist/find-unit-UKH6JH4S.js +18 -0
  78. package/dist/{findings-cmd-G4V4M3PO.js → findings-cmd-DZ4ESTHX.js} +8 -8
  79. package/dist/{fleet-readiness-NJYTQYTA.js → fleet-readiness-YSI4NOHT.js} +5 -5
  80. package/dist/{governing-source-JQV3ZKD7.js → governing-source-JPRMOB3O.js} +10 -10
  81. package/dist/{guest-init-IF5LXGUL.js → guest-init-WWL2WL7R.js} +4 -4
  82. package/dist/{hook-fast-GPUL7T77.js → hook-fast-6EW2MGA2.js} +1 -1
  83. package/dist/host-checks-NDXNYOMA.js +75 -0
  84. package/dist/{pending-ERXWVLLG.js → host-key-TSOKVSZX.js} +3 -3
  85. package/dist/{image-tag-SEMBVB5D.js → image-tag-BTXKIH73.js} +3 -3
  86. package/dist/index.js +4 -4
  87. package/dist/{init-FY3HP73H.js → init-MN3MNG7V.js} +21 -21
  88. package/dist/{init-3NT4YX2X.js → init-V6Y2VNKW.js} +21 -21
  89. package/dist/{init-cmd-RXHHEAOT.js → init-cmd-QCWLJDIF.js} +11 -11
  90. package/dist/{init-update-RHS6HWLI.js → init-update-GTFLPDEL.js} +9 -9
  91. package/dist/{install-cmd-5H6M2KJ7.js → install-cmd-RGO7NWKP.js} +5 -5
  92. package/dist/{logs-6CMB3DO6.js → logs-LEVH6VAI.js} +2 -2
  93. package/dist/{loop-V3GED2WX.js → loop-NGFNQF3Y.js} +38 -37
  94. package/dist/{machine-HLZLH327.js → machine-XG54XYYZ.js} +21 -21
  95. package/dist/{mcp-serve-cmd-MWGIN6YL.js → mcp-serve-cmd-4O5INM77.js} +4 -4
  96. package/dist/{paths-T2DEBI62.js → paths-AQ47ZRHK.js} +2 -2
  97. package/dist/{host-key-5RU322O3.js → pending-UWFDVFOA.js} +3 -3
  98. package/dist/{pidfile-EAD2OEM7.js → pidfile-PCG2H5T4.js} +3 -3
  99. package/dist/{record-IMXQNHPB.js → record-SVCNFCGQ.js} +3 -3
  100. package/dist/{runner-env-V52JUOD5.js → runner-env-YPXWTNP3.js} +9 -9
  101. package/dist/{runner-identity-J4NCBSBU.js → runner-identity-XPZO3TG4.js} +5 -5
  102. package/dist/{runner-key-ZUHMQCHZ.js → runner-key-B5EJH25Z.js} +21 -21
  103. package/dist/{session-sender-XDKMK4SF.js → session-sender-XED7CKHP.js} +11 -11
  104. package/dist/{spec-cmd-XQV7EIJW.js → spec-cmd-TRXAGQYM.js} +9 -9
  105. package/dist/{status-ZJJEJ52D.js → status-WQ53MWC3.js} +29 -28
  106. package/dist/{sync-cmd-BG2M536W.js → sync-cmd-UQVENF25.js} +10 -10
  107. package/dist/{update-steps-I5JLERXS.js → update-steps-IQVAL64Y.js} +30 -29
  108. package/dist/{watch-7A63565I.js → watch-EZGDDRTQ.js} +10 -10
  109. package/dist/{work-claim-cmd-OVPMBIRR.js → work-claim-cmd-YSAJ7DAK.js} +14 -14
  110. package/dist/{work-cmd-KVFRK24I.js → work-cmd-V5FHLWJM.js} +8 -8
  111. package/dist/{work-comment-cmd-GC3WAFM7.js → work-comment-cmd-KLEMDYI4.js} +9 -9
  112. package/dist/{work-demo-cmd-IOB5UDGQ.js → work-demo-cmd-XYRKFP4G.js} +8 -8
  113. package/dist/{work-logs-cmd-7II6D2JJ.js → work-logs-cmd-DOGPK7Q6.js} +8 -8
  114. package/dist/{work-open-pr-cmd-FYKRKCDL.js → work-open-pr-cmd-UAUEEP3V.js} +9 -9
  115. package/dist/{work-pr-cmd-KP3RI7TV.js → work-pr-cmd-LYWL7ZLF.js} +8 -8
  116. package/dist/{work-proofs-cmd-TVU6QFZN.js → work-proofs-cmd-YMMDAA6W.js} +11 -9
  117. package/dist/{work-proofs-record-XANZE3K4.js → work-proofs-record-NUCWR7ZJ.js} +17 -15
  118. package/dist/{work-stop-cmd-5V3DV3HJ.js → work-stop-cmd-MRLJEQRP.js} +8 -8
  119. package/package.json +1 -1
  120. package/skill-pack/maintained/outerlayer-amend/SKILL.md +2 -1
  121. package/skill-pack/maintained/outerlayer-build/SKILL.md +3 -1
  122. package/skill-pack/maintained/outerlayer-build/references/evidence.md +9 -3
  123. package/dist/chunk-YZ375YBI.js +0 -151
  124. package/dist/dist-IOPJIQWK.js +0 -7
  125. package/dist/find-unit-GGBRYOSO.js +0 -18
@@ -1,31 +1,31 @@
1
1
  #!/usr/bin/env node
2
2
  import { createRequire } from 'node:module';
3
- import { reportFailedStart, fitImageBuildMemory } from './chunk-CY5TCVBS.js';
4
- import { writePendingUpdate } from './chunk-TFPNPS4Q.js';
5
- import { renderUpdateSteps } from './chunk-KRTD2F3I.js';
6
- 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-AE3OTPUU.js';
7
- import { JOB_STATE_FORMAT, readsJobState, jobStateFormatOf } from './chunk-ZVB57WI6.js';
8
- import { readHousekeepingRecord, writeHousekeepingRecord } from './chunk-FDJPDZSR.js';
9
3
  import { decideInstalledSwitch } from './chunk-3JVYMD4G.js';
4
+ import { reportFailedStart, fitImageBuildMemory } from './chunk-ERTIEYDG.js';
10
5
  import { fetchVersionMeta, npmVersion, npmSupportsProvenance, fetchTarballDigest, fetchProvenance, installVersion, auditSignatures } from './chunk-E7R2GIAW.js';
11
- import { RUNNER_PROTOCOL } from './chunk-PAK5P2ND.js';
12
- import { realBlockedProbes, checkBlockedWithSlots } from './chunk-ZP7GKJSM.js';
13
- import { writeMarker, readMarker, currentVersion, removeMarker, isInLayout, startedThroughCurrent, entryIn, versionDir, switchCurrent, cleanVersions, stagingDir } from './chunk-UMYYYF7B.js';
6
+ import { RUNNER_PROTOCOL } from './chunk-MH6QLXUO.js';
7
+ import { writePendingUpdate } from './chunk-HOUFCUMH.js';
8
+ import { renderUpdateSteps } from './chunk-P3CHDKXD.js';
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-SZU4YCBH.js';
11
+ import { JOB_STATE_FORMAT, readsJobState, jobStateFormatOf } from './chunk-ZVB57WI6.js';
12
+ import { realBlockedProbes, checkBlockedWithSlots, largeBuildMemoryBytes, LARGE_BUILD_DISK_BYTES, checkManagedRoom, sliceMemoryOf } from './chunk-JC6AQ6PC.js';
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, 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, ADOPTED_FETCH_RETRY_WINDOW_MS, gitRemoteFor, startServicesFor, createLeaseChannel } from './chunk-7P3H4RY2.js';
16
- import { describeCallFailure, retrySend, shortClaim, relativeToRunner, formatDuration, resolveGoverningSource, BuildTokens, classifyRefusal, refusalCode, createRunnerLog, formatClock } from './chunk-PP6OX4OT.js';
17
- import { imageTag, writeUpdateStatus, pullInstruction, tagToPull } from './chunk-SYVRBBLW.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-CNZRUVZ5.js';
16
+ import { describeCallFailure, retrySend, shortClaim, relativeToRunner, formatDuration, resolveGoverningSource, BuildTokens, classifyRefusal, refusalCode, createRunnerLog, formatClock } from './chunk-EPFFYDNX.js';
17
+ import { imageTag, writeUpdateStatus, pullInstruction, tagToPull } from './chunk-SDELQEG4.js';
18
18
  import { isVersion, compareVersions, satisfiesRange } from './chunk-TQMI335S.js';
19
- import { isBuiltinContainer, isBuiltinVm, isBuiltinProcess, loadRunnerConfig, checkHooks, builtinKind, keepsHostBuilder, DEFAULT_UPDATE_MAX_WAIT_HOURS } from './chunk-3EHDZTRT.js';
20
- import { freeBytes, formatBytes, volumeBytes } from './chunk-UONH72CJ.js';
21
- import { writeJobFile, ensureRunnerIdentity, identityDockerFor, readJobFile, exceedsDisk, builderName, runnerLabelValue, ensureFailureCount, builderSpec, ensureBuilder, spawnRun, RUNNER_LABEL, BUILD_LABEL, readJobFileChecked } from './chunk-M3ME6TLQ.js';
22
- import { claimPidFile, writePidFile, readPidFile, releasePidFile } from './chunk-YNMVVQOQ.js';
19
+ import { isBuiltinContainer, isBuiltinVm, isBuiltinProcess, loadRunnerConfig, checkHooks, builtinKind, keepsHostBuilder, DEFAULT_UPDATE_MAX_WAIT_HOURS } from './chunk-ZIKZZ4LK.js';
20
+ import { freeBytes, formatBytes, allocatedBytes, volumeBytes } from './chunk-IWVGALDC.js';
21
+ import { writeJobFile, ensureRunnerIdentity, identityDockerFor, readJobFile, exceedsDisk, builderName, runnerLabelValue, ensureFailureCount, builderSpec, ensureBuilder, spawnRun, RUNNER_LABEL, BUILD_LABEL, readJobFileChecked } from './chunk-HVQMIZ22.js';
22
+ import { claimPidFile, writePidFile, readPidFile, releasePidFile } from './chunk-LQHCNXPK.js';
23
23
  import { startTimeOf, isSameProcess } from './chunk-JBJTC3UU.js';
24
- import { isSignatureRefusal, WorkCommandError, getJson, postJson } from './chunk-6JZXIWX7.js';
25
- import { loadHostKey, ensureHostKey, signerFor } from './chunk-MOI2KDLH.js';
24
+ import { isSignatureRefusal, WorkCommandError, getJson, postJson } from './chunk-JKNOJKVD.js';
25
+ import { loadHostKey, ensureHostKey, signerFor } from './chunk-L5VHGRQE.js';
26
26
  import { resolveVersion } from './chunk-RA3O54FC.js';
27
- import { RUNNER_DIR_MODE, runnerDir, buildDir, attemptStamp, jobDir, RUNNER_FILE_MODE, jobsDir, pidFilePath, spoolDir, imagesDir, rootfsDir, builderCacheDiskPath } from './chunk-PXGU3GKY.js';
28
- import { parseClaimIdentity, parseClaimedRepositories, parseUnreachable, repositoriesOf, primaryOf, sharedUserEnvironment, JOB_MOUNT, takeClaudeCredential, heldClaudeCredential, currentClaudeCredential, fdName } from './chunk-G4W4B33M.js';
27
+ import { RUNNER_DIR_MODE, runnerDir, buildDir, attemptStamp, jobDir, RUNNER_FILE_MODE, jobsDir, pidFilePath, spoolDir, imagesDir, rootfsDir, builderCacheDiskPath } from './chunk-GJ4KBHBD.js';
28
+ import { parseClaimIdentity, parseClaimedRepositories, parseUnreachable, repositoriesOf, primaryOf, sharedUserEnvironment, JOB_MOUNT, takeClaudeCredential, heldClaudeCredential, currentClaudeCredential, fdName } from './chunk-SDAEXUIX.js';
29
29
  import { COMMAND_LOST_REASON, CONTAINER_STOPPED_REASON } from './chunk-MESOOLF4.js';
30
30
  import { randomBytes } from 'crypto';
31
31
  import { mkdirSync, existsSync, chmodSync, writeFileSync, renameSync, statSync, readdirSync, readFileSync, closeSync, rmSync, lstatSync } from 'fs';
@@ -1289,12 +1289,12 @@ async function sendTickHeartbeat(state, workRequest) {
1289
1289
  workRequest: next,
1290
1290
  lastUpdate: readLastUpdate(state.config.configPath),
1291
1291
  lowDisk: state.lowDisk,
1292
- blocked: state.blocked,
1292
+ blocked: state.blocked ?? state.noRoomEmpty,
1293
1293
  state: hostState({
1294
1294
  draining: state.draining === true,
1295
1295
  restarting: state.restarting === true,
1296
1296
  holdingForUpdate: state.holdingForUpdate === true,
1297
- blocked: state.blocked !== void 0,
1297
+ blocked: (state.blocked ?? state.noRoomEmpty) !== void 0,
1298
1298
  lowDisk: state.lowDisk !== void 0
1299
1299
  }),
1300
1300
  // Left out unless a draining runner has builds to wait on, so the gateway stores null.
@@ -1481,6 +1481,44 @@ function clearUpdateWait(state) {
1481
1481
  state.waitsLogged = void 0;
1482
1482
  recordPendingUpdate(state, void 0);
1483
1483
  }
1484
+ function holdWithoutRoomForLarge(state) {
1485
+ if (state.config.managed !== true) return false;
1486
+ const probes = {
1487
+ ...realBlockedProbes(),
1488
+ ...state.deps.container?.hostEnv === void 0 ? {} : { env: state.deps.container.hostEnv },
1489
+ ...state.deps.blocked
1490
+ };
1491
+ let runningMemoryBytes = 0;
1492
+ let runningDiskBytes = 0;
1493
+ let heldDiskBytes = 0;
1494
+ for (const active of state.jobs.values()) {
1495
+ const microvm = active.job?.microvm;
1496
+ runningMemoryBytes += microvm?.limits?.memoryBytes ?? largeBuildMemoryBytes();
1497
+ runningDiskBytes += microvm?.limits?.diskBytes ?? LARGE_BUILD_DISK_BYTES;
1498
+ if (microvm?.buildDisk !== void 0) heldDiskBytes += (state.deps.allocatedBytes ?? allocatedBytes)(microvm.buildDisk);
1499
+ }
1500
+ const room = checkManagedRoom({
1501
+ runningMemoryBytes,
1502
+ totalMemoryBytes: probes.totalMemoryBytes(),
1503
+ sliceBytes: sliceMemoryOf(probes.env),
1504
+ freeDiskBytes: (state.deps.freeBytes ?? freeBytes)(runnerDir(state.config.configPath)),
1505
+ heldDiskBytes,
1506
+ runningDiskBytes
1507
+ });
1508
+ const log = logOf(state);
1509
+ if (!room.fits) {
1510
+ if (state.noRoom !== room.resource) log.line(`holding off new work: ${room.reason} \xB7 claiming again once a build ends`);
1511
+ state.noRoom = room.resource;
1512
+ state.noRoomEmpty = state.jobs.size === 0 ? { reason: `no room for one Large build: ${room.reason}` } : void 0;
1513
+ return true;
1514
+ }
1515
+ state.noRoomEmpty = void 0;
1516
+ if (state.noRoom !== void 0) {
1517
+ state.noRoom = void 0;
1518
+ log.line("a Large build fits again \xB7 taking work");
1519
+ }
1520
+ return false;
1521
+ }
1484
1522
  function recordPendingUpdate(state, record) {
1485
1523
  const text = record === void 0 ? "none" : JSON.stringify(record);
1486
1524
  if (state.updateRecord === text) return;
@@ -1863,6 +1901,7 @@ async function runTick(state) {
1863
1901
  const jailer = state.config.managed === true && state.deps.blocked?.jailer === void 0 ? await jailerState(state) : void 0;
1864
1902
  if (holdWhenBlocked(state, jailer)) return;
1865
1903
  if (holdOffForDisk(state)) return;
1904
+ if (holdWithoutRoomForLarge(state)) return;
1866
1905
  const log = logOf(state);
1867
1906
  const repoFilter = new RepoFilter(state.config.repos);
1868
1907
  let filtered = 0;
@@ -1892,6 +1931,7 @@ async function runTick(state) {
1892
1931
  filtered++;
1893
1932
  continue;
1894
1933
  }
1934
+ if (holdWithoutRoomForLarge(state)) return;
1895
1935
  const attempt = await tryClaimAndStart(state, item, queue);
1896
1936
  if (attempt.kind === "started") {
1897
1937
  claimed = true;
@@ -1921,7 +1961,7 @@ var CLAIM_REFUSAL_CODES = new Set(
1921
1961
  "pull_request_from_fork pull_request_on_default_branch pull_request_ambiguous pull_request_repository_not_connected repository_not_reachable branch_claimed_elsewhere".split(" ")
1922
1962
  );
1923
1963
  async function tryClaimAndStart(state, item, queue) {
1924
- const { postJson: postJson2 } = await import('./work-cmd-KVFRK24I.js');
1964
+ const { postJson: postJson2 } = await import('./work-cmd-V5FHLWJM.js');
1925
1965
  const log = logOf(state);
1926
1966
  const hostKey = await loadHostKey(state.config.configPath);
1927
1967
  const claim = await retrySend(
@@ -2145,10 +2185,18 @@ async function startJob(state, item, queue, claimId, itemKey, branch, identity,
2145
2185
  const fetched = await fetchManagedClaudeKey(state.config, item.number, { fetchImpl: state.deps.fetchImpl, now: state.deps.now, sleep: state.deps.sleep });
2146
2186
  if (active.ending) return;
2147
2187
  if (!fetched.ok) {
2148
- await endOnManagedKeyRefusal(state, active, fetched);
2188
+ await endOnManagedRefusal(state, active, fetched, { what: "Anthropic key", was: "was" });
2149
2189
  return;
2150
2190
  }
2151
2191
  holdManagedClaudeKey(dirPath, fetched.apiKey);
2192
+ const settings = await fetchManagedBuildSettings(state.config, item.number, { fetchImpl: state.deps.fetchImpl, now: state.deps.now, sleep: state.deps.sleep });
2193
+ if (active.ending) return;
2194
+ if (!settings.ok) {
2195
+ await endOnManagedRefusal(state, active, settings, { what: "settings", was: "were" });
2196
+ return;
2197
+ }
2198
+ holdManagedBuildSettings(dirPath, settings.settings);
2199
+ active.job.managedVariables = settings.settings.variables.map(({ name }) => name);
2152
2200
  }
2153
2201
  }
2154
2202
  if (state.config.hooks.report) {
@@ -2476,9 +2524,9 @@ async function startJob(state, item, queue, claimId, itemKey, branch, identity,
2476
2524
  job.microvm.commandDir = MICROVM_COMMAND_DIR;
2477
2525
  job.microvm.commandLogBase = commandLogOffset(dirPath, 0);
2478
2526
  writeJobFile(jobFilePath, job);
2479
- await startMicroVmCommand({ job, cmdline, runtime, config: state.config });
2527
+ await startMicroVmCommand({ job, jobDir: dirPath, cmdline, runtime, config: state.config });
2480
2528
  } else {
2481
- const composed = microVmCommandLine({ job, cmdline, runtime, config: state.config, cli: join(runtime.cliBuild().distDir, "index.js") });
2529
+ const composed = microVmCommandLine({ job, jobDir: dirPath, cmdline, runtime, config: state.config, cli: join(runtime.cliBuild().distDir, "index.js") });
2482
2530
  running = runCommand(composed.line, { ...composed.env, OUTERLAYER_JOB_DIR: dirPath }, dirPath, join(dirPath, "command.log"), state.deps.spawnFn);
2483
2531
  }
2484
2532
  } else if (job.container !== void 0) {
@@ -2562,18 +2610,18 @@ function buildTokensFor(state, active, item) {
2562
2610
  }
2563
2611
  });
2564
2612
  }
2565
- async function endOnManagedKeyRefusal(state, active, refused) {
2613
+ async function endOnManagedRefusal(state, active, refused, subject) {
2566
2614
  const log = logOf(state);
2567
2615
  const tag = `#${active.job.item}`;
2568
2616
  const code = refused.code ?? "unavailable";
2569
2617
  if (refused.code === "claim_expired" || refused.code === "claim_not_held") {
2570
- log.error(`${tag} the build's Anthropic key was refused: ${code} \xB7 ending job as lease_lost`);
2618
+ log.error(`${tag} the build's ${subject.what} ${subject.was} refused: ${code} \xB7 ending job as lease_lost`);
2571
2619
  await endJob(state, active, "lease_lost");
2572
2620
  } else if (refused.retryable || refused.code === "managed_credential_missing" || refused.code === "managed_builds_off") {
2573
- log.error(`${tag} the build's Anthropic key could not be had (${code}) \xB7 releasing the claim to try again`);
2621
+ log.error(`${tag} the build's ${subject.what} could not be had (${code}) \xB7 releasing the claim to try again`);
2574
2622
  await endJob(state, active, void 0);
2575
2623
  } else {
2576
- log.error(`${tag} the build's Anthropic key was refused: ${code} \xB7 ending job as failed`);
2624
+ log.error(`${tag} the build's ${subject.what} ${subject.was} refused: ${code} \xB7 ending job as failed`);
2577
2625
  await endJob(state, active, "failed", { stage: "provision", reason: code });
2578
2626
  }
2579
2627
  }
@@ -3022,6 +3070,21 @@ async function rejoinMicroVmBuild(state, adopted) {
3022
3070
  return { reason: `the adopted build's Anthropic key could not be had after the runner restarted: ${cause}`, why: "the gateway did not give its Anthropic key again" };
3023
3071
  }
3024
3072
  holdManagedClaudeKey(dirPath, fetched.apiKey);
3073
+ const settings = await fetchManagedBuildSettings(config, job.item, {
3074
+ fetchImpl: state.deps.fetchImpl,
3075
+ now: state.deps.now,
3076
+ sleep: state.deps.sleep,
3077
+ windowMs: ADOPTED_FETCH_RETRY_WINDOW_MS
3078
+ });
3079
+ if (!settings.ok) {
3080
+ const code = settings.code ?? "unavailable";
3081
+ log.error(`${tag} the adopted build's settings could not be had: ${code}`);
3082
+ const cause = settings.retryable ? "the gateway could not be reached for them" : `the gateway refused them (${code})`;
3083
+ return { reason: `the adopted build's settings could not be had after the runner restarted: ${cause}`, why: "the gateway did not give its settings again" };
3084
+ }
3085
+ holdManagedBuildSettings(dirPath, settings.settings);
3086
+ job.managedVariables = [.../* @__PURE__ */ new Set([...job.managedVariables ?? [], ...settings.settings.variables.map(({ name }) => name)])];
3087
+ writeJobFile(join(dirPath, "job.json"), job);
3025
3088
  }
3026
3089
  const tokens = buildTokensFor(state, adopted, job.item);
3027
3090
  runtime.credentials.set(dirPath, tokens);
@@ -3099,6 +3162,11 @@ async function removeUnadoptedSockets(state, adopted) {
3099
3162
  }
3100
3163
  async function finishMicroVmWhileAway(state, dirPath, job, reason, why) {
3101
3164
  const log = logOf(state);
3165
+ if ((job.managedVariables?.length ?? 0) > 0 && managedBuildSettingsFor(dirPath) === void 0) {
3166
+ const settings = await fetchManagedBuildSettings(state.config, job.item, { fetchImpl: state.deps.fetchImpl, now: state.deps.now, sleep: state.deps.sleep });
3167
+ if (settings.ok) holdManagedBuildSettings(dirPath, settings.settings);
3168
+ else log.error(`#${job.item} the build's settings could not be had again: ${settings.code ?? "unavailable"}`);
3169
+ }
3102
3170
  const recorded = outcomeFromExitCode(dirPath);
3103
3171
  let outcome = "interrupted";
3104
3172
  let ending = { reason };
@@ -3211,7 +3279,7 @@ async function startRunner(configPath, deps, startup) {
3211
3279
  check: update.check ? () => update.check(configPath) : async () => {
3212
3280
  const held = heldClaudeCredential();
3213
3281
  const env = held === void 0 ? process.env : { ...process.env, [held.variable]: held.value };
3214
- return (await import('./check-4W4QUBMP.js')).runRunnerCheck(configPath, { fetchImpl: deps.fetchImpl, env });
3282
+ return (await import('./check-G2K76NEM.js')).runRunnerCheck(configPath, { fetchImpl: deps.fetchImpl, env });
3215
3283
  },
3216
3284
  now: () => (deps.now ?? (() => /* @__PURE__ */ new Date()))().getTime(),
3217
3285
  log
@@ -2,7 +2,7 @@
2
2
  import { createRequire } from 'node:module';
3
3
  import { sanitizeTerminal } from './chunk-MECW77XP.js';
4
4
  import { isAgentsMdLayout } from './chunk-NKOM4JKY.js';
5
- import { resolveGatewayCredentials, defaultFetch } from './chunk-3N77LUQI.js';
5
+ import { resolveGatewayCredentials, defaultFetch } from './chunk-7QAJQDHS.js';
6
6
  import { versionAtLeast } from './chunk-HCVLP7XA.js';
7
7
  import { findGitDirs } from './chunk-BJ3KTMDH.js';
8
8
  import { machineSkillsState, staleClaudeSkills } from './chunk-RCRE42V6.js';
@@ -4,6 +4,6 @@ import { createRequire } from 'node:module';
4
4
  createRequire(import.meta.url);
5
5
 
6
6
  // src/runner/protocol.ts
7
- var RUNNER_PROTOCOL = 32;
7
+ var RUNNER_PROTOCOL = 33;
8
8
 
9
9
  export { RUNNER_PROTOCOL };
@@ -1,6 +1,6 @@
1
1
  #!/usr/bin/env node
2
2
  import { createRequire } from 'node:module';
3
- import { currentLink } from './chunk-UMYYYF7B.js';
3
+ import { currentLink } from './chunk-YL3RWW7X.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';
@@ -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-XBGHM7DB.js');
687
+ const { governanceOf } = await import('./control-plane-launch-74EIIB5Z.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,10 +1,10 @@
1
1
  #!/usr/bin/env node
2
2
  import { createRequire } from 'node:module';
3
3
  import { detectActiveSession } from './chunk-IP7BIBXJ.js';
4
- import { autoConnect } from './chunk-7DXVL7TN.js';
4
+ import { autoConnect } from './chunk-IO2BBKG4.js';
5
5
  import { C } from './chunk-ANPNT6PM.js';
6
- import { defaultFetch, unauthorizedMessage, resolveGatewayCredentials } from './chunk-3N77LUQI.js';
7
- import { resolveRepoIdentity } from './chunk-GSSVJNP2.js';
6
+ import { defaultFetch, unauthorizedMessage, resolveGatewayCredentials } from './chunk-7QAJQDHS.js';
7
+ import { resolveRepoIdentity } from './chunk-Z7WMU3RA.js';
8
8
  import { parseWorkItemEnv } from './chunk-T2Q7ISPE.js';
9
9
  import { parseTrackerNumber, trackerNumberError } from './chunk-WZBHBH3J.js';
10
10
  import { homeFromEnv } from './chunk-VNVZDWO3.js';
@@ -1,7 +1,7 @@
1
1
  #!/usr/bin/env node
2
2
  import { createRequire } from 'node:module';
3
- import { stripTerminalControls } from './chunk-AE3OTPUU.js';
4
- import { tagToPull, imageTag, pullInstruction, readUpdateStatus, runnerImageVersion } from './chunk-SYVRBBLW.js';
3
+ import { stripTerminalControls } from './chunk-SZU4YCBH.js';
4
+ import { tagToPull, imageTag, pullInstruction, readUpdateStatus, runnerImageVersion } from './chunk-SDELQEG4.js';
5
5
  import { readFileSync } from 'fs';
6
6
 
7
7
  createRequire(import.meta.url);
@@ -55,7 +55,7 @@ function envNamesOf(row, imageEnv) {
55
55
  return [...new Set(names)].sort();
56
56
  }
57
57
  async function readOwnContainer(deps = {}) {
58
- const run = deps.run ?? (await import('./docker-GA63DVME.js')).spawnRun;
58
+ const run = deps.run ?? (await import('./docker-KZ3OQTPW.js')).spawnRun;
59
59
  const ids = candidateIds(deps.env ?? process.env, deps.readFile ?? ((path) => readFileSync(path, "utf8")));
60
60
  if (ids.length === 0) return { ok: false, reason: "the runner cannot tell which container it runs in: HOSTNAME is empty and /proc/self/mountinfo names none" };
61
61
  let problem = "";
@@ -1,9 +1,9 @@
1
1
  #!/usr/bin/env node
2
2
  import { createRequire } from 'node:module';
3
- import { TUNNEL_PORT, BRIDGE_ADDRESS, BRIDGE_CIDR } from './chunk-SI6WDF3U.js';
4
- import { EXEC_PORT } from './chunk-OGPEHSNW.js';
3
+ import { TUNNEL_PORT, BRIDGE_ADDRESS, BRIDGE_CIDR } from './chunk-CFFVCI2I.js';
4
+ import { EXEC_PORT } from './chunk-6KFJIU73.js';
5
5
  import { startTimeOf } from './chunk-JBJTC3UU.js';
6
- import { RELAY_PORT } from './chunk-G4W4B33M.js';
6
+ import { RELAY_PORT } from './chunk-SDAEXUIX.js';
7
7
  import { spawn, spawnSync } from 'child_process';
8
8
  import { symlinkSync, lstatSync, writeFileSync, chmodSync, mkdirSync, existsSync } from 'fs';
9
9
 
@@ -1,9 +1,9 @@
1
1
  #!/usr/bin/env node
2
2
  import { createRequire } from 'node:module';
3
- import { launcherPath, pathNotes, writeLauncher, LauncherWriteError } from './chunk-OS7DJOQJ.js';
4
- import { currentVersion, currentLink, versionDir, execStartLine, isInLayout, packageRootIn, switchCurrent } from './chunk-UMYYYF7B.js';
3
+ import { launcherPath, pathNotes, writeLauncher, LauncherWriteError } from './chunk-MN3PP45X.js';
4
+ import { currentVersion, currentLink, versionDir, execStartLine, isInLayout, packageRootIn, switchCurrent } from './chunk-YL3RWW7X.js';
5
5
  import { compareVersions } from './chunk-TQMI335S.js';
6
- import { runnerDir, RUNNER_DIR_MODE } from './chunk-PXGU3GKY.js';
6
+ import { runnerDir, RUNNER_DIR_MODE } from './chunk-GJ4KBHBD.js';
7
7
  import { lchownSync, lstatSync, realpathSync, readFileSync, mkdirSync, rmSync, cpSync, existsSync, readdirSync } from 'fs';
8
8
  import { dirname, sep, join } from 'path';
9
9
  import { spawnSync } from 'child_process';
@@ -776,6 +776,9 @@ function repositoriesOf(input) {
776
776
  function primaryOf(repositories) {
777
777
  return repositories.find((entry) => entry.primary) ?? repositories[0];
778
778
  }
779
+
780
+ // src/scrub-env.ts
781
+ var SCRUB_ENV_VARIABLE = "OUTERLAYER_SCRUB_ENV";
779
782
  var MAVEN_DIR = "maven";
780
783
  var MAVEN_SETTINGS_FILE = "settings.xml";
781
784
  var MAVEN_NO_PROXY_NOTE = "MAVEN_ARGS names its own global settings file, so the build's Maven gets no proxy from the runner";
@@ -918,6 +921,7 @@ function isReservedVariable(name) {
918
921
  function isRefusedInConfig(name) {
919
922
  return isReservedVariable(name) && !githubVariables().has(name);
920
923
  }
924
+ var NO_VARIABLES = [];
921
925
  function buildEnvironment(input) {
922
926
  const authored = authorEnvironment(input.identity?.author);
923
927
  const recipe = {};
@@ -934,16 +938,26 @@ function buildEnvironment(input) {
934
938
  };
935
939
  const variables = [];
936
940
  const skippedTokenVariables = [];
937
- for (const name of input.config.build?.variables ?? []) {
938
- if (tokenVariables().includes(name)) {
939
- skippedTokenVariables.push(name);
940
- continue;
941
+ if (input.factoryVariables !== void 0) {
942
+ for (const { name, value } of input.factoryVariables) {
943
+ if (isReservedVariable(name) || name in authored) continue;
944
+ if (builtIns && CLAUDE_CREDENTIAL_VARIABLES.includes(name)) continue;
945
+ passed[name] = value;
946
+ variables.push(name);
947
+ }
948
+ if (variables.length > 0) passed[SCRUB_ENV_VARIABLE] = variables.join(",");
949
+ } else {
950
+ for (const name of input.config.build?.variables ?? NO_VARIABLES) {
951
+ if (tokenVariables().includes(name)) {
952
+ skippedTokenVariables.push(name);
953
+ continue;
954
+ }
955
+ const value = input.hostEnv[name];
956
+ if (value === void 0 || isReservedVariable(name) || name in authored) continue;
957
+ if (builtIns && CLAUDE_CREDENTIAL_VARIABLES.includes(name)) continue;
958
+ passed[name] = value;
959
+ variables.push(name);
941
960
  }
942
- const value = input.hostEnv[name];
943
- if (value === void 0 || isReservedVariable(name) || name in authored) continue;
944
- if (builtIns && CLAUDE_CREDENTIAL_VARIABLES.includes(name)) continue;
945
- passed[name] = value;
946
- variables.push(name);
947
961
  }
948
962
  const nodeOptions = {};
949
963
  if (input.imageEnv !== void 0) {
@@ -999,6 +1013,7 @@ function checkEnvironment(input) {
999
1013
  containerEnv: input.containerEnv,
1000
1014
  builtIns: false,
1001
1015
  imageEnv: input.imageEnv,
1016
+ factoryVariables: input.factoryVariables,
1002
1017
  // A check container is given no settings file, so a `MAVEN_ARGS` naming one would break the check's Maven.
1003
1018
  mavenProxy: false
1004
1019
  });
@@ -1050,4 +1065,4 @@ function routesOf(counts) {
1050
1065
  return routes.length === 0 ? {} : { routes };
1051
1066
  }
1052
1067
 
1053
- export { AGENT_CREDENTIAL_MISSING, BUILD_HOME, BUILD_SLICE_MEMORY_ENV, BUILT_IN_NAMES, CHECKOUT_DIR, CHECK_ITEMS_FILE, CLAUDE_CREDENTIAL_ID, CLAUDE_CREDENTIAL_VARIABLES, CLAUDE_ENV_FILE, CLAUDE_PORT, CLAUDE_SOCKET, DESTINATION_BASE_PORT, EVAL_INPUT_DIR, FD_SLOTS_PER_BUILD, FD_STORE_ENV, FORWARDED_CLAUDE_CREDENTIAL_VARIABLES, GATEWAY_PORT, GATEWAY_SOCKET, JOB_MOUNT, MAVEN_NO_PROXY_NOTE, MAVEN_SETTINGS_FILE, MAVEN_SPACE_NOTE, MIN_SYSTEMD, PROXY_WARNING_FLAG, RELAY_PORT, authorEnvironment, buildEnvironment, buildMavenSettingsXml, builtInEnvironment, checkEnvironment, checkoutPath, claudeCredential, claudeCredentialVariablesSet, claudeEnvPath, commitIdentityRecord, containerLocalAddress, credentialLineIn, currentClaudeCredential, destinationEnvironment, fdName, headerVariables, heldClaudeCredential, inspectService, isRefusedInConfig, isReservedVariable, lifecycleWorkdir, managedClaudeCredential, mavenArgs, mavenSettingsXml, namesGlobalSettings, parseClaimIdentity, parseClaimedRepositories, parseIsolation, parseRunnerEnv, parseUnreachable, primaryOf, proxyEnvironment, readClaudeCredential, realFdStorePort, realInspectProbes, removedClaudeCredentialValues, repositoriesOf, repositoryPath, resolveDestinations, sharedUserEnvironment, startBuildServices, takeClaudeCredential, tokenHeader, withGitConfig, withHooksPath, withProxyWarningHidden, withTokenHeader, withTunnelRecord, withoutCredentialLines, writeBuildMavenSettings, writeMavenSettings };
1068
+ export { AGENT_CREDENTIAL_MISSING, BUILD_HOME, BUILD_SLICE_MEMORY_ENV, BUILT_IN_NAMES, CHECKOUT_DIR, CHECK_ITEMS_FILE, CLAUDE_CREDENTIAL_ID, CLAUDE_CREDENTIAL_VARIABLES, CLAUDE_ENV_FILE, CLAUDE_PORT, CLAUDE_SOCKET, DESTINATION_BASE_PORT, EVAL_INPUT_DIR, FD_SLOTS_PER_BUILD, FD_STORE_ENV, FORWARDED_CLAUDE_CREDENTIAL_VARIABLES, GATEWAY_PORT, GATEWAY_SOCKET, JOB_MOUNT, MAVEN_NO_PROXY_NOTE, MAVEN_SETTINGS_FILE, MAVEN_SPACE_NOTE, MIN_SYSTEMD, PROXY_WARNING_FLAG, RELAY_PORT, SCRUB_ENV_VARIABLE, authorEnvironment, buildEnvironment, buildMavenSettingsXml, builtInEnvironment, checkEnvironment, checkoutPath, claudeCredential, claudeCredentialVariablesSet, claudeEnvPath, commitIdentityRecord, containerLocalAddress, credentialLineIn, currentClaudeCredential, destinationEnvironment, fdName, headerVariables, heldClaudeCredential, inspectService, isRefusedInConfig, isReservedVariable, lifecycleWorkdir, managedClaudeCredential, mavenArgs, mavenSettingsXml, namesGlobalSettings, parseClaimIdentity, parseClaimedRepositories, parseIsolation, parseRunnerEnv, parseUnreachable, primaryOf, proxyEnvironment, readClaudeCredential, realFdStorePort, realInspectProbes, removedClaudeCredentialValues, repositoriesOf, repositoryPath, resolveDestinations, sharedUserEnvironment, startBuildServices, takeClaudeCredential, tokenHeader, withGitConfig, withHooksPath, withProxyWarningHidden, withTokenHeader, withTunnelRecord, withoutCredentialLines, writeBuildMavenSettings, writeMavenSettings };
@@ -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-PXGU3GKY.js';
4
+ import { RUNNER_DIR_MODE, RUNNER_FILE_MODE } from './chunk-GJ4KBHBD.js';
5
5
  import { readFileSync, mkdirSync, writeFileSync, renameSync } from 'fs';
6
6
  import { join } from 'path';
7
7