@joshuafolkken/kit 1.3044.0 → 1.3099.0

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 (1250) hide show
  1. package/.claude/skills/workflow-commands/backlogrun-steps.md +1 -1
  2. package/.claude/skills/workflow-commands/fullrun-steps.md +3 -3
  3. package/.claude/skills/workflow-commands/halfrun.md +3 -2
  4. package/.claude/skills/workflow-commands/kickoff.md +9 -2
  5. package/.claude/skills/workflow-commands/prerequisite.md +2 -0
  6. package/.claude/skills/workflow-commands/retrospective.md +2 -1
  7. package/.claude/skills/workflow-commands/split-assessment.md +4 -0
  8. package/.github/workflows/ci.yml +0 -20
  9. package/.github/workflows/pr-classification.yml +0 -5
  10. package/.github/workflows/publish.yml +0 -1
  11. package/.github/workflows/sonar-qube.yml +0 -5
  12. package/README.md +2 -0
  13. package/SECURITY.md +2 -1
  14. package/dist/.inputs-verified.json +1 -1
  15. package/dist/commands/adopt.js +29 -20
  16. package/dist/commands/auto-ok-judge-cli.js +43 -33
  17. package/dist/commands/auto-ok-main.js +73 -74
  18. package/dist/commands/backlog-budget-main.js +5 -6
  19. package/dist/commands/backlog-drive-cli.js +286 -305
  20. package/dist/commands/backlog-next-main.js +111 -108
  21. package/dist/commands/backlog-offer-main.js +148 -112
  22. package/dist/commands/backlog-plan-cli.js +123 -120
  23. package/dist/commands/backlog-triage-cli.js +131 -128
  24. package/dist/commands/backlogrun-cli.js +274 -264
  25. package/dist/commands/behavior-cli.js +23 -26
  26. package/dist/commands/bytes-command.js +56 -59
  27. package/dist/commands/cases-cli.js +4 -5
  28. package/dist/commands/check-commit-message-main.js +3 -4
  29. package/dist/commands/check-related.js +125 -119
  30. package/dist/commands/chunk-26JL4UU4.js +365 -0
  31. package/dist/commands/chunk-2BIVHPCA.js +85 -0
  32. package/dist/commands/chunk-2CKJODCK.js +245 -0
  33. package/dist/commands/chunk-2CNVIA35.js +335 -0
  34. package/dist/commands/chunk-2E6PSONB.js +46 -0
  35. package/dist/commands/chunk-2GA4775H.js +77 -0
  36. package/dist/commands/chunk-2O64H5UJ.js +462 -0
  37. package/dist/commands/chunk-2OEXY4GM.js +252 -0
  38. package/dist/commands/chunk-2OMIHPPE.js +51 -0
  39. package/dist/commands/chunk-2ONSHOAY.js +46 -0
  40. package/dist/commands/chunk-2SA3W4JF.js +41 -0
  41. package/dist/commands/chunk-2VY7CJ2R.js +212 -0
  42. package/dist/commands/chunk-2WRDAQPJ.js +74 -0
  43. package/dist/commands/chunk-2XLR7R6E.js +541 -0
  44. package/dist/commands/chunk-33TAOZUE.js +29 -0
  45. package/dist/commands/chunk-36XHHYNU.js +158 -0
  46. package/dist/commands/chunk-3CJNQU7P.js +179 -0
  47. package/dist/commands/chunk-3D5T6KMW.js +59 -0
  48. package/dist/commands/chunk-3EW5LTN3.js +114 -0
  49. package/dist/commands/chunk-3F3RNIG2.js +128 -0
  50. package/dist/commands/chunk-3FLTEJZY.js +74 -0
  51. package/dist/commands/chunk-3JWPTRNI.js +60 -0
  52. package/dist/commands/chunk-3LUPGBW4.js +137 -0
  53. package/dist/commands/chunk-3MQTOUXT.js +94 -0
  54. package/dist/commands/chunk-3PCUERXE.js +19 -0
  55. package/dist/commands/chunk-3U6A5WON.js +173 -0
  56. package/dist/commands/chunk-3VLDFM5I.js +426 -0
  57. package/dist/commands/chunk-3YT3RCSI.js +140 -0
  58. package/dist/commands/chunk-43DU7DYZ.js +540 -0
  59. package/dist/commands/chunk-43H725LG.js +132 -0
  60. package/dist/commands/chunk-46STCE6Q.js +48 -0
  61. package/dist/commands/chunk-46WEC6HZ.js +82 -0
  62. package/dist/commands/chunk-47J4KOZP.js +46 -0
  63. package/dist/commands/chunk-47W7PF4T.js +22 -0
  64. package/dist/commands/chunk-4F4KARQN.js +229 -0
  65. package/dist/commands/chunk-4HB7NWXP.js +263 -0
  66. package/dist/commands/chunk-4HOTJAO6.js +89 -0
  67. package/dist/commands/chunk-4I5AA4P5.js +237 -0
  68. package/dist/commands/chunk-4IDINPBE.js +525 -0
  69. package/dist/commands/chunk-4NSIW3UB.js +104 -0
  70. package/dist/commands/chunk-4YTKV6WV.js +37 -0
  71. package/dist/commands/chunk-5ARNFMQK.js +1263 -0
  72. package/dist/commands/chunk-5AZTSESD.js +114 -0
  73. package/dist/commands/chunk-5FUI2MLY.js +89 -0
  74. package/dist/commands/chunk-5GI5GLC4.js +214 -0
  75. package/dist/commands/chunk-5IHEBIPD.js +333 -0
  76. package/dist/commands/chunk-5KAW5GPF.js +44 -0
  77. package/dist/commands/chunk-5KSJEWXR.js +77 -0
  78. package/dist/commands/chunk-5OF2B4BF.js +35 -0
  79. package/dist/commands/chunk-5PLJ7R3D.js +126 -0
  80. package/dist/commands/chunk-5PPWXOCF.js +64 -0
  81. package/dist/commands/chunk-5VQCL33M.js +46 -0
  82. package/dist/commands/chunk-5Y7FOJLX.js +186 -0
  83. package/dist/commands/chunk-5YTEMF4O.js +110 -0
  84. package/dist/commands/chunk-6AHAY5VZ.js +69 -0
  85. package/dist/commands/chunk-6FN37DER.js +330 -0
  86. package/dist/commands/chunk-6JD4VNO4.js +124 -0
  87. package/dist/commands/chunk-6KUA7MRG.js +64 -0
  88. package/dist/commands/chunk-6LDEZFYR.js +88 -0
  89. package/dist/commands/chunk-6NXIZMIK.js +122 -0
  90. package/dist/commands/chunk-6O45F6YI.js +86 -0
  91. package/dist/commands/chunk-6OHJBQDE.js +184 -0
  92. package/dist/commands/chunk-6WDCCG3M.js +1249 -0
  93. package/dist/commands/chunk-6ZHXEQAI.js +715 -0
  94. package/dist/commands/chunk-736NECRD.js +16 -0
  95. package/dist/commands/chunk-77LEKVEE.js +32 -0
  96. package/dist/commands/chunk-7CX5VYOL.js +50 -0
  97. package/dist/commands/chunk-7DGHFBU7.js +247 -0
  98. package/dist/commands/chunk-7EAYFMDN.js +235 -0
  99. package/dist/commands/chunk-7HP3FQGQ.js +51 -0
  100. package/dist/commands/chunk-7HYYHCTN.js +402 -0
  101. package/dist/commands/chunk-7JOOMFDI.js +155 -0
  102. package/dist/commands/chunk-7K5ITPHR.js +338 -0
  103. package/dist/commands/chunk-7OEBSPPU.js +321 -0
  104. package/dist/commands/chunk-7ULYLGUK.js +492 -0
  105. package/dist/commands/chunk-A3JYZWBS.js +803 -0
  106. package/dist/commands/chunk-A3LCN4KA.js +84 -0
  107. package/dist/commands/chunk-ABLXBG6C.js +98 -0
  108. package/dist/commands/chunk-ABM2MZBF.js +161 -0
  109. package/dist/commands/chunk-AN7BFVHU.js +244 -0
  110. package/dist/commands/chunk-AQCVEQSM.js +99 -0
  111. package/dist/commands/chunk-AU563VKH.js +75 -0
  112. package/dist/commands/chunk-AUTD5FV2.js +1077 -0
  113. package/dist/commands/chunk-AV26CMY6.js +304 -0
  114. package/dist/commands/chunk-B2PJEV3S.js +246 -0
  115. package/dist/commands/chunk-B545ENGY.js +214 -0
  116. package/dist/commands/chunk-B5HP6T4L.js +170 -0
  117. package/dist/commands/chunk-B73IIRMS.js +207 -0
  118. package/dist/commands/chunk-BBLEC4YQ.js +109 -0
  119. package/dist/commands/chunk-BDSG6JKH.js +977 -0
  120. package/dist/commands/chunk-BFKTUD3V.js +33 -0
  121. package/dist/commands/chunk-BLRXHK2V.js +17 -0
  122. package/dist/commands/chunk-BML6MEUB.js +326 -0
  123. package/dist/commands/chunk-BPDNGJXY.js +63 -0
  124. package/dist/commands/chunk-BQLKWGGC.js +118 -0
  125. package/dist/commands/chunk-BRMJVCP7.js +167 -0
  126. package/dist/commands/chunk-BRWR5YKU.js +268 -0
  127. package/dist/commands/chunk-BUZAYEBD.js +319 -0
  128. package/dist/commands/chunk-BVUL57IX.js +139 -0
  129. package/dist/commands/chunk-C7FGDZWP.js +224 -0
  130. package/dist/commands/chunk-CC4BIGCA.js +20 -0
  131. package/dist/commands/chunk-CCHJZEF5.js +4220 -0
  132. package/dist/commands/chunk-CDK7QZWG.js +44 -0
  133. package/dist/commands/chunk-CDYFUCDC.js +72 -0
  134. package/dist/commands/chunk-CEADAQIL.js +170 -0
  135. package/dist/commands/chunk-CNL3SLM6.js +116 -0
  136. package/dist/commands/chunk-CNQ7D2GZ.js +104 -0
  137. package/dist/commands/chunk-CTXJVMHW.js +48 -0
  138. package/dist/commands/chunk-CUWT6UQO.js +13 -0
  139. package/dist/commands/chunk-CVRDJCOE.js +125 -0
  140. package/dist/commands/chunk-D6CF5QGM.js +80 -0
  141. package/dist/commands/chunk-DACNQAXC.js +20 -0
  142. package/dist/commands/chunk-DDOS32JU.js +74 -0
  143. package/dist/commands/chunk-DDZVMXZD.js +481 -0
  144. package/dist/commands/chunk-DF6QD4AF.js +52 -0
  145. package/dist/commands/chunk-DFEXNB44.js +159 -0
  146. package/dist/commands/chunk-DHDKG5HZ.js +151 -0
  147. package/dist/commands/chunk-DHJRFBKO.js +223 -0
  148. package/dist/commands/chunk-DKDWOE3C.js +78 -0
  149. package/dist/commands/chunk-DKO5VTEH.js +65 -0
  150. package/dist/commands/chunk-DLHH3MLS.js +85 -0
  151. package/dist/commands/chunk-DOYNK72G.js +81 -0
  152. package/dist/commands/chunk-DS53UUDH.js +679 -0
  153. package/dist/commands/chunk-DUA4E4ES.js +230 -0
  154. package/dist/commands/chunk-DURHGVRC.js +33 -0
  155. package/dist/commands/chunk-DVCMQMRN.js +191 -0
  156. package/dist/commands/chunk-E3YKMCCJ.js +108 -0
  157. package/dist/commands/chunk-E4F2RTKC.js +272 -0
  158. package/dist/commands/chunk-E4PFCTXN.js +127 -0
  159. package/dist/commands/chunk-EAOTR2WL.js +24 -0
  160. package/dist/commands/chunk-EHPTXSAT.js +315 -0
  161. package/dist/commands/chunk-EHVEWJQ4.js +33 -0
  162. package/dist/commands/chunk-EMFSPPMH.js +98 -0
  163. package/dist/commands/chunk-EPICTV2P.js +46 -0
  164. package/dist/commands/chunk-ES42XPAD.js +123 -0
  165. package/dist/commands/chunk-ESUY7KTZ.js +137 -0
  166. package/dist/commands/chunk-EVVQJJFV.js +507 -0
  167. package/dist/commands/chunk-EWXXEGXL.js +149 -0
  168. package/dist/commands/chunk-F2RDEF2J.js +205 -0
  169. package/dist/commands/chunk-F2U46HAE.js +52 -0
  170. package/dist/commands/chunk-F2VYWU6Z.js +653 -0
  171. package/dist/commands/chunk-F4SGOTUF.js +36 -0
  172. package/dist/commands/chunk-F4YMLVWN.js +183 -0
  173. package/dist/commands/chunk-F57LACNC.js +84 -0
  174. package/dist/commands/chunk-F5N2QIFD.js +213 -0
  175. package/dist/commands/chunk-F7B4ESZE.js +80 -0
  176. package/dist/commands/chunk-FA7CN75F.js +160 -0
  177. package/dist/commands/chunk-FDASVHZD.js +241 -0
  178. package/dist/commands/chunk-FEYZ575X.js +278 -0
  179. package/dist/commands/chunk-FJM2HWKW.js +299 -0
  180. package/dist/commands/chunk-FJMXUDEY.js +3985 -0
  181. package/dist/commands/chunk-FM7VVAK6.js +426 -0
  182. package/dist/commands/chunk-FQWRM5FC.js +67 -0
  183. package/dist/commands/chunk-FT33ZCSB.js +298 -0
  184. package/dist/commands/chunk-FTAWHAI7.js +170 -0
  185. package/dist/commands/chunk-G2DNS74C.js +53 -0
  186. package/dist/commands/chunk-G3BBCAAH.js +90 -0
  187. package/dist/commands/chunk-G75GWNNY.js +101 -0
  188. package/dist/commands/chunk-GA2YSPFH.js +32 -0
  189. package/dist/commands/chunk-GABDPTDK.js +907 -0
  190. package/dist/commands/chunk-GAVSK6P6.js +230 -0
  191. package/dist/commands/chunk-GB2BRQVL.js +300 -0
  192. package/dist/commands/chunk-GBMZXFFC.js +44 -0
  193. package/dist/commands/chunk-GDP7QXYE.js +76 -0
  194. package/dist/commands/chunk-GGWXF7RJ.js +70 -0
  195. package/dist/commands/chunk-GHOTKHI4.js +30 -0
  196. package/dist/commands/chunk-GMVN6ZP2.js +48 -0
  197. package/dist/commands/chunk-GNTTGRCX.js +133 -0
  198. package/dist/commands/chunk-GOY5JECO.js +130 -0
  199. package/dist/commands/chunk-GZL6ISVM.js +72 -0
  200. package/dist/commands/chunk-HALHQILI.js +51 -0
  201. package/dist/commands/chunk-HAT7AFBF.js +85 -0
  202. package/dist/commands/chunk-HDVSZ6CZ.js +292 -0
  203. package/dist/commands/chunk-HE3GOMR7.js +88 -0
  204. package/dist/commands/chunk-HEFUC4ZW.js +65 -0
  205. package/dist/commands/chunk-HHS3LYLV.js +30 -0
  206. package/dist/commands/chunk-HQZ65PJE.js +167 -0
  207. package/dist/commands/chunk-HRN73FQJ.js +77 -0
  208. package/dist/commands/chunk-HSZECERZ.js +271 -0
  209. package/dist/commands/chunk-HYE3MBAN.js +113 -0
  210. package/dist/commands/chunk-IAB6LCJL.js +18 -0
  211. package/dist/commands/chunk-IAGENI2U.js +42 -0
  212. package/dist/commands/chunk-ICPVBHIX.js +48 -0
  213. package/dist/commands/chunk-IONGJJYM.js +179 -0
  214. package/dist/commands/chunk-IP23WOWP.js +126 -0
  215. package/dist/commands/chunk-IPS7EBE5.js +140 -0
  216. package/dist/commands/chunk-IXZZSST7.js +459 -0
  217. package/dist/commands/chunk-IY3DSDRW.js +173 -0
  218. package/dist/commands/chunk-J2RUI4KN.js +47 -0
  219. package/dist/commands/chunk-J3PCRUVY.js +1223 -0
  220. package/dist/commands/chunk-J4XHEOOW.js +156 -0
  221. package/dist/commands/chunk-JDHLHYJJ.js +208 -0
  222. package/dist/commands/chunk-JEYITIWB.js +423 -0
  223. package/dist/commands/chunk-JGX7JIW4.js +126 -0
  224. package/dist/commands/chunk-JHIGDFBS.js +59 -0
  225. package/dist/commands/chunk-JI2EGXZX.js +53 -0
  226. package/dist/commands/chunk-JNV3VRK2.js +47 -0
  227. package/dist/commands/chunk-JPMAW2VZ.js +91 -0
  228. package/dist/commands/chunk-JQEY6KDP.js +90 -0
  229. package/dist/commands/chunk-JSJDIEGZ.js +88 -0
  230. package/dist/commands/chunk-JT5ICRFF.js +44 -0
  231. package/dist/commands/chunk-JU2MAYQ3.js +997 -0
  232. package/dist/commands/chunk-JUCJ4Y42.js +77 -0
  233. package/dist/commands/chunk-K3OZBV3L.js +49 -0
  234. package/dist/commands/chunk-K6P5PISC.js +114 -0
  235. package/dist/commands/chunk-KDCHY7XO.js +88 -0
  236. package/dist/commands/chunk-KDGX3JTV.js +51 -0
  237. package/dist/commands/chunk-KGSEWOKI.js +353 -0
  238. package/dist/commands/chunk-KIS7JFNP.js +217 -0
  239. package/dist/commands/chunk-KJPZPTS4.js +245 -0
  240. package/dist/commands/chunk-KKHD3C2P.js +114 -0
  241. package/dist/commands/chunk-KKIIY5I5.js +67 -0
  242. package/dist/commands/chunk-KN46UC77.js +114 -0
  243. package/dist/commands/chunk-KP2BVAS5.js +125 -0
  244. package/dist/commands/chunk-KPAJBJXG.js +63 -0
  245. package/dist/commands/chunk-KPMAJP6D.js +145 -0
  246. package/dist/commands/chunk-KR6WUAJM.js +122 -0
  247. package/dist/commands/chunk-KWLNK2NJ.js +391 -0
  248. package/dist/commands/chunk-L2CLCNXW.js +144 -0
  249. package/dist/commands/chunk-L7MDU6D7.js +155 -0
  250. package/dist/commands/chunk-L7VD4MLF.js +78 -0
  251. package/dist/commands/chunk-LBVYFW3I.js +38 -0
  252. package/dist/commands/chunk-LE3M42CF.js +350 -0
  253. package/dist/commands/chunk-LIPUSINQ.js +140 -0
  254. package/dist/commands/chunk-LJVZWE3A.js +1885 -0
  255. package/dist/commands/chunk-LKSSQVDA.js +49 -0
  256. package/dist/commands/chunk-LL6G34MF.js +93 -0
  257. package/dist/commands/chunk-LNQOL2CL.js +321 -0
  258. package/dist/commands/chunk-LS7P324N.js +72 -0
  259. package/dist/commands/chunk-LU5EOGFQ.js +50 -0
  260. package/dist/commands/chunk-LX2ENXHZ.js +197 -0
  261. package/dist/commands/chunk-M32UPB2D.js +110 -0
  262. package/dist/commands/chunk-M3UGRNNB.js +103 -0
  263. package/dist/commands/chunk-MDGPJOLK.js +351 -0
  264. package/dist/commands/chunk-MDKRTUE4.js +288 -0
  265. package/dist/commands/chunk-MFZVRWRS.js +34 -0
  266. package/dist/commands/chunk-MHF6BDQI.js +128 -0
  267. package/dist/commands/chunk-MLJDW7YN.js +64 -0
  268. package/dist/commands/chunk-MNLHYAJO.js +80 -0
  269. package/dist/commands/chunk-MOD3FG4V.js +419 -0
  270. package/dist/commands/chunk-MRAEJLXL.js +83 -0
  271. package/dist/commands/chunk-MRW2WYJS.js +68 -0
  272. package/dist/commands/chunk-MXPCEZL5.js +23 -0
  273. package/dist/commands/chunk-N2XH7QBY.js +103 -0
  274. package/dist/commands/chunk-N2ZF6T4E.js +332 -0
  275. package/dist/commands/chunk-N36NZMAL.js +79 -0
  276. package/dist/commands/chunk-N4EMFHQ6.js +114 -0
  277. package/dist/commands/chunk-N4P64UIH.js +211 -0
  278. package/dist/commands/chunk-NABSSY4P.js +204 -0
  279. package/dist/commands/chunk-NDQIJBRQ.js +100 -0
  280. package/dist/commands/chunk-NDR4PCVG.js +29 -0
  281. package/dist/commands/chunk-NEOCCN6D.js +302 -0
  282. package/dist/commands/chunk-NFKWFOFM.js +45 -0
  283. package/dist/commands/chunk-NFUPJBBG.js +516 -0
  284. package/dist/commands/chunk-NHEBKL7X.js +170 -0
  285. package/dist/commands/chunk-NHTEC5U4.js +99 -0
  286. package/dist/commands/chunk-NOSODWWK.js +1132 -0
  287. package/dist/commands/chunk-NPXXYG6Z.js +580 -0
  288. package/dist/commands/chunk-NR2JDBPV.js +75 -0
  289. package/dist/commands/chunk-NRULNBYI.js +1153 -0
  290. package/dist/commands/chunk-NTGF5N3N.js +110 -0
  291. package/dist/commands/chunk-NTIVNQKF.js +73 -0
  292. package/dist/commands/chunk-NUCFIYZL.js +119 -0
  293. package/dist/commands/chunk-NVMV7BYX.js +88 -0
  294. package/dist/commands/chunk-NYWPTYGL.js +169 -0
  295. package/dist/commands/chunk-NZ45KOLL.js +104 -0
  296. package/dist/commands/chunk-O45BX4EL.js +39 -0
  297. package/dist/commands/chunk-O46T4ANI.js +229 -0
  298. package/dist/commands/chunk-O5JGV7NA.js +245 -0
  299. package/dist/commands/chunk-O7ESC4HL.js +566 -0
  300. package/dist/commands/chunk-OBYLXHCH.js +86 -0
  301. package/dist/commands/chunk-OHN3QARP.js +769 -0
  302. package/dist/commands/chunk-OKBZGLD5.js +393 -0
  303. package/dist/commands/chunk-OKN63ZH5.js +109 -0
  304. package/dist/commands/chunk-ON4IKRGS.js +469 -0
  305. package/dist/commands/chunk-OT74RSQO.js +82 -0
  306. package/dist/commands/chunk-OVCVINYW.js +143 -0
  307. package/dist/commands/chunk-OZKLVTYI.js +342 -0
  308. package/dist/commands/chunk-OZN4HOZT.js +74 -0
  309. package/dist/commands/chunk-P3LJ2Q4N.js +555 -0
  310. package/dist/commands/chunk-P43GWYR6.js +185 -0
  311. package/dist/commands/chunk-P6ASP2DY.js +132 -0
  312. package/dist/commands/chunk-PBAEJ5PT.js +38 -0
  313. package/dist/commands/chunk-PCZROH3R.js +100 -0
  314. package/dist/commands/chunk-PJYTUUTH.js +34 -0
  315. package/dist/commands/chunk-PKXTISWR.js +58 -0
  316. package/dist/commands/chunk-PSGLUBSB.js +74 -0
  317. package/dist/commands/chunk-PUQA7F6Y.js +186 -0
  318. package/dist/commands/chunk-PVRDJU2B.js +126 -0
  319. package/dist/commands/chunk-Q3HM2BEH.js +45 -0
  320. package/dist/commands/chunk-Q42NF2TL.js +47 -0
  321. package/dist/commands/chunk-Q4ULMZAS.js +106 -0
  322. package/dist/commands/chunk-QCRUPRQ2.js +207 -0
  323. package/dist/commands/chunk-QFIKPGMC.js +280 -0
  324. package/dist/commands/chunk-QSBYULSS.js +100 -0
  325. package/dist/commands/chunk-QSJCZATC.js +18 -0
  326. package/dist/commands/chunk-QTJPCXEW.js +23 -0
  327. package/dist/commands/chunk-QTQAI2M2.js +179 -0
  328. package/dist/commands/chunk-QTVVFV4Q.js +127 -0
  329. package/dist/commands/chunk-QX2EMUXV.js +102 -0
  330. package/dist/commands/chunk-QXBOECGL.js +272 -0
  331. package/dist/commands/chunk-QXCG3SG4.js +88 -0
  332. package/dist/commands/chunk-QZVMGAWV.js +307 -0
  333. package/dist/commands/chunk-R36VZIKU.js +53 -0
  334. package/dist/commands/chunk-R3F7F3TX.js +94 -0
  335. package/dist/commands/chunk-R5AABJZJ.js +1062 -0
  336. package/dist/commands/chunk-R7PYR4HW.js +389 -0
  337. package/dist/commands/chunk-RAQ3E6OT.js +258 -0
  338. package/dist/commands/chunk-RESNXNDG.js +54 -0
  339. package/dist/commands/chunk-RFIOZTXY.js +305 -0
  340. package/dist/commands/chunk-RFWB2KAV.js +102 -0
  341. package/dist/commands/chunk-RFXON3FK.js +25 -0
  342. package/dist/commands/chunk-RGEB5L37.js +66 -0
  343. package/dist/commands/chunk-RGRLLF2J.js +119 -0
  344. package/dist/commands/chunk-RLRIMYXM.js +178 -0
  345. package/dist/commands/chunk-RNB3DQOZ.js +70 -0
  346. package/dist/commands/chunk-RO4QEZJO.js +172 -0
  347. package/dist/commands/chunk-RS5HBJY6.js +161 -0
  348. package/dist/commands/chunk-RV7EQIE4.js +202 -0
  349. package/dist/commands/chunk-RWPCK3CO.js +41 -0
  350. package/dist/commands/chunk-RWYSVFIA.js +250 -0
  351. package/dist/commands/chunk-RYKK75YT.js +289 -0
  352. package/dist/commands/chunk-S4JE63QE.js +704 -0
  353. package/dist/commands/chunk-S4OZJIXD.js +134 -0
  354. package/dist/commands/chunk-S5GX3H4P.js +91 -0
  355. package/dist/commands/chunk-SC57VV6A.js +60 -0
  356. package/dist/commands/chunk-SD4EX75H.js +177 -0
  357. package/dist/commands/chunk-SJITWFNY.js +480 -0
  358. package/dist/commands/chunk-SKGDMAIA.js +33 -0
  359. package/dist/commands/chunk-SNSZ25XZ.js +393 -0
  360. package/dist/commands/chunk-SOETJZWH.js +7672 -0
  361. package/dist/commands/chunk-SQZZHK6X.js +119 -0
  362. package/dist/commands/chunk-SRTEE34O.js +93 -0
  363. package/dist/commands/chunk-SYTCTLMD.js +285 -0
  364. package/dist/commands/chunk-T6JUDQMW.js +181 -0
  365. package/dist/commands/chunk-TEXUEBGE.js +208 -0
  366. package/dist/commands/chunk-TFDVTU6O.js +910 -0
  367. package/dist/commands/chunk-TFYYXETQ.js +472 -0
  368. package/dist/commands/chunk-TMFKVJUW.js +121 -0
  369. package/dist/commands/chunk-TNJU4CXD.js +32 -0
  370. package/dist/commands/chunk-TRHWBUWE.js +61 -0
  371. package/dist/commands/chunk-TROCFVCU.js +45 -0
  372. package/dist/commands/chunk-TUBBESHU.js +85 -0
  373. package/dist/commands/chunk-TVZIFZZN.js +62 -0
  374. package/dist/commands/chunk-TXRWAL63.js +144 -0
  375. package/dist/commands/chunk-U46YTYJQ.js +92 -0
  376. package/dist/commands/chunk-U5EO4QEV.js +48 -0
  377. package/dist/commands/chunk-UCO333EX.js +47 -0
  378. package/dist/commands/chunk-UIXQ4IYT.js +445 -0
  379. package/dist/commands/chunk-UJGNYPMD.js +716 -0
  380. package/dist/commands/chunk-URZ4RDC4.js +220 -0
  381. package/dist/commands/chunk-UUA63LCI.js +77 -0
  382. package/dist/commands/chunk-UUH3DE77.js +57 -0
  383. package/dist/commands/chunk-UVY5ODCM.js +60 -0
  384. package/dist/commands/chunk-UWMB6EOU.js +45 -0
  385. package/dist/commands/chunk-UY62WJV6.js +120 -0
  386. package/dist/commands/chunk-UZDKCGDC.js +198 -0
  387. package/dist/commands/chunk-VAHQ4AFM.js +585 -0
  388. package/dist/commands/chunk-VCWNMRH7.js +71 -0
  389. package/dist/commands/chunk-VL5I2IOD.js +332 -0
  390. package/dist/commands/chunk-VLN6TSPJ.js +139 -0
  391. package/dist/commands/chunk-VMG3QB6C.js +81 -0
  392. package/dist/commands/chunk-VO25PMGS.js +58 -0
  393. package/dist/commands/chunk-VPRQFM2T.js +37 -0
  394. package/dist/commands/chunk-VTLWODJ2.js +133 -0
  395. package/dist/commands/chunk-VUCDGQ6Y.js +260 -0
  396. package/dist/commands/chunk-VY7ZJMDT.js +469 -0
  397. package/dist/commands/chunk-W4BR6QNU.js +1241 -0
  398. package/dist/commands/chunk-W7X7MZZN.js +449 -0
  399. package/dist/commands/chunk-WCYRNNKF.js +76 -0
  400. package/dist/commands/chunk-WEUUJIWQ.js +84 -0
  401. package/dist/commands/chunk-WNBJK6QE.js +84 -0
  402. package/dist/commands/chunk-WORHUJ6T.js +73 -0
  403. package/dist/commands/chunk-WR5PKCQW.js +61 -0
  404. package/dist/commands/chunk-WR73HTRG.js +121 -0
  405. package/dist/commands/chunk-WRHMYSW7.js +36 -0
  406. package/dist/commands/chunk-WRNMUQTD.js +95 -0
  407. package/dist/commands/chunk-WROJTXWZ.js +138 -0
  408. package/dist/commands/chunk-WTIPX5NG.js +43 -0
  409. package/dist/commands/chunk-WWLCQREY.js +225 -0
  410. package/dist/commands/chunk-WXLW7S4M.js +71 -0
  411. package/dist/commands/chunk-WXXLJQBO.js +67 -0
  412. package/dist/commands/chunk-X4LYH6Q4.js +56 -0
  413. package/dist/commands/chunk-XAEL24EG.js +66 -0
  414. package/dist/commands/chunk-XDR2BRDL.js +216 -0
  415. package/dist/commands/chunk-XRQMVAB4.js +85 -0
  416. package/dist/commands/chunk-XUXCFPDK.js +218 -0
  417. package/dist/commands/chunk-XXPDFJRI.js +48 -0
  418. package/dist/commands/chunk-Y6OGDG5I.js +49 -0
  419. package/dist/commands/chunk-YANDBVAT.js +430 -0
  420. package/dist/commands/chunk-YD7XK2TX.js +550 -0
  421. package/dist/commands/chunk-YEAE46TS.js +98 -0
  422. package/dist/commands/chunk-YEQFAEVW.js +112 -0
  423. package/dist/commands/chunk-YJZAD4Z5.js +103 -0
  424. package/dist/commands/chunk-YNCF66RK.js +1052 -0
  425. package/dist/commands/chunk-YOA25SII.js +210 -0
  426. package/dist/commands/chunk-YOZTZMAT.js +38 -0
  427. package/dist/commands/chunk-YSGRHVZG.js +897 -0
  428. package/dist/commands/chunk-YSLGWRQN.js +646 -0
  429. package/dist/commands/chunk-YT5JR2CB.js +105 -0
  430. package/dist/commands/chunk-YTXCLGGL.js +168 -0
  431. package/dist/commands/chunk-YVHJN2HS.js +74 -0
  432. package/dist/commands/chunk-YY7XVVSB.js +43 -0
  433. package/dist/commands/chunk-Z2NUK47W.js +1314 -0
  434. package/dist/commands/chunk-Z5GZV4DV.js +16 -0
  435. package/dist/commands/chunk-ZB52ZIEA.js +1629 -0
  436. package/dist/commands/chunk-ZCD4AV2P.js +73 -0
  437. package/dist/commands/chunk-ZCHZU6NX.js +799 -0
  438. package/dist/commands/chunk-ZEH2B3DF.js +239 -0
  439. package/dist/commands/chunk-ZGANVZCA.js +92 -0
  440. package/dist/commands/chunk-ZGEUWHFF.js +297 -0
  441. package/dist/commands/chunk-ZHSNQ2F7.js +161 -0
  442. package/dist/commands/chunk-ZI3SABMH.js +347 -0
  443. package/dist/commands/chunk-ZIIUBGON.js +773 -0
  444. package/dist/commands/chunk-ZJJLROJY.js +269 -0
  445. package/dist/commands/chunk-ZNIIA275.js +59 -0
  446. package/dist/commands/chunk-ZV6BZZJ2.js +271 -0
  447. package/dist/commands/ci-timing-cli.js +22 -3
  448. package/dist/commands/code-symbol-cli.js +21 -7
  449. package/dist/commands/codex-hook-adapter.js +124 -119
  450. package/dist/commands/command-derive.js +9 -11
  451. package/dist/commands/cost-audit-main.js +118 -119
  452. package/dist/commands/cost-main.js +5 -7
  453. package/dist/commands/cspell-cached.js +55 -57
  454. package/dist/commands/defect-origin-main.js +42 -37
  455. package/dist/commands/defect-report-main.js +33 -25
  456. package/dist/commands/diff-summary-cli.js +3 -4
  457. package/dist/commands/disposition-cli.js +117 -118
  458. package/dist/commands/doctor.js +24 -11
  459. package/dist/commands/document-read-cli.js +50 -53
  460. package/dist/commands/document-section-main.js +50 -53
  461. package/dist/commands/dogfood-commit-cli.js +19 -4
  462. package/dist/commands/effect-audit-cli.js +40 -41
  463. package/dist/commands/epic-audit-main.js +88 -86
  464. package/dist/commands/epic-bundle-main.js +122 -119
  465. package/dist/commands/epic-check.js +37 -31
  466. package/dist/commands/epic-main.js +129 -126
  467. package/dist/commands/epic-next-main.js +85 -83
  468. package/dist/commands/eval-run.js +6 -7
  469. package/dist/commands/format-edited-cli.js +71 -46
  470. package/dist/commands/format.js +41 -56
  471. package/dist/commands/fresh-machine-cli.js +24 -7
  472. package/dist/commands/gh-usage-cli.js +22 -22
  473. package/dist/commands/git-followup-workflow.js +170 -159
  474. package/dist/commands/git-gh-checks-failed-main.js +23 -15
  475. package/dist/commands/git-workflow.js +52 -53
  476. package/dist/commands/github-release-cli.js +3 -3
  477. package/dist/commands/hook-ledger-cli.js +93 -94
  478. package/dist/commands/init-main.js +40 -40
  479. package/dist/commands/inputs.json +1999 -1954
  480. package/dist/commands/issue-ack-cli.js +28 -21
  481. package/dist/commands/issue-already-done-cli.js +107 -110
  482. package/dist/commands/issue-body-cli.js +71 -73
  483. package/dist/commands/issue-cite-main.js +35 -28
  484. package/dist/commands/issue-comment-main.js +36 -30
  485. package/dist/commands/issue-consolidate-cli.js +54 -54
  486. package/dist/commands/issue-file-main.js +274 -148
  487. package/dist/commands/issue-fold-existing-cli.js +126 -123
  488. package/dist/commands/issue-fold-main.js +57 -60
  489. package/dist/commands/issue-lint-main.js +59 -61
  490. package/dist/commands/issue-measured-cli.js +108 -110
  491. package/dist/commands/issue-plan-cli.js +156 -155
  492. package/dist/commands/issue-premise-unmet-cli.js +111 -113
  493. package/dist/commands/issue-priority-cli.js +38 -32
  494. package/dist/commands/issue-read-main.js +38 -33
  495. package/dist/commands/issue-release-class-cli.js +37 -31
  496. package/dist/commands/issue-release-main.js +35 -29
  497. package/dist/commands/issue-scout-main.js +123 -120
  498. package/dist/commands/issue-spill-main.js +149 -144
  499. package/dist/commands/issue-state-main.js +36 -31
  500. package/dist/commands/issue-tick-cli.js +37 -31
  501. package/dist/commands/josh-completion.js +21 -24
  502. package/dist/commands/lane-adopt-cli.js +53 -55
  503. package/dist/commands/lane-breakdown-cli.js +193 -172
  504. package/dist/commands/lane-cli.js +199 -180
  505. package/dist/commands/lane-launch-main.js +106 -56
  506. package/dist/commands/lane-limit-cli.js +119 -116
  507. package/dist/commands/lane-measure-cli.js +408 -245
  508. package/dist/commands/lane-pause-cli.js +51 -54
  509. package/dist/commands/lane-plan-cli.js +148 -147
  510. package/dist/commands/lane-resolve-cli.js +48 -50
  511. package/dist/commands/lane-restart-cli.js +185 -168
  512. package/dist/commands/lane-why-cli.js +121 -122
  513. package/dist/commands/lane-withdraw-cli.js +84 -86
  514. package/dist/commands/latest-corepack.js +3 -2
  515. package/dist/commands/latest-if-required-cli.js +12 -15
  516. package/dist/commands/latest-lane-guard-main.js +2 -3
  517. package/dist/commands/latest-scope-main.js +5 -7
  518. package/dist/commands/latest-update.js +3 -2
  519. package/dist/commands/lines-command.js +8 -10
  520. package/dist/commands/lint-parallel-main.js +65 -67
  521. package/dist/commands/lint-related.js +149 -133
  522. package/dist/commands/lint-rule.js +64 -66
  523. package/dist/commands/lockfile-policy.js +29 -32
  524. package/dist/commands/main-merge-main.js +23 -25
  525. package/dist/commands/main-sync-main.js +23 -24
  526. package/dist/commands/managed-config-scope-cli.js +11 -10
  527. package/dist/commands/measure-rerun-cli.js +31 -26
  528. package/dist/commands/metrics-command.js +97 -100
  529. package/dist/commands/observation-record-cli.js +24 -14
  530. package/dist/commands/observations-flush-cli.js +50 -52
  531. package/dist/commands/overrides-check.js +1 -1
  532. package/dist/commands/package-scout-cli.js +70 -73
  533. package/dist/commands/pin-verify-cli.js +21 -2
  534. package/dist/commands/plan-consumers-main.js +3 -4
  535. package/dist/commands/plan-scaffold-cli.js +145 -146
  536. package/dist/commands/pr-classification-main.js +22 -3
  537. package/dist/commands/pre-commit-lint.js +30 -34
  538. package/dist/commands/pre-commit-type-check.js +55 -55
  539. package/dist/commands/pre-push-unit.js +69 -70
  540. package/dist/commands/pretool-guard-cli.js +111 -113
  541. package/dist/commands/prevent-main-commit.js +2 -3
  542. package/dist/commands/project-profile-cli.js +24 -9
  543. package/dist/commands/propagate.js +31 -23
  544. package/dist/commands/prose-stale-cli.js +48 -42
  545. package/dist/commands/publishable-range-check.js +3 -3
  546. package/dist/commands/read-set-cli.js +58 -61
  547. package/dist/commands/refactor-scan-cli.js +8 -9
  548. package/dist/commands/release-cli.js +57 -57
  549. package/dist/commands/release-scope-main.js +41 -36
  550. package/dist/commands/rename-cli.js +64 -36
  551. package/dist/commands/repo-party-cli.js +3 -4
  552. package/dist/commands/report-template-cli.js +4 -5
  553. package/dist/commands/reserved-run.js +17 -20
  554. package/dist/commands/retrospective-cli.js +126 -127
  555. package/dist/commands/review-attest-cli.js +28 -20
  556. package/dist/commands/review-brief-main.js +184 -167
  557. package/dist/commands/review-findings-cli.js +23 -13
  558. package/dist/commands/review-pair-cli.js +180 -156
  559. package/dist/commands/review-record-main.js +171 -147
  560. package/dist/commands/review-round2-cli.js +89 -91
  561. package/dist/commands/review-stops-cli.js +51 -54
  562. package/dist/commands/review-submit-cli.js +184 -167
  563. package/dist/commands/rule-list.js +78 -80
  564. package/dist/commands/rule-value-cli.js +115 -116
  565. package/dist/commands/ruleset-check-cli.js +23 -6
  566. package/dist/commands/run-add-cli.js +115 -75
  567. package/dist/commands/run-board-main.js +173 -169
  568. package/dist/commands/run-carry-cli.js +182 -174
  569. package/dist/commands/run-chain-cli.js +184 -160
  570. package/dist/commands/run-cut-cli.js +206 -168
  571. package/dist/commands/run-ending-cli.js +51 -54
  572. package/dist/commands/run-entry-cli.js +230 -283
  573. package/dist/commands/run-event-cli.js +18 -21
  574. package/dist/commands/run-handoff-cli.js +75 -78
  575. package/dist/commands/run-handoff-lanes-cli.js +48 -51
  576. package/dist/commands/run-hold-main.js +105 -107
  577. package/dist/commands/run-liveness-cli.js +47 -49
  578. package/dist/commands/run-merge-main.js +159 -151
  579. package/dist/commands/run-next-cli.js +128 -129
  580. package/dist/commands/run-park-cli.js +137 -140
  581. package/dist/commands/run-pause-cli.js +190 -186
  582. package/dist/commands/run-pickup-cli.js +49 -52
  583. package/dist/commands/run-prep-main.js +124 -125
  584. package/dist/commands/run-prime-cli.js +175 -147
  585. package/dist/commands/run-progress-main.js +149 -146
  586. package/dist/commands/run-report-cli.js +60 -60
  587. package/dist/commands/run-review-cli.js +229 -214
  588. package/dist/commands/run-ship-cli.js +258 -252
  589. package/dist/commands/run-ship-evidence-cli.js +71 -72
  590. package/dist/commands/run-ship-lap-W66LTXJJ.js +28 -0
  591. package/dist/commands/run-ship-wait-main.js +83 -85
  592. package/dist/commands/run-split-cli.js +176 -172
  593. package/dist/commands/run-stale-main.js +72 -75
  594. package/dist/commands/run-status-cli.js +44 -44
  595. package/dist/commands/run-step-cli.js +213 -211
  596. package/dist/commands/run-tail-cli.js +23 -18
  597. package/dist/commands/run-tidy-main.js +67 -69
  598. package/dist/commands/run-wake-main.js +206 -187
  599. package/dist/commands/run-watcher-guard-cli.js +63 -66
  600. package/dist/commands/security-audit-main.js +21 -24
  601. package/dist/commands/security-audit-provision-main.js +9 -11
  602. package/dist/commands/selfcheck-cli.js +63 -57
  603. package/dist/commands/session-language-main.js +70 -73
  604. package/dist/commands/sonar-hotspots-cli.js +9 -8
  605. package/dist/commands/sonar-new-code-cli.js +3 -4
  606. package/dist/commands/split-assess-cli.js +55 -58
  607. package/dist/commands/split-child-recover-cli.js +38 -39
  608. package/dist/commands/start.js +64 -64
  609. package/dist/commands/stash-pop-main.js +4 -5
  610. package/dist/commands/stash-push-main.js +7 -9
  611. package/dist/commands/stop-guard.js +180 -176
  612. package/dist/commands/sync-main.js +30 -15
  613. package/dist/commands/telegram-test-main.js +29 -22
  614. package/dist/commands/test-declared.js +29 -15
  615. package/dist/commands/test-e2e-guard.js +54 -54
  616. package/dist/commands/test-pinned-main.js +57 -56
  617. package/dist/commands/test-reach-cli.js +40 -32
  618. package/dist/commands/test-red-main.js +12 -14
  619. package/dist/commands/test-related-XBDH2IOH.js +113 -0
  620. package/dist/commands/test-related-main.js +89 -89
  621. package/dist/commands/test-unit-guard-main.js +37 -37
  622. package/dist/commands/time-cli.js +54 -57
  623. package/dist/commands/time-density-cli.js +26 -29
  624. package/dist/commands/tree-status-cli.js +6 -8
  625. package/dist/commands/type-check-command.js +26 -11
  626. package/dist/commands/ui-routes-cli.js +5 -6
  627. package/dist/commands/ui-shot-cli.js +1 -1
  628. package/dist/commands/uninstall.js +44 -43
  629. package/dist/commands/unused-members-KVKZDTXD.js +329 -0
  630. package/dist/commands/unused-members-cli.js +27 -12
  631. package/dist/commands/upstream-interrupt-main.js +159 -151
  632. package/dist/commands/verification-gate.js +85 -86
  633. package/dist/commands/version-check.js +25 -8
  634. package/dist/hooks/chunk-3SA3FIQC.js +6869 -0
  635. package/dist/hooks/chunk-46PTTMGE.js +1625 -0
  636. package/dist/hooks/chunk-5NIBRHWG.js +77 -0
  637. package/dist/hooks/chunk-76QKN2K3.js +258 -0
  638. package/dist/hooks/chunk-CHEKMGFP.js +321 -0
  639. package/dist/hooks/chunk-DCILEVDR.js +5173 -0
  640. package/dist/hooks/chunk-HVNGIM5W.js +5092 -0
  641. package/dist/hooks/chunk-L6IZZ2IL.js +11219 -0
  642. package/dist/hooks/chunk-UZXMFOVK.js +9170 -0
  643. package/dist/hooks/chunk-WCJ2GWYJ.js +1381 -0
  644. package/dist/hooks/chunk-YRKS5ZKE.js +1915 -0
  645. package/dist/hooks/codex-hook-adapter.js +11 -12
  646. package/dist/hooks/daemon.js +2140 -1387
  647. package/dist/hooks/format-edited.js +6 -6
  648. package/dist/hooks/inputs.json +543 -518
  649. package/dist/hooks/pretool-guard.js +8 -8
  650. package/dist/hooks/run-ship-lap-P5555IG7.js +8 -0
  651. package/dist/hooks/session-lang.js +9 -7
  652. package/dist/hooks/stop-guard.js +970 -668
  653. package/dist/inputs.json +77 -68
  654. package/dist/josh.js +1029 -577
  655. package/dist/registry-migrate.mjs +33938 -0
  656. package/dist/version/index.js +4251 -175
  657. package/package.json +4 -1
  658. package/prompts/collaboration-workflow/principles.md +4 -1
  659. package/prompts/collaboration-workflow/rule-delivery.md +1 -1
  660. package/scripts/agent/codex-launch-identity.ts +70 -0
  661. package/scripts/auto-ok/auto-ok-cli.ts +2 -0
  662. package/scripts/auto-ok/auto-ok-judge-write.ts +2 -0
  663. package/scripts/auto-ok/auto-ok-judge.ts +3 -1
  664. package/scripts/backlog/backlog-arrival.ts +1 -1
  665. package/scripts/backlog/backlog-budget.ts +5 -2
  666. package/scripts/backlog/backlog-defect-priority.ts +1 -1
  667. package/scripts/backlog/backlog-dispatch-bound.ts +17 -0
  668. package/scripts/backlog/backlog-drain-flush.ts +38 -3
  669. package/scripts/backlog/backlog-drive-cli.ts +1 -1
  670. package/scripts/backlog/backlog-drive-hold.ts +28 -5
  671. package/scripts/backlog/backlog-drive-launch.ts +37 -15
  672. package/scripts/backlog/backlog-drive-listing.ts +39 -23
  673. package/scripts/backlog/backlog-drive-retrospective-unit.ts +3 -2
  674. package/scripts/backlog/backlog-drive-split-unit.ts +1 -0
  675. package/scripts/backlog/backlog-hold-codes.ts +7 -0
  676. package/scripts/backlog/backlog-hold-text.ts +14 -1
  677. package/scripts/backlog/backlog-measure-close.ts +6 -0
  678. package/scripts/backlog/backlog-next-shared.ts +20 -2
  679. package/scripts/backlog/backlog-next.ts +24 -3
  680. package/scripts/backlog/backlog-offer-cli.ts +69 -16
  681. package/scripts/build/build-migration.ts +25 -0
  682. package/scripts/build/build.ts +2 -0
  683. package/scripts/epic/epic-classify.ts +6 -1
  684. package/scripts/epic/epic-live.ts +46 -0
  685. package/scripts/followup/followup-failed-tests.ts +71 -10
  686. package/scripts/followup/followup-job-rerun.ts +2 -2
  687. package/scripts/followup/git-followup-finish.ts +16 -1
  688. package/scripts/gate/change-scope-action.integration.test.ts +88 -0
  689. package/scripts/gate/change-scope-action.ts +2 -0
  690. package/scripts/gate/check-related-order.ts +6 -7
  691. package/scripts/gate/check-related.ts +18 -8
  692. package/scripts/gate/core-admission.ts +17 -30
  693. package/scripts/gate/core-budget-poll.ts +183 -0
  694. package/scripts/gate/core-budget-timing.ts +1 -1
  695. package/scripts/gate/core-budget.ts +24 -112
  696. package/scripts/gate/core-wait-record.ts +52 -7
  697. package/scripts/gate/machine-capacity.ts +6 -2
  698. package/scripts/gate/metrics-totals.ts +11 -0
  699. package/scripts/gate/path-glob.test.ts +18 -0
  700. package/scripts/gate/toolchain-inputs.consumer.test.ts +36 -0
  701. package/scripts/gate/verification-inputs.ts +2 -1
  702. package/scripts/gh/fix-gh-packages-logic.ts +22 -15
  703. package/scripts/gh/gh-request-tally.ts +4 -0
  704. package/scripts/hooks/bash-revert.ts +79 -31
  705. package/scripts/hooks/format-edited-file.ts +6 -8
  706. package/scripts/hooks/implementation-shell.ts +3 -2
  707. package/scripts/init/distributed-paths.ts +18 -5
  708. package/scripts/init/init-actions.ts +16 -1
  709. package/scripts/init/init-bootstrap.ts +2 -0
  710. package/scripts/init/init-logic.ts +40 -8
  711. package/scripts/init/init.ts +11 -3
  712. package/scripts/issue/defect-rate-cli.ts +19 -13
  713. package/scripts/issue/issue-file-batch.ts +7 -3
  714. package/scripts/issue/issue-file-cli.ts +19 -6
  715. package/scripts/issue/issue-file-main.ts +6 -1
  716. package/scripts/issue/issue-file-pass.ts +17 -0
  717. package/scripts/issue/issue-file.ts +3 -0
  718. package/scripts/issue/issue-not-before.ts +9 -2
  719. package/scripts/issue/issue-observation-gate.ts +141 -0
  720. package/scripts/issue/issue-observation-prime.ts +83 -0
  721. package/scripts/issue/issue-publication-state.ts +61 -0
  722. package/scripts/issue/issue-publication.ts +144 -0
  723. package/scripts/issue/issue-sample-prime.ts +2 -0
  724. package/scripts/issue/issue-search-count.ts +26 -0
  725. package/scripts/issue/issue-search.ts +128 -3
  726. package/scripts/issue/issue-spill-cli.ts +4 -0
  727. package/scripts/issue/upstream-interrupt-cli.ts +21 -5
  728. package/scripts/josh/josh-commands-ai.ts +1 -1
  729. package/scripts/josh/josh-commands-development.ts +1 -1
  730. package/scripts/josh/josh-commands-issue-write.ts +9 -0
  731. package/scripts/josh/josh-commands-run.ts +6 -1
  732. package/scripts/josh/josh-commands-ship.ts +5 -5
  733. package/scripts/josh/josh-run.ts +5 -2
  734. package/scripts/josh/shared-cache.ts +16 -1
  735. package/scripts/lane/lane-await.ts +15 -0
  736. package/scripts/lane/lane-cli.ts +2 -0
  737. package/scripts/lane/lane-dispatch-dependency.ts +102 -0
  738. package/scripts/lane/lane-dispatch-wait-stats.ts +239 -0
  739. package/scripts/lane/lane-dispatch.ts +44 -5
  740. package/scripts/lane/lane-early-push-count.ts +21 -0
  741. package/scripts/lane/lane-install.ts +15 -5
  742. package/scripts/lane/lane-launch-cli.ts +35 -14
  743. package/scripts/lane/lane-ledger-kind.ts +2 -0
  744. package/scripts/lane/lane-ledger-schema-ship.ts +5 -1
  745. package/scripts/lane/lane-ledger-schema.ts +15 -1
  746. package/scripts/lane/lane-ledger-write.ts +4 -1
  747. package/scripts/lane/lane-relaunch.ts +25 -2
  748. package/scripts/lane/lane-state-record.ts +2 -0
  749. package/scripts/lane/lane-state.ts +8 -1
  750. package/scripts/lane/lane-stats-tables.ts +2 -0
  751. package/scripts/lane/openai-lane-supervisor.ts +16 -1
  752. package/scripts/lib/inherited-scope.ts +48 -0
  753. package/scripts/lint/format-steps.ts +93 -0
  754. package/scripts/lint/format.ts +6 -49
  755. package/scripts/lint/lint-related-fix.ts +35 -0
  756. package/scripts/lint/lint-related.ts +22 -35
  757. package/scripts/propagate/propagate-steps.ts +9 -4
  758. package/scripts/registry-migration/migrate-cli.ts +50 -0
  759. package/scripts/registry-migration/migrate-files.ts +154 -0
  760. package/scripts/registry-migration/migrate-lock.ts +147 -0
  761. package/scripts/registry-migration/migrate.ts +235 -0
  762. package/scripts/registry-migration/npm-acquisition.ts +118 -0
  763. package/scripts/review/review-record-cli.ts +27 -13
  764. package/scripts/review/review-record-pinned.ts +15 -6
  765. package/scripts/run/add/run-add-cli.ts +21 -3
  766. package/scripts/run/add/run-add.ts +26 -9
  767. package/scripts/run/board/run-board-layout.ts +11 -6
  768. package/scripts/run/board/run-board-read.ts +29 -69
  769. package/scripts/run/board/run-board-reason.ts +12 -0
  770. package/scripts/run/board/run-board-render-lanes.ts +26 -9
  771. package/scripts/run/board/run-board-render-lead.ts +9 -0
  772. package/scripts/run/board/run-board-retry-wait.ts +35 -0
  773. package/scripts/run/board/run-board-root-layout.ts +69 -0
  774. package/scripts/run/board/run-board-seat.ts +9 -2
  775. package/scripts/run/board/run-board-setup.ts +6 -4
  776. package/scripts/run/board/run-board-single.ts +69 -4
  777. package/scripts/run/board/run-board-span-read.ts +85 -0
  778. package/scripts/run/board/run-board-tick.ts +12 -4
  779. package/scripts/run/carry/run-carry-reclaim.ts +12 -2
  780. package/scripts/run/carry/run-carry-session.ts +48 -0
  781. package/scripts/run/carry/run-carry.ts +21 -14
  782. package/scripts/run/cut/run-cut-resume.ts +15 -3
  783. package/scripts/run/cut/run-cut.ts +1 -1
  784. package/scripts/run/detached-launch.ts +14 -5
  785. package/scripts/run/early-push-record.ts +6 -2
  786. package/scripts/run/event/run-event-setup.ts +2 -0
  787. package/scripts/run/event/run-event-stream-emit.ts +27 -7
  788. package/scripts/run/hold/run-hold-cli.ts +40 -5
  789. package/scripts/run/hold/run-hold-ended.ts +50 -0
  790. package/scripts/run/merge/run-merge-cut-release.ts +17 -0
  791. package/scripts/run/merge/run-merge-human-review.ts +6 -0
  792. package/scripts/run/merge/run-merge-steps.ts +4 -57
  793. package/scripts/run/merge/run-merge-waits.ts +54 -0
  794. package/scripts/run/prime/run-prime-cli.ts +16 -2
  795. package/scripts/run/review/run-review-cli.ts +5 -7
  796. package/scripts/run/review/run-review-early-push.ts +19 -8
  797. package/scripts/run/review/run-review-join-read.ts +33 -6
  798. package/scripts/run/review/run-review-pinned-remaining.ts +124 -0
  799. package/scripts/run/review/run-review-pinned-steps.ts +7 -1
  800. package/scripts/run/run-halfrun-resume.ts +49 -6
  801. package/scripts/run/run-headless.ts +3 -0
  802. package/scripts/run/run-pr-return.ts +14 -5
  803. package/scripts/run/run-repair-attempt.ts +219 -0
  804. package/scripts/run/ship/run-ship-lap.ts +5 -17
  805. package/scripts/run/ship/run-ship-pre-detach-pinned.ts +4 -13
  806. package/scripts/run/ship/run-ship-scoped.ts +66 -30
  807. package/scripts/run/startup/run-startup-schema.ts +31 -0
  808. package/scripts/run/startup/run-startup-store.ts +130 -0
  809. package/scripts/run/startup/run-startup.ts +119 -0
  810. package/scripts/run/wake/run-wake-codex.ts +144 -0
  811. package/scripts/run/wake/run-wake-driver.ts +32 -7
  812. package/scripts/run/wake/run-wake-handoff.ts +9 -8
  813. package/scripts/run/wake/run-wake-loop.ts +23 -3
  814. package/scripts/run/wake/run-wake-ports.ts +17 -3
  815. package/scripts/run/wake/run-wake-takeover.ts +6 -3
  816. package/scripts/run/wake/run-wake-window.ts +4 -1
  817. package/scripts/run/wake/run-wake.ts +5 -0
  818. package/scripts/sync/sync-ai-files.ts +17 -0
  819. package/scripts/sync/sync-configs.ts +11 -1
  820. package/scripts/sync/sync.ts +5 -1
  821. package/scripts/test/test-pinned-cache-logic.ts +13 -7
  822. package/scripts/test/test-pinned-cache.ts +33 -11
  823. package/scripts/test/test-related-cap.ts +7 -3
  824. package/scripts/test/test-related-imports.ts +92 -0
  825. package/scripts/test/test-runner-config.ts +19 -0
  826. package/scripts/test/vitest-failure-summary.ts +7 -0
  827. package/scripts/version/npm-registry.ts +45 -7
  828. package/scripts/version/upgrade-shell-command.ts +34 -2
  829. package/templates/workflows/ci.yml +0 -15
  830. package/templates/workflows/github-release.yml +0 -5
  831. package/dist/commands/chunk-23GH6B3D.js +0 -333
  832. package/dist/commands/chunk-24OATKOF.js +0 -7534
  833. package/dist/commands/chunk-24ZDAWML.js +0 -48
  834. package/dist/commands/chunk-2BB5ZR2F.js +0 -128
  835. package/dist/commands/chunk-2BJJUTZA.js +0 -59
  836. package/dist/commands/chunk-2CXT6MBR.js +0 -51
  837. package/dist/commands/chunk-2DJLAUYB.js +0 -109
  838. package/dist/commands/chunk-2EZTYLO4.js +0 -179
  839. package/dist/commands/chunk-2FJJYCBD.js +0 -149
  840. package/dist/commands/chunk-2PHOLX62.js +0 -43
  841. package/dist/commands/chunk-2QM72JCJ.js +0 -338
  842. package/dist/commands/chunk-2VRITY55.js +0 -41
  843. package/dist/commands/chunk-2XAH3MHV.js +0 -23
  844. package/dist/commands/chunk-34KZDKQJ.js +0 -304
  845. package/dist/commands/chunk-352KLSFX.js +0 -67
  846. package/dist/commands/chunk-36LOGVJ7.js +0 -38
  847. package/dist/commands/chunk-3AEDZZNL.js +0 -223
  848. package/dist/commands/chunk-3B2HEFNO.js +0 -51
  849. package/dist/commands/chunk-3PEXBHRN.js +0 -33
  850. package/dist/commands/chunk-3Z425MM3.js +0 -61
  851. package/dist/commands/chunk-3ZOX4G4U.js +0 -88
  852. package/dist/commands/chunk-452HWOJ7.js +0 -395
  853. package/dist/commands/chunk-475EFIJV.js +0 -178
  854. package/dist/commands/chunk-47UZB54M.js +0 -73
  855. package/dist/commands/chunk-4DN4XVPL.js +0 -716
  856. package/dist/commands/chunk-4DVM57T7.js +0 -86
  857. package/dist/commands/chunk-4EADHJVC.js +0 -247
  858. package/dist/commands/chunk-4HERA2GY.js +0 -95
  859. package/dist/commands/chunk-4JI35CVO.js +0 -70
  860. package/dist/commands/chunk-4L4LNWZ7.js +0 -143
  861. package/dist/commands/chunk-4N32QKJZ.js +0 -170
  862. package/dist/commands/chunk-4NRSFLG7.js +0 -185
  863. package/dist/commands/chunk-4OKRPAUT.js +0 -98
  864. package/dist/commands/chunk-4PUKDAXL.js +0 -42
  865. package/dist/commands/chunk-4Q64PG46.js +0 -478
  866. package/dist/commands/chunk-4UDTQVDD.js +0 -278
  867. package/dist/commands/chunk-4WR2LEZL.js +0 -123
  868. package/dist/commands/chunk-4ZJOC6OK.js +0 -298
  869. package/dist/commands/chunk-4ZQM4I7R.js +0 -533
  870. package/dist/commands/chunk-54X37JEJ.js +0 -170
  871. package/dist/commands/chunk-56KW5EOK.js +0 -85
  872. package/dist/commands/chunk-5CG3XU3O.js +0 -74
  873. package/dist/commands/chunk-5ESZLHDZ.js +0 -514
  874. package/dist/commands/chunk-5FBRMARM.js +0 -578
  875. package/dist/commands/chunk-5RG4S66L.js +0 -47
  876. package/dist/commands/chunk-5UJGACVN.js +0 -137
  877. package/dist/commands/chunk-5Y7B7FDL.js +0 -44
  878. package/dist/commands/chunk-5Z6E5ZUV.js +0 -89
  879. package/dist/commands/chunk-5ZNUH4LV.js +0 -1722
  880. package/dist/commands/chunk-5ZTQX7OS.js +0 -125
  881. package/dist/commands/chunk-66NX6EXR.js +0 -29
  882. package/dist/commands/chunk-66TGK5XL.js +0 -84
  883. package/dist/commands/chunk-6CFHLMKM.js +0 -555
  884. package/dist/commands/chunk-6DDK5XWK.js +0 -74
  885. package/dist/commands/chunk-6GQX752S.js +0 -145
  886. package/dist/commands/chunk-6HRRZANN.js +0 -55
  887. package/dist/commands/chunk-6MAZ55GF.js +0 -1241
  888. package/dist/commands/chunk-6OP63TBT.js +0 -78
  889. package/dist/commands/chunk-6Q3XUCLM.js +0 -204
  890. package/dist/commands/chunk-6RUWU2SB.js +0 -45
  891. package/dist/commands/chunk-6UCWAFQY.js +0 -245
  892. package/dist/commands/chunk-6WKJ3GDA.js +0 -408
  893. package/dist/commands/chunk-6YURRFRU.js +0 -461
  894. package/dist/commands/chunk-6YVURZAJ.js +0 -350
  895. package/dist/commands/chunk-6Z4YZG7P.js +0 -169
  896. package/dist/commands/chunk-77BIN247.js +0 -122
  897. package/dist/commands/chunk-7ABHNNY3.js +0 -529
  898. package/dist/commands/chunk-7C7FOKJK.js +0 -115
  899. package/dist/commands/chunk-7HAGC6SW.js +0 -1062
  900. package/dist/commands/chunk-7KKUFLH5.js +0 -56
  901. package/dist/commands/chunk-7LJQMM2K.js +0 -102
  902. package/dist/commands/chunk-7MJYLUF4.js +0 -99
  903. package/dist/commands/chunk-7NHZCI5Y.js +0 -704
  904. package/dist/commands/chunk-7OQ56DVW.js +0 -239
  905. package/dist/commands/chunk-7VWPGTZO.js +0 -260
  906. package/dist/commands/chunk-7YZXS3AK.js +0 -30
  907. package/dist/commands/chunk-A4HOQKOG.js +0 -85
  908. package/dist/commands/chunk-A6T2N7VC.js +0 -159
  909. package/dist/commands/chunk-AAUDI7WJ.js +0 -250
  910. package/dist/commands/chunk-AC26ZUG5.js +0 -259
  911. package/dist/commands/chunk-ACZ52JPI.js +0 -140
  912. package/dist/commands/chunk-AJ65WNJB.js +0 -230
  913. package/dist/commands/chunk-AK7SEO4Y.js +0 -177
  914. package/dist/commands/chunk-AKK56GNX.js +0 -205
  915. package/dist/commands/chunk-AKQYYHP2.js +0 -461
  916. package/dist/commands/chunk-ALDAS2WG.js +0 -137
  917. package/dist/commands/chunk-ANUTT56I.js +0 -85
  918. package/dist/commands/chunk-AVVMDVGO.js +0 -68
  919. package/dist/commands/chunk-B3M5WSGN.js +0 -72
  920. package/dist/commands/chunk-B7ZNIEDV.js +0 -351
  921. package/dist/commands/chunk-BCUDQWYK.js +0 -77
  922. package/dist/commands/chunk-BF6YX4HE.js +0 -70
  923. package/dist/commands/chunk-BHRS7HAM.js +0 -272
  924. package/dist/commands/chunk-BIKGPT52.js +0 -29
  925. package/dist/commands/chunk-BJA5U4Q7.js +0 -75
  926. package/dist/commands/chunk-BMKWSWWE.js +0 -126
  927. package/dist/commands/chunk-BMTYUJNT.js +0 -59
  928. package/dist/commands/chunk-BRHPRDDV.js +0 -127
  929. package/dist/commands/chunk-BRUBX64M.js +0 -33
  930. package/dist/commands/chunk-BTZJDHQT.js +0 -46
  931. package/dist/commands/chunk-BYFC6MD2.js +0 -72
  932. package/dist/commands/chunk-BYGJ3BCJ.js +0 -803
  933. package/dist/commands/chunk-C2SEDMZ3.js +0 -238
  934. package/dist/commands/chunk-C54QXJD6.js +0 -4208
  935. package/dist/commands/chunk-C6QSVO5K.js +0 -56
  936. package/dist/commands/chunk-CBAKBWSZ.js +0 -332
  937. package/dist/commands/chunk-CFHRNTE5.js +0 -326
  938. package/dist/commands/chunk-CGLLAEKZ.js +0 -110
  939. package/dist/commands/chunk-CHKYPF5O.js +0 -82
  940. package/dist/commands/chunk-CJBW6BWG.js +0 -800
  941. package/dist/commands/chunk-CJKPF5DJ.js +0 -156
  942. package/dist/commands/chunk-CKUKK7JG.js +0 -252
  943. package/dist/commands/chunk-CMHGDCGN.js +0 -263
  944. package/dist/commands/chunk-CNGTHSUS.js +0 -750
  945. package/dist/commands/chunk-CP2J4RV2.js +0 -3987
  946. package/dist/commands/chunk-CQZI7RIK.js +0 -72
  947. package/dist/commands/chunk-CWCKCZS6.js +0 -188
  948. package/dist/commands/chunk-D5HIP4HT.js +0 -289
  949. package/dist/commands/chunk-D6D6WQR6.js +0 -125
  950. package/dist/commands/chunk-D7JRJI44.js +0 -297
  951. package/dist/commands/chunk-D7OAU32Z.js +0 -119
  952. package/dist/commands/chunk-DAAX7XDS.js +0 -1208
  953. package/dist/commands/chunk-DBKTFB5V.js +0 -18
  954. package/dist/commands/chunk-DEZF7QZZ.js +0 -184
  955. package/dist/commands/chunk-DMD74E3F.js +0 -39
  956. package/dist/commands/chunk-DPJVKTO4.js +0 -41
  957. package/dist/commands/chunk-DXJQHJQ4.js +0 -73
  958. package/dist/commands/chunk-DYZOOWVW.js +0 -912
  959. package/dist/commands/chunk-EBI2BAKQ.js +0 -47
  960. package/dist/commands/chunk-EDKOSZ3K.js +0 -88
  961. package/dist/commands/chunk-EFDVE5P5.js +0 -121
  962. package/dist/commands/chunk-EGIHAEMT.js +0 -72
  963. package/dist/commands/chunk-EKLU6QR7.js +0 -507
  964. package/dist/commands/chunk-ELY76WAR.js +0 -65
  965. package/dist/commands/chunk-EM3HAZF6.js +0 -52
  966. package/dist/commands/chunk-EMTZAGT5.js +0 -51
  967. package/dist/commands/chunk-ENKFCOVY.js +0 -472
  968. package/dist/commands/chunk-ERG4QRNG.js +0 -224
  969. package/dist/commands/chunk-EUGNQCYK.js +0 -139
  970. package/dist/commands/chunk-EW4NPUMQ.js +0 -363
  971. package/dist/commands/chunk-EWVR5AEX.js +0 -140
  972. package/dist/commands/chunk-EXDFKKMH.js +0 -113
  973. package/dist/commands/chunk-EXWB34R2.js +0 -238
  974. package/dist/commands/chunk-EYMPBHDN.js +0 -61
  975. package/dist/commands/chunk-EZ7IPKIH.js +0 -20
  976. package/dist/commands/chunk-EZSO25UZ.js +0 -80
  977. package/dist/commands/chunk-F6IQHZYY.js +0 -94
  978. package/dist/commands/chunk-FDS65XOJ.js +0 -212
  979. package/dist/commands/chunk-FFHEGWPK.js +0 -91
  980. package/dist/commands/chunk-FGL6DBZU.js +0 -71
  981. package/dist/commands/chunk-FHFWNNUC.js +0 -144
  982. package/dist/commands/chunk-FIUCHMCF.js +0 -32
  983. package/dist/commands/chunk-FJX7AENO.js +0 -74
  984. package/dist/commands/chunk-FKZ5E4JD.js +0 -97
  985. package/dist/commands/chunk-FMZWRDKH.js +0 -302
  986. package/dist/commands/chunk-FOKCRIAN.js +0 -67
  987. package/dist/commands/chunk-FQGWO2ZH.js +0 -43
  988. package/dist/commands/chunk-FROACLVU.js +0 -525
  989. package/dist/commands/chunk-FURNDIT3.js +0 -34
  990. package/dist/commands/chunk-FVDQNMP6.js +0 -93
  991. package/dist/commands/chunk-FVVZIJUC.js +0 -425
  992. package/dist/commands/chunk-FWU3H4TX.js +0 -17
  993. package/dist/commands/chunk-G3HBYHFA.js +0 -16
  994. package/dist/commands/chunk-G4E4M2P4.js +0 -299
  995. package/dist/commands/chunk-G5KSL2Q2.js +0 -151
  996. package/dist/commands/chunk-G6XC7V6Y.js +0 -58
  997. package/dist/commands/chunk-GCPP5XIG.js +0 -90
  998. package/dist/commands/chunk-GITT5A5A.js +0 -198
  999. package/dist/commands/chunk-GJYMI2CM.js +0 -48
  1000. package/dist/commands/chunk-GLC47H7I.js +0 -285
  1001. package/dist/commands/chunk-GUR54ELE.js +0 -328
  1002. package/dist/commands/chunk-GW4UWR3O.js +0 -126
  1003. package/dist/commands/chunk-GY4DMCKS.js +0 -306
  1004. package/dist/commands/chunk-H6JQRHDC.js +0 -80
  1005. package/dist/commands/chunk-HATKF6VX.js +0 -173
  1006. package/dist/commands/chunk-HG2NZQD5.js +0 -135
  1007. package/dist/commands/chunk-HH3CVIFU.js +0 -93
  1008. package/dist/commands/chunk-HHMMGDMP.js +0 -469
  1009. package/dist/commands/chunk-HI5WPM6C.js +0 -127
  1010. package/dist/commands/chunk-HQGNXR6I.js +0 -245
  1011. package/dist/commands/chunk-HTIDHEEN.js +0 -108
  1012. package/dist/commands/chunk-HVCQYZVD.js +0 -38
  1013. package/dist/commands/chunk-HWEZRNPL.js +0 -66
  1014. package/dist/commands/chunk-HX3FFIO5.js +0 -74
  1015. package/dist/commands/chunk-HXDTA5VU.js +0 -208
  1016. package/dist/commands/chunk-I2KCGKJI.js +0 -107
  1017. package/dist/commands/chunk-I63RNFFR.js +0 -213
  1018. package/dist/commands/chunk-IAD4WLLI.js +0 -98
  1019. package/dist/commands/chunk-IB5TT73I.js +0 -177
  1020. package/dist/commands/chunk-IBAYXCMU.js +0 -156
  1021. package/dist/commands/chunk-IGDJNXX2.js +0 -49
  1022. package/dist/commands/chunk-ILGPZ47M.js +0 -33
  1023. package/dist/commands/chunk-IYJEBWW5.js +0 -44
  1024. package/dist/commands/chunk-J22PSIXR.js +0 -418
  1025. package/dist/commands/chunk-J66YBAAM.js +0 -161
  1026. package/dist/commands/chunk-J6WKZRV2.js +0 -391
  1027. package/dist/commands/chunk-J7IO3AYH.js +0 -179
  1028. package/dist/commands/chunk-JAKC2BHX.js +0 -88
  1029. package/dist/commands/chunk-JCAQ7B6J.js +0 -124
  1030. package/dist/commands/chunk-JHN6RCE6.js +0 -123
  1031. package/dist/commands/chunk-JIGBNCDR.js +0 -88
  1032. package/dist/commands/chunk-JJHWTFWQ.js +0 -76
  1033. package/dist/commands/chunk-JJRKTWLK.js +0 -64
  1034. package/dist/commands/chunk-JKOGWGQM.js +0 -92
  1035. package/dist/commands/chunk-JM6EVOFN.js +0 -172
  1036. package/dist/commands/chunk-JQXPLMCO.js +0 -81
  1037. package/dist/commands/chunk-JV24VP2O.js +0 -81
  1038. package/dist/commands/chunk-JVKXJ763.js +0 -45
  1039. package/dist/commands/chunk-K275REYP.js +0 -37
  1040. package/dist/commands/chunk-K4G3HOKS.js +0 -105
  1041. package/dist/commands/chunk-K64EIHD2.js +0 -138
  1042. package/dist/commands/chunk-KB3OQWDT.js +0 -71
  1043. package/dist/commands/chunk-KCFOP5RI.js +0 -1310
  1044. package/dist/commands/chunk-KGE4AS2Y.js +0 -134
  1045. package/dist/commands/chunk-KIILCKQR.js +0 -220
  1046. package/dist/commands/chunk-KK2SL42W.js +0 -241
  1047. package/dist/commands/chunk-KKIMVXAP.js +0 -280
  1048. package/dist/commands/chunk-KODXWMBX.js +0 -77
  1049. package/dist/commands/chunk-KPSKWTOS.js +0 -208
  1050. package/dist/commands/chunk-KVHNQHX3.js +0 -100
  1051. package/dist/commands/chunk-KWYQR5MK.js +0 -269
  1052. package/dist/commands/chunk-KXHXMERX.js +0 -214
  1053. package/dist/commands/chunk-KZ5BBBMO.js +0 -271
  1054. package/dist/commands/chunk-KZ7HD37E.js +0 -121
  1055. package/dist/commands/chunk-KZSM5M5P.js +0 -89
  1056. package/dist/commands/chunk-KZZWPUJW.js +0 -25
  1057. package/dist/commands/chunk-L7DAL54N.js +0 -347
  1058. package/dist/commands/chunk-LAR76BFA.js +0 -114
  1059. package/dist/commands/chunk-LB557AHJ.js +0 -192
  1060. package/dist/commands/chunk-LJXKVLYI.js +0 -229
  1061. package/dist/commands/chunk-LOOFYHUM.js +0 -773
  1062. package/dist/commands/chunk-LQXFVZTS.js +0 -13
  1063. package/dist/commands/chunk-LT7QSHR4.js +0 -995
  1064. package/dist/commands/chunk-LUXWDMKI.js +0 -426
  1065. package/dist/commands/chunk-LWAXXZPS.js +0 -118
  1066. package/dist/commands/chunk-LX7TIEMI.js +0 -1612
  1067. package/dist/commands/chunk-LZ5QXE5N.js +0 -244
  1068. package/dist/commands/chunk-LZPPSOTP.js +0 -122
  1069. package/dist/commands/chunk-M4UV3BEV.js +0 -313
  1070. package/dist/commands/chunk-M6JDU5EK.js +0 -133
  1071. package/dist/commands/chunk-MDLOETXL.js +0 -211
  1072. package/dist/commands/chunk-MFBNNTBM.js +0 -44
  1073. package/dist/commands/chunk-MGF64OHV.js +0 -32
  1074. package/dist/commands/chunk-MI2OS6TL.js +0 -132
  1075. package/dist/commands/chunk-MLW4S35K.js +0 -389
  1076. package/dist/commands/chunk-MN425CU6.js +0 -63
  1077. package/dist/commands/chunk-MPGJ4ONJ.js +0 -634
  1078. package/dist/commands/chunk-MRORPFSO.js +0 -402
  1079. package/dist/commands/chunk-MUGTOJUL.js +0 -319
  1080. package/dist/commands/chunk-MVHPRYHE.js +0 -91
  1081. package/dist/commands/chunk-MWO6FOSZ.js +0 -393
  1082. package/dist/commands/chunk-MXC4IBZ7.js +0 -104
  1083. package/dist/commands/chunk-N7QTMTST.js +0 -210
  1084. package/dist/commands/chunk-NDBX7LSS.js +0 -32
  1085. package/dist/commands/chunk-NEGJ77RV.js +0 -173
  1086. package/dist/commands/chunk-NEGRE5VW.js +0 -101
  1087. package/dist/commands/chunk-NFPD2P3V.js +0 -53
  1088. package/dist/commands/chunk-NHIW7JE6.js +0 -335
  1089. package/dist/commands/chunk-NILSN7A4.js +0 -158
  1090. package/dist/commands/chunk-NOLFSPOB.js +0 -74
  1091. package/dist/commands/chunk-NSAVEXVR.js +0 -353
  1092. package/dist/commands/chunk-NT67QTZO.js +0 -65
  1093. package/dist/commands/chunk-NU7W6QGT.js +0 -155
  1094. package/dist/commands/chunk-NYWGJLBU.js +0 -19
  1095. package/dist/commands/chunk-OAAVY2JK.js +0 -49
  1096. package/dist/commands/chunk-OGS2DK7I.js +0 -47
  1097. package/dist/commands/chunk-OHNP3QL2.js +0 -186
  1098. package/dist/commands/chunk-OIPV3PWW.js +0 -870
  1099. package/dist/commands/chunk-OIX2363L.js +0 -16
  1100. package/dist/commands/chunk-OJ65BZBV.js +0 -646
  1101. package/dist/commands/chunk-OKZWEVR4.js +0 -352
  1102. package/dist/commands/chunk-OL6IF4JC.js +0 -20
  1103. package/dist/commands/chunk-OMPRILFH.js +0 -29
  1104. package/dist/commands/chunk-OOWGH2RG.js +0 -85
  1105. package/dist/commands/chunk-OP2RFVLS.js +0 -102
  1106. package/dist/commands/chunk-ORKVN2LO.js +0 -56
  1107. package/dist/commands/chunk-OSBWXZJ4.js +0 -492
  1108. package/dist/commands/chunk-OT3UMEWK.js +0 -47
  1109. package/dist/commands/chunk-OVWPZDWP.js +0 -64
  1110. package/dist/commands/chunk-OWYK2BEJ.js +0 -1222
  1111. package/dist/commands/chunk-OX3VQLV2.js +0 -488
  1112. package/dist/commands/chunk-OZJP77UM.js +0 -103
  1113. package/dist/commands/chunk-OZZWRJQI.js +0 -246
  1114. package/dist/commands/chunk-P3H3DKTE.js +0 -69
  1115. package/dist/commands/chunk-P4D5RESF.js +0 -88
  1116. package/dist/commands/chunk-P4KIQRSL.js +0 -119
  1117. package/dist/commands/chunk-P5SOYWH2.js +0 -37
  1118. package/dist/commands/chunk-P7FPXAHP.js +0 -29
  1119. package/dist/commands/chunk-PE7B7242.js +0 -84
  1120. package/dist/commands/chunk-PFO7EYAP.js +0 -45
  1121. package/dist/commands/chunk-PHLOTUB7.js +0 -366
  1122. package/dist/commands/chunk-PTNQCCIB.js +0 -41
  1123. package/dist/commands/chunk-PTZEFQUX.js +0 -211
  1124. package/dist/commands/chunk-Q5Q2QYVU.js +0 -112
  1125. package/dist/commands/chunk-Q7EEIOAD.js +0 -120
  1126. package/dist/commands/chunk-QABRNGQV.js +0 -88
  1127. package/dist/commands/chunk-QAHFPCFR.js +0 -50
  1128. package/dist/commands/chunk-QDFVVRQP.js +0 -92
  1129. package/dist/commands/chunk-QGAERR7D.js +0 -99
  1130. package/dist/commands/chunk-QHWJJ6X5.js +0 -53
  1131. package/dist/commands/chunk-QJRVDE7T.js +0 -307
  1132. package/dist/commands/chunk-QMDKDQKW.js +0 -114
  1133. package/dist/commands/chunk-QOSC5RKD.js +0 -18
  1134. package/dist/commands/chunk-QQ4CIYMF.js +0 -132
  1135. package/dist/commands/chunk-QV5FKMOU.js +0 -80
  1136. package/dist/commands/chunk-QWWTC3XR.js +0 -109
  1137. package/dist/commands/chunk-QXQ56E56.js +0 -27
  1138. package/dist/commands/chunk-R54Z2Z3X.js +0 -114
  1139. package/dist/commands/chunk-R6QE5VJG.js +0 -46
  1140. package/dist/commands/chunk-RG53UFNW.js +0 -418
  1141. package/dist/commands/chunk-RGGEQM6G.js +0 -140
  1142. package/dist/commands/chunk-RH6ZWJOA.js +0 -77
  1143. package/dist/commands/chunk-RHKCWJQX.js +0 -62
  1144. package/dist/commands/chunk-RKIAX4DZ.js +0 -191
  1145. package/dist/commands/chunk-RLBFEHHC.js +0 -300
  1146. package/dist/commands/chunk-RN2YDNLF.js +0 -229
  1147. package/dist/commands/chunk-RRAIRS2T.js +0 -54
  1148. package/dist/commands/chunk-RS764ZMU.js +0 -46
  1149. package/dist/commands/chunk-RUIBQMOV.js +0 -38
  1150. package/dist/commands/chunk-RUQY5TS3.js +0 -83
  1151. package/dist/commands/chunk-RVUJ6F5L.js +0 -181
  1152. package/dist/commands/chunk-RW64VHEB.js +0 -130
  1153. package/dist/commands/chunk-RXYMJPJB.js +0 -114
  1154. package/dist/commands/chunk-S4M6UWR2.js +0 -103
  1155. package/dist/commands/chunk-SASX3W2M.js +0 -99
  1156. package/dist/commands/chunk-SFNBUB6D.js +0 -110
  1157. package/dist/commands/chunk-SJ2ZN575.js +0 -90
  1158. package/dist/commands/chunk-SP7DKYGU.js +0 -1263
  1159. package/dist/commands/chunk-SSL6A3Y4.js +0 -165
  1160. package/dist/commands/chunk-SVAKCXZ7.js +0 -44
  1161. package/dist/commands/chunk-SYOXIKB7.js +0 -705
  1162. package/dist/commands/chunk-SZG5HDNP.js +0 -321
  1163. package/dist/commands/chunk-T25S4QHL.js +0 -52
  1164. package/dist/commands/chunk-T4F33UKZ.js +0 -114
  1165. package/dist/commands/chunk-T4UYEHWG.js +0 -50
  1166. package/dist/commands/chunk-TAEGXID2.js +0 -58
  1167. package/dist/commands/chunk-TCBUX52E.js +0 -701
  1168. package/dist/commands/chunk-TEPYEUYG.js +0 -585
  1169. package/dist/commands/chunk-TFLHYC2F.js +0 -141
  1170. package/dist/commands/chunk-TJKM56WJ.js +0 -109
  1171. package/dist/commands/chunk-TLAB552K.js +0 -445
  1172. package/dist/commands/chunk-TP6L4W3W.js +0 -82
  1173. package/dist/commands/chunk-TR7WWYD5.js +0 -60
  1174. package/dist/commands/chunk-TVZXG4Y4.js +0 -197
  1175. package/dist/commands/chunk-TYNH2R66.js +0 -1150
  1176. package/dist/commands/chunk-U3IVVR4W.js +0 -33
  1177. package/dist/commands/chunk-U5P6G3UV.js +0 -77
  1178. package/dist/commands/chunk-U7XU5RG3.js +0 -86
  1179. package/dist/commands/chunk-UKBBWMLE.js +0 -1189
  1180. package/dist/commands/chunk-ULVVGGTY.js +0 -64
  1181. package/dist/commands/chunk-UNMSZGSG.js +0 -269
  1182. package/dist/commands/chunk-URDT2O2K.js +0 -36
  1183. package/dist/commands/chunk-UTHUX7VU.js +0 -88
  1184. package/dist/commands/chunk-V4Z7G4UH.js +0 -73
  1185. package/dist/commands/chunk-V5FD7DVV.js +0 -48
  1186. package/dist/commands/chunk-VCPGFBMN.js +0 -655
  1187. package/dist/commands/chunk-VGPIQNDB.js +0 -24
  1188. package/dist/commands/chunk-VJE3RJAX.js +0 -23
  1189. package/dist/commands/chunk-VK6D5CWA.js +0 -161
  1190. package/dist/commands/chunk-VOF3N4WO.js +0 -114
  1191. package/dist/commands/chunk-VQVPAVQ3.js +0 -45
  1192. package/dist/commands/chunk-VV4TQYGD.js +0 -38
  1193. package/dist/commands/chunk-W3FX7FYN.js +0 -84
  1194. package/dist/commands/chunk-W7DRUOF7.js +0 -122
  1195. package/dist/commands/chunk-WAEN2RTT.js +0 -161
  1196. package/dist/commands/chunk-WCEUMOKK.js +0 -84
  1197. package/dist/commands/chunk-WJ4NEDNI.js +0 -288
  1198. package/dist/commands/chunk-WMMGXJXP.js +0 -92
  1199. package/dist/commands/chunk-WOFLW2LX.js +0 -26
  1200. package/dist/commands/chunk-WTH6NTXU.js +0 -128
  1201. package/dist/commands/chunk-WWVYEHQT.js +0 -272
  1202. package/dist/commands/chunk-X3TNPALI.js +0 -213
  1203. package/dist/commands/chunk-XC6GG5JR.js +0 -78
  1204. package/dist/commands/chunk-XDF25GSU.js +0 -536
  1205. package/dist/commands/chunk-XFPEUYDV.js +0 -67
  1206. package/dist/commands/chunk-XFWI6WHH.js +0 -60
  1207. package/dist/commands/chunk-XGMRAKSL.js +0 -85
  1208. package/dist/commands/chunk-XHGWMD3L.js +0 -104
  1209. package/dist/commands/chunk-XKSUBUIH.js +0 -116
  1210. package/dist/commands/chunk-XPBF5DG3.js +0 -419
  1211. package/dist/commands/chunk-XUMYPESL.js +0 -160
  1212. package/dist/commands/chunk-XXC32PVL.js +0 -541
  1213. package/dist/commands/chunk-XXN2EZBY.js +0 -133
  1214. package/dist/commands/chunk-XXNEY4B3.js +0 -110
  1215. package/dist/commands/chunk-Y27PTXXI.js +0 -258
  1216. package/dist/commands/chunk-Y4EBUI6M.js +0 -237
  1217. package/dist/commands/chunk-YAU3LYNF.js +0 -60
  1218. package/dist/commands/chunk-YDURQICF.js +0 -204
  1219. package/dist/commands/chunk-YGFOGA7C.js +0 -1153
  1220. package/dist/commands/chunk-YHJ2AJMA.js +0 -66
  1221. package/dist/commands/chunk-YIA6FC3K.js +0 -78
  1222. package/dist/commands/chunk-YM77CF4D.js +0 -183
  1223. package/dist/commands/chunk-YNPRJCEO.js +0 -81
  1224. package/dist/commands/chunk-YTBQAD5W.js +0 -170
  1225. package/dist/commands/chunk-YVH2OLDS.js +0 -104
  1226. package/dist/commands/chunk-ZAAHZY2A.js +0 -19
  1227. package/dist/commands/chunk-ZBZ5DDCH.js +0 -1866
  1228. package/dist/commands/chunk-ZLRUHSOP.js +0 -48
  1229. package/dist/commands/chunk-ZNR75OXP.js +0 -444
  1230. package/dist/commands/chunk-ZSOR4ISJ.js +0 -75
  1231. package/dist/commands/chunk-ZVAIIHBE.js +0 -63
  1232. package/dist/commands/chunk-ZYFHYQA7.js +0 -51
  1233. package/dist/commands/chunk-ZZFFSQF4.js +0 -218
  1234. package/dist/commands/chunk-ZZULXNC2.js +0 -47
  1235. package/dist/commands/chunk-ZZXO6TFH.js +0 -232
  1236. package/dist/commands/run-ship-lap-W5T2VHFC.js +0 -30
  1237. package/dist/commands/test-related-ZCNC46MS.js +0 -113
  1238. package/dist/commands/unused-members-STULPRBU.js +0 -331
  1239. package/dist/hooks/chunk-5CUXGQT6.js +0 -8353
  1240. package/dist/hooks/chunk-5R5YFQR5.js +0 -931
  1241. package/dist/hooks/chunk-6RLY27FT.js +0 -232
  1242. package/dist/hooks/chunk-6YGMIODI.js +0 -86
  1243. package/dist/hooks/chunk-AO4TOV4V.js +0 -5026
  1244. package/dist/hooks/chunk-FOW4B7OQ.js +0 -1795
  1245. package/dist/hooks/chunk-G5WSPYJ6.js +0 -5663
  1246. package/dist/hooks/chunk-HHIVWGHX.js +0 -6869
  1247. package/dist/hooks/chunk-IURJANNZ.js +0 -1082
  1248. package/dist/hooks/chunk-OV22V63P.js +0 -10980
  1249. package/dist/hooks/chunk-SXABK6UV.js +0 -321
  1250. package/dist/hooks/run-ship-lap-VCEOUHQI.js +0 -8
