@outerlayer/cli 0.34.0-next.20261027190442 → 0.34.0-next.20261028002917

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 (123) hide show
  1. package/dist/{agent-setup-THDNZ5ME.js → agent-setup-6FPE6EYN.js} +6 -6
  2. package/dist/{bridge-MLB57JP6.js → bridge-JGIHPGMY.js} +2 -2
  3. package/dist/{build-25GDCEZ7.js → build-AAQ4PVP2.js} +9 -9
  4. package/dist/{build-disk-NFMQCZM3.js → build-disk-L7JRQA22.js} +7 -7
  5. package/dist/build-info.json +1 -1
  6. package/dist/{builder-OWDGC3VQ.js → builder-LMLAVVVF.js} +6 -6
  7. package/dist/{check-IFHLERRX.js → check-ZULOZVV4.js} +38 -38
  8. package/dist/{chunk-JO4SAEHH.js → chunk-23XAA7YD.js} +2 -2
  9. package/dist/{chunk-7SJNVGVC.js → chunk-32FAPJFD.js} +5 -5
  10. package/dist/{chunk-4HA4S3U2.js → chunk-3E7QAXUW.js} +152 -7
  11. package/dist/{chunk-3FTIUB7I.js → chunk-3X6OSXSB.js} +1 -1
  12. package/dist/{chunk-3RRYEZAC.js → chunk-3XOLOV5A.js} +3 -3
  13. package/dist/{chunk-PMIW6OGQ.js → chunk-4A5OJOCR.js} +9 -9
  14. package/dist/{chunk-NO6E72RM.js → chunk-4J5GRWAY.js} +1 -1
  15. package/dist/{chunk-4QQJTJUN.js → chunk-57WFXHCB.js} +1 -1
  16. package/dist/{chunk-36M4KVBT.js → chunk-5IUC2B6J.js} +2 -2
  17. package/dist/{chunk-7TLGRE5F.js → chunk-5LUN7TTR.js} +2 -2
  18. package/dist/{chunk-OP2L7OXA.js → chunk-6LS62EO4.js} +3 -3
  19. package/dist/{chunk-FVVHQIZR.js → chunk-6OLXDSQ6.js} +1 -1
  20. package/dist/{chunk-AV5T7HV3.js → chunk-6Q7O4MRI.js} +1 -1
  21. package/dist/{chunk-UZIAZXXO.js → chunk-77D5ENBA.js} +1 -1
  22. package/dist/{chunk-FLHBUQ2W.js → chunk-AHWMY3MS.js} +155 -10
  23. package/dist/{chunk-3VJYDWFV.js → chunk-AJTGTSNA.js} +1 -1
  24. package/dist/{chunk-5FHBVV25.js → chunk-BQ4C47K2.js} +7 -7
  25. package/dist/{chunk-EYJRVHBN.js → chunk-BTDBDTUY.js} +2 -2
  26. package/dist/{chunk-X7M73LKT.js → chunk-CM4J53WZ.js} +1 -1
  27. package/dist/{chunk-WX2HW2G2.js → chunk-D3CT6XQ4.js} +10 -3
  28. package/dist/{chunk-HJCNWEQK.js → chunk-D6SH7DWA.js} +2 -2
  29. package/dist/{chunk-LYX2RRSF.js → chunk-EGJY6MBC.js} +2 -2
  30. package/dist/{chunk-T6ALNN3H.js → chunk-F3BGTGQC.js} +1 -1
  31. package/dist/{chunk-BS3OYFAD.js → chunk-G4SOMWXL.js} +1 -1
  32. package/dist/{chunk-BS4CZMT6.js → chunk-GET5HKLM.js} +1 -1
  33. package/dist/{chunk-6IMQXBTZ.js → chunk-GJYGOFF3.js} +5 -5
  34. package/dist/{chunk-Y4WJ4BLX.js → chunk-GMEXR6PY.js} +6 -6
  35. package/dist/{chunk-JWMJMQRF.js → chunk-GXMMILQ4.js} +4 -4
  36. package/dist/{chunk-WR2GRWK3.js → chunk-I4YOWQH7.js} +1 -1
  37. package/dist/{chunk-S5U6RKQX.js → chunk-ILTVAD5Y.js} +47 -176
  38. package/dist/{chunk-QRIE4JZE.js → chunk-JXY66VYX.js} +2 -2
  39. package/dist/{chunk-CMMEJJTL.js → chunk-KTVZ7TZY.js} +2 -2
  40. package/dist/{chunk-GMKDAF37.js → chunk-L2OARQKP.js} +17 -98
  41. package/dist/{chunk-CFJOONWM.js → chunk-LBKCYEJT.js} +1 -1
  42. package/dist/{chunk-OHTMTMFX.js → chunk-NBETYM32.js} +4 -4
  43. package/dist/{chunk-MXAYUZJF.js → chunk-NCKH3KCM.js} +5 -5
  44. package/dist/{chunk-RCAMBC3H.js → chunk-NOEJGR4X.js} +2 -2
  45. package/dist/{chunk-62URQYCB.js → chunk-PAGB3DCI.js} +1 -1
  46. package/dist/{chunk-Y7MF32DM.js → chunk-PBI4CM4M.js} +67 -60
  47. package/dist/{chunk-JVNQNKHV.js → chunk-PHIQHIRJ.js} +1 -1
  48. package/dist/{chunk-7Q7GQELE.js → chunk-PPQTTJSW.js} +5 -5
  49. package/dist/{chunk-GPO7F757.js → chunk-QJ2SNBHL.js} +1 -1
  50. package/dist/{chunk-W246VXU4.js → chunk-QNF7LT7W.js} +2 -2
  51. package/dist/{chunk-Z4LFCJT6.js → chunk-SWCOWG2C.js} +2 -2
  52. package/dist/{chunk-SKAML7GB.js → chunk-SYMBXSAT.js} +3 -3
  53. package/dist/{chunk-5ARXP3BP.js → chunk-UEDRRWZ3.js} +3 -3
  54. package/dist/{chunk-LSFP57LI.js → chunk-VB4QD4WN.js} +273 -122
  55. package/dist/{chunk-RJZZFAXS.js → chunk-VKYU4HHW.js} +1 -1
  56. package/dist/{chunk-2YPOSVC7.js → chunk-WEQMLC7P.js} +3 -3
  57. package/dist/{chunk-ANFNZCXZ.js → chunk-WSVE5QGL.js} +4 -4
  58. package/dist/{claude-launcher-LYGS66AC.js → claude-launcher-GGZEWVYJ.js} +1 -1
  59. package/dist/{cli-7S4PEKAV.js → cli-6WPETUBZ.js} +110 -110
  60. package/dist/{command-GQVFZHJ2.js → command-NSTOWAZ6.js} +26 -26
  61. package/dist/{config-5NWSCHIO.js → config-YPUOOZB6.js} +8 -8
  62. package/dist/{connect-cmd-HB3K3AHE.js → connect-cmd-RPEEANNE.js} +5 -5
  63. package/dist/{container-start-WRD3YZQR.js → container-start-OOBTGHWF.js} +32 -32
  64. package/dist/{context-show-cmd-RJIQS2KF.js → context-show-cmd-R5WCECOT.js} +6 -6
  65. package/dist/{control-plane-launch-TS4DFJF4.js → control-plane-launch-55CJGYBK.js} +5 -5
  66. package/dist/{demo-record-cmd-VVZGUCWB.js → demo-record-cmd-SFOWQPL7.js} +4 -4
  67. package/dist/{demo-voice-cmd-3ADGIWK6.js → demo-voice-cmd-ZOBRVHOK.js} +12 -12
  68. package/dist/{docker-5VGCFZV2.js → docker-VPJW5LXB.js} +6 -6
  69. package/dist/{doctor-N4I6IEKP.js → doctor-O2EJAPZB.js} +70 -27
  70. package/dist/{emit-artifact-cmd-WJT7AXTZ.js → emit-artifact-cmd-HBFYBXJR.js} +10 -10
  71. package/dist/{emit-criteria-cmd-45IYB535.js → emit-criteria-cmd-TPUL7M2R.js} +7 -7
  72. package/dist/{emit-demo-cmd-AIIQNPXS.js → emit-demo-cmd-5CUT7W3R.js} +12 -12
  73. package/dist/{emit-finding-cmd-6YTJK2NA.js → emit-finding-cmd-IKHGMACP.js} +7 -7
  74. package/dist/{emit-result-cmd-TZGFY743.js → emit-result-cmd-F7CI6SNZ.js} +9 -9
  75. package/dist/{emit-step-cmd-LGBTIAXC.js → emit-step-cmd-DVEKGHK7.js} +7 -7
  76. package/dist/{exec-client-LR67CA24.js → exec-client-H2JG36OS.js} +3 -3
  77. package/dist/find-unit-ACTOZVVS.js +19 -0
  78. package/dist/{findings-cmd-ETJXUDQI.js → findings-cmd-ODKZ462L.js} +7 -7
  79. package/dist/{fleet-readiness-MYIMDBF7.js → fleet-readiness-UHCBNW6A.js} +5 -5
  80. package/dist/{governing-source-GBJTVMK2.js → governing-source-SRECHKPR.js} +9 -9
  81. package/dist/{guest-init-GXPOW53F.js → guest-init-6FUC4XZX.js} +4 -4
  82. package/dist/{hook-fast-5WOGLR7V.js → hook-fast-WM6YZVBJ.js} +1 -1
  83. package/dist/{host-checks-33ZTDTSH.js → host-checks-FLIHLR35.js} +30 -30
  84. package/dist/{pending-6DDSCXUD.js → host-key-OSWPVMIA.js} +3 -3
  85. package/dist/{image-tag-OYHGRHVV.js → image-tag-LF3NEGSL.js} +3 -3
  86. package/dist/index.js +4 -4
  87. package/dist/{init-OXCOPKHP.js → init-LPD75DCX.js} +23 -23
  88. package/dist/{init-2YOAKLDN.js → init-OX677NNB.js} +23 -23
  89. package/dist/{init-cmd-BUWWUQKM.js → init-cmd-ZCLVC5RR.js} +10 -10
  90. package/dist/{init-update-TXQHBY3H.js → init-update-POKSLQDQ.js} +8 -8
  91. package/dist/{install-cmd-VZGXSS73.js → install-cmd-6SQVZEXL.js} +5 -5
  92. package/dist/{logs-42QPBCMC.js → logs-QHXZTSKZ.js} +2 -2
  93. package/dist/{loop-M3XDFD6O.js → loop-WM62DR42.js} +37 -37
  94. package/dist/{machine-3BI2SGAK.js → machine-7VPFAC6L.js} +23 -23
  95. package/dist/{mcp-serve-cmd-LYJQO6U4.js → mcp-serve-cmd-J32K42HM.js} +4 -4
  96. package/dist/{paths-QLFRPIKS.js → paths-4ZGWWNTG.js} +2 -2
  97. package/dist/{host-key-GAZM4EOH.js → pending-CRXJKKKI.js} +3 -3
  98. package/dist/{pidfile-WLZ427QQ.js → pidfile-VLZPRIBZ.js} +3 -3
  99. package/dist/{record-WGCMQLQS.js → record-4ZJPJTWO.js} +3 -3
  100. package/dist/{runner-env-6FSJOSWS.js → runner-env-W53VDVOK.js} +10 -10
  101. package/dist/{runner-identity-XODZ7YBP.js → runner-identity-BH42S2MU.js} +6 -6
  102. package/dist/{runner-key-KMTC4NCQ.js → runner-key-ESAZRV3A.js} +23 -23
  103. package/dist/{session-sender-U54EQJNR.js → session-sender-UB45MUKV.js} +10 -10
  104. package/dist/{spec-cmd-EM24GTAM.js → spec-cmd-H5B55O5L.js} +8 -8
  105. package/dist/{status-WVCQCBDQ.js → status-L2OYAZHY.js} +30 -30
  106. package/dist/{sync-cmd-Y5RKWVF7.js → sync-cmd-IWA5ZTI2.js} +9 -9
  107. package/dist/{update-steps-2D4YQAW2.js → update-steps-FWQ5ASZ6.js} +31 -31
  108. package/dist/{watch-X5VYY4LH.js → watch-NOEBVS6U.js} +9 -9
  109. package/dist/{work-claim-cmd-IU3YJQKR.js → work-claim-cmd-7P7U3OQ6.js} +14 -14
  110. package/dist/{work-cmd-LUKJHAMH.js → work-cmd-77GUT7LY.js} +7 -7
  111. package/dist/{work-comment-cmd-BDNFAVKL.js → work-comment-cmd-VS3BSPGM.js} +8 -8
  112. package/dist/{work-demo-cmd-GPDJHU6F.js → work-demo-cmd-S3GXBYIA.js} +7 -7
  113. package/dist/{work-logs-cmd-B6EX4RPE.js → work-logs-cmd-6BXIINCM.js} +7 -7
  114. package/dist/{work-open-pr-cmd-TRXDCMSG.js → work-open-pr-cmd-EPOFWJDC.js} +8 -8
  115. package/dist/{work-pr-cmd-5GUR5SIU.js → work-pr-cmd-DYSYOP74.js} +7 -7
  116. package/dist/{work-proofs-cmd-5BYAAW3H.js → work-proofs-cmd-DS2VX4E4.js} +8 -8
  117. package/dist/{work-proofs-record-USD4JWFP.js → work-proofs-record-LIQGUDWH.js} +15 -15
  118. package/dist/{work-stop-cmd-J47GZB2N.js → work-stop-cmd-HYQTDNUY.js} +7 -7
  119. package/package.json +1 -1
  120. package/skill-pack/maintained/outerlayer-build/SKILL.md +8 -0
  121. package/skill-pack/maintained/outerlayer-build/references/agent-briefs.md +8 -0
  122. package/skill-pack/maintained/outerlayer-build/references/review-loop.md +2 -2
  123. package/dist/find-unit-YGDFVHVU.js +0 -19
