@outerlayer/cli 0.33.0-next.20261022180022 → 0.33.0-next.20261022182340

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 (110) hide show
  1. package/README.md +4 -1
  2. package/dist/{agent-setup-4WKFXVOP.js → agent-setup-32F2JJIL.js} +6 -6
  3. package/dist/{bridge-DMFMBDRG.js → bridge-BCG2EB7F.js} +2 -2
  4. package/dist/{build-2ONBPS3M.js → build-BOVQZXKB.js} +5 -5
  5. package/dist/{build-disk-PCDS676T.js → build-disk-6T4WR3XI.js} +6 -6
  6. package/dist/build-info.json +1 -1
  7. package/dist/{builder-AIKWGJHP.js → builder-E4F5355C.js} +5 -5
  8. package/dist/{check-LGZOJYLS.js → check-DUVKQSXY.js} +36 -36
  9. package/dist/{chunk-RLGSBR56.js → chunk-2QT4JUW3.js} +2 -2
  10. package/dist/{chunk-VHRKGCBY.js → chunk-4XQ6F3HD.js} +1 -1
  11. package/dist/{chunk-ZQ7VRXYM.js → chunk-5BNWAIHN.js} +1 -1
  12. package/dist/{chunk-OKTLQTWH.js → chunk-5CZVJVTP.js} +19 -12
  13. package/dist/{chunk-W4UFGYKQ.js → chunk-6C2YWM6N.js} +1 -1
  14. package/dist/{chunk-LOYLFW4I.js → chunk-6IKSUAIA.js} +1 -1
  15. package/dist/{chunk-XCUXPSHL.js → chunk-6KLPC4U7.js} +2 -2
  16. package/dist/{chunk-XXVYHC6D.js → chunk-6NWS455T.js} +1 -1
  17. package/dist/{chunk-VGIS2D3U.js → chunk-6PUSHKJ6.js} +124 -20
  18. package/dist/{chunk-ZZAA73E5.js → chunk-6YHUMNUB.js} +3 -3
  19. package/dist/{chunk-J6LFFZOY.js → chunk-A33USDCE.js} +4 -4
  20. package/dist/{chunk-634F6J3Q.js → chunk-AA6LYZC4.js} +1 -1
  21. package/dist/{chunk-MBGS33SL.js → chunk-AGZNCIIJ.js} +1 -1
  22. package/dist/{chunk-D5ZGMXUL.js → chunk-BCCI32ME.js} +70 -4
  23. package/dist/{chunk-7HMF7I3D.js → chunk-BMCPLX2W.js} +4 -4
  24. package/dist/{chunk-FSFAP7GA.js → chunk-BY36DVJV.js} +2 -2
  25. package/dist/{chunk-JFRBPBD5.js → chunk-CMZVDKOX.js} +2 -2
  26. package/dist/{chunk-HDD3BKAE.js → chunk-CUBIZBMF.js} +3 -3
  27. package/dist/{chunk-ZFJAQS3A.js → chunk-DDS2ISML.js} +1 -1
  28. package/dist/{chunk-EBX2DU2M.js → chunk-DETKDTNL.js} +2 -2
  29. package/dist/{chunk-YMGSMPPW.js → chunk-EYW2ZRDL.js} +2 -2
  30. package/dist/{chunk-ZQSCE7M4.js → chunk-FAZDYI2D.js} +2 -2
  31. package/dist/{chunk-M7IA4JOX.js → chunk-FVY5OU3N.js} +5 -5
  32. package/dist/{chunk-DZGLRVS3.js → chunk-GN2R5Z7G.js} +3 -3
  33. package/dist/{chunk-Y53T3QZM.js → chunk-GWDS42JC.js} +1 -1
  34. package/dist/{chunk-LG2IQRTO.js → chunk-HGZXTPRO.js} +4 -4
  35. package/dist/{chunk-5KO3TN2F.js → chunk-JEKENLLA.js} +1 -1
  36. package/dist/{chunk-JUVUVXQZ.js → chunk-JR4TZLG6.js} +2 -2
  37. package/dist/{chunk-R6QCSHKC.js → chunk-KFA762LZ.js} +2 -2
  38. package/dist/{chunk-O5F376JJ.js → chunk-LWTBE5J6.js} +1 -1
  39. package/dist/{chunk-GDI6QGRH.js → chunk-ODHEQ4TA.js} +9 -9
  40. package/dist/{chunk-O7MSQBTH.js → chunk-OWDSO3PE.js} +1 -1
  41. package/dist/{chunk-TTACRX4N.js → chunk-QL3LPZ67.js} +1 -1
  42. package/dist/{chunk-7SCEDWQP.js → chunk-R3DSBA3J.js} +9 -9
  43. package/dist/{chunk-JKPJQNJF.js → chunk-RAHE2AYU.js} +5 -5
  44. package/dist/{chunk-PWB7EK4Z.js → chunk-SK4TWCN3.js} +1 -1
  45. package/dist/{chunk-J5VNSW4W.js → chunk-T4BJBF7L.js} +24 -20
  46. package/dist/{chunk-KQFWTTG7.js → chunk-TDVG6MCO.js} +5 -5
  47. package/dist/{chunk-QPAPHQZ7.js → chunk-UOFBHIOZ.js} +1 -1
  48. package/dist/{chunk-HAD7LYDL.js → chunk-W5DOK7BL.js} +35 -8
  49. package/dist/{chunk-ZANK3WWF.js → chunk-WB7LPDXR.js} +1 -1
  50. package/dist/{chunk-FLFK42YF.js → chunk-WPGBDY73.js} +1 -1
  51. package/dist/{chunk-6KVKEZTH.js → chunk-X2LZ2IHE.js} +3 -3
  52. package/dist/{chunk-CMNAAKFD.js → chunk-ZQOSIMKU.js} +1 -1
  53. package/dist/{chunk-A6MLCH76.js → chunk-ZRRUWNJS.js} +3 -3
  54. package/dist/{claude-launcher-SNMNPDP4.js → claude-launcher-B4L7ELIF.js} +1 -1
  55. package/dist/{cli-2LCCZQA6.js → cli-IO5VOFBP.js} +100 -100
  56. package/dist/{command-2EJ76XJH.js → command-VWYDP7QC.js} +23 -23
  57. package/dist/{config-WAIYUZUG.js → config-DUY2PT7K.js} +2 -2
  58. package/dist/{connect-cmd-YNPOL2Y5.js → connect-cmd-ADRPR6ES.js} +5 -5
  59. package/dist/{container-start-RWOEQUCC.js → container-start-C33T3KS6.js} +23 -23
  60. package/dist/{control-plane-launch-O3TXH3LI.js → control-plane-launch-PSFYCKYH.js} +5 -5
  61. package/dist/{docker-NDEA46KV.js → docker-JQTUFP6V.js} +5 -5
  62. package/dist/{doctor-C3JKNKEJ.js → doctor-D5JNQ6U7.js} +26 -26
  63. package/dist/{emit-artifact-cmd-PZW7TVHF.js → emit-artifact-cmd-DX6RNKGK.js} +10 -10
  64. package/dist/{emit-criteria-cmd-EE7BYO34.js → emit-criteria-cmd-D7OR356Y.js} +7 -7
  65. package/dist/{emit-demo-cmd-AKRXCWLK.js → emit-demo-cmd-KMADDLIA.js} +11 -11
  66. package/dist/{emit-finding-cmd-JXFT233D.js → emit-finding-cmd-GEPRJ6KO.js} +7 -7
  67. package/dist/{emit-result-cmd-4K6HUK4B.js → emit-result-cmd-TSUOZSYJ.js} +9 -9
  68. package/dist/{emit-step-cmd-JEADH4VS.js → emit-step-cmd-CC6MUJ2S.js} +7 -7
  69. package/dist/{exec-client-ODRV5HSQ.js → exec-client-KLI262IX.js} +3 -3
  70. package/dist/{findings-cmd-MO4MCKIO.js → findings-cmd-7I72XX2H.js} +7 -7
  71. package/dist/{fleet-readiness-DA2UXFJW.js → fleet-readiness-EZAGL32M.js} +5 -5
  72. package/dist/{governing-source-74VYUJPC.js → governing-source-G2I3ZT6M.js} +9 -9
  73. package/dist/{guest-init-KDK4DQFK.js → guest-init-ZJIE6MU3.js} +4 -4
  74. package/dist/{hook-fast-PXSDGAUP.js → hook-fast-6GE5LEJI.js} +1 -1
  75. package/dist/{pending-ZXVJPA24.js → host-key-REZADWAM.js} +3 -3
  76. package/dist/{image-tag-6U7UYPIT.js → image-tag-MORUQ4LF.js} +3 -3
  77. package/dist/index.js +4 -4
  78. package/dist/{init-ZCZVN3AI.js → init-F5ZCQU4C.js} +22 -22
  79. package/dist/{init-2LWFZK45.js → init-UE4IDADW.js} +22 -22
  80. package/dist/{init-cmd-3YBDLWPR.js → init-cmd-4HAGUCMD.js} +10 -10
  81. package/dist/{init-update-S6QVSR72.js → init-update-DWZMXIBG.js} +8 -8
  82. package/dist/{install-4OPPUC72.js → install-NLVYISAV.js} +4 -4
  83. package/dist/{install-cmd-BGUN6XFJ.js → install-cmd-HFGINYEE.js} +5 -5
  84. package/dist/{logs-2XVSZODP.js → logs-QSKJ4G6M.js} +2 -2
  85. package/dist/{loop-3YF4S4CA.js → loop-S5OE3B3O.js} +36 -36
  86. package/dist/{machine-X3EYEXEM.js → machine-2HTTC2EF.js} +18 -18
  87. package/dist/{mcp-serve-cmd-GYLU23YJ.js → mcp-serve-cmd-DQSO6MOL.js} +4 -4
  88. package/dist/{paths-FE7TXSTA.js → paths-KHDFSBEI.js} +2 -2
  89. package/dist/{host-key-5AUIPHRG.js → pending-I5TY6SQH.js} +3 -3
  90. package/dist/{pidfile-ZWJLQIJV.js → pidfile-BSY63HIC.js} +3 -3
  91. package/dist/{record-JGQ3CCKH.js → record-7CNTGRLD.js} +3 -3
  92. package/dist/{runner-env-V37JMYNW.js → runner-env-26NLQI35.js} +5 -5
  93. package/dist/{runner-identity-77KVP24W.js → runner-identity-5SOFX53W.js} +5 -5
  94. package/dist/{runner-key-CBL5552Z.js → runner-key-SFSXLQ72.js} +22 -22
  95. package/dist/{session-sender-I3CQB6YL.js → session-sender-CMDAHNLE.js} +10 -10
  96. package/dist/{spec-cmd-E6LI56MR.js → spec-cmd-WFS64ZCI.js} +8 -8
  97. package/dist/{status-TGQTGC7B.js → status-56B2RX4M.js} +25 -25
  98. package/dist/{sync-cmd-ONY2NA4L.js → sync-cmd-XCGNHOGU.js} +9 -9
  99. package/dist/{watch-TH3E7HC3.js → watch-6O6LTIBM.js} +9 -9
  100. package/dist/{work-claim-cmd-UZYGUHAF.js → work-claim-cmd-ABYB5RGL.js} +10 -10
  101. package/dist/{work-cmd-IGYK3MVP.js → work-cmd-H7LLCT2W.js} +7 -7
  102. package/dist/{work-comment-cmd-D5QETAF5.js → work-comment-cmd-QW745J2A.js} +7 -7
  103. package/dist/{work-logs-cmd-I2LQK72I.js → work-logs-cmd-GMPGBFLO.js} +7 -7
  104. package/dist/{work-open-pr-cmd-FMJKE3M4.js → work-open-pr-cmd-75XO4DL2.js} +8 -8
  105. package/dist/{work-pr-cmd-5G3FJSPI.js → work-pr-cmd-KBNFVRB4.js} +7 -7
  106. package/dist/{work-stop-cmd-7J6NG6WO.js → work-stop-cmd-C65WG6NY.js} +7 -7
  107. package/package.json +1 -1
  108. package/skill-pack/maintained/outerlayer-build/references/agent-briefs.md +9 -3
  109. package/skill-pack/maintained/outerlayer-build/references/evidence.md +4 -3
  110. package/skill-pack/maintained/outerlayer-evidence/SKILL.md +8 -7
