@outerlayer/cli 0.34.0-next.20261027013606 → 0.34.0-next.20261027121359

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 (117) hide show
  1. package/dist/{agent-setup-2A6P2SYL.js → agent-setup-UPRMGVB7.js} +6 -6
  2. package/dist/{bridge-F5FBQSPZ.js → bridge-GVZUP3NU.js} +2 -2
  3. package/dist/{build-YSOVDTAN.js → build-ZDYL7ZGP.js} +7 -7
  4. package/dist/{build-disk-RZ7AZKTY.js → build-disk-WMIRA4RD.js} +5 -5
  5. package/dist/build-info.json +1 -1
  6. package/dist/{builder-MQIL24HI.js → builder-XTAHDFV5.js} +4 -4
  7. package/dist/{check-JD3GVQFP.js → check-FAG4QKIX.js} +36 -36
  8. package/dist/{chunk-MYLOOVRJ.js → chunk-3NMDGGZS.js} +2 -2
  9. package/dist/{chunk-DM4EEV73.js → chunk-4IB5WUY2.js} +6 -6
  10. package/dist/{chunk-77VBS2RT.js → chunk-66TKWWTX.js} +5 -5
  11. package/dist/{chunk-P3NPTFLF.js → chunk-6SJ3DJDH.js} +3 -3
  12. package/dist/{chunk-AHAYHJNN.js → chunk-ARPPH7VS.js} +164 -26
  13. package/dist/{chunk-QRJIBTNQ.js → chunk-B7LPFCIN.js} +5 -5
  14. package/dist/{chunk-CCHSD7RS.js → chunk-CHDWAWQA.js} +1 -1
  15. package/dist/{chunk-HOUFCUMH.js → chunk-DUG3JXAT.js} +1 -1
  16. package/dist/{chunk-WYR4INK3.js → chunk-FRETDGET.js} +2 -2
  17. package/dist/{chunk-SDELQEG4.js → chunk-HO4XRLAZ.js} +1 -1
  18. package/dist/{chunk-GJ4KBHBD.js → chunk-I2GHZ2VA.js} +1 -1
  19. package/dist/{chunk-YL3RWW7X.js → chunk-J2X5CTYY.js} +1 -1
  20. package/dist/{chunk-FQGC22IP.js → chunk-JKOONI3H.js} +2 -2
  21. package/dist/{chunk-L5VHGRQE.js → chunk-KDSKFXPE.js} +1 -1
  22. package/dist/{chunk-EBVK3QBO.js → chunk-KFXPH7SJ.js} +2 -2
  23. package/dist/{chunk-QWXBWOVV.js → chunk-L4DCIEVT.js} +3 -3
  24. package/dist/{chunk-O7QPHJWN.js → chunk-L7RPNSAA.js} +1 -1
  25. package/dist/{chunk-MN3PP45X.js → chunk-LHUZVM3L.js} +1 -1
  26. package/dist/{chunk-EP3WBNMC.js → chunk-LTMFHECB.js} +20 -20
  27. package/dist/{chunk-7PCA37ZS.js → chunk-LUYTNCMS.js} +3 -3
  28. package/dist/{chunk-25XBOX3K.js → chunk-LXOBWRVC.js} +2 -2
  29. package/dist/{chunk-66LH5QAV.js → chunk-M6YTST7G.js} +2 -2
  30. package/dist/{chunk-72CJOYN6.js → chunk-N752ZNZ5.js} +1 -1
  31. package/dist/{chunk-QABXXQ67.js → chunk-NGZBVN6F.js} +5 -5
  32. package/dist/{chunk-TS3EFB7S.js → chunk-PBZODW5X.js} +1 -1
  33. package/dist/{chunk-RR3VDM7M.js → chunk-Q3ATWA2U.js} +3 -3
  34. package/dist/{chunk-7DK2FOZ4.js → chunk-QBBZGVZJ.js} +2 -2
  35. package/dist/{chunk-JA2ARVY6.js → chunk-QTAADTIO.js} +1 -1
  36. package/dist/{chunk-6KFJIU73.js → chunk-RMJSYOSV.js} +1 -1
  37. package/dist/{chunk-DEJCZ43H.js → chunk-RO2NZJHZ.js} +82 -6
  38. package/dist/{chunk-7X2G463B.js → chunk-SGT7YU3X.js} +5 -5
  39. package/dist/{chunk-FQOUIYBL.js → chunk-SJY6A6EH.js} +24 -18
  40. package/dist/{chunk-7QAJQDHS.js → chunk-T375XV3H.js} +1 -1
  41. package/dist/{chunk-BLSEHKZ4.js → chunk-TS2YACAQ.js} +2 -2
  42. package/dist/{chunk-7GY3DVIL.js → chunk-UC4OSOQS.js} +48 -2
  43. package/dist/{chunk-MPNASRYB.js → chunk-UDRBQI5J.js} +10 -10
  44. package/dist/{chunk-7QF2EXAN.js → chunk-UXGWAAGQ.js} +4 -4
  45. package/dist/{chunk-GR7ZVGNI.js → chunk-UYWGR35C.js} +3 -3
  46. package/dist/{chunk-LQHCNXPK.js → chunk-W5EKMK37.js} +1 -1
  47. package/dist/{chunk-JM3YQ4LC.js → chunk-W774NREK.js} +3 -3
  48. package/dist/{chunk-GK6OYFMU.js → chunk-WS5E73JO.js} +5 -5
  49. package/dist/{chunk-VUJURIPJ.js → chunk-XEJ5USHY.js} +13 -5
  50. package/dist/{chunk-Q2KGDDUX.js → chunk-XSUM3E67.js} +3 -3
  51. package/dist/{chunk-CFFVCI2I.js → chunk-XZGURZHF.js} +1 -1
  52. package/dist/{chunk-WBTPI5MP.js → chunk-YGX72FUQ.js} +2 -2
  53. package/dist/{chunk-OKGHWCSK.js → chunk-YIBHQR3B.js} +2 -2
  54. package/dist/{chunk-SDAEXUIX.js → chunk-Z7THNFUU.js} +1 -0
  55. package/dist/{chunk-3VZTNXK5.js → chunk-ZV6GOXYA.js} +1 -1
  56. package/dist/{claude-launcher-EO3ALKBS.js → claude-launcher-SGZSOGKZ.js} +1 -1
  57. package/dist/{cli-3BAUWQCS.js → cli-6QN7TH6U.js} +110 -110
  58. package/dist/{command-UVGNJILP.js → command-6T6RI5XY.js} +24 -24
  59. package/dist/{config-NGCQD6SN.js → config-CWYMIXTV.js} +6 -6
  60. package/dist/{connect-cmd-65YBQRSY.js → connect-cmd-MY6SR4OK.js} +5 -5
  61. package/dist/{container-start-YBENDAOQ.js → container-start-FDXR4QND.js} +30 -30
  62. package/dist/{context-show-cmd-S5SEBOI2.js → context-show-cmd-WRTV3ACH.js} +6 -6
  63. package/dist/{control-plane-launch-BDSUP4DK.js → control-plane-launch-UM4IHOJQ.js} +5 -5
  64. package/dist/{demo-record-cmd-C2C4P2EQ.js → demo-record-cmd-XBWTORVM.js} +2 -2
  65. package/dist/{demo-voice-cmd-RWTRJUAX.js → demo-voice-cmd-FLU4GDKS.js} +11 -11
  66. package/dist/{docker-TRGA5QRL.js → docker-IUPWQ2RK.js} +4 -4
  67. package/dist/{doctor-QENPDYBD.js → doctor-5VNZ2BLY.js} +28 -26
  68. package/dist/{emit-artifact-cmd-56C6DBUP.js → emit-artifact-cmd-RDXIWRFU.js} +10 -10
  69. package/dist/{emit-criteria-cmd-HRCWXD3W.js → emit-criteria-cmd-EDJOWGKL.js} +7 -7
  70. package/dist/{emit-demo-cmd-QMRDQGB6.js → emit-demo-cmd-W3BXFFU3.js} +11 -11
  71. package/dist/{emit-finding-cmd-6MVFN4BO.js → emit-finding-cmd-TMZIOQIP.js} +7 -7
  72. package/dist/{emit-result-cmd-E3YYBXRY.js → emit-result-cmd-P55JBD2W.js} +9 -9
  73. package/dist/{emit-step-cmd-DM4CRYYI.js → emit-step-cmd-Y7LKI7L3.js} +7 -7
  74. package/dist/{exec-client-LXHTMVIB.js → exec-client-FB3OBHOJ.js} +3 -3
  75. package/dist/{find-unit-IOCVYPNW.js → find-unit-R4I5GJCH.js} +8 -8
  76. package/dist/{findings-cmd-K2OYBTUH.js → findings-cmd-D64BYS7Z.js} +7 -7
  77. package/dist/{fleet-readiness-VIAVQYRP.js → fleet-readiness-75KQEZ6E.js} +5 -5
  78. package/dist/{governing-source-MQA2SDJT.js → governing-source-YYEU46PP.js} +9 -9
  79. package/dist/{guest-init-WWL2WL7R.js → guest-init-SGF6ZVZN.js} +4 -4
  80. package/dist/{hook-fast-KXAQ22LZ.js → hook-fast-XX5HZOCR.js} +1 -1
  81. package/dist/{host-checks-UNEQTQ6L.js → host-checks-VKBAGGWH.js} +28 -28
  82. package/dist/{pending-UWFDVFOA.js → host-key-CNCHVNDC.js} +3 -3
  83. package/dist/{image-tag-BTXKIH73.js → image-tag-MRWNQGXA.js} +3 -3
  84. package/dist/index.js +4 -4
  85. package/dist/{init-6UEOOD2J.js → init-B5S5LMIL.js} +21 -21
  86. package/dist/{init-JR62PVKC.js → init-BB2TLXVB.js} +21 -21
  87. package/dist/{init-cmd-34YWWGQZ.js → init-cmd-I2Z4VZSG.js} +10 -10
  88. package/dist/{init-update-JMVLGBDE.js → init-update-TIZILQXL.js} +8 -8
  89. package/dist/{install-cmd-RGO7NWKP.js → install-cmd-X4OHS36T.js} +5 -5
  90. package/dist/{logs-LEVH6VAI.js → logs-BPEOYWRW.js} +2 -2
  91. package/dist/{loop-WHK6EVUE.js → loop-XULUT5HL.js} +35 -35
  92. package/dist/{machine-ZZOQ7LLV.js → machine-UYFUUSEQ.js} +21 -21
  93. package/dist/{mcp-serve-cmd-4O5INM77.js → mcp-serve-cmd-NCPWJJDZ.js} +4 -4
  94. package/dist/{paths-AQ47ZRHK.js → paths-WXGOFVCF.js} +2 -2
  95. package/dist/{host-key-TSOKVSZX.js → pending-GEDI4K7P.js} +3 -3
  96. package/dist/{pidfile-PCG2H5T4.js → pidfile-MYLBUG2I.js} +3 -3
  97. package/dist/{record-SVCNFCGQ.js → record-Y2JIOP56.js} +3 -3
  98. package/dist/{runner-env-DH7YA4BU.js → runner-env-Y2PBG7TR.js} +8 -8
  99. package/dist/{runner-identity-GLL56XY7.js → runner-identity-PL442M57.js} +4 -4
  100. package/dist/{runner-key-4ASVLQGM.js → runner-key-L6LXC4QA.js} +21 -21
  101. package/dist/{session-sender-KLOMLL7X.js → session-sender-AXROAZSC.js} +10 -10
  102. package/dist/{spec-cmd-MX5QFW32.js → spec-cmd-JG4QLGGJ.js} +8 -8
  103. package/dist/{status-7YP2C2QK.js → status-VOGNQ3NG.js} +28 -28
  104. package/dist/{sync-cmd-CO4DFMHU.js → sync-cmd-B3KQZJZO.js} +9 -9
  105. package/dist/{update-steps-J54P3SBL.js → update-steps-RSYFLNTL.js} +29 -29
  106. package/dist/{watch-GU62YVQY.js → watch-IHZRBUYV.js} +9 -9
  107. package/dist/{work-claim-cmd-JF5GGDFZ.js → work-claim-cmd-YEMHNW3H.js} +12 -12
  108. package/dist/{work-cmd-VR7PPSP6.js → work-cmd-OWZS3ZXL.js} +7 -7
  109. package/dist/{work-comment-cmd-HVZF72B4.js → work-comment-cmd-ESBYAE4K.js} +8 -8
  110. package/dist/{work-demo-cmd-EDGNM5VJ.js → work-demo-cmd-FT3FQWM7.js} +7 -7
  111. package/dist/{work-logs-cmd-ZZVAHX36.js → work-logs-cmd-K6NTURGR.js} +7 -7
  112. package/dist/{work-open-pr-cmd-AQWZRJHZ.js → work-open-pr-cmd-NGD4Z2TO.js} +8 -8
  113. package/dist/{work-pr-cmd-UJ7VWCJN.js → work-pr-cmd-274YUPQB.js} +7 -7
  114. package/dist/{work-proofs-cmd-DTFQ3FSB.js → work-proofs-cmd-JLSQHVKO.js} +8 -8
  115. package/dist/{work-proofs-record-XG544MGV.js → work-proofs-record-AYUWUFBE.js} +14 -14
  116. package/dist/{work-stop-cmd-SAT4XVM2.js → work-stop-cmd-VQLLLJ3H.js} +7 -7
  117. package/package.json +1 -1
