@joshuafolkken/kit 1.3041.0 → 1.3092.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 (1243) hide show
  1. package/.claude/skills/workflow-commands/backlogrun-steps.md +1 -1
  2. package/.claude/skills/workflow-commands/fullrun-steps.md +3 -3
  3. package/.claude/skills/workflow-commands/halfrun.md +3 -2
  4. package/.claude/skills/workflow-commands/kickoff.md +9 -2
  5. package/.claude/skills/workflow-commands/prerequisite.md +2 -0
  6. package/.claude/skills/workflow-commands/progress-watcher.md +10 -8
  7. package/.claude/skills/workflow-commands/retrospective.md +2 -1
  8. package/.claude/skills/workflow-commands/split-assessment.md +4 -0
  9. package/.github/workflows/ci.yml +0 -20
  10. package/.github/workflows/pr-classification.yml +0 -5
  11. package/.github/workflows/publish.yml +0 -1
  12. package/.github/workflows/sonar-qube.yml +0 -5
  13. package/README.md +2 -0
  14. package/SECURITY.md +2 -1
  15. package/dist/.inputs-verified.json +1 -1
  16. package/dist/commands/adopt.js +29 -20
  17. package/dist/commands/auto-ok-judge-cli.js +43 -33
  18. package/dist/commands/auto-ok-main.js +73 -74
  19. package/dist/commands/backlog-budget-main.js +5 -6
  20. package/dist/commands/backlog-drive-cli.js +286 -305
  21. package/dist/commands/backlog-next-main.js +111 -108
  22. package/dist/commands/backlog-offer-main.js +148 -112
  23. package/dist/commands/backlog-plan-cli.js +123 -120
  24. package/dist/commands/backlog-triage-cli.js +131 -128
  25. package/dist/commands/backlogrun-cli.js +273 -264
  26. package/dist/commands/behavior-cli.js +23 -26
  27. package/dist/commands/bytes-command.js +56 -59
  28. package/dist/commands/cases-cli.js +4 -5
  29. package/dist/commands/check-commit-message-main.js +3 -4
  30. package/dist/commands/check-related.js +125 -119
  31. package/dist/commands/chunk-26JL4UU4.js +365 -0
  32. package/dist/commands/chunk-2BIVHPCA.js +85 -0
  33. package/dist/commands/chunk-2CKJODCK.js +245 -0
  34. package/dist/commands/chunk-2E6PSONB.js +46 -0
  35. package/dist/commands/chunk-2GA4775H.js +77 -0
  36. package/dist/commands/chunk-2O64H5UJ.js +462 -0
  37. package/dist/commands/chunk-2OEXY4GM.js +252 -0
  38. package/dist/commands/chunk-2OMIHPPE.js +51 -0
  39. package/dist/commands/chunk-2ONSHOAY.js +46 -0
  40. package/dist/commands/chunk-2Q7MGFYB.js +1208 -0
  41. package/dist/commands/chunk-2SA3W4JF.js +41 -0
  42. package/dist/commands/chunk-2VY7CJ2R.js +212 -0
  43. package/dist/commands/chunk-2WRDAQPJ.js +74 -0
  44. package/dist/commands/chunk-2XLR7R6E.js +541 -0
  45. package/dist/commands/chunk-2XZF3YFY.js +47 -0
  46. package/dist/commands/chunk-33TAOZUE.js +29 -0
  47. package/dist/commands/chunk-374XGAWD.js +158 -0
  48. package/dist/commands/chunk-3CJNQU7P.js +179 -0
  49. package/dist/commands/chunk-3D5T6KMW.js +59 -0
  50. package/dist/commands/chunk-3EW5LTN3.js +114 -0
  51. package/dist/commands/chunk-3F3RNIG2.js +128 -0
  52. package/dist/commands/chunk-3FLTEJZY.js +74 -0
  53. package/dist/commands/chunk-3JWPTRNI.js +60 -0
  54. package/dist/commands/chunk-3MQTOUXT.js +94 -0
  55. package/dist/commands/chunk-3PCUERXE.js +19 -0
  56. package/dist/commands/chunk-3U6A5WON.js +173 -0
  57. package/dist/commands/chunk-3YT3RCSI.js +140 -0
  58. package/dist/commands/chunk-43DU7DYZ.js +540 -0
  59. package/dist/commands/chunk-43H725LG.js +132 -0
  60. package/dist/commands/chunk-46STCE6Q.js +48 -0
  61. package/dist/commands/chunk-46WEC6HZ.js +82 -0
  62. package/dist/commands/chunk-47J4KOZP.js +46 -0
  63. package/dist/commands/chunk-47W7PF4T.js +22 -0
  64. package/dist/commands/chunk-4F4KARQN.js +229 -0
  65. package/dist/commands/chunk-4GUGC4IW.js +338 -0
  66. package/dist/commands/chunk-4HB7NWXP.js +263 -0
  67. package/dist/commands/chunk-4HOTJAO6.js +89 -0
  68. package/dist/commands/chunk-4I5AA4P5.js +237 -0
  69. package/dist/commands/chunk-4IDINPBE.js +525 -0
  70. package/dist/commands/chunk-4K7KLR7L.js +69 -0
  71. package/dist/commands/chunk-4MGTNY2L.js +347 -0
  72. package/dist/commands/chunk-4NSIW3UB.js +104 -0
  73. package/dist/commands/chunk-4YTKV6WV.js +37 -0
  74. package/dist/commands/chunk-5ARNFMQK.js +1263 -0
  75. package/dist/commands/chunk-5AZTSESD.js +114 -0
  76. package/dist/commands/chunk-5FUI2MLY.js +89 -0
  77. package/dist/commands/chunk-5GI5GLC4.js +214 -0
  78. package/dist/commands/chunk-5IHEBIPD.js +333 -0
  79. package/dist/commands/chunk-5KAW5GPF.js +44 -0
  80. package/dist/commands/chunk-5KSJEWXR.js +77 -0
  81. package/dist/commands/chunk-5OF2B4BF.js +35 -0
  82. package/dist/commands/chunk-5PLJ7R3D.js +126 -0
  83. package/dist/commands/chunk-5PPWXOCF.js +64 -0
  84. package/dist/commands/chunk-5VQCL33M.js +46 -0
  85. package/dist/commands/chunk-5Y7FOJLX.js +186 -0
  86. package/dist/commands/chunk-5YTEMF4O.js +110 -0
  87. package/dist/commands/chunk-62NYXZCC.js +241 -0
  88. package/dist/commands/chunk-6KUA7MRG.js +64 -0
  89. package/dist/commands/chunk-6LDEZFYR.js +88 -0
  90. package/dist/commands/chunk-6NXIZMIK.js +122 -0
  91. package/dist/commands/chunk-6O45F6YI.js +86 -0
  92. package/dist/commands/chunk-6OHJBQDE.js +184 -0
  93. package/dist/commands/chunk-6WDCCG3M.js +1249 -0
  94. package/dist/commands/chunk-6ZHXEQAI.js +715 -0
  95. package/dist/commands/chunk-736NECRD.js +16 -0
  96. package/dist/commands/chunk-77LEKVEE.js +32 -0
  97. package/dist/commands/chunk-7CX5VYOL.js +50 -0
  98. package/dist/commands/chunk-7DGHFBU7.js +247 -0
  99. package/dist/commands/chunk-7E43YW53.js +128 -0
  100. package/dist/commands/chunk-7EAYFMDN.js +235 -0
  101. package/dist/commands/chunk-7HP3FQGQ.js +51 -0
  102. package/dist/commands/chunk-7JOOMFDI.js +155 -0
  103. package/dist/commands/chunk-7OEBSPPU.js +321 -0
  104. package/dist/commands/chunk-A3JYZWBS.js +803 -0
  105. package/dist/commands/chunk-A3LCN4KA.js +84 -0
  106. package/dist/commands/chunk-ABLXBG6C.js +98 -0
  107. package/dist/commands/chunk-AN7BFVHU.js +244 -0
  108. package/dist/commands/chunk-AQCVEQSM.js +99 -0
  109. package/dist/commands/chunk-AT46EY7H.js +393 -0
  110. package/dist/commands/chunk-AU563VKH.js +75 -0
  111. package/dist/commands/chunk-AUTD5FV2.js +1077 -0
  112. package/dist/commands/chunk-AV26CMY6.js +304 -0
  113. package/dist/commands/chunk-B2PJEV3S.js +246 -0
  114. package/dist/commands/chunk-B545ENGY.js +214 -0
  115. package/dist/commands/chunk-B5HP6T4L.js +170 -0
  116. package/dist/commands/chunk-B5XYAWNN.js +37 -0
  117. package/dist/commands/chunk-B73IIRMS.js +207 -0
  118. package/dist/commands/chunk-BAEDHPXW.js +160 -0
  119. package/dist/commands/chunk-BDSG6JKH.js +977 -0
  120. package/dist/commands/chunk-BE6F4YK2.js +769 -0
  121. package/dist/commands/chunk-BFKTUD3V.js +33 -0
  122. package/dist/commands/chunk-BLRXHK2V.js +17 -0
  123. package/dist/commands/chunk-BLUAO4QW.js +173 -0
  124. package/dist/commands/chunk-BML6MEUB.js +326 -0
  125. package/dist/commands/chunk-BPDNGJXY.js +63 -0
  126. package/dist/commands/chunk-BQLKWGGC.js +118 -0
  127. package/dist/commands/chunk-BRMJVCP7.js +167 -0
  128. package/dist/commands/chunk-BRWR5YKU.js +268 -0
  129. package/dist/commands/chunk-BUZAYEBD.js +319 -0
  130. package/dist/commands/chunk-BVUL57IX.js +139 -0
  131. package/dist/commands/chunk-CC4BIGCA.js +20 -0
  132. package/dist/commands/chunk-CCHJZEF5.js +4220 -0
  133. package/dist/commands/chunk-CDK7QZWG.js +44 -0
  134. package/dist/commands/chunk-CDYFUCDC.js +72 -0
  135. package/dist/commands/chunk-CEADAQIL.js +170 -0
  136. package/dist/commands/chunk-CNL3SLM6.js +116 -0
  137. package/dist/commands/chunk-CNQ7D2GZ.js +104 -0
  138. package/dist/commands/chunk-CTXJVMHW.js +48 -0
  139. package/dist/commands/chunk-CUWT6UQO.js +13 -0
  140. package/dist/commands/chunk-CVRDJCOE.js +125 -0
  141. package/dist/commands/chunk-D6CF5QGM.js +80 -0
  142. package/dist/commands/chunk-DACNQAXC.js +20 -0
  143. package/dist/commands/chunk-DDOS32JU.js +74 -0
  144. package/dist/commands/chunk-DDZVMXZD.js +481 -0
  145. package/dist/commands/chunk-DF6QD4AF.js +52 -0
  146. package/dist/commands/chunk-DFEXNB44.js +159 -0
  147. package/dist/commands/chunk-DHDKG5HZ.js +151 -0
  148. package/dist/commands/chunk-DHJRFBKO.js +223 -0
  149. package/dist/commands/chunk-DKDWOE3C.js +78 -0
  150. package/dist/commands/chunk-DKO5VTEH.js +65 -0
  151. package/dist/commands/chunk-DLHH3MLS.js +85 -0
  152. package/dist/commands/chunk-DOYNK72G.js +81 -0
  153. package/dist/commands/chunk-DS53UUDH.js +679 -0
  154. package/dist/commands/chunk-DUA4E4ES.js +230 -0
  155. package/dist/commands/chunk-DURHGVRC.js +33 -0
  156. package/dist/commands/chunk-DVCMQMRN.js +191 -0
  157. package/dist/commands/chunk-E3YKMCCJ.js +108 -0
  158. package/dist/commands/chunk-E4F2RTKC.js +272 -0
  159. package/dist/commands/chunk-E4PFCTXN.js +127 -0
  160. package/dist/commands/chunk-EAOTR2WL.js +24 -0
  161. package/dist/commands/chunk-EE4VOZJP.js +167 -0
  162. package/dist/commands/chunk-EHVEWJQ4.js +33 -0
  163. package/dist/commands/chunk-EMFSPPMH.js +98 -0
  164. package/dist/commands/chunk-EN65ZS3S.js +73 -0
  165. package/dist/commands/chunk-ES42XPAD.js +123 -0
  166. package/dist/commands/chunk-ESUY7KTZ.js +137 -0
  167. package/dist/commands/chunk-ET6IRQ3L.js +330 -0
  168. package/dist/commands/chunk-EWCUT7U2.js +1314 -0
  169. package/dist/commands/chunk-EWXXEGXL.js +149 -0
  170. package/dist/commands/chunk-EZYW54OQ.js +7569 -0
  171. package/dist/commands/chunk-F2RDEF2J.js +205 -0
  172. package/dist/commands/chunk-F2U46HAE.js +52 -0
  173. package/dist/commands/chunk-F2VYWU6Z.js +653 -0
  174. package/dist/commands/chunk-F4SGOTUF.js +36 -0
  175. package/dist/commands/chunk-F4YMLVWN.js +183 -0
  176. package/dist/commands/chunk-F5N2QIFD.js +213 -0
  177. package/dist/commands/chunk-F7B4ESZE.js +80 -0
  178. package/dist/commands/chunk-FJM2HWKW.js +299 -0
  179. package/dist/commands/chunk-FJMXUDEY.js +3985 -0
  180. package/dist/commands/chunk-FM7VVAK6.js +426 -0
  181. package/dist/commands/chunk-FQWRM5FC.js +67 -0
  182. package/dist/commands/chunk-FT33ZCSB.js +298 -0
  183. package/dist/commands/chunk-G2DNS74C.js +53 -0
  184. package/dist/commands/chunk-G75GWNNY.js +101 -0
  185. package/dist/commands/chunk-GA2YSPFH.js +32 -0
  186. package/dist/commands/chunk-GAVSK6P6.js +230 -0
  187. package/dist/commands/chunk-GB2BRQVL.js +300 -0
  188. package/dist/commands/chunk-GBMZXFFC.js +44 -0
  189. package/dist/commands/chunk-GDP7QXYE.js +76 -0
  190. package/dist/commands/chunk-GGWXF7RJ.js +70 -0
  191. package/dist/commands/chunk-GHOTKHI4.js +30 -0
  192. package/dist/commands/chunk-GMVN6ZP2.js +48 -0
  193. package/dist/commands/chunk-GNTTGRCX.js +133 -0
  194. package/dist/commands/chunk-GOY5JECO.js +130 -0
  195. package/dist/commands/chunk-GVDRRBHZ.js +507 -0
  196. package/dist/commands/chunk-GWTBIGYC.js +550 -0
  197. package/dist/commands/chunk-GZL6ISVM.js +72 -0
  198. package/dist/commands/chunk-HALHQILI.js +51 -0
  199. package/dist/commands/chunk-HAT7AFBF.js +85 -0
  200. package/dist/commands/chunk-HDVSZ6CZ.js +292 -0
  201. package/dist/commands/chunk-HE3GOMR7.js +88 -0
  202. package/dist/commands/chunk-HEFUC4ZW.js +65 -0
  203. package/dist/commands/chunk-HESWKELD.js +60 -0
  204. package/dist/commands/chunk-HNFBEB4L.js +77 -0
  205. package/dist/commands/chunk-HRN73FQJ.js +77 -0
  206. package/dist/commands/chunk-HYE3MBAN.js +113 -0
  207. package/dist/commands/chunk-IAB6LCJL.js +18 -0
  208. package/dist/commands/chunk-IAGENI2U.js +42 -0
  209. package/dist/commands/chunk-ICPVBHIX.js +48 -0
  210. package/dist/commands/chunk-IEKW3ON6.js +161 -0
  211. package/dist/commands/chunk-IOKOHB7P.js +109 -0
  212. package/dist/commands/chunk-IONGJJYM.js +179 -0
  213. package/dist/commands/chunk-IP23WOWP.js +126 -0
  214. package/dist/commands/chunk-IPS7EBE5.js +140 -0
  215. package/dist/commands/chunk-IXZZSST7.js +459 -0
  216. package/dist/commands/chunk-J4XHEOOW.js +156 -0
  217. package/dist/commands/chunk-JDHLHYJJ.js +208 -0
  218. package/dist/commands/chunk-JEYITIWB.js +423 -0
  219. package/dist/commands/chunk-JGX7JIW4.js +126 -0
  220. package/dist/commands/chunk-JHIGDFBS.js +59 -0
  221. package/dist/commands/chunk-JI2EGXZX.js +53 -0
  222. package/dist/commands/chunk-JNV3VRK2.js +47 -0
  223. package/dist/commands/chunk-JPMAW2VZ.js +91 -0
  224. package/dist/commands/chunk-JQEY6KDP.js +90 -0
  225. package/dist/commands/chunk-JSJDIEGZ.js +88 -0
  226. package/dist/commands/chunk-JT5ICRFF.js +44 -0
  227. package/dist/commands/chunk-JUCJ4Y42.js +77 -0
  228. package/dist/commands/chunk-K3OZBV3L.js +49 -0
  229. package/dist/commands/chunk-K5H3CLZZ.js +430 -0
  230. package/dist/commands/chunk-K6P5PISC.js +114 -0
  231. package/dist/commands/chunk-KD3SEAMV.js +402 -0
  232. package/dist/commands/chunk-KDCHY7XO.js +88 -0
  233. package/dist/commands/chunk-KDGX3JTV.js +51 -0
  234. package/dist/commands/chunk-KGSEWOKI.js +353 -0
  235. package/dist/commands/chunk-KHGDZQRG.js +271 -0
  236. package/dist/commands/chunk-KIS7JFNP.js +217 -0
  237. package/dist/commands/chunk-KKHD3C2P.js +114 -0
  238. package/dist/commands/chunk-KKIIY5I5.js +67 -0
  239. package/dist/commands/chunk-KN46UC77.js +114 -0
  240. package/dist/commands/chunk-KP2BVAS5.js +125 -0
  241. package/dist/commands/chunk-KPAJBJXG.js +63 -0
  242. package/dist/commands/chunk-KPMAJP6D.js +145 -0
  243. package/dist/commands/chunk-KR6WUAJM.js +122 -0
  244. package/dist/commands/chunk-KWLNK2NJ.js +391 -0
  245. package/dist/commands/chunk-L2CLCNXW.js +144 -0
  246. package/dist/commands/chunk-L7MDU6D7.js +155 -0
  247. package/dist/commands/chunk-L7VD4MLF.js +78 -0
  248. package/dist/commands/chunk-LBMAJDGN.js +124 -0
  249. package/dist/commands/chunk-LBVYFW3I.js +38 -0
  250. package/dist/commands/chunk-LE3M42CF.js +350 -0
  251. package/dist/commands/chunk-LIPUSINQ.js +140 -0
  252. package/dist/commands/chunk-LJVZWE3A.js +1885 -0
  253. package/dist/commands/chunk-LKSSQVDA.js +49 -0
  254. package/dist/commands/chunk-LL6G34MF.js +93 -0
  255. package/dist/commands/chunk-LNQOL2CL.js +321 -0
  256. package/dist/commands/chunk-LS7P324N.js +72 -0
  257. package/dist/commands/chunk-LU5EOGFQ.js +50 -0
  258. package/dist/commands/chunk-LX2ENXHZ.js +197 -0
  259. package/dist/commands/chunk-M32UPB2D.js +110 -0
  260. package/dist/commands/chunk-M3UGRNNB.js +103 -0
  261. package/dist/commands/chunk-M4WG74Q7.js +260 -0
  262. package/dist/commands/chunk-M5HA2ZCG.js +105 -0
  263. package/dist/commands/chunk-MDGPJOLK.js +351 -0
  264. package/dist/commands/chunk-MDKRTUE4.js +288 -0
  265. package/dist/commands/chunk-MFZVRWRS.js +34 -0
  266. package/dist/commands/chunk-MHXIJKGP.js +304 -0
  267. package/dist/commands/chunk-MK4CARBI.js +90 -0
  268. package/dist/commands/chunk-MLJDW7YN.js +64 -0
  269. package/dist/commands/chunk-MNLHYAJO.js +80 -0
  270. package/dist/commands/chunk-MOD3FG4V.js +419 -0
  271. package/dist/commands/chunk-MRAEJLXL.js +83 -0
  272. package/dist/commands/chunk-MRW2WYJS.js +68 -0
  273. package/dist/commands/chunk-MXPCEZL5.js +23 -0
  274. package/dist/commands/chunk-N2XH7QBY.js +103 -0
  275. package/dist/commands/chunk-N2ZF6T4E.js +332 -0
  276. package/dist/commands/chunk-N36NZMAL.js +79 -0
  277. package/dist/commands/chunk-N4EMFHQ6.js +114 -0
  278. package/dist/commands/chunk-N4P64UIH.js +211 -0
  279. package/dist/commands/chunk-NABSSY4P.js +204 -0
  280. package/dist/commands/chunk-NDQIJBRQ.js +100 -0
  281. package/dist/commands/chunk-NDR4PCVG.js +29 -0
  282. package/dist/commands/chunk-NEOCCN6D.js +302 -0
  283. package/dist/commands/chunk-NFKWFOFM.js +45 -0
  284. package/dist/commands/chunk-NFUPJBBG.js +516 -0
  285. package/dist/commands/chunk-NHEBKL7X.js +170 -0
  286. package/dist/commands/chunk-NHTEC5U4.js +99 -0
  287. package/dist/commands/chunk-NOSG3RUP.js +84 -0
  288. package/dist/commands/chunk-NOSODWWK.js +1132 -0
  289. package/dist/commands/chunk-NPXXYG6Z.js +580 -0
  290. package/dist/commands/chunk-NR2JDBPV.js +75 -0
  291. package/dist/commands/chunk-NRULNBYI.js +1153 -0
  292. package/dist/commands/chunk-NTGF5N3N.js +110 -0
  293. package/dist/commands/chunk-NTIVNQKF.js +73 -0
  294. package/dist/commands/chunk-NUCFIYZL.js +119 -0
  295. package/dist/commands/chunk-NVMV7BYX.js +88 -0
  296. package/dist/commands/chunk-NYWPTYGL.js +169 -0
  297. package/dist/commands/chunk-NZ45KOLL.js +104 -0
  298. package/dist/commands/chunk-O45BX4EL.js +39 -0
  299. package/dist/commands/chunk-O46T4ANI.js +229 -0
  300. package/dist/commands/chunk-O5JGV7NA.js +245 -0
  301. package/dist/commands/chunk-O7ESC4HL.js +566 -0
  302. package/dist/commands/chunk-OBYLXHCH.js +86 -0
  303. package/dist/commands/chunk-OKN63ZH5.js +109 -0
  304. package/dist/commands/chunk-ON4IKRGS.js +469 -0
  305. package/dist/commands/chunk-OT74RSQO.js +82 -0
  306. package/dist/commands/chunk-OVCVINYW.js +143 -0
  307. package/dist/commands/chunk-OZKLVTYI.js +342 -0
  308. package/dist/commands/chunk-P3LJ2Q4N.js +555 -0
  309. package/dist/commands/chunk-P43GWYR6.js +185 -0
  310. package/dist/commands/chunk-P6ASP2DY.js +132 -0
  311. package/dist/commands/chunk-PBAEJ5PT.js +38 -0
  312. package/dist/commands/chunk-PCZROH3R.js +100 -0
  313. package/dist/commands/chunk-PF3PMT2Q.js +46 -0
  314. package/dist/commands/chunk-PILH72AV.js +170 -0
  315. package/dist/commands/chunk-PJYTUUTH.js +34 -0
  316. package/dist/commands/chunk-PKXTISWR.js +58 -0
  317. package/dist/commands/chunk-PSGLUBSB.js +74 -0
  318. package/dist/commands/chunk-PUQA7F6Y.js +186 -0
  319. package/dist/commands/chunk-PVRDJU2B.js +126 -0
  320. package/dist/commands/chunk-Q3HM2BEH.js +45 -0
  321. package/dist/commands/chunk-Q42NF2TL.js +47 -0
  322. package/dist/commands/chunk-Q4ULMZAS.js +106 -0
  323. package/dist/commands/chunk-QCRUPRQ2.js +207 -0
  324. package/dist/commands/chunk-QFIKPGMC.js +280 -0
  325. package/dist/commands/chunk-QSBYULSS.js +100 -0
  326. package/dist/commands/chunk-QSJCZATC.js +18 -0
  327. package/dist/commands/chunk-QTJPCXEW.js +23 -0
  328. package/dist/commands/chunk-QTQAI2M2.js +179 -0
  329. package/dist/commands/chunk-QTVVFV4Q.js +127 -0
  330. package/dist/commands/chunk-QX2EMUXV.js +102 -0
  331. package/dist/commands/chunk-QXBOECGL.js +272 -0
  332. package/dist/commands/chunk-QXCG3SG4.js +88 -0
  333. package/dist/commands/chunk-QZVMGAWV.js +307 -0
  334. package/dist/commands/chunk-R36VZIKU.js +53 -0
  335. package/dist/commands/chunk-R3F7F3TX.js +94 -0
  336. package/dist/commands/chunk-R5AABJZJ.js +1062 -0
  337. package/dist/commands/chunk-R7PYR4HW.js +389 -0
  338. package/dist/commands/chunk-RDUFVQVJ.js +997 -0
  339. package/dist/commands/chunk-RESNXNDG.js +54 -0
  340. package/dist/commands/chunk-RFIOZTXY.js +305 -0
  341. package/dist/commands/chunk-RFWB2KAV.js +102 -0
  342. package/dist/commands/chunk-RFXON3FK.js +25 -0
  343. package/dist/commands/chunk-RGEB5L37.js +66 -0
  344. package/dist/commands/chunk-RGRLLF2J.js +119 -0
  345. package/dist/commands/chunk-RLRIMYXM.js +178 -0
  346. package/dist/commands/chunk-RNB3DQOZ.js +70 -0
  347. package/dist/commands/chunk-RO4QEZJO.js +172 -0
  348. package/dist/commands/chunk-RS5HBJY6.js +161 -0
  349. package/dist/commands/chunk-RV7EQIE4.js +202 -0
  350. package/dist/commands/chunk-RWPCK3CO.js +41 -0
  351. package/dist/commands/chunk-RWYSVFIA.js +250 -0
  352. package/dist/commands/chunk-RYKK75YT.js +289 -0
  353. package/dist/commands/chunk-S4JE63QE.js +704 -0
  354. package/dist/commands/chunk-S4OZJIXD.js +134 -0
  355. package/dist/commands/chunk-SD4EX75H.js +177 -0
  356. package/dist/commands/chunk-SJITWFNY.js +480 -0
  357. package/dist/commands/chunk-SKGDMAIA.js +33 -0
  358. package/dist/commands/chunk-SNSZ25XZ.js +393 -0
  359. package/dist/commands/chunk-SQZZHK6X.js +119 -0
  360. package/dist/commands/chunk-SRTEE34O.js +93 -0
  361. package/dist/commands/chunk-SYTCTLMD.js +285 -0
  362. package/dist/commands/chunk-T6JUDQMW.js +181 -0
  363. package/dist/commands/chunk-T6OUNP7E.js +426 -0
  364. package/dist/commands/chunk-TEXUEBGE.js +208 -0
  365. package/dist/commands/chunk-TFDVTU6O.js +910 -0
  366. package/dist/commands/chunk-TFYYXETQ.js +472 -0
  367. package/dist/commands/chunk-TMFKVJUW.js +121 -0
  368. package/dist/commands/chunk-TNJU4CXD.js +32 -0
  369. package/dist/commands/chunk-TRHWBUWE.js +61 -0
  370. package/dist/commands/chunk-TROCFVCU.js +45 -0
  371. package/dist/commands/chunk-TTTZZN7F.js +269 -0
  372. package/dist/commands/chunk-TUBBESHU.js +85 -0
  373. package/dist/commands/chunk-TVZIFZZN.js +62 -0
  374. package/dist/commands/chunk-TXRWAL63.js +144 -0
  375. package/dist/commands/chunk-U46YTYJQ.js +92 -0
  376. package/dist/commands/chunk-U5EO4QEV.js +48 -0
  377. package/dist/commands/chunk-UCO333EX.js +47 -0
  378. package/dist/commands/chunk-UIXQ4IYT.js +445 -0
  379. package/dist/commands/chunk-UJGNYPMD.js +716 -0
  380. package/dist/commands/chunk-URZ4RDC4.js +220 -0
  381. package/dist/commands/chunk-UUH3DE77.js +57 -0
  382. package/dist/commands/chunk-UVY5ODCM.js +60 -0
  383. package/dist/commands/chunk-UWMB6EOU.js +45 -0
  384. package/dist/commands/chunk-UX3HCPLX.js +449 -0
  385. package/dist/commands/chunk-UY62WJV6.js +120 -0
  386. package/dist/commands/chunk-V2T5DP3B.js +224 -0
  387. package/dist/commands/chunk-VAHQ4AFM.js +585 -0
  388. package/dist/commands/chunk-VCWNMRH7.js +71 -0
  389. package/dist/commands/chunk-VHLDQ3PH.js +30 -0
  390. package/dist/commands/chunk-VL5I2IOD.js +332 -0
  391. package/dist/commands/chunk-VLN6TSPJ.js +139 -0
  392. package/dist/commands/chunk-VMG3QB6C.js +81 -0
  393. package/dist/commands/chunk-VO25PMGS.js +58 -0
  394. package/dist/commands/chunk-VTLWODJ2.js +133 -0
  395. package/dist/commands/chunk-VXE3V3OC.js +335 -0
  396. package/dist/commands/chunk-VY7ZJMDT.js +469 -0
  397. package/dist/commands/chunk-W3MDLQZF.js +137 -0
  398. package/dist/commands/chunk-W4BR6QNU.js +1241 -0
  399. package/dist/commands/chunk-WCYRNNKF.js +76 -0
  400. package/dist/commands/chunk-WEUUJIWQ.js +84 -0
  401. package/dist/commands/chunk-WNBJK6QE.js +84 -0
  402. package/dist/commands/chunk-WR5PKCQW.js +61 -0
  403. package/dist/commands/chunk-WR73HTRG.js +121 -0
  404. package/dist/commands/chunk-WRNMUQTD.js +95 -0
  405. package/dist/commands/chunk-WROJTXWZ.js +138 -0
  406. package/dist/commands/chunk-WTIPX5NG.js +43 -0
  407. package/dist/commands/chunk-WWLCQREY.js +225 -0
  408. package/dist/commands/chunk-WXLW7S4M.js +71 -0
  409. package/dist/commands/chunk-WXXLJQBO.js +67 -0
  410. package/dist/commands/chunk-X4LYH6Q4.js +56 -0
  411. package/dist/commands/chunk-XAEL24EG.js +66 -0
  412. package/dist/commands/chunk-XCCT6GKA.js +74 -0
  413. package/dist/commands/chunk-XDR2BRDL.js +216 -0
  414. package/dist/commands/chunk-XRQMVAB4.js +85 -0
  415. package/dist/commands/chunk-XSKJAG72.js +91 -0
  416. package/dist/commands/chunk-XTJA34ND.js +492 -0
  417. package/dist/commands/chunk-XUXCFPDK.js +218 -0
  418. package/dist/commands/chunk-XXPDFJRI.js +48 -0
  419. package/dist/commands/chunk-Y6OGDG5I.js +49 -0
  420. package/dist/commands/chunk-YEAE46TS.js +98 -0
  421. package/dist/commands/chunk-YEQFAEVW.js +112 -0
  422. package/dist/commands/chunk-YJZAD4Z5.js +103 -0
  423. package/dist/commands/chunk-YMAEYY5R.js +278 -0
  424. package/dist/commands/chunk-YNCF66RK.js +1052 -0
  425. package/dist/commands/chunk-YOA25SII.js +210 -0
  426. package/dist/commands/chunk-YOZTZMAT.js +38 -0
  427. package/dist/commands/chunk-YSGRHVZG.js +897 -0
  428. package/dist/commands/chunk-YSLGWRQN.js +646 -0
  429. package/dist/commands/chunk-YTXCLGGL.js +168 -0
  430. package/dist/commands/chunk-YVHJN2HS.js +74 -0
  431. package/dist/commands/chunk-YY7XVVSB.js +43 -0
  432. package/dist/commands/chunk-Z5GZV4DV.js +16 -0
  433. package/dist/commands/chunk-Z6QLFPFB.js +907 -0
  434. package/dist/commands/chunk-ZB52ZIEA.js +1629 -0
  435. package/dist/commands/chunk-ZCD4AV2P.js +73 -0
  436. package/dist/commands/chunk-ZCHZU6NX.js +799 -0
  437. package/dist/commands/chunk-ZEH2B3DF.js +239 -0
  438. package/dist/commands/chunk-ZEUKX3RZ.js +245 -0
  439. package/dist/commands/chunk-ZGANVZCA.js +92 -0
  440. package/dist/commands/chunk-ZGBXUY7R.js +198 -0
  441. package/dist/commands/chunk-ZGEUWHFF.js +297 -0
  442. package/dist/commands/chunk-ZHSNQ2F7.js +161 -0
  443. package/dist/commands/chunk-ZIIUBGON.js +773 -0
  444. package/dist/commands/chunk-ZJ5S4VFD.js +258 -0
  445. package/dist/commands/chunk-ZNIIA275.js +59 -0
  446. package/dist/commands/chunk-ZV6BZZJ2.js +271 -0
  447. package/dist/commands/ci-timing-cli.js +22 -3
  448. package/dist/commands/code-symbol-cli.js +21 -7
  449. package/dist/commands/codex-hook-adapter.js +124 -119
  450. package/dist/commands/command-derive.js +9 -11
  451. package/dist/commands/cost-audit-main.js +118 -119
  452. package/dist/commands/cost-main.js +5 -7
  453. package/dist/commands/cspell-cached.js +55 -57
  454. package/dist/commands/defect-origin-main.js +42 -37
  455. package/dist/commands/defect-report-main.js +33 -25
  456. package/dist/commands/diff-summary-cli.js +3 -4
  457. package/dist/commands/disposition-cli.js +117 -118
  458. package/dist/commands/doctor.js +24 -11
  459. package/dist/commands/document-read-cli.js +50 -53
  460. package/dist/commands/document-section-main.js +50 -53
  461. package/dist/commands/dogfood-commit-cli.js +19 -4
  462. package/dist/commands/effect-audit-cli.js +40 -41
  463. package/dist/commands/epic-audit-main.js +88 -86
  464. package/dist/commands/epic-bundle-main.js +122 -119
  465. package/dist/commands/epic-check.js +37 -31
  466. package/dist/commands/epic-main.js +129 -126
  467. package/dist/commands/epic-next-main.js +85 -83
  468. package/dist/commands/eval-run.js +6 -7
  469. package/dist/commands/format-edited-cli.js +71 -46
  470. package/dist/commands/format.js +41 -56
  471. package/dist/commands/fresh-machine-cli.js +24 -7
  472. package/dist/commands/gh-usage-cli.js +22 -22
  473. package/dist/commands/git-followup-workflow.js +158 -158
  474. package/dist/commands/git-gh-checks-failed-main.js +23 -15
  475. package/dist/commands/git-workflow.js +52 -53
  476. package/dist/commands/github-release-cli.js +3 -3
  477. package/dist/commands/hook-ledger-cli.js +93 -94
  478. package/dist/commands/init-main.js +40 -40
  479. package/dist/commands/inputs.json +2042 -2002
  480. package/dist/commands/issue-ack-cli.js +28 -21
  481. package/dist/commands/issue-already-done-cli.js +107 -110
  482. package/dist/commands/issue-body-cli.js +71 -73
  483. package/dist/commands/issue-cite-main.js +35 -28
  484. package/dist/commands/issue-comment-main.js +36 -30
  485. package/dist/commands/issue-consolidate-cli.js +54 -54
  486. package/dist/commands/issue-file-main.js +274 -148
  487. package/dist/commands/issue-fold-existing-cli.js +126 -123
  488. package/dist/commands/issue-fold-main.js +57 -60
  489. package/dist/commands/issue-lint-main.js +59 -61
  490. package/dist/commands/issue-measured-cli.js +108 -110
  491. package/dist/commands/issue-plan-cli.js +156 -155
  492. package/dist/commands/issue-premise-unmet-cli.js +111 -113
  493. package/dist/commands/issue-priority-cli.js +38 -32
  494. package/dist/commands/issue-read-main.js +38 -33
  495. package/dist/commands/issue-release-class-cli.js +37 -31
  496. package/dist/commands/issue-release-main.js +35 -29
  497. package/dist/commands/issue-scout-main.js +123 -120
  498. package/dist/commands/issue-spill-main.js +149 -144
  499. package/dist/commands/issue-state-main.js +36 -31
  500. package/dist/commands/issue-tick-cli.js +37 -31
  501. package/dist/commands/josh-completion.js +21 -24
  502. package/dist/commands/lane-adopt-cli.js +53 -55
  503. package/dist/commands/lane-breakdown-cli.js +193 -172
  504. package/dist/commands/lane-cli.js +199 -180
  505. package/dist/commands/lane-launch-main.js +106 -56
  506. package/dist/commands/lane-limit-cli.js +119 -116
  507. package/dist/commands/lane-measure-cli.js +408 -245
  508. package/dist/commands/lane-pause-cli.js +51 -54
  509. package/dist/commands/lane-plan-cli.js +148 -147
  510. package/dist/commands/lane-resolve-cli.js +48 -50
  511. package/dist/commands/lane-restart-cli.js +185 -168
  512. package/dist/commands/lane-why-cli.js +121 -122
  513. package/dist/commands/lane-withdraw-cli.js +84 -86
  514. package/dist/commands/latest-corepack.js +3 -2
  515. package/dist/commands/latest-if-required-cli.js +12 -15
  516. package/dist/commands/latest-lane-guard-main.js +2 -3
  517. package/dist/commands/latest-scope-main.js +5 -7
  518. package/dist/commands/latest-update.js +3 -2
  519. package/dist/commands/lines-command.js +8 -10
  520. package/dist/commands/lint-parallel-main.js +65 -67
  521. package/dist/commands/lint-related.js +149 -133
  522. package/dist/commands/lint-rule.js +64 -66
  523. package/dist/commands/lockfile-policy.js +29 -32
  524. package/dist/commands/main-merge-main.js +23 -25
  525. package/dist/commands/main-sync-main.js +23 -24
  526. package/dist/commands/managed-config-scope-cli.js +11 -10
  527. package/dist/commands/measure-rerun-cli.js +31 -26
  528. package/dist/commands/metrics-command.js +97 -100
  529. package/dist/commands/observation-record-cli.js +24 -14
  530. package/dist/commands/observations-flush-cli.js +50 -52
  531. package/dist/commands/overrides-check.js +1 -1
  532. package/dist/commands/package-scout-cli.js +70 -73
  533. package/dist/commands/pin-verify-cli.js +21 -2
  534. package/dist/commands/plan-consumers-main.js +3 -4
  535. package/dist/commands/plan-scaffold-cli.js +145 -146
  536. package/dist/commands/pr-classification-main.js +22 -3
  537. package/dist/commands/pre-commit-lint.js +30 -34
  538. package/dist/commands/pre-commit-type-check.js +55 -55
  539. package/dist/commands/pre-push-unit.js +69 -70
  540. package/dist/commands/pretool-guard-cli.js +111 -113
  541. package/dist/commands/prevent-main-commit.js +2 -3
  542. package/dist/commands/project-profile-cli.js +24 -9
  543. package/dist/commands/propagate.js +31 -23
  544. package/dist/commands/prose-stale-cli.js +48 -42
  545. package/dist/commands/publishable-range-check.js +3 -3
  546. package/dist/commands/read-set-cli.js +58 -61
  547. package/dist/commands/refactor-scan-cli.js +8 -9
  548. package/dist/commands/release-cli.js +57 -57
  549. package/dist/commands/release-scope-main.js +41 -36
  550. package/dist/commands/rename-cli.js +64 -36
  551. package/dist/commands/repo-party-cli.js +3 -4
  552. package/dist/commands/report-template-cli.js +4 -5
  553. package/dist/commands/reserved-run.js +17 -20
  554. package/dist/commands/retrospective-cli.js +126 -127
  555. package/dist/commands/review-attest-cli.js +28 -20
  556. package/dist/commands/review-brief-main.js +184 -167
  557. package/dist/commands/review-findings-cli.js +23 -13
  558. package/dist/commands/review-pair-cli.js +180 -156
  559. package/dist/commands/review-record-main.js +171 -147
  560. package/dist/commands/review-round2-cli.js +89 -91
  561. package/dist/commands/review-stops-cli.js +51 -54
  562. package/dist/commands/review-submit-cli.js +184 -167
  563. package/dist/commands/rule-list.js +78 -80
  564. package/dist/commands/rule-value-cli.js +115 -116
  565. package/dist/commands/ruleset-check-cli.js +23 -6
  566. package/dist/commands/run-add-cli.js +115 -75
  567. package/dist/commands/run-board-main.js +172 -169
  568. package/dist/commands/run-carry-cli.js +182 -174
  569. package/dist/commands/run-chain-cli.js +184 -160
  570. package/dist/commands/run-cut-cli.js +206 -168
  571. package/dist/commands/run-ending-cli.js +51 -54
  572. package/dist/commands/run-entry-cli.js +230 -283
  573. package/dist/commands/run-event-cli.js +18 -21
  574. package/dist/commands/run-handoff-cli.js +75 -78
  575. package/dist/commands/run-handoff-lanes-cli.js +48 -51
  576. package/dist/commands/run-hold-main.js +105 -107
  577. package/dist/commands/run-liveness-cli.js +47 -49
  578. package/dist/commands/run-merge-main.js +159 -151
  579. package/dist/commands/run-next-cli.js +128 -129
  580. package/dist/commands/run-park-cli.js +137 -140
  581. package/dist/commands/run-pause-cli.js +190 -186
  582. package/dist/commands/run-pickup-cli.js +49 -52
  583. package/dist/commands/run-prep-main.js +124 -125
  584. package/dist/commands/run-prime-cli.js +175 -147
  585. package/dist/commands/run-progress-main.js +149 -146
  586. package/dist/commands/run-report-cli.js +60 -60
  587. package/dist/commands/run-review-cli.js +229 -214
  588. package/dist/commands/run-ship-cli.js +258 -252
  589. package/dist/commands/run-ship-evidence-cli.js +71 -72
  590. package/dist/commands/run-ship-lap-W66LTXJJ.js +28 -0
  591. package/dist/commands/run-ship-wait-main.js +83 -85
  592. package/dist/commands/run-split-cli.js +176 -172
  593. package/dist/commands/run-stale-main.js +72 -75
  594. package/dist/commands/run-status-cli.js +44 -44
  595. package/dist/commands/run-step-cli.js +213 -211
  596. package/dist/commands/run-tail-cli.js +23 -18
  597. package/dist/commands/run-tidy-main.js +67 -69
  598. package/dist/commands/run-wake-main.js +206 -187
  599. package/dist/commands/run-watcher-guard-cli.js +63 -66
  600. package/dist/commands/security-audit-main.js +21 -24
  601. package/dist/commands/security-audit-provision-main.js +9 -11
  602. package/dist/commands/selfcheck-cli.js +63 -57
  603. package/dist/commands/session-language-main.js +70 -73
  604. package/dist/commands/sonar-hotspots-cli.js +9 -8
  605. package/dist/commands/sonar-new-code-cli.js +3 -4
  606. package/dist/commands/split-assess-cli.js +55 -58
  607. package/dist/commands/split-child-recover-cli.js +38 -39
  608. package/dist/commands/start.js +64 -64
  609. package/dist/commands/stash-pop-main.js +4 -5
  610. package/dist/commands/stash-push-main.js +7 -9
  611. package/dist/commands/stop-guard.js +180 -176
  612. package/dist/commands/sync-main.js +30 -15
  613. package/dist/commands/telegram-test-main.js +29 -22
  614. package/dist/commands/test-declared.js +29 -15
  615. package/dist/commands/test-e2e-guard.js +54 -54
  616. package/dist/commands/test-pinned-main.js +57 -56
  617. package/dist/commands/test-reach-cli.js +40 -32
  618. package/dist/commands/test-red-main.js +12 -14
  619. package/dist/commands/test-related-Z6YY2GFH.js +113 -0
  620. package/dist/commands/test-related-main.js +89 -89
  621. package/dist/commands/test-unit-guard-main.js +37 -37
  622. package/dist/commands/time-cli.js +54 -57
  623. package/dist/commands/time-density-cli.js +26 -29
  624. package/dist/commands/tree-status-cli.js +6 -8
  625. package/dist/commands/type-check-command.js +26 -11
  626. package/dist/commands/ui-routes-cli.js +5 -6
  627. package/dist/commands/ui-shot-cli.js +1 -1
  628. package/dist/commands/uninstall.js +44 -43
  629. package/dist/commands/unused-members-KVKZDTXD.js +329 -0
  630. package/dist/commands/unused-members-cli.js +27 -12
  631. package/dist/commands/upstream-interrupt-main.js +159 -151
  632. package/dist/commands/verification-gate.js +85 -86
  633. package/dist/commands/version-check.js +25 -8
  634. package/dist/hooks/chunk-3SA3FIQC.js +6869 -0
  635. package/dist/hooks/chunk-46PTTMGE.js +1625 -0
  636. package/dist/hooks/chunk-5NIBRHWG.js +77 -0
  637. package/dist/hooks/chunk-76QKN2K3.js +258 -0
  638. package/dist/hooks/chunk-CHEKMGFP.js +321 -0
  639. package/dist/hooks/chunk-DCILEVDR.js +5173 -0
  640. package/dist/hooks/chunk-HVNGIM5W.js +5092 -0
  641. package/dist/hooks/chunk-L6IZZ2IL.js +11219 -0
  642. package/dist/hooks/chunk-UZXMFOVK.js +9170 -0
  643. package/dist/hooks/chunk-WCJ2GWYJ.js +1381 -0
  644. package/dist/hooks/chunk-YRKS5ZKE.js +1915 -0
  645. package/dist/hooks/codex-hook-adapter.js +11 -12
  646. package/dist/hooks/daemon.js +2140 -1387
  647. package/dist/hooks/format-edited.js +6 -6
  648. package/dist/hooks/inputs.json +512 -488
  649. package/dist/hooks/pretool-guard.js +8 -8
  650. package/dist/hooks/run-ship-lap-P5555IG7.js +8 -0
  651. package/dist/hooks/session-lang.js +10 -8
  652. package/dist/hooks/stop-guard.js +962 -669
  653. package/dist/inputs.json +73 -64
  654. package/dist/josh.js +1029 -577
  655. package/dist/registry-migrate.mjs +33938 -0
  656. package/dist/version/index.js +4251 -175
  657. package/package.json +4 -1
  658. package/prompts/collaboration-workflow/principles.md +4 -1
  659. package/prompts/collaboration-workflow/rule-delivery.md +1 -1
  660. package/scripts/agent/codex-launch-identity.ts +70 -0
  661. package/scripts/auto-ok/auto-ok-cli.ts +2 -0
  662. package/scripts/auto-ok/auto-ok-judge-write.ts +2 -0
  663. package/scripts/auto-ok/auto-ok-judge.ts +3 -1
  664. package/scripts/backlog/backlog-arrival.ts +1 -1
  665. package/scripts/backlog/backlog-budget.ts +5 -2
  666. package/scripts/backlog/backlog-defect-priority.ts +1 -1
  667. package/scripts/backlog/backlog-dispatch-bound.ts +17 -0
  668. package/scripts/backlog/backlog-drain-flush.ts +38 -3
  669. package/scripts/backlog/backlog-drive-cli.ts +1 -1
  670. package/scripts/backlog/backlog-drive-hold.ts +28 -5
  671. package/scripts/backlog/backlog-drive-launch.ts +37 -15
  672. package/scripts/backlog/backlog-drive-listing.ts +39 -23
  673. package/scripts/backlog/backlog-drive-retrospective-unit.ts +3 -2
  674. package/scripts/backlog/backlog-drive-split-unit.ts +1 -0
  675. package/scripts/backlog/backlog-hold-codes.ts +7 -0
  676. package/scripts/backlog/backlog-hold-text.ts +14 -1
  677. package/scripts/backlog/backlog-measure-close.ts +6 -0
  678. package/scripts/backlog/backlog-next-shared.ts +20 -2
  679. package/scripts/backlog/backlog-next.ts +24 -3
  680. package/scripts/backlog/backlog-offer-cli.ts +69 -16
  681. package/scripts/build/build-migration.ts +25 -0
  682. package/scripts/build/build.ts +2 -0
  683. package/scripts/epic/epic-classify.ts +6 -1
  684. package/scripts/epic/epic-live.ts +46 -0
  685. package/scripts/followup/followup-failed-tests.ts +71 -10
  686. package/scripts/followup/followup-job-rerun.ts +2 -2
  687. package/scripts/gate/change-scope-action.integration.test.ts +88 -0
  688. package/scripts/gate/change-scope-action.ts +2 -0
  689. package/scripts/gate/check-related-order.ts +6 -7
  690. package/scripts/gate/check-related.ts +18 -8
  691. package/scripts/gate/core-admission.ts +17 -30
  692. package/scripts/gate/core-budget-poll.ts +183 -0
  693. package/scripts/gate/core-budget-timing.ts +1 -1
  694. package/scripts/gate/core-budget.ts +24 -112
  695. package/scripts/gate/core-wait-record.ts +52 -7
  696. package/scripts/gate/machine-capacity.ts +6 -2
  697. package/scripts/gate/metrics-totals.ts +11 -0
  698. package/scripts/gate/path-glob.test.ts +18 -0
  699. package/scripts/gate/toolchain-inputs.consumer.test.ts +36 -0
  700. package/scripts/gh/fix-gh-packages-logic.ts +22 -15
  701. package/scripts/gh/gh-request-tally.ts +4 -0
  702. package/scripts/hooks/bash-revert.ts +79 -31
  703. package/scripts/hooks/format-edited-file.ts +6 -8
  704. package/scripts/hooks/implementation-shell.ts +3 -2
  705. package/scripts/init/distributed-paths.ts +18 -5
  706. package/scripts/init/init-actions.ts +16 -1
  707. package/scripts/init/init-bootstrap.ts +2 -0
  708. package/scripts/init/init-logic.ts +40 -8
  709. package/scripts/init/init.ts +11 -3
  710. package/scripts/issue/defect-rate-cli.ts +19 -13
  711. package/scripts/issue/issue-file-batch.ts +7 -3
  712. package/scripts/issue/issue-file-cli.ts +19 -6
  713. package/scripts/issue/issue-file-main.ts +6 -1
  714. package/scripts/issue/issue-file-pass.ts +17 -0
  715. package/scripts/issue/issue-file.ts +3 -0
  716. package/scripts/issue/issue-not-before.ts +9 -2
  717. package/scripts/issue/issue-observation-gate.ts +141 -0
  718. package/scripts/issue/issue-observation-prime.ts +83 -0
  719. package/scripts/issue/issue-publication-state.ts +61 -0
  720. package/scripts/issue/issue-publication.ts +144 -0
  721. package/scripts/issue/issue-sample-prime.ts +2 -0
  722. package/scripts/issue/issue-search-count.ts +26 -0
  723. package/scripts/issue/issue-search.ts +128 -3
  724. package/scripts/issue/issue-spill-cli.ts +4 -0
  725. package/scripts/issue/upstream-interrupt-cli.ts +21 -5
  726. package/scripts/josh/josh-commands-ai.ts +1 -1
  727. package/scripts/josh/josh-commands-development.ts +1 -1
  728. package/scripts/josh/josh-commands-issue-write.ts +9 -0
  729. package/scripts/josh/josh-commands-run.ts +6 -1
  730. package/scripts/josh/josh-commands-ship.ts +5 -5
  731. package/scripts/josh/josh-run.ts +5 -2
  732. package/scripts/josh/session-language-cli.ts +1 -1
  733. package/scripts/josh/shared-cache.ts +16 -1
  734. package/scripts/lane/lane-await.ts +15 -0
  735. package/scripts/lane/lane-cli.ts +2 -0
  736. package/scripts/lane/lane-dispatch-dependency.ts +102 -0
  737. package/scripts/lane/lane-dispatch-wait-stats.ts +239 -0
  738. package/scripts/lane/lane-dispatch.ts +44 -5
  739. package/scripts/lane/lane-early-push-count.ts +21 -0
  740. package/scripts/lane/lane-install.ts +15 -5
  741. package/scripts/lane/lane-launch-cli.ts +35 -14
  742. package/scripts/lane/lane-ledger-kind.ts +2 -0
  743. package/scripts/lane/lane-ledger-schema-ship.ts +5 -1
  744. package/scripts/lane/lane-ledger-schema.ts +15 -1
  745. package/scripts/lane/lane-ledger-write.ts +4 -1
  746. package/scripts/lane/lane-relaunch.ts +25 -2
  747. package/scripts/lane/lane-state-record.ts +2 -0
  748. package/scripts/lane/lane-state.ts +8 -1
  749. package/scripts/lane/lane-stats-tables.ts +2 -0
  750. package/scripts/lane/openai-lane-supervisor.ts +16 -1
  751. package/scripts/lib/inherited-scope.ts +48 -0
  752. package/scripts/lint/format-steps.ts +93 -0
  753. package/scripts/lint/format.ts +6 -49
  754. package/scripts/lint/lint-related-fix.ts +35 -0
  755. package/scripts/lint/lint-related.ts +22 -35
  756. package/scripts/propagate/propagate-steps.ts +9 -4
  757. package/scripts/registry-migration/migrate-cli.ts +50 -0
  758. package/scripts/registry-migration/migrate-files.ts +154 -0
  759. package/scripts/registry-migration/migrate-lock.ts +147 -0
  760. package/scripts/registry-migration/migrate.ts +235 -0
  761. package/scripts/registry-migration/npm-acquisition.ts +118 -0
  762. package/scripts/review/review-record-cli.ts +27 -13
  763. package/scripts/review/review-record-pinned.ts +15 -6
  764. package/scripts/run/add/run-add-cli.ts +21 -3
  765. package/scripts/run/add/run-add.ts +26 -9
  766. package/scripts/run/board/run-board-header.ts +4 -5
  767. package/scripts/run/board/run-board-layout.ts +2 -2
  768. package/scripts/run/board/run-board-read.ts +7 -1
  769. package/scripts/run/board/run-board-reason.ts +12 -0
  770. package/scripts/run/board/run-board-retry-wait.ts +35 -0
  771. package/scripts/run/board/run-board-roots.ts +25 -2
  772. package/scripts/run/board/run-board-seat.ts +9 -2
  773. package/scripts/run/board/run-board-setup.ts +19 -11
  774. package/scripts/run/board/run-board-status.ts +2 -0
  775. package/scripts/run/board/run-board-tick.ts +7 -1
  776. package/scripts/run/carry/run-carry-reclaim.ts +12 -2
  777. package/scripts/run/carry/run-carry-session.ts +48 -0
  778. package/scripts/run/carry/run-carry.ts +21 -14
  779. package/scripts/run/cut/run-cut-resume.ts +15 -3
  780. package/scripts/run/cut/run-cut.ts +1 -1
  781. package/scripts/run/detached-launch.ts +14 -5
  782. package/scripts/run/early-push-record.ts +6 -2
  783. package/scripts/run/event/run-event-setup.ts +2 -0
  784. package/scripts/run/event/run-event-stream-emit.ts +27 -7
  785. package/scripts/run/hold/run-hold-cli.ts +40 -5
  786. package/scripts/run/merge/run-merge-cut-release.ts +17 -0
  787. package/scripts/run/merge/run-merge-human-review.ts +6 -0
  788. package/scripts/run/merge/run-merge-steps.ts +4 -57
  789. package/scripts/run/merge/run-merge-waits.ts +54 -0
  790. package/scripts/run/prime/run-prime-cli.ts +16 -2
  791. package/scripts/run/review/run-review-cli.ts +5 -7
  792. package/scripts/run/review/run-review-early-push.ts +19 -8
  793. package/scripts/run/review/run-review-join-read.ts +33 -6
  794. package/scripts/run/review/run-review-pinned-remaining.ts +124 -0
  795. package/scripts/run/review/run-review-pinned-steps.ts +7 -1
  796. package/scripts/run/run-halfrun-resume.ts +49 -6
  797. package/scripts/run/run-headless.ts +3 -0
  798. package/scripts/run/run-pr-return.ts +14 -5
  799. package/scripts/run/run-repair-attempt.ts +219 -0
  800. package/scripts/run/ship/run-ship-lap.ts +5 -17
  801. package/scripts/run/ship/run-ship-pre-detach-pinned.ts +4 -13
  802. package/scripts/run/ship/run-ship-scoped.ts +66 -30
  803. package/scripts/run/startup/run-startup-schema.ts +31 -0
  804. package/scripts/run/startup/run-startup-store.ts +130 -0
  805. package/scripts/run/startup/run-startup.ts +119 -0
  806. package/scripts/run/wake/run-wake-codex.ts +144 -0
  807. package/scripts/run/wake/run-wake-driver.ts +32 -7
  808. package/scripts/run/wake/run-wake-handoff.ts +9 -8
  809. package/scripts/run/wake/run-wake-loop.ts +23 -3
  810. package/scripts/run/wake/run-wake-ports.ts +17 -3
  811. package/scripts/run/wake/run-wake-takeover.ts +6 -3
  812. package/scripts/run/wake/run-wake-window.ts +4 -1
  813. package/scripts/run/wake/run-wake.ts +5 -0
  814. package/scripts/sync/sync-ai-files.ts +17 -0
  815. package/scripts/sync/sync-configs.ts +11 -1
  816. package/scripts/sync/sync.ts +5 -1
  817. package/scripts/test/test-related-cap.ts +7 -3
  818. package/scripts/test/test-related-imports.ts +92 -0
  819. package/scripts/test/vitest-failure-summary.ts +7 -0
  820. package/scripts/version/npm-registry.ts +45 -7
  821. package/scripts/version/upgrade-shell-command.ts +34 -2
  822. package/templates/workflows/ci.yml +0 -15
  823. package/templates/workflows/github-release.yml +0 -5
  824. package/dist/commands/chunk-23GH6B3D.js +0 -333
  825. package/dist/commands/chunk-24ZDAWML.js +0 -48
  826. package/dist/commands/chunk-2BB5ZR2F.js +0 -128
  827. package/dist/commands/chunk-2BJJUTZA.js +0 -59
  828. package/dist/commands/chunk-2CXT6MBR.js +0 -51
  829. package/dist/commands/chunk-2DJLAUYB.js +0 -109
  830. package/dist/commands/chunk-2EZTYLO4.js +0 -179
  831. package/dist/commands/chunk-2FJJYCBD.js +0 -149
  832. package/dist/commands/chunk-2PHOLX62.js +0 -43
  833. package/dist/commands/chunk-2QM72JCJ.js +0 -338
  834. package/dist/commands/chunk-2VRITY55.js +0 -41
  835. package/dist/commands/chunk-2XAH3MHV.js +0 -23
  836. package/dist/commands/chunk-34KZDKQJ.js +0 -304
  837. package/dist/commands/chunk-352KLSFX.js +0 -67
  838. package/dist/commands/chunk-36LOGVJ7.js +0 -38
  839. package/dist/commands/chunk-3AEDZZNL.js +0 -223
  840. package/dist/commands/chunk-3B2HEFNO.js +0 -51
  841. package/dist/commands/chunk-3PEXBHRN.js +0 -33
  842. package/dist/commands/chunk-3Z425MM3.js +0 -61
  843. package/dist/commands/chunk-3ZOX4G4U.js +0 -88
  844. package/dist/commands/chunk-452HWOJ7.js +0 -395
  845. package/dist/commands/chunk-475EFIJV.js +0 -178
  846. package/dist/commands/chunk-47UZB54M.js +0 -73
  847. package/dist/commands/chunk-4DN4XVPL.js +0 -716
  848. package/dist/commands/chunk-4DVM57T7.js +0 -86
  849. package/dist/commands/chunk-4EADHJVC.js +0 -247
  850. package/dist/commands/chunk-4HERA2GY.js +0 -95
  851. package/dist/commands/chunk-4JI35CVO.js +0 -70
  852. package/dist/commands/chunk-4L4LNWZ7.js +0 -143
  853. package/dist/commands/chunk-4N32QKJZ.js +0 -170
  854. package/dist/commands/chunk-4NRSFLG7.js +0 -185
  855. package/dist/commands/chunk-4OKRPAUT.js +0 -98
  856. package/dist/commands/chunk-4PUKDAXL.js +0 -42
  857. package/dist/commands/chunk-4Q64PG46.js +0 -478
  858. package/dist/commands/chunk-4UDTQVDD.js +0 -278
  859. package/dist/commands/chunk-4WR2LEZL.js +0 -123
  860. package/dist/commands/chunk-4ZJOC6OK.js +0 -298
  861. package/dist/commands/chunk-4ZQM4I7R.js +0 -533
  862. package/dist/commands/chunk-54X37JEJ.js +0 -170
  863. package/dist/commands/chunk-56KW5EOK.js +0 -85
  864. package/dist/commands/chunk-5CG3XU3O.js +0 -74
  865. package/dist/commands/chunk-5ESZLHDZ.js +0 -514
  866. package/dist/commands/chunk-5FBRMARM.js +0 -578
  867. package/dist/commands/chunk-5RG4S66L.js +0 -47
  868. package/dist/commands/chunk-5UJGACVN.js +0 -137
  869. package/dist/commands/chunk-5Y7B7FDL.js +0 -44
  870. package/dist/commands/chunk-5Z6E5ZUV.js +0 -89
  871. package/dist/commands/chunk-5ZNUH4LV.js +0 -1722
  872. package/dist/commands/chunk-5ZTQX7OS.js +0 -125
  873. package/dist/commands/chunk-66NX6EXR.js +0 -29
  874. package/dist/commands/chunk-66TGK5XL.js +0 -84
  875. package/dist/commands/chunk-6CFHLMKM.js +0 -555
  876. package/dist/commands/chunk-6DDK5XWK.js +0 -74
  877. package/dist/commands/chunk-6GQX752S.js +0 -145
  878. package/dist/commands/chunk-6HRRZANN.js +0 -55
  879. package/dist/commands/chunk-6MAZ55GF.js +0 -1241
  880. package/dist/commands/chunk-6OP63TBT.js +0 -78
  881. package/dist/commands/chunk-6Q3XUCLM.js +0 -204
  882. package/dist/commands/chunk-6RUWU2SB.js +0 -45
  883. package/dist/commands/chunk-6UCWAFQY.js +0 -245
  884. package/dist/commands/chunk-6WKJ3GDA.js +0 -408
  885. package/dist/commands/chunk-6YURRFRU.js +0 -461
  886. package/dist/commands/chunk-6YVURZAJ.js +0 -350
  887. package/dist/commands/chunk-6Z4YZG7P.js +0 -169
  888. package/dist/commands/chunk-77BIN247.js +0 -122
  889. package/dist/commands/chunk-7ABHNNY3.js +0 -529
  890. package/dist/commands/chunk-7C7FOKJK.js +0 -115
  891. package/dist/commands/chunk-7HAGC6SW.js +0 -1062
  892. package/dist/commands/chunk-7KKUFLH5.js +0 -56
  893. package/dist/commands/chunk-7LJQMM2K.js +0 -102
  894. package/dist/commands/chunk-7MJYLUF4.js +0 -99
  895. package/dist/commands/chunk-7NHZCI5Y.js +0 -704
  896. package/dist/commands/chunk-7OQ56DVW.js +0 -239
  897. package/dist/commands/chunk-7VWPGTZO.js +0 -260
  898. package/dist/commands/chunk-7YZXS3AK.js +0 -30
  899. package/dist/commands/chunk-A4HOQKOG.js +0 -85
  900. package/dist/commands/chunk-A6T2N7VC.js +0 -159
  901. package/dist/commands/chunk-AAUDI7WJ.js +0 -250
  902. package/dist/commands/chunk-AC26ZUG5.js +0 -259
  903. package/dist/commands/chunk-ACZ52JPI.js +0 -140
  904. package/dist/commands/chunk-AJ65WNJB.js +0 -230
  905. package/dist/commands/chunk-AK7SEO4Y.js +0 -177
  906. package/dist/commands/chunk-AKK56GNX.js +0 -205
  907. package/dist/commands/chunk-AKQYYHP2.js +0 -461
  908. package/dist/commands/chunk-ALDAS2WG.js +0 -137
  909. package/dist/commands/chunk-ANUTT56I.js +0 -85
  910. package/dist/commands/chunk-AVVMDVGO.js +0 -68
  911. package/dist/commands/chunk-B3M5WSGN.js +0 -72
  912. package/dist/commands/chunk-B7ZNIEDV.js +0 -351
  913. package/dist/commands/chunk-BCUDQWYK.js +0 -77
  914. package/dist/commands/chunk-BF6YX4HE.js +0 -70
  915. package/dist/commands/chunk-BHRS7HAM.js +0 -272
  916. package/dist/commands/chunk-BIKGPT52.js +0 -29
  917. package/dist/commands/chunk-BJA5U4Q7.js +0 -75
  918. package/dist/commands/chunk-BMKWSWWE.js +0 -126
  919. package/dist/commands/chunk-BMTYUJNT.js +0 -59
  920. package/dist/commands/chunk-BRHPRDDV.js +0 -127
  921. package/dist/commands/chunk-BRUBX64M.js +0 -33
  922. package/dist/commands/chunk-BTZJDHQT.js +0 -46
  923. package/dist/commands/chunk-BYFC6MD2.js +0 -72
  924. package/dist/commands/chunk-BYGJ3BCJ.js +0 -803
  925. package/dist/commands/chunk-C2SEDMZ3.js +0 -238
  926. package/dist/commands/chunk-C54QXJD6.js +0 -4208
  927. package/dist/commands/chunk-C6QSVO5K.js +0 -56
  928. package/dist/commands/chunk-CBAKBWSZ.js +0 -332
  929. package/dist/commands/chunk-CFHRNTE5.js +0 -326
  930. package/dist/commands/chunk-CGLLAEKZ.js +0 -110
  931. package/dist/commands/chunk-CHKYPF5O.js +0 -82
  932. package/dist/commands/chunk-CJBW6BWG.js +0 -800
  933. package/dist/commands/chunk-CJKPF5DJ.js +0 -156
  934. package/dist/commands/chunk-CKUKK7JG.js +0 -252
  935. package/dist/commands/chunk-CMHGDCGN.js +0 -263
  936. package/dist/commands/chunk-CNGTHSUS.js +0 -750
  937. package/dist/commands/chunk-CP2J4RV2.js +0 -3987
  938. package/dist/commands/chunk-CQZI7RIK.js +0 -72
  939. package/dist/commands/chunk-CWCKCZS6.js +0 -188
  940. package/dist/commands/chunk-D5HIP4HT.js +0 -289
  941. package/dist/commands/chunk-D6D6WQR6.js +0 -125
  942. package/dist/commands/chunk-D7JRJI44.js +0 -297
  943. package/dist/commands/chunk-D7OAU32Z.js +0 -119
  944. package/dist/commands/chunk-DAAX7XDS.js +0 -1208
  945. package/dist/commands/chunk-DBKTFB5V.js +0 -18
  946. package/dist/commands/chunk-DEZF7QZZ.js +0 -184
  947. package/dist/commands/chunk-DMD74E3F.js +0 -39
  948. package/dist/commands/chunk-DPJVKTO4.js +0 -41
  949. package/dist/commands/chunk-DXJQHJQ4.js +0 -73
  950. package/dist/commands/chunk-DYZOOWVW.js +0 -912
  951. package/dist/commands/chunk-EBI2BAKQ.js +0 -47
  952. package/dist/commands/chunk-EDKOSZ3K.js +0 -88
  953. package/dist/commands/chunk-EFDVE5P5.js +0 -121
  954. package/dist/commands/chunk-EGIHAEMT.js +0 -72
  955. package/dist/commands/chunk-EKLU6QR7.js +0 -507
  956. package/dist/commands/chunk-ELY76WAR.js +0 -65
  957. package/dist/commands/chunk-EM3HAZF6.js +0 -52
  958. package/dist/commands/chunk-EMTZAGT5.js +0 -51
  959. package/dist/commands/chunk-ENKFCOVY.js +0 -472
  960. package/dist/commands/chunk-ERG4QRNG.js +0 -224
  961. package/dist/commands/chunk-EUGNQCYK.js +0 -139
  962. package/dist/commands/chunk-EW4NPUMQ.js +0 -363
  963. package/dist/commands/chunk-EWVR5AEX.js +0 -140
  964. package/dist/commands/chunk-EXDFKKMH.js +0 -113
  965. package/dist/commands/chunk-EXWB34R2.js +0 -238
  966. package/dist/commands/chunk-EYMPBHDN.js +0 -61
  967. package/dist/commands/chunk-EZ7IPKIH.js +0 -20
  968. package/dist/commands/chunk-EZSO25UZ.js +0 -80
  969. package/dist/commands/chunk-F6IQHZYY.js +0 -94
  970. package/dist/commands/chunk-FDS65XOJ.js +0 -212
  971. package/dist/commands/chunk-FFHEGWPK.js +0 -91
  972. package/dist/commands/chunk-FGL6DBZU.js +0 -71
  973. package/dist/commands/chunk-FHFWNNUC.js +0 -144
  974. package/dist/commands/chunk-FIUCHMCF.js +0 -32
  975. package/dist/commands/chunk-FJX7AENO.js +0 -74
  976. package/dist/commands/chunk-FKZ5E4JD.js +0 -97
  977. package/dist/commands/chunk-FMZWRDKH.js +0 -302
  978. package/dist/commands/chunk-FOKCRIAN.js +0 -67
  979. package/dist/commands/chunk-FQGWO2ZH.js +0 -43
  980. package/dist/commands/chunk-FROACLVU.js +0 -525
  981. package/dist/commands/chunk-FURNDIT3.js +0 -34
  982. package/dist/commands/chunk-FVDQNMP6.js +0 -93
  983. package/dist/commands/chunk-FVVZIJUC.js +0 -425
  984. package/dist/commands/chunk-FWU3H4TX.js +0 -17
  985. package/dist/commands/chunk-G3HBYHFA.js +0 -16
  986. package/dist/commands/chunk-G4E4M2P4.js +0 -299
  987. package/dist/commands/chunk-G5KSL2Q2.js +0 -151
  988. package/dist/commands/chunk-G6XC7V6Y.js +0 -58
  989. package/dist/commands/chunk-GCPP5XIG.js +0 -90
  990. package/dist/commands/chunk-GITT5A5A.js +0 -198
  991. package/dist/commands/chunk-GJYMI2CM.js +0 -48
  992. package/dist/commands/chunk-GLC47H7I.js +0 -285
  993. package/dist/commands/chunk-GUR54ELE.js +0 -328
  994. package/dist/commands/chunk-GW4UWR3O.js +0 -126
  995. package/dist/commands/chunk-GY4DMCKS.js +0 -306
  996. package/dist/commands/chunk-H6JQRHDC.js +0 -80
  997. package/dist/commands/chunk-HATKF6VX.js +0 -173
  998. package/dist/commands/chunk-HG2NZQD5.js +0 -135
  999. package/dist/commands/chunk-HH3CVIFU.js +0 -93
  1000. package/dist/commands/chunk-HHMMGDMP.js +0 -469
  1001. package/dist/commands/chunk-HI5WPM6C.js +0 -127
  1002. package/dist/commands/chunk-HQGNXR6I.js +0 -245
  1003. package/dist/commands/chunk-HTIDHEEN.js +0 -108
  1004. package/dist/commands/chunk-HVCQYZVD.js +0 -38
  1005. package/dist/commands/chunk-HWEZRNPL.js +0 -66
  1006. package/dist/commands/chunk-HX3FFIO5.js +0 -74
  1007. package/dist/commands/chunk-HXDTA5VU.js +0 -208
  1008. package/dist/commands/chunk-I2KCGKJI.js +0 -107
  1009. package/dist/commands/chunk-I63RNFFR.js +0 -213
  1010. package/dist/commands/chunk-IAD4WLLI.js +0 -98
  1011. package/dist/commands/chunk-IB5TT73I.js +0 -177
  1012. package/dist/commands/chunk-IBAYXCMU.js +0 -156
  1013. package/dist/commands/chunk-IF3EIFK4.js +0 -7515
  1014. package/dist/commands/chunk-IGDJNXX2.js +0 -49
  1015. package/dist/commands/chunk-ILGPZ47M.js +0 -33
  1016. package/dist/commands/chunk-IYJEBWW5.js +0 -44
  1017. package/dist/commands/chunk-J22PSIXR.js +0 -418
  1018. package/dist/commands/chunk-J66YBAAM.js +0 -161
  1019. package/dist/commands/chunk-J6WKZRV2.js +0 -391
  1020. package/dist/commands/chunk-J7IO3AYH.js +0 -179
  1021. package/dist/commands/chunk-JAKC2BHX.js +0 -88
  1022. package/dist/commands/chunk-JCAQ7B6J.js +0 -124
  1023. package/dist/commands/chunk-JHN6RCE6.js +0 -123
  1024. package/dist/commands/chunk-JIGBNCDR.js +0 -88
  1025. package/dist/commands/chunk-JJHWTFWQ.js +0 -76
  1026. package/dist/commands/chunk-JJRKTWLK.js +0 -64
  1027. package/dist/commands/chunk-JKOGWGQM.js +0 -92
  1028. package/dist/commands/chunk-JM6EVOFN.js +0 -172
  1029. package/dist/commands/chunk-JQXPLMCO.js +0 -81
  1030. package/dist/commands/chunk-JV24VP2O.js +0 -81
  1031. package/dist/commands/chunk-JVKXJ763.js +0 -45
  1032. package/dist/commands/chunk-K275REYP.js +0 -37
  1033. package/dist/commands/chunk-K4G3HOKS.js +0 -105
  1034. package/dist/commands/chunk-K64EIHD2.js +0 -138
  1035. package/dist/commands/chunk-KB3OQWDT.js +0 -71
  1036. package/dist/commands/chunk-KCFOP5RI.js +0 -1310
  1037. package/dist/commands/chunk-KGE4AS2Y.js +0 -134
  1038. package/dist/commands/chunk-KIILCKQR.js +0 -220
  1039. package/dist/commands/chunk-KK2SL42W.js +0 -241
  1040. package/dist/commands/chunk-KKIMVXAP.js +0 -280
  1041. package/dist/commands/chunk-KODXWMBX.js +0 -77
  1042. package/dist/commands/chunk-KPSKWTOS.js +0 -208
  1043. package/dist/commands/chunk-KVHNQHX3.js +0 -100
  1044. package/dist/commands/chunk-KWYQR5MK.js +0 -269
  1045. package/dist/commands/chunk-KXHXMERX.js +0 -214
  1046. package/dist/commands/chunk-KZ5BBBMO.js +0 -271
  1047. package/dist/commands/chunk-KZ7HD37E.js +0 -121
  1048. package/dist/commands/chunk-KZSM5M5P.js +0 -89
  1049. package/dist/commands/chunk-KZZWPUJW.js +0 -25
  1050. package/dist/commands/chunk-L7DAL54N.js +0 -347
  1051. package/dist/commands/chunk-LAR76BFA.js +0 -114
  1052. package/dist/commands/chunk-LB557AHJ.js +0 -192
  1053. package/dist/commands/chunk-LJXKVLYI.js +0 -229
  1054. package/dist/commands/chunk-LOOFYHUM.js +0 -773
  1055. package/dist/commands/chunk-LQXFVZTS.js +0 -13
  1056. package/dist/commands/chunk-LT7QSHR4.js +0 -995
  1057. package/dist/commands/chunk-LUXWDMKI.js +0 -426
  1058. package/dist/commands/chunk-LWAXXZPS.js +0 -118
  1059. package/dist/commands/chunk-LX7TIEMI.js +0 -1612
  1060. package/dist/commands/chunk-LZ5QXE5N.js +0 -244
  1061. package/dist/commands/chunk-M4UV3BEV.js +0 -313
  1062. package/dist/commands/chunk-M6JDU5EK.js +0 -133
  1063. package/dist/commands/chunk-MDLOETXL.js +0 -211
  1064. package/dist/commands/chunk-MFBNNTBM.js +0 -44
  1065. package/dist/commands/chunk-MGF64OHV.js +0 -32
  1066. package/dist/commands/chunk-MI2OS6TL.js +0 -132
  1067. package/dist/commands/chunk-MLW4S35K.js +0 -389
  1068. package/dist/commands/chunk-MN425CU6.js +0 -63
  1069. package/dist/commands/chunk-MPGJ4ONJ.js +0 -634
  1070. package/dist/commands/chunk-MRORPFSO.js +0 -402
  1071. package/dist/commands/chunk-MUGTOJUL.js +0 -319
  1072. package/dist/commands/chunk-MVHPRYHE.js +0 -91
  1073. package/dist/commands/chunk-MWO6FOSZ.js +0 -393
  1074. package/dist/commands/chunk-MXC4IBZ7.js +0 -104
  1075. package/dist/commands/chunk-N7QTMTST.js +0 -210
  1076. package/dist/commands/chunk-NDBX7LSS.js +0 -32
  1077. package/dist/commands/chunk-NEGJ77RV.js +0 -173
  1078. package/dist/commands/chunk-NEGRE5VW.js +0 -101
  1079. package/dist/commands/chunk-NFPD2P3V.js +0 -53
  1080. package/dist/commands/chunk-NHIW7JE6.js +0 -335
  1081. package/dist/commands/chunk-NILSN7A4.js +0 -158
  1082. package/dist/commands/chunk-NOLFSPOB.js +0 -74
  1083. package/dist/commands/chunk-NSAVEXVR.js +0 -353
  1084. package/dist/commands/chunk-NT67QTZO.js +0 -65
  1085. package/dist/commands/chunk-NU7W6QGT.js +0 -155
  1086. package/dist/commands/chunk-NYWGJLBU.js +0 -19
  1087. package/dist/commands/chunk-OAAVY2JK.js +0 -49
  1088. package/dist/commands/chunk-OGS2DK7I.js +0 -47
  1089. package/dist/commands/chunk-OHNP3QL2.js +0 -186
  1090. package/dist/commands/chunk-OIPV3PWW.js +0 -870
  1091. package/dist/commands/chunk-OIX2363L.js +0 -16
  1092. package/dist/commands/chunk-OJ65BZBV.js +0 -646
  1093. package/dist/commands/chunk-OKZWEVR4.js +0 -352
  1094. package/dist/commands/chunk-OL6IF4JC.js +0 -20
  1095. package/dist/commands/chunk-OMPRILFH.js +0 -29
  1096. package/dist/commands/chunk-OOWGH2RG.js +0 -85
  1097. package/dist/commands/chunk-OP2RFVLS.js +0 -102
  1098. package/dist/commands/chunk-ORKVN2LO.js +0 -56
  1099. package/dist/commands/chunk-OSBWXZJ4.js +0 -492
  1100. package/dist/commands/chunk-OT3UMEWK.js +0 -47
  1101. package/dist/commands/chunk-OVWPZDWP.js +0 -64
  1102. package/dist/commands/chunk-OWYK2BEJ.js +0 -1222
  1103. package/dist/commands/chunk-OX3VQLV2.js +0 -488
  1104. package/dist/commands/chunk-OZJP77UM.js +0 -103
  1105. package/dist/commands/chunk-OZZWRJQI.js +0 -246
  1106. package/dist/commands/chunk-P3H3DKTE.js +0 -69
  1107. package/dist/commands/chunk-P4D5RESF.js +0 -88
  1108. package/dist/commands/chunk-P4KIQRSL.js +0 -119
  1109. package/dist/commands/chunk-P5SOYWH2.js +0 -37
  1110. package/dist/commands/chunk-P7FPXAHP.js +0 -29
  1111. package/dist/commands/chunk-PE7B7242.js +0 -84
  1112. package/dist/commands/chunk-PFO7EYAP.js +0 -45
  1113. package/dist/commands/chunk-PHLOTUB7.js +0 -366
  1114. package/dist/commands/chunk-PTNQCCIB.js +0 -41
  1115. package/dist/commands/chunk-PTZEFQUX.js +0 -211
  1116. package/dist/commands/chunk-Q5Q2QYVU.js +0 -112
  1117. package/dist/commands/chunk-Q7EEIOAD.js +0 -120
  1118. package/dist/commands/chunk-QABRNGQV.js +0 -88
  1119. package/dist/commands/chunk-QAHFPCFR.js +0 -50
  1120. package/dist/commands/chunk-QDFVVRQP.js +0 -92
  1121. package/dist/commands/chunk-QGAERR7D.js +0 -99
  1122. package/dist/commands/chunk-QHWJJ6X5.js +0 -53
  1123. package/dist/commands/chunk-QJRVDE7T.js +0 -307
  1124. package/dist/commands/chunk-QMDKDQKW.js +0 -114
  1125. package/dist/commands/chunk-QOSC5RKD.js +0 -18
  1126. package/dist/commands/chunk-QQ4CIYMF.js +0 -132
  1127. package/dist/commands/chunk-QV5FKMOU.js +0 -80
  1128. package/dist/commands/chunk-QWWTC3XR.js +0 -109
  1129. package/dist/commands/chunk-QXQ56E56.js +0 -27
  1130. package/dist/commands/chunk-R54Z2Z3X.js +0 -114
  1131. package/dist/commands/chunk-R6QE5VJG.js +0 -46
  1132. package/dist/commands/chunk-RG53UFNW.js +0 -418
  1133. package/dist/commands/chunk-RGGEQM6G.js +0 -140
  1134. package/dist/commands/chunk-RH6ZWJOA.js +0 -77
  1135. package/dist/commands/chunk-RHKCWJQX.js +0 -62
  1136. package/dist/commands/chunk-RKIAX4DZ.js +0 -191
  1137. package/dist/commands/chunk-RLBFEHHC.js +0 -300
  1138. package/dist/commands/chunk-RN2YDNLF.js +0 -229
  1139. package/dist/commands/chunk-RRAIRS2T.js +0 -54
  1140. package/dist/commands/chunk-RS764ZMU.js +0 -46
  1141. package/dist/commands/chunk-RUIBQMOV.js +0 -38
  1142. package/dist/commands/chunk-RUQY5TS3.js +0 -83
  1143. package/dist/commands/chunk-RVUJ6F5L.js +0 -181
  1144. package/dist/commands/chunk-RW64VHEB.js +0 -130
  1145. package/dist/commands/chunk-RXYMJPJB.js +0 -114
  1146. package/dist/commands/chunk-S4M6UWR2.js +0 -103
  1147. package/dist/commands/chunk-SASX3W2M.js +0 -99
  1148. package/dist/commands/chunk-SFNBUB6D.js +0 -110
  1149. package/dist/commands/chunk-SJ2ZN575.js +0 -90
  1150. package/dist/commands/chunk-SP7DKYGU.js +0 -1263
  1151. package/dist/commands/chunk-SSL6A3Y4.js +0 -165
  1152. package/dist/commands/chunk-SVAKCXZ7.js +0 -44
  1153. package/dist/commands/chunk-SYOXIKB7.js +0 -705
  1154. package/dist/commands/chunk-SZG5HDNP.js +0 -321
  1155. package/dist/commands/chunk-T25S4QHL.js +0 -52
  1156. package/dist/commands/chunk-T4F33UKZ.js +0 -114
  1157. package/dist/commands/chunk-T4UYEHWG.js +0 -50
  1158. package/dist/commands/chunk-TAEGXID2.js +0 -58
  1159. package/dist/commands/chunk-TCBUX52E.js +0 -701
  1160. package/dist/commands/chunk-TEPYEUYG.js +0 -585
  1161. package/dist/commands/chunk-TFLHYC2F.js +0 -141
  1162. package/dist/commands/chunk-TJKM56WJ.js +0 -109
  1163. package/dist/commands/chunk-TLAB552K.js +0 -445
  1164. package/dist/commands/chunk-TP6L4W3W.js +0 -82
  1165. package/dist/commands/chunk-TR7WWYD5.js +0 -60
  1166. package/dist/commands/chunk-TVZXG4Y4.js +0 -197
  1167. package/dist/commands/chunk-TYNH2R66.js +0 -1150
  1168. package/dist/commands/chunk-U3IVVR4W.js +0 -33
  1169. package/dist/commands/chunk-U5P6G3UV.js +0 -77
  1170. package/dist/commands/chunk-U7XU5RG3.js +0 -86
  1171. package/dist/commands/chunk-UKBBWMLE.js +0 -1189
  1172. package/dist/commands/chunk-ULVVGGTY.js +0 -64
  1173. package/dist/commands/chunk-UNMSZGSG.js +0 -269
  1174. package/dist/commands/chunk-URDT2O2K.js +0 -36
  1175. package/dist/commands/chunk-UTHUX7VU.js +0 -88
  1176. package/dist/commands/chunk-V4Z7G4UH.js +0 -73
  1177. package/dist/commands/chunk-V5FD7DVV.js +0 -48
  1178. package/dist/commands/chunk-VCPGFBMN.js +0 -655
  1179. package/dist/commands/chunk-VGPIQNDB.js +0 -24
  1180. package/dist/commands/chunk-VJE3RJAX.js +0 -23
  1181. package/dist/commands/chunk-VK6D5CWA.js +0 -161
  1182. package/dist/commands/chunk-VOF3N4WO.js +0 -114
  1183. package/dist/commands/chunk-VQVPAVQ3.js +0 -45
  1184. package/dist/commands/chunk-VV4TQYGD.js +0 -38
  1185. package/dist/commands/chunk-W3FX7FYN.js +0 -84
  1186. package/dist/commands/chunk-W7DRUOF7.js +0 -122
  1187. package/dist/commands/chunk-WAEN2RTT.js +0 -161
  1188. package/dist/commands/chunk-WCEUMOKK.js +0 -84
  1189. package/dist/commands/chunk-WJ4NEDNI.js +0 -288
  1190. package/dist/commands/chunk-WMMGXJXP.js +0 -92
  1191. package/dist/commands/chunk-WOFLW2LX.js +0 -26
  1192. package/dist/commands/chunk-WTH6NTXU.js +0 -128
  1193. package/dist/commands/chunk-WWVYEHQT.js +0 -272
  1194. package/dist/commands/chunk-X3TNPALI.js +0 -213
  1195. package/dist/commands/chunk-XC6GG5JR.js +0 -78
  1196. package/dist/commands/chunk-XDF25GSU.js +0 -536
  1197. package/dist/commands/chunk-XFPEUYDV.js +0 -67
  1198. package/dist/commands/chunk-XFWI6WHH.js +0 -60
  1199. package/dist/commands/chunk-XGMRAKSL.js +0 -85
  1200. package/dist/commands/chunk-XHGWMD3L.js +0 -104
  1201. package/dist/commands/chunk-XKSUBUIH.js +0 -116
  1202. package/dist/commands/chunk-XPBF5DG3.js +0 -419
  1203. package/dist/commands/chunk-XUMYPESL.js +0 -160
  1204. package/dist/commands/chunk-XXC32PVL.js +0 -541
  1205. package/dist/commands/chunk-XXN2EZBY.js +0 -133
  1206. package/dist/commands/chunk-XXNEY4B3.js +0 -110
  1207. package/dist/commands/chunk-Y27PTXXI.js +0 -258
  1208. package/dist/commands/chunk-Y4EBUI6M.js +0 -237
  1209. package/dist/commands/chunk-YAU3LYNF.js +0 -60
  1210. package/dist/commands/chunk-YDURQICF.js +0 -204
  1211. package/dist/commands/chunk-YGFOGA7C.js +0 -1153
  1212. package/dist/commands/chunk-YHJ2AJMA.js +0 -66
  1213. package/dist/commands/chunk-YIA6FC3K.js +0 -78
  1214. package/dist/commands/chunk-YM77CF4D.js +0 -183
  1215. package/dist/commands/chunk-YNPRJCEO.js +0 -81
  1216. package/dist/commands/chunk-YTBQAD5W.js +0 -170
  1217. package/dist/commands/chunk-YVH2OLDS.js +0 -104
  1218. package/dist/commands/chunk-Z3WGHIVB.js +0 -122
  1219. package/dist/commands/chunk-ZAAHZY2A.js +0 -19
  1220. package/dist/commands/chunk-ZBZ5DDCH.js +0 -1866
  1221. package/dist/commands/chunk-ZLRUHSOP.js +0 -48
  1222. package/dist/commands/chunk-ZNR75OXP.js +0 -444
  1223. package/dist/commands/chunk-ZSOR4ISJ.js +0 -75
  1224. package/dist/commands/chunk-ZVAIIHBE.js +0 -63
  1225. package/dist/commands/chunk-ZYFHYQA7.js +0 -51
  1226. package/dist/commands/chunk-ZZFFSQF4.js +0 -218
  1227. package/dist/commands/chunk-ZZULXNC2.js +0 -47
  1228. package/dist/commands/chunk-ZZXO6TFH.js +0 -232
  1229. package/dist/commands/run-ship-lap-W5T2VHFC.js +0 -30
  1230. package/dist/commands/test-related-ZCNC46MS.js +0 -113
  1231. package/dist/commands/unused-members-STULPRBU.js +0 -331
  1232. package/dist/hooks/chunk-5CUXGQT6.js +0 -8353
  1233. package/dist/hooks/chunk-5R5YFQR5.js +0 -931
  1234. package/dist/hooks/chunk-6RLY27FT.js +0 -232
  1235. package/dist/hooks/chunk-6YGMIODI.js +0 -86
  1236. package/dist/hooks/chunk-AO4TOV4V.js +0 -5026
  1237. package/dist/hooks/chunk-FOW4B7OQ.js +0 -1795
  1238. package/dist/hooks/chunk-G5WSPYJ6.js +0 -5663
  1239. package/dist/hooks/chunk-HHIVWGHX.js +0 -6869
  1240. package/dist/hooks/chunk-IURJANNZ.js +0 -1082
  1241. package/dist/hooks/chunk-OV22V63P.js +0 -10980
  1242. package/dist/hooks/chunk-SXABK6UV.js +0 -321
  1243. package/dist/hooks/run-ship-lap-VCEOUHQI.js +0 -8