package/README.md CHANGED
@@ -223,7 +223,10 @@ content:
223
223
  build uses the host's network: the build's tunnel does not carry it, and
224
224
  `runner.build.allowHosts` does not limit it.
225
225
  - **`outerlayer runner start` with `builtin:vm` hooks** runs each build in its
226
- own Firecracker microVM, which has no network device. The first microVM
226
+ own Firecracker microVM, which has no network card. Every TCP connection
227
+ of every program in it goes through the runner's tunnel, whether or not the
228
+ program reads the proxy variables, and `runner.build.allowHosts` narrows what
229
+ it reaches. No DNS query or UDP packet leaves the microVM. The first microVM
227
230
  build downloads a pinned Firecracker release from github.com. It also
228
231
  downloads a guest kernel and a guest helper from the releases of the public
229
232
  repository `outerlayerai/guest-assets` on github.com. The runner checks each
@@ -1,18 +1,18 @@
1
1
  #!/usr/bin/env node
2
2
  import { createRequire } from 'node:module';
3
- export { keepHandWritten, runAgentSetup } from './chunk-VHRKGCBY.js';
3
+ export { keepHandWritten, runAgentSetup } from './chunk-4XQ6F3HD.js';
4
4
  import './chunk-JHTJPQSL.js';
5
5
  import './chunk-KT4CN6OU.js';
6
6
  import './chunk-DY7Y7UT4.js';
7
7
  import './chunk-HJYBWJAS.js';
8
8
  import './chunk-ANPNT6PM.js';
9
- import './chunk-YMGSMPPW.js';
9
+ import './chunk-EYW2ZRDL.js';
10
10
  import './chunk-UIUGTW5C.js';
11
- import './chunk-FLFK42YF.js';
11
+ import './chunk-WPGBDY73.js';
12
12
  import './chunk-PJDQPF5N.js';
13
- import './chunk-634F6J3Q.js';
14
- import './chunk-MBGS33SL.js';
15
- import './chunk-D5ZGMXUL.js';
13
+ import './chunk-AA6LYZC4.js';
14
+ import './chunk-AGZNCIIJ.js';
15
+ import './chunk-BCCI32ME.js';
16
16
  import './chunk-ZJSNLVCE.js';
17
17
  import './chunk-BJ3KTMDH.js';
18
18
  import './chunk-G63KT5I5.js';
@@ -1,7 +1,7 @@
1
1
  #!/usr/bin/env node
2
2
  import { createRequire } from 'node:module';