@@ -1,14 +1,14 @@
1
1
  #!/usr/bin/env node
2
2
  import { createRequire } from 'node:module';
3
- import { uploadSpooledSteps } from './chunk-7DK2FOZ4.js';
3
+ import { uploadSpooledSteps } from './chunk-QBBZGVZJ.js';
4
4
  import { LaunchFilter } from './chunk-ESVW4MJY.js';
5
5
  import { RepoFilter } from './chunk-TBT347UY.js';
6
6
  import { C } from './chunk-ANPNT6PM.js';
7
7
  import { migrateLegacyArtifactSidecars, planArtifactUpload, artifactsStatePath, sanitizeTerminal, acquireArtifactSpoolLock, artifactBlobsDir, resolveArtifactTurnIndex, isArtifactTombstoned, ARTIFACT_RETRY_MAX_AGE_MS, writeArtifactSpoolState, reclaimUnneededArtifactBlobs, neededArtifactShas } from './chunk-IXPH4EXK.js';
8
- import { cliFetch, resolveGatewayCredentials, defaultFetch, unauthorizedMessage } from './chunk-7QAJQDHS.js';
8
+ import { cliFetch, resolveGatewayCredentials, defaultFetch, unauthorizedMessage } from './chunk-T375XV3H.js';
9
9
  import { readCloudConfig, cloudConfigPath, writeCloudConfig } from './chunk-PJDQPF5N.js';