@@ -0,0 +1,1132 @@
1
+ import {
2
+ yaml_document
3
+ } from "./chunk-UCI4AL3Q.js";
4
+ import {
5
+ json_object_schema,
6
+ string_array_schema,
7
+ string_record_schema
8
+ } from "./chunk-RBU2NKHF.js";
9
+ import {
10
+ file_reader
11
+ } from "./chunk-ZNX2LJCQ.js";
12
+
13
+ // scripts/config-merge/json-format.ts
14
+ var PRINT_WIDTH = 100;
15
+ var TAB_WIDTH = 2;
16
+ var ARRAY_CLOSE = /^\t*\],?$/u;
17
+ function is_array_open(line) {
18
+ return line.endsWith("[");
19
+ }
20
+ function is_leaf_element(line) {
21
+ return !line.endsWith("{") && !line.endsWith("[");
22
+ }
23
+ function line_width(line) {
24
+ const tabs = line.length - line.trimStart().length;
25
+ return tabs * TAB_WIDTH + (line.length - tabs);
26
+ }
27
+ function flatten_elements(elements) {
28
+ const scalars = elements.map((line) => line.trim().replace(/,$/u, ""));
29
+ return `[${scalars.join(", ")}]`;
30
+ }
31
+ function collect_block(lines, start) {
32
+ const close = lines.findIndex((line, index) => index > start && ARRAY_CLOSE.test(line));
33
+ if (close === -1) return void 0;
34
+ const elements = lines.slice(start + 1, close);
35
+ if (elements.some((line) => !is_leaf_element(line))) return void 0;
36
+ return { elements, close: lines[close] ?? "", end: close };
37
+ }
38
+ function try_inline(open, block) {
39
+ const trailing_comma = block.close.trimStart() === "]," ? "," : "";
40
+ const inlined = `${open.slice(0, -1)}${flatten_elements(block.elements)}${trailing_comma}`;
41
+ return line_width(inlined) <= PRINT_WIDTH ? inlined : void 0;
42
+ }
43
+ function rewrite_at(lines, index, line) {
44
+ const verbatim = { lines: [line], next: index + 1 };
45
+ const block = is_array_open(line) ? collect_block(lines, index) : void 0;
46
+ if (block === void 0) return verbatim;
47
+ const inlined = try_inline(line, block);
48
+ if (inlined === void 0) return verbatim;
49
+ return { lines: [inlined], next: block.end + 1 };
50
+ }
51
+ function inline_short_arrays(text) {
52
+ const lines = text.split("\n");
53
+ const output = [];
54
+ let index = 0;
55
+ while (index < lines.length) {
56
+ const rewrite = rewrite_at(lines, index, lines[index] ?? "");
57
+ output.push(...rewrite.lines);
58
+ index = rewrite.next;
59
+ }
60
+ return output.join("\n");
61
+ }
62
+ function format_json(value) {
63
+ return `${inline_short_arrays(JSON.stringify(value, void 0, " "))}
64
+ `;
65
+ }
66
+ function format_package_json(value) {
67
+ return `${JSON.stringify(value, void 0, " ")}
68
+ `;
69
+ }
70
+ var json_format = {
71
+ format_json,
72
+ format_package_json
73
+ };
74
+
75
+ // scripts/registry-migration/migrate-lock.ts
76
+ import path from "node:path";
77
+ import { isDeepStrictEqual } from "node:util";
78
+
79
+ // scripts/gh/fix-gh-packages-logic.ts
80
+ import { loadAll } from "js-yaml";
81
+ import { z } from "zod";
82
+ var GH_PACKAGES_HOST = "npm.pkg.github.com";
83
+ var RESOLUTION_BLOCK = "\n resolution:\n";
84
+ var INTEGRITY_PREFIX = " integrity: ";
85
+ var TARBALL_PREFIX = " tarball: ";
86
+ var FLOW_RESOLUTION_LINE_START = "\n resolution: {";
87
+ var FLOW_TARBALL_KEY = ", tarball: ";
88
+ var NPMRC_AUTH_TOKEN_PREFIX = `//${GH_PACKAGES_HOST}/:_authToken=`;
89
+ var REGISTRY_KEY = ":registry";
90
+ var lockfile_resolution_schema = z.looseObject({
91
+ integrity: z.string().optional(),
92
+ tarball: z.string().optional()
93
+ });
94
+ var lockfile_package_schema = z.looseObject({
95
+ resolution: lockfile_resolution_schema.optional()
96
+ });
97
+ var lockfile_document_schema = z.looseObject({
98
+ packages: z.record(z.string(), lockfile_package_schema).optional()
99
+ });
100
+ function parse_lockfile_packages(raw) {
101
+ const merged = {};
102
+ for (const document of loadAll(raw)) {
103
+ const { packages } = lockfile_document_schema.parse(document);
104
+ if (packages !== void 0) Object.assign(merged, packages);
105
+ }
106
+ return merged;
107
+ }
108
+ function registry_entry(line) {
109
+ const trimmed = line.trim();
110
+ if (!trimmed.startsWith("@")) return void 0;
111
+ const eq_index = trimmed.indexOf("=");
112
+ const key = trimmed.slice(0, eq_index).trim();
113
+ if (eq_index === -1 || !key.endsWith(REGISTRY_KEY)) return void 0;
114
+ return [key.slice(0, -REGISTRY_KEY.length), trimmed.slice(eq_index + 1).trim()];
115
+ }
116
+ function parse_scope_registries(npmrc2) {
117
+ const registries = /* @__PURE__ */ new Map();
118
+ for (const line of npmrc2.split("\n")) {
119
+ const entry = registry_entry(line);
120
+ if (entry !== void 0) registries.set(...entry);
121
+ }
122
+ return registries;
123
+ }
124
+ function parse_gh_scopes(npmrc2) {
125
+ const entries = [...parse_scope_registries(npmrc2)];
126
+ return new Set(
127
+ entries.filter(([, registry]) => registry.replace(/\/$/u, "") === `https://${GH_PACKAGES_HOST}`).map(([scope]) => scope)
128
+ );
129
+ }
130
+ function extract_auth_token_from_line(line) {
131
+ const trimmed = line.trim();
132
+ if (!trimmed.startsWith(NPMRC_AUTH_TOKEN_PREFIX)) return void 0;
133
+ const value = trimmed.slice(NPMRC_AUTH_TOKEN_PREFIX.length);
134
+ if (value.startsWith("${") || value.length === 0) return void 0;
135
+ return value;
136
+ }
137
+ function parse_npmrc_auth_token(npmrc2) {
138
+ for (const line of npmrc2.split("\n")) {
139
+ const token = extract_auth_token_from_line(line);
140
+ if (token !== void 0) return token;
141
+ }
142
+ return void 0;
143
+ }
144
+ function scope_from_key(key) {
145
+ return key.startsWith("@") ? key.split("/", 1)[0] ?? "" : "";
146
+ }
147
+ function has_tarball(entry) {
148
+ return entry.resolution?.tarball !== void 0;
149
+ }
150
+ function package_path_from_key(key) {
151
+ const start = key.startsWith("@") ? 1 : 0;
152
+ const at_index = key.indexOf("@", start);
153
+ return at_index === -1 ? key : key.slice(0, at_index);
154
+ }
155
+ function package_version_from_key(key) {
156
+ const start = key.startsWith("@") ? 1 : 0;
157
+ const at_index = key.indexOf("@", start);
158
+ if (at_index === -1) return "";
159
+ return key.slice(at_index + 1).split("(", 1)[0] ?? "";
160
+ }
161
+ function should_fix_tarball(key, entry, scopes) {
162
+ if (has_tarball(entry)) return false;
163
+ const scope = scope_from_key(key);
164
+ return scope.length > 0 && scopes.has(scope);
165
+ }
166
+ function find_entry_start(content, package_key) {
167
+ const single = content.indexOf(`
168
+ '${package_key}':
169
+ `);
170
+ if (single !== -1) return single;
171
+ return content.indexOf(`
172
+ "${package_key}":
173
+ `);
174
+ }
175
+ function find_entry_end(content, entry_start) {
176
+ const next_match = /\n {2}['"]/u.exec(content.slice(entry_start + 1));
177
+ return next_match === null ? content.length : entry_start + 1 + next_match.index;
178
+ }
179
+ function find_integrity_eol_in_entry(entry_content) {
180
+ const resolution_pos = entry_content.indexOf(RESOLUTION_BLOCK);
181
+ if (resolution_pos === -1) return -1;
182
+ const integrity_pos = entry_content.indexOf(INTEGRITY_PREFIX, resolution_pos);
183
+ if (integrity_pos === -1) return -1;
184
+ return entry_content.indexOf("\n", integrity_pos);
185
+ }
186
+ function find_flow_resolution_brace(entry_content) {
187
+ const pos = entry_content.indexOf(FLOW_RESOLUTION_LINE_START);
188
+ if (pos === -1) return -1;
189
+ const line_end2 = entry_content.indexOf("\n", pos + 1);
190
+ const search_end = line_end2 === -1 ? entry_content.length : line_end2;
191
+ const brace = entry_content.lastIndexOf("}", search_end);
192
+ if (brace <= pos) return -1;
193
+ return brace;
194
+ }
195
+ function insert_expanded_tarball(content, entry_start, entry_end, tarball) {
196
+ const entry_content = content.slice(entry_start, entry_end);
197
+ const integrity_eol = find_integrity_eol_in_entry(entry_content);
198
+ if (integrity_eol === -1) return void 0;
199
+ if (entry_content.slice(integrity_eol + 1).startsWith(TARBALL_PREFIX)) return content;
200
+ const patched = `${entry_content.slice(0, integrity_eol + 1)}${TARBALL_PREFIX}${tarball}
201
+ ${entry_content.slice(integrity_eol + 1)}`;
202
+ return content.slice(0, entry_start) + patched + content.slice(entry_end);
203
+ }
204
+ function insert_flow_tarball(content, entry_start, entry_end, tarball) {
205
+ const entry_content = content.slice(entry_start, entry_end);
206
+ const brace_pos = find_flow_resolution_brace(entry_content);
207
+ if (brace_pos === -1) return void 0;
208
+ const open_brace = entry_content.lastIndexOf("{", brace_pos);
209
+ if (open_brace === -1) return void 0;
210
+ const flow_body = entry_content.slice(open_brace + 1, brace_pos);
211
+ if (/\btarball\s*:/u.test(flow_body)) return content;
212
+ const patched = `${entry_content.slice(0, brace_pos)}${FLOW_TARBALL_KEY}${tarball}${entry_content.slice(brace_pos)}`;
213
+ return content.slice(0, entry_start) + patched + content.slice(entry_end);
214
+ }
215
+ function insert_tarball_for_key(content, package_key, tarball) {
216
+ const entry_start = find_entry_start(content, package_key);
217
+ if (entry_start === -1) return content;
218
+ const entry_end = find_entry_end(content, entry_start);
219
+ return insert_expanded_tarball(content, entry_start, entry_end, tarball) ?? insert_flow_tarball(content, entry_start, entry_end, tarball) ?? content;
220
+ }
221
+ function patch_lockfile(content, patches) {
222
+ let result = content;
223
+ for (const [key, tarball] of patches) {
224
+ result = insert_tarball_for_key(result, key, tarball);
225
+ }
226
+ return result;
227
+ }
228
+ function resolve_token(environment_token, npmrc_token, get_fallback_token) {
229
+ if (environment_token !== void 0 && environment_token.length > 0) return environment_token;
230
+ if (npmrc_token !== void 0) return npmrc_token;
231
+ return get_fallback_token();
232
+ }
233
+ var fix_gh_packages_logic = {
234
+ parse_gh_scopes,
235
+ parse_scope_registries,
236
+ parse_npmrc_auth_token,
237
+ parse_lockfile_packages,
238
+ package_path_from_key,
239
+ package_version_from_key,
240
+ needs_tarball_fix: should_fix_tarball,
241
+ insert_tarball_for_key,
242
+ patch_lockfile,
243
+ resolve_token
244
+ };
245
+
246
+ // scripts/registry-migration/migrate-lock.ts
247
+ import { dump } from "js-yaml";
248
+ var SCOPE = "@joshuafolkken/";
249
+ var KIT = `${SCOPE}kit`;
250
+ var REGISTRY = "https://registry.npmjs.org/";
251
+ var PNPM_VERSION = "12.17.0";
252
+ function scoped_artifacts(content) {
253
+ return Object.entries(fix_gh_packages_logic.parse_lockfile_packages(content)).filter(([key]) => key.startsWith(SCOPE)).map(([key, entry]) => ({
254
+ name: fix_gh_packages_logic.package_path_from_key(key),
255
+ version: fix_gh_packages_logic.package_version_from_key(key),
256
+ integrity: entry.resolution?.integrity
257
+ }));
258
+ }
259
+ function importer_manifests(content) {
260
+ return yaml_document.parse_yaml_documents(content).flatMap(
261
+ (document) => yaml_document.is_mapping_document(document["importers"]) ? Object.keys(document["importers"]) : []
262
+ ).map((importer) => path.join(importer, "package.json"));
263
+ }
264
+ function non_npm_resolution(content) {
265
+ const entries = Object.entries(fix_gh_packages_logic.parse_lockfile_packages(content)).filter(
266
+ ([key]) => key.startsWith(SCOPE)
267
+ );
268
+ for (const [key, entry] of entries) {
269
+ const tarball = entry.resolution?.tarball;
270
+ if (tarball !== void 0 && !tarball.startsWith(REGISTRY)) return key;
271
+ }
272
+ return void 0;
273
+ }
274
+ function has_npm_sources(content) {
275
+ return non_npm_resolution(content) === void 0;
276
+ }
277
+ function assert_npm_sources(content) {
278
+ const key = non_npm_resolution(content);
279
+ if (key !== void 0) throw new Error(`Non-npm resolution remains: ${key}`);
280
+ }
281
+ function npmrc(content) {
282
+ const newline = content.includes("\r\n") ? "\r\n" : "\n";
283
+ const lines = content.split(/\r?\n/u).filter((line) => !/^\s*@joshuafolkken:registry\s*=/u.test(line));
284
+ while (lines.at(-1) === "") lines.pop();
285
+ lines.push(`@joshuafolkken:registry=${REGISTRY}`, "");
286
+ return lines.join(newline);
287
+ }
288
+ function strip_tarball(resolution) {
289
+ if (yaml_document.is_mapping_document(resolution)) delete resolution["tarball"];
290
+ }
291
+ function strip_resolutions(document) {
292
+ if (!yaml_document.is_mapping_document(document["packages"])) return;
293
+ const scoped = Object.entries(document["packages"]).filter(([key]) => key.startsWith(SCOPE));
294
+ for (const [, entry] of scoped) {
295
+ if (yaml_document.is_mapping_document(entry)) strip_tarball(entry["resolution"]);
296
+ }
297
+ }
298
+ function graph(content) {
299
+ const documents = yaml_document.parse_yaml_documents(content);
300
+ for (const document of documents) strip_resolutions(document);
301
+ return documents;
302
+ }
303
+ function assert_preserved(before, after) {
304
+ if (before === "") return;
305
+ if (!isDeepStrictEqual(graph(before), graph(after))) {
306
+ throw new Error(
307
+ "Resolution changed the dependency graph or unrelated metadata; no files changed"
308
+ );
309
+ }
310
+ }
311
+ function restore_checksum(original, resolved) {
312
+ const checksum = original["pnpmfileChecksum"];
313
+ if (checksum === void 0 || resolved["pnpmfileChecksum"] !== void 0) return false;
314
+ resolved["pnpmfileChecksum"] = checksum;
315
+ return true;
316
+ }
317
+ function restore_pnpmfile_checksum(before, after) {
318
+ const originals = yaml_document.parse_yaml_documents(before);
319
+ const resolved = yaml_document.parse_yaml_documents(after);
320
+ const restored = resolved.map(
321
+ (document, index) => restore_checksum(originals[index] ?? {}, document)
322
+ );
323
+ const prefix = after.startsWith("---") ? "---\n" : "";
324
+ return restored.includes(true) ? prefix + resolved.map((document) => dump(document)).join("---\n") : after;
325
+ }
326
+ var migrate_lock = {
327
+ SCOPE,
328
+ KIT,
329
+ REGISTRY,
330
+ PNPM_VERSION,
331
+ scoped_artifacts,
332
+ npmrc,
333
+ assert_preserved,
334
+ restore_pnpmfile_checksum,
335
+ assert_npm_sources,
336
+ has_npm_sources,
337
+ importer_manifests
338
+ };
339
+
340
+ // scripts/registry-migration/npm-acquisition.ts
341
+ import path3 from "node:path";
342
+
343
+ // scripts/config-merge/parse-jsonc.ts
344
+ import { parseTree, printParseErrorCode } from "jsonc-parser";
345
+ function property_key(property) {
346
+ return String(property.children?.[0]?.value);
347
+ }
348
+ function node_value(node) {
349
+ if (node === void 0) return void 0;
350
+ const children = node.children ?? [];
351
+ if (node.type === "array") return children.map((child) => node_value(child));
352
+ if (node.type !== "object") return node.value;
353
+ return Object.fromEntries(
354
+ children.map((property) => [property_key(property), node_value(property.children?.[1])])
355
+ );
356
+ }
357
+ function parse_jsonc(content) {
358
+ const errors = [];
359
+ const tree = parseTree(content, errors, { allowTrailingComma: true });
360
+ const [first_error] = errors;
361
+ if (first_error !== void 0) {
362
+ throw new SyntaxError(
363
+ `Invalid JSONC: ${printParseErrorCode(first_error.error)} at offset ${String(first_error.offset)}`
364
+ );
365
+ }
366
+ return json_object_schema.parse(node_value(tree));
367
+ }
368
+
369
+ // scripts/config-merge/list-patch.ts
370
+ function is_matching(entry, matchers) {
371
+ return matchers.some(
372
+ (matcher) => typeof matcher === "string" ? matcher === entry : matcher.test(entry)
373
+ );
374
+ }
375
+ function apply_remove(existing, remove) {
376
+ if (remove === void 0 || remove.length === 0) return existing;
377
+ return existing.filter((entry) => !is_matching(entry, remove));
378
+ }
379
+ function collect_additions(kept, ensure) {
380
+ if (ensure === void 0) return [];
381
+ return ensure.filter((entry) => !kept.includes(entry));
382
+ }
383
+ function apply_list_patch(existing, patch) {
384
+ const kept = apply_remove(existing, patch.remove);
385
+ const additions = collect_additions(kept, patch.ensure);
386
+ const is_changed = additions.length > 0 || kept.length !== existing.length;
387
+ return { next: [...additions, ...kept], is_changed };
388
+ }
389
+ var list_patch = {
390
+ is_matching,
391
+ apply_list_patch
392
+ };
393
+
394
+ // scripts/config-merge/patch-json-key.ts
395
+ import {
396
+ createScanner,
397
+ findNodeAtLocation,
398
+ getNodeValue,
399
+ parseTree as parseTree2,
400
+ stripComments
401
+ } from "jsonc-parser";
402
+ var DOCUMENT_SUFFIX = "\n}\n";
403
+ var DEFAULT_INDENT = " ";
404
+ var LEADING_BLANKS = /^[\t ]*/u;
405
+ var PREVIOUS_LINE_OFFSET = 2;
406
+ var CRLF = "\r\n";
407
+ var COMMA_PROBE_VALUE = 0;
408
+ function render_value(key, value, has_trailing_comma) {
409
+ const probe_key = `${key} `;
410
+ const probe = has_trailing_comma ? { [key]: value, [probe_key]: COMMA_PROBE_VALUE } : { [key]: value };
411
+ const document = json_format.format_json(probe);
412
+ const prefix = `{
413
+ ${JSON.stringify(key)}: `;
414
+ const suffix = has_trailing_comma ? `,
415
+ ${JSON.stringify(probe_key)}: ${String(COMMA_PROBE_VALUE)}${DOCUMENT_SUFFIX}` : DOCUMENT_SUFFIX;
416
+ return document.slice(prefix.length, document.length - suffix.length);
417
+ }
418
+ function parse_root(content) {
419
+ const root = parseTree2(content);
420
+ return root?.type === "object" ? root : void 0;
421
+ }
422
+ function replace_range(content, range, text) {
423
+ return content.slice(0, range.offset) + text + content.slice(range.offset + range.length);
424
+ }
425
+ function insert_at(content, offset, text) {
426
+ return replace_range(content, { offset, length: 0 }, text);
427
+ }
428
+ function render_indent(value_text, unit) {
429
+ if (unit === DEFAULT_INDENT || unit.length === 0) return value_text;
430
+ return value_text.replaceAll(/^\t+/gmu, (tabs) => unit.repeat(tabs.length));
431
+ }
432
+ function eol_of(content) {
433
+ return content.includes(CRLF) ? CRLF : "\n";
434
+ }
435
+ function fit_value(content, value_text, indent) {
436
+ const indented = render_indent(value_text, indent);
437
+ if (eol_of(content) === "\n") return indented;
438
+ return indented.split("\n").join(CRLF);
439
+ }
440
+ function line_indent(content, offset) {
441
+ const line_start = content.lastIndexOf("\n", offset - 1) + 1;
442
+ return LEADING_BLANKS.exec(content.slice(line_start, offset))?.[0] ?? "";
443
+ }
444
+ function line_end(content, offset) {
445
+ const index = content.indexOf("\n", offset);
446
+ if (index === -1) return content.length;
447
+ return index > offset && content[index - 1] === "\r" ? index - 1 : index;
448
+ }
449
+ function render_property(content, key, value_text, indent) {
450
+ return `${JSON.stringify(key)}: ${fit_value(content, value_text, indent)}`;
451
+ }
452
+ function insertion_offset(content, root, value_end) {
453
+ return Math.min(line_end(content, value_end), root.offset + root.length - 1);
454
+ }
455
+ function separator_offset(content, offset, limit) {
456
+ const scanner = createScanner(content, true);
457
+ scanner.setPosition(offset);
458
+ scanner.scan();
459
+ const at = scanner.getTokenOffset();
460
+ return at < limit && content[at] === "," ? at : -1;
461
+ }
462
+ function has_separator_after(content, offset, limit) {
463
+ return separator_offset(content, offset, limit) !== -1;
464
+ }
465
+ function property_key2(property) {
466
+ const key = property.children?.[0]?.value;
467
+ return typeof key === "string" ? key : void 0;
468
+ }
469
+ function target_value_end(property) {
470
+ const value_node = property?.children?.[1];
471
+ return value_node === void 0 ? void 0 : value_node.offset + value_node.length;
472
+ }
473
+ function contains_comment(content, node) {
474
+ const text = content.slice(node.offset, node.offset + node.length);
475
+ return stripComments(text) !== text;
476
+ }
477
+ function rebalanced_value(content, key, value_node, has_trailing_comma) {
478
+ if (contains_comment(content, value_node)) return void 0;
479
+ const indent = line_indent(content, value_node.offset);
480
+ const rendered = fit_value(
481
+ content,
482
+ render_value(key, getNodeValue(value_node), has_trailing_comma),
483
+ indent
484
+ );
485
+ const current = content.slice(value_node.offset, value_node.offset + value_node.length);
486
+ return rendered === current ? void 0 : rendered;
487
+ }
488
+ function rebalance(content, property, has_trailing_comma) {
489
+ const key = property_key2(property);
490
+ const value_node = property.children?.[1];
491
+ if (key === void 0 || value_node === void 0) return content;
492
+ const rendered = rebalanced_value(content, key, value_node, has_trailing_comma);
493
+ return rendered === void 0 ? content : replace_range(content, value_node, rendered);
494
+ }
495
+ function append_after(content, root, last, property) {
496
+ const value_end = last.offset + last.length;
497
+ const closing_brace = root.offset + root.length - 1;
498
+ const separator = has_separator_after(content, value_end, closing_brace) ? "" : ",";
499
+ const with_property = insert_at(content, insertion_offset(content, root, value_end), property);
500
+ return insert_at(with_property, value_end, separator);
501
+ }
502
+ function insert_only_property(content, root, property) {
503
+ const closing_brace = root.offset + root.length - 1;
504
+ const lead = content[closing_brace - 1] === "\n" ? "" : eol_of(content);
505
+ return insert_at(content, closing_brace, `${lead}${DEFAULT_INDENT}${property}${eol_of(content)}`);
506
+ }
507
+ function insert_property(content, root, key, value_text) {
508
+ const last = root.children?.at(-1);
509
+ if (last === void 0) {
510
+ const only = render_property(content, key, value_text, DEFAULT_INDENT);
511
+ return insert_only_property(content, root, only);
512
+ }
513
+ const indent = line_indent(content, last.offset);
514
+ const property = `${eol_of(content)}${indent}${render_property(content, key, value_text, indent)}`;
515
+ return rebalance(append_after(content, root, last, property), last, true);
516
+ }
517
+ function end_of_trailing_comment(content, end) {
518
+ const stop = line_end(content, end);
519
+ return content.slice(end, stop).trimStart().startsWith("//") ? stop : end;
520
+ }
521
+ function start_of_leading_comments(content, line_start, floor) {
522
+ let start = line_start;
523
+ while (start > floor) {
524
+ const previous = content.lastIndexOf("\n", start - PREVIOUS_LINE_OFFSET) + 1;
525
+ const is_comment_line = content.slice(previous, start).trimStart().startsWith("//");
526
+ if (!is_comment_line || previous < floor) return start;
527
+ start = previous;
528
+ }
529
+ return start;
530
+ }
531
+ function end_of_line_break(content, offset) {
532
+ if (content[offset] === "\r" && content[offset + 1] === "\n") return offset + PREVIOUS_LINE_OFFSET;
533
+ return content[offset] === "\n" ? offset + 1 : offset;
534
+ }
535
+ function body_range(content, root, target, separator_limit) {
536
+ const value_end = target.offset + target.length;
537
+ const comma = separator_limit === -1 ? -1 : separator_offset(content, value_end, separator_limit);
538
+ const end = end_of_trailing_comment(content, comma === -1 ? value_end : comma + 1);
539
+ const line_start = content.lastIndexOf("\n", target.offset - 1) + 1;
540
+ const is_own_line = content.slice(line_start, target.offset).trim().length === 0;
541
+ if (!is_own_line) return { offset: target.offset, length: end - target.offset };
542
+ const start = start_of_leading_comments(content, line_start, root.offset + 1);
543
+ return { offset: start, length: end_of_line_break(content, end) - start };
544
+ }
545
+ function ranges_for_last_property(content, root, previous, target) {
546
+ const comma = separator_offset(content, previous.offset + previous.length, target.offset);
547
+ const body = body_range(content, root, target, -1);
548
+ return comma === -1 ? [body] : [{ offset: comma, length: 1 }, body];
549
+ }
550
+ function removal_ranges(content, root, index) {
551
+ const children = root.children ?? [];
552
+ const target = children[index];
553
+ if (target === void 0) return [];
554
+ const next = children[index + 1];
555
+ if (next !== void 0) return [body_range(content, root, target, next.offset)];
556
+ const previous = children[index - 1];
557
+ if (previous === void 0) return [{ offset: root.offset, length: root.length }];
558
+ return ranges_for_last_property(content, root, previous, target);
559
+ }
560
+ function property_index(root, key) {
561
+ return (root.children ?? []).findIndex((child) => child.children?.[0]?.value === key);
562
+ }
563
+ function with_trailing_newline(content) {
564
+ return content.endsWith("\n") ? content : `${content}
565
+ `;
566
+ }
567
+ function is_followed_by_comma(content, root, key) {
568
+ const children = root.children ?? [];
569
+ const index = property_index(root, key);
570
+ if (index < 0) return false;
571
+ if (index < children.length - 1) return true;
572
+ const value_end = target_value_end(children[index]);
573
+ return value_end !== void 0 && has_separator_after(content, value_end, root.offset + root.length);
574
+ }
575
+ function set_json_key(content, key, value) {
576
+ const root = parse_root(content);
577
+ if (root === void 0) return content;
578
+ const existing = findNodeAtLocation(root, [key]);
579
+ const value_text = render_value(
580
+ key,
581
+ value,
582
+ existing !== void 0 && is_followed_by_comma(content, root, key)
583
+ );
584
+ if (existing === void 0) {
585
+ return with_trailing_newline(insert_property(content, root, key, value_text));
586
+ }
587
+ const indented = fit_value(content, value_text, line_indent(content, existing.offset));
588
+ return with_trailing_newline(replace_range(content, existing, indented));
589
+ }
590
+ function resolve_parent(content, path4) {
591
+ const root = parse_root(content);
592
+ if (root === void 0) return void 0;
593
+ const parent = path4.length > 1 ? findNodeAtLocation(root, path4.slice(0, -1)) : root;
594
+ return parent?.type === "object" ? parent : void 0;
595
+ }
596
+ function cut_ranges(content, parent, ranges) {
597
+ const ordered = ranges.toSorted((left, right) => right.offset - left.offset);
598
+ let next = content;
599
+ for (const range of ordered) {
600
+ next = replace_range(next, range, range.offset === parent.offset ? "{}" : "");
601
+ }
602
+ return next;
603
+ }
604
+ function rebalance_new_last(content, path4) {
605
+ const parent = resolve_parent(content, path4);
606
+ const last = parent?.children?.at(-1);
607
+ if (parent === void 0 || last === void 0) return content;
608
+ return rebalance(content, last, has_separator_after(content, parent.offset, parent.offset));
609
+ }
610
+ function cut_property(content, parent, path4) {
611
+ const index = property_index(parent, path4.at(-1) ?? "");
612
+ const ranges = removal_ranges(content, parent, index);
613
+ if (ranges.length === 0) return content;
614
+ const cut = cut_ranges(content, parent, ranges);
615
+ const did_end_object = index === (parent.children ?? []).length - 1;
616
+ return did_end_object ? rebalance_new_last(cut, path4) : cut;
617
+ }
618
+ function remove_json_path(content, path4) {
619
+ const parent = resolve_parent(content, path4);
620
+ if (parent === void 0) return content;
621
+ const next = cut_property(content, parent, path4);
622
+ return next === content ? content : with_trailing_newline(next);
623
+ }
624
+ function remove_json_key(content, key) {
625
+ return remove_json_path(content, [key]);
626
+ }
627
+ var patch_json_key = {
628
+ set_json_key,
629
+ remove_json_key,
630
+ remove_json_path,
631
+ eol_of,
632
+ fit_value,
633
+ line_indent
634
+ };
635
+
636
+ // scripts/config-merge/patch-json-list.ts
637
+ function normalize_list(value) {
638
+ if (typeof value === "string") return [value];
639
+ if (Array.isArray(value)) return value.map(String);
640
+ return [];
641
+ }
642
+ function patch_json_list_field(content, options) {
643
+ const parsed = parse_jsonc(content);
644
+ const existing = normalize_list(parsed[options.field]);
645
+ const { next, is_changed } = list_patch.apply_list_patch(existing, options);
646
+ if (!is_changed) return content;
647
+ return patch_json_key.set_json_key(content, options.field, [...next]);
648
+ }
649
+ var json_list = {
650
+ patch_json_list_field
651
+ };
652
+
653
+ // scripts/config-merge/patch-yaml-list.ts
654
+ import { dump as dump2 } from "js-yaml";
655
+ var { parse_yaml } = yaml_document;
656
+ function read_yaml_list_field(content, field) {
657
+ const raw = parse_yaml(content)[field];
658
+ if (typeof raw === "string") return [raw];
659
+ return Array.isArray(raw) ? string_array_schema.parse(raw) : [];
660
+ }
661
+ function replace_field(parsed, field, value) {
662
+ return Object.fromEntries(
663
+ Object.entries(parsed).map(([key, entry]) => [key, key === field ? [...value] : entry])
664
+ );
665
+ }
666
+ function insert_after(parsed, field, value, anchor) {
667
+ const entries = Object.entries(parsed);
668
+ const index = entries.findIndex(([key]) => key === anchor);
669
+ if (index === -1) return { ...parsed, [field]: [...value] };
670
+ return Object.fromEntries([
671
+ ...entries.slice(0, index + 1),
672
+ [field, [...value]],
673
+ ...entries.slice(index + 1)
674
+ ]);
675
+ }
676
+ function insert_new_field(parsed, field, value, position) {
677
+ if (position === "front") return { [field]: [...value], ...parsed };
678
+ if (position === "end") return { ...parsed, [field]: [...value] };
679
+ return insert_after(parsed, field, value, position.after);
680
+ }
681
+ function place_field(parsed, field, value, position) {
682
+ if (Object.hasOwn(parsed, field)) return replace_field(parsed, field, value);
683
+ return insert_new_field(parsed, field, value, position);
684
+ }
685
+ function patch_yaml_list_field(content, options) {
686
+ const parsed = parse_yaml(content);
687
+ const existing = read_yaml_list_field(content, options.field);
688
+ const { next, is_changed } = list_patch.apply_list_patch(existing, options);
689
+ if (!is_changed) return content;
690
+ const placed = place_field(parsed, options.field, next, options.position ?? "front");
691
+ return dump2(placed, options.quote_style === void 0 ? {} : { quoteStyle: options.quote_style });
692
+ }
693
+ var yaml_list = {
694
+ patch_yaml_list_field,
695
+ read_yaml_list_field
696
+ };
697
+
698
+ // scripts/config-merge/index.ts
699
+ var config_merge = {
700
+ patch_yaml_list_field: yaml_list.patch_yaml_list_field,
701
+ read_yaml_list_field: yaml_list.read_yaml_list_field,
702
+ patch_json_list_field: json_list.patch_json_list_field
703
+ };
704
+
705
+ // scripts/safe-chain/preinstall-command.ts
706
+ var INSTALL_GUIDE_ANCHOR = "installing-safe-chain";
707
+ var INSTALL_GUIDE_URL = `https://github.com/joshuafolkken/kit/blob/main/SECURITY.md#${INSTALL_GUIDE_ANCHOR}`;
708
+ var INTEGRATION_HINT = `Warning: safe-chain (@aikidosec/safe-chain) is not scanning this install because its shell integration is not active. Install it with the hash-verified steps at ${INSTALL_GUIDE_URL} - then restart your terminal.`;
709
+ var LOCAL_INTEGRATION_CHECK_SOURCE = `if(!process.env.CI&&!process.env.GLOBAL_AGENT_HTTP_PROXY)console.warn('${INTEGRATION_HINT}')`;
710
+ var SAFE_CHAIN_CMD = `node -e "${LOCAL_INTEGRATION_CHECK_SOURCE}"`;
711
+ var LEGACY_PREINSTALL_RE = /^pnpm dlx @aikidosec\/safe-chain(?:@\S+)? setup-ci(?: && node -e "[^"]*")?$/u;
712
+ function migrate_preinstall(value) {
713
+ return LEGACY_PREINSTALL_RE.test(value) ? SAFE_CHAIN_CMD : value;
714
+ }
715
+ var safe_chain_preinstall = {
716
+ SAFE_CHAIN_CMD,
717
+ LOCAL_INTEGRATION_CHECK_SOURCE,
718
+ INTEGRATION_HINT,
719
+ INSTALL_GUIDE_ANCHOR,
720
+ migrate_preinstall
721
+ };
722
+
723
+ // scripts/init/init-logic-migrate.ts
724
+ function migrate_scripts(scripts) {
725
+ const current = scripts["preinstall"];
726
+ if (current === void 0) return scripts;
727
+ return { ...scripts, preinstall: safe_chain_preinstall.migrate_preinstall(current) };
728
+ }
729
+ var init_logic_migrate = { migrate_scripts };
730
+
731
+ // scripts/init/init-logic-package-key-order.ts
732
+ var PACKAGE_JSON_KEY_ORDER = [
733
+ "name",
734
+ "version",
735
+ "description",
736
+ "keywords",
737
+ "homepage",
738
+ "bugs",
739
+ "license",
740
+ "author",
741
+ "contributors",
742
+ "funding",
743
+ "files",
744
+ "main",
745
+ "browser",
746
+ "exports",
747
+ "imports",
748
+ "bin",
749
+ "man",
750
+ "directories",
751
+ "repository",
752
+ "type",
753
+ "types",
754
+ "typings",
755
+ "typesVersions",
756
+ "publishConfig",
757
+ "private",
758
+ "scripts",
759
+ "config",
760
+ "dependencies",
761
+ "devDependencies",
762
+ "peerDependencies",
763
+ "peerDependenciesMeta",
764
+ "bundleDependencies",
765
+ "bundledDependencies",
766
+ "optionalDependencies",
767
+ "overrides",
768
+ "resolutions",
769
+ "packageManager",
770
+ "engines",
771
+ "devEngines",
772
+ "os",
773
+ "cpu",
774
+ "size-limit",
775
+ "pnpm"
776
+ ];
777
+
778
+ // scripts/init/kit-base-preset.ts
779
+ var KIT_LEFTHOOK_PRESET = /@joshuafolkken\/[^/]+\/lefthook\//u;
780
+ var KIT_CSPELL_PRESET = /@joshuafolkken\/[^/]+\/cspell(?:\/|$)/u;
781
+ var KIT_TSCONFIG_PRESET = /@joshuafolkken\/[^/]+\/tsconfig\//u;
782
+ var SVELTEKIT_PRESET = /(?<![\w-])sveltekit(?![\w-])/u;
783
+ function has_match(entries, pattern) {
784
+ return entries.some((entry) => pattern.test(entry));
785
+ }
786
+ function is_base_present(entries, subsystem_pattern) {
787
+ return has_match(entries, subsystem_pattern) || has_match(entries, SVELTEKIT_PRESET);
788
+ }
789
+ function is_lefthook_base_present(entries) {
790
+ return is_base_present(entries, KIT_LEFTHOOK_PRESET);
791
+ }
792
+ function is_cspell_base_present(entries) {
793
+ return is_base_present(entries, KIT_CSPELL_PRESET);
794
+ }
795
+ function is_tsconfig_base_present(entries) {
796
+ return is_base_present(entries, KIT_TSCONFIG_PRESET);
797
+ }
798
+ var kit_base_preset = {
799
+ is_lefthook_base_present,
800
+ is_cspell_base_present,
801
+ is_tsconfig_base_present
802
+ };
803
+
804
+ // scripts/init/tsconfig-preset-migration.ts
805
+ import { existsSync } from "node:fs";
806
+ import path2 from "node:path";
807
+ var LEGACY_PRESET_ENTRY = /@joshuafolkken\/[^/]+\/tsconfig\/[^/]+\.jsonc$/u;
808
+ var LEGACY_SUFFIX = ".jsonc";
809
+ var CURRENT_SUFFIX = ".json";
810
+ var EXTENDS_FIELD = "extends";
811
+ function is_migration_target_present(base_directory, entry) {
812
+ return existsSync(path2.resolve(base_directory, entry));
813
+ }
814
+ function migrate_entry(base_directory, entry) {
815
+ if (!LEGACY_PRESET_ENTRY.test(entry)) return entry;
816
+ const migrated = `${entry.slice(0, -LEGACY_SUFFIX.length)}${CURRENT_SUFFIX}`;
817
+ return is_migration_target_present(base_directory, migrated) ? migrated : entry;
818
+ }
819
+ function migrate_extends_value(base_directory, raw) {
820
+ if (typeof raw === "string") return migrate_entry(base_directory, raw);
821
+ if (Array.isArray(raw)) {
822
+ return string_array_schema.parse(raw).map((entry) => migrate_entry(base_directory, entry));
823
+ }
824
+ return raw;
825
+ }
826
+ function migrate_preset_paths(content, base_directory) {
827
+ const parsed = parse_jsonc(content);
828
+ const raw = parsed[EXTENDS_FIELD];
829
+ const migrated = migrate_extends_value(base_directory, raw);
830
+ if (JSON.stringify(migrated) === JSON.stringify(raw)) return content;
831
+ return patch_json_key.set_json_key(content, EXTENDS_FIELD, migrated);
832
+ }
833
+ var tsconfig_preset_migration = {
834
+ migrate_preset_paths
835
+ };
836
+
837
+ // scripts/init/init-logic-json-merge.ts
838
+ function merge_json_extends(content, entry) {
839
+ return config_merge.patch_json_list_field(content, { field: EXTENDS_FIELD, ensure: [entry] });
840
+ }
841
+ function read_extends_entries(content) {
842
+ const raw = parse_jsonc(content)[EXTENDS_FIELD];
843
+ if (typeof raw === "string") return [raw];
844
+ if (Array.isArray(raw)) return string_array_schema.parse(raw);
845
+ return [];
846
+ }
847
+ function merge_tsconfig_extends(content, entry, base_directory) {
848
+ const migrated = tsconfig_preset_migration.migrate_preset_paths(content, base_directory);
849
+ if (kit_base_preset.is_tsconfig_base_present(read_extends_entries(migrated))) return migrated;
850
+ return merge_json_extends(migrated, entry);
851
+ }
852
+ function extract_compiler_options(content) {
853
+ const parsed = parse_jsonc(content);
854
+ const raw = parsed["compilerOptions"];
855
+ if (raw === void 0) return {};
856
+ return json_object_schema.parse(raw);
857
+ }
858
+ function is_redundant_option(value, key, base_options) {
859
+ if (!Object.hasOwn(base_options, key)) return false;
860
+ return JSON.stringify(base_options[key]) === JSON.stringify(value);
861
+ }
862
+ var COMPILER_OPTIONS_FIELD = "compilerOptions";
863
+ function drop_redundant_options(content, redundant) {
864
+ let current = content;
865
+ for (const key of redundant) {
866
+ current = patch_json_key.remove_json_path(current, [COMPILER_OPTIONS_FIELD, key]);
867
+ }
868
+ return current;
869
+ }
870
+ function serialize_stripped(content, kept, redundant) {
871
+ if (Object.keys(kept).length === 0) {
872
+ return patch_json_key.remove_json_key(content, COMPILER_OPTIONS_FIELD);
873
+ }
874
+ return drop_redundant_options(content, redundant);
875
+ }
876
+ function redundant_option_keys(current, base_options) {
877
+ return Object.entries(current).filter(([key, value]) => is_redundant_option(value, key, base_options)).map(([key]) => key);
878
+ }
879
+ function strip_redundant_compiler_options(content, base_options) {
880
+ const raw = parse_jsonc(content)[COMPILER_OPTIONS_FIELD];
881
+ if (raw === void 0) return content;
882
+ const current = json_object_schema.parse(raw);
883
+ const redundant = redundant_option_keys(current, base_options);
884
+ if (redundant.length === 0) return content;
885
+ const kept = Object.entries(current).filter(([key]) => !redundant.includes(key));
886
+ return serialize_stripped(content, Object.fromEntries(kept), redundant);
887
+ }
888
+ function merge_json_array_field(content, key, values) {
889
+ const parsed = parse_jsonc(content);
890
+ const existing = Object.hasOwn(parsed, key) ? string_array_schema.parse(parsed[key]) : [];
891
+ const to_add = values.filter((value) => !existing.includes(value));
892
+ if (to_add.length === 0) return content;
893
+ return patch_json_key.set_json_key(content, key, [...existing, ...to_add]);
894
+ }
895
+ function missing_entries(existing, additions) {
896
+ return Object.entries(additions).filter(([key]) => !Object.hasOwn(existing, key));
897
+ }
898
+ function merge_owned_entries(current, update) {
899
+ const current_object = json_object_schema.safeParse(current);
900
+ const update_object = json_object_schema.safeParse(update);
901
+ if (!current_object.success || !update_object.success) return void 0;
902
+ const owned = current_object.data;
903
+ const missing = missing_entries(owned, update_object.data);
904
+ if (missing.length === 0) return void 0;
905
+ return { ...owned, ...Object.fromEntries(missing) };
906
+ }
907
+ function collect_applicable_updates(parsed, updates) {
908
+ const resolved = Object.entries(updates).map(([key, value]) => [
909
+ key,
910
+ Object.hasOwn(parsed, key) ? merge_owned_entries(parsed[key], value) : value
911
+ ]);
912
+ return Object.fromEntries(resolved.filter(([, merged]) => merged !== void 0));
913
+ }
914
+ function merge_json_object(content, updates) {
915
+ const parsed = parse_jsonc(content);
916
+ const applicable = collect_applicable_updates(parsed, updates);
917
+ if (Object.keys(applicable).length === 0) return content;
918
+ let current = content;
919
+ for (const [key, value] of Object.entries(applicable)) {
920
+ current = patch_json_key.set_json_key(current, key, value);
921
+ }
922
+ return current;
923
+ }
924
+ function serialize_package_json(value) {
925
+ return json_format.format_package_json(value);
926
+ }
927
+ var SCRIPTS_PREPEND_KEYS = /* @__PURE__ */ new Set(["preinstall"]);
928
+ function merge_package_scripts(content, scripts) {
929
+ const parsed = parse_jsonc(content);
930
+ const raw = parsed["scripts"];
931
+ const existing = raw === void 0 ? {} : string_record_schema.parse(raw);
932
+ const migrated = init_logic_migrate.migrate_scripts(existing);
933
+ const to_add = missing_entries(migrated, scripts);
934
+ const did_migrate = JSON.stringify(migrated) !== JSON.stringify(existing);
935
+ if (!did_migrate && to_add.length === 0) return content;
936
+ const prepend = Object.fromEntries(to_add.filter(([k]) => SCRIPTS_PREPEND_KEYS.has(k)));
937
+ const append = Object.fromEntries(to_add.filter(([k]) => !SCRIPTS_PREPEND_KEYS.has(k)));
938
+ return serialize_package_json({ ...parsed, scripts: { ...prepend, ...migrated, ...append } });
939
+ }
940
+ function upgrade_safe_chain_preinstall(content) {
941
+ const parsed = parse_jsonc(content);
942
+ const raw = parsed["scripts"];
943
+ if (raw === void 0) return content;
944
+ const scripts = string_record_schema.parse(raw);
945
+ const current = scripts["preinstall"];
946
+ if (current === void 0) return content;
947
+ const migrated = safe_chain_preinstall.migrate_preinstall(current);
948
+ if (migrated === current) return content;
949
+ return serialize_package_json({ ...parsed, scripts: { ...scripts, preinstall: migrated } });
950
+ }
951
+ function merge_development_dependencies(content, additions) {
952
+ const parsed = parse_jsonc(content);
953
+ const raw = parsed["devDependencies"];
954
+ const existing = raw === void 0 ? {} : string_record_schema.parse(raw);
955
+ const to_add = missing_entries(existing, additions);
956
+ if (to_add.length === 0) return content;
957
+ return serialize_package_json({
958
+ ...parsed,
959
+ devDependencies: { ...existing, ...Object.fromEntries(to_add) }
960
+ });
961
+ }
962
+ function merge_package_manager(content, value) {
963
+ if (value.length === 0) return content;
964
+ const parsed = parse_jsonc(content);
965
+ if ("packageManager" in parsed) return content;
966
+ return serialize_package_json({ ...parsed, packageManager: value });
967
+ }
968
+ function merge_development_engines(content, value) {
969
+ const parsed = parse_jsonc(content);
970
+ if ("devEngines" in parsed) return content;
971
+ return serialize_package_json({ ...parsed, devEngines: value });
972
+ }
973
+ function has_package_scripts_marker(content, marker) {
974
+ const parsed = parse_jsonc(content);
975
+ const raw = parsed["scripts"];
976
+ if (raw === void 0) return false;
977
+ const scripts = string_record_schema.parse(raw);
978
+ return Object.values(scripts).some((cmd) => cmd.includes(marker));
979
+ }
980
+ function merge_package_script_suffix(content, key, cmd) {
981
+ const parsed = parse_jsonc(content);
982
+ const raw = parsed["scripts"];
983
+ if (raw === void 0) return content;
984
+ const scripts = string_record_schema.parse(raw);
985
+ const existing = scripts[key];
986
+ if (existing === void 0 || existing.includes(cmd)) return content;
987
+ const updated_value = existing.trim().length === 0 ? cmd : `${existing} && ${cmd}`;
988
+ return serialize_package_json({ ...parsed, scripts: { ...scripts, [key]: updated_value } });
989
+ }
990
+ function replace_in_package_script(content, key, from, to) {
991
+ const parsed = parse_jsonc(content);
992
+ const raw = parsed["scripts"];
993
+ if (raw === void 0) return content;
994
+ const scripts = string_record_schema.parse(raw);
995
+ const existing = scripts[key];
996
+ if (!existing?.includes(from)) return content;
997
+ return serialize_package_json({
998
+ ...parsed,
999
+ // The replacer is a function so `to` is inserted verbatim: passed as a string, a `$&` or `$1`
1000
+ // inside it would be read as a substitution pattern rather than as the text it is.
1001
+ scripts: { ...scripts, [key]: existing.replace(from, () => to) }
1002
+ });
1003
+ }
1004
+ function remove_script_with_marker(content, key, marker) {
1005
+ const parsed = parse_jsonc(content);
1006
+ const raw = parsed["scripts"];
1007
+ if (raw === void 0) return content;
1008
+ const scripts = string_record_schema.parse(raw);
1009
+ if (!scripts[key]?.includes(marker)) return content;
1010
+ const rest = Object.fromEntries(Object.entries(scripts).filter(([k]) => k !== key));
1011
+ return serialize_package_json({ ...parsed, scripts: rest });
1012
+ }
1013
+ function sort_package_json_keys(content) {
1014
+ const parsed = parse_jsonc(content);
1015
+ const all_keys = Object.keys(parsed);
1016
+ const known = PACKAGE_JSON_KEY_ORDER.filter((k) => Object.hasOwn(parsed, k));
1017
+ const unknown = all_keys.filter((k) => !PACKAGE_JSON_KEY_ORDER.includes(k));
1018
+ const ordered = Object.fromEntries([...known, ...unknown].map((k) => [k, parsed[k]]));
1019
+ const serialized = serialize_package_json(ordered);
1020
+ const current = serialize_package_json(parsed);
1021
+ if (serialized === current) return content;
1022
+ return serialized;
1023
+ }
1024
+ var init_logic_json_merge = {
1025
+ merge_json_extends,
1026
+ merge_tsconfig_extends,
1027
+ extract_compiler_options,
1028
+ strip_redundant_compiler_options,
1029
+ merge_json_array_field,
1030
+ merge_json_object,
1031
+ merge_package_scripts,
1032
+ upgrade_safe_chain_preinstall,
1033
+ merge_package_script_suffix,
1034
+ replace_in_package_script,
1035
+ remove_script_with_marker,
1036
+ has_package_scripts_marker,
1037
+ merge_development_dependencies,
1038
+ merge_package_manager,
1039
+ merge_development_engines,
1040
+ sort_package_json_keys
1041
+ };
1042
+
1043
+ // scripts/registry-migration/npm-acquisition.ts
1044
+ import { z as z2 } from "zod";
1045
+ var NPM = "https://registry.npmjs.org/";
1046
+ var SCOPE2 = "@joshuafolkken";
1047
+ var LOCKFILE = "pnpm-lock.yaml";
1048
+ var SCRIPTS = ["prepare", "postinstall"];
1049
+ var dependency_schema = z2.record(z2.string(), z2.string()).optional();
1050
+ var manifest_schema = z2.object({
1051
+ dependencies: dependency_schema,
1052
+ devDependencies: dependency_schema,
1053
+ optionalDependencies: dependency_schema,
1054
+ peerDependencies: dependency_schema
1055
+ });
1056
+ var scripts_schema = z2.looseObject({ scripts: z2.record(z2.string(), z2.string()).optional() });
1057
+ function read(root, name) {
1058
+ return file_reader.read_file_or_empty(path3.join(root, name));
1059
+ }
1060
+ function is_npm(content) {
1061
+ const registry = fix_gh_packages_logic.parse_scope_registries(content).get(SCOPE2);
1062
+ return registry === NPM || registry === NPM.slice(0, -1);
1063
+ }
1064
+ function is_project_npm(root = process.cwd()) {
1065
+ return is_npm(read(root, ".npmrc")) && migrate_lock.has_npm_sources(read(root, LOCKFILE));
1066
+ }
1067
+ function is_npm_only(root) {
1068
+ const npmrc2 = read(root, ".npmrc");
1069
+ return is_project_npm(root) && fix_gh_packages_logic.parse_gh_scopes(npmrc2).size === 0;
1070
+ }
1071
+ function has_scoped_name(dependencies) {
1072
+ return Object.keys(dependencies ?? {}).some((name) => name.startsWith(migrate_lock.SCOPE));
1073
+ }
1074
+ function has_scoped_dependencies(content) {
1075
+ const manifest = manifest_schema.parse(parse_jsonc(content || "{}"));
1076
+ return Object.values(manifest).some((dependencies) => has_scoped_name(dependencies));
1077
+ }
1078
+ function can_initialize(root) {
1079
+ return read(root, "pnpm-workspace.yaml") === "" && !has_scoped_dependencies(read(root, "package.json")) && migrate_lock.scoped_artifacts(read(root, LOCKFILE)).length === 0;
1080
+ }
1081
+ function can_manage(root) {
1082
+ const content = read(root, ".npmrc");
1083
+ return is_npm(content) || !fix_gh_packages_logic.parse_scope_registries(content).has(SCOPE2) && can_initialize(root);
1084
+ }
1085
+ function merge_npmrc(content, root) {
1086
+ if (is_npm(content)) return migrate_lock.npmrc(content);
1087
+ if (fix_gh_packages_logic.parse_scope_registries(content).has(SCOPE2)) return content;
1088
+ if (can_initialize(root)) return migrate_lock.npmrc(content);
1089
+ return content;
1090
+ }
1091
+ function is_script_value(content, key, value) {
1092
+ return scripts_schema.parse(parse_jsonc(content)).scripts?.[key] === value;
1093
+ }
1094
+ function strip_script(content, key, command) {
1095
+ const script = scripts_schema.parse(parse_jsonc(content)).scripts?.[key];
1096
+ if (script === void 0) return content;
1097
+ const suffix = ` && (${command} || true)`;
1098
+ if (!script.endsWith(suffix)) return content;
1099
+ return init_logic_json_merge.replace_in_package_script(
1100
+ content,
1101
+ key,
1102
+ script,
1103
+ script.slice(0, -suffix.length)
1104
+ );
1105
+ }
1106
+ function merge_lifecycle(content, root, command) {
1107
+ if (!is_npm_only(root)) return content;
1108
+ let merged = content;
1109
+ for (const key of SCRIPTS) merged = strip_script(merged, key, command);
1110
+ return merged;
1111
+ }
1112
+ var npm_acquisition = {
1113
+ is_npm,
1114
+ is_project_npm,
1115
+ is_npm_only,
1116
+ is_script_value,
1117
+ can_manage,
1118
+ merge_npmrc,
1119
+ merge_lifecycle
1120
+ };
1121
+
1122
+ export {
1123
+ json_format,
1124
+ parse_jsonc,
1125
+ patch_json_key,
1126
+ config_merge,
1127
+ safe_chain_preinstall,
1128
+ kit_base_preset,
1129
+ init_logic_json_merge,
1130
+ migrate_lock,
1131
+ npm_acquisition
1132
+ };