@joshuafolkken/kit 1.3099.0 → 1.3125.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 (1119) hide show
  1. package/.claude/skills/workflow-commands/split-assessment.md +2 -3
  2. package/.github/actions/setup-pnpm/action.yml +12 -4
  3. package/dist/.inputs-verified.json +1 -1
  4. package/dist/commands/adopt.js +20 -20
  5. package/dist/commands/auto-ok-judge-cli.js +30 -30
  6. package/dist/commands/auto-ok-main.js +64 -63
  7. package/dist/commands/backlog-budget-main.js +5 -5
  8. package/dist/commands/backlog-drive-cli.js +220 -203
  9. package/dist/commands/backlog-next-main.js +157 -101
  10. package/dist/commands/backlog-offer-main.js +168 -120
  11. package/dist/commands/backlog-plan-cli.js +159 -110
  12. package/dist/commands/backlog-triage-cli.js +171 -115
  13. package/dist/commands/backlogrun-cli.js +255 -245
  14. package/dist/commands/behavior-cli.js +16 -15
  15. package/dist/commands/bytes-command.js +41 -41
  16. package/dist/commands/cases-cli.js +3 -3
  17. package/dist/commands/check-commit-message-main.js +3 -3
  18. package/dist/commands/check-related.js +93 -93
  19. package/dist/commands/chunk-23PU6FAC.js +140 -0
  20. package/dist/commands/chunk-23TWJOAI.js +172 -0
  21. package/dist/commands/chunk-24MXEDSJ.js +81 -0
  22. package/dist/commands/chunk-25LVQDOF.js +183 -0
  23. package/dist/commands/chunk-25LYH5QR.js +85 -0
  24. package/dist/commands/chunk-2AH73ZTW.js +84 -0
  25. package/dist/commands/chunk-2BNLPPP4.js +42 -0
  26. package/dist/commands/chunk-2FD3N3OX.js +119 -0
  27. package/dist/commands/chunk-2GJ3WJVT.js +117 -0
  28. package/dist/commands/chunk-2JGOKYJQ.js +426 -0
  29. package/dist/commands/chunk-2MDLCJZ4.js +389 -0
  30. package/dist/commands/chunk-2ROVUERM.js +99 -0
  31. package/dist/commands/chunk-2TI22UNK.js +137 -0
  32. package/dist/commands/chunk-2TUA6V4F.js +191 -0
  33. package/dist/commands/chunk-2UXSF5YF.js +49 -0
  34. package/dist/commands/chunk-2ZDVX64H.js +66 -0
  35. package/dist/commands/chunk-33N7SBIU.js +18 -0
  36. package/dist/commands/chunk-373P5MM2.js +353 -0
  37. package/dist/commands/chunk-37RULO76.js +220 -0
  38. package/dist/commands/chunk-3EYRE3GI.js +173 -0
  39. package/dist/commands/chunk-3IXIYDC3.js +179 -0
  40. package/dist/commands/chunk-3OFJCJN4.js +30 -0
  41. package/dist/commands/chunk-3OSUM6DM.js +53 -0
  42. package/dist/commands/chunk-3PGB2RKZ.js +333 -0
  43. package/dist/commands/chunk-3QNEEG5O.js +117 -0
  44. package/dist/commands/chunk-3TN76RWK.js +156 -0
  45. package/dist/commands/chunk-3W2TJZMD.js +77 -0
  46. package/dist/commands/chunk-3Y32BYLU.js +1244 -0
  47. package/dist/commands/chunk-3ZQOMI5A.js +245 -0
  48. package/dist/commands/chunk-42W6WARP.js +263 -0
  49. package/dist/commands/chunk-44UIURBQ.js +130 -0
  50. package/dist/commands/chunk-45RCSJGE.js +321 -0
  51. package/dist/commands/chunk-4DNAAFF4.js +159 -0
  52. package/dist/commands/chunk-4E5WBWG7.js +70 -0
  53. package/dist/commands/chunk-4MRBLCDB.js +96 -0
  54. package/dist/commands/chunk-4NIHTEGD.js +332 -0
  55. package/dist/commands/chunk-4ODXKJJT.js +566 -0
  56. package/dist/commands/chunk-4P5F7CLB.js +47 -0
  57. package/dist/commands/chunk-52CGT2IN.js +119 -0
  58. package/dist/commands/chunk-54ZLBLLE.js +74 -0
  59. package/dist/commands/chunk-56344LLX.js +114 -0
  60. package/dist/commands/chunk-56GR7L5L.js +36 -0
  61. package/dist/commands/chunk-5ADJDGFT.js +126 -0
  62. package/dist/commands/chunk-5CMXAHCL.js +161 -0
  63. package/dist/commands/chunk-5DMFMP4V.js +121 -0
  64. package/dist/commands/chunk-5I3M4B3H.js +185 -0
  65. package/dist/commands/chunk-5JIMCETI.js +104 -0
  66. package/dist/commands/chunk-5KEESWMC.js +138 -0
  67. package/dist/commands/chunk-5LNRVX2R.js +214 -0
  68. package/dist/commands/chunk-5PLKHUQD.js +492 -0
  69. package/dist/commands/chunk-5QICRFVL.js +167 -0
  70. package/dist/commands/chunk-5RCBXYYD.js +101 -0
  71. package/dist/commands/chunk-5SOU366I.js +252 -0
  72. package/dist/commands/chunk-5VUHAXPI.js +77 -0
  73. package/dist/commands/chunk-5XJUUZ6U.js +773 -0
  74. package/dist/commands/chunk-5ZMVRU3U.js +46 -0
  75. package/dist/commands/chunk-5ZWU2B7T.js +507 -0
  76. package/dist/commands/chunk-5ZXR36N7.js +67 -0
  77. package/dist/commands/chunk-623LFKFM.js +60 -0
  78. package/dist/commands/chunk-64II6P7B.js +81 -0
  79. package/dist/commands/chunk-6DJT64DN.js +342 -0
  80. package/dist/commands/chunk-6HJ5CJSJ.js +121 -0
  81. package/dist/commands/chunk-6LGMEJRN.js +67 -0
  82. package/dist/commands/chunk-6LHMR3CR.js +126 -0
  83. package/dist/commands/chunk-6NXTP5JT.js +114 -0
  84. package/dist/commands/chunk-6OKVY2E3.js +128 -0
  85. package/dist/commands/chunk-6OUQZC6V.js +1153 -0
  86. package/dist/commands/chunk-6PL2AK3C.js +204 -0
  87. package/dist/commands/chunk-6PLIQCBG.js +326 -0
  88. package/dist/commands/chunk-6QVDEMGB.js +118 -0
  89. package/dist/commands/chunk-6T67GZMJ.js +60 -0
  90. package/dist/commands/chunk-6TC2ZMNB.js +64 -0
  91. package/dist/commands/chunk-6TOHJZ4J.js +224 -0
  92. package/dist/commands/chunk-6TOWGIY2.js +127 -0
  93. package/dist/commands/chunk-6TPGDOOD.js +48 -0
  94. package/dist/commands/chunk-6XXEW3NQ.js +159 -0
  95. package/dist/commands/chunk-72HZ2APA.js +229 -0
  96. package/dist/commands/chunk-72LAYP5S.js +46 -0
  97. package/dist/commands/chunk-72Y7PXUJ.js +83 -0
  98. package/dist/commands/chunk-77R6JEET.js +128 -0
  99. package/dist/commands/chunk-7GICNM73.js +137 -0
  100. package/dist/commands/chunk-7OZT74HR.js +78 -0
  101. package/dist/commands/chunk-7QAYL2RH.js +555 -0
  102. package/dist/commands/chunk-7T7GIZYW.js +92 -0
  103. package/dist/commands/chunk-7VXSMXVE.js +79 -0
  104. package/dist/commands/chunk-7WTVADW4.js +33 -0
  105. package/dist/commands/chunk-7YXCOW3X.js +114 -0
  106. package/dist/commands/chunk-7YYI3OX6.js +104 -0
  107. package/dist/commands/chunk-7Z25RNTV.js +516 -0
  108. package/dist/commands/chunk-A73RWSHJ.js +126 -0
  109. package/dist/commands/chunk-AAIZ2H66.js +58 -0
  110. package/dist/commands/chunk-AFGEGGIF.js +17 -0
  111. package/dist/commands/chunk-AJTXSSRD.js +29 -0
  112. package/dist/commands/chunk-AKM3BHVJ.js +48 -0
  113. package/dist/commands/chunk-AL2H63BP.js +48 -0
  114. package/dist/commands/chunk-AMQNHTDN.js +60 -0
  115. package/dist/commands/chunk-AQGVQMWF.js +168 -0
  116. package/dist/commands/chunk-B4OZF4XL.js +89 -0
  117. package/dist/commands/chunk-B4W77FVS.js +704 -0
  118. package/dist/commands/chunk-B4YBGU2C.js +580 -0
  119. package/dist/commands/chunk-B636LL4X.js +239 -0
  120. package/dist/commands/chunk-B762PNT6.js +66 -0
  121. package/dist/commands/chunk-B7UY7EOD.js +72 -0
  122. package/dist/commands/chunk-BAJABWKW.js +43 -0
  123. package/dist/commands/chunk-BAQRD3TC.js +105 -0
  124. package/dist/commands/chunk-BBPESBU3.js +85 -0
  125. package/dist/commands/chunk-BGKUZJT7.js +25 -0
  126. package/dist/commands/chunk-BIVM6OTE.js +19 -0
  127. package/dist/commands/chunk-BJQDQAQU.js +167 -0
  128. package/dist/commands/chunk-BU3WIUDD.js +230 -0
  129. package/dist/commands/chunk-C2WXQPF3.js +34 -0
  130. package/dist/commands/chunk-C3V6H6TW.js +183 -0
  131. package/dist/commands/chunk-C3Y42PHX.js +229 -0
  132. package/dist/commands/chunk-C7CDGSMW.js +112 -0
  133. package/dist/commands/chunk-C7JEMYPV.js +102 -0
  134. package/dist/commands/chunk-CCAVK7HN.js +4221 -0
  135. package/dist/commands/chunk-CFLCZ2WO.js +63 -0
  136. package/dist/commands/chunk-CGA2K3XV.js +137 -0
  137. package/dist/commands/chunk-CHQQ3VTL.js +184 -0
  138. package/dist/commands/chunk-CKD2G35M.js +86 -0
  139. package/dist/commands/chunk-CMTTDS7F.js +77 -0
  140. package/dist/commands/chunk-CRCQOA4Z.js +77 -0
  141. package/dist/commands/chunk-CT773QBI.js +161 -0
  142. package/dist/commands/chunk-CVZXDKCV.js +525 -0
  143. package/dist/commands/chunk-CXFN5W7O.js +116 -0
  144. package/dist/commands/chunk-CXVNQ7DS.js +88 -0
  145. package/dist/commands/chunk-CYYJLRIW.js +85 -0
  146. package/dist/commands/chunk-D6UXGFJ7.js +44 -0
  147. package/dist/commands/chunk-DIXUXHZ2.js +207 -0
  148. package/dist/commands/chunk-DM6I4PYD.js +110 -0
  149. package/dist/commands/chunk-DOM6HJL3.js +769 -0
  150. package/dist/commands/chunk-DVIOBFU7.js +210 -0
  151. package/dist/commands/chunk-E5CGA7FC.js +114 -0
  152. package/dist/commands/chunk-EG44IWNI.js +88 -0
  153. package/dist/commands/chunk-EHVFQQO6.js +45 -0
  154. package/dist/commands/chunk-EJG5ZJKD.js +1629 -0
  155. package/dist/commands/chunk-EKKUHXFD.js +241 -0
  156. package/dist/commands/chunk-ELCYNBZO.js +430 -0
  157. package/dist/commands/chunk-ELZQL6M3.js +100 -0
  158. package/dist/commands/chunk-EOPRRSCY.js +1891 -0
  159. package/dist/commands/chunk-EQTDNFPF.js +123 -0
  160. package/dist/commands/chunk-ERAABGU7.js +93 -0
  161. package/dist/commands/chunk-ESMIFITZ.js +715 -0
  162. package/dist/commands/chunk-EWBEYTVS.js +50 -0
  163. package/dist/commands/chunk-EYR2X5MZ.js +53 -0
  164. package/dist/commands/chunk-F546BPG3.js +74 -0
  165. package/dist/commands/chunk-F7SAHNGR.js +34 -0
  166. package/dist/commands/chunk-FBWNL3UA.js +209 -0
  167. package/dist/commands/chunk-FBZD6LOK.js +225 -0
  168. package/dist/commands/chunk-FDSSBZC7.js +75 -0
  169. package/dist/commands/chunk-FFLZPLWC.js +59 -0
  170. package/dist/commands/chunk-FHLV5BII.js +170 -0
  171. package/dist/commands/chunk-FITTCICF.js +247 -0
  172. package/dist/commands/chunk-FJ622XHY.js +179 -0
  173. package/dist/commands/chunk-FQPL6T66.js +80 -0
  174. package/dist/commands/chunk-FSM3WPTR.js +73 -0
  175. package/dist/commands/chunk-FSZA4DME.js +268 -0
  176. package/dist/commands/chunk-FVPRBMHE.js +38 -0
  177. package/dist/commands/chunk-FZ62KJXP.js +75 -0
  178. package/dist/commands/chunk-FZNYKSQS.js +335 -0
  179. package/dist/commands/chunk-FZYFGHRY.js +72 -0
  180. package/dist/commands/chunk-G4UVY3TO.js +90 -0
  181. package/dist/commands/chunk-G6H2TOAA.js +18 -0
  182. package/dist/commands/chunk-GC73YEU7.js +119 -0
  183. package/dist/commands/chunk-GHVL6IJA.js +653 -0
  184. package/dist/commands/chunk-GIGXVOKR.js +208 -0
  185. package/dist/commands/chunk-GL2DZXYD.js +103 -0
  186. package/dist/commands/chunk-GL3VOBWB.js +170 -0
  187. package/dist/commands/chunk-GLXOLYZE.js +64 -0
  188. package/dist/commands/chunk-GNRTFRSL.js +41 -0
  189. package/dist/commands/chunk-GX5XHW2F.js +132 -0
  190. package/dist/commands/chunk-GXXWRH6F.js +98 -0
  191. package/dist/commands/chunk-GY6O2WYG.js +120 -0
  192. package/dist/commands/chunk-H4IDKP55.js +37 -0
  193. package/dist/commands/chunk-H5WWD3TX.js +719 -0
  194. package/dist/commands/chunk-H6MHUR2Y.js +114 -0
  195. package/dist/commands/chunk-H6TBBVC2.js +73 -0
  196. package/dist/commands/chunk-HF52YP56.js +178 -0
  197. package/dist/commands/chunk-HKHGX7TW.js +173 -0
  198. package/dist/commands/chunk-HLQVLQEB.js +177 -0
  199. package/dist/commands/chunk-HN3EGYAI.js +169 -0
  200. package/dist/commands/chunk-HNZLKGKJ.js +43 -0
  201. package/dist/commands/chunk-HQ5U6OZR.js +315 -0
  202. package/dist/commands/chunk-HUCOQ4PI.js +161 -0
  203. package/dist/commands/chunk-HXAVYXUS.js +307 -0
  204. package/dist/commands/chunk-HXM26K3O.js +67 -0
  205. package/dist/commands/chunk-HYQ5Q6AE.js +304 -0
  206. package/dist/commands/chunk-HYVAEK6M.js +155 -0
  207. package/dist/commands/chunk-I2HHXZVG.js +46 -0
  208. package/dist/commands/chunk-I2RBOH4F.js +469 -0
  209. package/dist/commands/chunk-I36PDO6I.js +258 -0
  210. package/dist/commands/chunk-IAA73DWD.js +212 -0
  211. package/dist/commands/chunk-IBOCPSPK.js +103 -0
  212. package/dist/commands/chunk-IC5XLIE2.js +68 -0
  213. package/dist/commands/chunk-ICKP5W3Q.js +41 -0
  214. package/dist/commands/chunk-IHQHHNYR.js +1314 -0
  215. package/dist/commands/chunk-ILQU26IF.js +408 -0
  216. package/dist/commands/chunk-INOXSDDC.js +7712 -0
  217. package/dist/commands/chunk-IQMMYORJ.js +554 -0
  218. package/dist/commands/chunk-ISNZX75X.js +168 -0
  219. package/dist/commands/chunk-ISY5TFYT.js +80 -0
  220. package/dist/commands/chunk-IT2O5MOW.js +37 -0
  221. package/dist/commands/chunk-IV6ETHVB.js +155 -0
  222. package/dist/commands/chunk-IZPMBGAI.js +202 -0
  223. package/dist/commands/chunk-J56TYLAL.js +77 -0
  224. package/dist/commands/chunk-JGC4B5JR.js +94 -0
  225. package/dist/commands/chunk-JKPYLZ6T.js +198 -0
  226. package/dist/commands/chunk-JM3EJYA3.js +65 -0
  227. package/dist/commands/chunk-JN7IG7HT.js +426 -0
  228. package/dist/commands/chunk-JSJS3OT7.js +679 -0
  229. package/dist/commands/chunk-JUQN3OXG.js +351 -0
  230. package/dist/commands/chunk-JUXKVN77.js +100 -0
  231. package/dist/commands/chunk-JZZURWZH.js +33 -0
  232. package/dist/commands/chunk-K2FXMBIU.js +95 -0
  233. package/dist/commands/chunk-K2VIKG5M.js +34 -0
  234. package/dist/commands/chunk-K3LHBJDY.js +1223 -0
  235. package/dist/commands/chunk-K3TPIV56.js +480 -0
  236. package/dist/commands/chunk-K6QAQSCJ.js +98 -0
  237. package/dist/commands/chunk-KJ2ZIDQP.js +92 -0
  238. package/dist/commands/chunk-KMED24C4.js +459 -0
  239. package/dist/commands/chunk-KMVJKK43.js +88 -0
  240. package/dist/commands/chunk-KXZR7UAE.js +302 -0
  241. package/dist/commands/chunk-L7GYJHDX.js +223 -0
  242. package/dist/commands/chunk-LAQZJX5C.js +49 -0
  243. package/dist/commands/chunk-LAUKNN57.js +530 -0
  244. package/dist/commands/chunk-LDYDRXOY.js +88 -0
  245. package/dist/commands/chunk-LZNACCHR.js +174 -0
  246. package/dist/commands/chunk-MEJ2CQK2.js +102 -0
  247. package/dist/commands/chunk-MHTKSRAH.js +278 -0
  248. package/dist/commands/chunk-MI4NHZWO.js +65 -0
  249. package/dist/commands/chunk-MIDWHXJZ.js +46 -0
  250. package/dist/commands/chunk-MIZLGSHI.js +419 -0
  251. package/dist/commands/chunk-MKIHWQ65.js +218 -0
  252. package/dist/commands/chunk-MOAPWO34.js +292 -0
  253. package/dist/commands/chunk-MOLXF5KO.js +51 -0
  254. package/dist/commands/chunk-MQNKIKJ6.js +288 -0
  255. package/dist/commands/chunk-MT6TRLFD.js +91 -0
  256. package/dist/commands/chunk-MTPFNRYF.js +213 -0
  257. package/dist/commands/chunk-N2EE7MMH.js +305 -0
  258. package/dist/commands/chunk-N5FT5LYP.js +272 -0
  259. package/dist/commands/chunk-N5YPDLZM.js +114 -0
  260. package/dist/commands/chunk-NASUAXRJ.js +45 -0
  261. package/dist/commands/chunk-NAZ753DE.js +540 -0
  262. package/dist/commands/chunk-NDPR5U4U.js +897 -0
  263. package/dist/commands/chunk-NFRDCRDI.js +285 -0
  264. package/dist/commands/chunk-NHXMWRBI.js +16 -0
  265. package/dist/commands/chunk-NMG65AFQ.js +20 -0
  266. package/dist/commands/chunk-NQ4D2XZY.js +213 -0
  267. package/dist/commands/chunk-NQFQVSHV.js +56 -0
  268. package/dist/commands/chunk-NR4BD5DD.js +38 -0
  269. package/dist/commands/chunk-NV6Y4U37.js +338 -0
  270. package/dist/commands/chunk-NWMY2QJJ.js +133 -0
  271. package/dist/commands/chunk-NXWVWI4U.js +1062 -0
  272. package/dist/commands/chunk-NZ2UKIY5.js +445 -0
  273. package/dist/commands/chunk-OB3WF3DW.js +24 -0
  274. package/dist/commands/chunk-OBMXXG5D.js +181 -0
  275. package/dist/commands/chunk-OHZ6GLEJ.js +74 -0
  276. package/dist/commands/chunk-OJO5AADO.js +322 -0
  277. package/dist/commands/chunk-ORFXTHXU.js +108 -0
  278. package/dist/commands/chunk-OTCWA4QE.js +910 -0
  279. package/dist/commands/chunk-OYGNL5RO.js +290 -0
  280. package/dist/commands/chunk-OYZP5ANC.js +48 -0
  281. package/dist/commands/chunk-P35FFJXA.js +73 -0
  282. package/dist/commands/chunk-P3UODIMZ.js +272 -0
  283. package/dist/commands/chunk-PF2HZHJG.js +94 -0
  284. package/dist/commands/chunk-PIAVFPYB.js +52 -0
  285. package/dist/commands/chunk-PLE3MBGO.js +85 -0
  286. package/dist/commands/chunk-PM3YCN46.js +39 -0
  287. package/dist/commands/chunk-PMC2N6JK.js +91 -0
  288. package/dist/commands/chunk-PTJ6X3QK.js +330 -0
  289. package/dist/commands/chunk-PTRK3NBC.js +211 -0
  290. package/dist/commands/chunk-Q2VV3WT7.js +120 -0
  291. package/dist/commands/chunk-Q67SPFHV.js +44 -0
  292. package/dist/commands/chunk-Q7GMTDMG.js +44 -0
  293. package/dist/commands/chunk-QA44M56F.js +333 -0
  294. package/dist/commands/chunk-QDUWBRQC.js +61 -0
  295. package/dist/commands/chunk-QGTLTPXT.js +58 -0
  296. package/dist/commands/chunk-QHWQJCV5.js +250 -0
  297. package/dist/commands/chunk-QI72D6NY.js +54 -0
  298. package/dist/commands/chunk-QN3FWRDW.js +122 -0
  299. package/dist/commands/chunk-QQ2JKDSV.js +144 -0
  300. package/dist/commands/chunk-QRY55H5U.js +48 -0
  301. package/dist/commands/chunk-QUO5B2JH.js +260 -0
  302. package/dist/commands/chunk-QY7RITZQ.js +99 -0
  303. package/dist/commands/chunk-R4GZWGIN.js +160 -0
  304. package/dist/commands/chunk-RETTGONB.js +84 -0
  305. package/dist/commands/chunk-RH4LJ4D6.js +69 -0
  306. package/dist/commands/chunk-RKCENL5P.js +271 -0
  307. package/dist/commands/chunk-RLWK2CP3.js +82 -0
  308. package/dist/commands/chunk-RMDQQKXD.js +179 -0
  309. package/dist/commands/chunk-RRNC3QEB.js +449 -0
  310. package/dist/commands/chunk-RUCV7UYK.js +341 -0
  311. package/dist/commands/chunk-RVFE7JDZ.js +126 -0
  312. package/dist/commands/chunk-RVKFX3FD.js +70 -0
  313. package/dist/commands/chunk-RW7OILP7.js +71 -0
  314. package/dist/commands/chunk-S23MUFND.js +122 -0
  315. package/dist/commands/chunk-S3DRNZRT.js +74 -0
  316. package/dist/commands/chunk-SB3R6E3R.js +49 -0
  317. package/dist/commands/chunk-SCCUBRDO.js +237 -0
  318. package/dist/commands/chunk-SIPHEZXP.js +72 -0
  319. package/dist/commands/chunk-SK3GDQOI.js +20 -0
  320. package/dist/commands/chunk-SNXSRNFI.js +1052 -0
  321. package/dist/commands/chunk-SWHN7TNT.js +59 -0
  322. package/dist/commands/chunk-T5D3BW3D.js +85 -0
  323. package/dist/commands/chunk-T76CS2AQ.js +307 -0
  324. package/dist/commands/chunk-TBIX42IT.js +144 -0
  325. package/dist/commands/chunk-TGCIRQG5.js +109 -0
  326. package/dist/commands/chunk-TJAGKUS2.js +84 -0
  327. package/dist/commands/chunk-TKRUZZXG.js +103 -0
  328. package/dist/commands/chunk-TLCFZAL4.js +63 -0
  329. package/dist/commands/chunk-TNPFVNKX.js +585 -0
  330. package/dist/commands/chunk-TNU3IEAP.js +151 -0
  331. package/dist/commands/chunk-TQ6M5ICK.js +49 -0
  332. package/dist/commands/chunk-TR6NTNWR.js +128 -0
  333. package/dist/commands/chunk-TSS2RKBC.js +271 -0
  334. package/dist/commands/chunk-TWI7UTVE.js +799 -0
  335. package/dist/commands/chunk-TXXEXJAV.js +390 -0
  336. package/dist/commands/chunk-U6SMBYTN.js +472 -0
  337. package/dist/commands/chunk-U7JJGYYY.js +30 -0
  338. package/dist/commands/chunk-UACWDTJ5.js +106 -0
  339. package/dist/commands/chunk-UBWYGOEC.js +86 -0
  340. package/dist/commands/chunk-UC5ZOPKX.js +3983 -0
  341. package/dist/commands/chunk-UJFEMO6X.js +153 -0
  342. package/dist/commands/chunk-ULL3OIAG.js +59 -0
  343. package/dist/commands/chunk-UN6BPKQ5.js +922 -0
  344. package/dist/commands/chunk-UW3KES66.js +32 -0
  345. package/dist/commands/chunk-UWLANGIR.js +817 -0
  346. package/dist/commands/chunk-UYHREBT7.js +99 -0
  347. package/dist/commands/chunk-V2KHY4UQ.js +393 -0
  348. package/dist/commands/chunk-V36OV7AP.js +191 -0
  349. package/dist/commands/chunk-V37AWEYE.js +62 -0
  350. package/dist/commands/chunk-V4D4YV4B.js +110 -0
  351. package/dist/commands/chunk-V56NLG7I.js +217 -0
  352. package/dist/commands/chunk-V6WHDQAZ.js +74 -0
  353. package/dist/commands/chunk-V6WWW6HX.js +140 -0
  354. package/dist/commands/chunk-V7QOC5NV.js +51 -0
  355. package/dist/commands/chunk-VA4M733Q.js +127 -0
  356. package/dist/commands/chunk-VBZ47BVH.js +64 -0
  357. package/dist/commands/chunk-VD4ELMDA.js +158 -0
  358. package/dist/commands/chunk-VFW6XZH7.js +469 -0
  359. package/dist/commands/chunk-VHSGVCRM.js +244 -0
  360. package/dist/commands/chunk-VJNE7W7O.js +1153 -0
  361. package/dist/commands/chunk-VLDPUHGE.js +134 -0
  362. package/dist/commands/chunk-VMMNYTET.js +61 -0
  363. package/dist/commands/chunk-VO2GSW5P.js +99 -0
  364. package/dist/commands/chunk-VP3P7FLJ.js +168 -0
  365. package/dist/commands/chunk-VRS252GW.js +88 -0
  366. package/dist/commands/chunk-VWNVKWLV.js +298 -0
  367. package/dist/commands/chunk-VXWGPQJX.js +140 -0
  368. package/dist/commands/chunk-W4R6ZBLO.js +197 -0
  369. package/dist/commands/chunk-WE2UMZXX.js +47 -0
  370. package/dist/commands/chunk-WEEJU3EH.js +109 -0
  371. package/dist/commands/chunk-WHXGUOYP.js +48 -0
  372. package/dist/commands/chunk-WHYYBPIC.js +113 -0
  373. package/dist/commands/chunk-WKXMY7MW.js +84 -0
  374. package/dist/commands/chunk-WPSCCUTE.js +119 -0
  375. package/dist/commands/chunk-WQ3O7IKL.js +289 -0
  376. package/dist/commands/chunk-WSTNBBR3.js +22 -0
  377. package/dist/commands/chunk-WX3HQXBK.js +124 -0
  378. package/dist/commands/chunk-WYAY6CQI.js +541 -0
  379. package/dist/commands/chunk-XBXY3R4K.js +74 -0
  380. package/dist/commands/chunk-XDWCF4XH.js +347 -0
  381. package/dist/commands/chunk-XHLSJPV7.js +69 -0
  382. package/dist/commands/chunk-XHR7O2DE.js +52 -0
  383. package/dist/commands/chunk-XIV3UDHV.js +119 -0
  384. package/dist/commands/chunk-XMNPU3J5.js +469 -0
  385. package/dist/commands/chunk-XMZJB7JP.js +100 -0
  386. package/dist/commands/chunk-XO7S2BTY.js +365 -0
  387. package/dist/commands/chunk-XQDG56LP.js +47 -0
  388. package/dist/commands/chunk-XSBLCTDI.js +143 -0
  389. package/dist/commands/chunk-XT3W32DO.js +977 -0
  390. package/dist/commands/chunk-XUA7QZET.js +1263 -0
  391. package/dist/commands/chunk-XZQHP4JR.js +145 -0
  392. package/dist/commands/chunk-YDVFQL3G.js +23 -0
  393. package/dist/commands/chunk-YFD46GB2.js +45 -0
  394. package/dist/commands/chunk-YJMOFRL7.js +269 -0
  395. package/dist/commands/chunk-YPCMBQYP.js +88 -0
  396. package/dist/commands/chunk-YR5RS4YT.js +38 -0
  397. package/dist/commands/chunk-YSBLGTDZ.js +339 -0
  398. package/dist/commands/chunk-YSDBY2G7.js +186 -0
  399. package/dist/commands/chunk-YSL43R4Y.js +149 -0
  400. package/dist/commands/chunk-YUAIWKOM.js +132 -0
  401. package/dist/commands/chunk-YVNYX4UA.js +74 -0
  402. package/dist/commands/chunk-Z2GZIWAU.js +33 -0
  403. package/dist/commands/chunk-Z3XNSXQH.js +47 -0
  404. package/dist/commands/chunk-Z4E7V7YJ.js +18 -0
  405. package/dist/commands/chunk-Z7C2O5JC.js +299 -0
  406. package/dist/commands/chunk-Z7R6JWN7.js +1077 -0
  407. package/dist/commands/chunk-ZB25RO3U.js +208 -0
  408. package/dist/commands/chunk-ZBRUCKLP.js +133 -0
  409. package/dist/commands/chunk-ZCWBZOBM.js +61 -0
  410. package/dist/commands/chunk-ZDP6SKBK.js +246 -0
  411. package/dist/commands/chunk-ZEVI2ZGI.js +145 -0
  412. package/dist/commands/chunk-ZF3SZQRJ.js +44 -0
  413. package/dist/commands/chunk-ZHEUK3ZX.js +16 -0
  414. package/dist/commands/chunk-ZJ5C6KVM.js +1072 -0
  415. package/dist/commands/chunk-ZMDHJ6QF.js +42 -0
  416. package/dist/commands/chunk-ZMS3EFW3.js +1250 -0
  417. package/dist/commands/chunk-ZMWL7LZM.js +210 -0
  418. package/dist/commands/chunk-ZNFVJETO.js +263 -0
  419. package/dist/commands/chunk-ZQEKIMBV.js +82 -0
  420. package/dist/commands/chunk-ZW6DLYS4.js +646 -0
  421. package/dist/commands/ci-timing-cli.js +10 -10
  422. package/dist/commands/code-symbol-cli.js +11 -11
  423. package/dist/commands/codex-hook-adapter.js +105 -106
  424. package/dist/commands/command-derive.js +5 -5
  425. package/dist/commands/cost-audit-main.js +139 -99
  426. package/dist/commands/cspell-cached.js +38 -37
  427. package/dist/commands/defect-origin-main.js +32 -32
  428. package/dist/commands/defect-report-main.js +29 -29
  429. package/dist/commands/diff-summary-cli.js +3 -3
  430. package/dist/commands/disposition-cli.js +108 -96
  431. package/dist/commands/doctor.js +13 -13
  432. package/dist/commands/document-read-cli.js +35 -35
  433. package/dist/commands/document-section-main.js +35 -35
  434. package/dist/commands/dogfood-commit-cli.js +11 -11
  435. package/dist/commands/effect-audit-cli.js +41 -35
  436. package/dist/commands/epic-audit-main.js +77 -76
  437. package/dist/commands/epic-bundle-main.js +167 -111
  438. package/dist/commands/epic-check.js +29 -29
  439. package/dist/commands/epic-main.js +170 -117
  440. package/dist/commands/epic-next-main.js +73 -72
  441. package/dist/commands/format-edited-cli.js +43 -43
  442. package/dist/commands/format.js +21 -21
  443. package/dist/commands/fresh-machine-cli.js +9 -9
  444. package/dist/commands/gh-usage-cli.js +13 -13
  445. package/dist/commands/git-followup-workflow.js +130 -130
  446. package/dist/commands/git-gh-checks-failed-main.js +16 -16
  447. package/dist/commands/git-workflow.js +47 -47
  448. package/dist/commands/hook-ledger-cli.js +113 -74
  449. package/dist/commands/init-main.js +28 -28
  450. package/dist/commands/inputs.json +2011 -2001
  451. package/dist/commands/issue-ack-cli.js +17 -17
  452. package/dist/commands/issue-already-done-cli.js +88 -87
  453. package/dist/commands/issue-body-cli.js +78 -64
  454. package/dist/commands/issue-cite-main.js +26 -26
  455. package/dist/commands/issue-comment-main.js +29 -29
  456. package/dist/commands/issue-consolidate-cli.js +43 -43
  457. package/dist/commands/issue-file-main.js +181 -133
  458. package/dist/commands/issue-fold-existing-cli.js +169 -113
  459. package/dist/commands/issue-fold-main.js +44 -43
  460. package/dist/commands/issue-lint-main.js +55 -54
  461. package/dist/commands/issue-measured-cli.js +91 -90
  462. package/dist/commands/issue-plan-cli.js +136 -135
  463. package/dist/commands/issue-premise-unmet-cli.js +91 -90
  464. package/dist/commands/issue-priority-cli.js +28 -28
  465. package/dist/commands/issue-read-main.js +30 -30
  466. package/dist/commands/issue-release-class-cli.js +26 -26
  467. package/dist/commands/issue-release-main.js +28 -28
  468. package/dist/commands/issue-scout-main.js +168 -112
  469. package/dist/commands/issue-spill-main.js +194 -135
  470. package/dist/commands/issue-state-main.js +28 -28
  471. package/dist/commands/issue-tick-cli.js +28 -28
  472. package/dist/commands/josh-completion.js +12 -12
  473. package/dist/commands/lane-adopt-cli.js +38 -37
  474. package/dist/commands/lane-breakdown-cli.js +176 -166
  475. package/dist/commands/lane-cli.js +163 -163
  476. package/dist/commands/lane-launch-main.js +71 -70
  477. package/dist/commands/lane-limit-cli.js +162 -106
  478. package/dist/commands/lane-measure-cli.js +386 -254
  479. package/dist/commands/lane-pause-cli.js +33 -32
  480. package/dist/commands/lane-plan-cli.js +134 -133
  481. package/dist/commands/lane-resolve-cli.js +35 -35
  482. package/dist/commands/lane-restart-cli.js +157 -157
  483. package/dist/commands/lane-why-cli.js +131 -102
  484. package/dist/commands/lane-withdraw-cli.js +66 -65
  485. package/dist/commands/latest-if-required-cli.js +5 -5
  486. package/dist/commands/lines-command.js +3 -3
  487. package/dist/commands/lint-parallel-main.js +47 -46
  488. package/dist/commands/lint-related.js +86 -86
  489. package/dist/commands/lint-rule.js +46 -45
  490. package/dist/commands/lockfile-policy.js +18 -18
  491. package/dist/commands/main-merge-main.js +12 -12
  492. package/dist/commands/main-sync-main.js +12 -12
  493. package/dist/commands/managed-config-scope-cli.js +7 -7
  494. package/dist/commands/measure-rerun-cli.js +23 -23
  495. package/dist/commands/metrics-command.js +67 -67
  496. package/dist/commands/observation-record-cli.js +13 -13
  497. package/dist/commands/observations-flush-cli.js +41 -41
  498. package/dist/commands/package-scout-cli.js +52 -52
  499. package/dist/commands/pin-verify-cli.js +9 -9
  500. package/dist/commands/plan-consumers-main.js +6 -6
  501. package/dist/commands/plan-scaffold-cli.js +125 -125
  502. package/dist/commands/pr-classification-main.js +12 -12
  503. package/dist/commands/pre-commit-lint.js +14 -15
  504. package/dist/commands/pre-commit-type-check.js +46 -46
  505. package/dist/commands/pre-push-unit.js +51 -52
  506. package/dist/commands/pretool-guard-cli.js +94 -94
  507. package/dist/commands/prevent-main-commit.js +2 -2
  508. package/dist/commands/project-profile-cli.js +13 -13
  509. package/dist/commands/propagate.js +22 -22
  510. package/dist/commands/prose-stale-cli.js +32 -32
  511. package/dist/commands/read-set-cli.js +39 -39
  512. package/dist/commands/refactor-scan-cli.js +5 -5
  513. package/dist/commands/release-cli.js +95 -43
  514. package/dist/commands/release-scope-main.js +34 -34
  515. package/dist/commands/rename-cli.js +39 -38
  516. package/dist/commands/report-template-cli.js +3 -3
  517. package/dist/commands/reserved-run.js +10 -10
  518. package/dist/commands/retrospective-cli.js +141 -102
  519. package/dist/commands/review-attest-cli.js +19 -19
  520. package/dist/commands/review-brief-main.js +159 -159
  521. package/dist/commands/review-findings-cli.js +12 -12
  522. package/dist/commands/review-pair-cli.js +145 -145
  523. package/dist/commands/review-record-main.js +145 -145
  524. package/dist/commands/review-round2-cli.js +66 -65
  525. package/dist/commands/review-stops-cli.js +35 -34
  526. package/dist/commands/review-submit-cli.js +159 -159
  527. package/dist/commands/rule-list.js +59 -59
  528. package/dist/commands/rule-value-cli.js +129 -93
  529. package/dist/commands/ruleset-check-cli.js +12 -12
  530. package/dist/commands/run-add-cli.js +61 -61
  531. package/dist/commands/run-board-main.js +197 -156
  532. package/dist/commands/run-carry-cli.js +182 -150
  533. package/dist/commands/run-chain-cli.js +153 -153
  534. package/dist/commands/run-cut-cli.js +160 -160
  535. package/dist/commands/run-ending-cli.js +34 -34
  536. package/dist/commands/run-entry-cli.js +210 -201
  537. package/dist/commands/run-event-cli.js +9 -8
  538. package/dist/commands/run-handoff-cli.js +50 -50
  539. package/dist/commands/run-handoff-lanes-cli.js +34 -33
  540. package/dist/commands/run-hold-main.js +87 -86
  541. package/dist/commands/run-liveness-cli.js +31 -30
  542. package/dist/commands/run-merge-main.js +171 -139
  543. package/dist/commands/run-next-cli.js +110 -110
  544. package/dist/commands/run-park-cli.js +109 -109
  545. package/dist/commands/run-pause-cli.js +189 -165
  546. package/dist/commands/run-pickup-cli.js +34 -33
  547. package/dist/commands/run-prep-main.js +106 -106
  548. package/dist/commands/run-prime-cli.js +136 -136
  549. package/dist/commands/run-progress-main.js +174 -127
  550. package/dist/commands/run-report-cli.js +45 -44
  551. package/dist/commands/run-review-cli.js +188 -188
  552. package/dist/commands/run-ship-cli.js +239 -234
  553. package/dist/commands/run-ship-evidence-cli.js +53 -54
  554. package/dist/commands/run-ship-lap-DGUAMCPY.js +28 -0
  555. package/dist/commands/run-ship-wait-main.js +64 -63
  556. package/dist/commands/run-split-cli.js +183 -156
  557. package/dist/commands/run-stale-main.js +55 -54
  558. package/dist/commands/run-status-cli.js +28 -28
  559. package/dist/commands/run-step-cli.js +192 -190
  560. package/dist/commands/run-tail-cli.js +9 -9
  561. package/dist/commands/run-tidy-main.js +53 -52
  562. package/dist/commands/run-wake-main.js +178 -178
  563. package/dist/commands/run-watcher-guard-cli.js +51 -50
  564. package/dist/commands/security-audit-main.js +8 -8
  565. package/dist/commands/security-audit-provision-main.js +5 -5
  566. package/dist/commands/selfcheck-cli.js +47 -47
  567. package/dist/commands/session-language-main.js +51 -51
  568. package/dist/commands/sonar-hotspots-cli.js +5 -5
  569. package/dist/commands/sonar-new-code-cli.js +3 -3
  570. package/dist/commands/split-assess-cli.js +42 -41
  571. package/dist/commands/split-child-recover-cli.js +28 -28
  572. package/dist/commands/start.js +53 -53
  573. package/dist/commands/stash-pop-main.js +3 -3
  574. package/dist/commands/stash-push-main.js +4 -4
  575. package/dist/commands/stop-guard.js +183 -159
  576. package/dist/commands/sync-main.js +18 -18
  577. package/dist/commands/telegram-test-main.js +20 -20
  578. package/dist/commands/test-declared.js +15 -15
  579. package/dist/commands/test-e2e-guard.js +41 -41
  580. package/dist/commands/test-pinned-main.js +43 -43
  581. package/dist/commands/test-reach-cli.js +27 -27
  582. package/dist/commands/test-red-main.js +12 -12
  583. package/dist/commands/test-related-UHUIUC7X.js +112 -0
  584. package/dist/commands/test-related-main.js +75 -76
  585. package/dist/commands/test-unit-guard-main.js +21 -21
  586. package/dist/commands/time-cli.js +34 -34
  587. package/dist/commands/time-density-cli.js +13 -12
  588. package/dist/commands/tree-status-cli.js +4 -4
  589. package/dist/commands/type-check-command.js +14 -14
  590. package/dist/commands/ui-routes-cli.js +4 -4
  591. package/dist/commands/uninstall.js +30 -30
  592. package/dist/commands/unused-members-LOSERD3C.js +329 -0
  593. package/dist/commands/unused-members-cli.js +15 -15
  594. package/dist/commands/upstream-interrupt-main.js +183 -136
  595. package/dist/commands/verification-gate.js +71 -72
  596. package/dist/commands/version-check.js +12 -12
  597. package/dist/hooks/audit-provision.js +4 -4
  598. package/dist/hooks/chunk-2R62D5UU.js +12 -0
  599. package/dist/hooks/chunk-3J5M7SXZ.js +1059 -0
  600. package/dist/hooks/chunk-4UAA2YFC.js +258 -0
  601. package/dist/hooks/chunk-74D3EJGW.js +5204 -0
  602. package/dist/hooks/chunk-74FYAI2L.js +43 -0
  603. package/dist/hooks/chunk-ALY5AW75.js +1953 -0
  604. package/dist/hooks/chunk-FBDC6KVJ.js +77 -0
  605. package/dist/hooks/chunk-HKUR6WKR.js +6874 -0
  606. package/dist/hooks/chunk-NFTDYUN3.js +1915 -0
  607. package/dist/hooks/chunk-NP6BVTR3.js +9176 -0
  608. package/dist/hooks/chunk-OOEG63LD.js +321 -0
  609. package/dist/hooks/chunk-RWVA2SFN.js +28584 -0
  610. package/dist/hooks/chunk-U55QDXSC.js +32 -0
  611. package/dist/hooks/chunk-VWZOPSZX.js +5092 -0
  612. package/dist/hooks/chunk-Z6W64J64.js +11254 -0
  613. package/dist/hooks/codex-hook-adapter.js +12 -12
  614. package/dist/hooks/daemon.js +112 -40
  615. package/dist/hooks/format-edited.js +7 -7
  616. package/dist/hooks/inputs.json +612 -556
  617. package/dist/hooks/pretool-guard.js +10 -10
  618. package/dist/hooks/run-ship-lap-XDLXQIS3.js +8 -0
  619. package/dist/hooks/session-lang.js +7 -7
  620. package/dist/hooks/stop-guard.js +8396 -4497
  621. package/dist/inputs.json +76 -76
  622. package/dist/josh.js +31 -15
  623. package/dist/registry-migrate.mjs +32 -8
  624. package/dist/version/index.js +48 -19
  625. package/package.json +1 -1
  626. package/prompts/collaboration-workflow/issue-template.en.md +5 -0
  627. package/prompts/collaboration-workflow/issue-template.md +14 -1
  628. package/scripts/backlog/backlog-drive-cli.ts +2 -1
  629. package/scripts/backlog/backlog-drive-listing.ts +20 -6
  630. package/scripts/backlog/backlog-hold-text.ts +1 -0
  631. package/scripts/backlog/backlog-listing-trace.ts +35 -0
  632. package/scripts/backlog/backlog-offer-timing.ts +10 -2
  633. package/scripts/backlog/backlog-wait-cause.ts +10 -2
  634. package/scripts/document/document-byte-budget.ts +2 -2
  635. package/scripts/git/git-command.ts +7 -3
  636. package/scripts/git/git-pre-push-hook.ts +9 -5
  637. package/scripts/git/git-spawn.ts +20 -4
  638. package/scripts/hooks/implementation-shell-deny-git.ts +17 -3
  639. package/scripts/hooks/pre-push-related-switch.ts +3 -2
  640. package/scripts/hooks/pre-push-unit.ts +3 -1
  641. package/scripts/issue/effect-audit.ts +7 -0
  642. package/scripts/issue/issue-body-cli.ts +18 -2
  643. package/scripts/issue/issue-body-keys.ts +1 -0
  644. package/scripts/issue/issue-file-pass.ts +1 -0
  645. package/scripts/issue/issue-lint-cli.ts +16 -2
  646. package/scripts/issue/issue-lint.ts +16 -0
  647. package/scripts/issue/issue-publication-state.ts +82 -6
  648. package/scripts/issue/issue-spill.ts +18 -4
  649. package/scripts/issue/issue-template-section.ts +7 -1
  650. package/scripts/josh/josh-commands-ai.ts +3 -2
  651. package/scripts/lane/lane-chain-stop-stats.ts +19 -7
  652. package/scripts/lane/lane-concurrency-stats.ts +39 -14
  653. package/scripts/lane/lane-concurrency-wait.ts +64 -0
  654. package/scripts/lane/lane-core-wait-stats.ts +13 -4
  655. package/scripts/lane/lane-implement-read-calls.ts +123 -0
  656. package/scripts/lane/lane-implement-read.ts +8 -3
  657. package/scripts/lane/lane-implement-stats.ts +33 -6
  658. package/scripts/lane/lane-ledger-schema-ship.ts +17 -3
  659. package/scripts/lane/lane-measure-cli.ts +5 -3
  660. package/scripts/lane/lane-plan-size.ts +1 -1
  661. package/scripts/lane/lane-size-record.ts +4 -3
  662. package/scripts/lane/lane-size-stats.ts +21 -9
  663. package/scripts/lane/lane-stats-request.ts +12 -3
  664. package/scripts/lane/lane-stats-tables.ts +30 -9
  665. package/scripts/lane/lane-stop-stats.ts +10 -1
  666. package/scripts/lane/lane-table-rows.ts +26 -0
  667. package/scripts/lib/timeouts.ts +4 -3
  668. package/scripts/registry-migration/migrate-lock.ts +40 -8
  669. package/scripts/registry-migration/migrate.ts +6 -3
  670. package/scripts/release/release-publish.ts +23 -3
  671. package/scripts/release/release-step-time.ts +61 -0
  672. package/scripts/review/disposition-batch-filing.ts +13 -0
  673. package/scripts/rules/git-argv.ts +10 -3
  674. package/scripts/run/board/run-board-closed-pace.ts +76 -0
  675. package/scripts/run/board/run-board-github.ts +17 -28
  676. package/scripts/run/board/run-board-labels.ts +5 -2
  677. package/scripts/run/board/run-board-reason.ts +10 -0
  678. package/scripts/run/entry/run-entry-sync.ts +17 -5
  679. package/scripts/run/hold/run-hold-cli.ts +8 -2
  680. package/scripts/run/merge/run-merge-health.ts +9 -2
  681. package/scripts/run/review/run-review-pinned-accepted.ts +24 -1
  682. package/scripts/run/run-preflight.ts +81 -17
  683. package/scripts/run/ship/run-ship-pre-detach-pinned.ts +14 -9
  684. package/scripts/run/ship/run-ship-pre-detach.ts +16 -7
  685. package/scripts/run/ship/run-ship-stop-cause.ts +13 -2
  686. package/scripts/run/ship/run-ship.ts +7 -1
  687. package/scripts/split/split-assess.ts +7 -22
  688. package/scripts/split/split-cap.ts +31 -0
  689. package/scripts/test/direct-importers.ts +46 -3
  690. package/scripts/test/lockfile-changed-packages.ts +155 -0
  691. package/scripts/test/package-version-only.ts +30 -0
  692. package/scripts/test/pure-files-entries.ts +1 -27
  693. package/scripts/test/test-related-scope.ts +30 -5
  694. package/scripts/test/test-related.ts +3 -3
  695. package/scripts/test/test-unit-guard.ts +9 -9
  696. package/scripts/test/unit-worker-share.ts +21 -0
  697. package/scripts/test/whole-suite-files.ts +23 -2
  698. package/scripts/test/whole-suite-narrowing.ts +108 -0
  699. package/dist/commands/chunk-26JL4UU4.js +0 -365
  700. package/dist/commands/chunk-2BC33QPY.js +0 -183
  701. package/dist/commands/chunk-2BIVHPCA.js +0 -85
  702. package/dist/commands/chunk-2CKJODCK.js +0 -245
  703. package/dist/commands/chunk-2CNVIA35.js +0 -335
  704. package/dist/commands/chunk-2E6PSONB.js +0 -46
  705. package/dist/commands/chunk-2GA4775H.js +0 -77
  706. package/dist/commands/chunk-2O64H5UJ.js +0 -462
  707. package/dist/commands/chunk-2OEXY4GM.js +0 -252
  708. package/dist/commands/chunk-2ONSHOAY.js +0 -46
  709. package/dist/commands/chunk-2SA3W4JF.js +0 -41
  710. package/dist/commands/chunk-2VY7CJ2R.js +0 -212
  711. package/dist/commands/chunk-2WRDAQPJ.js +0 -74
  712. package/dist/commands/chunk-2XLR7R6E.js +0 -541
  713. package/dist/commands/chunk-34JJYCIY.js +0 -117
  714. package/dist/commands/chunk-36XHHYNU.js +0 -158
  715. package/dist/commands/chunk-3CJNQU7P.js +0 -179
  716. package/dist/commands/chunk-3D5T6KMW.js +0 -59
  717. package/dist/commands/chunk-3EW5LTN3.js +0 -114
  718. package/dist/commands/chunk-3F3RNIG2.js +0 -128
  719. package/dist/commands/chunk-3FLTEJZY.js +0 -74
  720. package/dist/commands/chunk-3JWPTRNI.js +0 -60
  721. package/dist/commands/chunk-3LUPGBW4.js +0 -137
  722. package/dist/commands/chunk-3PCUERXE.js +0 -19
  723. package/dist/commands/chunk-3U6A5WON.js +0 -173
  724. package/dist/commands/chunk-3VLDFM5I.js +0 -426
  725. package/dist/commands/chunk-3YT3RCSI.js +0 -140
  726. package/dist/commands/chunk-43DU7DYZ.js +0 -540
  727. package/dist/commands/chunk-43H725LG.js +0 -132
  728. package/dist/commands/chunk-46STCE6Q.js +0 -48
  729. package/dist/commands/chunk-46WEC6HZ.js +0 -82
  730. package/dist/commands/chunk-47J4KOZP.js +0 -46
  731. package/dist/commands/chunk-47W7PF4T.js +0 -22
  732. package/dist/commands/chunk-4F4KARQN.js +0 -229
  733. package/dist/commands/chunk-4HB7NWXP.js +0 -263
  734. package/dist/commands/chunk-4I5AA4P5.js +0 -237
  735. package/dist/commands/chunk-4IDINPBE.js +0 -525
  736. package/dist/commands/chunk-4NSIW3UB.js +0 -104
  737. package/dist/commands/chunk-4YTKV6WV.js +0 -37
  738. package/dist/commands/chunk-5ARNFMQK.js +0 -1263
  739. package/dist/commands/chunk-5AZTSESD.js +0 -114
  740. package/dist/commands/chunk-5FUI2MLY.js +0 -89
  741. package/dist/commands/chunk-5IHEBIPD.js +0 -333
  742. package/dist/commands/chunk-5KAW5GPF.js +0 -44
  743. package/dist/commands/chunk-5KSJEWXR.js +0 -77
  744. package/dist/commands/chunk-5PCK53WP.js +0 -168
  745. package/dist/commands/chunk-5PPWXOCF.js +0 -64
  746. package/dist/commands/chunk-5Y7FOJLX.js +0 -186
  747. package/dist/commands/chunk-5YTEMF4O.js +0 -110
  748. package/dist/commands/chunk-6AHAY5VZ.js +0 -69
  749. package/dist/commands/chunk-6FN37DER.js +0 -330
  750. package/dist/commands/chunk-6JD4VNO4.js +0 -124
  751. package/dist/commands/chunk-6KUA7MRG.js +0 -64
  752. package/dist/commands/chunk-6LDEZFYR.js +0 -88
  753. package/dist/commands/chunk-6NXIZMIK.js +0 -122
  754. package/dist/commands/chunk-6O45F6YI.js +0 -86
  755. package/dist/commands/chunk-6OHJBQDE.js +0 -184
  756. package/dist/commands/chunk-6TIVDEKG.js +0 -34
  757. package/dist/commands/chunk-6WDCCG3M.js +0 -1249
  758. package/dist/commands/chunk-6ZHXEQAI.js +0 -715
  759. package/dist/commands/chunk-736NECRD.js +0 -16
  760. package/dist/commands/chunk-77LEKVEE.js +0 -32
  761. package/dist/commands/chunk-7DGHFBU7.js +0 -247
  762. package/dist/commands/chunk-7EAYFMDN.js +0 -235
  763. package/dist/commands/chunk-7HYYHCTN.js +0 -402
  764. package/dist/commands/chunk-7JOOMFDI.js +0 -155
  765. package/dist/commands/chunk-7K5ITPHR.js +0 -338
  766. package/dist/commands/chunk-7OEBSPPU.js +0 -321
  767. package/dist/commands/chunk-7ULYLGUK.js +0 -492
  768. package/dist/commands/chunk-A3JYZWBS.js +0 -803
  769. package/dist/commands/chunk-A3LCN4KA.js +0 -84
  770. package/dist/commands/chunk-ABLXBG6C.js +0 -98
  771. package/dist/commands/chunk-ABM2MZBF.js +0 -161
  772. package/dist/commands/chunk-AN7BFVHU.js +0 -244
  773. package/dist/commands/chunk-AQCVEQSM.js +0 -99
  774. package/dist/commands/chunk-AU563VKH.js +0 -75
  775. package/dist/commands/chunk-AUTD5FV2.js +0 -1077
  776. package/dist/commands/chunk-AV26CMY6.js +0 -304
  777. package/dist/commands/chunk-B2PJEV3S.js +0 -246
  778. package/dist/commands/chunk-B545ENGY.js +0 -214
  779. package/dist/commands/chunk-B5HP6T4L.js +0 -170
  780. package/dist/commands/chunk-B73IIRMS.js +0 -207
  781. package/dist/commands/chunk-BBLEC4YQ.js +0 -109
  782. package/dist/commands/chunk-BDSG6JKH.js +0 -977
  783. package/dist/commands/chunk-BFKTUD3V.js +0 -33
  784. package/dist/commands/chunk-BLRXHK2V.js +0 -17
  785. package/dist/commands/chunk-BML6MEUB.js +0 -326
  786. package/dist/commands/chunk-BMM4RHCG.js +0 -69
  787. package/dist/commands/chunk-BPDNGJXY.js +0 -63
  788. package/dist/commands/chunk-BQLKWGGC.js +0 -118
  789. package/dist/commands/chunk-BRMJVCP7.js +0 -167
  790. package/dist/commands/chunk-BRWR5YKU.js +0 -268
  791. package/dist/commands/chunk-BUZAYEBD.js +0 -319
  792. package/dist/commands/chunk-C7FGDZWP.js +0 -224
  793. package/dist/commands/chunk-CC4BIGCA.js +0 -20
  794. package/dist/commands/chunk-CCHJZEF5.js +0 -4220
  795. package/dist/commands/chunk-CDK7QZWG.js +0 -44
  796. package/dist/commands/chunk-CDYFUCDC.js +0 -72
  797. package/dist/commands/chunk-CEADAQIL.js +0 -170
  798. package/dist/commands/chunk-CNL3SLM6.js +0 -116
  799. package/dist/commands/chunk-CNQ7D2GZ.js +0 -104
  800. package/dist/commands/chunk-COGKULQH.js +0 -119
  801. package/dist/commands/chunk-CQUZ6TNQ.js +0 -120
  802. package/dist/commands/chunk-CTXJVMHW.js +0 -48
  803. package/dist/commands/chunk-CUWT6UQO.js +0 -13
  804. package/dist/commands/chunk-D6CF5QGM.js +0 -80
  805. package/dist/commands/chunk-DACNQAXC.js +0 -20
  806. package/dist/commands/chunk-DDOS32JU.js +0 -74
  807. package/dist/commands/chunk-DF6QD4AF.js +0 -52
  808. package/dist/commands/chunk-DFEXNB44.js +0 -159
  809. package/dist/commands/chunk-DHDKG5HZ.js +0 -151
  810. package/dist/commands/chunk-DHJRFBKO.js +0 -223
  811. package/dist/commands/chunk-DKO5VTEH.js +0 -65
  812. package/dist/commands/chunk-DLHH3MLS.js +0 -85
  813. package/dist/commands/chunk-DOYNK72G.js +0 -81
  814. package/dist/commands/chunk-DS53UUDH.js +0 -679
  815. package/dist/commands/chunk-DUA4E4ES.js +0 -230
  816. package/dist/commands/chunk-DVCMQMRN.js +0 -191
  817. package/dist/commands/chunk-E3YKMCCJ.js +0 -108
  818. package/dist/commands/chunk-E4F2RTKC.js +0 -272
  819. package/dist/commands/chunk-E4PFCTXN.js +0 -127
  820. package/dist/commands/chunk-EAOTR2WL.js +0 -24
  821. package/dist/commands/chunk-EHPTXSAT.js +0 -315
  822. package/dist/commands/chunk-EHVEWJQ4.js +0 -33
  823. package/dist/commands/chunk-EMFSPPMH.js +0 -98
  824. package/dist/commands/chunk-EPICTV2P.js +0 -46
  825. package/dist/commands/chunk-ES42XPAD.js +0 -123
  826. package/dist/commands/chunk-ESUY7KTZ.js +0 -137
  827. package/dist/commands/chunk-EVVQJJFV.js +0 -507
  828. package/dist/commands/chunk-EWXXEGXL.js +0 -149
  829. package/dist/commands/chunk-F2U46HAE.js +0 -52
  830. package/dist/commands/chunk-F2VYWU6Z.js +0 -653
  831. package/dist/commands/chunk-F4SGOTUF.js +0 -36
  832. package/dist/commands/chunk-F4YMLVWN.js +0 -183
  833. package/dist/commands/chunk-F57LACNC.js +0 -84
  834. package/dist/commands/chunk-F5N2QIFD.js +0 -213
  835. package/dist/commands/chunk-FA7CN75F.js +0 -160
  836. package/dist/commands/chunk-FDASVHZD.js +0 -241
  837. package/dist/commands/chunk-FEYZ575X.js +0 -278
  838. package/dist/commands/chunk-FJM2HWKW.js +0 -299
  839. package/dist/commands/chunk-FJMXUDEY.js +0 -3985
  840. package/dist/commands/chunk-FM7VVAK6.js +0 -426
  841. package/dist/commands/chunk-FQWRM5FC.js +0 -67
  842. package/dist/commands/chunk-FT33ZCSB.js +0 -298
  843. package/dist/commands/chunk-FTAWHAI7.js +0 -170
  844. package/dist/commands/chunk-G2DNS74C.js +0 -53
  845. package/dist/commands/chunk-G3BBCAAH.js +0 -90
  846. package/dist/commands/chunk-G6BXCWPH.js +0 -141
  847. package/dist/commands/chunk-GABDPTDK.js +0 -907
  848. package/dist/commands/chunk-GAVSK6P6.js +0 -230
  849. package/dist/commands/chunk-GB2BRQVL.js +0 -300
  850. package/dist/commands/chunk-GBMZXFFC.js +0 -44
  851. package/dist/commands/chunk-GGWXF7RJ.js +0 -70
  852. package/dist/commands/chunk-GHOTKHI4.js +0 -30
  853. package/dist/commands/chunk-GMVN6ZP2.js +0 -48
  854. package/dist/commands/chunk-GNTTGRCX.js +0 -133
  855. package/dist/commands/chunk-GOY5JECO.js +0 -130
  856. package/dist/commands/chunk-GZL6ISVM.js +0 -72
  857. package/dist/commands/chunk-HALHQILI.js +0 -51
  858. package/dist/commands/chunk-HAT7AFBF.js +0 -85
  859. package/dist/commands/chunk-HDVSZ6CZ.js +0 -292
  860. package/dist/commands/chunk-HE3GOMR7.js +0 -88
  861. package/dist/commands/chunk-HEFUC4ZW.js +0 -65
  862. package/dist/commands/chunk-HHS3LYLV.js +0 -30
  863. package/dist/commands/chunk-HQSWPRUF.js +0 -61
  864. package/dist/commands/chunk-HQZ65PJE.js +0 -167
  865. package/dist/commands/chunk-HRN73FQJ.js +0 -77
  866. package/dist/commands/chunk-HSZECERZ.js +0 -271
  867. package/dist/commands/chunk-HYE3MBAN.js +0 -113
  868. package/dist/commands/chunk-IAB6LCJL.js +0 -18
  869. package/dist/commands/chunk-IAGENI2U.js +0 -42
  870. package/dist/commands/chunk-ICPVBHIX.js +0 -48
  871. package/dist/commands/chunk-ILIITIMQ.js +0 -126
  872. package/dist/commands/chunk-IONGJJYM.js +0 -179
  873. package/dist/commands/chunk-IP23WOWP.js +0 -126
  874. package/dist/commands/chunk-IPS7EBE5.js +0 -140
  875. package/dist/commands/chunk-IXZZSST7.js +0 -459
  876. package/dist/commands/chunk-IY3DSDRW.js +0 -173
  877. package/dist/commands/chunk-J2RUI4KN.js +0 -47
  878. package/dist/commands/chunk-J3PCRUVY.js +0 -1223
  879. package/dist/commands/chunk-J4XHEOOW.js +0 -156
  880. package/dist/commands/chunk-JDHLHYJJ.js +0 -208
  881. package/dist/commands/chunk-JGX7JIW4.js +0 -126
  882. package/dist/commands/chunk-JHIGDFBS.js +0 -59
  883. package/dist/commands/chunk-JI2EGXZX.js +0 -53
  884. package/dist/commands/chunk-JNV3VRK2.js +0 -47
  885. package/dist/commands/chunk-JPMAW2VZ.js +0 -91
  886. package/dist/commands/chunk-JQEY6KDP.js +0 -90
  887. package/dist/commands/chunk-JSJDIEGZ.js +0 -88
  888. package/dist/commands/chunk-JT5ICRFF.js +0 -44
  889. package/dist/commands/chunk-JU2MAYQ3.js +0 -997
  890. package/dist/commands/chunk-JUCJ4Y42.js +0 -77
  891. package/dist/commands/chunk-JZK33TA5.js +0 -99
  892. package/dist/commands/chunk-K3OZBV3L.js +0 -49
  893. package/dist/commands/chunk-K6P5PISC.js +0 -114
  894. package/dist/commands/chunk-KDCHY7XO.js +0 -88
  895. package/dist/commands/chunk-KDGX3JTV.js +0 -51
  896. package/dist/commands/chunk-KGSEWOKI.js +0 -353
  897. package/dist/commands/chunk-KIS7JFNP.js +0 -217
  898. package/dist/commands/chunk-KJPZPTS4.js +0 -245
  899. package/dist/commands/chunk-KKHD3C2P.js +0 -114
  900. package/dist/commands/chunk-KKIIY5I5.js +0 -67
  901. package/dist/commands/chunk-KN46UC77.js +0 -114
  902. package/dist/commands/chunk-KP2BVAS5.js +0 -125
  903. package/dist/commands/chunk-KPAJBJXG.js +0 -63
  904. package/dist/commands/chunk-KPMAJP6D.js +0 -145
  905. package/dist/commands/chunk-KR6WUAJM.js +0 -122
  906. package/dist/commands/chunk-KWLNK2NJ.js +0 -391
  907. package/dist/commands/chunk-KXK2A2HB.js +0 -158
  908. package/dist/commands/chunk-L2CLCNXW.js +0 -144
  909. package/dist/commands/chunk-L7MDU6D7.js +0 -155
  910. package/dist/commands/chunk-L7VD4MLF.js +0 -78
  911. package/dist/commands/chunk-LBVYFW3I.js +0 -38
  912. package/dist/commands/chunk-LIPUSINQ.js +0 -140
  913. package/dist/commands/chunk-LJVZWE3A.js +0 -1885
  914. package/dist/commands/chunk-LKSSQVDA.js +0 -49
  915. package/dist/commands/chunk-LNQOL2CL.js +0 -321
  916. package/dist/commands/chunk-LS7P324N.js +0 -72
  917. package/dist/commands/chunk-LU5EOGFQ.js +0 -50
  918. package/dist/commands/chunk-LX2ENXHZ.js +0 -197
  919. package/dist/commands/chunk-M3UGRNNB.js +0 -103
  920. package/dist/commands/chunk-M3ZDYCUF.js +0 -117
  921. package/dist/commands/chunk-MDGPJOLK.js +0 -351
  922. package/dist/commands/chunk-MDKRTUE4.js +0 -288
  923. package/dist/commands/chunk-MFZVRWRS.js +0 -34
  924. package/dist/commands/chunk-MHF6BDQI.js +0 -128
  925. package/dist/commands/chunk-MLJDW7YN.js +0 -64
  926. package/dist/commands/chunk-MNLHYAJO.js +0 -80
  927. package/dist/commands/chunk-MOD3FG4V.js +0 -419
  928. package/dist/commands/chunk-MRAEJLXL.js +0 -83
  929. package/dist/commands/chunk-MRW2WYJS.js +0 -68
  930. package/dist/commands/chunk-N2XH7QBY.js +0 -103
  931. package/dist/commands/chunk-N2ZF6T4E.js +0 -332
  932. package/dist/commands/chunk-N36NZMAL.js +0 -79
  933. package/dist/commands/chunk-N4EMFHQ6.js +0 -114
  934. package/dist/commands/chunk-N4P64UIH.js +0 -211
  935. package/dist/commands/chunk-NABSSY4P.js +0 -204
  936. package/dist/commands/chunk-NDQIJBRQ.js +0 -100
  937. package/dist/commands/chunk-NDR4PCVG.js +0 -29
  938. package/dist/commands/chunk-NEOCCN6D.js +0 -302
  939. package/dist/commands/chunk-NFKWFOFM.js +0 -45
  940. package/dist/commands/chunk-NFUPJBBG.js +0 -516
  941. package/dist/commands/chunk-NHEBKL7X.js +0 -170
  942. package/dist/commands/chunk-NHTEC5U4.js +0 -99
  943. package/dist/commands/chunk-NOSODWWK.js +0 -1132
  944. package/dist/commands/chunk-NPXXYG6Z.js +0 -580
  945. package/dist/commands/chunk-NR2JDBPV.js +0 -75
  946. package/dist/commands/chunk-NRULNBYI.js +0 -1153
  947. package/dist/commands/chunk-NTGF5N3N.js +0 -110
  948. package/dist/commands/chunk-NTIVNQKF.js +0 -73
  949. package/dist/commands/chunk-NUCFIYZL.js +0 -119
  950. package/dist/commands/chunk-NVMV7BYX.js +0 -88
  951. package/dist/commands/chunk-NYWPTYGL.js +0 -169
  952. package/dist/commands/chunk-O45BX4EL.js +0 -39
  953. package/dist/commands/chunk-O46T4ANI.js +0 -229
  954. package/dist/commands/chunk-O7ESC4HL.js +0 -566
  955. package/dist/commands/chunk-OBYLXHCH.js +0 -86
  956. package/dist/commands/chunk-OHN3QARP.js +0 -769
  957. package/dist/commands/chunk-OKBZGLD5.js +0 -393
  958. package/dist/commands/chunk-OKN63ZH5.js +0 -109
  959. package/dist/commands/chunk-ON4IKRGS.js +0 -469
  960. package/dist/commands/chunk-OT74RSQO.js +0 -82
  961. package/dist/commands/chunk-OVCVINYW.js +0 -143
  962. package/dist/commands/chunk-OZKLVTYI.js +0 -342
  963. package/dist/commands/chunk-OZN4HOZT.js +0 -74
  964. package/dist/commands/chunk-P3LJ2Q4N.js +0 -555
  965. package/dist/commands/chunk-P43GWYR6.js +0 -185
  966. package/dist/commands/chunk-P6ASP2DY.js +0 -132
  967. package/dist/commands/chunk-PBAEJ5PT.js +0 -38
  968. package/dist/commands/chunk-PCZROH3R.js +0 -100
  969. package/dist/commands/chunk-PJYTUUTH.js +0 -34
  970. package/dist/commands/chunk-PKXTISWR.js +0 -58
  971. package/dist/commands/chunk-PSGLUBSB.js +0 -74
  972. package/dist/commands/chunk-PVRDJU2B.js +0 -126
  973. package/dist/commands/chunk-Q42NF2TL.js +0 -47
  974. package/dist/commands/chunk-Q4ULMZAS.js +0 -106
  975. package/dist/commands/chunk-QCRUPRQ2.js +0 -207
  976. package/dist/commands/chunk-QGATHT4S.js +0 -114
  977. package/dist/commands/chunk-QKTTKAXM.js +0 -119
  978. package/dist/commands/chunk-QSBYULSS.js +0 -100
  979. package/dist/commands/chunk-QSJCZATC.js +0 -18
  980. package/dist/commands/chunk-QTJPCXEW.js +0 -23
  981. package/dist/commands/chunk-QTQAI2M2.js +0 -179
  982. package/dist/commands/chunk-QTVVFV4Q.js +0 -127
  983. package/dist/commands/chunk-QVOFWFWC.js +0 -134
  984. package/dist/commands/chunk-QX2EMUXV.js +0 -102
  985. package/dist/commands/chunk-QXBOECGL.js +0 -272
  986. package/dist/commands/chunk-QXCG3SG4.js +0 -88
  987. package/dist/commands/chunk-QZVMGAWV.js +0 -307
  988. package/dist/commands/chunk-R2THGPI3.js +0 -99
  989. package/dist/commands/chunk-R36VZIKU.js +0 -53
  990. package/dist/commands/chunk-R3F7F3TX.js +0 -94
  991. package/dist/commands/chunk-R5AABJZJ.js +0 -1062
  992. package/dist/commands/chunk-R7PYR4HW.js +0 -389
  993. package/dist/commands/chunk-RAQ3E6OT.js +0 -258
  994. package/dist/commands/chunk-RESNXNDG.js +0 -54
  995. package/dist/commands/chunk-RFIOZTXY.js +0 -305
  996. package/dist/commands/chunk-RFWB2KAV.js +0 -102
  997. package/dist/commands/chunk-RFXON3FK.js +0 -25
  998. package/dist/commands/chunk-RGEB5L37.js +0 -66
  999. package/dist/commands/chunk-RGRLLF2J.js +0 -119
  1000. package/dist/commands/chunk-RLRIMYXM.js +0 -178
  1001. package/dist/commands/chunk-RNB3DQOZ.js +0 -70
  1002. package/dist/commands/chunk-RO4QEZJO.js +0 -172
  1003. package/dist/commands/chunk-RS5HBJY6.js +0 -161
  1004. package/dist/commands/chunk-RV7EQIE4.js +0 -202
  1005. package/dist/commands/chunk-RWPCK3CO.js +0 -41
  1006. package/dist/commands/chunk-RWYSVFIA.js +0 -250
  1007. package/dist/commands/chunk-RYKK75YT.js +0 -289
  1008. package/dist/commands/chunk-S4JE63QE.js +0 -704
  1009. package/dist/commands/chunk-S5GX3H4P.js +0 -91
  1010. package/dist/commands/chunk-SC57VV6A.js +0 -60
  1011. package/dist/commands/chunk-SD4EX75H.js +0 -177
  1012. package/dist/commands/chunk-SJITWFNY.js +0 -480
  1013. package/dist/commands/chunk-SKGDMAIA.js +0 -33
  1014. package/dist/commands/chunk-SNSZ25XZ.js +0 -393
  1015. package/dist/commands/chunk-SOETJZWH.js +0 -7672
  1016. package/dist/commands/chunk-SQZZHK6X.js +0 -119
  1017. package/dist/commands/chunk-SRG6PKVS.js +0 -49
  1018. package/dist/commands/chunk-SRTEE34O.js +0 -93
  1019. package/dist/commands/chunk-SVTS7ACS.js +0 -18
  1020. package/dist/commands/chunk-SYTCTLMD.js +0 -285
  1021. package/dist/commands/chunk-T6JUDQMW.js +0 -181
  1022. package/dist/commands/chunk-TEXUEBGE.js +0 -208
  1023. package/dist/commands/chunk-TFDVTU6O.js +0 -910
  1024. package/dist/commands/chunk-TFYYXETQ.js +0 -472
  1025. package/dist/commands/chunk-TMFKVJUW.js +0 -121
  1026. package/dist/commands/chunk-TRHWBUWE.js +0 -61
  1027. package/dist/commands/chunk-TROCFVCU.js +0 -45
  1028. package/dist/commands/chunk-TUBBESHU.js +0 -85
  1029. package/dist/commands/chunk-TVZIFZZN.js +0 -62
  1030. package/dist/commands/chunk-TXRWAL63.js +0 -144
  1031. package/dist/commands/chunk-U46YTYJQ.js +0 -92
  1032. package/dist/commands/chunk-U5EO4QEV.js +0 -48
  1033. package/dist/commands/chunk-U7Y6RKLK.js +0 -168
  1034. package/dist/commands/chunk-UCO333EX.js +0 -47
  1035. package/dist/commands/chunk-UIXQ4IYT.js +0 -445
  1036. package/dist/commands/chunk-UJGNYPMD.js +0 -716
  1037. package/dist/commands/chunk-UREXZJDB.js +0 -210
  1038. package/dist/commands/chunk-URZ4RDC4.js +0 -220
  1039. package/dist/commands/chunk-UUA63LCI.js +0 -77
  1040. package/dist/commands/chunk-UVY5ODCM.js +0 -60
  1041. package/dist/commands/chunk-UWMB6EOU.js +0 -45
  1042. package/dist/commands/chunk-UY62WJV6.js +0 -120
  1043. package/dist/commands/chunk-UZDKCGDC.js +0 -198
  1044. package/dist/commands/chunk-VAHQ4AFM.js +0 -585
  1045. package/dist/commands/chunk-VL5I2IOD.js +0 -332
  1046. package/dist/commands/chunk-VMG3QB6C.js +0 -81
  1047. package/dist/commands/chunk-VO25PMGS.js +0 -58
  1048. package/dist/commands/chunk-VPRQFM2T.js +0 -37
  1049. package/dist/commands/chunk-VTLWODJ2.js +0 -133
  1050. package/dist/commands/chunk-VUCDGQ6Y.js +0 -260
  1051. package/dist/commands/chunk-VY7ZJMDT.js +0 -469
  1052. package/dist/commands/chunk-W4BR6QNU.js +0 -1241
  1053. package/dist/commands/chunk-W7X7MZZN.js +0 -449
  1054. package/dist/commands/chunk-WCYRNNKF.js +0 -76
  1055. package/dist/commands/chunk-WEUUJIWQ.js +0 -84
  1056. package/dist/commands/chunk-WNBJK6QE.js +0 -84
  1057. package/dist/commands/chunk-WORHUJ6T.js +0 -73
  1058. package/dist/commands/chunk-WR5PKCQW.js +0 -61
  1059. package/dist/commands/chunk-WR73HTRG.js +0 -121
  1060. package/dist/commands/chunk-WRNMUQTD.js +0 -95
  1061. package/dist/commands/chunk-WROJTXWZ.js +0 -138
  1062. package/dist/commands/chunk-WTIPX5NG.js +0 -43
  1063. package/dist/commands/chunk-WWLCQREY.js +0 -225
  1064. package/dist/commands/chunk-WXLW7S4M.js +0 -71
  1065. package/dist/commands/chunk-WXXLJQBO.js +0 -67
  1066. package/dist/commands/chunk-X4LYH6Q4.js +0 -56
  1067. package/dist/commands/chunk-XAEL24EG.js +0 -66
  1068. package/dist/commands/chunk-XI2ABCRX.js +0 -209
  1069. package/dist/commands/chunk-XRQMVAB4.js +0 -85
  1070. package/dist/commands/chunk-XUXCFPDK.js +0 -218
  1071. package/dist/commands/chunk-XZQWEVR3.js +0 -84
  1072. package/dist/commands/chunk-Y6OGDG5I.js +0 -49
  1073. package/dist/commands/chunk-YANDBVAT.js +0 -430
  1074. package/dist/commands/chunk-YD7XK2TX.js +0 -550
  1075. package/dist/commands/chunk-YEAE46TS.js +0 -98
  1076. package/dist/commands/chunk-YEQFAEVW.js +0 -112
  1077. package/dist/commands/chunk-YJZAD4Z5.js +0 -103
  1078. package/dist/commands/chunk-YNCF66RK.js +0 -1052
  1079. package/dist/commands/chunk-YOA25SII.js +0 -210
  1080. package/dist/commands/chunk-YOZTZMAT.js +0 -38
  1081. package/dist/commands/chunk-YSGRHVZG.js +0 -897
  1082. package/dist/commands/chunk-YSLGWRQN.js +0 -646
  1083. package/dist/commands/chunk-YT5JR2CB.js +0 -105
  1084. package/dist/commands/chunk-YTXCLGGL.js +0 -168
  1085. package/dist/commands/chunk-YVHJN2HS.js +0 -74
  1086. package/dist/commands/chunk-YY7XVVSB.js +0 -43
  1087. package/dist/commands/chunk-Z2NUK47W.js +0 -1314
  1088. package/dist/commands/chunk-Z5GZV4DV.js +0 -16
  1089. package/dist/commands/chunk-ZB52ZIEA.js +0 -1629
  1090. package/dist/commands/chunk-ZCD4AV2P.js +0 -73
  1091. package/dist/commands/chunk-ZCHZU6NX.js +0 -799
  1092. package/dist/commands/chunk-ZEH2B3DF.js +0 -239
  1093. package/dist/commands/chunk-ZGANVZCA.js +0 -92
  1094. package/dist/commands/chunk-ZGEUWHFF.js +0 -297
  1095. package/dist/commands/chunk-ZHSNQ2F7.js +0 -161
  1096. package/dist/commands/chunk-ZI3SABMH.js +0 -347
  1097. package/dist/commands/chunk-ZIIUBGON.js +0 -773
  1098. package/dist/commands/chunk-ZJJLROJY.js +0 -269
  1099. package/dist/commands/chunk-ZNIIA275.js +0 -59
  1100. package/dist/commands/chunk-ZV6BZZJ2.js +0 -271
  1101. package/dist/commands/run-ship-lap-W66LTXJJ.js +0 -28
  1102. package/dist/commands/test-related-XBDH2IOH.js +0 -113
  1103. package/dist/commands/unused-members-KVKZDTXD.js +0 -329
  1104. package/dist/hooks/chunk-3SA3FIQC.js +0 -6869
  1105. package/dist/hooks/chunk-46PTTMGE.js +0 -1625
  1106. package/dist/hooks/chunk-5NIBRHWG.js +0 -77
  1107. package/dist/hooks/chunk-76QKN2K3.js +0 -258
  1108. package/dist/hooks/chunk-CHEKMGFP.js +0 -321
  1109. package/dist/hooks/chunk-CY3ADSDR.js +0 -28580
  1110. package/dist/hooks/chunk-DCILEVDR.js +0 -5173
  1111. package/dist/hooks/chunk-HVNGIM5W.js +0 -5092
  1112. package/dist/hooks/chunk-L6IZZ2IL.js +0 -11219
  1113. package/dist/hooks/chunk-SAAPRHTK.js +0 -43
  1114. package/dist/hooks/chunk-U3ON2GBN.js +0 -12
  1115. package/dist/hooks/chunk-UZXMFOVK.js +0 -9170
  1116. package/dist/hooks/chunk-WCJ2GWYJ.js +0 -1381
  1117. package/dist/hooks/chunk-YEURBB4L.js +0 -32
  1118. package/dist/hooks/chunk-YRKS5ZKE.js +0 -1915
  1119. package/dist/hooks/run-ship-lap-P5555IG7.js +0 -8