10
- import { signerFor, signRunnerRequest } from './chunk-L5VHGRQE.js';
11
- import { writeSyncStatus, spoolDir } from './chunk-CCHSD7RS.js';
10
+ import { signerFor, signRunnerRequest } from './chunk-KDSKFXPE.js';
11
+ import { writeSyncStatus, spoolDir } from './chunk-CHDWAWQA.js';
12
12
  import { readLatestProvenanceForSession, readContextProvenance } from './chunk-ZJSNLVCE.js';
13
13
  import { hookExecSpoolPath } from './chunk-2O5KA67H.js';
14
14
  import { applyReportedCost } from './chunk-BKO6JEZI.js';
@@ -19,7 +19,7 @@ import { cliInvocation } from './chunk-CRB3POP4.js';
19
19
  import { removeJournalHooks } from './chunk-TUSYOL2O.js';
20
20
  import { CAPTURE_TIERS, inferArtifactKind, bannedPathsForTier, downconvertSession, isHumanUserTurn, turnCountBound, EVENT_TYPES } from './chunk-DINRXUQA.js';
21
21
  import { homeFromEnv } from './chunk-VNVZDWO3.js';
22
- import { SCRUB_ENV_VARIABLE } from './chunk-SDAEXUIX.js';
22
+ import { SCRUB_ENV_VARIABLE } from './chunk-Z7THNFUU.js';
23
23
  import { dirname, basename, join, sep } from 'path';
24
24
  import { statSync, readFileSync, readdirSync, mkdirSync, writeFileSync, renameSync, existsSync, rmSync } from 'fs';
25
25
  import { execFileSync } from 'child_process';
@@ -684,7 +684,7 @@ async function missingControlPlane(cwd, sessionId, home, env) {
684
684
  cleanupEarlierCopies(dirs);
685
685
  }
686
686
  if (!contextPossiblyGoverned(cwd, home)) return void 0;
687
- const { governanceOf } = await import('./control-plane-launch-BDSUP4DK.js');
687
+ const { governanceOf } = await import('./control-plane-launch-UM4IHOJQ.js');
688
688
  if (await governanceOf({ cwd, env, home }) !== "governed") return void 0;
689
689
  recordMissingContext(dirs, sessionId, home);
690
690
  const launcher = `${cliInvocation()} claude`;
@@ -1,6 +1,6 @@
1
1
  #!/usr/bin/env node
2
2
  import { createRequire } from 'node:module';
3
- import { RUNNER_DIR_MODE, RUNNER_FILE_MODE } from './chunk-GJ4KBHBD.js';
3
+ import { RUNNER_DIR_MODE, RUNNER_FILE_MODE } from './chunk-I2GHZ2VA.js';
4
4
  import { readFileSync, existsSync, rmSync, mkdirSync, writeFileSync, renameSync } from 'fs';
5
5
  import { join } from 'path';
6
6
 
@@ -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-OKGHWCSK.js';
4
+ import { autoConnect } from './chunk-YIBHQR3B.js';
5
5
  import { C } from './chunk-ANPNT6PM.js';
6
- import { defaultFetch, unauthorizedMessage, resolveGatewayCredentials } from './chunk-7QAJQDHS.js';
6
+ import { defaultFetch, unauthorizedMessage, resolveGatewayCredentials } from './chunk-T375XV3H.js';
7
7
  import { resolveRepoIdentity } from './chunk-OOD5NDQA.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
3
  import { isVersion, compareVersions } from './chunk-TQMI335S.js';
4
- import { RUNNER_DIR_MODE, RUNNER_FILE_MODE } from './chunk-GJ4KBHBD.js';
4
+ import { RUNNER_DIR_MODE, RUNNER_FILE_MODE } from './chunk-I2GHZ2VA.js';
5
5
  import { readFileSync, mkdirSync, writeFileSync, renameSync } from 'fs';
6
6
  import { join } from 'path';
7
7
 
@@ -1,6 +1,6 @@
1
1
  #!/usr/bin/env node
2
2
  import { createRequire } from 'node:module';
3
- import { BUILD_HOME } from './chunk-SDAEXUIX.js';
3
+ import { BUILD_HOME } from './chunk-Z7THNFUU.js';
4
4
  import { join, dirname } from 'path';
5
5
 
6
6
  createRequire(import.meta.url);
@@ -1,6 +1,6 @@
1
1
  #!/usr/bin/env node
2
2
  import { createRequire } from 'node:module';
3
- import { runnerDir, RUNNER_DIR_MODE, RUNNER_FILE_MODE } from './chunk-GJ4KBHBD.js';
3
+ import { runnerDir, RUNNER_DIR_MODE, RUNNER_FILE_MODE } from './chunk-I2GHZ2VA.js';
4
4
  import { readlinkSync, realpathSync, mkdirSync, unlinkSync, symlinkSync, renameSync, readFileSync, writeFileSync, rmSync, existsSync, readdirSync } from 'fs';
5
5
  import { join, basename, sep, resolve } from 'path';
6
6
 
@@ -1,7 +1,7 @@
1
1
  #!/usr/bin/env node
2
2
  import { createRequire } from 'node:module';
3
- import { escapeUnitPath, UNIT_MARKER, DEFAULT_UNIT_NAME } from './chunk-7QF2EXAN.js';
4
- import { inspectService, realInspectProbes } from './chunk-SDAEXUIX.js';
3
+ import { escapeUnitPath, UNIT_MARKER, DEFAULT_UNIT_NAME } from './chunk-UXGWAAGQ.js';
4
+ import { inspectService, realInspectProbes } from './chunk-Z7THNFUU.js';
5
5
  import { realpathSync, readFileSync, readdirSync } from 'fs';
6
6
  import { resolve, dirname, join } from 'path';
7
7
 
@@ -1,6 +1,6 @@
1
1
  #!/usr/bin/env node
2
2
  import { createRequire } from 'node:module';
3
- import { hostKeyPath, runnerDir, RUNNER_DIR_MODE, RUNNER_FILE_MODE } from './chunk-GJ4KBHBD.js';
3
+ import { hostKeyPath, runnerDir, RUNNER_DIR_MODE, RUNNER_FILE_MODE } from './chunk-I2GHZ2VA.js';
4
4
  import { generateKeyPairSync, createPrivateKey, createPublicKey, sign } from 'crypto';
5
5
  import { existsSync, mkdirSync, writeFileSync, readFileSync } from 'fs';
6
6
 
@@ -1,10 +1,10 @@
1
1
  #!/usr/bin/env node
2
2
  import { createRequire } from 'node:module';
3
- import { resolveCredentials, postJson, getJson } from './chunk-QABXXQ67.js';
3
+ import { resolveCredentials, postJson, getJson } from './chunk-NGZBVN6F.js';
4
4
  import { detectActiveSession } from './chunk-IP7BIBXJ.js';
5
5
  import { C } from './chunk-ANPNT6PM.js';
6
6
  import { sanitizeTerminal } from './chunk-IXPH4EXK.js';
7
- import { defaultFetch } from './chunk-7QAJQDHS.js';
7
+ import { defaultFetch } from './chunk-T375XV3H.js';
8
8
  import { resolveRepoIdentity } from './chunk-OOD5NDQA.js';
9
9
  import { parseTrackerNumber, trackerNumberError } from './chunk-WZBHBH3J.js';