3
- export { BRIDGE_ADDRESS, BRIDGE_CIDR, CONTAINER_NO_PROXY, CONTAINER_PROXY, TUNNEL_PORT, dockerClientConfig, startBridgeForward, writeDockerClientConfig } from './chunk-TTACRX4N.js';
4
- import './chunk-D5ZGMXUL.js';
3
+ export { BRIDGE_ADDRESS, BRIDGE_CIDR, CONTAINER_NO_PROXY, CONTAINER_PROXY, TUNNEL_PORT, dockerClientConfig, startBridgeForward, writeDockerClientConfig } from './chunk-QL3LPZ67.js';
4
+ import './chunk-BCCI32ME.js';
5
5
  import './chunk-HACGUL52.js';
6
6
  import './chunk-MESOOLF4.js';
7
7
  import './chunk-Z5GEFMRW.js';
@@ -1,12 +1,12 @@
1
1
  #!/usr/bin/env node
2
2
  import { createRequire } from 'node:module';
3
- export { KEY_PREFIX, TAG_HOST, buildRepositoryImage, metadataFromLabels, prepareImageBuild, writeRecord } from './chunk-7HMF7I3D.js';
4
- import './chunk-ZFJAQS3A.js';
3
+ export { KEY_PREFIX, TAG_HOST, buildRepositoryImage, metadataFromLabels, prepareImageBuild, writeRecord } from './chunk-BMCPLX2W.js';
4
+ import './chunk-DDS2ISML.js';
5
5
  import './chunk-JBJTC3UU.js';
6
6
  export { RecipeError } from './chunk-3Z3MPR55.js';
7
- import './chunk-R6QCSHKC.js';
8
- import './chunk-MBGS33SL.js';
9
- import './chunk-D5ZGMXUL.js';
7
+ import './chunk-KFA762LZ.js';
8
+ import './chunk-AGZNCIIJ.js';
9
+ import './chunk-BCCI32ME.js';
10
10
  import './chunk-HACGUL52.js';
11
11
  import './chunk-MESOOLF4.js';
12
12
  import './chunk-Z5GEFMRW.js';
@@ -1,15 +1,15 @@
1
1
  #!/usr/bin/env node
2
2
  import { createRequire } from 'node:module';
3
- export { DEFAULT_BUILD_DISK, DOCKER_CACHE_MS, checkDiskFit, realBuildDiskProbe, runDocker, volumeBytes } from './chunk-JFRBPBD5.js';
3
+ export { DEFAULT_BUILD_DISK, DOCKER_CACHE_MS, checkDiskFit, realBuildDiskProbe, runDocker, volumeBytes } from './chunk-CMZVDKOX.js';
4
4
  import './chunk-YYYRBYWG.js';
5
- import './chunk-LG2IQRTO.js';
5
+ import './chunk-HGZXTPRO.js';
6
6
  import './chunk-3Z3MPR55.js';
7
- import './chunk-R6QCSHKC.js';
7
+ import './chunk-KFA762LZ.js';
8
8
  import './chunk-YJLHUKYS.js';
9
9
  import './chunk-5DNCFOXA.js';
10
- import './chunk-634F6J3Q.js';
11
- import './chunk-MBGS33SL.js';
12
- import './chunk-D5ZGMXUL.js';
10
+ import './chunk-AA6LYZC4.js';
11
+ import './chunk-AGZNCIIJ.js';
12
+ import './chunk-BCCI32ME.js';
13
13
  import './chunk-E6CO3MJE.js';
14
14
  import './chunk-HACGUL52.js';
15
15
  import './chunk-MESOOLF4.js';
@@ -1 +1 @@
1
- {"id":"2026-10-22T18:03:01.584Z+80747d3","root":"/home/runner/_work/outerlayer/outerlayer","pkg":"outerlayer"}
1
+ {"id":"2026-10-22T18:51:56.585Z+701260a","root":"/home/runner/_work/outerlayer/outerlayer","pkg":"outerlayer"}
@@ -1,13 +1,13 @@
1
1
  #!/usr/bin/env node
2
2
  import { createRequire } from 'node:module';
3
- export { MIN_BUILDX_VERSION, builderName, builderSpec, buildxState, ensureBuilder, ensureFailureCount, isOutOfMemory, proxyEnvironment, trackImageBuild } from './chunk-LG2IQRTO.js';
3
+ export { MIN_BUILDX_VERSION, builderName, builderSpec, buildxState, ensureBuilder, ensureFailureCount, isOutOfMemory, proxyEnvironment, trackImageBuild } from './chunk-HGZXTPRO.js';
4
4
  import './chunk-3Z3MPR55.js';
5
- import './chunk-R6QCSHKC.js';
5
+ import './chunk-KFA762LZ.js';
6
6
  import './chunk-YJLHUKYS.js';
7
7
  import './chunk-5DNCFOXA.js';
8
- import './chunk-634F6J3Q.js';
9
- import './chunk-MBGS33SL.js';
10
- import './chunk-D5ZGMXUL.js';
8
+ import './chunk-AA6LYZC4.js';
9
+ import './chunk-AGZNCIIJ.js';
10
+ import './chunk-BCCI32ME.js';
11
11
  import './chunk-E6CO3MJE.js';
12
12
  import './chunk-HACGUL52.js';
13
13
  import './chunk-MESOOLF4.js';
@@ -1,64 +1,64 @@
1
1
  #!/usr/bin/env node
2
2
  import { createRequire } from 'node:module';
3
- import { probeCredentials } from './chunk-J5VNSW4W.js';
4
- import './chunk-VGIS2D3U.js';
3
+ import { probeCredentials } from './chunk-T4BJBF7L.js';
4
+ import './chunk-6PUSHKJ6.js';
5
5
  import './chunk-ZVB57WI6.js';
6
- import './chunk-QPAPHQZ7.js';
6
+ import './chunk-UOFBHIOZ.js';
7
7
  import './chunk-3JVYMD4G.js';
8
8
  import './chunk-E7R2GIAW.js';
9
- import './chunk-W4UFGYKQ.js';
9
+ import './chunk-6C2YWM6N.js';
10
10
  import './chunk-YKYCE4HY.js';
11
- import './chunk-5KO3TN2F.js';
12
- import './chunk-HAD7LYDL.js';
13
- import './chunk-TTACRX4N.js';
11
+ import './chunk-JEKENLLA.js';
12
+ import './chunk-W5DOK7BL.js';
13
+ import './chunk-QL3LPZ67.js';
14
14
  import './chunk-I3LTIAOR.js';
15
- import './chunk-JUVUVXQZ.js';
16
- import './chunk-J6LFFZOY.js';
17
- import './chunk-EBX2DU2M.js';
15
+ import './chunk-JR4TZLG6.js';
16
+ import './chunk-A33USDCE.js';
17
+ import './chunk-DETKDTNL.js';
18
18
  import './chunk-ESVW4MJY.js';
19
- import { placeholderQueues, placeholderProblem, permissionModeProblems, permissionModeProblem, managedProblems, managedFactsOf, needsClaudeCredential, claudeCredentialCheck, claimPermissionProblem, formerSkillQueues, formerSkillProblem } from './chunk-7SCEDWQP.js';
20
- import './chunk-O7MSQBTH.js';
19
+ import { placeholderQueues, placeholderProblem, permissionModeProblems, permissionModeProblem, managedProblems, managedFactsOf, needsClaudeCredential, claudeCredentialCheck, claimPermissionProblem, formerSkillQueues, formerSkillProblem } from './chunk-R3DSBA3J.js';
20
+ import './chunk-OWDSO3PE.js';
21
21
  import './chunk-TBT347UY.js';