@@ -2,26 +2,26 @@
2
2
  import { createRequire } from 'node:module';
3
3
  import { itemsSentence, criteriaOf, hostItemsOf, loadCitationFinder, MAX_TEST_FILE_BYTES, MAX_TEST_FILES, criterionInputs, planCriteria, parseJudgeAnswer, inCriteriaOrder, oneLineReason, judgedItems } from './chunk-6CK2OC4Q.js';
4
4
  import { readsJobState, READ_JOB_STATE_FORMATS, jobStateFormatOf } from './chunk-ZVB57WI6.js';
5
- import { DOCKERD_LOG, HELPER_PATH, HELPER_RECORD } from './chunk-5ARXP3BP.js';
5
+ import { HELPER_PATH, DOCKERD_LOG, HELPER_RECORD } from './chunk-UEDRRWZ3.js';
6
6
  import { zodProblem } from './chunk-I3LTIAOR.js';
7
- import { senderPidfile } from './chunk-QRIE4JZE.js';
8
- import { installScrubContext } from './chunk-7SJNVGVC.js';
9
- import { writeDockerClientConfig } from './chunk-GPO7F757.js';
7
+ import { senderPidfile } from './chunk-JXY66VYX.js';
8
+ import { installScrubContext } from './chunk-32FAPJFD.js';
9
+ import { writeDockerClientConfig } from './chunk-QJ2SNBHL.js';
10
10
  import { upgradedStarterText } from './chunk-TZMDRHWB.js';