10
10
  import { homeFromEnv } from './chunk-VNVZDWO3.js';
@@ -1,12 +1,12 @@
1
1
  #!/usr/bin/env node
2
2
  import { createRequire } from 'node:module';
3
- import { staleBuildRefusal, staleBuildWarning, detectCi } from './chunk-QRJIBTNQ.js';
3
+ import { staleBuildRefusal, staleBuildWarning, detectCi } from './chunk-B7LPFCIN.js';
4
4
  import { launchRefusalForSession } from './chunk-ESVW4MJY.js';
5
5
  import { detectActiveSession } from './chunk-IP7BIBXJ.js';
6
- import { autoConnect } from './chunk-OKGHWCSK.js';
6
+ import { autoConnect } from './chunk-YIBHQR3B.js';
7
7
  import { C } from './chunk-ANPNT6PM.js';
8
8
  import { readEffectiveArtifactSpoolState, localArtifactIds, isArtifactTombstoned, artifactBlobsDir, appendArtifactRecord, artifactsSpoolPath, findPendingArtifactRecord, sanitizeTerminal, appendArtifactTombstone } from './chunk-IXPH4EXK.js';
9
- import { resolveGatewayCredentials, defaultFetch, unauthorizedMessage } from './chunk-7QAJQDHS.js';
9
+ import { resolveGatewayCredentials, defaultFetch, unauthorizedMessage } from './chunk-T375XV3H.js';
10
10
  import { resolveRepoIdentity } from './chunk-OOD5NDQA.js';
11
11
  import { parseTrackerNumber, trackerNumberError } from './chunk-WZBHBH3J.js';
12
12
  import { cliInvocation } from './chunk-CRB3POP4.js';
@@ -3,7 +3,7 @@ import { createRequire } from 'node:module';
3
3
  import { DEFAULT_DASHBOARD } from './chunk-NWHU5G6R.js';
4
4
  import { sanitizeTerminal } from './chunk-IXPH4EXK.js';
5
5
  import { isAgentsMdLayout } from './chunk-LYCJQOO2.js';
6
- import { cliFetch, resolveGatewayCredentials } from './chunk-7QAJQDHS.js';
6
+ import { cliFetch, resolveGatewayCredentials } from './chunk-T375XV3H.js';
7
7
  import { readCloudConfig } from './chunk-PJDQPF5N.js';
8
8
  import { findGitDirs, writeRepoConnection, readRepoConnection } from './chunk-BJ3KTMDH.js';
9
9
  import { remoteLookupFailed } from './chunk-OOD5NDQA.js';
@@ -1,6 +1,6 @@
1
1
  #!/usr/bin/env node
2
2
  import { createRequire } from 'node:module';
3
- import { currentLink } from './chunk-YL3RWW7X.js';
3
+ import { currentLink } from './chunk-J2X5CTYY.js';
4
4
  import { readFileSync, statSync, chmodSync, mkdirSync, writeFileSync, renameSync, rmSync, existsSync, lstatSync, accessSync, constants, realpathSync } from 'fs';
5
5
  import { randomBytes } from 'crypto';
6
6
  import { join, dirname, delimiter, resolve } from 'path';
@@ -1,31 +1,31 @@
1
1
  #!/usr/bin/env node
2
2
  import { createRequire } from 'node:module';
3
3
  import { decideInstalledSwitch } from './chunk-3JVYMD4G.js';
4
- import { reportFailedStart, fitImageBuildMemory } from './chunk-DM4EEV73.js';
4
+ import { reportFailedStart, fitImageBuildMemory } from './chunk-4IB5WUY2.js';
5
5
  import { fetchVersionMeta, npmVersion, npmSupportsProvenance, fetchTarballDigest, fetchProvenance, installVersion, auditSignatures } from './chunk-E7R2GIAW.js';
6
6
  import { RUNNER_PROTOCOL } from './chunk-MH6QLXUO.js';
7
- import { writePendingUpdate } from './chunk-HOUFCUMH.js';
8
- import { renderUpdateSteps } from './chunk-JM3YQ4LC.js';
9
- import { readHousekeepingRecord, writeHousekeepingRecord } from './chunk-TS3EFB7S.js';
10
- import { releaseLease, isUnfinished, setStage, jobEnv, runHook, describeHookEnd, provisionMicroVm, deliverCommitHooks, provisionProcess, readProvisionOut, workdirProblem, MICROVM_COMMAND_DIR, commandLogOffset, startMicroVmCommand, microVmCommandLine, runCommand, startSender, finishJob, sampleGuest, foldSample, isContainerTracked, isMicroVmTracked, probeMicroVmCommand, probeCommand, appendCommandLog, judgeProbe, EXIT_CODE_FILE, isTracked, isGroupAlive, outcomeFromExitCode, isTimedOut, readCpuUsec, isIdle, stopOrphanedMicroVms, unfinishedJobs, listUnreadableJobs, listAdoptableJobs, retryFailedReleases, recoverLostJobs, GUEST_USAGE_INTERVAL_MS, hookLimitsFor, AttemptLogBook, microVmOomKills, needsRenew, renewLease, RENEW_INTERVAL_SECONDS, listTrackedJobs, restartSender, serveLease, vmAlive, writeGuestGhConfig, ALREADY_RELEASED, inTeardown } from './chunk-FQOUIYBL.js';
7
+ import { writePendingUpdate } from './chunk-DUG3JXAT.js';
8
+ import { renderUpdateSteps } from './chunk-W774NREK.js';
9
+ import { readHousekeepingRecord, writeHousekeepingRecord } from './chunk-PBZODW5X.js';
10
+ import { releaseLease, isUnfinished, setStage, jobEnv, runHook, describeHookEnd, provisionMicroVm, deliverCommitHooks, provisionProcess, readProvisionOut, workdirProblem, MICROVM_COMMAND_DIR, commandLogOffset, startMicroVmCommand, microVmCommandLine, runCommand, startSender, finishJob, sampleGuest, foldSample, isContainerTracked, isMicroVmTracked, probeMicroVmCommand, probeCommand, appendCommandLog, judgeProbe, EXIT_CODE_FILE, isTracked, isGroupAlive, outcomeFromExitCode, isTimedOut, readCpuUsec, isIdle, stopOrphanedMicroVms, unfinishedJobs, listUnreadableJobs, listAdoptableJobs, retryFailedReleases, recoverLostJobs, GUEST_USAGE_INTERVAL_MS, hookLimitsFor, AttemptLogBook, microVmOomKills, needsRenew, renewLease, RENEW_INTERVAL_SECONDS, listTrackedJobs, restartSender, serveLease, vmAlive, writeGuestGhConfig, ALREADY_RELEASED, inTeardown } from './chunk-SJY6A6EH.js';
11
11
  import { JOB_STATE_FORMAT, readsJobState, jobStateFormatOf } from './chunk-ZVB57WI6.js';
12
- import { realBlockedProbes, checkBlockedWithSlots, largeBuildMemoryBytes, LARGE_BUILD_DISK_BYTES, checkManagedRoom, sliceMemoryOf } from './chunk-VUJURIPJ.js';
13
- import { writeMarker, readMarker, currentVersion, removeMarker, isInLayout, startedThroughCurrent, entryIn, versionDir, switchCurrent, cleanVersions, stagingDir } from './chunk-YL3RWW7X.js';
12
+ import { realBlockedProbes, checkBlockedWithSlots, largeBuildMemoryBytes, LARGE_BUILD_DISK_BYTES, checkManagedRoom, sliceMemoryOf } from './chunk-XEJ5USHY.js';
13
+ import { writeMarker, readMarker, currentVersion, removeMarker, isInLayout, startedThroughCurrent, entryIn, versionDir, switchCurrent, cleanVersions, stagingDir } from './chunk-J2X5CTYY.js';
14
14
  import { RepoFilter } from './chunk-TBT347UY.js';