@@ -8,6 +8,7 @@ import { is_blocked_cause } from '#scripts/gh/git-pr-checks-missing'
8
8
  import { NO_CHECKS_MESSAGE } from '#scripts/gh/git-pr-checks-watch'
9
9
  import { git_error } from '#scripts/git/git-error'
10
10
  import type { StopRecord } from '#scripts/lane/lane-ledger-schema'
11
+ import type { UnpinnedStop } from '#scripts/lane/lane-ledger-schema-ship'
11
12
  import { run_ship_review, type StopFinding } from './run-ship-review'
12
13
  import { run_ship_stage, type Stage } from './run-ship-stage'
13
14
 
@@ -89,6 +90,8 @@ interface StoppedOutput {
89
90
  out?: string
90
91
  conflicts?: ReadonlyArray<string>
91
92
  preconditions?: ReadonlyArray<string>
93
+ // The path an `unpinned` precondition's stop took (joshuafolkken/kit#7552).
94
+ unpinned?: UnpinnedStop
92
95
  cause?: Cause
93
96
  }
94
97
 
@@ -191,12 +194,20 @@ function details_of(stage: Stage, failed: StoppedOutput = NO_OUTPUT): ReadonlyAr
191
194
  return run_ship_review.blocking_details(failed.body)
192
195
  }