11
- import { ADDED_USER, shellQuote, GH_CONFIG_YML, ghHostsYml, hasClaudeCredential, AssetError, obtainImage, ensureRootfs, makeBuildsDirPrivate, gitRemoteFor, startServicesFor, createLeaseChannel, createBuildDisk, machineConfig, startJailedInto, resolveAgentUser, AgentUserError, runBuildSteps, runtimeStepInput, keepUnpinnedRuntimes, createContainerRuntime, containerSenderCommand, hostCommandEnvironment, execArgv, signalInContainer, startHostServices, LEASE_SECONDS, managedBuildSettingsFor, stopContainer, cleanupContainer, outOfMemoryReason, closeHostBuild, dropManagedClaudeKey, dropManagedBuildSettings, startCheckContainer, lifecycleSteps, lifecycleFailureReason, writeEvalInput, DeliveryFailure, EVAL_INPUT_NAME, syncInContainer, copyTranscriptsFromContainer, MANAGED_UNJAILED_REASON, senderAliveScript, managedMachineLimits, withFactoryHosts, helperFirecrackerNote, managedClaudeKeyValues, managedBuildSettingValues, stopJailed, deleteBuildDisk, managedClaudeKeyFor, ROOT_DISK_ID_PREFIX, copyTranscripts, containerJudgeEnvironment, senderSignalScript, copyJudgeTree } from './chunk-LSFP57LI.js';
12
- import { fetchCommit, readBranchHead, diffBetween } from './chunk-5FHBVV25.js';
13
- import { waitForAgent, vmExecArgs } from './chunk-JVNQNKHV.js';
14
- import { socketPathProblem, vsockLinks, LEASE_LINK, linkVsockSockets } from './chunk-BS3OYFAD.js';
15
- import { describeCallFailure, resolveGoverningSource, prefetchGovernedContext, refusalCode, removeStagedContext, stageGovernedContext, pinnedSourceOf, commandWithShim, logStamp, createRunnerLog, removeKeptContext, formatDuration, retrySend, formatClock, keptContextTree, WORKFLOW_PERMISSION_REASON } from './chunk-7Q7GQELE.js';
16
- import { imageBuildOf, isBuiltinContainer, isBuiltinProcess, isBuiltinVm, egressSummary, DEFAULT_CHECK_TIME_LIMIT_MINUTES, optionalEgress } from './chunk-JWMJMQRF.js';
17
- import { formatBytes, DEFAULT_CACHE_DISK, allocatedBytes } from './chunk-LYX2RRSF.js';
18
- import { HASH_ARGV, parseProgramHash, JUDGE_PROGRAM, writeJobFile, readJobFile, parseSize, childEnvironment, withAnswerProtocol, judgeCommand, MAX_REPORT_BYTES, JUDGE_MAX_TURNS, JUDGE_DIR, COMMAND_DIR, MAX_ITEMS_BYTES } from './chunk-FLHBUQ2W.js';
19
- import { CLAUDE_CODE_VERSION, FIRECRACKER_VERSION } from './chunk-WX2HW2G2.js';
11
+ import { ADDED_USER, shellQuote, GH_CONFIG_YML, ghHostsYml, firstLine, hasClaudeCredential, AssetError, obtainImage, ensureRootfs, makeBuildsDirPrivate, gitRemoteFor, startServicesFor, createLeaseChannel, createBuildDisk, machineConfig, startJailedInto, resolveAgentUser, AgentUserError, runBuildSteps, runtimeStepInput, keepUnpinnedRuntimes, createContainerRuntime, containerSenderCommand, hostCommandEnvironment, execArgv, signalInContainer, startHostServices, LEASE_SECONDS, managedBuildSettingsFor, stopContainer, cleanupContainer, outOfMemoryReason, closeHostBuild, dropManagedClaudeKey, dropManagedBuildSettings, startCheckContainer, lifecycleSteps, lifecycleFailureReason, writeEvalInput, DeliveryFailure, EVAL_INPUT_NAME, syncInContainer, copyTranscriptsFromContainer, MANAGED_UNJAILED_REASON, senderAliveScript, managedMachineLimits, withFactoryHosts, helperFirecrackerNote, said, managedClaudeKeyValues, managedBuildSettingValues, stopJailed, deleteBuildDisk, managedClaudeKeyFor, ROOT_DISK_ID_PREFIX, copyTranscripts, containerJudgeEnvironment, senderSignalScript, copyJudgeTree } from './chunk-VB4QD4WN.js';
12
+ import { fetchCommit, readBranchHead, diffBetween } from './chunk-BQ4C47K2.js';
13
+ import { waitForAgent, vmExecArgs } from './chunk-PHIQHIRJ.js';
14
+ import { socketPathProblem, vsockLinks, LEASE_LINK, linkVsockSockets } from './chunk-G4SOMWXL.js';
15
+ import { describeCallFailure, resolveGoverningSource, prefetchGovernedContext, refusalCode, removeStagedContext, stageGovernedContext, pinnedSourceOf, commandWithShim, logStamp, createRunnerLog, removeKeptContext, formatDuration, retrySend, formatClock, keptContextTree, WORKFLOW_PERMISSION_REASON } from './chunk-PPQTTJSW.js';
16
+ import { imageBuildOf, isBuiltinContainer, isBuiltinProcess, isBuiltinVm, egressSummary, DEFAULT_CHECK_TIME_LIMIT_MINUTES, optionalEgress } from './chunk-GXMMILQ4.js';
17
+ import { formatBytes, DEFAULT_CACHE_DISK, allocatedBytes } from './chunk-EGJY6MBC.js';
18
+ import { HASH_ARGV, parseProgramHash, JUDGE_PROGRAM, writeJobFile, readJobFile, parseSize, identityScript, identityArgs, parseIdentity, mountableHome, homeCopyScript, homeCopyArgs, childEnvironment, withAnswerProtocol, judgeCommand, MAX_REPORT_BYTES, JUDGE_MAX_TURNS, JUDGE_DIR, COMMAND_DIR, MAX_ITEMS_BYTES } from './chunk-AHWMY3MS.js';
19
+ import { CLAUDE_CODE_VERSION, FIRECRACKER_VERSION } from './chunk-D3CT6XQ4.js';
20
20
  import { isSameProcess, startTimeOf } from './chunk-JBJTC3UU.js';