22
- import './chunk-M7IA4JOX.js';
23
- import './chunk-HDD3BKAE.js';
24
- import './chunk-6KVKEZTH.js';
25
- import { probeHelper, HELPER_ENV, helperSocketPath } from './chunk-OKTLQTWH.js';
22
+ import './chunk-FVY5OU3N.js';
23
+ import './chunk-CUBIZBMF.js';
24
+ import './chunk-X2LZ2IHE.js';
25
+ import { probeHelper, HELPER_ENV, helperSocketPath } from './chunk-5CZVJVTP.js';
26
26
  import './chunk-2PGI6RDE.js';
27
- import './chunk-7HMF7I3D.js';
28
- import './chunk-ZFJAQS3A.js';
27
+ import './chunk-BMCPLX2W.js';
28
+ import './chunk-DDS2ISML.js';
29
29
  import './chunk-JBJTC3UU.js';
30
30
  import './chunk-OGFGZQA3.js';
31
- import './chunk-XXVYHC6D.js';
32
- import './chunk-O5F376JJ.js';
33
- import './chunk-JKPJQNJF.js';
34
- import './chunk-PWB7EK4Z.js';
31
+ import './chunk-6NWS455T.js';
32
+ import './chunk-LWTBE5J6.js';
33
+ import './chunk-RAHE2AYU.js';
34
+ import './chunk-SK4TWCN3.js';
35
35
  import './chunk-TQMI335S.js';
36
- import { DEFAULT_UNIT_NAME } from './chunk-A6MLCH76.js';
37
- import './chunk-JFRBPBD5.js';
36
+ import { DEFAULT_UNIT_NAME } from './chunk-ZRRUWNJS.js';
37
+ import './chunk-CMZVDKOX.js';
38
38
  import './chunk-YYYRBYWG.js';
39
- import './chunk-LG2IQRTO.js';
39
+ import './chunk-HGZXTPRO.js';
40
40
  import './chunk-3Z3MPR55.js';
41
- import './chunk-R6QCSHKC.js';
42
- import { loadRunnerConfig, RunnerConfigError, checkHooks } from './chunk-ZQ7VRXYM.js';
41
+ import './chunk-KFA762LZ.js';
42
+ import { loadRunnerConfig, RunnerConfigError, checkHooks } from './chunk-5BNWAIHN.js';
43
43
  import './chunk-UXYLWVTQ.js';
44
44
  import './chunk-YJLHUKYS.js';
45
- import './chunk-KQFWTTG7.js';
46
- import './chunk-RLGSBR56.js';
47
- import './chunk-CMNAAKFD.js';
45
+ import './chunk-TDVG6MCO.js';
46
+ import './chunk-2QT4JUW3.js';
47
+ import './chunk-ZQOSIMKU.js';
48
48
  import './chunk-EWVYQLD3.js';
49
49
  import './chunk-5DNCFOXA.js';
50
50
  import './chunk-HJYBWJAS.js';
51
51
  import './chunk-NSPRS7WK.js';
52
52
  import './chunk-G2JWZDFA.js';
53
53
  import './chunk-ANPNT6PM.js';
54
- import './chunk-YMGSMPPW.js';
54
+ import './chunk-EYW2ZRDL.js';
55
55
  import './chunk-UIUGTW5C.js';
56
- import './chunk-FLFK42YF.js';
56
+ import './chunk-WPGBDY73.js';
57
57
  import './chunk-PJDQPF5N.js';
58
- import './chunk-634F6J3Q.js';
59
- import './chunk-MBGS33SL.js';
60
- import { claudeEnvPath } from './chunk-D5ZGMXUL.js';
61
- import './chunk-ZANK3WWF.js';
58
+ import './chunk-AA6LYZC4.js';
59
+ import './chunk-AGZNCIIJ.js';
60
+ import { claudeEnvPath } from './chunk-BCCI32ME.js';
61
+ import './chunk-WB7LPDXR.js';
62
62
  import './chunk-ZJSNLVCE.js';
63
63
  import './chunk-2O5KA67H.js';
64
64
  import './chunk-BKO6JEZI.js';
@@ -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-CMNAAKFD.js';
3
+ import { fetchFactories, selectFactory, saveFactoryConnection, autoConnectedLine } from './chunk-ZQOSIMKU.js';
4
4
  import { resolveRepoIdentity } from './chunk-5DNCFOXA.js';
5
- import { resolveGatewayCredentials } from './chunk-FLFK42YF.js';
5
+ import { resolveGatewayCredentials } from './chunk-WPGBDY73.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-YMGSMPPW.js';
8
+ import { resolveGitCommonDir, defaultGitRunner } from './chunk-EYW2ZRDL.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';
@@ -2,7 +2,7 @@
2
2
  import { createRequire } from 'node:module';
3
3
  import { MAX_ALLOW_HOSTS, allowHostProblem } from './chunk-UXYLWVTQ.js';
4
4
  import { parseSize } from './chunk-YJLHUKYS.js';
5
- import { isRefusedInConfig, resolveDestinations, isReservedVariable } from './chunk-D5ZGMXUL.js';
5
+ import { isRefusedInConfig, resolveDestinations, isReservedVariable } from './chunk-BCCI32ME.js';
6
6
  import { homeFromEnv } from './chunk-VNVZDWO3.js';
7
7
  import { existsSync, statSync, accessSync, constants, readFileSync } from 'fs';
8
8
  import { hostname } from 'os';
@@ -1,23 +1,23 @@
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-7HMF7I3D.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-BMCPLX2W.js';
5
5
  import { startTimeOf, isSameProcess } from './chunk-JBJTC3UU.js';
6
6
  import { currentCliBuild } from './chunk-OGFGZQA3.js';
7
- import { runExec, execCapture, waitForAgent } from './chunk-XXVYHC6D.js';
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-JKPJQNJF.js';
10
- import { runnerImageVersion } from './chunk-PWB7EK4Z.js';
7
+ import { runExec, execCapture, waitForAgent } from './chunk-6NWS455T.js';
8
+ import { GUEST_CID, linkVsockSockets } from './chunk-LWTBE5J6.js';
9
+ import { describeCallFailure, keepStagedContext, controlPlaneTokenFailure, refusalCode, resolveGoverningSource, removeStagedContext, stageGovernedContext, pinnedSourceOf, commandWithShim, shimScript, WORKFLOW_PERMISSION_REASON } from './chunk-RAHE2AYU.js';
10
+ import { runnerImageVersion } from './chunk-SK4TWCN3.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-LG2IQRTO.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-HGZXTPRO.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-R6QCSHKC.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-KFA762LZ.js';
15
15
  import { hostAllowed } from './chunk-UXYLWVTQ.js';
16
16
  import { readDu } from './chunk-YJLHUKYS.js';
17
- import { WorkCommandError } from './chunk-KQFWTTG7.js';
17
+ import { WorkCommandError } from './chunk-TDVG6MCO.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, builderConsolePath } from './chunk-MBGS33SL.js';
20
- import { repositoriesOf, primaryOf, RELAY_PORT, repositoryPath, CHECKOUT_DIR, lifecycleWorkdir, claudeCredential, buildEnvironment, startBuildServices, checkEnvironment, AGENT_CREDENTIAL_MISSING, checkoutPath, JOB_MOUNT } from './chunk-D5ZGMXUL.js';
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-AGZNCIIJ.js';
20
+ import { repositoriesOf, primaryOf, RELAY_PORT, repositoryPath, CHECKOUT_DIR, lifecycleWorkdir, claudeCredential, buildEnvironment, writeBuildMavenSettings, startBuildServices, checkEnvironment, AGENT_CREDENTIAL_MISSING, checkoutPath, JOB_MOUNT } from './chunk-BCCI32ME.js';
21
21
  import { sharedSkillNames, skillConflictMessage } from './chunk-FGF52V4V.js';