15
- import { leaseTimeLeftMs, createContainerRuntime, withTunnelLog, LEASE_SECONDS, attemptNote, fetchManagedClaudeKey, holdManagedClaudeKey, fetchManagedBuildSettings, holdManagedBuildSettings, needsBuildSkill, provisionContainer, leaseExpiresAtMs, deliverContainerHooks, provisionEnvironment, resolveHostBuild, listenOnBroker, hostEnvironment, deliverExecMaven, runWithSpawn, hostCommandEnvironment, lifecycleSteps, execArgv, lifecycleFailureReason, decideHostBuildSkill, prepareBranch, currentSkillCommand, formerSkillProblem, containerCommandExec, execCommandLine, startHostServices, setUpRunnerCgroup, sweepImageBuilders, measureDisk, parseCpuList, ensureTunnel, keepGhConfigCurrent, filesAreCopied, managedBuildSettingsFor, ADOPTED_FETCH_RETRY_WINDOW_MS, gitRemoteFor, startServicesFor, createLeaseChannel } from './chunk-AHAYHJNN.js';
16
- import { describeCallFailure, retrySend, shortClaim, relativeToRunner, formatDuration, resolveGoverningSource, BuildTokens, classifyRefusal, refusalCode, createRunnerLog, formatClock } from './chunk-77VBS2RT.js';
17
- import { imageTag, writeUpdateStatus, pullInstruction, tagToPull } from './chunk-SDELQEG4.js';
15
+ import { leaseTimeLeftMs, createContainerRuntime, withTunnelLog, LEASE_SECONDS, attemptNote, fetchManagedClaudeKey, holdManagedClaudeKey, fetchManagedBuildSettings, holdManagedBuildSettings, needsBuildSkill, provisionContainer, leaseExpiresAtMs, deliverContainerHooks, provisionEnvironment, resolveHostBuild, listenOnBroker, hostEnvironment, deliverExecMaven, runWithSpawn, hostCommandEnvironment, lifecycleSteps, execArgv, lifecycleFailureReason, decideHostBuildSkill, prepareBranch, currentSkillCommand, formerSkillProblem, containerCommandExec, execCommandLine, startHostServices, setUpRunnerCgroup, sweepImageBuilders, measureDisk, parseCpuList, ensureTunnel, keepGhConfigCurrent, filesAreCopied, managedBuildSettingsFor, ADOPTED_FETCH_RETRY_WINDOW_MS, gitRemoteFor, startServicesFor, createLeaseChannel } from './chunk-ARPPH7VS.js';
16
+ import { describeCallFailure, retrySend, shortClaim, relativeToRunner, formatDuration, resolveGoverningSource, BuildTokens, classifyRefusal, refusalCode, createRunnerLog, formatClock } from './chunk-66TKWWTX.js';
17
+ import { imageTag, writeUpdateStatus, pullInstruction, tagToPull } from './chunk-HO4XRLAZ.js';
18
18
  import { isVersion, compareVersions, satisfiesRange } from './chunk-TQMI335S.js';
19
- import { isBuiltinContainer, isBuiltinVm, isBuiltinProcess, loadRunnerConfig, checkHooks, builtinKind, keepsHostBuilder, DEFAULT_UPDATE_MAX_WAIT_HOURS } from './chunk-DEJCZ43H.js';
20
- import { freeBytes, formatBytes, allocatedBytes, volumeBytes } from './chunk-BLSEHKZ4.js';
21
- import { writeJobFile, ensureRunnerIdentity, identityDockerFor, readJobFile, exceedsDisk, builderName, runnerLabelValue, ensureFailureCount, builderSpec, ensureBuilder, spawnRun, RUNNER_LABEL, BUILD_LABEL, readJobFileChecked } from './chunk-GR7ZVGNI.js';
22
- import { claimPidFile, writePidFile, readPidFile, releasePidFile } from './chunk-LQHCNXPK.js';
19
+ import { isBuiltinContainer, isBuiltinVm, isBuiltinProcess, loadRunnerConfig, checkHooks, builtinKind, keepsHostBuilder, DEFAULT_UPDATE_MAX_WAIT_HOURS } from './chunk-RO2NZJHZ.js';
20
+ import { freeBytes, formatBytes, allocatedBytes, volumeBytes } from './chunk-TS2YACAQ.js';
21
+ import { writeJobFile, ensureRunnerIdentity, identityDockerFor, readJobFile, exceedsDisk, builderName, runnerLabelValue, ensureFailureCount, builderSpec, ensureBuilder, spawnRun, RUNNER_LABEL, BUILD_LABEL, readJobFileChecked } from './chunk-UYWGR35C.js';
22
+ import { claimPidFile, writePidFile, readPidFile, releasePidFile } from './chunk-W5EKMK37.js';
23
23
  import { startTimeOf, isSameProcess } from './chunk-JBJTC3UU.js';
24
- import { isSignatureRefusal, WorkCommandError, getJson, postJson } from './chunk-QABXXQ67.js';
25
- import { loadHostKey, ensureHostKey, signerFor } from './chunk-L5VHGRQE.js';
24
+ import { isSignatureRefusal, WorkCommandError, getJson, postJson } from './chunk-NGZBVN6F.js';
25
+ import { loadHostKey, ensureHostKey, signerFor } from './chunk-KDSKFXPE.js';
26
26
  import { resolveVersion } from './chunk-RA3O54FC.js';
27
- import { RUNNER_DIR_MODE, runnerDir, buildDir, attemptStamp, jobDir, RUNNER_FILE_MODE, jobsDir, pidFilePath, spoolDir, imagesDir, rootfsDir, builderCacheDiskPath } from './chunk-GJ4KBHBD.js';
28
- import { parseClaimIdentity, parseClaimedRepositories, parseUnreachable, repositoriesOf, primaryOf, sharedUserEnvironment, JOB_MOUNT, takeClaudeCredential, heldClaudeCredential, currentClaudeCredential, fdName } from './chunk-SDAEXUIX.js';
27
+ import { RUNNER_DIR_MODE, runnerDir, buildDir, attemptStamp, jobDir, RUNNER_FILE_MODE, jobsDir, pidFilePath, spoolDir, imagesDir, rootfsDir, builderCacheDiskPath } from './chunk-I2GHZ2VA.js';
28
+ import { parseClaimIdentity, parseClaimedRepositories, parseUnreachable, repositoriesOf, primaryOf, sharedUserEnvironment, JOB_MOUNT, takeClaudeCredential, heldClaudeCredential, currentClaudeCredential, fdName } from './chunk-Z7THNFUU.js';
29
29
  import { COMMAND_LOST_REASON, CONTAINER_STOPPED_REASON } from './chunk-MESOOLF4.js';
30
30
  import { randomBytes } from 'crypto';
31
31
  import { mkdirSync, existsSync, chmodSync, writeFileSync, renameSync, statSync, readdirSync, readFileSync, closeSync, rmSync, lstatSync } from 'fs';
