@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
package/README.md CHANGED
@@ -334,6 +334,12 @@ content:
334
334
  provisions the build. The runner keeps the key in memory only, gives it to
335
335
  the build's model traffic, and forgets it when the attempt ends. It never
336
336
  writes the key to disk or to a log.
337
+ - **`outerlayer runner start` on a managed runner** also asks your gateway for
338
+ the factory's build settings once for each claim (`POST
339
+ /v1/work-items/{id}/claim/build-settings`, signed with the host key). The
340
+ answer holds the machine size, the hosts the factory allows and the values of
341
+ its build variables. The runner keeps them in memory only, passes the
342
+ variables to the build, and scrubs each value from what it uploads.
337
343
  - **`outerlayer runner start` with `builtin:process` hooks** runs each build
338
344
  as a process under the runner's own user, with no isolation, and the
339
345
  attempt records `shared-user`. The runner clones the item's repository
@@ -1,16 +1,16 @@
1
1
  #!/usr/bin/env node
2
2
  import { createRequire } from 'node:module';
3
- export { keepHandWritten, runAgentSetup } from './chunk-3EJBI5JW.js';
3
+ export { keepHandWritten, runAgentSetup } from './chunk-7FQYTM7M.js';
4
4
  import './chunk-KPHRRCUY.js';
5
5
  import './chunk-KT4CN6OU.js';
6
6
  import './chunk-4P6QGMPN.js';
7
7
  import './chunk-ANPNT6PM.js';
8
8
  import './chunk-NKOM4JKY.js';
9
- import './chunk-CAQCDYKF.js';
9
+ import './chunk-5JGPTYLT.js';
10
10
  import './chunk-JWNH4ZTF.js';
11
- import './chunk-3N77LUQI.js';
11
+ import './chunk-7QAJQDHS.js';
12
12
  import './chunk-PJDQPF5N.js';
13
- import './chunk-MOI2KDLH.js';
13
+ import './chunk-L5VHGRQE.js';
14
14
  import './chunk-ZJSNLVCE.js';
15
15
  import './chunk-BJ3KTMDH.js';
16
16
  import './chunk-ZQSANKS4.js';
@@ -24,8 +24,8 @@ import './chunk-TUSYOL2O.js';
24
24
  import './chunk-FGXT5OXS.js';
25
25
  import './chunk-EOTMDIYC.js';
26
26
  import './chunk-VNVZDWO3.js';
27
- import './chunk-PXGU3GKY.js';
28
- import './chunk-G4W4B33M.js';
27
+ import './chunk-GJ4KBHBD.js';
28
+ import './chunk-SDAEXUIX.js';
29
29
  import './chunk-MESOOLF4.js';
30
30
  import './chunk-Z5GEFMRW.js';
31
31
 
@@ -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-SI6WDF3U.js';
4
- import './chunk-G4W4B33M.js';
3
+ export { BRIDGE_ADDRESS, BRIDGE_CIDR, CONTAINER_NO_PROXY, CONTAINER_PROXY, TUNNEL_PORT, dockerClientConfig, startBridgeForward, writeDockerClientConfig } from './chunk-CFFVCI2I.js';
4
+ import './chunk-SDAEXUIX.js';
5
5
  import './chunk-MESOOLF4.js';
6
6
  import './chunk-Z5GEFMRW.js';
7
7
 
@@ -1,15 +1,15 @@
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-VVOSUGEF.js';
4
- export { RecipeError } from './chunk-M3ME6TLQ.js';
3
+ export { KEY_PREFIX, TAG_HOST, buildRepositoryImage, metadataFromLabels, prepareImageBuild, writeRecord } from './chunk-H47VGSCW.js';
4
+ export { RecipeError } from './chunk-HVQMIZ22.js';
5
5
  import './chunk-4UPET3R7.js';
6
- import './chunk-YNMVVQOQ.js';
6
+ import './chunk-LQHCNXPK.js';
7
7
  import './chunk-JBJTC3UU.js';
8
- import './chunk-MOI2KDLH.js';
9
- import './chunk-GSSVJNP2.js';
8
+ import './chunk-L5VHGRQE.js';
9
+ import './chunk-Z7WMU3RA.js';
10
10
  import './chunk-EOTMDIYC.js';
11
- import './chunk-PXGU3GKY.js';
12
- import './chunk-G4W4B33M.js';
11
+ import './chunk-GJ4KBHBD.js';
12
+ import './chunk-SDAEXUIX.js';
13
13
  import './chunk-MESOOLF4.js';
14
14
  import './chunk-Z5GEFMRW.js';
15
15
 
@@ -1,13 +1,13 @@
1
1
  #!/usr/bin/env node
2
2
  import { createRequire } from 'node:module';
3
- export { DEFAULT_BUILD_DISK, DEFAULT_CACHE_DISK, DOCKER_CACHE_MS, allocatedBytes, checkDiskFit, realBuildDiskProbe, runDocker, volumeBytes } from './chunk-UONH72CJ.js';
4
- import './chunk-M3ME6TLQ.js';
3
+ export { DEFAULT_BUILD_DISK, DEFAULT_CACHE_DISK, DOCKER_CACHE_MS, allocatedBytes, checkDiskFit, realBuildDiskProbe, runDocker, volumeBytes } from './chunk-IWVGALDC.js';
4
+ import './chunk-HVQMIZ22.js';
5
5
  import './chunk-4UPET3R7.js';
6
- import './chunk-MOI2KDLH.js';
7
- import './chunk-GSSVJNP2.js';
6
+ import './chunk-L5VHGRQE.js';
7
+ import './chunk-Z7WMU3RA.js';
8
8
  import './chunk-EOTMDIYC.js';
9
- import './chunk-PXGU3GKY.js';
10
- import './chunk-G4W4B33M.js';
9
+ import './chunk-GJ4KBHBD.js';
10
+ import './chunk-SDAEXUIX.js';
11
11
  import './chunk-MESOOLF4.js';
12
12
  import './chunk-Z5GEFMRW.js';
13
13
 
@@ -1 +1 @@
1
- {"id":"2026-10-26T15:00:03.094Z+e6e9c6f","root":"/home/runner/_work/outerlayer/outerlayer","pkg":"outerlayer"}
1
+ {"id":"2026-10-26T18:28:05.559Z+12e29af","root":"/home/runner/_work/outerlayer/outerlayer","pkg":"outerlayer"}
@@ -1,12 +1,12 @@
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-M3ME6TLQ.js';
3
+ export { MIN_BUILDX_VERSION, builderName, builderSpec, buildxState, ensureBuilder, ensureFailureCount, isOutOfMemory, proxyEnvironment, trackImageBuild } from './chunk-HVQMIZ22.js';
4
4
  import './chunk-4UPET3R7.js';
5
- import './chunk-MOI2KDLH.js';
6
- import './chunk-GSSVJNP2.js';
5
+ import './chunk-L5VHGRQE.js';
6
+ import './chunk-Z7WMU3RA.js';
7
7
  import './chunk-EOTMDIYC.js';
8
- import './chunk-PXGU3GKY.js';
9
- import './chunk-G4W4B33M.js';
8
+ import './chunk-GJ4KBHBD.js';
9
+ import './chunk-SDAEXUIX.js';
10
10
  import './chunk-MESOOLF4.js';
11
11
  import './chunk-Z5GEFMRW.js';
12
12
 
@@ -1,61 +1,62 @@
1
1
  #!/usr/bin/env node
2
2
  import { createRequire } from 'node:module';
3
- import { probeCredentials } from './chunk-PWSUNS6Y.js';
4
- import './chunk-CY5TCVBS.js';
5
- import './chunk-TFPNPS4Q.js';
6
- import './chunk-KRTD2F3I.js';
7
- import './chunk-AE3OTPUU.js';
8
- import './chunk-ZVB57WI6.js';
9
- import './chunk-FDJPDZSR.js';
3
+ import { probeCredentials } from './chunk-LTN2YFLR.js';
10
4
  import './chunk-3JVYMD4G.js';
5
+ import './chunk-ERTIEYDG.js';
11
6
  import './chunk-E7R2GIAW.js';
12
- import './chunk-PAK5P2ND.js';
13
- import './chunk-63IVRRIO.js';
7
+ import './chunk-MH6QLXUO.js';
8
+ import './chunk-HOUFCUMH.js';
9
+ import './chunk-P3CHDKXD.js';
10
+ import './chunk-TS3EFB7S.js';
11
+ import './chunk-SZU4YCBH.js';
12
+ import './chunk-ZVB57WI6.js';
13
+ import './chunk-6D7H5DMZ.js';
14
+ import './chunk-P3NPTFLF.js';
14
15
  import './chunk-I3LTIAOR.js';
15
- import './chunk-SKVA4KWD.js';
16
- import './chunk-XTYYF6P7.js';
17
- import './chunk-VGRCZE6U.js';
16
+ import './chunk-LD3BHLK7.js';
17
+ import './chunk-VUQKGBIQ.js';
18
+ import './chunk-XSFR76J7.js';
18
19
  import './chunk-ESVW4MJY.js';
19
- import './chunk-SI6WDF3U.js';
20
- import { managedProblems, managedFactsOf } from './chunk-ZP7GKJSM.js';
21
- import './chunk-UMYYYF7B.js';
20
+ import './chunk-CFFVCI2I.js';
21
+ import { managedProblems, managedFactsOf } from './chunk-JC6AQ6PC.js';
22
+ import './chunk-YL3RWW7X.js';
22
23
  import './chunk-TBT347UY.js';
23
- import { findServiceUnit } from './chunk-3RLKILPT.js';
24
+ import { findServiceUnit } from './chunk-WE4C3ODP.js';
24
25
  import './chunk-XKJOIQ2Q.js';
25
- import { placeholderQueues, placeholderProblem, permissionModeProblems, permissionModeProblem, HELPER_ENV, helperSocketPath, probeHelper, needsClaudeCredential, claudeCredentialCheck, claimPermissionProblem, formerSkillQueues, formerSkillProblem } from './chunk-7P3H4RY2.js';
26
+ import { placeholderQueues, placeholderProblem, permissionModeProblems, permissionModeProblem, HELPER_ENV, helperSocketPath, probeHelper, needsClaudeCredential, claudeCredentialCheck, claimPermissionProblem, formerSkillQueues, formerSkillProblem } from './chunk-CNZRUVZ5.js';
26
27
  import './chunk-2PGI6RDE.js';
27
- import './chunk-VVOSUGEF.js';
28
+ import './chunk-H47VGSCW.js';
28
29
  import './chunk-OGFGZQA3.js';
29
- import './chunk-2ILU7UAU.js';
30
- import './chunk-OGPEHSNW.js';
31
- import './chunk-PP6OX4OT.js';
32
- import './chunk-SYVRBBLW.js';
30
+ import './chunk-3VZTNXK5.js';
31
+ import './chunk-6KFJIU73.js';
32
+ import './chunk-EPFFYDNX.js';
33
+ import './chunk-SDELQEG4.js';
33
34
  import './chunk-TQMI335S.js';
34
- import './chunk-7JE2WFNK.js';
35
- import './chunk-EMH2LNIE.js';
36
- import { loadRunnerConfig, RunnerConfigError, checkHooks } from './chunk-3EHDZTRT.js';
37
- import './chunk-UONH72CJ.js';
38
- import './chunk-M3ME6TLQ.js';
35
+ import './chunk-HVPW272H.js';
36
+ import './chunk-V2VJYK46.js';
37
+ import { loadRunnerConfig, RunnerConfigError, checkHooks } from './chunk-ZIKZZ4LK.js';
38
+ import './chunk-IWVGALDC.js';
39
+ import './chunk-HVQMIZ22.js';
39
40
  import './chunk-4UPET3R7.js';
40
- import './chunk-YNMVVQOQ.js';
41
+ import './chunk-LQHCNXPK.js';
41
42
  import './chunk-JBJTC3UU.js';
42
43
  import './chunk-KT4CN6OU.js';
43
44
  import './chunk-4P6QGMPN.js';
44
- import './chunk-6JZXIWX7.js';
45
+ import './chunk-JKNOJKVD.js';
45
46
  import './chunk-IP7BIBXJ.js';
46
- import './chunk-7DXVL7TN.js';
47
- import './chunk-35JMYSUD.js';
47
+ import './chunk-IO2BBKG4.js';
48
+ import './chunk-EUQZAH2W.js';
48
49
  import './chunk-Y5YCX6AL.js';
49
50
  import './chunk-G2JWZDFA.js';
50
51
  import './chunk-ANPNT6PM.js';
51
52
  import './chunk-MECW77XP.js';
52
53
  import './chunk-NKOM4JKY.js';
53
- import './chunk-CAQCDYKF.js';
54
+ import './chunk-5JGPTYLT.js';
54
55
  import './chunk-JWNH4ZTF.js';
55
- import './chunk-3N77LUQI.js';
56
+ import './chunk-7QAJQDHS.js';
56
57
  import './chunk-PJDQPF5N.js';
57
- import './chunk-MOI2KDLH.js';
58
- import './chunk-25GRRBTH.js';
58
+ import './chunk-L5VHGRQE.js';
59
+ import './chunk-NHEU5CON.js';
59
60
  import './chunk-ZJSNLVCE.js';
60
61
  import './chunk-2O5KA67H.js';
61
62
  import './chunk-BKO6JEZI.js';
@@ -63,7 +64,7 @@ import './chunk-FGF52V4V.js';
63
64
  import './chunk-HCVLP7XA.js';
64
65
  import './chunk-BJ3KTMDH.js';
65
66
  import './chunk-ZQSANKS4.js';
66
- import './chunk-GSSVJNP2.js';
67
+ import './chunk-Z7WMU3RA.js';
67
68
  import './chunk-5BHIBJDA.js';
68
69
  import './chunk-CDDED64E.js';
69
70
  import './chunk-RA3O54FC.js';
@@ -77,8 +78,8 @@ import './chunk-TUSYOL2O.js';
77
78
  import './chunk-FGXT5OXS.js';
78
79
  import './chunk-EOTMDIYC.js';
79
80
  import './chunk-VNVZDWO3.js';
80
- import './chunk-PXGU3GKY.js';
81
- import { claudeEnvPath, parseRunnerEnv } from './chunk-G4W4B33M.js';
81
+ import './chunk-GJ4KBHBD.js';
82
+ import { claudeEnvPath, parseRunnerEnv } from './chunk-SDAEXUIX.js';
82
83
  import './chunk-MESOOLF4.js';
83
84
  import './chunk-Z5GEFMRW.js';
84
85
  import { readFileSync } from 'fs';
@@ -1,6 +1,6 @@
1
1
  #!/usr/bin/env node
2
2
  import { createRequire } from 'node:module';
3
- import { EXEC_PORT } from './chunk-OGPEHSNW.js';
3
+ import { EXEC_PORT } from './chunk-6KFJIU73.js';
4
4
  import { createConnection } from 'net';
5
5
 
6
6
  createRequire(import.meta.url);
@@ -2,11 +2,11 @@
2
2
  import { createRequire } from 'node:module';
3
3
  import { launchRefusalForSession } from './chunk-ESVW4MJY.js';
4
4
  import { detectActiveSession, transcriptPathForSession } from './chunk-IP7BIBXJ.js';
5
- import { autoConnect } from './chunk-7DXVL7TN.js';
5
+ import { autoConnect } from './chunk-IO2BBKG4.js';
6
6
  import { C } from './chunk-ANPNT6PM.js';
7
- import { resolveGatewayCredentials, defaultFetch, unauthorizedMessage } from './chunk-3N77LUQI.js';
7
+ import { resolveGatewayCredentials, defaultFetch, unauthorizedMessage } from './chunk-7QAJQDHS.js';
8
8
  import { readLatestProvenanceForSession } from './chunk-ZJSNLVCE.js';
9
- import { resolveRepoIdentity, defaultProjectsDir, findTranscripts, sessionIdFromPath, scrubText } from './chunk-GSSVJNP2.js';
9
+ import { resolveRepoIdentity, defaultProjectsDir, findTranscripts, sessionIdFromPath, scrubText } from './chunk-Z7WMU3RA.js';
10
10
  import { launchedItemForSession } from './chunk-T2Q7ISPE.js';
11
11
  import { parseTrackerNumber, trackerNumberError } from './chunk-WZBHBH3J.js';
12
12
  import { cliInvocation } from './chunk-CRB3POP4.js';
@@ -1,14 +1,14 @@
1
1
  #!/usr/bin/env node
2
2
  import { createRequire } from 'node:module';
3
3
  import { removeRetiredSkills } from './chunk-JWNH4ZTF.js';
4
- import { defaultFetch, resolveGatewayCredentials } from './chunk-3N77LUQI.js';
4
+ import { defaultFetch, resolveGatewayCredentials } from './chunk-7QAJQDHS.js';
5
5
  import { appendContextProvenance } from './chunk-ZJSNLVCE.js';
6
6
  import { loadMaintainedFiles, writeMaintainedFiles } from './chunk-ZQSANKS4.js';
7
7
  import { cliInvocation } from './chunk-CRB3POP4.js';
8
8
  import { writeDegraded, writeSourceCache, SOURCE_CACHE_TTL_RETRY_MS, writeContextManifest, SOURCE_CACHE_TTL_SUCCESS_MS, readSourceCache, isSourceCacheFresh, clearDegraded } from './chunk-YQR6E6OV.js';
9
9
  import { normalizeRepoName, parseOuterlayerConfig, classifyTree, emitTree } from './chunk-FGXT5OXS.js';
10
10
  import { homeFromEnv } from './chunk-VNVZDWO3.js';
11
- import { withTokenHeader } from './chunk-G4W4B33M.js';
11
+ import { withTokenHeader } from './chunk-SDAEXUIX.js';
12
12
  import { execFileSync } from 'child_process';
13
13
  import { existsSync, mkdirSync, writeFileSync, chmodSync, lstatSync, readFileSync, copyFileSync } from 'fs';
14
14
  import { isAbsolute, join, dirname } from 'path';
@@ -0,0 +1,152 @@
1
+ #!/usr/bin/env node
2
+ import { createRequire } from 'node:module';
3
+ import { resolvePackRoot } from './chunk-ZQSANKS4.js';
4
+ import { CHECK_ITEM_REASON_MAX_LENGTH, CheckItemsSchema } from './chunk-EOTMDIYC.js';
5
+ import { createHash } from 'crypto';
6
+ import { join } from 'path';
7
+ import { pathToFileURL } from 'url';
8
+
9
+ createRequire(import.meta.url);
10
+ var ARTIFACT_PROOF_REASON = "Its declared artifact proves it; the judge does not judge artifacts.";
11
+ var NO_CITING_TEST_REASON = "No test cites this criterion, and it declares no artifact proof.";
12
+ var NO_VERDICT_REASON = "The judge gave no result for this criterion.";
13
+ function criterionInputs(input) {
14
+ const paths = [...new Set((input.citations[input.criterion.id] ?? []).map((citation) => citation.path))].sort();
15
+ const hash = createHash("sha256");
16
+ const part = (text) => {
17
+ hash.update(`${Buffer.byteLength(text)}:`);
18
+ hash.update(text);
19
+ };
20
+ part("judge-criterion-v1");
21
+ part(input.brief);
22
+ part(input.criterion.id);
23
+ part(input.criterion.text);
24
+ part(input.criterion.proof ?? "");
25
+ for (const path of paths) {
26
+ part(path);
27
+ part(input.testFiles.get(path) ?? "");
28
+ }
29
+ return hash.digest("hex");
30
+ }
31
+ var HTTPS_LINK = /^https:\/\/\S+$/;
32
+ function refsFor(id, citations) {
33
+ const refs = (citations[id] ?? []).slice(0, 20).map((citation) => ({
34
+ path: citation.path,
35
+ line: citation.line,
36
+ // Only an https link becomes an href on a page; any other is left off rather than refusing the check.
37
+ ...HTTPS_LINK.test(citation.href ?? "") ? { href: citation.href } : {}
38
+ }));
39
+ return refs.length === 0 ? void 0 : refs;
40
+ }
41
+ function planCriteria(input) {
42
+ const previousById = new Map(input.previous.map((item) => [item.id, item]));
43
+ const settled = [];
44
+ const toJudge = [];
45
+ for (const criterion of input.criteria) {
46
+ const inputs = input.inputs.get(criterion.id);
47
+ const base = { id: criterion.id, criterion: criterion.id, ...inputs === void 0 ? {} : { inputs } };
48
+ const refs = refsFor(criterion.id, input.citations);
49
+ if (criterion.proof !== null) {
50
+ settled.push({ ...base, result: "skipped", reason: ARTIFACT_PROOF_REASON });
51
+ continue;
52
+ }
53
+ if (refs === void 0) {
54
+ settled.push({ ...base, result: "fail", reason: NO_CITING_TEST_REASON });
55
+ continue;
56
+ }
57
+ const kept = previousById.get(criterion.id);
58
+ if (kept !== void 0 && inputs !== void 0 && kept.inputs === inputs && (kept.result === "pass" || kept.result === "fail")) {
59
+ settled.push({ ...base, result: kept.result, ...kept.reason === void 0 ? {} : { reason: kept.reason }, refs });
60
+ continue;
61
+ }
62
+ toJudge.push(criterion);
63
+ }
64
+ return { settled, toJudge };
65
+ }
66
+ var MAX_ANSWER_ENTRIES = 500;
67
+ function readAnswer(raw) {
68
+ if (typeof raw !== "object" || raw === null || Array.isArray(raw)) return { ok: false, problem: "expected an object" };
69
+ const { result, items } = raw;
70
+ if (result !== void 0 && result !== "pass" && result !== "fail") return { ok: false, problem: 'result: must be "pass" or "fail"' };
71
+ if (items !== void 0 && !Array.isArray(items)) return { ok: false, problem: "items: must be an array" };
72
+ const entries = items ?? [];
73
+ if (entries.length > MAX_ANSWER_ENTRIES) return { ok: false, problem: `items: at most ${MAX_ANSWER_ENTRIES} entries` };
74
+ const read = [];
75
+ for (const [index, entry] of entries.entries()) {
76
+ const { id, result: itemResult, reason } = typeof entry === "object" && entry !== null ? entry : {};
77
+ if (typeof id !== "string" || id === "" || id.length > 200) return { ok: false, problem: `items.${index}.id: must be text of 1 to 200 characters` };
78
+ if (itemResult !== "pass" && itemResult !== "fail") return { ok: false, problem: `items.${index}.result: must be "pass" or "fail"` };
79
+ if (reason !== void 0 && typeof reason !== "string") return { ok: false, problem: `items.${index}.reason: must be text` };
80
+ read.push({ id, result: itemResult, ...reason === void 0 ? {} : { reason } });
81
+ }
82
+ return { ok: true, answer: { ...result === void 0 ? {} : { result }, items: read } };
83
+ }
84
+ function parseJudgeAnswer(text) {
85
+ if (text === void 0 || text.trim() === "") return void 0;
86
+ let raw;
87
+ try {
88
+ raw = JSON.parse(text);
89
+ } catch {
90
+ return { ok: false, reason: "the judge's items.json is not JSON" };
91
+ }
92
+ const read = readAnswer(raw);
93
+ return read.ok ? read : { ok: false, reason: `the judge's items.json does not match its shape: ${read.problem}` };
94
+ }
95
+ function oneLineReason(text) {
96
+ if (text === void 0) return void 0;
97
+ const line = text.replace(/\s+/g, " ").trim();
98
+ if (line === "") return void 0;
99
+ return line.length <= CHECK_ITEM_REASON_MAX_LENGTH ? line : `${line.slice(0, CHECK_ITEM_REASON_MAX_LENGTH - 1)}\u2026`;
100
+ }
101
+ function judgedItems(input) {
102
+ return input.toJudge.map((criterion) => {
103
+ const said = input.results.get(criterion.id);
104
+ const inputs = input.inputs.get(criterion.id);
105
+ const refs = refsFor(criterion.id, input.citations);
106
+ const reason = said === void 0 ? NO_VERDICT_REASON : oneLineReason(said.reason);
107
+ return {
108
+ id: criterion.id,
109
+ criterion: criterion.id,
110
+ result: said?.result ?? "fail",
111
+ ...reason === void 0 ? {} : { reason },
112
+ ...refs === void 0 ? {} : { refs },
113
+ ...inputs === void 0 || said === void 0 ? {} : { inputs }
114
+ };
115
+ });
116
+ }
117
+ function inCriteriaOrder(items, criteria) {
118
+ const order = new Map(criteria.map((criterion, index) => [criterion.id, index]));
119
+ return [...items].sort((a, b) => (order.get(a.id) ?? Number.MAX_SAFE_INTEGER) - (order.get(b.id) ?? Number.MAX_SAFE_INTEGER));
120
+ }
121
+ function itemsSentence(items, noun) {
122
+ const failing = items.filter((item) => item.result === "fail").map((item) => item.id);
123
+ if (failing.length === 0) return void 0;
124
+ return `${failing.length} of ${items.length} ${items.length === 1 ? noun.one : noun.many} not satisfied: ${failing.join(", ")}`;
125
+ }
126
+ var MAX_TEST_FILES = 2e4;
127
+ var MAX_TEST_FILE_BYTES = 1024 * 1024;
128
+ async function loadCitationFinder() {
129
+ return await import(pathToFileURL(join(resolvePackRoot(), "maintained", "outerlayer-build", "scripts", "criterion-citations.mjs")).href);
130
+ }
131
+ function criteriaOf(workItem) {
132
+ const criteria = Object(Object(workItem).criteria);
133
+ if (!Array.isArray(criteria.items)) return void 0;
134
+ const drafted = criteria.drafted === true;
135
+ const items = [];
136
+ for (const entry of criteria.items) {
137
+ const { id, text, proof } = Object(entry);
138
+ if (typeof id !== "string" || typeof text !== "string") continue;
139
+ items.push({ id, text, proof: typeof proof === "string" ? proof : null, drafted });
140
+ }
141
+ return items.length === 0 ? void 0 : items;
142
+ }
143
+ function hostItemsOf(workItem, name) {
144
+ const checks = Object(workItem).checks;
145
+ if (!Array.isArray(checks)) return [];
146
+ const check = checks.find((entry) => Object(entry).name === name);
147
+ if (check?.source !== "host") return [];
148
+ const parsed = CheckItemsSchema.safeParse(check.items);
149
+ return parsed.success ? parsed.data : [];
150
+ }
151
+
152
+ export { MAX_TEST_FILES, MAX_TEST_FILE_BYTES, NO_CITING_TEST_REASON, NO_VERDICT_REASON, criteriaOf, criterionInputs, hostItemsOf, inCriteriaOrder, itemsSentence, judgedItems, loadCitationFinder, oneLineReason, parseJudgeAnswer, planCriteria };
@@ -1,6 +1,6 @@
1
1
  #!/usr/bin/env node