21
- import { WorkCommandError, postJson, isSignatureRefusal, getJson } from './chunk-6IMQXBTZ.js';
21
+ import { WorkCommandError, postJson, isSignatureRefusal, getJson } from './chunk-GJYGOFF3.js';
22
22
  import { planArtifactUpload } from './chunk-IXPH4EXK.js';
23
23
  import { readCloudConfig } from './chunk-PJDQPF5N.js';
24
- import { signerFor } from './chunk-RJZZFAXS.js';
24
+ import { signerFor } from './chunk-VKYU4HHW.js';
25
25
  import { AGENTS_SKILLS_BASE, OUTERLAYER_SKILLS_BASE, resolvePackRoot } from './chunk-OVNF4LLC.js';
26
26
  import { scrubText } from './chunk-A6PJSNP6.js';
27
27
  import { MAINTAINED_SKILLS } from './chunk-CDDED64E.js';
@@ -29,8 +29,8 @@ import { resolveVersion } from './chunk-RA3O54FC.js';
29
29
  import { parsePolicy } from './chunk-XFJ7YOPD.js';
30
30
  import { CheckItemsSchema } from './chunk-DINRXUQA.js';
31
31
  import { homeFromEnv } from './chunk-VNVZDWO3.js';
32
- import { RUNNER_FILE_MODE, runnerDir, buildDir, vsockPath, jobConsolePath } from './chunk-3VJYDWFV.js';
33
- import { JOB_MOUNT, repositoriesOf, primaryOf, buildEnvironment, CHECKOUT_DIR, claudeCredential, AGENT_CREDENTIAL_MISSING, sharedUserEnvironment, headerVariables, authorEnvironment, withTunnelRecord, commitIdentityRecord, RELAY_PORT, repositoryPath, lifecycleWorkdir, CHECK_ITEMS_FILE, fdName, buildMavenSettingsXml, CLAUDE_CREDENTIAL_VARIABLES, currentClaudeCredential, removedClaudeCredentialValues, managedClaudeCredential, checkEnvironment, MAVEN_SETTINGS_FILE, EVAL_INPUT_DIR } from './chunk-GMKDAF37.js';
32
+ import { RUNNER_FILE_MODE, runnerDir, buildDir, vsockPath, jobConsolePath } from './chunk-AJTGTSNA.js';
33
+ import { JOB_MOUNT, repositoriesOf, primaryOf, buildEnvironment, CHECKOUT_DIR, claudeCredential, AGENT_CREDENTIAL_MISSING, sharedUserEnvironment, headerVariables, authorEnvironment, withTunnelRecord, commitIdentityRecord, RELAY_PORT, repositoryPath, lifecycleWorkdir, CHECK_ITEMS_FILE, fdName, BUILD_HOME, CLAUDE_CREDENTIAL_VARIABLES, currentClaudeCredential, removedClaudeCredentialValues, managedClaudeCredential, checkEnvironment, EVAL_INPUT_DIR } from './chunk-L2OARQKP.js';
34
34
  import { RUNNER_WORDED_REASONS, UNKNOWN_TRACKING_REASON } from './chunk-MESOOLF4.js';