@@ -0,0 +1,1381 @@
1
+ import {
2
+ core_weights,
3
+ package_version_schema,
4
+ project_checks,
5
+ resolve_local_bin,
6
+ resolve_package_bin,
7
+ unit_worker_share
8
+ } from "./chunk-L6IZZ2IL.js";
9
+ import {
10
+ ESLINT_RELATED_CACHE_FILE,
11
+ ESLINT_RELATED_CACHE_FLAGS,
12
+ PRETTIER_RELATED_CACHE_FLAGS,
13
+ changed_paths,
14
+ find_package_directory,
15
+ package_manifest,
16
+ poll,
17
+ process_owner_schema
18
+ } from "./chunk-UZXMFOVK.js";
19
+ import {
20
+ lane_ledger_write,
21
+ lane_paths,
22
+ process_identity
23
+ } from "./chunk-YRKS5ZKE.js";
24
+ import {
25
+ MS_PER_SECOND,
26
+ PLATFORM_TEMP_ROOT,
27
+ PROBE_TIMEOUT_MS,
28
+ execa,
29
+ external_exports,
30
+ git_command,
31
+ json_value,
32
+ stamp_file
33
+ } from "./chunk-CY3ADSDR.js";
34
+
35
+ // scripts/gate/toolchain-inputs.ts
36
+ import { createHash } from "node:crypto";
37
+ import { existsSync, readdirSync, readFileSync } from "node:fs";
38
+ import path from "node:path";
39
+ var PACKAGE_FILES = [
40
+ "package.json",
41
+ "pnpm-lock.yaml",
42
+ "pnpm-workspace.yaml",
43
+ "package-lock.json",
44
+ "yarn.lock",
45
+ "bun.lock",
46
+ "bun.lockb",
47
+ ".npmrc",
48
+ "node_modules/.modules.yaml"
49
+ ];
50
+ var CONFIG_ENTRIES = [
51
+ /^eslint\.config\.[cm]?[jt]s$/u,
52
+ /^tsconfig(?:\.[\w-]+)?\.json$/u
53
+ ];
54
+ var CONFIG_DIRECTORIES = /* @__PURE__ */ new Set(["eslint", "tsconfig"]);
55
+ var TEST_MARKER = ".test.";
56
+ var SEPARATOR = "/";
57
+ var DIGEST_ALGORITHM = "sha256";
58
+ function by_code_unit(left, right) {
59
+ if (left === right) return 0;
60
+ return left < right ? -1 : 1;
61
+ }
62
+ function to_posix(relative) {
63
+ return relative.split(path.sep).join(SEPARATOR);
64
+ }
65
+ function is_config_entry(name) {
66
+ return CONFIG_ENTRIES.some((entry) => entry.test(name));
67
+ }
68
+ function is_config_module(relative) {
69
+ const [top = ""] = relative.split(SEPARATOR, 1);
70
+ return CONFIG_DIRECTORIES.has(top) && !path.basename(relative).includes(TEST_MARKER);
71
+ }
72
+ function is_input(relative) {
73
+ const posix = to_posix(relative);
74
+ if (PACKAGE_FILES.includes(posix)) return true;
75
+ return is_config_entry(posix) || is_config_module(posix);
76
+ }
77
+ function modules_under(root, directory) {
78
+ const absolute = path.join(root, directory);
79
+ if (!existsSync(absolute)) return [];
80
+ return readdirSync(absolute, { recursive: true, withFileTypes: true }).filter((entry) => entry.isFile()).map((entry) => to_posix(path.relative(root, path.join(entry.parentPath, entry.name)))).filter((relative) => is_config_module(relative));
81
+ }
82
+ function paths(root) {
83
+ const present = PACKAGE_FILES.filter((relative) => existsSync(path.join(root, relative)));
84
+ const entries = readdirSync(root).filter((name) => is_config_entry(name));
85
+ const modules = [...CONFIG_DIRECTORIES].flatMap((directory) => modules_under(root, directory));
86
+ return [...present, ...entries, ...modules].toSorted(by_code_unit);
87
+ }
88
+ function read_or_empty(file) {
89
+ try {
90
+ return readFileSync(file);
91
+ } catch {
92
+ return new Uint8Array();
93
+ }
94
+ }
95
+ function digest(root) {
96
+ const hash = createHash(DIGEST_ALGORITHM);
97
+ for (const relative of paths(root)) {
98
+ hash.update(`${relative}\0`).update(read_or_empty(path.join(root, relative))).update("\0");
99
+ }
100
+ return hash.digest("hex");
101
+ }
102
+ var toolchain_inputs = { digest, is_input, PACKAGE_FILES, paths };
103
+
104
+ // scripts/run/board/run-board-usage-rusage.ts
105
+ var PROC_LIBRARY = "/usr/lib/libproc.dylib";
106
+ var SYSTEM_LIBRARY = "/usr/lib/libSystem.B.dylib";
107
+ var RUSAGE_INFO_V2 = 2;
108
+ var RUSAGE_INFO_V2_BYTES = 160;
109
+ var USER_TIME_OFFSET = 16;
110
+ var SYSTEM_TIME_OFFSET = 24;
111
+ var CHILD_USER_TIME_OFFSET = 96;
112
+ var CHILD_SYSTEM_TIME_OFFSET = 104;
113
+ var PHYS_FOOTPRINT_OFFSET = 72;
114
+ var TIME_OFFSETS = [
115
+ USER_TIME_OFFSET,
116
+ SYSTEM_TIME_OFFSET,
117
+ CHILD_USER_TIME_OFFSET,
118
+ CHILD_SYSTEM_TIME_OFFSET
119
+ ];
120
+ var TIMEBASE_BYTES = 8;
121
+ var DENOM_OFFSET = 4;
122
+ var NS_PER_MS = 1e6;
123
+ var EXPERIMENTAL_WARNING = "ExperimentalWarning";
124
+ var DARWIN = "darwin";
125
+ var PROC_PID_RUSAGE = {
126
+ proc_pid_rusage: { arguments: ["int32", "int32", "buffer"], return: "int32" }
127
+ };
128
+ var MACH_TIMEBASE_INFO = {
129
+ mach_timebase_info: { arguments: ["buffer"], return: "int32" }
130
+ };
131
+ function cpu_ms_of(buffer, timebase) {
132
+ const ticks = TIME_OFFSETS.reduce(
133
+ (sum, offset) => sum + Number(buffer.readBigUInt64LE(offset)),
134
+ 0
135
+ );
136
+ return ticks * timebase.numer / timebase.denom / NS_PER_MS;
137
+ }
138
+ function quiet_ffi(load) {
139
+ const emit_warning = process.emitWarning;
140
+ process.emitWarning = function quiet(warning, ...rest) {
141
+ if (rest[0] !== EXPERIMENTAL_WARNING) Reflect.apply(emit_warning, process, [warning, ...rest]);
142
+ };
143
+ try {
144
+ return load("node:ffi");
145
+ } finally {
146
+ process.emitWarning = emit_warning;
147
+ }
148
+ }
149
+ function timebase_of(ffi) {
150
+ const buffer = Buffer.alloc(TIMEBASE_BYTES);
151
+ ffi.dlopen(SYSTEM_LIBRARY, MACH_TIMEBASE_INFO).functions.mach_timebase_info(buffer);
152
+ return { numer: buffer.readUInt32LE(0), denom: buffer.readUInt32LE(DENOM_OFFSET) };
153
+ }
154
+ function reader_of(ffi) {
155
+ const timebase = timebase_of(ffi);
156
+ const { proc_pid_rusage } = ffi.dlopen(PROC_LIBRARY, PROC_PID_RUSAGE).functions;
157
+ const buffer = Buffer.alloc(RUSAGE_INFO_V2_BYTES);
158
+ return function read(pid) {
159
+ if (proc_pid_rusage(pid, RUSAGE_INFO_V2, buffer) !== 0) return void 0;
160
+ const footprint_bytes = Number(buffer.readBigUInt64LE(PHYS_FOOTPRINT_OFFSET));
161
+ return { cpu_ms: cpu_ms_of(buffer, timebase), footprint_bytes };
162
+ };
163
+ }
164
+ function load_builtin(id) {
165
+ return process.getBuiltinModule(id);
166
+ }
167
+ function rusage_reader(platform, load) {
168
+ if (platform !== DARWIN) return void 0;
169
+ try {
170
+ const ffi = quiet_ffi(load);
171
+ return ffi === void 0 ? void 0 : reader_of(ffi);
172
+ } catch {
173
+ return void 0;
174
+ }
175
+ }
176
+ var run_board_usage_rusage = { cpu_ms_of, load_builtin, quiet_ffi, rusage_reader };
177
+
178
+ // scripts/lint/lint-related-scope.ts
179
+ import path3 from "node:path";
180
+
181
+ // scripts/git/changed-file-scope.ts
182
+ import path2 from "node:path";
183
+ var UNREADABLE_REASON = "the changed files could not be read";
184
+ var LISTED_FILE_LIMIT = 10;
185
+ async function repository_root_or_cwd() {
186
+ try {
187
+ return await git_command.repository_root();
188
+ } catch {
189
+ return process.cwd();
190
+ }
191
+ }
192
+ async function read_changed_files(root) {
193
+ try {
194
+ const relative_paths = await changed_paths.read_changed_paths(false);
195
+ return relative_paths.map((relative) => path2.join(root, relative));
196
+ } catch {
197
+ return void 0;
198
+ }
199
+ }
200
+ function select_files(paths2, inputs) {
201
+ return paths2.filter(
202
+ (file_path) => inputs.is_selectable(file_path) && inputs.is_present(file_path)
203
+ );
204
+ }
205
+ function all_scope(reason) {
206
+ return { mode: "all", files: [], reason };
207
+ }
208
+ function resolve_scope(paths2, inputs) {
209
+ if (paths2 === void 0) return all_scope(UNREADABLE_REASON);
210
+ const files = select_files(paths2, inputs);
211
+ if (files.length === 0) return all_scope(inputs.nothing_reason);
212
+ return { mode: "related", files, reason: `${String(files.length)} changed file(s)` };
213
+ }
214
+ function format_file_list(files, root) {
215
+ const listed = files.slice(0, LISTED_FILE_LIMIT).map((file) => ` - ${path2.relative(root, file)}`);
216
+ const hidden = files.length - listed.length;
217
+ if (hidden > 0) listed.push(` \u2026 and ${String(hidden)} more`);
218
+ return listed.join("\n");
219
+ }
220
+ function describe_scope(scope, root, vocabulary) {
221
+ if (scope.mode === "all") {
222
+ return `${vocabulary.label}: ${scope.reason} \u2014 ${vocabulary.fallback_suffix}.`;
223
+ }
224
+ return `${vocabulary.label}: ${scope.reason} \u2014 ${vocabulary.narrowed_suffix}.
225
+ ${format_file_list(scope.files, root)}`;
226
+ }
227
+ var ARGV_START = 2;
228
+ var FLAG_PREFIX = "-";
229
+ function is_flag(argument) {
230
+ return argument.startsWith(FLAG_PREFIX);
231
+ }
232
+ function explicit_files_of(command_arguments) {
233
+ return command_arguments.filter((argument) => !is_flag(argument));
234
+ }
235
+ function flags_of(command_arguments) {
236
+ return command_arguments.filter((argument) => is_flag(argument));
237
+ }
238
+ async function resolve_command_scope(request) {
239
+ const explicit_files = explicit_files_of(request.command_arguments);
240
+ if (explicit_files.length === 0) {
241
+ return resolve_scope(await read_changed_files(request.root), request.inputs);
242
+ }
243
+ return resolve_scope(
244
+ explicit_files.map((file) => path2.resolve(file)),
245
+ request.inputs
246
+ );
247
+ }
248
+ function report_unusable_arguments(command_arguments, scope, label) {
249
+ const narrowed = new Set(scope.files);
250
+ const unusable = explicit_files_of(command_arguments).filter(
251
+ (file) => !narrowed.has(path2.resolve(file))
252
+ );
253
+ if (unusable.length === 0) return;
254
+ process.stdout.write(`${label}: ignored \u2014 not a file this check reads: ${unusable.join(" ")}
255
+ `);
256
+ }
257
+ var changed_file_scope = {
258
+ ARGV_START,
259
+ LISTED_FILE_LIMIT,
260
+ UNREADABLE_REASON,
261
+ describe_scope,
262
+ flags_of,
263
+ format_file_list,
264
+ is_flag,
265
+ read_changed_files,
266
+ report_unusable_arguments,
267
+ repository_root_or_cwd,
268
+ resolve_command_scope,
269
+ resolve_scope,
270
+ select_files
271
+ };
272
+
273
+ // scripts/lint/lint-related-scope.ts
274
+ var LINTABLE_EXTENSIONS = /* @__PURE__ */ new Set([
275
+ ".ts",
276
+ ".tsx",
277
+ ".mts",
278
+ ".cts",
279
+ ".js",
280
+ ".jsx",
281
+ ".mjs",
282
+ ".cjs",
283
+ ".svelte",
284
+ ".vue",
285
+ ".md",
286
+ ".mdx",
287
+ ".json",
288
+ ".jsonc",
289
+ ".json5",
290
+ ".yaml",
291
+ ".yml",
292
+ ".css",
293
+ ".scss",
294
+ ".less",
295
+ ".html",
296
+ ".graphql",
297
+ ".gql"
298
+ ]);
299
+ var NOTHING_LINTABLE_REASON = "no changed file is one prettier or eslint reads";
300
+ var COMMAND_NAME = "lint:related";
301
+ var COMMAND_LABEL = `josh ${COMMAND_NAME}`;
302
+ var VOCABULARY = {
303
+ label: COMMAND_LABEL,
304
+ fallback_suffix: "checking the whole tree instead",
305
+ narrowed_suffix: "checking only them"
306
+ };
307
+ var PRETTIER_ARGS = ["exec", "prettier", "--check", "--ignore-unknown"];
308
+ var ESLINT_ARGS = ["exec", "eslint"];
309
+ var ESLINT_SCOPED_FLAGS = ["--no-warn-ignored"];
310
+ function is_lintable(file_path) {
311
+ return LINTABLE_EXTENSIONS.has(path3.extname(file_path));
312
+ }
313
+ function scope_inputs(is_present) {
314
+ return { is_present, is_selectable: is_lintable, nothing_reason: NOTHING_LINTABLE_REASON };
315
+ }
316
+ function describe_scope2(scope, root) {
317
+ return changed_file_scope.describe_scope(scope, root, VOCABULARY);
318
+ }
319
+ var RELATED_CACHES = {
320
+ eslint_file: ESLINT_RELATED_CACHE_FILE,
321
+ eslint_flags: ESLINT_RELATED_CACHE_FLAGS,
322
+ prettier_flags: PRETTIER_RELATED_CACHE_FLAGS
323
+ };
324
+ function prettier_arguments(files, caches = RELATED_CACHES, directory = process.cwd()) {
325
+ const targets = project_checks.prettier_targets(directory, files);
326
+ return [...PRETTIER_ARGS, ...targets, ...caches.prettier_flags];
327
+ }
328
+ function eslint_arguments(files, caches = RELATED_CACHES) {
329
+ return [...ESLINT_ARGS, ...files, ...caches.eslint_flags, ...ESLINT_SCOPED_FLAGS];
330
+ }
331
+ var lint_related_scope = {
332
+ COMMAND_LABEL,
333
+ NOTHING_LINTABLE_REASON,
334
+ RELATED_CACHES,
335
+ describe_scope: describe_scope2,
336
+ eslint_arguments,
337
+ is_lintable,
338
+ prettier_arguments,
339
+ scope_inputs
340
+ };
341
+
342
+ // scripts/josh/josh-logic.ts
343
+ import { existsSync as existsSync3 } from "node:fs";
344
+ import path8 from "node:path";
345
+ import { fileURLToPath } from "node:url";
346
+
347
+ // scripts/gate/core-budget.ts
348
+ import { randomUUID } from "node:crypto";
349
+ import { readdirSync as readdirSync2 } from "node:fs";
350
+ import { availableParallelism as availableParallelism2 } from "node:os";
351
+ import path5 from "node:path";
352
+
353
+ // scripts/gate/core-budget-timing.ts
354
+ var POLL_INTERVAL_MS = 50;
355
+ var WAIT_CAP_MS = 12e4;
356
+ var EASE_WINDOW_MS = 3e4;
357
+ async function default_sleep(ms) {
358
+ await new Promise((resolve) => {
359
+ setTimeout(resolve, ms);
360
+ });
361
+ }
362
+ function resolve_cadence(options) {
363
+ return {
364
+ poll_interval_ms: options.poll_interval_ms ?? POLL_INTERVAL_MS,
365
+ wait_cap_ms: options.wait_cap_ms ?? WAIT_CAP_MS,
366
+ ease_window_ms: options.ease_window_ms ?? EASE_WINDOW_MS
367
+ };
368
+ }
369
+ function resolve_timing(options) {
370
+ return {
371
+ now: options.now ?? Date.now,
372
+ sleep: options.sleep ?? default_sleep,
373
+ ...resolve_cadence(options)
374
+ };
375
+ }
376
+ var core_budget_timing = { WAIT_CAP_MS, resolve_timing };
377
+
378
+ // scripts/gate/core-admission.ts
379
+ var RAMP_UP_MS = 3e4;
380
+ var BYPASS_WINDOW_MS = 3e4;
381
+ var WAIT_CAP_SHARE = 0.5;
382
+ var HEAVIER_BYPASS_WINDOW_MS = core_budget_timing.WAIT_CAP_MS * WAIT_CAP_SHARE;
383
+ var MIN_GRANT = 1;
384
+ var NARROW_DIVISOR = 2;
385
+ function priority_rank(reservation) {
386
+ return reservation.is_priority === true ? 0 : 1;
387
+ }
388
+ function compare_claim(left, right) {
389
+ const by_priority = priority_rank(left.reservation) - priority_rank(right.reservation);
390
+ if (by_priority !== 0) return by_priority;
391
+ const by_time = left.reservation.claimed_at - right.reservation.claimed_at;
392
+ return by_time === 0 ? left.key.localeCompare(right.key) : by_time;
393
+ }
394
+ function add_load(totals, reservation) {
395
+ totals.cores += reservation.granted ?? reservation.weight;
396
+ totals.memory_mb += reservation.memory_mb ?? 0;
397
+ }
398
+ function exceeds(totals, budget) {
399
+ return totals.cores > budget.cores || totals.memory_mb > budget.memory_mb;
400
+ }
401
+ function sum_load(reservations) {
402
+ const load = { cores: 0, memory_mb: 0 };
403
+ for (const entry of reservations) add_load(load, entry.reservation);
404
+ return load;
405
+ }
406
+ function is_waiting(entry) {
407
+ return entry.reservation.admitted_at === void 0;
408
+ }
409
+ function fits(entries, limit) {
410
+ return !exceeds(sum_load(entries), limit);
411
+ }
412
+ function place(key, reservations) {
413
+ const ordered = reservations.toSorted(compare_claim);
414
+ const index = ordered.findIndex((entry) => entry.key === key);
415
+ const own = ordered[index];
416
+ if (own === void 0) return void 0;
417
+ return {
418
+ own,
419
+ is_oldest: index === 0,
420
+ ahead: ordered.slice(0, index).filter((entry) => is_waiting(entry)),
421
+ running: ordered.filter((entry) => entry.key !== key && !is_waiting(entry))
422
+ };
423
+ }
424
+ function first_waiter_limit(budget) {
425
+ if (budget.is_overloaded === true) return budget;
426
+ return { cores: budget.cores + (budget.busy_excess ?? 0), memory_mb: budget.memory_mb };
427
+ }
428
+ function may_pass_waiter(own, waiter) {
429
+ const since_ms = own.claimed_at - waiter.claimed_at;
430
+ if (priority_rank(waiter) < priority_rank(own)) return false;
431
+ if (since_ms < BYPASS_WINDOW_MS) return true;
432
+ return waiter.weight > own.weight && since_ms < HEAVIER_BYPASS_WINDOW_MS;
433
+ }
434
+ function may_pass({ own, ahead, running }, budget) {
435
+ const is_passable = ahead.every((entry) => may_pass_waiter(own.reservation, entry.reservation));
436
+ return is_passable && fits([...running, own], budget);
437
+ }
438
+ function fits_in_order({ own, ahead, running }, budget) {
439
+ const limit = ahead.length === 0 ? first_waiter_limit(budget) : budget;
440
+ return fits([...running, ...ahead, own], limit);
441
+ }
442
+ function is_memory_held(key, reservations, budget) {
443
+ const placement = place(key, reservations);
444
+ if (placement === void 0) return false;
445
+ if (placement.own.reservation.is_unit === true && budget.memory_pressured !== true) return false;
446
+ return !fits([...placement.running, placement.own], {
447
+ cores: Infinity,
448
+ memory_mb: budget.memory_mb
449
+ });
450
+ }
451
+ function runs_alone(placement, budget) {
452
+ if (!placement.is_oldest || placement.running.length > 0 || placement.own.reservation.is_strict_admission === true) {
453
+ return false;
454
+ }
455
+ return budget.is_overloaded !== true;
456
+ }
457
+ function is_admitted(key, reservations, budget) {
458
+ const placement = place(key, reservations);
459
+ if (placement === void 0 || is_memory_held(key, reservations, budget)) return false;
460
+ if (runs_alone(placement, budget)) return true;
461
+ return fits_in_order(placement, budget) || may_pass(placement, budget);
462
+ }
463
+ function mark_admitted(entries, key) {
464
+ const index = entries.findIndex((entry2) => entry2.key === key);
465
+ const entry = entries[index];
466
+ if (entry === void 0) return;
467
+ entries[index] = {
468
+ ...entry,
469
+ reservation: { ...entry.reservation, admitted_at: entry.reservation.claimed_at }
470
+ };
471
+ }
472
+ function admitted_keys(reservations, budget, memory_budget = Infinity) {
473
+ const limit = { cores: budget, memory_mb: memory_budget };
474
+ const ledger = [...reservations];
475
+ const admitted = /* @__PURE__ */ new Set();
476
+ for (const { key } of reservations.toSorted(compare_claim)) {
477
+ if (!is_admitted(key, ledger, limit)) continue;
478
+ admitted.add(key);
479
+ mark_admitted(ledger, key);
480
+ }
481
+ return admitted;
482
+ }
483
+ function is_ramped(reservation, now) {
484
+ const { admitted_at } = reservation;
485
+ return reservation.is_memory_pending !== true && admitted_at !== void 0 && now - admitted_at >= RAMP_UP_MS;
486
+ }
487
+ function ledger_load(reservations, now) {
488
+ const admitted = reservations.filter((entry) => entry.reservation.admitted_at !== void 0);
489
+ const ramped = admitted.filter((entry) => is_ramped(entry.reservation, now));
490
+ return { cores: sum_load(admitted).cores, memory_mb: sum_load(ramped).memory_mb };
491
+ }
492
+ function total_weight(reservations) {
493
+ return sum_load(reservations).cores;
494
+ }
495
+ function narrowed_weight(key, reservations, budget) {
496
+ const own = reservations.find((entry) => entry.key === key)?.reservation;
497
+ if (own?.is_unit !== true) return void 0;
498
+ const others = reservations.filter(
499
+ (entry) => entry.key !== key && entry.reservation.admitted_at !== void 0
500
+ );
501
+ const room = Math.max(MIN_GRANT, Math.floor(budget - total_weight(others)));
502
+ return room >= own.weight ? void 0 : room;
503
+ }
504
+ function is_too_narrow(key, reservations, granted) {
505
+ if (granted === void 0) return false;
506
+ const own = reservations.find((entry) => entry.key === key)?.reservation;
507
+ return own !== void 0 && granted * NARROW_DIVISOR < own.weight;
508
+ }
509
+ function with_grant(key, reservations, granted) {
510
+ if (granted === void 0) return [...reservations];
511
+ return reservations.map(
512
+ (entry) => entry.key === key ? { ...entry, reservation: { ...entry.reservation, granted } } : entry
513
+ );
514
+ }
515
+ function admitted_load(reservations, budget) {
516
+ const admitted = admitted_keys(reservations, budget);
517
+ return total_weight(reservations.filter((entry) => admitted.has(entry.key)));
518
+ }
519
+ function describe_memory(ledger, budget) {
520
+ if (!Number.isFinite(budget.memory_mb)) return "";
521
+ return ` and ${String(Math.round(ledger.memory_mb))} MB of memory against ${String(Math.round(budget.memory_mb))} MB`;
522
+ }
523
+ function describe_overflow(admission) {
524
+ const { overflow } = admission;
525
+ if (overflow === void 0) return void 0;
526
+ const { ledger, budget } = overflow;
527
+ const waited = String(Math.round(overflow.waited_ms / MS_PER_SECOND));
528
+ const cores = `the ledger held ${String(ledger.cores)} cores against a budget of ${String(budget.cores)}`;
529
+ return `started past the core budget after ${waited}s \u2014 ${cores}${describe_memory(ledger, budget)}`;
530
+ }
531
+ var core_admission = {
532
+ BYPASS_WINDOW_MS,
533
+ HEAVIER_BYPASS_WINDOW_MS,
534
+ RAMP_UP_MS,
535
+ admitted_keys,
536
+ admitted_load,
537
+ compare_claim,
538
+ describe_overflow,
539
+ is_admitted,
540
+ is_memory_held,
541
+ is_too_narrow,
542
+ ledger_load,
543
+ narrowed_weight,
544
+ sum_load,
545
+ with_grant
546
+ };
547
+
548
+ // scripts/gate/busy-average.ts
549
+ var AVERAGE_WINDOW_MS = 3e3;
550
+ function with_reading(samples, reading, ledger_cores, now) {
551
+ const kept = samples.filter((sample) => now - sample.at < AVERAGE_WINDOW_MS);
552
+ const { busy_cores } = reading;
553
+ if (busy_cores === void 0) return kept;
554
+ return [...kept, { at: now, external_cores: Math.max(0, busy_cores - ledger_cores), busy_cores }];
555
+ }
556
+ function mean_busy(samples) {
557
+ if (samples.length === 0) return void 0;
558
+ let total = 0;
559
+ for (const sample of samples) total += sample.busy_cores;
560
+ return total / samples.length;
561
+ }
562
+ function averaged(reading, samples, ledger_cores) {
563
+ if (reading.busy_cores === void 0 || samples.length === 0) return reading;
564
+ let total = 0;
565
+ for (const sample of samples) total += sample.external_cores;
566
+ return { ...reading, busy_cores: ledger_cores + total / samples.length };
567
+ }
568
+ var EASE_CORES = 1;
569
+ function with_ease(ease, busy_cores, now) {
570
+ if (busy_cores === void 0) return ease;
571
+ if (ease === void 0 || busy_cores <= ease.level - EASE_CORES) {
572
+ return { level: busy_cores, eased_at: now };
573
+ }
574
+ return ease;
575
+ }
576
+ function is_unrelieved(ease, now, window_ms) {
577
+ return ease !== void 0 && now - ease.eased_at >= window_ms;
578
+ }
579
+ var busy_average = {
580
+ AVERAGE_WINDOW_MS,
581
+ averaged,
582
+ is_unrelieved,
583
+ mean_busy,
584
+ with_ease,
585
+ with_reading
586
+ };
587
+
588
+ // scripts/gate/core-priority.ts
589
+ var PRIORITY_KEY = "JOSH_CORE_PRIORITY";
590
+ var PRIORITY_VALUE = "1";
591
+ var PRIORITY_ENVIRONMENT = { [PRIORITY_KEY]: PRIORITY_VALUE };
592
+ var UNMARKED_ENVIRONMENT = { [PRIORITY_KEY]: void 0 };
593
+ function marker_field({ is_unit, is_suite }) {
594
+ const is_marked = process.env[PRIORITY_KEY] === PRIORITY_VALUE;
595
+ return is_marked && is_unit !== true && is_suite !== true ? true : void 0;
596
+ }
597
+ var core_priority = { PRIORITY_ENVIRONMENT, PRIORITY_KEY, UNMARKED_ENVIRONMENT, marker_field };
598
+
599
+ // scripts/gate/core-wait.ts
600
+ import path4 from "node:path";
601
+ var WAIT_REASONS = ["cores", "cpu", "memory", "pressure"];
602
+ var REASON_TEXT = {
603
+ cores: "not enough free cores",
604
+ cpu: "CPU saturated",
605
+ memory: "not enough free memory",
606
+ pressure: "memory under pressure"
607
+ };
608
+ function core_reason(key, reservations, budget) {
609
+ const declared = { cores: budget.cores + (budget.busy_excess ?? 0), memory_mb: Infinity };
610
+ return core_admission.is_admitted(key, reservations, declared) ? "cpu" : "cores";
611
+ }
612
+ function wait_reason(key, reservations, budget) {
613
+ const cores_only = { ...budget, memory_mb: Infinity };
614
+ if (!core_admission.is_admitted(key, reservations, cores_only)) {
615
+ return core_reason(key, reservations, budget);
616
+ }
617
+ return budget.memory_pressured === true ? "pressure" : "memory";
618
+ }
619
+ function hold_reason(key, reservations, budget, granted) {
620
+ if (!core_admission.is_admitted(key, reservations, budget)) {
621
+ return wait_reason(key, reservations, budget);
622
+ }
623
+ return core_admission.is_too_narrow(key, reservations, granted) ? "cpu" : void 0;
624
+ }
625
+ function is_outside_held(key, reservations, budget) {
626
+ const unloaded = {
627
+ ...budget,
628
+ cores: budget.cores + (budget.busy_excess ?? 0),
629
+ busy_excess: 0,
630
+ is_overloaded: false
631
+ };
632
+ const granted = core_admission.narrowed_weight(key, reservations, unloaded.cores);
633
+ return hold_reason(key, reservations, unloaded, granted) === void 0;
634
+ }
635
+ var SMALL_CLAIM_CORES = core_weights.CORE_WEIGHTS.lint;
636
+ function unseen_cores(own, reservations, now) {
637
+ const fresh = reservations.filter((entry) => {
638
+ const { admitted_at } = entry.reservation;
639
+ if (admitted_at === void 0) return core_admission.compare_claim(entry, own) < 0;
640
+ return now - admitted_at < busy_average.AVERAGE_WINDOW_MS;
641
+ });
642
+ return core_admission.sum_load(fresh).cores;
643
+ }
644
+ function has_room(weight, budget, room, unseen) {
645
+ if (weight > SMALL_CLAIM_CORES || budget.is_overloaded === true) return false;
646
+ return room.busy_cores !== void 0 && room.busy_cores + unseen + weight <= room.cores;
647
+ }
648
+ function is_ledger_held_small(key, reservations, budget, room) {
649
+ const own = reservations.find((entry) => entry.key === key);
650
+ if (own === void 0) return false;
651
+ const unseen = unseen_cores(own, reservations, room.now);
652
+ if (!has_room(own.reservation.weight, budget, room, unseen)) return false;
653
+ return core_admission.is_admitted(key, reservations, { ...budget, cores: Infinity });
654
+ }
655
+ function is_held_in_vain(key, reservations, budget, room) {
656
+ if (is_outside_held(key, reservations, budget)) return true;
657
+ return is_ledger_held_small(key, reservations, budget, room);
658
+ }
659
+ function wait_line(command, reason) {
660
+ return `\u23F3 ${command ?? "a step"} waits for the core budget \u2014 ${REASON_TEXT[reason]}`;
661
+ }
662
+ function where_of(checkout) {
663
+ return {
664
+ checkout,
665
+ lane: lane_paths.lane_issue_of(checkout),
666
+ lanes_root: lane_paths.lanes_root_of(checkout)
667
+ };
668
+ }
669
+ function place_of(marker, home_root) {
670
+ const { checkout, lane, lanes_root } = marker;
671
+ if (checkout === void 0 || lanes_root === void 0 || lanes_root === home_root) {
672
+ return { lane, elsewhere: void 0 };
673
+ }
674
+ const name = lane === void 0 ? path4.basename(checkout) : `${path4.basename(lanes_root)}/${lane}`;
675
+ return { lane: void 0, elsewhere: name };
676
+ }
677
+ function wait_of(marker, now, home_root) {
678
+ const { command, wait_reason: reason } = marker;
679
+ if (reason === void 0 || marker.admitted_at !== void 0) return [];
680
+ return [{ command, ...place_of(marker, home_root), waited_ms: now - marker.claimed_at, reason }];
681
+ }
682
+ function waits_of(entries, now, home) {
683
+ const home_root = lane_paths.lanes_root_of(home);
684
+ return entries.flatMap((entry) => wait_of(entry.reservation, now, home_root)).toSorted((left, right) => right.waited_ms - left.waited_ms);
685
+ }
686
+ var core_wait = {
687
+ WAIT_REASONS,
688
+ hold_reason,
689
+ is_held_in_vain,
690
+ is_outside_held,
691
+ wait_line,
692
+ wait_reason,
693
+ waits_of,
694
+ where_of
695
+ };
696
+
697
+ // scripts/gate/core-reservation.ts
698
+ var reservation_schema = process_owner_schema.extend({
699
+ weight: external_exports.number(),
700
+ claimed_at: external_exports.number(),
701
+ memory_mb: external_exports.number().optional(),
702
+ admitted_at: external_exports.number().optional(),
703
+ is_unit: external_exports.boolean().optional(),
704
+ is_strict_admission: external_exports.boolean().optional(),
705
+ is_memory_pending: external_exports.boolean().optional(),
706
+ is_priority: external_exports.boolean().optional(),
707
+ granted: external_exports.number().optional(),
708
+ command: external_exports.string().optional(),
709
+ checkout: external_exports.string().optional(),
710
+ lane: external_exports.string().optional(),
711
+ lanes_root: external_exports.string().optional(),
712
+ wait_reason: external_exports.enum(core_wait.WAIT_REASONS).optional()
713
+ });
714
+ function claim_fields(weight, claimed_at, options) {
715
+ const { memory_mb, command, is_unit, is_strict_admission, is_memory_pending } = options;
716
+ return {
717
+ weight,
718
+ claimed_at,
719
+ memory_mb,
720
+ command,
721
+ is_unit,
722
+ is_strict_admission,
723
+ is_memory_pending,
724
+ is_priority: core_priority.marker_field(options),
725
+ ...core_wait.where_of(options.checkout ?? process.cwd())
726
+ };
727
+ }
728
+ function read_reservation(source) {
729
+ const raw = stamp_file.read_stamp_text(source);
730
+ return raw === void 0 ? void 0 : json_value.parse_with(raw, reservation_schema);
731
+ }
732
+ function write_reservation(target, fields) {
733
+ stamp_file.replace_stamp(target, { ...process_identity.own_fields(), ...fields });
734
+ }
735
+ function transfer(handle, pid) {
736
+ const reservation = read_reservation(handle.target);
737
+ if (reservation === void 0) {
738
+ throw new Error("The admitted reservation disappeared before transfer");
739
+ }
740
+ stamp_file.replace_stamp(handle.target, {
741
+ ...reservation,
742
+ pid,
743
+ process_start: process_identity.read_start(pid),
744
+ is_memory_pending: false,
745
+ admitted_at: Date.now()
746
+ });
747
+ }
748
+ var core_reservation = { claim_fields, read_reservation, transfer, write_reservation };
749
+
750
+ // scripts/gate/machine-capacity.ts
751
+ import { readFile } from "node:fs/promises";
752
+ import { availableParallelism, cpus, loadavg, totalmem } from "node:os";
753
+ var SAMPLE_WINDOW_MS = 250;
754
+ var OVERLOAD_FACTOR = 2;
755
+ var BYTES_PER_MB = 1048576;
756
+ var KB_PER_MB = 1024;
757
+ var PERCENT = 100;
758
+ var MEMINFO_PATH = "/proc/meminfo";
759
+ var VMSTAT_PATH = "/proc/vmstat";
760
+ var LINUX_AVAILABLE = /^MemAvailable:\s+(?<kb>\d+) kB/mu;
761
+ var LINUX_SWAP_IN = /^pswpin (?<pages>\d+)$/mu;
762
+ var LINUX_SWAP_OUT = /^pswpout (?<pages>\d+)$/mu;
763
+ var PAGE_SIZE_ARGUMENTS = ["PAGESIZE"];
764
+ var LEVEL_NAME = "kern.memorystatus_level";
765
+ var SWAP_IN_NAME = "vm.compressor.swapper.swapins_total";
766
+ var SWAP_OUT_NAME = "vm.compressor.swapper.swapouts_total";
767
+ var COMPRESSED_NAME = "vm.compressor_input_bytes";
768
+ var PAGE_SIZE_NAME = "hw.pagesize";
769
+ var PRESSURE_NAME = "kern.memorystatus_vm_pressure_level";
770
+ var PRESSURE_HOLD = 4;
771
+ var SWAP_PRESSURE_MB = 16;
772
+ var COMPRESSION_PRESSURE_MB = 64;
773
+ var SYSCTL_ARGUMENTS = [
774
+ LEVEL_NAME,
775
+ SWAP_IN_NAME,
776
+ SWAP_OUT_NAME,
777
+ COMPRESSED_NAME,
778
+ PAGE_SIZE_NAME,
779
+ PRESSURE_NAME
780
+ ];
781
+ var SYSCTL_LINE = /^(?<name>[\w.]+): (?<value>\d+)$/gmu;
782
+ function cpu_times() {
783
+ let busy = 0;
784
+ let idle = 0;
785
+ for (const { times } of cpus()) {
786
+ busy += times.user + times.nice + times.sys + times.irq;
787
+ idle += times.idle;
788
+ }
789
+ return { busy, total: busy + idle };
790
+ }
791
+ function busy_share_between(before, after) {
792
+ const total = after.total - before.total;
793
+ if (total <= 0) return void 0;
794
+ return (after.busy - before.busy) / total;
795
+ }
796
+ function busy_cores_between(before, after, cores) {
797
+ const share = busy_share_between(before, after);
798
+ return share === void 0 ? void 0 : share * cores;
799
+ }
800
+ function sysctl_values(output) {
801
+ const values = [...output.matchAll(SYSCTL_LINE)].map(
802
+ (match) => [match.groups?.["name"] ?? "", Number(match.groups?.["value"])]
803
+ );
804
+ return new Map(values);
805
+ }
806
+ function swapped_pages(pages_in, pages_out) {
807
+ return pages_in === void 0 || pages_out === void 0 ? void 0 : pages_in + pages_out;
808
+ }
809
+ function mb_of(units, unit_bytes) {
810
+ if (units === void 0 || unit_bytes === void 0) return void 0;
811
+ return units * unit_bytes / BYTES_PER_MB;
812
+ }
813
+ function swapped_between(from, to) {
814
+ if (from === void 0 || to === void 0) return void 0;
815
+ return Math.max(0, to - from);
816
+ }
817
+ function parse_darwin_memory(output, total_bytes) {
818
+ const values = sysctl_values(output);
819
+ const level = values.get(LEVEL_NAME);
820
+ return {
821
+ available_mb: level === void 0 ? void 0 : level / PERCENT * (total_bytes / BYTES_PER_MB),
822
+ swapped_mb: mb_of(
823
+ swapped_pages(values.get(SWAP_IN_NAME), values.get(SWAP_OUT_NAME)),
824
+ values.get(PAGE_SIZE_NAME)
825
+ ),
826
+ pressure_level: values.get(PRESSURE_NAME),
827
+ compressed_mb: mb_of(values.get(COMPRESSED_NAME), 1)
828
+ };
829
+ }
830
+ function parse_linux_available(meminfo) {
831
+ const kb = LINUX_AVAILABLE.exec(meminfo)?.groups?.["kb"];
832
+ return kb === void 0 ? void 0 : Number(kb) / KB_PER_MB;
833
+ }
834
+ function pages_of(pattern, vmstat) {
835
+ const pages = pattern.exec(vmstat)?.groups?.["pages"];
836
+ return pages === void 0 ? void 0 : Number(pages);
837
+ }
838
+ function parse_linux_swapped(vmstat, page_bytes) {
839
+ const pages = swapped_pages(pages_of(LINUX_SWAP_IN, vmstat), pages_of(LINUX_SWAP_OUT, vmstat));
840
+ return mb_of(pages, page_bytes);
841
+ }
842
+ async function settled(read) {
843
+ try {
844
+ return await read();
845
+ } catch {
846
+ return void 0;
847
+ }
848
+ }
849
+ async function read_darwin_memory() {
850
+ const { stdout } = await execa("sysctl", SYSCTL_ARGUMENTS, {
851
+ reject: false,
852
+ timeout: PROBE_TIMEOUT_MS
853
+ });
854
+ return parse_darwin_memory(stdout, totalmem());
855
+ }
856
+ async function read_page_size() {
857
+ const { stdout } = await execa("getconf", PAGE_SIZE_ARGUMENTS, { timeout: PROBE_TIMEOUT_MS });
858
+ return stdout;
859
+ }
860
+ async function read_linux_memory() {
861
+ const [meminfo, vmstat, page_size] = await Promise.all([
862
+ settled(async () => await readFile(MEMINFO_PATH, "utf8")),
863
+ settled(async () => await readFile(VMSTAT_PATH, "utf8")),
864
+ settled(read_page_size)
865
+ ]);
866
+ const page_bytes = page_size === void 0 ? void 0 : Number(page_size);
867
+ return {
868
+ available_mb: meminfo === void 0 ? void 0 : parse_linux_available(meminfo),
869
+ swapped_mb: vmstat === void 0 || page_bytes === void 0 ? void 0 : parse_linux_swapped(vmstat, page_bytes),
870
+ pressure_level: void 0
871
+ };
872
+ }
873
+ var UNREAD_MEMORY = {
874
+ available_mb: void 0,
875
+ swapped_mb: void 0,
876
+ pressure_level: void 0
877
+ };
878
+ async function read_memory() {
879
+ if (process.platform === "darwin") return await settled(read_darwin_memory) ?? UNREAD_MEMORY;
880
+ return process.platform === "linux" ? await read_linux_memory() : UNREAD_MEMORY;
881
+ }
882
+ function is_unquoted() {
883
+ return cpus().length > 0 && cpus().length === availableParallelism();
884
+ }
885
+ async function default_sleep2(ms) {
886
+ await new Promise((resolve) => {
887
+ setTimeout(resolve, ms);
888
+ });
889
+ }
890
+ function moved_over(from, to, limit) {
891
+ return (swapped_between(from, to) ?? 0) > limit;
892
+ }
893
+ function is_swapping(before, after) {
894
+ return moved_over(before?.swapped_mb, after.swapped_mb, SWAP_PRESSURE_MB);
895
+ }
896
+ function is_pressured(before, after) {
897
+ return (after.pressure_level ?? 0) >= PRESSURE_HOLD || is_swapping(before, after) || moved_over(before.compressed_mb, after.compressed_mb, COMPRESSION_PRESSURE_MB);
898
+ }
899
+ function pressured_available(after, before) {
900
+ if (after.available_mb === void 0) return void 0;
901
+ if (is_swapping(before, after)) return 0;
902
+ return (after.pressure_level ?? 0) >= PRESSURE_HOLD ? 0 : after.available_mb;
903
+ }
904
+ async function read_machine(sleep = default_sleep2) {
905
+ const before = cpu_times();
906
+ const [memory_before] = await Promise.all([read_memory(), sleep(SAMPLE_WINDOW_MS)]);
907
+ const memory_after = await read_memory();
908
+ const is_host = is_unquoted();
909
+ const busy_cores = is_host ? busy_cores_between(before, cpu_times(), cpus().length) : void 0;
910
+ return {
911
+ busy_cores,
912
+ run_queue: is_host ? loadavg()[0] : void 0,
913
+ available_mb: pressured_available(memory_after, memory_before),
914
+ memory_pressured: is_pressured(memory_before, memory_after),
915
+ memory_supported: process.platform === "darwin" || process.platform === "linux",
916
+ total_mb: totalmem() / BYTES_PER_MB
917
+ };
918
+ }
919
+ async function read_sample() {
920
+ return { cpu: cpu_times(), memory: await read_memory(), total_mb: totalmem() / BYTES_PER_MB };
921
+ }
922
+ function external_cores(busy_cores, ledger_cores) {
923
+ if (busy_cores === void 0) return 0;
924
+ return Math.floor(Math.max(0, busy_cores - ledger_cores));
925
+ }
926
+ function is_overloaded(run_queue, ledger_cores, cores) {
927
+ if (run_queue === void 0) return false;
928
+ return run_queue - ledger_cores > cores * OVERLOAD_FACTOR;
929
+ }
930
+ function machine_budget(cores, reading, ledger) {
931
+ const busy_excess = external_cores(reading.busy_cores, ledger.cores);
932
+ return {
933
+ cores: Math.max(0, cores - busy_excess),
934
+ memory_mb: reading.available_mb === void 0 ? Infinity : reading.available_mb + ledger.memory_mb,
935
+ memory_pressured: reading.memory_pressured,
936
+ busy_excess,
937
+ is_overloaded: is_overloaded(reading.run_queue, ledger.cores, cores)
938
+ };
939
+ }
940
+ var machine_capacity = {
941
+ busy_cores_between,
942
+ busy_share_between,
943
+ COMPRESSION_PRESSURE_MB,
944
+ external_cores,
945
+ machine_budget,
946
+ parse_darwin_memory,
947
+ parse_linux_available,
948
+ parse_linux_swapped,
949
+ PRESSURE_HOLD,
950
+ pressured_available,
951
+ read_machine,
952
+ read_memory,
953
+ read_sample,
954
+ SWAP_PRESSURE_MB,
955
+ swapped_between
956
+ };
957
+
958
+ // scripts/gate/core-budget-poll.ts
959
+ function check_measurement(command, reading) {
960
+ if (reading.memory_supported === true && !Number.isFinite(reading.available_mb)) {
961
+ throw new Error(`${command}: memory measurement failed; admission refused`);
962
+ }
963
+ }
964
+ function check_capacity(command, requested, total_mb) {
965
+ if (total_mb === void 0) return;
966
+ if (requested > total_mb) {
967
+ throw new Error(
968
+ `${command}: requested ${String(requested)} MB exceeds physical memory ${String(total_mb)} MB`
969
+ );
970
+ }
971
+ }
972
+ function check_memory(context, reading) {
973
+ const requested = context.fields.memory_mb ?? 0;
974
+ if (requested === 0) return;
975
+ const command = context.fields.command ?? "a step";
976
+ const minimum = context.fields.is_unit === true ? requested / Math.max(1, context.fields.weight) : requested;
977
+ check_measurement(command, reading);
978
+ check_capacity(command, minimum, reading.total_mb);
979
+ }
980
+ async function current_reading(context, reservations) {
981
+ const reading = await context.read_machine();
982
+ const ledger = core_admission.ledger_load(reservations, context.now());
983
+ check_memory(context, reading);
984
+ context.busy_samples = busy_average.with_reading(
985
+ context.busy_samples,
986
+ reading,
987
+ ledger.cores,
988
+ context.now()
989
+ );
990
+ const mean = busy_average.averaged(reading, context.busy_samples, ledger.cores);
991
+ context.ease = busy_average.with_ease(context.ease, mean.busy_cores, context.now());
992
+ return { budget: machine_capacity.machine_budget(context.budget, mean, ledger), reading };
993
+ }
994
+ function admit(context, decision) {
995
+ const admitted_at = context.now();
996
+ const { granted, overflow, reason, budget, reading } = decision;
997
+ core_reservation.write_reservation(context.target, { ...context.fields, admitted_at, granted });
998
+ return {
999
+ overflow,
1000
+ granted,
1001
+ waited_ms: admitted_at - context.fields.claimed_at,
1002
+ decision: { reason, budget, reading }
1003
+ };
1004
+ }
1005
+ function mark_waiting(context, reason) {
1006
+ const previous = context.fields.wait_reason;
1007
+ if (previous === reason) return;
1008
+ context.fields = { ...context.fields, wait_reason: reason };
1009
+ core_reservation.write_reservation(context.target, context.fields);
1010
+ if (previous === void 0) context.report(core_wait.wait_line(context.fields.command, reason));
1011
+ }
1012
+ function spent_reason(context, reservations, budget) {
1013
+ const now = context.now();
1014
+ if (now >= context.deadline) return "cpu-deadline";
1015
+ const busy_cores = busy_average.mean_busy(context.busy_samples);
1016
+ const room = { busy_cores, cores: context.budget, now };
1017
+ return busy_average.is_unrelieved(context.ease, now, context.ease_window_ms) && core_wait.is_held_in_vain(context.key, reservations, budget, room) ? "cpu-unrelieved" : void 0;
1018
+ }
1019
+ function overflow_reason(context, reservations, budget) {
1020
+ if (context.fields.is_strict_admission === true || core_admission.is_memory_held(context.key, reservations, budget)) {
1021
+ return void 0;
1022
+ }
1023
+ return spent_reason(context, reservations, budget);
1024
+ }
1025
+ function overflow_of(context, reservations, decision) {
1026
+ const held = core_admission.with_grant(context.key, reservations, decision.granted);
1027
+ const overflow = {
1028
+ waited_ms: context.now() - context.fields.claimed_at,
1029
+ ledger: core_admission.sum_load(held),
1030
+ budget: decision.budget
1031
+ };
1032
+ return admit(context, { ...decision, overflow });
1033
+ }
1034
+ function fit_reason(context, reservations, budget) {
1035
+ const requested = context.fields.memory_mb ?? 0;
1036
+ if (context.fields.is_unit === true && requested > budget.memory_mb) {
1037
+ return "unit-memory-narrowing";
1038
+ }
1039
+ const strict = { ...budget, busy_excess: 0, is_overloaded: true };
1040
+ return core_admission.is_admitted(context.key, reservations, strict) ? "budget-fit" : "cpu-first-waiter";
1041
+ }
1042
+ async function poll_admission(context, reservations) {
1043
+ const { budget, reading } = await current_reading(context, reservations);
1044
+ const granted = core_admission.narrowed_weight(context.key, reservations, budget.cores);
1045
+ const reason = core_wait.hold_reason(context.key, reservations, budget, granted);
1046
+ if (reason === void 0) {
1047
+ return admit(context, {
1048
+ budget,
1049
+ reading,
1050
+ granted,
1051
+ reason: fit_reason(context, reservations, budget)
1052
+ });
1053
+ }
1054
+ const overflow = overflow_reason(context, reservations, budget);
1055
+ if (overflow !== void 0) {
1056
+ return overflow_of(context, reservations, { budget, reading, granted, reason: overflow });
1057
+ }
1058
+ mark_waiting(context, reason);
1059
+ return void 0;
1060
+ }
1061
+ var core_budget_poll = { poll_admission };
1062
+
1063
+ // scripts/gate/core-wait-record.ts
1064
+ var UNNAMED_COMMAND = "a step";
1065
+ async function to_ledger(wait) {
1066
+ await lane_ledger_write.record_core_wait(wait);
1067
+ }
1068
+ function request_fields(claim2, admission) {
1069
+ return {
1070
+ requested_cores: claim2.weight,
1071
+ granted_cores: admission?.granted ?? claim2.weight,
1072
+ memory_mb: claim2.memory_mb ?? 0,
1073
+ wait_reason: claim2.wait_reason,
1074
+ admission_waited_ms: admission?.waited_ms
1075
+ };
1076
+ }
1077
+ function admission_fields(claim2, admission) {
1078
+ const decision = admission?.decision;
1079
+ if (decision === void 0) return {};
1080
+ return {
1081
+ ...request_fields(claim2, admission),
1082
+ admission_reason: decision.reason,
1083
+ overflow: admission?.overflow !== void 0,
1084
+ budget_cores: decision.budget.cores,
1085
+ budget_memory_mb: Number.isFinite(decision.budget.memory_mb) ? decision.budget.memory_mb : void 0,
1086
+ available_mb: decision.reading.available_mb,
1087
+ busy_cores: decision.reading.busy_cores,
1088
+ memory_pressured: decision.reading.memory_pressured
1089
+ };
1090
+ }
1091
+ function should_record(claim2, admission) {
1092
+ return claim2.wait_reason !== void 0 || admission?.decision !== void 0;
1093
+ }
1094
+ function wait_of2(claim2, now, admission) {
1095
+ if (!should_record(claim2, admission)) return void 0;
1096
+ const waited_ms = claim2.wait_reason === void 0 ? 0 : now - claim2.claimed_at;
1097
+ const wait = {
1098
+ command: claim2.command ?? UNNAMED_COMMAND,
1099
+ waited_ms,
1100
+ ...admission_fields(claim2, admission)
1101
+ };
1102
+ return claim2.lane === void 0 ? wait : { ...wait, issue: Number(claim2.lane) };
1103
+ }
1104
+ async function record_admitted(claim2, now, sink = to_ledger, admission) {
1105
+ const wait = wait_of2(claim2, now, admission);
1106
+ if (wait !== void 0) await sink(wait);
1107
+ }
1108
+ var core_wait_record = { record_admitted, wait_of: wait_of2 };
1109
+
1110
+ // scripts/gate/held-mark.ts
1111
+ var HELD_KEY = "JOSH_CORE_RESERVED";
1112
+ var HELD_VALUE = "1";
1113
+ var HELD_RESERVATION_KEY = "JOSH_CORE_RESERVATION";
1114
+ function is_held() {
1115
+ return process.env[HELD_KEY] === HELD_VALUE;
1116
+ }
1117
+ function held_reservation() {
1118
+ const key = process.env[HELD_RESERVATION_KEY] ?? "";
1119
+ return key === "" ? void 0 : key;
1120
+ }
1121
+ function set_held_mark(value, reservation) {
1122
+ process.env[HELD_KEY] = value;
1123
+ process.env[HELD_RESERVATION_KEY] = reservation;
1124
+ }
1125
+ async function with_held_mark(run, reservation = "") {
1126
+ const previous = process.env[HELD_KEY] ?? "";
1127
+ const previous_reservation = process.env[HELD_RESERVATION_KEY] ?? "";
1128
+ set_held_mark(HELD_VALUE, reservation);
1129
+ try {
1130
+ return await run();
1131
+ } finally {
1132
+ set_held_mark(previous, previous_reservation);
1133
+ }
1134
+ }
1135
+ var held_mark = {
1136
+ HELD_KEY,
1137
+ HELD_RESERVATION_KEY,
1138
+ HELD_VALUE,
1139
+ held_reservation,
1140
+ is_held,
1141
+ with_held_mark
1142
+ };
1143
+
1144
+ // scripts/gate/core-budget.ts
1145
+ var RESERVED_PREFIX = "josh-core-reserved-";
1146
+ var RESERVED_SUFFIX = ".json";
1147
+ var MIN_BUDGET = 1;
1148
+ var { claim_fields: claim_fields2, read_reservation: read_reservation2, write_reservation: write_reservation2 } = core_reservation;
1149
+ function marker_name(key) {
1150
+ return `${RESERVED_PREFIX}${key}${RESERVED_SUFFIX}`;
1151
+ }
1152
+ function is_running(reservation) {
1153
+ return process_identity.is_same_process(reservation.pid, reservation.process_start) !== false;
1154
+ }
1155
+ function sweep_marker(source) {
1156
+ try {
1157
+ stamp_file.remove_stamp(source);
1158
+ } catch {
1159
+ }
1160
+ }
1161
+ function live_reservation(source) {
1162
+ const reservation = read_reservation2(source);
1163
+ if (reservation === void 0) return void 0;
1164
+ if (is_running(reservation)) return reservation;
1165
+ sweep_marker(source);
1166
+ return void 0;
1167
+ }
1168
+ function marker_files(directory) {
1169
+ try {
1170
+ return readdirSync2(directory).filter(
1171
+ (name) => name.startsWith(RESERVED_PREFIX) && name.endsWith(RESERVED_SUFFIX)
1172
+ );
1173
+ } catch {
1174
+ return [];
1175
+ }
1176
+ }
1177
+ function live_reservations(directory = PLATFORM_TEMP_ROOT) {
1178
+ return marker_files(directory).flatMap((name) => {
1179
+ const reservation = live_reservation(path5.join(directory, name));
1180
+ return reservation === void 0 ? [] : { key: name, reservation };
1181
+ });
1182
+ }
1183
+ function normalize_budget(budget) {
1184
+ return Number.isFinite(budget) ? Math.max(MIN_BUDGET, Math.floor(budget)) : MIN_BUDGET;
1185
+ }
1186
+ function report_wait(line) {
1187
+ process.stderr.write(`${line}
1188
+ `);
1189
+ }
1190
+ async function poll_admission2(context) {
1191
+ try {
1192
+ return await core_budget_poll.poll_admission(context, live_reservations(context.directory));
1193
+ } catch (error) {
1194
+ sweep_marker(context.target);
1195
+ throw error;
1196
+ }
1197
+ }
1198
+ async function await_admission(context) {
1199
+ const admission = await poll.wait_for(async () => await poll_admission2(context), {
1200
+ interval_ms: context.poll_interval_ms,
1201
+ sleeper: context.sleep
1202
+ });
1203
+ await core_wait_record.record_admitted(
1204
+ context.fields,
1205
+ context.now(),
1206
+ context.record_wait,
1207
+ admission
1208
+ );
1209
+ return admission;
1210
+ }
1211
+ function resolve_ports(options) {
1212
+ return {
1213
+ read_machine: options.read_machine ?? machine_capacity.read_machine,
1214
+ report: options.report ?? report_wait,
1215
+ record_wait: options.record_wait
1216
+ };
1217
+ }
1218
+ function claim(weight, options = {}) {
1219
+ const timing = core_budget_timing.resolve_timing(options);
1220
+ const directory = options.directory ?? PLATFORM_TEMP_ROOT;
1221
+ const claimed_at = timing.now();
1222
+ const name = marker_name(randomUUID());
1223
+ const target = path5.join(directory, name);
1224
+ const fields = claim_fields2(weight, claimed_at, options);
1225
+ write_reservation2(target, fields);
1226
+ return {
1227
+ ...timing,
1228
+ key: name,
1229
+ target,
1230
+ directory,
1231
+ budget: normalize_budget(options.budget ?? availableParallelism2()),
1232
+ deadline: claimed_at + timing.wait_cap_ms,
1233
+ fields,
1234
+ busy_samples: [],
1235
+ ...resolve_ports(options)
1236
+ };
1237
+ }
1238
+ async function reserve(weight, options = {}) {
1239
+ const context = claim(weight, options);
1240
+ const admission = await await_admission(context);
1241
+ return { target: context.target, admission };
1242
+ }
1243
+ async function poll_claim(context) {
1244
+ const admission = await poll_admission2(context);
1245
+ if (admission === void 0) return void 0;
1246
+ await core_wait_record.record_admitted(
1247
+ context.fields,
1248
+ context.now(),
1249
+ context.record_wait,
1250
+ admission
1251
+ );
1252
+ return { target: context.target, admission };
1253
+ }
1254
+ function budget_waits(directory = PLATFORM_TEMP_ROOT, now = Date.now(), home = process.cwd()) {
1255
+ return core_wait.waits_of(live_reservations(directory), now, home);
1256
+ }
1257
+ function release(handle) {
1258
+ sweep_marker(handle.target);
1259
+ }
1260
+ async function with_core_reservation(weight, run, options = {}) {
1261
+ const handle = await reserve(weight, options);
1262
+ try {
1263
+ return await run(handle.admission, path5.basename(handle.target));
1264
+ } finally {
1265
+ release(handle);
1266
+ }
1267
+ }
1268
+ function is_covered() {
1269
+ return held_mark.is_held() || unit_worker_share.is_nested_run();
1270
+ }
1271
+ async function with_command_reservation(weight, run, options = {}) {
1272
+ if (is_covered()) return await run();
1273
+ return await with_core_reservation(
1274
+ weight,
1275
+ async (_admission, key) => await held_mark.with_held_mark(run, key),
1276
+ options
1277
+ );
1278
+ }
1279
+ function held_unit_claim(directory = PLATFORM_TEMP_ROOT) {
1280
+ const key = held_mark.held_reservation();
1281
+ if (key === void 0) return void 0;
1282
+ const held = live_reservations(directory).find((entry) => entry.key === key);
1283
+ return held?.reservation.is_unit === true ? held.reservation : void 0;
1284
+ }
1285
+ var core_budget = {
1286
+ CORE_WEIGHTS: core_weights.CORE_WEIGHTS,
1287
+ HELD_KEY: held_mark.HELD_KEY,
1288
+ HELD_VALUE: held_mark.HELD_VALUE,
1289
+ MEMORY_MB: core_weights.MEMORY_MB,
1290
+ RESERVED_PREFIX,
1291
+ admitted_keys: core_admission.admitted_keys,
1292
+ admitted_load: core_admission.admitted_load,
1293
+ budget_waits,
1294
+ claim,
1295
+ describe_overflow: core_admission.describe_overflow,
1296
+ held_unit_claim,
1297
+ is_covered,
1298
+ is_held: held_mark.is_held,
1299
+ live_reservations,
1300
+ poll_claim,
1301
+ release,
1302
+ reserve,
1303
+ transfer: core_reservation.transfer,
1304
+ with_command_reservation,
1305
+ with_core_reservation,
1306
+ with_held_mark: held_mark.with_held_mark
1307
+ };
1308
+
1309
+ // scripts/josh/josh-in-process.ts
1310
+ import { realpathSync } from "node:fs";
1311
+ import path6 from "node:path";
1312
+ import { pathToFileURL } from "node:url";
1313
+ var BUNDLED_COMMAND_DIRECTORY = path6.join("dist", "commands");
1314
+
1315
+ // scripts/josh/run-github-prerequisite.ts
1316
+ import { existsSync as existsSync2 } from "node:fs";
1317
+ import path7 from "node:path";
1318
+
1319
+ // scripts/josh/josh-logic.ts
1320
+ var TSX_BIN = "tsx";
1321
+ var TSX_PACKAGE = "tsx";
1322
+ var PACKAGE_DIR = find_package_directory(path8.dirname(fileURLToPath(import.meta.url)));
1323
+ function resolve_tsx_executable() {
1324
+ const candidates = [
1325
+ resolve_local_bin(PACKAGE_DIR, TSX_BIN),
1326
+ resolve_local_bin(process.cwd(), TSX_BIN)
1327
+ ];
1328
+ return candidates.find(existsSync3) ?? TSX_BIN;
1329
+ }
1330
+ function resolve_tsx_cli_entry() {
1331
+ for (const base_directory of [PACKAGE_DIR, process.cwd()]) {
1332
+ const cli_entry = resolve_package_bin(base_directory, TSX_PACKAGE, TSX_BIN);
1333
+ if (cli_entry !== void 0) return cli_entry;
1334
+ }
1335
+ return void 0;
1336
+ }
1337
+ function resolve_tsx_runner() {
1338
+ const cli_entry = resolve_tsx_cli_entry();
1339
+ if (cli_entry !== void 0) {
1340
+ return { executable: process.execPath, leading_arguments: [cli_entry] };
1341
+ }
1342
+ return { executable: resolve_tsx_executable(), leading_arguments: [] };
1343
+ }
1344
+ function read_package_version() {
1345
+ return package_manifest.read_manifest(PACKAGE_DIR, package_version_schema).version;
1346
+ }
1347
+ var HEADER = `josh v${read_package_version()} \u2014 Joshua Folkken's dev toolkit`;
1348
+
1349
+ // scripts/gate/input-fingerprint.ts
1350
+ import { readFileSync as readFileSync2 } from "node:fs";
1351
+ import path9 from "node:path";
1352
+ var ABSENT = "absent";
1353
+ function of_content(content) {
1354
+ return stamp_file.digest(content);
1355
+ }
1356
+ function of_entries(entries) {
1357
+ return of_content([...entries].toSorted((left, right) => left.localeCompare(right)).join("\n"));
1358
+ }
1359
+ function of_file(file_path) {
1360
+ try {
1361
+ return of_content(readFileSync2(file_path));
1362
+ } catch {
1363
+ return ABSENT;
1364
+ }
1365
+ }
1366
+ function of_files(root, relatives) {
1367
+ const sorted = [...new Set(relatives)].toSorted((left, right) => left.localeCompare(right));
1368
+ return Object.fromEntries(
1369
+ sorted.map((relative) => [relative, of_file(path9.join(root, relative))])
1370
+ );
1371
+ }
1372
+ var input_fingerprint = { ABSENT, of_entries, of_file, of_files };
1373
+
1374
+ export {
1375
+ toolchain_inputs,
1376
+ run_board_usage_rusage,
1377
+ machine_capacity,
1378
+ resolve_tsx_runner,
1379
+ input_fingerprint,
1380
+ lint_related_scope
1381
+ };