2
2
  import { createRequire } from 'node:module';
3
- import { RELAY_PORT, GATEWAY_SOCKET, GATEWAY_PORT, CLAUDE_SOCKET, CLAUDE_PORT, DESTINATION_BASE_PORT } from './chunk-G4W4B33M.js';
3
+ import { RELAY_PORT, GATEWAY_SOCKET, GATEWAY_PORT, CLAUDE_SOCKET, CLAUDE_PORT, DESTINATION_BASE_PORT } from './chunk-SDAEXUIX.js';
4
4
  import { symlinkSync, unlinkSync } from 'fs';
5
5
  import { join } from 'path';
6
6
 
@@ -5,7 +5,7 @@ import { addStdioMcpEntryIfAbsent, addDocsMcpEntryIfAbsent, DOCS_MCP_SERVER_NAME
5
5
  import { installStarterPack } from './chunk-4P6QGMPN.js';
6
6
  import { C } from './chunk-ANPNT6PM.js';
7
7
  import { AGENTS_MD_LAYOUT, declareAgentsMdLayout, linkClaudeSkills, SKILLS_LINK_PATH, describeSkillsLink, isAgentsMdLayout, holdsTodaysLayoutSources, discoverOuterlayerPaths } from './chunk-NKOM4JKY.js';
8
- import { resolveGitCommonDir, defaultGitRunner } from './chunk-CAQCDYKF.js';
8
+ import { resolveGitCommonDir, defaultGitRunner } from './chunk-5JGPTYLT.js';
9
9
  import { loadTemplateFiles, loadMaintainedFiles, skillDir, AGENTS_SKILLS_BASE } from './chunk-ZQSANKS4.js';
10
10
  import { cliInvocation } from './chunk-CRB3POP4.js';
11
11
  import { linkedAgentsPath } from './chunk-DQ6YO7FH.js';
@@ -1,7 +1,7 @@
1
1
  #!/usr/bin/env node
2
2
  import { createRequire } from 'node:module';
3
3
  import { readCloudConfigStrict, readCloudConfig, cloudConfigPath } from './chunk-PJDQPF5N.js';
4
- import { signRunnerRequest, signerFor } from './chunk-MOI2KDLH.js';
4
+ import { signRunnerRequest, signerFor } from './chunk-L5VHGRQE.js';
5
5
  import { readRepoConnection, findGitDirs } from './chunk-BJ3KTMDH.js';
6
6
  import { PLAIN_VERSION, recordCliVersion, removeRecordedVersion } from './chunk-5BHIBJDA.js';
7
7
  import { resolvePackageVersion } from './chunk-RA3O54FC.js';
@@ -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-G4W4B33M.js';
3
+ import { RELAY_PORT, BUILD_HOME } from './chunk-SDAEXUIX.js';
4
4
  import { createServer, connect } from 'net';
5
5
 
6
6
  createRequire(import.meta.url);