35
35
  import { randomBytes, createHash } from 'crypto';
36
36
  import { rmSync, existsSync, statSync, appendFileSync, mkdirSync, chmodSync, writeFileSync, openSync, closeSync, readFileSync, readdirSync, lstatSync, realpathSync, fstatSync, readSync } from 'fs';
@@ -191,7 +191,7 @@ var DOCKER_LOG_LINES = 20;
191
191
  var GUEST_GH_DIR = `${JOB_MOUNT}/gh`;
192
192
  var GUEST_HOOKS_DIR = `${JOB_MOUNT}/git-hooks`;
193
193
  var GUEST_CONTEXT_DIR = `${JOB_MOUNT}/context`;
194
- var GUEST_MAVEN_DIR = `${JOB_MOUNT}/maven`;
194
+ var GUEST_PATH2 = "/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin";
195
195
  function buildMemoryBytes(config) {
196
196
  return parseSize(config.build?.memory ?? DEFAULT_MEMORY) ?? parseSize(DEFAULT_MEMORY);
197
197
  }
@@ -227,9 +227,6 @@ function factoryVariablesOf(config, jobDir) {
227
227
  if (held !== void 0) return held;
228
228
  return config.managed === true ? [] : void 0;
229
229
  }
230
- function firstLine(text2) {
231
- return text2.trim().split("\n")[0] ?? "";
232
- }
233
230
  function execEnvironment(image, env) {
234
231
  const merged = { ...image, ...env.literals };
235
232
  for (const [name, value] of Object.entries(env.passed)) if (value !== void 0) merged[name] = value;
@@ -256,11 +253,26 @@ async function writeGuestGhConfig(runtime, state, token) {
256
253
  const result = await asRoot(runtime, state, ["/bin/sh", "-c", script], ghHostsYml(token));
257
254
  if (result.status !== 0) throw new Error(`writing gh's configuration in the guest failed (exit ${result.status}): ${firstLine(result.stderr)}`);
258
255
  }
259
- async function writeGuestMavenSettings(runtime, state) {
260
- const script = ["set -e", "umask 022", `mkdir -p ${GUEST_MAVEN_DIR}`, `cat > ${GUEST_MAVEN_DIR}/${MAVEN_SETTINGS_FILE}`].join("\n");
261
- const result = await asRoot(runtime, state, ["/bin/sh", "-c", script], buildMavenSettingsXml());
262
- if (result.status !== 0) throw new Error(`writing Maven's settings in the guest failed (exit ${result.status}): ${firstLine(result.stderr)}`);
263
- }
256
+ async function mountGuestHome(runtime, state, agentUser, known) {
257
+ let home = known;
258
+ if (home === void 0) {
259
+ if (agentUser === ADDED_USER) return void 0;
260
+ const read = await asRoot(runtime, state, [NODE_IN_GUEST, "-e", identityScript(), ...identityArgs(agentUser)]);
261
+ const found = parseIdentity(read.stdout);
262
+ if (read.status !== 0 || found === void 0) throw new Error(`reading the build's user from the image failed (exit ${read.status})${said(read.stderr)}`);
263
+ home = mountableHome(found?.home);
264
+ if (home === void 0) return void 0;
265
+ }
266
+ const copied = await runtime.vm.exec(state.vsockPath, { argv: [NODE_IN_GUEST, "-e", homeCopyScript(), ...homeCopyArgs(home)], user: agentUser, cwd: "/", env: { PATH: GUEST_PATH2, ...state.imageEnv, NODE_OPTIONS: "" } });
267
+ if (copied.status !== 0) throw new Error(`copying ${home} into the build's home failed (exit ${copied.status})${said(copied.stderr)}`);
268
+ const folder = shellQuote(home);
269
+ const mounted = await asRoot(runtime, state, ["/bin/sh", "-c", `[ -d ${folder} ] || exit ${NO_FOLDER}; exec ${HELPER_PATH} mount --bind --source ${BUILD_HOME} --target ${folder}`]);
270
+ if (mounted.status === NO_FOLDER) return void 0;
271
+ if (mounted.status !== 0) throw new Error(`mounting the build's home at ${home} failed (exit ${mounted.status})${said(mounted.stderr)}`);
272
+ return home;
273
+ }
274
+ var NODE_IN_GUEST = "/opt/outerlayer/bin/node";
275
+ var NO_FOLDER = 3;
264
276
  async function unpackIntoGuest(runtime, state, dir, target, opts = {}) {
265
277
  const script = opts.readOnly === true ? `set -e; rm -rf ${target}; mkdir -p ${target}; tar -x --no-same-owner -C ${target}; chmod -R a+rX,a-w ${target}` : `set -e; mkdir -p ${target}; tar -x --no-same-owner -C ${target}; chmod -R a+rX ${target}`;
266
278
  const result = await asRoot(runtime, state, ["/bin/sh", "-c", script], tarOf(dir));
@@ -594,6 +606,12 @@ async function provisionMicroVm(input) {
594
606
  throw err;
595
607
  }
596
608
  state.agentUser = agentUser;
609
+ try {
610
+ const home = await mountGuestHome(runtime, state, agentUser);
611
+ if (home !== void 0) state.home = home;
612
+ } catch (err) {
613
+ return bail(describeCallFailure(err));
614
+ }
597
615
  const tools = await asRoot(runtime, state, ["cat", "/opt/outerlayer/tools.json"]);
598
616
  const agentVersion = agentVersionOf(tools.status === 0 ? tools.stdout : "");
599
617
  environment.agentVersion = agentVersion;
@@ -605,15 +623,7 @@ async function provisionMicroVm(input) {
605
623
  const failure = await waitForDocker(runtime, state, agentUser, input.now ?? (() => /* @__PURE__ */ new Date()));
606
624
  if (failure !== void 0) return bail(failure);
607
625
  }
608
- try {
609
- await writeGuestMavenSettings(runtime, state);
610
- } catch (err) {
611
- return bail(`the build's Maven settings could not be delivered: ${describeCallFailure(err)}`);
612
- }
613
- let execEnv = buildEnvironment({ ...envInput, imageEnv: state.imageEnv });
614
- for (const notice of execEnv.notices) log.line(`${tag} ${notice}`);
615
- const plainEnv = buildEnvironment({ ...envInput, imageEnv: state.imageEnv, proxyWarning: false });
616
- const request = (argv, workdir, plain = false) => ({ argv, user: agentUser, cwd: workdir, env: execEnvironment(state.imageEnv, plain ? plainEnv : execEnv) });
626
+ const request = (argv, workdir) => ({ argv, user: agentUser, cwd: workdir, env: execEnvironment(state.imageEnv, env) });
617
627
  const steps = await runBuildSteps({
618
628
  repository,
619
629
  branch: primary.branch,
@@ -622,7 +632,7 @@ async function provisionMicroVm(input) {
622
632
  agentVersion,
623
633
  lifecycle: report.apply.lifecycle,
624
634
  exec: async (argv, workdir, opts) => {
625
- const ran = await vm.exec(state.vsockPath, request(argv, workdir, opts?.withoutProxyWarning === true));
635
+ const ran = await vm.exec(state.vsockPath, request(argv, workdir));
626
636
  if (opts?.quiet !== true) appendFileSync(logPath, ran.stdout + ran.stderr);
627
637
  return ran;
628
638
  },
@@ -654,11 +664,7 @@ async function provisionMicroVm(input) {
654
664
  keepIn: jobDir,
655
665
  ...input.requireBuildSkill === true ? { requireBuildSkill: true } : {},
656
666
  // A repository with no devcontainer file builds on the universal image, whose runtimes the build chooses and installs.
657
- ...runtimeStepInput(report, services),
658
- dropProxyWarning: () => {
659
- state.proxyWarningDropped = true;
660
- execEnv = plainEnv;
661
- }
667
+ ...runtimeStepInput(report, services)
662
668
  });
663
669
  if (!steps.ok) return bail(steps.reason, steps.aborted === true);
664
670
  state.startCommit = steps.startCommit;
@@ -710,8 +716,6 @@ function vmExecFor(input, argv) {
710
716
  unpinnedRuntimes: state.unpinnedRuntimes,
711
717
  builtIns: state.builtIns === true,
712
718
  identity: input.job.commitIdentity,
713
- imageEnv: state.imageEnv,
714
- proxyWarning: state.proxyWarningDropped !== true,
715
719
  factoryVariables: factoryVariablesOf(input.config, input.jobDir)
716
720
  });
717
721
  const options = {
@@ -742,8 +746,6 @@ async function startMicroVmCommand(input) {
742
746
  unpinnedRuntimes: state.unpinnedRuntimes,
743
747
  builtIns: state.builtIns === true,
744
748
  identity: input.job.commitIdentity,
745
- imageEnv: state.imageEnv,
746
- proxyWarning: state.proxyWarningDropped !== true,
747
749
  factoryVariables: factoryVariablesOf(input.config, input.jobDir)
748
750
  });
749
751
  const started = await input.runtime.vm.exec(state.vsockPath, {
@@ -754,8 +756,8 @@ async function startMicroVmCommand(input) {
754
756
  detach: state.commandDir ?? MICROVM_COMMAND_DIR
755
757
  });
756
758
  if (started.status !== 0) {
757
- const said = firstLine(started.stderr);
758
- throw new Error(`the guest's exec agent exited ${started.status}${said === "" ? "" : `: ${said}`}`);
759
+ const said2 = firstLine(started.stderr);
760
+ throw new Error(`the guest's exec agent exited ${started.status}${said2 === "" ? "" : `: ${said2}`}`);
759
761
  }
760
762
  }
761
763
  async function endMicroVmCommand(runtime, state, jobDir, onError) {
@@ -787,8 +789,6 @@ async function syncInMicroVm(input) {
787
789
  unpinnedRuntimes: state.unpinnedRuntimes,
788
790
  builtIns: state.builtIns === true,
789
791
  identity: job.commitIdentity,
790
- imageEnv: state.imageEnv,
791
- proxyWarning: state.proxyWarningDropped !== true,
792
792
  factoryVariables: factoryVariablesOf(input.config, input.jobDir)
793
793
  });
794
794
  const result = await runtime.vm.exec(state.vsockPath, {
@@ -935,7 +935,8 @@ async function startCheckMicroVm(input) {
935
935
  containerEnv: built.containerEnv,
936
936
  imageEnv: built.imageEnv,
937
937
  lifecycle: built.lifecycle,
938
- ...built.docker === true ? { docker: true } : {}
938
+ ...built.docker === true ? { docker: true } : {},
939
+ ...built.home === void 0 ? {} : { home: built.home }
939
940
  };
940
941
  const checksDir = join(jobDir, "checks");
941
942
  mkdirSync(checksDir, { recursive: true });
@@ -1039,6 +1040,13 @@ async function startCheckMicroVm(input) {
1039
1040
  if (!ready) {
1040
1041
  return `the microVM did not start: ${silence(runtime, state, lastError, consoleNote(state, consolePath))}`;
1041
1042
  }
1043
+ if (state.home !== void 0) {
1044
+ try {
1045
+ await mountGuestHome(runtime, state, agentUser, state.home);
1046
+ } catch (err) {
1047
+ return describeCallFailure(err);
1048
+ }
1049
+ }
1042
1050
  if (built.docker === true) return waitForDocker(runtime, state, agentUser, () => /* @__PURE__ */ new Date());
1043
1051
  return void 0;
1044
1052
  };
@@ -1051,7 +1059,6 @@ async function startCheckMicroVm(input) {
1051
1059
  repository,
1052
1060
  hostEnv: runtime.hostEnv,
1053
1061
  containerEnv: built.containerEnv ?? {},
1054
- imageEnv: built.imageEnv,
1055
1062
  // The checks of a managed build get its factory's variables, as its command did, and none of the runner's own.
1056
1063
  factoryVariables: factoryVariablesOf(config, jobDir)
1057
1064
  });
@@ -1360,7 +1367,7 @@ var POLL_MS = 200;
1360
1367
  var ASK_AGAIN_MS = 1e3;
1361
1368
  var EXIT_REPORT_WAIT_MS = 2e3;
1362
1369
  var exitsLogged = /* @__PURE__ */ new Map();
1363
- var BUILD_HOME = "/build/home";
1370
+ var BUILD_HOME2 = "/build/home";
1364
1371
  async function startSender(input) {
1365
1372
  const { config, job, jobDir, deps } = input;
1366
1373
  const tag = `#${job.item}`;
@@ -1419,7 +1426,7 @@ async function restartSender(input) {
1419
1426
  const state = job.container;
1420
1427
  if (state !== void 0 && job.itemKey !== void 0) {
1421
1428
  const runtime = deps.runtime ?? createContainerRuntime();
1422
- const pidfile = senderPidfile(BUILD_HOME, Number(job.item));
1429
+ const pidfile = senderPidfile(BUILD_HOME2, Number(job.item));
1423
1430
  const sleep = deps.sleep ?? ((ms) => new Promise((resolve) => setTimeout(resolve, ms)));
1424
1431
  const running = async () => {
1425
1432
  const probe = await runtime.host.exec({ container: state.container, user: state.agentUser ?? ADDED_USER, env: { literals: {}, passed: {} }, argv: ["/bin/sh", "-c", senderAliveScript(pidfile)] });
@@ -1485,8 +1492,8 @@ async function stopSender(input) {
1485
1492
  if (sender === void 0) return;
1486
1493
  const tag = `#${job.item}`;
1487
1494
  const sleep = deps.sleep ?? ((ms) => new Promise((resolve) => setTimeout(resolve, ms)));
1488
- const inContainer = job.container === void 0 ? void 0 : { state: job.container, runtime: deps.runtime ?? createContainerRuntime(), pidfile: senderPidfile(BUILD_HOME, Number(job.item)) };
1489
- const inGuest = job.microvm === void 0 ? void 0 : { state: job.microvm, runtime: deps.runtime ?? createContainerRuntime(), pidfile: senderPidfile(BUILD_HOME, Number(job.item)) };
1495
+ const inContainer = job.container === void 0 ? void 0 : { state: job.container, runtime: deps.runtime ?? createContainerRuntime(), pidfile: senderPidfile(BUILD_HOME2, Number(job.item)) };
1496
+ const inGuest = job.microvm === void 0 ? void 0 : { state: job.microvm, runtime: deps.runtime ?? createContainerRuntime(), pidfile: senderPidfile(BUILD_HOME2, Number(job.item)) };
1490
1497
  const signalInside = async (signal) => {
1491
1498
  if (inContainer !== void 0) return signalInContainer(inContainer.runtime, inContainer.state, inContainer.pidfile, signal).catch(() => void 0);
1492
1499
  if (inGuest !== void 0) return signalInGuest(inGuest.runtime, inGuest.state, inGuest.pidfile, signal).catch(() => void 0);
@@ -1692,8 +1699,8 @@ function readJudgeReply(run, minutes) {
1692
1699
  if (run.kind === "timeout") return { kind: "none", reason: `the judge ran out of time after ${minutes}`, limitKey: true };
1693
1700
  const output = parseOutput(run.stdout);
1694
1701
  if (output === void 0) {
1695
- const said = firstLine2(run.stderr);
1696
- return { kind: "none", reason: `the judge exited ${run.status} and printed no result${said === "" ? "" : `: ${said}`}` };
1702
+ const said2 = firstLine2(run.stderr);
1703
+ return { kind: "none", reason: `the judge exited ${run.status} and printed no result${said2 === "" ? "" : `: ${said2}`}` };
1697
1704
  }
1698
1705
  if (output.subtype === "error_max_turns") return { kind: "none", reason: `the judge reached the turn limit of ${JUDGE_MAX_TURNS} turns before it gave a result` };
1699
1706
  const lines = output.result.split(/\r\n|\r|\n/).map((line) => line.trim()).filter((line) => line !== "");
@@ -2020,9 +2027,9 @@ async function runJudge(input) {
2020
2027
  return { id: entry.id, result: entry.result, ...reason2 === void 0 ? {} : { reason: reason2 } };
2021
2028
  });
2022
2029
  const failing = itemsSentence(items, { one: "check item", many: "check items" });
2023
- const said = at.answer.answer.result ?? (at.reply.kind === "answered" ? at.reply.verdict : void 0);
2024
- const result = said === "pass" && failing === void 0 ? "pass" : "fail";
2025
- const reason = failing ?? (said === "fail" ? "the judge failed the change" : said === void 0 ? at.reply.kind === "none" ? at.reply.reason : "the judge gave no result" : void 0);
2030
+ const said2 = at.answer.answer.result ?? (at.reply.kind === "answered" ? at.reply.verdict : void 0);
2031
+ const result = said2 === "pass" && failing === void 0 ? "pass" : "fail";
2032
+ const reason = failing ?? (said2 === "fail" ? "the judge failed the change" : said2 === void 0 ? at.reply.kind === "none" ? at.reply.reason : "the judge gave no result" : void 0);
2026
2033
  const report = renderJudgeReport({ check: check.name, result, reason, items, commit: at.head });
2027
2034
  return await recordWhole(check, { ...where, result, reason, items, report });
2028
2035
  }
@@ -1,6 +1,6 @@
1
1
  #!/usr/bin/env node
2
2
  import { createRequire } from 'node:module';
3
- import { EXEC_PORT } from './chunk-BS3OYFAD.js';
3
+ import { EXEC_PORT } from './chunk-G4SOMWXL.js';
4
4
  import { createConnection } from 'net';
5
5
 
6
6
  createRequire(import.meta.url);
@@ -1,13 +1,13 @@
1
1
  #!/usr/bin/env node
2
2
  import { createRequire } from 'node:module';
3
- import { WorkCommandError, postJson } from './chunk-6IMQXBTZ.js';
4
- import { defaultGitRunner, materializeContext, fetchControlPlaneCommit, lookupGoverningSource } from './chunk-36M4KVBT.js';
5
- import { signingFetchFor } from './chunk-62URQYCB.js';
6
- import { signerFor } from './chunk-RJZZFAXS.js';
3
+ import { WorkCommandError, postJson } from './chunk-GJYGOFF3.js';
4
+ import { defaultGitRunner, materializeContext, fetchControlPlaneCommit, lookupGoverningSource } from './chunk-5IUC2B6J.js';
5
+ import { signingFetchFor } from './chunk-PAGB3DCI.js';
6
+ import { signerFor } from './chunk-VKYU4HHW.js';
7
7
  import { unsupportedLayout, layoutRefusalReason, composeDelivery } from './chunk-FGF52V4V.js';
8
8
  import { SHIM_SCRIPT, GOVERNANCE_VARIABLE } from './chunk-HCVLP7XA.js';
9
9
  import { readDegraded, readContextManifest, readSourceCache } from './chunk-YQR6E6OV.js';
10
- import { SHIM_DIR, stagedContextDir, contextHomeDir, deliveryDir, keptContextDir } from './chunk-3VJYDWFV.js';
10
+ import { SHIM_DIR, stagedContextDir, contextHomeDir, deliveryDir, keptContextDir } from './chunk-AJTGTSNA.js';
11
11
  import { fstatSync, mkdirSync, writeFileSync, chmodSync, rmSync, cpSync, readFileSync, existsSync, lstatSync } from 'fs';
12
12
  import { relative, join, dirname } from 'path';
13
13
 
@@ -1,6 +1,6 @@
1
1
  #!/usr/bin/env node
2
2
  import { createRequire } from 'node:module';
3
- import { RELAY_PORT, BUILD_HOME } from './chunk-GMKDAF37.js';
3
+ import { RELAY_PORT, BUILD_HOME } from './chunk-L2OARQKP.js';
4
4
  import { createServer, connect } from 'net';
5
5
 
6
6
  createRequire(import.meta.url);
@@ -2,9 +2,9 @@
2
2
  import { createRequire } from 'node:module';
3
3
  import { launchRefusalForSession } from './chunk-ESVW4MJY.js';
4
4
  import { detectActiveSession } from './chunk-IP7BIBXJ.js';
5
- import { autoConnect } from './chunk-EYJRVHBN.js';
5
+ import { autoConnect } from './chunk-BTDBDTUY.js';
6
6
  import { C } from './chunk-ANPNT6PM.js';
7
- import { resolveGatewayCredentials, defaultFetch, unauthorizedMessage } from './chunk-62URQYCB.js';
7
+ import { resolveGatewayCredentials, defaultFetch, unauthorizedMessage } from './chunk-PAGB3DCI.js';
8
8
  import { resolveRepoIdentity } from './chunk-A6PJSNP6.js';
9
9
  import { launchedItemForSession } from './chunk-T2Q7ISPE.js';
10
10
  import { parseTrackerNumber, trackerNumberError } from './chunk-WZBHBH3J.js';
@@ -1,9 +1,9 @@
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-EYJRVHBN.js';
4
+ import { autoConnect } from './chunk-BTDBDTUY.js';
5
5
  import { C } from './chunk-ANPNT6PM.js';
6
- import { defaultFetch, unauthorizedMessage, resolveGatewayCredentials } from './chunk-62URQYCB.js';
6
+ import { defaultFetch, unauthorizedMessage, resolveGatewayCredentials } from './chunk-PAGB3DCI.js';
7
7
  import { resolveRepoIdentity } from './chunk-A6PJSNP6.js';
8
8
  import { parseWorkItemEnv } from './chunk-T2Q7ISPE.js';
9
9
  import { parseTrackerNumber, trackerNumberError } from './chunk-WZBHBH3J.js';
@@ -1,7 +1,7 @@
1
1
  #!/usr/bin/env node
2
2
  import { createRequire } from 'node:module';
3
- import { stripTerminalControls } from './chunk-Y7MF32DM.js';
4
- import { tagToPull, imageTag, pullInstruction, readUpdateStatus, runnerImageVersion } from './chunk-CFJOONWM.js';
3
+ import { stripTerminalControls } from './chunk-PBI4CM4M.js';
4
+ import { tagToPull, imageTag, pullInstruction, readUpdateStatus, runnerImageVersion } from './chunk-LBKCYEJT.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-5VGCFZV2.js')).spawnRun;
58
+ const run = deps.run ?? (await import('./docker-VPJW5LXB.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-GPO7F757.js';
4
- import { EXEC_PORT } from './chunk-BS3OYFAD.js';
3
+ import { TUNNEL_PORT, BRIDGE_ADDRESS, BRIDGE_CIDR } from './chunk-QJ2SNBHL.js';
4
+ import { EXEC_PORT } from './chunk-G4SOMWXL.js';
5
5
  import { startTimeOf } from './chunk-JBJTC3UU.js';
6
- import { RELAY_PORT } from './chunk-GMKDAF37.js';
6
+ import { RELAY_PORT } from './chunk-L2OARQKP.js';
7
7
  import { spawn, spawnSync } from 'child_process';
8
8
  import { symlinkSync, lstatSync, writeFileSync, chmodSync, mkdirSync, existsSync } from 'fs';
9
9