22
22
  import { versionAtLeast, MINIMUM_CLAUDE_VERSION } from './chunk-HCVLP7XA.js';
23
23
  import { orderSessions, extractFacts, sessionsToTimeline } from './chunk-LJG6EMLJ.js';
@@ -2288,6 +2288,7 @@ var RECEIVE_ARGV = ["/opt/outerlayer/bin/node", "/opt/outerlayer/cli/dist/index.
2288
2288
  var REASON_LINE_MAX = 240;
2289
2289
  var STEPS = {
2290
2290
  gh: "the build's gh configuration",
2291
+ maven: "the build's Maven settings",
2291
2292
  "git-hooks": "the commit hooks",
2292
2293
  context: "the staged context",
2293
2294
  "eval-input": "the checks' input"
@@ -3665,6 +3666,11 @@ async function provisionContainer(input) {
3665
3666
  err instanceof WorkCommandError ? `the build's read token could not be had: ${refusalCode(err)}` : `the build's gh configuration could not be written: ${describeCallFailure(err)}`
3666
3667
  );
3667
3668
  }
3669
+ try {
3670
+ writeBuildMavenSettings(buildDir2);
3671
+ } catch (err) {
3672
+ return bail(`the build's Maven settings could not be written: ${describeCallFailure(err)}`);
3673
+ }
3668
3674
  for (const entry of repositories) {
3669
3675
  if (entry.repository === primary.repository) continue;
3670
3676
  try {
@@ -3709,7 +3715,7 @@ async function provisionContainer(input) {
3709
3715
  joinBuild(runtime, state, services, (line) => log.line(`${tag} ${line}`));
3710
3716
  if (input.aborted()) return bail("", true);
3711
3717
  if (!await waitForRelay(runtime, state)) return bail("the relay in the build's container did not start");
3712
- const ghDelivered = await deliverGhConfig(runtime, state, secrets);
3718
+ const ghDelivered = await deliverJobFiles(runtime, state, ["gh", "maven"], secrets);
3713
3719
  if (!ghDelivered.ok) return bail(ghDelivered.reason);
3714
3720
  keepGhConfigCurrent(tokens, buildDir2, (err) => log.error(`${tag} the read token could not be written for gh: ${describeCallFailure(err)}`), {
3715
3721
  runtime,
@@ -3744,6 +3750,7 @@ async function provisionContainer(input) {
3744
3750
  if (hashed !== void 0) state.judgeProgram = { path: JUDGE_PROGRAM, sha256: hashed };
3745
3751
  input.save(state, environment);
3746
3752
  const execEnv = buildEnvironment({ ...envInput, imageEnv: state.imageEnv });
3753
+ for (const notice of execEnv.notices) log.line(`${tag} ${notice}`);
3747
3754
  const exec = (argv, workdir, opts) => host.exec({ container: name, user: agentUser, workdir, env: execEnv, argv }, opts?.quiet === true ? void 0 : { logPath });
3748
3755
  const steps = await runBuildSteps({
3749
3756
  repository,
@@ -3926,7 +3933,7 @@ async function ensureTunnel(runtime, state, jobDir, config, itemKey, branch, rep
3926
3933
  }
3927
3934
  async function redeliver(runtime, state, jobDir) {
3928
3935
  if (!filesAreCopied(state)) return { ok: true };
3929
- const parts = ["gh", "git-hooks", "context"];
3936
+ const parts = ["gh", "maven", "git-hooks", "context"];
3930
3937
  return deliverJobFiles(runtime, state, parts, secretsOf(runtime, jobDir));
3931
3938
  }
3932
3939
  async function deliverContainerHooks(runtime, state, jobDir) {
@@ -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-A6MLCH76.js';
3
+ import { checkFit, RUNNER_RESERVE_BYTES } from './chunk-ZRRUWNJS.js';
4
4
  import { readFileSync } from 'fs';
5
5
 
6
6
  createRequire(import.meta.url);
@@ -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-FLFK42YF.js';
5
+ import { resolveGatewayCredentials, defaultFetch } from './chunk-WPGBDY73.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';
@@ -1,9 +1,9 @@
1
1
  #!/usr/bin/env node
2
2
  import { createRequire } from 'node:module';
3
- import { autoConnect, detectActiveSession } from './chunk-RLGSBR56.js';
3
+ import { autoConnect, detectActiveSession } from './chunk-2QT4JUW3.js';
4
4
  import { resolveRepoIdentity } from './chunk-5DNCFOXA.js';
5
5
  import { C } from './chunk-ANPNT6PM.js';
6
- import { defaultFetch, unauthorizedMessage, resolveGatewayCredentials } from './chunk-FLFK42YF.js';
6
+ import { defaultFetch, unauthorizedMessage, resolveGatewayCredentials } from './chunk-WPGBDY73.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 { EXEC_PORT } from './chunk-O5F376JJ.js';
3
+ import { EXEC_PORT } from './chunk-LWTBE5J6.js';
4
4
  import { createConnection } from 'net';
5
5
 
6
6
  createRequire(import.meta.url);
@@ -1,28 +1,28 @@
1
1
  #!/usr/bin/env node
2
2
  import { createRequire } from 'node:module';
3
3
  import { readsJobState, READ_JOB_STATE_FORMATS, jobStateFormatOf } from './chunk-ZVB57WI6.js';
4
- import { DOCKERD_LOG, HELPER_PATH, HELPER_RECORD } from './chunk-HAD7LYDL.js';
5
- import { writeDockerClientConfig } from './chunk-TTACRX4N.js';
4
+ import { DOCKERD_LOG, HELPER_PATH, HELPER_RECORD } from './chunk-W5DOK7BL.js';
5
+ import { writeDockerClientConfig } from './chunk-QL3LPZ67.js';
6
6
  import { zodProblem } from './chunk-I3LTIAOR.js';
7
- import { senderPidfile } from './chunk-JUVUVXQZ.js';
8
- import { installScrubContext } from './chunk-J6LFFZOY.js';
9
- import { ADDED_USER, shellQuote, GH_CONFIG_YML, ghHostsYml, AssetError, obtainImage, ensureRootfs, makeBuildsDirPrivate, gitRemoteFor, startServicesFor, createLeaseChannel, createBuildDisk, machineConfig, startJailedInto, resolveAgentUser, AgentUserError, runBuildSteps, LEASE_SECONDS, createContainerRuntime, stopContainer, cleanupContainer, outOfMemoryReason, containerSenderCommand, signalInContainer, syncInContainer, copyTranscriptsFromContainer, MANAGED_UNJAILED_REASON, senderAliveScript, helperFirecrackerNote, isLiteralAddress, stopJailed, deleteBuildDisk, startCheckContainer, lifecycleSteps, lifecycleFailureReason, writeEvalInput, DeliveryFailure, EVAL_INPUT_NAME, copyTranscripts, senderSignalScript, containerJudgeEnvironment, ROOT_DISK_ID_PREFIX, copyJudgeTree } from './chunk-OKTLQTWH.js';
10
- import { readBranchHead, fetchCommit, diffBetween } from './chunk-7HMF7I3D.js';
7
+ import { senderPidfile } from './chunk-JR4TZLG6.js';
8
+ import { installScrubContext } from './chunk-A33USDCE.js';
9
+ import { ADDED_USER, shellQuote, GH_CONFIG_YML, ghHostsYml, AssetError, obtainImage, ensureRootfs, makeBuildsDirPrivate, gitRemoteFor, startServicesFor, createLeaseChannel, createBuildDisk, machineConfig, startJailedInto, resolveAgentUser, AgentUserError, runBuildSteps, LEASE_SECONDS, createContainerRuntime, stopContainer, cleanupContainer, outOfMemoryReason, containerSenderCommand, signalInContainer, syncInContainer, copyTranscriptsFromContainer, MANAGED_UNJAILED_REASON, senderAliveScript, helperFirecrackerNote, isLiteralAddress, stopJailed, deleteBuildDisk, startCheckContainer, lifecycleSteps, lifecycleFailureReason, writeEvalInput, DeliveryFailure, EVAL_INPUT_NAME, copyTranscripts, senderSignalScript, containerJudgeEnvironment, ROOT_DISK_ID_PREFIX, copyJudgeTree } from './chunk-5CZVJVTP.js';
10
+ import { readBranchHead, fetchCommit, diffBetween } from './chunk-BMCPLX2W.js';
11
11
  import { isSameProcess, startTimeOf } from './chunk-JBJTC3UU.js';
12
- import { waitForAgent, vmExecArgs } from './chunk-XXVYHC6D.js';
13
- import { socketPathProblem, vsockLinks, LEASE_LINK, linkVsockSockets } from './chunk-O5F376JJ.js';
14
- import { describeCallFailure, resolveGoverningSource, refusalCode, removeStagedContext, stageGovernedContext, pinnedSourceOf, commandWithShim, logStamp, createRunnerLog, removeKeptContext, formatDuration, retrySend, formatClock, WORKFLOW_PERMISSION_REASON, keptContextTree } from './chunk-JKPJQNJF.js';
15
- import { HASH_ARGV, parseProgramHash, JUDGE_PROGRAM, writeJobFile, readJobFile, childEnvironment, withAnswerProtocol, judgeCommand, MAX_REPORT_BYTES, JUDGE_MAX_TURNS, JUDGE_DIR, COMMAND_DIR, MAX_ITEMS_BYTES } from './chunk-LG2IQRTO.js';
16
- import { CLAUDE_CODE_VERSION, FIRECRACKER_VERSION } from './chunk-R6QCSHKC.js';
17
- import { imageBuildOf, isBuiltinContainer, isBuiltinProcess, isBuiltinVm, DEFAULT_CHECK_TIME_LIMIT_MINUTES } from './chunk-ZQ7VRXYM.js';
12
+ import { waitForAgent, vmExecArgs } from './chunk-6NWS455T.js';
13
+ import { socketPathProblem, vsockLinks, LEASE_LINK, linkVsockSockets } from './chunk-LWTBE5J6.js';
14
+ import { describeCallFailure, resolveGoverningSource, refusalCode, removeStagedContext, stageGovernedContext, pinnedSourceOf, commandWithShim, logStamp, createRunnerLog, removeKeptContext, formatDuration, retrySend, formatClock, WORKFLOW_PERMISSION_REASON, keptContextTree } from './chunk-RAHE2AYU.js';
15
+ import { HASH_ARGV, parseProgramHash, JUDGE_PROGRAM, writeJobFile, readJobFile, childEnvironment, withAnswerProtocol, judgeCommand, MAX_REPORT_BYTES, JUDGE_MAX_TURNS, JUDGE_DIR, COMMAND_DIR, MAX_ITEMS_BYTES } from './chunk-HGZXTPRO.js';
16
+ import { CLAUDE_CODE_VERSION, FIRECRACKER_VERSION } from './chunk-KFA762LZ.js';
17
+ import { imageBuildOf, isBuiltinContainer, isBuiltinProcess, isBuiltinVm, DEFAULT_CHECK_TIME_LIMIT_MINUTES } from './chunk-5BNWAIHN.js';
18
18
  import { parseSize } from './chunk-YJLHUKYS.js';
19
- import { WorkCommandError, postJson, isSignatureRefusal, getJson } from './chunk-KQFWTTG7.js';
19
+ import { WorkCommandError, postJson, isSignatureRefusal, getJson } from './chunk-TDVG6MCO.js';
20
20
  import { planArtifactUpload } from './chunk-EWVYQLD3.js';
21
21
  import { scrubText } from './chunk-5DNCFOXA.js';
22
22
  import { readCloudConfig } from './chunk-PJDQPF5N.js';
23
- import { signerFor } from './chunk-634F6J3Q.js';
24
- import { RUNNER_FILE_MODE, runnerDir, buildDir, vsockPath, jobConsolePath } from './chunk-MBGS33SL.js';
25
- import { JOB_MOUNT, claudeCredential, repositoriesOf, primaryOf, buildEnvironment, CHECKOUT_DIR, parseIsolation, proxyEnvironment, withProxyWarningHidden, containerLocalAddress, destinationEnvironment, CLAUDE_CREDENTIAL_VARIABLES, builtInEnvironment, withHooksPath, startBuildServices, BUILT_IN_NAMES, AGENT_CREDENTIAL_MISSING, sharedUserEnvironment, headerVariables, authorEnvironment, withTunnelRecord, commitIdentityRecord, RELAY_PORT, repositoryPath, lifecycleWorkdir, CHECK_ITEMS_FILE, currentClaudeCredential, removedClaudeCredentialValues, checkEnvironment, EVAL_INPUT_DIR } from './chunk-D5ZGMXUL.js';
23
+ import { signerFor } from './chunk-AA6LYZC4.js';
24
+ import { RUNNER_FILE_MODE, runnerDir, buildDir, vsockPath, jobConsolePath } from './chunk-AGZNCIIJ.js';
25
+ import { JOB_MOUNT, claudeCredential, repositoriesOf, primaryOf, buildEnvironment, CHECKOUT_DIR, parseIsolation, proxyEnvironment, withProxyWarningHidden, containerLocalAddress, destinationEnvironment, CLAUDE_CREDENTIAL_VARIABLES, builtInEnvironment, withHooksPath, startBuildServices, BUILT_IN_NAMES, AGENT_CREDENTIAL_MISSING, sharedUserEnvironment, headerVariables, authorEnvironment, withTunnelRecord, commitIdentityRecord, buildMavenSettingsXml, mavenSettingsXml, namesGlobalSettings, MAVEN_NO_PROXY_NOTE, mavenArgs, MAVEN_SPACE_NOTE, writeMavenSettings, RELAY_PORT, repositoryPath, lifecycleWorkdir, CHECK_ITEMS_FILE, MAVEN_SETTINGS_FILE, currentClaudeCredential, removedClaudeCredentialValues, checkEnvironment, EVAL_INPUT_DIR } from './chunk-BCCI32ME.js';
26
26
  import { resolvePackRoot } from './chunk-G63KT5I5.js';
27
27
  import { MAINTAINED_SKILLS } from './chunk-CDDED64E.js';
28
28
  import { resolveVersion } from './chunk-RA3O54FC.js';
@@ -189,6 +189,7 @@ var DOCKER_LOG_LINES = 20;
189
189
  var GUEST_GH_DIR = `${JOB_MOUNT}/gh`;
190
190
  var GUEST_HOOKS_DIR = `${JOB_MOUNT}/git-hooks`;
191
191
  var GUEST_CONTEXT_DIR = `${JOB_MOUNT}/context`;
192
+ var GUEST_MAVEN_DIR = `${JOB_MOUNT}/maven`;
192
193
  function buildMemoryBytes(config) {
193
194
  return parseSize(config.build?.memory ?? DEFAULT_MEMORY) ?? parseSize(DEFAULT_MEMORY);
194
195
  }
@@ -221,6 +222,11 @@ async function writeGuestGhConfig(runtime, state, token) {
221
222
  const result = await asRoot(runtime, state, ["/bin/sh", "-c", script], ghHostsYml(token));
222
223
  if (result.status !== 0) throw new Error(`writing gh's configuration in the guest failed (exit ${result.status}): ${firstLine(result.stderr)}`);
223
224
  }
225
+ async function writeGuestMavenSettings(runtime, state) {
226
+ const script = ["set -e", "umask 022", `mkdir -p ${GUEST_MAVEN_DIR}`, `cat > ${GUEST_MAVEN_DIR}/${MAVEN_SETTINGS_FILE}`].join("\n");
227
+ const result = await asRoot(runtime, state, ["/bin/sh", "-c", script], buildMavenSettingsXml());
228
+ if (result.status !== 0) throw new Error(`writing Maven's settings in the guest failed (exit ${result.status}): ${firstLine(result.stderr)}`);
229
+ }
224
230
  async function unpackIntoGuest(runtime, state, dir, target, opts = {}) {
225
231
  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}`;
226
232
  const result = await asRoot(runtime, state, ["/bin/sh", "-c", script], tarOf(dir));
@@ -563,7 +569,13 @@ async function provisionMicroVm(input) {
563
569
  const failure = await waitForDocker(runtime, state, agentUser, input.now ?? (() => /* @__PURE__ */ new Date()));
564
570
  if (failure !== void 0) return bail(failure);
565
571
  }
572
+ try {
573
+ await writeGuestMavenSettings(runtime, state);
574
+ } catch (err) {
575
+ return bail(`the build's Maven settings could not be delivered: ${describeCallFailure(err)}`);
576
+ }
566
577
  const execEnv = buildEnvironment({ ...envInput, imageEnv: state.imageEnv });
578
+ for (const notice of execEnv.notices) log.line(`${tag} ${notice}`);
567
579
  const request = (argv, workdir) => ({ argv, user: agentUser, cwd: workdir, env: execEnvironment(state.imageEnv, execEnv) });
568
580
  const steps = await runBuildSteps({
569
581
  repository,
@@ -1286,14 +1298,106 @@ function proxyUrlFor(build) {
1286
1298
  if (build.broker === void 0) return `http://127.0.0.1:${RELAY_PORT}`;
1287
1299
  return `http://${build.broker}`;
1288
1300
  }
1289
- function hostCommandEnvironment(base, build, config, hooksPath) {
1301
+ function withMavenArgs(env, settingsFile, note) {
1302
+ const team = env.MAVEN_ARGS;
1303
+ if (team !== void 0 && namesGlobalSettings(team)) {
1304
+ note?.(MAVEN_NO_PROXY_NOTE);
1305
+ return;
1306
+ }
1307
+ if (settingsFile !== void 0) env.MAVEN_ARGS = mavenArgs(settingsFile, team).value;
1308
+ }
1309
+ function hostMavenSettings(env, buildDir2, note) {
1310
+ if (/\s/.test(buildDir2)) {
1311
+ note?.(MAVEN_SPACE_NOTE);
1312
+ return void 0;
1313
+ }
1314
+ if (!existsSync(buildDir2)) return void 0;
1315
+ try {
1316
+ return writeMavenSettings(buildDir2, env.HTTPS_PROXY, env.NO_PROXY);
1317
+ } catch (err) {
1318
+ note?.(`the build's Maven settings could not be written, so its Maven gets no proxy from the runner: ${describeCallFailure(err)}`);
1319
+ return void 0;
1320
+ }
1321
+ }
1322
+ function execProxyEnvironment(build) {
1323
+ const brokerHost = build.broker === void 0 ? void 0 : build.broker.slice(0, build.broker.lastIndexOf(":")).replace(/^\[|\]$/g, "");
1324
+ return proxyEnvironment(proxyUrlFor(build), brokerHost);
1325
+ }
1326
+ var WRITE_MAVEN_SETTINGS = 'd=$(git rev-parse --absolute-git-dir) || exit 1; d="$d/outerlayer/maven"; mkdir -p "$d" && printf "%s" "$1" > "$d/settings.xml" && printf "%s\\n" "$d/settings.xml"';
1327
+ var MAVEN_WRITE_TIMEOUT_MS = 1e4;
1328
+ function runWithSpawn(spawnFn = spawn) {
1329
+ return (file, args, env, timeoutMs) => new Promise((resolve) => {
1330
+ let stdout = "";
1331
+ let stderr = "";
1332
+ let timer;
1333
+ let settled = false;
1334
+ const finish = (result) => {
1335
+ if (settled) return;
1336
+ settled = true;
1337
+ if (timer !== void 0) clearTimeout(timer);
1338
+ resolve({ status: null, signal: null, stdout, stderr, ...result });
1339
+ };
1340
+ let child;
1341
+ try {
1342
+ child = spawnFn(file, args, { env, stdio: ["ignore", "pipe", "pipe"] });
1343
+ } catch (err) {
1344
+ finish({ error: err instanceof Error ? err : new Error(String(err)) });
1345
+ return;
1346
+ }
1347
+ timer = setTimeout(() => {
1348
+ child.kill("SIGKILL");
1349
+ finish({ error: new Error(`it did not finish in ${timeoutMs / 1e3}s`) });
1350
+ }, timeoutMs);
1351
+ child.stdout?.on("data", (chunk) => {
1352
+ stdout += String(chunk);
1353
+ });
1354
+ child.stderr?.on("data", (chunk) => {
1355
+ stderr += String(chunk);
1356
+ });
1357
+ child.on("error", (err) => finish({ error: err }));
1358
+ child.on("close", (status, signal) => finish({ status, signal }));
1359
+ });
1360
+ }
1361
+ async function deliverMavenSettings(build, workdir, base, run, timeoutMs = MAVEN_WRITE_TIMEOUT_MS) {
1362
+ if (build.exec === void 0) return { reason: "the build has no exec" };
1363
+ const env = { ...base, ...execProxyEnvironment(build) };
1364
+ const ran = await run(build.exec, execArgv(workdir, ["/bin/sh", "-c", WRITE_MAVEN_SETTINGS, "sh", mavenSettingsXml(env.HTTPS_PROXY, env.NO_PROXY)]), env, timeoutMs);
1365
+ if (ran.error !== void 0) return { reason: describeCallFailure(ran.error) };
1366
+ const said = ran.stderr.trim().split("\n")[0];
1367
+ if (ran.status !== 0) return { reason: `the write exited ${ran.status ?? ran.signal}${said === "" ? "" : `: ${said}`}` };
1368
+ const lines = ran.stdout.trim().split("\n");
1369
+ const path = lines[lines.length - 1].trim();
1370
+ if (!isAbsolute(path)) return { reason: "the write did not report an absolute path" };
1371
+ if (/\s/.test(path)) return { reason: MAVEN_SPACE_REASON };
1372
+ return { path };
1373
+ }
1374
+ var MAVEN_SPACE_REASON = "the settings file's path has whitespace in it, which Maven cannot read from MAVEN_ARGS";
1375
+ async function deliverExecMaven(build, workdir, base, run, note) {
1376
+ if (build?.exec === void 0) return;
1377
+ const delivered = await deliverMavenSettings(build, workdir, base, run);
1378
+ if ("path" in delivered) build.mavenSettings = delivered.path;
1379
+ else note(`the build's Maven gets no proxy from the runner: ${delivered.reason}`);
1380
+ }
1381
+ function onceNote(write) {
1382
+ const seen = /* @__PURE__ */ new Set();
1383
+ return (line) => {
1384
+ if (seen.has(line)) return;
1385
+ seen.add(line);
1386
+ write(line);
1387
+ };
1388
+ }
1389
+ function attemptNote(log, tag) {
1390
+ return onceNote((line) => log.line(`${tag} ${line}`));
1391
+ }
1392
+ function hostCommandEnvironment(base, build, config, hooksPath, note) {
1290
1393
  let env = { ...base };
1291
1394
  if (build.exec !== void 0) {
1292
- const brokerHost = build.broker === void 0 ? void 0 : build.broker.slice(0, build.broker.lastIndexOf(":")).replace(/^\[|\]$/g, "");
1293
- Object.assign(env, proxyEnvironment(proxyUrlFor(build), brokerHost));
1395
+ Object.assign(env, execProxyEnvironment(build));
1396
+ withMavenArgs(env, build.mavenSettings, note);
1294
1397
  } else if (build.proxyPort !== void 0) {
1295
1398
  Object.assign(env, proxyEnvironment(`http://127.0.0.1:${build.proxyPort}`));
1296
1399
  env.NODE_OPTIONS = withProxyWarningHidden(env.NODE_OPTIONS);
1400
+ withMavenArgs(env, hostMavenSettings(env, build.buildDir, note), note);
1297
1401
  }
1298
1402
  const ports = build.destinations ?? [];
1299
1403
  const portOf = (name) => ports.find((entry) => entry.name === name)?.port;
@@ -3658,4 +3762,4 @@ async function stopSender(input) {
3658
3762
  }
3659
3763
  }
3660
3764
 
3661
- export { ALREADY_RELEASED, AttemptLogBook, EXIT_CODE_FILE, GUEST_USAGE_INTERVAL_MS, MICROVM_COMMAND_DIR, RENEW_INTERVAL_SECONDS, appendCommandLog, commandLogOffset, deliverCommitHooks, describeHookEnd, execArgv, execCommandLine, finishJob, foldSample, hookLimitsFor, hostCommandEnvironment, hostEnvironment, inTeardown, isContainerTracked, isGroupAlive, isIdle, isMicroVmTracked, isReadable, isTimedOut, isTracked, isUnfinished, jobEnv, judgeProbe, listAdoptableJobs, listTrackedJobs, listUnreadableJobs, listenOnBroker, microVmCommandLine, microVmOomKills, needsRenew, outcomeFromExitCode, probeCommand, probeMicroVmCommand, provisionEnvironment, provisionMicroVm, provisionProcess, readCpuUsec, readProvisionOut, recoverLostJobs, releaseLease, renewLease, resolveHostBuild, restartSender, retryFailedReleases, runCommand, runHook, sampleGuest, serveLease, setStage, startHostServices, startMicroVmCommand, startSender, stopOrphanedMicroVms, unfinishedJobs, vmAlive, workdirProblem, writeGuestGhConfig };
3765
+ export { ALREADY_RELEASED, AttemptLogBook, EXIT_CODE_FILE, GUEST_USAGE_INTERVAL_MS, MICROVM_COMMAND_DIR, RENEW_INTERVAL_SECONDS, appendCommandLog, attemptNote, commandLogOffset, deliverCommitHooks, deliverExecMaven, describeHookEnd, execArgv, execCommandLine, finishJob, foldSample, hookLimitsFor, hostCommandEnvironment, hostEnvironment, inTeardown, isContainerTracked, isGroupAlive, isIdle, isMicroVmTracked, isReadable, isTimedOut, isTracked, isUnfinished, jobEnv, judgeProbe, listAdoptableJobs, listTrackedJobs, listUnreadableJobs, listenOnBroker, microVmCommandLine, microVmOomKills, needsRenew, outcomeFromExitCode, probeCommand, probeMicroVmCommand, provisionEnvironment, provisionMicroVm, provisionProcess, readCpuUsec, readProvisionOut, recoverLostJobs, releaseLease, renewLease, resolveHostBuild, restartSender, retryFailedReleases, runCommand, runHook, runWithSpawn, sampleGuest, serveLease, setStage, startHostServices, startMicroVmCommand, startSender, stopOrphanedMicroVms, unfinishedJobs, vmAlive, workdirProblem, writeGuestGhConfig };
@@ -1,12 +1,12 @@
1
1
  #!/usr/bin/env node
2
2
  import { createRequire } from 'node:module';
3
- import { staleBuildRefusal, staleBuildWarning, detectCi } from './chunk-J6LFFZOY.js';
3
+ import { staleBuildRefusal, staleBuildWarning, detectCi } from './chunk-A33USDCE.js';
4
4
  import { launchRefusalForSession } from './chunk-ESVW4MJY.js';
5
- import { detectActiveSession, autoConnect } from './chunk-RLGSBR56.js';
5
+ import { detectActiveSession, autoConnect } from './chunk-2QT4JUW3.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-FLFK42YF.js';
9
+ import { resolveGatewayCredentials, defaultFetch, unauthorizedMessage } from './chunk-WPGBDY73.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';
@@ -1,15 +1,15 @@
1
1
  #!/usr/bin/env node
2
2
  import { createRequire } from 'node:module';
3
- import { uploadSpooledSteps } from './chunk-EBX2DU2M.js';
3
+ import { uploadSpooledSteps } from './chunk-DETKDTNL.js';
4
4
  import { LaunchFilter } from './chunk-ESVW4MJY.js';
5
5
  import { RepoFilter } from './chunk-TBT347UY.js';
6
6
  import { migrateLegacyArtifactSidecars, planArtifactUpload, artifactsStatePath, sanitizeTerminal, acquireArtifactSpoolLock, artifactBlobsDir, resolveArtifactTurnIndex, isArtifactTombstoned, ARTIFACT_RETRY_MAX_AGE_MS, writeArtifactSpoolState, reclaimUnneededArtifactBlobs, neededArtifactShas } from './chunk-EWVYQLD3.js';
7
7
  import { setCustomScrubbers, setLocalIdentity, tailTranscript, enrichSessionRepo, scanAll, setRepoRoot, resolveRepoIdentity, sessionIdFromPath, scrubDeep, SOURCE_ADAPTERS } from './chunk-5DNCFOXA.js';
8
8
  import { C } from './chunk-ANPNT6PM.js';
9
- import { cliFetch, resolveGatewayCredentials, defaultFetch, unauthorizedMessage } from './chunk-FLFK42YF.js';
9
+ import { cliFetch, resolveGatewayCredentials, defaultFetch, unauthorizedMessage } from './chunk-WPGBDY73.js';
10
10
  import { readCloudConfig, cloudConfigPath, writeCloudConfig } from './chunk-PJDQPF5N.js';
11
- import { signerFor, signRunnerRequest } from './chunk-634F6J3Q.js';
12
- import { writeSyncStatus, spoolDir } from './chunk-ZANK3WWF.js';
11
+ import { signerFor, signRunnerRequest } from './chunk-AA6LYZC4.js';
12
+ import { writeSyncStatus, spoolDir } from './chunk-WB7LPDXR.js';
13
13
  import { readLatestProvenanceForSession, readContextProvenance } from './chunk-ZJSNLVCE.js';
14
14
  import { hookExecSpoolPath } from './chunk-2O5KA67H.js';
15
15
  import { applyReportedCost } from './chunk-BKO6JEZI.js';