193
196
 
197
+ // A preflight stop's unmet preconditions and the path its `unpinned` one took (joshuafolkken/kit#7552).
198
+ function preflight_of({ preconditions, unpinned }: StoppedOutput): Partial<StopRecord> {
199
+ return {
200
+ ...(preconditions !== undefined && { preconditions: [...preconditions] }),
201
+ ...(unpinned !== undefined && { unpinned }),
202
+ }
203
+ }
204
+
194
205
  // The lane ledger's record of one stop — the stage, its cause and, for a preflight, which
195
206
  // preconditions were unmet, so `lane:stats` counts the one worth meeting before a ship
196
207
  // (joshuafolkken/kit#4166); for a review, which kinds of finding stopped it (joshuafolkken/kit#4426);
197
208
  // for a followup red on a check, which checks failed (joshuafolkken/kit#7333).
198
209
  function record_of(issue: number, stage: Stage, failed: StoppedOutput = NO_OUTPUT): StopRecord {
199
- const { body, conflicts, preconditions } = failed
210
+ const { body, conflicts } = failed
200
211
  const cause = cause_of(stage, failed)
201
212
  const findings = findings_of(stage, cause, body)
202
213
  const checks = checks_of(stage, cause, body)
@@ -205,7 +216,7 @@ function record_of(issue: number, stage: Stage, failed: StoppedOutput = NO_OUTPU
205
216
  issue,
206
217
  reason: run_ship_stage.stop_reason(stage, conflicts),
207
218
  cause,
208
- ...(preconditions !== undefined && { preconditions: [...preconditions] }),
219
+ ...preflight_of(failed),
209
220
  ...(findings.length > 0 && { findings: [...findings] }),
210
221
  ...(checks.length > 0 && { checks: [...checks] }),
211
222
  }
@@ -9,6 +9,7 @@
9
9
  // `run:tail`, ship stops at the first failed step: a red gate must never reach the commit, so the
10
10
  // composite ends at the failure, and the report names the step that failed so the run reads only it.
11
11
 
12
+ import type { UnpinnedStop } from '#scripts/lane/lane-ledger-schema-ship'
12
13
  import { run_section, type Section } from '#scripts/run/run-section'
13
14
  import { run_tail } from '#scripts/run/run-tail'
14
15
  import type { PreDetachResult } from './run-ship-pre-detach'
@@ -36,6 +37,8 @@ type ShipSection = Section & {
36
37
  conflicts?: ReadonlyArray<string>
37
38
  // The kinds of the preconditions a stopped preflight found unmet, recorded with the stop.
38
39
  preconditions?: ReadonlyArray<string>
40
+ // The path an `unpinned` precondition's stop took, recorded with the stop (joshuafolkken/kit#7552).
41
+ unpinned?: UnpinnedStop
39
42
  // The cause a stopped review round tagged its stop with, recorded with the stop.
40
43
  cause?: Cause
41
44
  // The stage found nothing to do, and why it ran or was skipped — both read onto its event line.
@@ -89,13 +92,16 @@ function format_report(sections: ReadonlyArray<ShipSection>): string {
89
92
  return `${body}${run_section.SECTION_SEPARATOR}${STOPPED_PREFIX}${failed.header}`
90
93
  }
91
94
 
92
- // Preserve the preflight refusal and add any failed pre-detach check kinds to its stop record.
95
+ // Preserve the preflight refusal and add any failed pre-detach check kinds, and the path an `unpinned`
96
+ // one took, to its stop record.
93
97
  function with_checks(stop: ShipSection, checks: PreDetachResult): ShipSection {
94
98
  if (checks.code === run_section.SUCCESS_EXIT_CODE) return stop
99
+ const { unpinned } = checks
95
100
 
96
101
  return {
97
102
  ...stop,
98
103
  preconditions: [...(stop.preconditions ?? []), ...(checks.preconditions ?? [])],
104
+ ...(unpinned !== undefined && { unpinned }),
99
105
  }
100
106
  }
101
107
 
@@ -6,6 +6,7 @@ import { lane_implement_rate, type ImplementRate } from '#scripts/lane/lane-impl
6
6
  import type { SizeRatios } from '#scripts/lane/lane-size-stats'
7
7
  import { test_declared_logic } from '#scripts/test/test-declared-logic'
8
8
  import { declared_growth } from './declared-growth'
9
+ import { split_cap } from './split-cap'
9
10
 
10
11
  // The size half of the split assessment, measured rather than estimated.
11
12
  //
@@ -46,23 +47,8 @@ interface SplitGuide extends DeclaredSize {
46
47
  growth?: SizeRatios
47
48
  }
48
49
 
49
- // The guide's single source: `split-assessment.md` states these once and a test pins the two equal.
50
- // Strictly greater than: "more than" puts the bar above the number, not at it. Lowered from 10 / 400
51
- // once a lane estimated at 6 files / 250 lines merged at about 23 files / 390 lines (joshuafolkken/kit#5384).
52
- const FILE_GUIDE = 8
53
- const LINE_GUIDE = 200
54
- // The cap, one and a half times the guide: past it a declared reason no longer keeps an Issue as one. A
55
- // lane declared past it with a reason overran both its time budget and its declared files by far
56
- // (joshuafolkken/kit#5502). Lowered from 3 once the projected implement time became the main bar — the
57
- // cap is the backstop where no rate is measured (joshuafolkken/kit#6066).
58
- const CAP_FACTOR = 1.5
59
- const FILE_CAP = FILE_GUIDE * CAP_FACTOR
60
- const LINE_CAP = LINE_GUIDE * CAP_FACTOR
61
- const DEFAULT_GUIDE: SplitGuide = {
62
- files: FILE_GUIDE,
63
- lines: LINE_GUIDE,
64
- cap: { files: FILE_CAP, lines: LINE_CAP },
65
- }
50
+ const { CAP_FACTOR, DEFAULT_CAP, FILE_CAP, FILE_GUIDE, LINE_CAP, LINE_GUIDE } = split_cap
51
+ const DEFAULT_GUIDE: SplitGuide = { files: FILE_GUIDE, lines: LINE_GUIDE, cap: DEFAULT_CAP }
66
52
 
67
53
  // Keep fractional thresholds: rounding would change the budget's strict comparison boundary.
68
54
  function guide_for(minutes: number, measured?: ImplementRate, growth?: SizeRatios): SplitGuide {
@@ -190,9 +176,8 @@ function verdict_for(
190
176
  return files > guide.files || lines > guide.lines ? SPLIT_VERDICT : SINGLE_VERDICT
191
177
  }
192
178
 
193
- // Strictly greater than, as the guide is: the cap itself still runs as one Issue.
194
179
  function is_over_cap(files: number, lines: number, guide: SplitGuide = DEFAULT_GUIDE): boolean {
195
- return files > guide.cap.files || lines > guide.cap.lines
180
+ return split_cap.is_over(files, lines, guide.cap)
196
181
  }
197
182
 
198
183
  // `added` lists the files the branch adds, so a new module and its importer count as one file.
@@ -292,11 +277,11 @@ const NOTICE_SECTION = 'Over the guide before the gate'
292
277
  const QUESTION_SECTION = 'The question'
293
278
  // The filing's reason line (`size_estimate`); it does not answer a later split notice.
294
279
  const REASON_PREFIX = issue_body_keys.prefix('no_split_reason')
295
- const NOTICE_ACTION = `go on to the end; a started Issue is never split, and the merge records the overrun as a pre-split miss — split-assessment.md → "${NOTICE_SECTION}"`
280
+ const NOTICE_ACTION = `go on to the end; a started Issue is never split, and the merge records an overrun past the cap as a pre-split miss — split-assessment.md → "${NOTICE_SECTION}"`
296
281
 
297
282
  // The notice for a diff past `notice_bar` on either axis — strictly greater than, as the guide is — and
298
- // a diff at or under it gives none. A merge past it is recorded as a pre-split miss
299
- // (`lane-size-record.ts`, joshuafolkken/kit#7183); size alone never stops the run (joshuafolkken/kit#6602).
283
+ // a diff at or under it gives none. A merge past the cap, not this bar, is recorded as a pre-split
284
+ // miss (`lane-size-record.ts`, joshuafolkken/kit#7579); size alone never stops the run (joshuafolkken/kit#6602).
300
285
  function notice(
301
286
  measurement: SizeMeasurement,
302
287
  declared?: DeclaredSize,
@@ -0,0 +1,31 @@
1
+ // The fallback split guide and its cap, with no imports so a `lane:stats` reader can apply the cap
2
+ // without the cycle `split-assess` → `lane-implement-rate` → `lane-size-stats` (joshuafolkken/kit#7579).
3
+
4
+ interface SplitCap {
5
+ files: number
6
+ lines: number
7
+ }
8
+
9
+ // The guide's single source: `split-assessment.md` states these once and a test pins the two equal.
10
+ // Strictly greater than: "more than" puts the bar above the number, not at it. Lowered from 10 / 400
11
+ // once a lane estimated at 6 files / 250 lines merged at about 23 files / 390 lines (joshuafolkken/kit#5384).
12
+ const FILE_GUIDE = 8
13
+ const LINE_GUIDE = 200
14
+ // The cap, one and a half times the guide: past it a declared reason no longer keeps an Issue as one. A
15
+ // lane declared past it with a reason overran both its time budget and its declared files by far
16
+ // (joshuafolkken/kit#5502). Lowered from 3 once the projected implement time became the main bar — the
17
+ // cap is the backstop where no rate is measured (joshuafolkken/kit#6066).
18
+ const CAP_FACTOR = 1.5
19
+ const FILE_CAP = FILE_GUIDE * CAP_FACTOR
20
+ const LINE_CAP = LINE_GUIDE * CAP_FACTOR
21
+ const DEFAULT_CAP: SplitCap = { files: FILE_CAP, lines: LINE_CAP }
22
+
23
+ // Strictly greater than, as the guide is: the cap itself still runs as one Issue.
24
+ function is_over(files: number, lines: number, cap: SplitCap = DEFAULT_CAP): boolean {
25
+ return files > cap.files || lines > cap.lines
26
+ }
27
+
28
+ const split_cap = { CAP_FACTOR, DEFAULT_CAP, FILE_CAP, FILE_GUIDE, LINE_CAP, LINE_GUIDE, is_over }
29
+
30
+ export { split_cap }
31
+ export type { SplitCap }
@@ -15,6 +15,9 @@ const PACKAGE_FILE = 'package.json'
15
15
  const WILDCARD = '*'
16
16
  const CURRENT_DIRECTORY_PREFIX = './'
17
17
  const NUL = '\0'
18
+ const SCOPE_PREFIX = '@'
19
+ const SCOPED_SEGMENTS = 2
20
+ const NON_PACKAGE_PATTERN = /(?:^[.#/])|:/u
18
21
 
19
22
  // The module specifiers a source names in a static or dynamic import, an export-from or a `vi.mock`.
20
23
  const SPECIFIER_PATTERN = /(?:\bfrom\s+|\bimport\s*\(\s*|\bimport\s+|\bmock\(\s*)["']([^"']+)["']/gu
@@ -115,11 +118,18 @@ function source_reader(root: string): SourceReader {
115
118
  return { imports: read_imports(root), read_source: (file) => read_source_at(root, file) }
116
119
  }
117
120
 
118
- // The test files the work tree at `root` holds, tracked or not but not ignored, repository-relative.
119
- async function test_files(root: string): Promise<Array<string>> {
121
+ // The files the work tree at `root` holds, tracked or not but not ignored, repository-relative.
122
+ async function work_tree_files(root: string): Promise<Array<string>> {
120
123
  const listed = await git_spawn.read(['-C', root, 'ls-files', '-coz', '--exclude-standard'])
121
124
 
122
- return listed.split(NUL).filter((file) => test_declared_logic.is_test_file(file))
125
+ return listed.split(NUL).filter((file) => file !== '')
126
+ }
127
+
128
+ // The test files among them.
129
+ async function test_files(root: string): Promise<Array<string>> {
130
+ const files = await work_tree_files(root)
131
+
132
+ return files.filter((file) => test_declared_logic.is_test_file(file))
123
133
  }
124
134
 
125
135
  // The test files of `tests` importing `file` directly; an unreadable one imports nothing.
@@ -169,8 +179,41 @@ async function every_test_importers(
169
179
  return await importers_of(root, every_test_imports_of(files))
170
180
  }
171
181
 
182
+ // The package a bare specifier names — `name` or `@scope/name`, its subpath dropped — or `undefined`
183
+ // for a relative, `#` alias or `node:` specifier.
184
+ function package_of(specifier: string): string | undefined {
185
+ if (NON_PACKAGE_PATTERN.test(specifier)) return undefined
186
+
187
+ const segments = specifier.split(path.posix.sep)
188
+
189
+ const kept = specifier.startsWith(SCOPE_PREFIX) ? SCOPED_SEGMENTS : 1
190
+
191
+ return segments.slice(0, kept).join(path.posix.sep)
192
+ }
193
+
194
+ function imports_package(source: string, packages: ReadonlySet<string>): boolean {
195
+ return specifiers_of(source).some((specifier) => packages.has(package_of(specifier) ?? ''))
196
+ }
197
+
198
+ // The files of the work tree at `root` that `is_source` admits and whose text imports one of
199
+ // `packages` by its bare specifier (joshuafolkken/kit#7554) — what `vitest related` walks to the tests
200
+ // a lockfile change reaches.
201
+ async function package_importers(
202
+ root: string,
203
+ packages: ReadonlySet<string>,
204
+ is_source: (file: string) => boolean,
205
+ ): Promise<Array<string>> {
206
+ if (packages.size === 0) return []
207
+
208
+ const files = await work_tree_files(root)
209
+ const sources = files.filter((file) => is_source(file))
210
+
211
+ return sources.filter((file) => imports_package(read_source_at(root, file) ?? '', packages))
212
+ }
213
+
172
214
  const direct_importers = {
173
215
  every_test_importers,
216
+ package_importers,
174
217
  every_test_imports_of,
175
218
  importers_of,
176
219
  is_every_test_import,
@@ -0,0 +1,155 @@
1
+ import { isDeepStrictEqual } from 'node:util'
2
+ import { loadAll } from 'js-yaml'
3
+ import { z } from 'zod'
4
+ import { whole_suite_files } from './whole-suite-files'
5
+
6
+ // **`pnpm-lock.yaml` is a whole-suite file only for what moves every test** (joshuafolkken/kit#7554). A
7
+ // change resolving other versions of some packages reaches the modules importing them — and, through
8
+ // `vitest related`, their tests — rather than every test. The packages it moved are the entries of
9
+ // `packages` / `snapshots` that differ, with every package depending on one of them, however far. The
10
+ // whole suite still runs when either side cannot be read, when anything else moved — an importer's
11
+ // specifier or dependency, an override, a setting — or when a unit runtime package moved
12
+ // (`whole_suite_files.is_unit_runtime_package`).
13
+
14
+ const LOCKFILE_PATH = 'pnpm-lock.yaml'
15
+ const VERSION_KEY = 'version'
16
+ const SCOPE_PREFIX = '@'
17
+ const DEPENDENCY_GROUPS = ['dependencies', 'optionalDependencies'] as const
18
+ const RESOLUTION_KEYS: ReadonlySet<string> = new Set(['importers', 'packages', 'snapshots'])
19
+
20
+ const entries_schema = z.record(z.string(), z.unknown()).default({})
21
+ const document_schema = z.looseObject({
22
+ importers: entries_schema,
23
+ packages: entries_schema,
24
+ snapshots: entries_schema,
25
+ })
26
+ const snapshot_schema = z.looseObject({
27
+ dependencies: entries_schema,
28
+ optionalDependencies: entries_schema,
29
+ })
30
+
31
+ type LockfileDocument = z.infer<typeof document_schema>
32
+ type Entries = Readonly<Record<string, unknown>>
33
+
34
+ function documents_of(text: string): Array<LockfileDocument> | undefined {
35
+ try {
36
+ return loadAll(text).map((document) => document_schema.parse(document))
37
+ } catch {
38
+ return undefined
39
+ }
40
+ }
41
+
42
+ // A snapshot key carries the peer suffix (`name@1.0.0(peer@2.0.0)`); its package key does not.
43
+ function to_package_key(snapshot_key: string): string {
44
+ const peer_start = snapshot_key.indexOf('(', 1)
45
+
46
+ return peer_start === -1 ? snapshot_key : snapshot_key.slice(0, peer_start)
47
+ }
48
+
49
+ // `name@1.0.0(peer@2.0.0)` → `name`; a scoped name keeps its leading `@`.
50
+ function name_of(key: string): string {
51
+ const package_key = to_package_key(key)
52
+ const at = package_key.indexOf(SCOPE_PREFIX, 1)
53
+
54
+ return at === -1 ? package_key : package_key.slice(0, at)
55
+ }
56
+
57
+ function without_versions(value: unknown): unknown {
58
+ if (Array.isArray(value)) return value.map((item: unknown) => without_versions(item))
59
+ if (typeof value !== 'object' || value === null) return value
60
+
61
+ const kept = Object.entries(value).filter(([key]) => key !== VERSION_KEY)
62
+
63
+ return Object.fromEntries(kept.map(([key, item]) => [key, without_versions(item)]))
64
+ }
65
+
66
+ // What a document holds besides its resolutions: a change here is no resolution of other versions.
67
+ function skeleton_of(document: LockfileDocument): unknown {
68
+ const rest = Object.entries(document).filter(([key]) => !RESOLUTION_KEYS.has(key))
69
+
70
+ return { ...Object.fromEntries(rest), importers: without_versions(document.importers) }
71
+ }
72
+
73
+ function moved_keys(before: Entries, after: Entries): Array<string> {
74
+ const keys = new Set([...Object.keys(before), ...Object.keys(after)])
75
+
76
+ return [...keys].filter((key) => !isDeepStrictEqual(before[key], after[key]))
77
+ }
78
+
79
+ function dependency_names(snapshot: unknown): Array<string> {
80
+ const parsed = snapshot_schema.safeParse(snapshot ?? {})
81
+ if (!parsed.success) return []
82
+
83
+ return DEPENDENCY_GROUPS.flatMap((group) => Object.keys(parsed.data[group]))
84
+ }
85
+
86
+ // Each package name with the names of the packages depending on it.
87
+ function dependents_of(documents: ReadonlyArray<LockfileDocument>): Map<string, Set<string>> {
88
+ const dependents = new Map<string, Set<string>>()
89
+ const snapshots = documents.flatMap((document) => Object.entries(document.snapshots))
90
+ const edges = snapshots.flatMap(([key, snapshot]) =>
91
+ dependency_names(snapshot).map((name) => [name, name_of(key)] as const),
92
+ )
93
+
94
+ for (const [name, dependent] of edges) {
95
+ dependents.set(name, (dependents.get(name) ?? new Set()).add(dependent))
96
+ }
97
+
98
+ return dependents
99
+ }
100
+
101
+ function with_dependents(
102
+ moved: ReadonlyArray<string>,
103
+ dependents: ReadonlyMap<string, ReadonlySet<string>>,
104
+ ): Set<string> {
105
+ const reached = new Set(moved)
106
+ const pending = [...reached]
107
+
108
+ for (let name = pending.pop(); name !== undefined; name = pending.pop()) {
109
+ const unseen = [...(dependents.get(name) ?? [])].filter((dependent) => !reached.has(dependent))
110
+
111
+ for (const dependent of unseen) reached.add(dependent)
112
+ pending.push(...unseen)
113
+ }
114
+
115
+ return reached
116
+ }
117
+
118
+ function moved_names(was: LockfileDocument, is: LockfileDocument): Array<string> {
119
+ return [...moved_keys(was.packages, is.packages), ...moved_keys(was.snapshots, is.snapshots)].map(
120
+ (key) => name_of(key),
121
+ )
122
+ }
123
+
124
+ function is_resolution_only(
125
+ was: ReadonlyArray<LockfileDocument>,
126
+ is: ReadonlyArray<LockfileDocument>,
127
+ ): boolean {
128
+ if (was.length !== is.length) return false
129
+
130
+ return was.every((document, index) => {
131
+ const other = is[index]
132
+
133
+ return other !== undefined && isDeepStrictEqual(skeleton_of(document), skeleton_of(other))
134
+ })
135
+ }
136
+
137
+ // The packages the change from `before` to `after` moved, with every package depending on one —
138
+ // `undefined` when the change reaches every test.
139
+ function affected_packages(before: string, after: string): ReadonlySet<string> | undefined {
140
+ const was = documents_of(before)
141
+ const is = documents_of(after)
142
+
143
+ if (was === undefined || is === undefined || !is_resolution_only(was, is)) return undefined
144
+
145
+ const moved = was.flatMap((document, index) => moved_names(document, is[index] ?? document))
146
+ const reached = with_dependents(moved, dependents_of([...was, ...is]))
147
+
148
+ return [...reached].some((name) => whole_suite_files.is_unit_runtime_package(name))
149
+ ? undefined
150
+ : reached
151
+ }
152
+
153
+ const lockfile_changed_packages = { LOCKFILE_PATH, affected_packages, to_package_key }
154
+
155
+ export { lockfile_changed_packages }
@@ -0,0 +1,30 @@
1
+ import { isDeepStrictEqual } from 'node:util'
2
+ import { json_value } from '#scripts/lib/json-value'
3
+
4
+ // **`package.json` is a whole-suite file only for what is not its `version`** (joshuafolkken/kit#7538).
5
+ // The release commit moves the version alone, which neither dependency resolution nor the vitest
6
+ // config reads, so such a change reaches the tests reading `package.json` through the test-read map
7
+ // rather than every test. Any other key — a dependency, a script, the `pnpm` field — still runs the
8
+ // whole suite.
9
+
10
+ const PACKAGE_PATH = 'package.json'
11
+ const VERSION_KEY = 'version'
12
+
13
+ function without_version(text: string): Record<string, unknown> | undefined {
14
+ const value = json_value.parse_or_undefined(text)
15
+ if (!json_value.is_record(value)) return undefined
16
+
17
+ return Object.fromEntries(Object.entries(value).filter(([key]) => key !== VERSION_KEY))
18
+ }
19
+
20
+ // Whether the two texts differ in `version` alone — false when either is not a JSON object.
21
+ function is_version_only(before: string, after: string): boolean {
22
+ const was = without_version(before)
23
+ const is = without_version(after)
24
+
25
+ return was !== undefined && is !== undefined && isDeepStrictEqual(was, is)
26
+ }
27
+
28
+ const package_version_only = { PACKAGE_PATH, is_version_only }
29
+
30
+ export { package_version_only }
@@ -1,6 +1,4 @@
1
1
  import path from 'node:path'
2
- import { git_command } from '#scripts/git/git-command'
3
- import { file_reader } from '#scripts/lib/read-file'
4
2
 
5
3
  // **`tools/test/pure-files.ts` is a whole-suite file only for what is not its entries**
6
4
  // (joshuafolkken/kit#5001). The vitest config imports it, so `vitest related` widens to every test on
@@ -54,30 +52,6 @@ function tests_of(entries: ReadonlyArray<string>): ReadonlyArray<string> {
54
52
  return [...LIST_TESTS, ...entries]
55
53
  }
56
54
 
57
- async function base_text(): Promise<string | undefined> {
58
- try {
59
- return await git_command.show_file(`${await git_command.change_base()}:${PURE_FILES_PATH}`)
60
- } catch {
61
- return undefined
62
- }
63
- }
64
-
65
- // The entries this branch moved in the list against its change base, or `undefined` when the list did
66
- // not change, changed beyond its entries, or either side cannot be read.
67
- async function read_moved(
68
- root: string,
69
- changed: ReadonlyArray<string> | undefined,
70
- ): Promise<ReadonlyArray<string> | undefined> {
71
- if (changed?.includes(PURE_FILES_PATH) !== true) return undefined
72
-
73
- const before = await base_text()
74
- const after = file_reader.read_if_readable(path.join(root, PURE_FILES_PATH))
75
-
76
- if (before === undefined || after === undefined) return undefined
77
-
78
- return moved_entries(before, after)
79
- }
80
-
81
- const pure_files_entries = { PURE_FILES_PATH, moved_entries, read_moved, tests_of }
55
+ const pure_files_entries = { PURE_FILES_PATH, moved_entries, tests_of }
82
56
 
83
57
  export { pure_files_entries }
@@ -1,6 +1,7 @@
1
1
  import path from 'node:path'
2
2
  import { since_green } from '#scripts/gate/since-green'
3
3
  import { changed_file_scope, type ChangedFileScope } from '#scripts/git/changed-file-scope'
4
+ import { lockfile_changed_packages } from './lockfile-changed-packages'
4
5
  import { pure_files_entries } from './pure-files-entries'
5
6
  import { test_read_map, type ReadMap } from './test-read-map'
6
7
  import { whole_suite_files } from './whole-suite-files'
@@ -16,7 +17,8 @@ import { whole_suite_files } from './whole-suite-files'
16
17
  // snapshot — which no module graph holds — reaches the modules that read it through that map alone. **Whatever neither can answer runs the whole suite**: no map, a
17
18
  // non-code file added since the recorded tree that no recorded test read, where a test read inside its
18
19
  // directory, or a file every test
19
- // depends on — each counted only when this change moved it (joshuafolkken/kit#4527). A non-code file the recorded tree already held and no test read is one no test reads
20
+ // depends on — `package.json` only when more than its `version` moved (joshuafolkken/kit#7538),
21
+ // `pnpm-lock.yaml` only when it moved a unit runtime package or more than resolutions (joshuafolkken/kit#7554) — each counted only when this change moved it (joshuafolkken/kit#4527). A non-code file the recorded tree already held and no test read is one no test reads
20
22
  // (joshuafolkken/kit#4073), and so is one added since to a directory no test read inside
21
23
  // (joshuafolkken/kit#4303, joshuafolkken/kit#4597), so a change made only of those runs nothing. CI runs the whole suite
22
24
  // regardless, so a read the recorder could not see — one a child process makes — is still caught
@@ -51,6 +53,7 @@ const RELATABLE_EXTENSIONS: ReadonlySet<string> = new Set([
51
53
  ])
52
54
 
53
55
  const { WHOLE_SUITE_FILES } = whole_suite_files
56
+ const { LOCKFILE_PATH } = lockfile_changed_packages
54
57
  const { UNREADABLE_REASON } = changed_file_scope
55
58
  const NOTHING_RELATABLE_REASON = 'no changed file is one a test can import or read'
56
59
  const NO_MAP_REASON = 'no test-read map covers the changed non-code file'
@@ -109,6 +112,13 @@ interface ScopeRequest {
109
112
  // The entries a change of `tools/test/pure-files.ts` moved, when it moved nothing else there — the
110
113
  // list then reaches those test files rather than every test (`pure-files-entries.ts`).
111
114
  pure_entries?: ReadonlyArray<string> | undefined
115
+ // The changed whole-suite files whose change is their `version` alone — `package.json` on a release
116
+ // commit (`package-version-only.ts`) — resolved through the map rather than the whole suite.
117
+ version_only?: ReadonlySet<string>
118
+ // The modules importing a package a `pnpm-lock.yaml` change moved, when it moved no unit runtime
119
+ // package (`lockfile-changed-packages.ts`) — handed to vitest, and the lockfile resolved through the
120
+ // map, rather than the whole suite.
121
+ lockfile_importers?: ReadonlyArray<string> | undefined
112
122
  // The changed files every test imports, each with the test files importing it directly
113
123
  // (`direct-importers.ts`) — the run narrows to those rather than the whole suite.
114
124
  every_test_importers?: ReadonlyMap<string, ReadonlyArray<string>>
@@ -242,13 +252,27 @@ function direct_selection(request: ScopeRequest, changed: ReadonlyArray<string>)
242
252
  return { files: tests.flat(), unread: moved.filter((_file, index) => tests[index]?.length === 0) }
243
253
  }
244
254
 
255
+ function is_resolved_elsewhere(request: ScopeRequest, file: string): boolean {
256
+ if (file === LOCKFILE_PATH) return request.lockfile_importers !== undefined
257
+
258
+ return request.version_only?.has(file) === true
259
+ }
260
+
261
+ function is_whole_suite_trigger(request: ScopeRequest, file: string): boolean {
262
+ if (is_resolved_elsewhere(request, file)) return false
263
+
264
+ return WHOLE_SUITE_FILES.has(file) && !is_narrowed(request, file) && is_moved(request, file)
265
+ }
266
+
267
+ // **A `package.json` moved in `version` alone is no trigger** (joshuafolkken/kit#7538), **nor a
268
+ // `pnpm-lock.yaml` moving no unit runtime package** (joshuafolkken/kit#7554): each reaches the tests
269
+ // reading it through the map, as any other non-code file does, and the lockfile also the modules
270
+ // importing a package it moved.
245
271
  function whole_suite_triggers(
246
272
  request: ScopeRequest,
247
273
  changed: ReadonlyArray<string>,
248
274
  ): Array<string> {
249
- return changed.filter(
250
- (file) => WHOLE_SUITE_FILES.has(file) && !is_narrowed(request, file) && is_moved(request, file),
251
- )
275
+ return changed.filter((file) => is_whole_suite_trigger(request, file))
252
276
  }
253
277
 
254
278
  function resolve_read(
@@ -287,8 +311,9 @@ function resolve_scope(request: ScopeRequest): RelatedScope {
287
311
  if (request.changed === undefined) return all_scope(UNREADABLE_REASON)
288
312
 
289
313
  const pure = without_pure_entries(request.changed, request.pure_entries)
314
+ const lockfile_importers = request.lockfile_importers ?? []
290
315
 
291
- return resolve_read({ ...request, changed: pure.unread }, pure.files)
316
+ return resolve_read({ ...request, changed: pure.unread }, [...pure.files, ...lockfile_importers])
292
317
  }
293
318
 
294
319
  function describe_scope(scope: RelatedScope, root: string): string {
@@ -7,7 +7,6 @@ import { since_green, type FallbackReason } from '#scripts/gate/since-green'
7
7
  import { changed_file_scope } from '#scripts/git/changed-file-scope'
8
8
  import { changed_paths } from '#scripts/git/changed-paths'
9
9
  import { direct_importers } from './direct-importers'
10
- import { pure_files_entries } from './pure-files-entries'
11
10
  import { test_no_base } from './test-no-base'
12
11
  import { test_read_map, type ReadMap } from './test-read-map'
13
12
  import { test_related_cap, type CappedImporters } from './test-related-cap'
@@ -21,6 +20,7 @@ import { test_related_synced } from './test-related-synced'
21
20
  import { test_related_touched } from './test-related-touched'
22
21
  import { test_related_verdict } from './test-related-verdict'
23
22
  import { test_related_whole } from './test-related-whole'
23
+ import { whole_suite_narrowing } from './whole-suite-narrowing'
24
24
 
25
25
  // `josh test:related` — the unit check an implementation loop runs between edits.
26
26
  // The narrowing itself is `test-related-scope.ts` over the shared
@@ -236,14 +236,14 @@ async function scope_of(
236
236
  ): Promise<RelatedScope> {
237
237
  const recorded = await recorded_files(change)
238
238
  const naming = naming_moved(root, change)
239
- const pure_entries = await pure_files_entries.read_moved(root, change.changed)
239
+ const narrowing = await whole_suite_narrowing.read(root, change.changed)
240
240
 
241
241
  return related_scope.resolve_scope({
242
242
  root,
243
243
  ...change,
244
+ ...narrowing,
244
245
  recorded,
245
246
  naming_moved: naming,
246
- pure_entries,
247
247
  every_test_importers: capped.importers,
248
248
  is_present: existsSync,
249
249
  })
@@ -186,21 +186,21 @@ function isolated_unit_environment(
186
186
  //
187
187
  // **The machine is read only when no count was typed.** The reading waits out a sample window, and a
188
188
  // caller's `--maxWorkers` wins whatever it says. The gate's cap is one: its admission narrows it to the
189
- // free cores, and its unit step bounds it by the free memory once admitted (`gate-run-steps.ts`).
189
+ // free cores, and its unit step bounds it by the free memory once admitted (`gate-run-steps.ts`); a
190
+ // sharing run admitted on a claim is bounded the same way (`unit_worker_share.admitted_capacity`).
190
191
  async function vitest_share(vitest_arguments: ReadonlyArray<string>): Promise<number | undefined> {
191
192
  if (unit_worker_share.has_worker_flag(vitest_arguments)) return undefined
192
193
 
193
194
  const available_cores = availableParallelism()
195
+ const live_runs = unit_worker_share.live_run_count()
196
+ const live_lanes = unit_worker_share.live_lane_count()
197
+ const claim = core_budget.held_unit_claim()
194
198
  // The cores and the memory free right now (joshuafolkken/kit#4528), from one reading.
195
- const free = await free_cores.read({ available_cores })
196
- const share = unit_worker_share.current_share(
197
- available_cores,
198
- unit_worker_share.live_run_count(),
199
- free,
200
- unit_worker_share.live_lane_count(),
201
- )
199
+ const reading = await free_cores.read({ available_cores })
200
+ const free = unit_worker_share.admitted_capacity(reading, claim, live_runs, live_lanes)
201
+ const share = unit_worker_share.current_share(available_cores, live_runs, free, live_lanes)
202
202
 
203
- return unit_worker_share.cap_to_claim(share, core_budget.held_unit_claim())
203
+ return unit_worker_share.cap_to_claim(share, claim)
204
204
  }
205
205
 
206
206
  async function execute_vitest(
@@ -109,6 +109,26 @@ function own_run(): number {
109
109
  return is_nested_run() ? 0 : SOLO_RUNS
110
110
  }
111
111
 
112
+ // **A sharing run's admitted claim is not cut to the free cores** (joshuafolkken/kit#7551). Under
113
+ // concurrency the claim is already this run's slice of the machine, admitted against the ledger and
114
+ // the load. The free cores read afterwards count the other lanes' use beyond their claims and the load
115
+ // average's trailing minute, so a two-worker share fell to one while the ledger kept the second core
116
+ // held for nobody — `test:related` ran 38 s alone and 71 s beside three lanes with no core wait. The
117
+ // gate's unit step is already bounded only by the free memory once admitted; so is this. A solo run and
118
+ // a run with no claim keep both bounds.
119
+ function admitted_capacity(
120
+ free: FreeCapacity,
121
+ claim: UnitClaim | undefined,
122
+ live_runs: number,
123
+ live_lanes: number,
124
+ ): FreeCapacity {
125
+ const is_sharing = sharing_runs(live_runs + own_run(), live_lanes) > SOLO_RUNS
126
+
127
+ if (claim === undefined || !is_sharing) return free
128
+
129
+ return { cores: undefined, memory_workers: free.memory_workers }
130
+ }
131
+
112
132
  // The share this run may take, read from the machine. Separate from `resolve_unit_workers` so that
113
133
  // one stays a pure function of two numbers and every test of it can pass them.
114
134
  //
@@ -180,6 +200,7 @@ const unit_worker_share = {
180
200
  ...unit_run_marker,
181
201
  ...unit_lane_count,
182
202
  MAIN_PROCESS_CORES,
203
+ admitted_capacity,
183
204
  cap_to_capacity,
184
205
  cap_to_claim,
185
206
  cap_to_free,