@@ -1961,7 +1961,7 @@ var CLAIM_REFUSAL_CODES = new Set(
1961
1961
  "pull_request_from_fork pull_request_on_default_branch pull_request_ambiguous pull_request_repository_not_connected repository_not_reachable branch_claimed_elsewhere".split(" ")
1962
1962
  );
1963
1963
  async function tryClaimAndStart(state, item, queue) {
1964
- const { postJson: postJson2 } = await import('./work-cmd-VR7PPSP6.js');
1964
+ const { postJson: postJson2 } = await import('./work-cmd-OWZS3ZXL.js');
1965
1965
  const log = logOf(state);
1966
1966
  const hostKey = await loadHostKey(state.config.configPath);
1967
1967
  const claim = await retrySend(
@@ -3279,7 +3279,7 @@ async function startRunner(configPath, deps, startup) {
3279
3279
  check: update.check ? () => update.check(configPath) : async () => {
3280
3280
  const held = heldClaudeCredential();
3281
3281
  const env = held === void 0 ? process.env : { ...process.env, [held.variable]: held.value };
3282
- return (await import('./check-JD3GVQFP.js')).runRunnerCheck(configPath, { fetchImpl: deps.fetchImpl, env });
3282
+ return (await import('./check-FAG4QKIX.js')).runRunnerCheck(configPath, { fetchImpl: deps.fetchImpl, env });
3283
3283
  },
3284
3284
  now: () => (deps.now ?? (() => /* @__PURE__ */ new Date()))().getTime(),
3285
3285
  log
@@ -1,13 +1,13 @@
1
1
  #!/usr/bin/env node
2
2
  import { createRequire } from 'node:module';
3
3
  import { readNewestDemo } from './chunk-ER6KQCVJ.js';
4
- import { runEmitArtifact } from './chunk-QWXBWOVV.js';
4
+ import { runEmitArtifact } from './chunk-L4DCIEVT.js';
5
5
  import { VoiceDownloadError, downloadPinned, sha256OfFile } from './chunk-2PGI6RDE.js';
6
6
  import { VOICE_PACK_FILES, VOICE_PACK_VERSION } from './chunk-QUOITPN7.js';
7
7
  import { detectActiveSession } from './chunk-IP7BIBXJ.js';
8
- import { autoConnect } from './chunk-OKGHWCSK.js';
8
+ import { autoConnect } from './chunk-YIBHQR3B.js';
9
9
  import { C } from './chunk-ANPNT6PM.js';
10
- import { defaultFetch, resolveGatewayCredentials } from './chunk-7QAJQDHS.js';
10
+ import { defaultFetch, resolveGatewayCredentials } from './chunk-T375XV3H.js';
11
11
  import { resolveRepoIdentity } from './chunk-OOD5NDQA.js';
12
12
  import { launchedItemForSession } from './chunk-T2Q7ISPE.js';
13
13
  import { ARTIFACT_MAX_BYTES, ARTIFACT_MAX_CAPTION_LENGTH, DEMO_RECORD_MEDIA_TYPE, ARTIFACT_MAX_REPLACES_TARGETS, DEMO_MANIFEST_LATEST_VERSION, DemoManifestSchema, ARTIFACT_KINDS } from './chunk-DINRXUQA.js';
@@ -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-OKGHWCSK.js';
5
+ import { autoConnect } from './chunk-YIBHQR3B.js';
6
6
  import { C } from './chunk-ANPNT6PM.js';
7
- import { resolveGatewayCredentials, defaultFetch, unauthorizedMessage } from './chunk-7QAJQDHS.js';
7
+ import { resolveGatewayCredentials, defaultFetch, unauthorizedMessage } from './chunk-T375XV3H.js';
8
8
  import { resolveRepoIdentity } from './chunk-OOD5NDQA.js';
9
9
  import { launchedItemForSession } from './chunk-T2Q7ISPE.js';
10
10
  import { parseTrackerNumber, trackerNumberError } from './chunk-WZBHBH3J.js';
@@ -1,14 +1,14 @@
1
1
  #!/usr/bin/env node
2
2
  import { createRequire } from 'node:module';
3
3
  import { removeRetiredSkills } from './chunk-LMYRR5MO.js';
4
- import { defaultFetch, resolveGatewayCredentials } from './chunk-7QAJQDHS.js';
4
+ import { defaultFetch, resolveGatewayCredentials } from './chunk-T375XV3H.js';
5
5
  import { appendContextProvenance } from './chunk-ZJSNLVCE.js';
6
6
  import { loadMaintainedFiles, writeMaintainedFiles } from './chunk-OVNF4LLC.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-XFJ7YOPD.js';
10
10
  import { homeFromEnv } from './chunk-VNVZDWO3.js';
11
- import { withTokenHeader } from './chunk-SDAEXUIX.js';
11
+ import { withTokenHeader } from './chunk-Z7THNFUU.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';
@@ -5,7 +5,7 @@ import { addStdioMcpEntryIfAbsent, addDocsMcpEntryIfAbsent, DOCS_MCP_SERVER_NAME
5
5
  import { installStarterPack } from './chunk-J7EJMIDR.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-LYCJQOO2.js';
8
- import { resolveGitCommonDir, defaultGitRunner } from './chunk-66LH5QAV.js';
8
+ import { resolveGitCommonDir, defaultGitRunner } from './chunk-M6YTST7G.js';
9
9
  import { loadTemplateFiles, loadMaintainedFiles, skillDir, AGENTS_SKILLS_BASE } from './chunk-OVNF4LLC.js';
10
10
  import { cliInvocation } from './chunk-CRB3POP4.js';
11
11
  import { linkedAgentsPath } from './chunk-UPA5KOOX.js';
@@ -1,12 +1,12 @@
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-OKGHWCSK.js';
5
- import { workPageUrl } from './chunk-O7QPHJWN.js';
4
+ import { autoConnect } from './chunk-YIBHQR3B.js';
5
+ import { workPageUrl } from './chunk-L7RPNSAA.js';
6
6
  import { C } from './chunk-ANPNT6PM.js';
7
7
  import { sanitizeTerminal } from './chunk-IXPH4EXK.js';
8
- import { resolveGatewayCredentials, unauthorizedMessage, defaultFetch } from './chunk-7QAJQDHS.js';
9
- import { signRunnerRequest } from './chunk-L5VHGRQE.js';
8
+ import { resolveGatewayCredentials, unauthorizedMessage, defaultFetch } from './chunk-T375XV3H.js';
9
+ import { signRunnerRequest } from './chunk-KDSKFXPE.js';
10
10
  import { readRepoConnection } from './chunk-BJ3KTMDH.js';
11
11
  import { resolveRepoIdentity } from './chunk-OOD5NDQA.js';
12
12
  import { parseTrackerNumber, trackerNumberError } from './chunk-WZBHBH3J.js';
@@ -471,7 +471,7 @@ async function runWorkLinkSession(opts) {
471
471
  return await linkSession(opts);
472
472
  } catch (err) {
473
473
  if (opts.logFailures) {
474
- const { logHookError } = await import('./hook-fast-KXAQ22LZ.js');
474
+ const { logHookError } = await import('./hook-fast-XX5HZOCR.js');
475
475
  const reason = err instanceof Error ? err.message : String(err);
476
476
  logHookError(opts.home ?? homeFromEnv(opts.env ?? process.env), new Error(`work link-session #${opts.number} failed: ${reason}`));
477
477
  }
@@ -1,6 +1,6 @@
1
1
  #!/usr/bin/env node
2
2
  import { createRequire } from 'node:module';
3
- import { RUNNER_DIR_MODE, RUNNER_FILE_MODE } from './chunk-GJ4KBHBD.js';
3
+ import { RUNNER_DIR_MODE, RUNNER_FILE_MODE } from './chunk-I2GHZ2VA.js';
4
4
  import { readFileSync, mkdirSync, writeFileSync, renameSync } from 'fs';
5
5
  import { join } from 'path';
6
6
 
@@ -1,9 +1,9 @@
1
1
  #!/usr/bin/env node
2
2
  import { createRequire } from 'node:module';
3
- import { launcherPath, pathNotes, writeLauncher, LauncherWriteError } from './chunk-MN3PP45X.js';
4
- import { currentVersion, currentLink, versionDir, execStartLine, isInLayout, packageRootIn, switchCurrent } from './chunk-YL3RWW7X.js';
3
+ import { launcherPath, pathNotes, writeLauncher, LauncherWriteError } from './chunk-LHUZVM3L.js';
4
+ import { currentVersion, currentLink, versionDir, execStartLine, isInLayout, packageRootIn, switchCurrent } from './chunk-J2X5CTYY.js';
5
5
  import { compareVersions } from './chunk-TQMI335S.js';
6
- import { runnerDir, RUNNER_DIR_MODE } from './chunk-GJ4KBHBD.js';
6
+ import { runnerDir, RUNNER_DIR_MODE } from './chunk-I2GHZ2VA.js';
7
7
  import { lchownSync, lstatSync, realpathSync, readFileSync, mkdirSync, rmSync, cpSync, existsSync, readdirSync } from 'fs';
8
8
  import { dirname, sep, join } from 'path';
9
9
  import { spawnSync } from 'child_process';
@@ -2,10 +2,10 @@
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-OKGHWCSK.js';
5
+ import { autoConnect } from './chunk-YIBHQR3B.js';
6
6
  import { C } from './chunk-ANPNT6PM.js';
7
7
  import { acquireSpoolLockAt } from './chunk-IXPH4EXK.js';
8
- import { resolveGatewayCredentials, defaultFetch, unauthorizedMessage } from './chunk-7QAJQDHS.js';
8
+ import { resolveGatewayCredentials, defaultFetch, unauthorizedMessage } from './chunk-T375XV3H.js';
9
9
  import { resolveRepoIdentity } from './chunk-OOD5NDQA.js';
10
10
  import { launchedItemForSession } from './chunk-T2Q7ISPE.js';
11
11
  import { parseTrackerNumber, trackerNumberError } from './chunk-WZBHBH3J.js';
@@ -2,7 +2,7 @@
2
2
  import { createRequire } from 'node:module';
3
3
  import { sanitizeTerminal } from './chunk-IXPH4EXK.js';
4
4
  import { isAgentsMdLayout } from './chunk-LYCJQOO2.js';
5
- import { resolveGatewayCredentials, defaultFetch } from './chunk-7QAJQDHS.js';
5
+ import { resolveGatewayCredentials, defaultFetch } from './chunk-T375XV3H.js';
6
6
  import { versionAtLeast } from './chunk-HCVLP7XA.js';
7
7
  import { findGitDirs } from './chunk-BJ3KTMDH.js';
8
8
  import { machineSkillsState, staleClaudeSkills } from './chunk-LASKTDCR.js';
@@ -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-SDAEXUIX.js';
3
+ import { RELAY_PORT, GATEWAY_SOCKET, GATEWAY_PORT, CLAUDE_SOCKET, CLAUDE_PORT, DESTINATION_BASE_PORT } from './chunk-Z7THNFUU.js';
4
4
  import { symlinkSync, unlinkSync } from 'fs';
5
5
  import { join } from 'path';
6
6
 
@@ -1,16 +1,64 @@
1
1
  #!/usr/bin/env node
2
2
  import { createRequire } from 'node:module';
3
- import { DEFAULT_CACHE_DISK, DEFAULT_BUILD_DISK } from './chunk-BLSEHKZ4.js';
4
- import { parseSize } from './chunk-GR7ZVGNI.js';
3
+ import { DEFAULT_CACHE_DISK, DEFAULT_BUILD_DISK } from './chunk-TS2YACAQ.js';
4
+ import { parseSize } from './chunk-UYWGR35C.js';
5
5
  import { builderDiskPinned } from './chunk-QUOITPN7.js';
6
6
  import { homeFromEnv } from './chunk-VNVZDWO3.js';
7
- import { isRefusedInConfig, resolveDestinations, isReservedVariable } from './chunk-SDAEXUIX.js';
7
+ import { isRefusedInConfig, resolveDestinations, isReservedVariable } from './chunk-Z7THNFUU.js';
8
8
  import { existsSync, statSync, accessSync, constants, readFileSync } from 'fs';
9
9
  import { hostname } from 'os';
10
10
  import { join } from 'path';
11
11
 
12
12
  createRequire(import.meta.url);
13
13
 
14
+ // src/runner/container/egress.ts
15
+ var MANAGED_EGRESS = {
16
+ connectionsPerSecond: 20,
17
+ connectionBurst: 200,
18
+ openConnections: 256,
19
+ sendBytesPerSecond: 2e7,
20
+ flagHosts: 100
21
+ };
22
+ var EGRESS_SWITCHABLE_KEYS = ["connectionsPerSecond", "openConnections", "sendBytesPerSecond", "flagHosts"];
23
+ var emptyEgressCounts = () => ({
24
+ connectionsOpened: 0,
25
+ peakConnectionsPerSecond: 0,
26
+ peakOpenConnections: 0,
27
+ bytesSent: 0,
28
+ refused: { connectionRate: 0, openConnections: 0 },
29
+ hostsFlagged: false
30
+ });
31
+ var systemClock = { now: () => performance.now(), sleep: (ms) => new Promise((resolve) => setTimeout(resolve, ms)) };
32
+ function resolveEgress(given, managed) {
33
+ if (!managed && given === void 0) return void 0;
34
+ const base = managed ? MANAGED_EGRESS : { connectionsPerSecond: 0, connectionBurst: MANAGED_EGRESS.connectionBurst, openConnections: 0, sendBytesPerSecond: 0, flagHosts: 0 };
35
+ return { ...base, ...given };
36
+ }
37
+ var plural = (n, one, many) => `${n} ${n === 1 ? one : many}`;
38
+ function bytesText(n) {
39
+ if (n < 1024) return `${n} B`;
40
+ const units = ["KiB", "MiB", "GiB", "TiB"];
41
+ let value = n / 1024;
42
+ let unit = 0;
43
+ while (value >= 1024 && unit < units.length - 1) {
44
+ value /= 1024;
45
+ unit++;
46
+ }
47
+ return `${value.toFixed(1)} ${units[unit]}`;
48
+ }
49
+ function egressSummary(counts) {
50
+ const parts = [
51
+ `tunnel ${plural(counts.connectionsOpened ?? 0, "connection", "connections")} opened`,
52
+ `peak ${counts.peakConnectionsPerSecond ?? 0} in one second`,
53
+ `peak ${counts.peakOpenConnections ?? 0} open`,
54
+ `${bytesText(counts.bytesSent ?? 0)} sent`,
55
+ `refused ${counts.refused?.connectionRate ?? 0} by connection-rate`,
56
+ `refused ${counts.refused?.openConnections ?? 0} by open-connections`
57
+ ];
58
+ if (counts.hostsFlagged) parts.push("flagged for reaching many remote hosts");
59
+ return parts.join(" \xB7 ");
60
+ }
61
+
14
62
  // src/runner/allow-hosts.ts
15
63
  var MAX_ALLOW_HOSTS = 500;
16
64
  var LABEL = /^(?!-)[a-z0-9-]{1,63}(?<!-)$/;
@@ -82,7 +130,8 @@ function imageBuildOf(config) {
82
130
  function keepsHostBuilder(config, builderDiskIsPinned) {
83
131
  return !(imageBuildOf(config) === "vm" && (builderDiskIsPinned ?? builderDiskPinned()));
84
132
  }
85
- var BUILD_KEYS = ["memory", "cpus", "pids", "disk", "cacheDisk", "variables", "destinations", "allowHosts", "imageBuild"];
133
+ var BUILD_KEYS = ["memory", "cpus", "pids", "disk", "cacheDisk", "variables", "destinations", "allowHosts", "imageBuild", "egress"];
134
+ var EGRESS_KEYS = ["connectionsPerSecond", "connectionBurst", "openConnections", "sendBytesPerSecond", "flagHosts"];
86
135
  var HOUSEKEEPING_KEYS = ["jobsKeepDays", "buildCacheMax", "minFreeDisk"];
87
136
  var DEFAULT_JOBS_KEEP_DAYS = 30;
88
137
  var DEFAULT_BUILD_CACHE_MAX = "20g";
@@ -446,6 +495,7 @@ function resolveBuild(configPath, block) {
446
495
  if (given.imageBuild !== void 0 && given.imageBuild !== "vm" && given.imageBuild !== "host") {
447
496
  fail(configPath, "runner.build.imageBuild", "must be vm or host");
448
497
  }
498
+ const egress = resolveEgressBlock(configPath, given.egress);
449
499
  return {
450
500
  memory: given.memory ?? DEFAULT_BUILD.memory,
451
501
  cpus: given.cpus ?? DEFAULT_BUILD.cpus,
@@ -455,8 +505,34 @@ function resolveBuild(configPath, block) {
455
505
  variables,
456
506
  ...destinations.length === 0 ? {} : { destinations },
457
507
  ...allowHosts === void 0 ? {} : { allowHosts },
458
- ...given.imageBuild === void 0 ? {} : { imageBuild: given.imageBuild }
508
+ ...given.imageBuild === void 0 ? {} : { imageBuild: given.imageBuild },
509
+ ...egress === void 0 ? {} : { egress }
459
510
  };
460
511
  }
512
+ function resolveEgressBlock(configPath, block) {
513
+ if (block === void 0) return void 0;
514
+ if (typeof block !== "object" || block === null || Array.isArray(block)) fail(configPath, "runner.build.egress", "must be an object");
515
+ const given = block;
516
+ const out = {};
517
+ for (const [key, value] of Object.entries(given)) {
518
+ if (!EGRESS_KEYS.includes(key)) {
519
+ const near = nearestKey(key, EGRESS_KEYS);
520
+ fail(configPath, `runner.build.egress.${key}`, near ? `is not a key this block accepts; did you mean ${near}?` : "is not a key this block accepts");
521
+ }
522
+ const least = key === "connectionBurst" ? 1 : 0;
523
+ if (typeof value !== "number" || !Number.isInteger(value) || value < least) {
524
+ fail(configPath, `runner.build.egress.${key}`, least === 1 ? "must be a whole number of at least 1" : "must be a whole number of 0 or more; 0 turns the limit off");
525
+ }
526
+ out[key] = value;
527
+ }
528
+ return out;
529
+ }
530
+ function optionalEgress(config) {
531
+ const egress = egressLimitsOf(config);
532
+ return egress === void 0 ? {} : { egress };
533
+ }
534
+ function egressLimitsOf(config) {
535
+ return resolveEgress(config.build?.egress, config.managed === true);
536
+ }
461
537
 
462
- export { DEFAULT_CHECK_TIME_LIMIT_MINUTES, DEFAULT_UPDATE_MAX_WAIT_HOURS, MAX_ALLOW_HOSTS, RunnerConfigError, allowHostProblem, builtinKind, checkHooks, defaultRunnerConfigPath, hasRunnerBlock, hostAllowed, imageBuildOf, isBuiltinContainer, isBuiltinProcess, isBuiltinVm, keepsHostBuilder, loadRunnerConfig, resolveBuild, resolveHousekeeping, runnerCredentialProblem, runnerVmOf };
538
+ export { DEFAULT_CHECK_TIME_LIMIT_MINUTES, DEFAULT_UPDATE_MAX_WAIT_HOURS, EGRESS_SWITCHABLE_KEYS, MAX_ALLOW_HOSTS, RunnerConfigError, allowHostProblem, builtinKind, checkHooks, defaultRunnerConfigPath, egressSummary, emptyEgressCounts, hasRunnerBlock, hostAllowed, imageBuildOf, isBuiltinContainer, isBuiltinProcess, isBuiltinVm, keepsHostBuilder, loadRunnerConfig, optionalEgress, resolveBuild, resolveHousekeeping, runnerCredentialProblem, runnerVmOf, systemClock };
@@ -1,13 +1,13 @@
1
1
  #!/usr/bin/env node
2
2
  import { createRequire } from 'node:module';
3
- import { defaultDockerfile, toolsDockerfile } from './chunk-7GY3DVIL.js';
4
- import { runnerLabelValue } from './chunk-GR7ZVGNI.js';
3
+ import { defaultDockerfile, toolsDockerfile } from './chunk-UC4OSOQS.js';
4
+ import { runnerLabelValue } from './chunk-UYWGR35C.js';
5
5
  import { RecipeError, locateRecipe, readRecipe, assertBuildable, writeSanitizedRecipe, classifyProperties, SANITIZED_NAME } from './chunk-HDLON3RJ.js';
6
6
  import { CLAUDE_CODE_VERSION, NODE_IMAGE, DEFAULT_BASE_IMAGE, MEDIA_PINS, TINI_VERSION, GH_VERSION } from './chunk-QUOITPN7.js';
7
- import { claimPidFile, RunnerAlreadyRunningError, releasePidFile } from './chunk-LQHCNXPK.js';
7
+ import { claimPidFile, RunnerAlreadyRunningError, releasePidFile } from './chunk-W5EKMK37.js';
8
8
  import { startTimeOf } from './chunk-JBJTC3UU.js';
9
- import { RUNNER_DIR_MODE, RUNNER_FILE_MODE, repoCacheDir, imagesDir, imageBuildLogsDir, attemptStamp, runnerDir, rootfsPathFor } from './chunk-GJ4KBHBD.js';
10
- import { withGitConfig, tokenHeader } from './chunk-SDAEXUIX.js';
9
+ import { RUNNER_DIR_MODE, RUNNER_FILE_MODE, repoCacheDir, imagesDir, imageBuildLogsDir, attemptStamp, runnerDir, rootfsPathFor } from './chunk-I2GHZ2VA.js';
10
+ import { withGitConfig, tokenHeader } from './chunk-Z7THNFUU.js';
11
11
  import { mkdirSync, rmSync, writeFileSync, existsSync, mkdtempSync, cpSync, readFileSync, readdirSync, lstatSync, readlinkSync } from 'fs';
12
12
  import { tmpdir } from 'os';
13
13
  import { dirname, join } from 'path';