@joshuafolkken/kit 1.3099.0 → 1.3125.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.claude/skills/workflow-commands/split-assessment.md +2 -3
- package/.github/actions/setup-pnpm/action.yml +12 -4
- package/dist/.inputs-verified.json +1 -1
- package/dist/commands/adopt.js +20 -20
- package/dist/commands/auto-ok-judge-cli.js +30 -30
- package/dist/commands/auto-ok-main.js +64 -63
- package/dist/commands/backlog-budget-main.js +5 -5
- package/dist/commands/backlog-drive-cli.js +220 -203
- package/dist/commands/backlog-next-main.js +157 -101
- package/dist/commands/backlog-offer-main.js +168 -120
- package/dist/commands/backlog-plan-cli.js +159 -110
- package/dist/commands/backlog-triage-cli.js +171 -115
- package/dist/commands/backlogrun-cli.js +255 -245
- package/dist/commands/behavior-cli.js +16 -15
- package/dist/commands/bytes-command.js +41 -41
- package/dist/commands/cases-cli.js +3 -3
- package/dist/commands/check-commit-message-main.js +3 -3
- package/dist/commands/check-related.js +93 -93
- package/dist/commands/chunk-23PU6FAC.js +140 -0
- package/dist/commands/chunk-23TWJOAI.js +172 -0
- package/dist/commands/chunk-24MXEDSJ.js +81 -0
- package/dist/commands/chunk-25LVQDOF.js +183 -0
- package/dist/commands/chunk-25LYH5QR.js +85 -0
- package/dist/commands/chunk-2AH73ZTW.js +84 -0
- package/dist/commands/chunk-2BNLPPP4.js +42 -0
- package/dist/commands/chunk-2FD3N3OX.js +119 -0
- package/dist/commands/chunk-2GJ3WJVT.js +117 -0
- package/dist/commands/chunk-2JGOKYJQ.js +426 -0
- package/dist/commands/chunk-2MDLCJZ4.js +389 -0
- package/dist/commands/chunk-2ROVUERM.js +99 -0
- package/dist/commands/chunk-2TI22UNK.js +137 -0
- package/dist/commands/chunk-2TUA6V4F.js +191 -0
- package/dist/commands/chunk-2UXSF5YF.js +49 -0
- package/dist/commands/chunk-2ZDVX64H.js +66 -0
- package/dist/commands/chunk-33N7SBIU.js +18 -0
- package/dist/commands/chunk-373P5MM2.js +353 -0
- package/dist/commands/chunk-37RULO76.js +220 -0
- package/dist/commands/chunk-3EYRE3GI.js +173 -0
- package/dist/commands/chunk-3IXIYDC3.js +179 -0
- package/dist/commands/chunk-3OFJCJN4.js +30 -0
- package/dist/commands/chunk-3OSUM6DM.js +53 -0
- package/dist/commands/chunk-3PGB2RKZ.js +333 -0
- package/dist/commands/chunk-3QNEEG5O.js +117 -0
- package/dist/commands/chunk-3TN76RWK.js +156 -0
- package/dist/commands/chunk-3W2TJZMD.js +77 -0
- package/dist/commands/chunk-3Y32BYLU.js +1244 -0
- package/dist/commands/chunk-3ZQOMI5A.js +245 -0
- package/dist/commands/chunk-42W6WARP.js +263 -0
- package/dist/commands/chunk-44UIURBQ.js +130 -0
- package/dist/commands/chunk-45RCSJGE.js +321 -0
- package/dist/commands/chunk-4DNAAFF4.js +159 -0
- package/dist/commands/chunk-4E5WBWG7.js +70 -0
- package/dist/commands/chunk-4MRBLCDB.js +96 -0
- package/dist/commands/chunk-4NIHTEGD.js +332 -0
- package/dist/commands/chunk-4ODXKJJT.js +566 -0
- package/dist/commands/chunk-4P5F7CLB.js +47 -0
- package/dist/commands/chunk-52CGT2IN.js +119 -0
- package/dist/commands/chunk-54ZLBLLE.js +74 -0
- package/dist/commands/chunk-56344LLX.js +114 -0
- package/dist/commands/chunk-56GR7L5L.js +36 -0
- package/dist/commands/chunk-5ADJDGFT.js +126 -0
- package/dist/commands/chunk-5CMXAHCL.js +161 -0
- package/dist/commands/chunk-5DMFMP4V.js +121 -0
- package/dist/commands/chunk-5I3M4B3H.js +185 -0
- package/dist/commands/chunk-5JIMCETI.js +104 -0
- package/dist/commands/chunk-5KEESWMC.js +138 -0
- package/dist/commands/chunk-5LNRVX2R.js +214 -0
- package/dist/commands/chunk-5PLKHUQD.js +492 -0
- package/dist/commands/chunk-5QICRFVL.js +167 -0
- package/dist/commands/chunk-5RCBXYYD.js +101 -0
- package/dist/commands/chunk-5SOU366I.js +252 -0
- package/dist/commands/chunk-5VUHAXPI.js +77 -0
- package/dist/commands/chunk-5XJUUZ6U.js +773 -0
- package/dist/commands/chunk-5ZMVRU3U.js +46 -0
- package/dist/commands/chunk-5ZWU2B7T.js +507 -0
- package/dist/commands/chunk-5ZXR36N7.js +67 -0
- package/dist/commands/chunk-623LFKFM.js +60 -0
- package/dist/commands/chunk-64II6P7B.js +81 -0
- package/dist/commands/chunk-6DJT64DN.js +342 -0
- package/dist/commands/chunk-6HJ5CJSJ.js +121 -0
- package/dist/commands/chunk-6LGMEJRN.js +67 -0
- package/dist/commands/chunk-6LHMR3CR.js +126 -0
- package/dist/commands/chunk-6NXTP5JT.js +114 -0
- package/dist/commands/chunk-6OKVY2E3.js +128 -0
- package/dist/commands/chunk-6OUQZC6V.js +1153 -0
- package/dist/commands/chunk-6PL2AK3C.js +204 -0
- package/dist/commands/chunk-6PLIQCBG.js +326 -0
- package/dist/commands/chunk-6QVDEMGB.js +118 -0
- package/dist/commands/chunk-6T67GZMJ.js +60 -0
- package/dist/commands/chunk-6TC2ZMNB.js +64 -0
- package/dist/commands/chunk-6TOHJZ4J.js +224 -0
- package/dist/commands/chunk-6TOWGIY2.js +127 -0
- package/dist/commands/chunk-6TPGDOOD.js +48 -0
- package/dist/commands/chunk-6XXEW3NQ.js +159 -0
- package/dist/commands/chunk-72HZ2APA.js +229 -0
- package/dist/commands/chunk-72LAYP5S.js +46 -0
- package/dist/commands/chunk-72Y7PXUJ.js +83 -0
- package/dist/commands/chunk-77R6JEET.js +128 -0
- package/dist/commands/chunk-7GICNM73.js +137 -0
- package/dist/commands/chunk-7OZT74HR.js +78 -0
- package/dist/commands/chunk-7QAYL2RH.js +555 -0
- package/dist/commands/chunk-7T7GIZYW.js +92 -0
- package/dist/commands/chunk-7VXSMXVE.js +79 -0
- package/dist/commands/chunk-7WTVADW4.js +33 -0
- package/dist/commands/chunk-7YXCOW3X.js +114 -0
- package/dist/commands/chunk-7YYI3OX6.js +104 -0
- package/dist/commands/chunk-7Z25RNTV.js +516 -0
- package/dist/commands/chunk-A73RWSHJ.js +126 -0
- package/dist/commands/chunk-AAIZ2H66.js +58 -0
- package/dist/commands/chunk-AFGEGGIF.js +17 -0
- package/dist/commands/chunk-AJTXSSRD.js +29 -0
- package/dist/commands/chunk-AKM3BHVJ.js +48 -0
- package/dist/commands/chunk-AL2H63BP.js +48 -0
- package/dist/commands/chunk-AMQNHTDN.js +60 -0
- package/dist/commands/chunk-AQGVQMWF.js +168 -0
- package/dist/commands/chunk-B4OZF4XL.js +89 -0
- package/dist/commands/chunk-B4W77FVS.js +704 -0
- package/dist/commands/chunk-B4YBGU2C.js +580 -0
- package/dist/commands/chunk-B636LL4X.js +239 -0
- package/dist/commands/chunk-B762PNT6.js +66 -0
- package/dist/commands/chunk-B7UY7EOD.js +72 -0
- package/dist/commands/chunk-BAJABWKW.js +43 -0
- package/dist/commands/chunk-BAQRD3TC.js +105 -0
- package/dist/commands/chunk-BBPESBU3.js +85 -0
- package/dist/commands/chunk-BGKUZJT7.js +25 -0
- package/dist/commands/chunk-BIVM6OTE.js +19 -0
- package/dist/commands/chunk-BJQDQAQU.js +167 -0
- package/dist/commands/chunk-BU3WIUDD.js +230 -0
- package/dist/commands/chunk-C2WXQPF3.js +34 -0
- package/dist/commands/chunk-C3V6H6TW.js +183 -0
- package/dist/commands/chunk-C3Y42PHX.js +229 -0
- package/dist/commands/chunk-C7CDGSMW.js +112 -0
- package/dist/commands/chunk-C7JEMYPV.js +102 -0
- package/dist/commands/chunk-CCAVK7HN.js +4221 -0
- package/dist/commands/chunk-CFLCZ2WO.js +63 -0
- package/dist/commands/chunk-CGA2K3XV.js +137 -0
- package/dist/commands/chunk-CHQQ3VTL.js +184 -0
- package/dist/commands/chunk-CKD2G35M.js +86 -0
- package/dist/commands/chunk-CMTTDS7F.js +77 -0
- package/dist/commands/chunk-CRCQOA4Z.js +77 -0
- package/dist/commands/chunk-CT773QBI.js +161 -0
- package/dist/commands/chunk-CVZXDKCV.js +525 -0
- package/dist/commands/chunk-CXFN5W7O.js +116 -0
- package/dist/commands/chunk-CXVNQ7DS.js +88 -0
- package/dist/commands/chunk-CYYJLRIW.js +85 -0
- package/dist/commands/chunk-D6UXGFJ7.js +44 -0
- package/dist/commands/chunk-DIXUXHZ2.js +207 -0
- package/dist/commands/chunk-DM6I4PYD.js +110 -0
- package/dist/commands/chunk-DOM6HJL3.js +769 -0
- package/dist/commands/chunk-DVIOBFU7.js +210 -0
- package/dist/commands/chunk-E5CGA7FC.js +114 -0
- package/dist/commands/chunk-EG44IWNI.js +88 -0
- package/dist/commands/chunk-EHVFQQO6.js +45 -0
- package/dist/commands/chunk-EJG5ZJKD.js +1629 -0
- package/dist/commands/chunk-EKKUHXFD.js +241 -0
- package/dist/commands/chunk-ELCYNBZO.js +430 -0
- package/dist/commands/chunk-ELZQL6M3.js +100 -0
- package/dist/commands/chunk-EOPRRSCY.js +1891 -0
- package/dist/commands/chunk-EQTDNFPF.js +123 -0
- package/dist/commands/chunk-ERAABGU7.js +93 -0
- package/dist/commands/chunk-ESMIFITZ.js +715 -0
- package/dist/commands/chunk-EWBEYTVS.js +50 -0
- package/dist/commands/chunk-EYR2X5MZ.js +53 -0
- package/dist/commands/chunk-F546BPG3.js +74 -0
- package/dist/commands/chunk-F7SAHNGR.js +34 -0
- package/dist/commands/chunk-FBWNL3UA.js +209 -0
- package/dist/commands/chunk-FBZD6LOK.js +225 -0
- package/dist/commands/chunk-FDSSBZC7.js +75 -0
- package/dist/commands/chunk-FFLZPLWC.js +59 -0
- package/dist/commands/chunk-FHLV5BII.js +170 -0
- package/dist/commands/chunk-FITTCICF.js +247 -0
- package/dist/commands/chunk-FJ622XHY.js +179 -0
- package/dist/commands/chunk-FQPL6T66.js +80 -0
- package/dist/commands/chunk-FSM3WPTR.js +73 -0
- package/dist/commands/chunk-FSZA4DME.js +268 -0
- package/dist/commands/chunk-FVPRBMHE.js +38 -0
- package/dist/commands/chunk-FZ62KJXP.js +75 -0
- package/dist/commands/chunk-FZNYKSQS.js +335 -0
- package/dist/commands/chunk-FZYFGHRY.js +72 -0
- package/dist/commands/chunk-G4UVY3TO.js +90 -0
- package/dist/commands/chunk-G6H2TOAA.js +18 -0
- package/dist/commands/chunk-GC73YEU7.js +119 -0
- package/dist/commands/chunk-GHVL6IJA.js +653 -0
- package/dist/commands/chunk-GIGXVOKR.js +208 -0
- package/dist/commands/chunk-GL2DZXYD.js +103 -0
- package/dist/commands/chunk-GL3VOBWB.js +170 -0
- package/dist/commands/chunk-GLXOLYZE.js +64 -0
- package/dist/commands/chunk-GNRTFRSL.js +41 -0
- package/dist/commands/chunk-GX5XHW2F.js +132 -0
- package/dist/commands/chunk-GXXWRH6F.js +98 -0
- package/dist/commands/chunk-GY6O2WYG.js +120 -0
- package/dist/commands/chunk-H4IDKP55.js +37 -0
- package/dist/commands/chunk-H5WWD3TX.js +719 -0
- package/dist/commands/chunk-H6MHUR2Y.js +114 -0
- package/dist/commands/chunk-H6TBBVC2.js +73 -0
- package/dist/commands/chunk-HF52YP56.js +178 -0
- package/dist/commands/chunk-HKHGX7TW.js +173 -0
- package/dist/commands/chunk-HLQVLQEB.js +177 -0
- package/dist/commands/chunk-HN3EGYAI.js +169 -0
- package/dist/commands/chunk-HNZLKGKJ.js +43 -0
- package/dist/commands/chunk-HQ5U6OZR.js +315 -0
- package/dist/commands/chunk-HUCOQ4PI.js +161 -0
- package/dist/commands/chunk-HXAVYXUS.js +307 -0
- package/dist/commands/chunk-HXM26K3O.js +67 -0
- package/dist/commands/chunk-HYQ5Q6AE.js +304 -0
- package/dist/commands/chunk-HYVAEK6M.js +155 -0
- package/dist/commands/chunk-I2HHXZVG.js +46 -0
- package/dist/commands/chunk-I2RBOH4F.js +469 -0
- package/dist/commands/chunk-I36PDO6I.js +258 -0
- package/dist/commands/chunk-IAA73DWD.js +212 -0
- package/dist/commands/chunk-IBOCPSPK.js +103 -0
- package/dist/commands/chunk-IC5XLIE2.js +68 -0
- package/dist/commands/chunk-ICKP5W3Q.js +41 -0
- package/dist/commands/chunk-IHQHHNYR.js +1314 -0
- package/dist/commands/chunk-ILQU26IF.js +408 -0
- package/dist/commands/chunk-INOXSDDC.js +7712 -0
- package/dist/commands/chunk-IQMMYORJ.js +554 -0
- package/dist/commands/chunk-ISNZX75X.js +168 -0
- package/dist/commands/chunk-ISY5TFYT.js +80 -0
- package/dist/commands/chunk-IT2O5MOW.js +37 -0
- package/dist/commands/chunk-IV6ETHVB.js +155 -0
- package/dist/commands/chunk-IZPMBGAI.js +202 -0
- package/dist/commands/chunk-J56TYLAL.js +77 -0
- package/dist/commands/chunk-JGC4B5JR.js +94 -0
- package/dist/commands/chunk-JKPYLZ6T.js +198 -0
- package/dist/commands/chunk-JM3EJYA3.js +65 -0
- package/dist/commands/chunk-JN7IG7HT.js +426 -0
- package/dist/commands/chunk-JSJS3OT7.js +679 -0
- package/dist/commands/chunk-JUQN3OXG.js +351 -0
- package/dist/commands/chunk-JUXKVN77.js +100 -0
- package/dist/commands/chunk-JZZURWZH.js +33 -0
- package/dist/commands/chunk-K2FXMBIU.js +95 -0
- package/dist/commands/chunk-K2VIKG5M.js +34 -0
- package/dist/commands/chunk-K3LHBJDY.js +1223 -0
- package/dist/commands/chunk-K3TPIV56.js +480 -0
- package/dist/commands/chunk-K6QAQSCJ.js +98 -0
- package/dist/commands/chunk-KJ2ZIDQP.js +92 -0
- package/dist/commands/chunk-KMED24C4.js +459 -0
- package/dist/commands/chunk-KMVJKK43.js +88 -0
- package/dist/commands/chunk-KXZR7UAE.js +302 -0
- package/dist/commands/chunk-L7GYJHDX.js +223 -0
- package/dist/commands/chunk-LAQZJX5C.js +49 -0
- package/dist/commands/chunk-LAUKNN57.js +530 -0
- package/dist/commands/chunk-LDYDRXOY.js +88 -0
- package/dist/commands/chunk-LZNACCHR.js +174 -0
- package/dist/commands/chunk-MEJ2CQK2.js +102 -0
- package/dist/commands/chunk-MHTKSRAH.js +278 -0
- package/dist/commands/chunk-MI4NHZWO.js +65 -0
- package/dist/commands/chunk-MIDWHXJZ.js +46 -0
- package/dist/commands/chunk-MIZLGSHI.js +419 -0
- package/dist/commands/chunk-MKIHWQ65.js +218 -0
- package/dist/commands/chunk-MOAPWO34.js +292 -0
- package/dist/commands/chunk-MOLXF5KO.js +51 -0
- package/dist/commands/chunk-MQNKIKJ6.js +288 -0
- package/dist/commands/chunk-MT6TRLFD.js +91 -0
- package/dist/commands/chunk-MTPFNRYF.js +213 -0
- package/dist/commands/chunk-N2EE7MMH.js +305 -0
- package/dist/commands/chunk-N5FT5LYP.js +272 -0
- package/dist/commands/chunk-N5YPDLZM.js +114 -0
- package/dist/commands/chunk-NASUAXRJ.js +45 -0
- package/dist/commands/chunk-NAZ753DE.js +540 -0
- package/dist/commands/chunk-NDPR5U4U.js +897 -0
- package/dist/commands/chunk-NFRDCRDI.js +285 -0
- package/dist/commands/chunk-NHXMWRBI.js +16 -0
- package/dist/commands/chunk-NMG65AFQ.js +20 -0
- package/dist/commands/chunk-NQ4D2XZY.js +213 -0
- package/dist/commands/chunk-NQFQVSHV.js +56 -0
- package/dist/commands/chunk-NR4BD5DD.js +38 -0
- package/dist/commands/chunk-NV6Y4U37.js +338 -0
- package/dist/commands/chunk-NWMY2QJJ.js +133 -0
- package/dist/commands/chunk-NXWVWI4U.js +1062 -0
- package/dist/commands/chunk-NZ2UKIY5.js +445 -0
- package/dist/commands/chunk-OB3WF3DW.js +24 -0
- package/dist/commands/chunk-OBMXXG5D.js +181 -0
- package/dist/commands/chunk-OHZ6GLEJ.js +74 -0
- package/dist/commands/chunk-OJO5AADO.js +322 -0
- package/dist/commands/chunk-ORFXTHXU.js +108 -0
- package/dist/commands/chunk-OTCWA4QE.js +910 -0
- package/dist/commands/chunk-OYGNL5RO.js +290 -0
- package/dist/commands/chunk-OYZP5ANC.js +48 -0
- package/dist/commands/chunk-P35FFJXA.js +73 -0
- package/dist/commands/chunk-P3UODIMZ.js +272 -0
- package/dist/commands/chunk-PF2HZHJG.js +94 -0
- package/dist/commands/chunk-PIAVFPYB.js +52 -0
- package/dist/commands/chunk-PLE3MBGO.js +85 -0
- package/dist/commands/chunk-PM3YCN46.js +39 -0
- package/dist/commands/chunk-PMC2N6JK.js +91 -0
- package/dist/commands/chunk-PTJ6X3QK.js +330 -0
- package/dist/commands/chunk-PTRK3NBC.js +211 -0
- package/dist/commands/chunk-Q2VV3WT7.js +120 -0
- package/dist/commands/chunk-Q67SPFHV.js +44 -0
- package/dist/commands/chunk-Q7GMTDMG.js +44 -0
- package/dist/commands/chunk-QA44M56F.js +333 -0
- package/dist/commands/chunk-QDUWBRQC.js +61 -0
- package/dist/commands/chunk-QGTLTPXT.js +58 -0
- package/dist/commands/chunk-QHWQJCV5.js +250 -0
- package/dist/commands/chunk-QI72D6NY.js +54 -0
- package/dist/commands/chunk-QN3FWRDW.js +122 -0
- package/dist/commands/chunk-QQ2JKDSV.js +144 -0
- package/dist/commands/chunk-QRY55H5U.js +48 -0
- package/dist/commands/chunk-QUO5B2JH.js +260 -0
- package/dist/commands/chunk-QY7RITZQ.js +99 -0
- package/dist/commands/chunk-R4GZWGIN.js +160 -0
- package/dist/commands/chunk-RETTGONB.js +84 -0
- package/dist/commands/chunk-RH4LJ4D6.js +69 -0
- package/dist/commands/chunk-RKCENL5P.js +271 -0
- package/dist/commands/chunk-RLWK2CP3.js +82 -0
- package/dist/commands/chunk-RMDQQKXD.js +179 -0
- package/dist/commands/chunk-RRNC3QEB.js +449 -0
- package/dist/commands/chunk-RUCV7UYK.js +341 -0
- package/dist/commands/chunk-RVFE7JDZ.js +126 -0
- package/dist/commands/chunk-RVKFX3FD.js +70 -0
- package/dist/commands/chunk-RW7OILP7.js +71 -0
- package/dist/commands/chunk-S23MUFND.js +122 -0
- package/dist/commands/chunk-S3DRNZRT.js +74 -0
- package/dist/commands/chunk-SB3R6E3R.js +49 -0
- package/dist/commands/chunk-SCCUBRDO.js +237 -0
- package/dist/commands/chunk-SIPHEZXP.js +72 -0
- package/dist/commands/chunk-SK3GDQOI.js +20 -0
- package/dist/commands/chunk-SNXSRNFI.js +1052 -0
- package/dist/commands/chunk-SWHN7TNT.js +59 -0
- package/dist/commands/chunk-T5D3BW3D.js +85 -0
- package/dist/commands/chunk-T76CS2AQ.js +307 -0
- package/dist/commands/chunk-TBIX42IT.js +144 -0
- package/dist/commands/chunk-TGCIRQG5.js +109 -0
- package/dist/commands/chunk-TJAGKUS2.js +84 -0
- package/dist/commands/chunk-TKRUZZXG.js +103 -0
- package/dist/commands/chunk-TLCFZAL4.js +63 -0
- package/dist/commands/chunk-TNPFVNKX.js +585 -0
- package/dist/commands/chunk-TNU3IEAP.js +151 -0
- package/dist/commands/chunk-TQ6M5ICK.js +49 -0
- package/dist/commands/chunk-TR6NTNWR.js +128 -0
- package/dist/commands/chunk-TSS2RKBC.js +271 -0
- package/dist/commands/chunk-TWI7UTVE.js +799 -0
- package/dist/commands/chunk-TXXEXJAV.js +390 -0
- package/dist/commands/chunk-U6SMBYTN.js +472 -0
- package/dist/commands/chunk-U7JJGYYY.js +30 -0
- package/dist/commands/chunk-UACWDTJ5.js +106 -0
- package/dist/commands/chunk-UBWYGOEC.js +86 -0
- package/dist/commands/chunk-UC5ZOPKX.js +3983 -0
- package/dist/commands/chunk-UJFEMO6X.js +153 -0
- package/dist/commands/chunk-ULL3OIAG.js +59 -0
- package/dist/commands/chunk-UN6BPKQ5.js +922 -0
- package/dist/commands/chunk-UW3KES66.js +32 -0
- package/dist/commands/chunk-UWLANGIR.js +817 -0
- package/dist/commands/chunk-UYHREBT7.js +99 -0
- package/dist/commands/chunk-V2KHY4UQ.js +393 -0
- package/dist/commands/chunk-V36OV7AP.js +191 -0
- package/dist/commands/chunk-V37AWEYE.js +62 -0
- package/dist/commands/chunk-V4D4YV4B.js +110 -0
- package/dist/commands/chunk-V56NLG7I.js +217 -0
- package/dist/commands/chunk-V6WHDQAZ.js +74 -0
- package/dist/commands/chunk-V6WWW6HX.js +140 -0
- package/dist/commands/chunk-V7QOC5NV.js +51 -0
- package/dist/commands/chunk-VA4M733Q.js +127 -0
- package/dist/commands/chunk-VBZ47BVH.js +64 -0
- package/dist/commands/chunk-VD4ELMDA.js +158 -0
- package/dist/commands/chunk-VFW6XZH7.js +469 -0
- package/dist/commands/chunk-VHSGVCRM.js +244 -0
- package/dist/commands/chunk-VJNE7W7O.js +1153 -0
- package/dist/commands/chunk-VLDPUHGE.js +134 -0
- package/dist/commands/chunk-VMMNYTET.js +61 -0
- package/dist/commands/chunk-VO2GSW5P.js +99 -0
- package/dist/commands/chunk-VP3P7FLJ.js +168 -0
- package/dist/commands/chunk-VRS252GW.js +88 -0
- package/dist/commands/chunk-VWNVKWLV.js +298 -0
- package/dist/commands/chunk-VXWGPQJX.js +140 -0
- package/dist/commands/chunk-W4R6ZBLO.js +197 -0
- package/dist/commands/chunk-WE2UMZXX.js +47 -0
- package/dist/commands/chunk-WEEJU3EH.js +109 -0
- package/dist/commands/chunk-WHXGUOYP.js +48 -0
- package/dist/commands/chunk-WHYYBPIC.js +113 -0
- package/dist/commands/chunk-WKXMY7MW.js +84 -0
- package/dist/commands/chunk-WPSCCUTE.js +119 -0
- package/dist/commands/chunk-WQ3O7IKL.js +289 -0
- package/dist/commands/chunk-WSTNBBR3.js +22 -0
- package/dist/commands/chunk-WX3HQXBK.js +124 -0
- package/dist/commands/chunk-WYAY6CQI.js +541 -0
- package/dist/commands/chunk-XBXY3R4K.js +74 -0
- package/dist/commands/chunk-XDWCF4XH.js +347 -0
- package/dist/commands/chunk-XHLSJPV7.js +69 -0
- package/dist/commands/chunk-XHR7O2DE.js +52 -0
- package/dist/commands/chunk-XIV3UDHV.js +119 -0
- package/dist/commands/chunk-XMNPU3J5.js +469 -0
- package/dist/commands/chunk-XMZJB7JP.js +100 -0
- package/dist/commands/chunk-XO7S2BTY.js +365 -0
- package/dist/commands/chunk-XQDG56LP.js +47 -0
- package/dist/commands/chunk-XSBLCTDI.js +143 -0
- package/dist/commands/chunk-XT3W32DO.js +977 -0
- package/dist/commands/chunk-XUA7QZET.js +1263 -0
- package/dist/commands/chunk-XZQHP4JR.js +145 -0
- package/dist/commands/chunk-YDVFQL3G.js +23 -0
- package/dist/commands/chunk-YFD46GB2.js +45 -0
- package/dist/commands/chunk-YJMOFRL7.js +269 -0
- package/dist/commands/chunk-YPCMBQYP.js +88 -0
- package/dist/commands/chunk-YR5RS4YT.js +38 -0
- package/dist/commands/chunk-YSBLGTDZ.js +339 -0
- package/dist/commands/chunk-YSDBY2G7.js +186 -0
- package/dist/commands/chunk-YSL43R4Y.js +149 -0
- package/dist/commands/chunk-YUAIWKOM.js +132 -0
- package/dist/commands/chunk-YVNYX4UA.js +74 -0
- package/dist/commands/chunk-Z2GZIWAU.js +33 -0
- package/dist/commands/chunk-Z3XNSXQH.js +47 -0
- package/dist/commands/chunk-Z4E7V7YJ.js +18 -0
- package/dist/commands/chunk-Z7C2O5JC.js +299 -0
- package/dist/commands/chunk-Z7R6JWN7.js +1077 -0
- package/dist/commands/chunk-ZB25RO3U.js +208 -0
- package/dist/commands/chunk-ZBRUCKLP.js +133 -0
- package/dist/commands/chunk-ZCWBZOBM.js +61 -0
- package/dist/commands/chunk-ZDP6SKBK.js +246 -0
- package/dist/commands/chunk-ZEVI2ZGI.js +145 -0
- package/dist/commands/chunk-ZF3SZQRJ.js +44 -0
- package/dist/commands/chunk-ZHEUK3ZX.js +16 -0
- package/dist/commands/chunk-ZJ5C6KVM.js +1072 -0
- package/dist/commands/chunk-ZMDHJ6QF.js +42 -0
- package/dist/commands/chunk-ZMS3EFW3.js +1250 -0
- package/dist/commands/chunk-ZMWL7LZM.js +210 -0
- package/dist/commands/chunk-ZNFVJETO.js +263 -0
- package/dist/commands/chunk-ZQEKIMBV.js +82 -0
- package/dist/commands/chunk-ZW6DLYS4.js +646 -0
- package/dist/commands/ci-timing-cli.js +10 -10
- package/dist/commands/code-symbol-cli.js +11 -11
- package/dist/commands/codex-hook-adapter.js +105 -106
- package/dist/commands/command-derive.js +5 -5
- package/dist/commands/cost-audit-main.js +139 -99
- package/dist/commands/cspell-cached.js +38 -37
- package/dist/commands/defect-origin-main.js +32 -32
- package/dist/commands/defect-report-main.js +29 -29
- package/dist/commands/diff-summary-cli.js +3 -3
- package/dist/commands/disposition-cli.js +108 -96
- package/dist/commands/doctor.js +13 -13
- package/dist/commands/document-read-cli.js +35 -35
- package/dist/commands/document-section-main.js +35 -35
- package/dist/commands/dogfood-commit-cli.js +11 -11
- package/dist/commands/effect-audit-cli.js +41 -35
- package/dist/commands/epic-audit-main.js +77 -76
- package/dist/commands/epic-bundle-main.js +167 -111
- package/dist/commands/epic-check.js +29 -29
- package/dist/commands/epic-main.js +170 -117
- package/dist/commands/epic-next-main.js +73 -72
- package/dist/commands/format-edited-cli.js +43 -43
- package/dist/commands/format.js +21 -21
- package/dist/commands/fresh-machine-cli.js +9 -9
- package/dist/commands/gh-usage-cli.js +13 -13
- package/dist/commands/git-followup-workflow.js +130 -130
- package/dist/commands/git-gh-checks-failed-main.js +16 -16
- package/dist/commands/git-workflow.js +47 -47
- package/dist/commands/hook-ledger-cli.js +113 -74
- package/dist/commands/init-main.js +28 -28
- package/dist/commands/inputs.json +2011 -2001
- package/dist/commands/issue-ack-cli.js +17 -17
- package/dist/commands/issue-already-done-cli.js +88 -87
- package/dist/commands/issue-body-cli.js +78 -64
- package/dist/commands/issue-cite-main.js +26 -26
- package/dist/commands/issue-comment-main.js +29 -29
- package/dist/commands/issue-consolidate-cli.js +43 -43
- package/dist/commands/issue-file-main.js +181 -133
- package/dist/commands/issue-fold-existing-cli.js +169 -113
- package/dist/commands/issue-fold-main.js +44 -43
- package/dist/commands/issue-lint-main.js +55 -54
- package/dist/commands/issue-measured-cli.js +91 -90
- package/dist/commands/issue-plan-cli.js +136 -135
- package/dist/commands/issue-premise-unmet-cli.js +91 -90
- package/dist/commands/issue-priority-cli.js +28 -28
- package/dist/commands/issue-read-main.js +30 -30
- package/dist/commands/issue-release-class-cli.js +26 -26
- package/dist/commands/issue-release-main.js +28 -28
- package/dist/commands/issue-scout-main.js +168 -112
- package/dist/commands/issue-spill-main.js +194 -135
- package/dist/commands/issue-state-main.js +28 -28
- package/dist/commands/issue-tick-cli.js +28 -28
- package/dist/commands/josh-completion.js +12 -12
- package/dist/commands/lane-adopt-cli.js +38 -37
- package/dist/commands/lane-breakdown-cli.js +176 -166
- package/dist/commands/lane-cli.js +163 -163
- package/dist/commands/lane-launch-main.js +71 -70
- package/dist/commands/lane-limit-cli.js +162 -106
- package/dist/commands/lane-measure-cli.js +386 -254
- package/dist/commands/lane-pause-cli.js +33 -32
- package/dist/commands/lane-plan-cli.js +134 -133
- package/dist/commands/lane-resolve-cli.js +35 -35
- package/dist/commands/lane-restart-cli.js +157 -157
- package/dist/commands/lane-why-cli.js +131 -102
- package/dist/commands/lane-withdraw-cli.js +66 -65
- package/dist/commands/latest-if-required-cli.js +5 -5
- package/dist/commands/lines-command.js +3 -3
- package/dist/commands/lint-parallel-main.js +47 -46
- package/dist/commands/lint-related.js +86 -86
- package/dist/commands/lint-rule.js +46 -45
- package/dist/commands/lockfile-policy.js +18 -18
- package/dist/commands/main-merge-main.js +12 -12
- package/dist/commands/main-sync-main.js +12 -12
- package/dist/commands/managed-config-scope-cli.js +7 -7
- package/dist/commands/measure-rerun-cli.js +23 -23
- package/dist/commands/metrics-command.js +67 -67
- package/dist/commands/observation-record-cli.js +13 -13
- package/dist/commands/observations-flush-cli.js +41 -41
- package/dist/commands/package-scout-cli.js +52 -52
- package/dist/commands/pin-verify-cli.js +9 -9
- package/dist/commands/plan-consumers-main.js +6 -6
- package/dist/commands/plan-scaffold-cli.js +125 -125
- package/dist/commands/pr-classification-main.js +12 -12
- package/dist/commands/pre-commit-lint.js +14 -15
- package/dist/commands/pre-commit-type-check.js +46 -46
- package/dist/commands/pre-push-unit.js +51 -52
- package/dist/commands/pretool-guard-cli.js +94 -94
- package/dist/commands/prevent-main-commit.js +2 -2
- package/dist/commands/project-profile-cli.js +13 -13
- package/dist/commands/propagate.js +22 -22
- package/dist/commands/prose-stale-cli.js +32 -32
- package/dist/commands/read-set-cli.js +39 -39
- package/dist/commands/refactor-scan-cli.js +5 -5
- package/dist/commands/release-cli.js +95 -43
- package/dist/commands/release-scope-main.js +34 -34
- package/dist/commands/rename-cli.js +39 -38
- package/dist/commands/report-template-cli.js +3 -3
- package/dist/commands/reserved-run.js +10 -10
- package/dist/commands/retrospective-cli.js +141 -102
- package/dist/commands/review-attest-cli.js +19 -19
- package/dist/commands/review-brief-main.js +159 -159
- package/dist/commands/review-findings-cli.js +12 -12
- package/dist/commands/review-pair-cli.js +145 -145
- package/dist/commands/review-record-main.js +145 -145
- package/dist/commands/review-round2-cli.js +66 -65
- package/dist/commands/review-stops-cli.js +35 -34
- package/dist/commands/review-submit-cli.js +159 -159
- package/dist/commands/rule-list.js +59 -59
- package/dist/commands/rule-value-cli.js +129 -93
- package/dist/commands/ruleset-check-cli.js +12 -12
- package/dist/commands/run-add-cli.js +61 -61
- package/dist/commands/run-board-main.js +197 -156
- package/dist/commands/run-carry-cli.js +182 -150
- package/dist/commands/run-chain-cli.js +153 -153
- package/dist/commands/run-cut-cli.js +160 -160
- package/dist/commands/run-ending-cli.js +34 -34
- package/dist/commands/run-entry-cli.js +210 -201
- package/dist/commands/run-event-cli.js +9 -8
- package/dist/commands/run-handoff-cli.js +50 -50
- package/dist/commands/run-handoff-lanes-cli.js +34 -33
- package/dist/commands/run-hold-main.js +87 -86
- package/dist/commands/run-liveness-cli.js +31 -30
- package/dist/commands/run-merge-main.js +171 -139
- package/dist/commands/run-next-cli.js +110 -110
- package/dist/commands/run-park-cli.js +109 -109
- package/dist/commands/run-pause-cli.js +189 -165
- package/dist/commands/run-pickup-cli.js +34 -33
- package/dist/commands/run-prep-main.js +106 -106
- package/dist/commands/run-prime-cli.js +136 -136
- package/dist/commands/run-progress-main.js +174 -127
- package/dist/commands/run-report-cli.js +45 -44
- package/dist/commands/run-review-cli.js +188 -188
- package/dist/commands/run-ship-cli.js +239 -234
- package/dist/commands/run-ship-evidence-cli.js +53 -54
- package/dist/commands/run-ship-lap-DGUAMCPY.js +28 -0
- package/dist/commands/run-ship-wait-main.js +64 -63
- package/dist/commands/run-split-cli.js +183 -156
- package/dist/commands/run-stale-main.js +55 -54
- package/dist/commands/run-status-cli.js +28 -28
- package/dist/commands/run-step-cli.js +192 -190
- package/dist/commands/run-tail-cli.js +9 -9
- package/dist/commands/run-tidy-main.js +53 -52
- package/dist/commands/run-wake-main.js +178 -178
- package/dist/commands/run-watcher-guard-cli.js +51 -50
- package/dist/commands/security-audit-main.js +8 -8
- package/dist/commands/security-audit-provision-main.js +5 -5
- package/dist/commands/selfcheck-cli.js +47 -47
- package/dist/commands/session-language-main.js +51 -51
- package/dist/commands/sonar-hotspots-cli.js +5 -5
- package/dist/commands/sonar-new-code-cli.js +3 -3
- package/dist/commands/split-assess-cli.js +42 -41
- package/dist/commands/split-child-recover-cli.js +28 -28
- package/dist/commands/start.js +53 -53
- package/dist/commands/stash-pop-main.js +3 -3
- package/dist/commands/stash-push-main.js +4 -4
- package/dist/commands/stop-guard.js +183 -159
- package/dist/commands/sync-main.js +18 -18
- package/dist/commands/telegram-test-main.js +20 -20
- package/dist/commands/test-declared.js +15 -15
- package/dist/commands/test-e2e-guard.js +41 -41
- package/dist/commands/test-pinned-main.js +43 -43
- package/dist/commands/test-reach-cli.js +27 -27
- package/dist/commands/test-red-main.js +12 -12
- package/dist/commands/test-related-UHUIUC7X.js +112 -0
- package/dist/commands/test-related-main.js +75 -76
- package/dist/commands/test-unit-guard-main.js +21 -21
- package/dist/commands/time-cli.js +34 -34
- package/dist/commands/time-density-cli.js +13 -12
- package/dist/commands/tree-status-cli.js +4 -4
- package/dist/commands/type-check-command.js +14 -14
- package/dist/commands/ui-routes-cli.js +4 -4
- package/dist/commands/uninstall.js +30 -30
- package/dist/commands/unused-members-LOSERD3C.js +329 -0
- package/dist/commands/unused-members-cli.js +15 -15
- package/dist/commands/upstream-interrupt-main.js +183 -136
- package/dist/commands/verification-gate.js +71 -72
- package/dist/commands/version-check.js +12 -12
- package/dist/hooks/audit-provision.js +4 -4
- package/dist/hooks/chunk-2R62D5UU.js +12 -0
- package/dist/hooks/chunk-3J5M7SXZ.js +1059 -0
- package/dist/hooks/chunk-4UAA2YFC.js +258 -0
- package/dist/hooks/chunk-74D3EJGW.js +5204 -0
- package/dist/hooks/chunk-74FYAI2L.js +43 -0
- package/dist/hooks/chunk-ALY5AW75.js +1953 -0
- package/dist/hooks/chunk-FBDC6KVJ.js +77 -0
- package/dist/hooks/chunk-HKUR6WKR.js +6874 -0
- package/dist/hooks/chunk-NFTDYUN3.js +1915 -0
- package/dist/hooks/chunk-NP6BVTR3.js +9176 -0
- package/dist/hooks/chunk-OOEG63LD.js +321 -0
- package/dist/hooks/chunk-RWVA2SFN.js +28584 -0
- package/dist/hooks/chunk-U55QDXSC.js +32 -0
- package/dist/hooks/chunk-VWZOPSZX.js +5092 -0
- package/dist/hooks/chunk-Z6W64J64.js +11254 -0
- package/dist/hooks/codex-hook-adapter.js +12 -12
- package/dist/hooks/daemon.js +112 -40
- package/dist/hooks/format-edited.js +7 -7
- package/dist/hooks/inputs.json +612 -556
- package/dist/hooks/pretool-guard.js +10 -10
- package/dist/hooks/run-ship-lap-XDLXQIS3.js +8 -0
- package/dist/hooks/session-lang.js +7 -7
- package/dist/hooks/stop-guard.js +8396 -4497
- package/dist/inputs.json +76 -76
- package/dist/josh.js +31 -15
- package/dist/registry-migrate.mjs +32 -8
- package/dist/version/index.js +48 -19
- package/package.json +1 -1
- package/prompts/collaboration-workflow/issue-template.en.md +5 -0
- package/prompts/collaboration-workflow/issue-template.md +14 -1
- package/scripts/backlog/backlog-drive-cli.ts +2 -1
- package/scripts/backlog/backlog-drive-listing.ts +20 -6
- package/scripts/backlog/backlog-hold-text.ts +1 -0
- package/scripts/backlog/backlog-listing-trace.ts +35 -0
- package/scripts/backlog/backlog-offer-timing.ts +10 -2
- package/scripts/backlog/backlog-wait-cause.ts +10 -2
- package/scripts/document/document-byte-budget.ts +2 -2
- package/scripts/git/git-command.ts +7 -3
- package/scripts/git/git-pre-push-hook.ts +9 -5
- package/scripts/git/git-spawn.ts +20 -4
- package/scripts/hooks/implementation-shell-deny-git.ts +17 -3
- package/scripts/hooks/pre-push-related-switch.ts +3 -2
- package/scripts/hooks/pre-push-unit.ts +3 -1
- package/scripts/issue/effect-audit.ts +7 -0
- package/scripts/issue/issue-body-cli.ts +18 -2
- package/scripts/issue/issue-body-keys.ts +1 -0
- package/scripts/issue/issue-file-pass.ts +1 -0
- package/scripts/issue/issue-lint-cli.ts +16 -2
- package/scripts/issue/issue-lint.ts +16 -0
- package/scripts/issue/issue-publication-state.ts +82 -6
- package/scripts/issue/issue-spill.ts +18 -4
- package/scripts/issue/issue-template-section.ts +7 -1
- package/scripts/josh/josh-commands-ai.ts +3 -2
- package/scripts/lane/lane-chain-stop-stats.ts +19 -7
- package/scripts/lane/lane-concurrency-stats.ts +39 -14
- package/scripts/lane/lane-concurrency-wait.ts +64 -0
- package/scripts/lane/lane-core-wait-stats.ts +13 -4
- package/scripts/lane/lane-implement-read-calls.ts +123 -0
- package/scripts/lane/lane-implement-read.ts +8 -3
- package/scripts/lane/lane-implement-stats.ts +33 -6
- package/scripts/lane/lane-ledger-schema-ship.ts +17 -3
- package/scripts/lane/lane-measure-cli.ts +5 -3
- package/scripts/lane/lane-plan-size.ts +1 -1
- package/scripts/lane/lane-size-record.ts +4 -3
- package/scripts/lane/lane-size-stats.ts +21 -9
- package/scripts/lane/lane-stats-request.ts +12 -3
- package/scripts/lane/lane-stats-tables.ts +30 -9
- package/scripts/lane/lane-stop-stats.ts +10 -1
- package/scripts/lane/lane-table-rows.ts +26 -0
- package/scripts/lib/timeouts.ts +4 -3
- package/scripts/registry-migration/migrate-lock.ts +40 -8
- package/scripts/registry-migration/migrate.ts +6 -3
- package/scripts/release/release-publish.ts +23 -3
- package/scripts/release/release-step-time.ts +61 -0
- package/scripts/review/disposition-batch-filing.ts +13 -0
- package/scripts/rules/git-argv.ts +10 -3
- package/scripts/run/board/run-board-closed-pace.ts +76 -0
- package/scripts/run/board/run-board-github.ts +17 -28
- package/scripts/run/board/run-board-labels.ts +5 -2
- package/scripts/run/board/run-board-reason.ts +10 -0
- package/scripts/run/entry/run-entry-sync.ts +17 -5
- package/scripts/run/hold/run-hold-cli.ts +8 -2
- package/scripts/run/merge/run-merge-health.ts +9 -2
- package/scripts/run/review/run-review-pinned-accepted.ts +24 -1
- package/scripts/run/run-preflight.ts +81 -17
- package/scripts/run/ship/run-ship-pre-detach-pinned.ts +14 -9
- package/scripts/run/ship/run-ship-pre-detach.ts +16 -7
- package/scripts/run/ship/run-ship-stop-cause.ts +13 -2
- package/scripts/run/ship/run-ship.ts +7 -1
- package/scripts/split/split-assess.ts +7 -22
- package/scripts/split/split-cap.ts +31 -0
- package/scripts/test/direct-importers.ts +46 -3
- package/scripts/test/lockfile-changed-packages.ts +155 -0
- package/scripts/test/package-version-only.ts +30 -0
- package/scripts/test/pure-files-entries.ts +1 -27
- package/scripts/test/test-related-scope.ts +30 -5
- package/scripts/test/test-related.ts +3 -3
- package/scripts/test/test-unit-guard.ts +9 -9
- package/scripts/test/unit-worker-share.ts +21 -0
- package/scripts/test/whole-suite-files.ts +23 -2
- package/scripts/test/whole-suite-narrowing.ts +108 -0
- package/dist/commands/chunk-26JL4UU4.js +0 -365
- package/dist/commands/chunk-2BC33QPY.js +0 -183
- package/dist/commands/chunk-2BIVHPCA.js +0 -85
- package/dist/commands/chunk-2CKJODCK.js +0 -245
- package/dist/commands/chunk-2CNVIA35.js +0 -335
- package/dist/commands/chunk-2E6PSONB.js +0 -46
- package/dist/commands/chunk-2GA4775H.js +0 -77
- package/dist/commands/chunk-2O64H5UJ.js +0 -462
- package/dist/commands/chunk-2OEXY4GM.js +0 -252
- package/dist/commands/chunk-2ONSHOAY.js +0 -46
- package/dist/commands/chunk-2SA3W4JF.js +0 -41
- package/dist/commands/chunk-2VY7CJ2R.js +0 -212
- package/dist/commands/chunk-2WRDAQPJ.js +0 -74
- package/dist/commands/chunk-2XLR7R6E.js +0 -541
- package/dist/commands/chunk-34JJYCIY.js +0 -117
- package/dist/commands/chunk-36XHHYNU.js +0 -158
- package/dist/commands/chunk-3CJNQU7P.js +0 -179
- package/dist/commands/chunk-3D5T6KMW.js +0 -59
- package/dist/commands/chunk-3EW5LTN3.js +0 -114
- package/dist/commands/chunk-3F3RNIG2.js +0 -128
- package/dist/commands/chunk-3FLTEJZY.js +0 -74
- package/dist/commands/chunk-3JWPTRNI.js +0 -60
- package/dist/commands/chunk-3LUPGBW4.js +0 -137
- package/dist/commands/chunk-3PCUERXE.js +0 -19
- package/dist/commands/chunk-3U6A5WON.js +0 -173
- package/dist/commands/chunk-3VLDFM5I.js +0 -426
- package/dist/commands/chunk-3YT3RCSI.js +0 -140
- package/dist/commands/chunk-43DU7DYZ.js +0 -540
- package/dist/commands/chunk-43H725LG.js +0 -132
- package/dist/commands/chunk-46STCE6Q.js +0 -48
- package/dist/commands/chunk-46WEC6HZ.js +0 -82
- package/dist/commands/chunk-47J4KOZP.js +0 -46
- package/dist/commands/chunk-47W7PF4T.js +0 -22
- package/dist/commands/chunk-4F4KARQN.js +0 -229
- package/dist/commands/chunk-4HB7NWXP.js +0 -263
- package/dist/commands/chunk-4I5AA4P5.js +0 -237
- package/dist/commands/chunk-4IDINPBE.js +0 -525
- package/dist/commands/chunk-4NSIW3UB.js +0 -104
- package/dist/commands/chunk-4YTKV6WV.js +0 -37
- package/dist/commands/chunk-5ARNFMQK.js +0 -1263
- package/dist/commands/chunk-5AZTSESD.js +0 -114
- package/dist/commands/chunk-5FUI2MLY.js +0 -89
- package/dist/commands/chunk-5IHEBIPD.js +0 -333
- package/dist/commands/chunk-5KAW5GPF.js +0 -44
- package/dist/commands/chunk-5KSJEWXR.js +0 -77
- package/dist/commands/chunk-5PCK53WP.js +0 -168
- package/dist/commands/chunk-5PPWXOCF.js +0 -64
- package/dist/commands/chunk-5Y7FOJLX.js +0 -186
- package/dist/commands/chunk-5YTEMF4O.js +0 -110
- package/dist/commands/chunk-6AHAY5VZ.js +0 -69
- package/dist/commands/chunk-6FN37DER.js +0 -330
- package/dist/commands/chunk-6JD4VNO4.js +0 -124
- package/dist/commands/chunk-6KUA7MRG.js +0 -64
- package/dist/commands/chunk-6LDEZFYR.js +0 -88
- package/dist/commands/chunk-6NXIZMIK.js +0 -122
- package/dist/commands/chunk-6O45F6YI.js +0 -86
- package/dist/commands/chunk-6OHJBQDE.js +0 -184
- package/dist/commands/chunk-6TIVDEKG.js +0 -34
- package/dist/commands/chunk-6WDCCG3M.js +0 -1249
- package/dist/commands/chunk-6ZHXEQAI.js +0 -715
- package/dist/commands/chunk-736NECRD.js +0 -16
- package/dist/commands/chunk-77LEKVEE.js +0 -32
- package/dist/commands/chunk-7DGHFBU7.js +0 -247
- package/dist/commands/chunk-7EAYFMDN.js +0 -235
- package/dist/commands/chunk-7HYYHCTN.js +0 -402
- package/dist/commands/chunk-7JOOMFDI.js +0 -155
- package/dist/commands/chunk-7K5ITPHR.js +0 -338
- package/dist/commands/chunk-7OEBSPPU.js +0 -321
- package/dist/commands/chunk-7ULYLGUK.js +0 -492
- package/dist/commands/chunk-A3JYZWBS.js +0 -803
- package/dist/commands/chunk-A3LCN4KA.js +0 -84
- package/dist/commands/chunk-ABLXBG6C.js +0 -98
- package/dist/commands/chunk-ABM2MZBF.js +0 -161
- package/dist/commands/chunk-AN7BFVHU.js +0 -244
- package/dist/commands/chunk-AQCVEQSM.js +0 -99
- package/dist/commands/chunk-AU563VKH.js +0 -75
- package/dist/commands/chunk-AUTD5FV2.js +0 -1077
- package/dist/commands/chunk-AV26CMY6.js +0 -304
- package/dist/commands/chunk-B2PJEV3S.js +0 -246
- package/dist/commands/chunk-B545ENGY.js +0 -214
- package/dist/commands/chunk-B5HP6T4L.js +0 -170
- package/dist/commands/chunk-B73IIRMS.js +0 -207
- package/dist/commands/chunk-BBLEC4YQ.js +0 -109
- package/dist/commands/chunk-BDSG6JKH.js +0 -977
- package/dist/commands/chunk-BFKTUD3V.js +0 -33
- package/dist/commands/chunk-BLRXHK2V.js +0 -17
- package/dist/commands/chunk-BML6MEUB.js +0 -326
- package/dist/commands/chunk-BMM4RHCG.js +0 -69
- package/dist/commands/chunk-BPDNGJXY.js +0 -63
- package/dist/commands/chunk-BQLKWGGC.js +0 -118
- package/dist/commands/chunk-BRMJVCP7.js +0 -167
- package/dist/commands/chunk-BRWR5YKU.js +0 -268
- package/dist/commands/chunk-BUZAYEBD.js +0 -319
- package/dist/commands/chunk-C7FGDZWP.js +0 -224
- package/dist/commands/chunk-CC4BIGCA.js +0 -20
- package/dist/commands/chunk-CCHJZEF5.js +0 -4220
- package/dist/commands/chunk-CDK7QZWG.js +0 -44
- package/dist/commands/chunk-CDYFUCDC.js +0 -72
- package/dist/commands/chunk-CEADAQIL.js +0 -170
- package/dist/commands/chunk-CNL3SLM6.js +0 -116
- package/dist/commands/chunk-CNQ7D2GZ.js +0 -104
- package/dist/commands/chunk-COGKULQH.js +0 -119
- package/dist/commands/chunk-CQUZ6TNQ.js +0 -120
- package/dist/commands/chunk-CTXJVMHW.js +0 -48
- package/dist/commands/chunk-CUWT6UQO.js +0 -13
- package/dist/commands/chunk-D6CF5QGM.js +0 -80
- package/dist/commands/chunk-DACNQAXC.js +0 -20
- package/dist/commands/chunk-DDOS32JU.js +0 -74
- package/dist/commands/chunk-DF6QD4AF.js +0 -52
- package/dist/commands/chunk-DFEXNB44.js +0 -159
- package/dist/commands/chunk-DHDKG5HZ.js +0 -151
- package/dist/commands/chunk-DHJRFBKO.js +0 -223
- package/dist/commands/chunk-DKO5VTEH.js +0 -65
- package/dist/commands/chunk-DLHH3MLS.js +0 -85
- package/dist/commands/chunk-DOYNK72G.js +0 -81
- package/dist/commands/chunk-DS53UUDH.js +0 -679
- package/dist/commands/chunk-DUA4E4ES.js +0 -230
- package/dist/commands/chunk-DVCMQMRN.js +0 -191
- package/dist/commands/chunk-E3YKMCCJ.js +0 -108
- package/dist/commands/chunk-E4F2RTKC.js +0 -272
- package/dist/commands/chunk-E4PFCTXN.js +0 -127
- package/dist/commands/chunk-EAOTR2WL.js +0 -24
- package/dist/commands/chunk-EHPTXSAT.js +0 -315
- package/dist/commands/chunk-EHVEWJQ4.js +0 -33
- package/dist/commands/chunk-EMFSPPMH.js +0 -98
- package/dist/commands/chunk-EPICTV2P.js +0 -46
- package/dist/commands/chunk-ES42XPAD.js +0 -123
- package/dist/commands/chunk-ESUY7KTZ.js +0 -137
- package/dist/commands/chunk-EVVQJJFV.js +0 -507
- package/dist/commands/chunk-EWXXEGXL.js +0 -149
- package/dist/commands/chunk-F2U46HAE.js +0 -52
- package/dist/commands/chunk-F2VYWU6Z.js +0 -653
- package/dist/commands/chunk-F4SGOTUF.js +0 -36
- package/dist/commands/chunk-F4YMLVWN.js +0 -183
- package/dist/commands/chunk-F57LACNC.js +0 -84
- package/dist/commands/chunk-F5N2QIFD.js +0 -213
- package/dist/commands/chunk-FA7CN75F.js +0 -160
- package/dist/commands/chunk-FDASVHZD.js +0 -241
- package/dist/commands/chunk-FEYZ575X.js +0 -278
- package/dist/commands/chunk-FJM2HWKW.js +0 -299
- package/dist/commands/chunk-FJMXUDEY.js +0 -3985
- package/dist/commands/chunk-FM7VVAK6.js +0 -426
- package/dist/commands/chunk-FQWRM5FC.js +0 -67
- package/dist/commands/chunk-FT33ZCSB.js +0 -298
- package/dist/commands/chunk-FTAWHAI7.js +0 -170
- package/dist/commands/chunk-G2DNS74C.js +0 -53
- package/dist/commands/chunk-G3BBCAAH.js +0 -90
- package/dist/commands/chunk-G6BXCWPH.js +0 -141
- package/dist/commands/chunk-GABDPTDK.js +0 -907
- package/dist/commands/chunk-GAVSK6P6.js +0 -230
- package/dist/commands/chunk-GB2BRQVL.js +0 -300
- package/dist/commands/chunk-GBMZXFFC.js +0 -44
- package/dist/commands/chunk-GGWXF7RJ.js +0 -70
- package/dist/commands/chunk-GHOTKHI4.js +0 -30
- package/dist/commands/chunk-GMVN6ZP2.js +0 -48
- package/dist/commands/chunk-GNTTGRCX.js +0 -133
- package/dist/commands/chunk-GOY5JECO.js +0 -130
- package/dist/commands/chunk-GZL6ISVM.js +0 -72
- package/dist/commands/chunk-HALHQILI.js +0 -51
- package/dist/commands/chunk-HAT7AFBF.js +0 -85
- package/dist/commands/chunk-HDVSZ6CZ.js +0 -292
- package/dist/commands/chunk-HE3GOMR7.js +0 -88
- package/dist/commands/chunk-HEFUC4ZW.js +0 -65
- package/dist/commands/chunk-HHS3LYLV.js +0 -30
- package/dist/commands/chunk-HQSWPRUF.js +0 -61
- package/dist/commands/chunk-HQZ65PJE.js +0 -167
- package/dist/commands/chunk-HRN73FQJ.js +0 -77
- package/dist/commands/chunk-HSZECERZ.js +0 -271
- package/dist/commands/chunk-HYE3MBAN.js +0 -113
- package/dist/commands/chunk-IAB6LCJL.js +0 -18
- package/dist/commands/chunk-IAGENI2U.js +0 -42
- package/dist/commands/chunk-ICPVBHIX.js +0 -48
- package/dist/commands/chunk-ILIITIMQ.js +0 -126
- package/dist/commands/chunk-IONGJJYM.js +0 -179
- package/dist/commands/chunk-IP23WOWP.js +0 -126
- package/dist/commands/chunk-IPS7EBE5.js +0 -140
- package/dist/commands/chunk-IXZZSST7.js +0 -459
- package/dist/commands/chunk-IY3DSDRW.js +0 -173
- package/dist/commands/chunk-J2RUI4KN.js +0 -47
- package/dist/commands/chunk-J3PCRUVY.js +0 -1223
- package/dist/commands/chunk-J4XHEOOW.js +0 -156
- package/dist/commands/chunk-JDHLHYJJ.js +0 -208
- package/dist/commands/chunk-JGX7JIW4.js +0 -126
- package/dist/commands/chunk-JHIGDFBS.js +0 -59
- package/dist/commands/chunk-JI2EGXZX.js +0 -53
- package/dist/commands/chunk-JNV3VRK2.js +0 -47
- package/dist/commands/chunk-JPMAW2VZ.js +0 -91
- package/dist/commands/chunk-JQEY6KDP.js +0 -90
- package/dist/commands/chunk-JSJDIEGZ.js +0 -88
- package/dist/commands/chunk-JT5ICRFF.js +0 -44
- package/dist/commands/chunk-JU2MAYQ3.js +0 -997
- package/dist/commands/chunk-JUCJ4Y42.js +0 -77
- package/dist/commands/chunk-JZK33TA5.js +0 -99
- package/dist/commands/chunk-K3OZBV3L.js +0 -49
- package/dist/commands/chunk-K6P5PISC.js +0 -114
- package/dist/commands/chunk-KDCHY7XO.js +0 -88
- package/dist/commands/chunk-KDGX3JTV.js +0 -51
- package/dist/commands/chunk-KGSEWOKI.js +0 -353
- package/dist/commands/chunk-KIS7JFNP.js +0 -217
- package/dist/commands/chunk-KJPZPTS4.js +0 -245
- package/dist/commands/chunk-KKHD3C2P.js +0 -114
- package/dist/commands/chunk-KKIIY5I5.js +0 -67
- package/dist/commands/chunk-KN46UC77.js +0 -114
- package/dist/commands/chunk-KP2BVAS5.js +0 -125
- package/dist/commands/chunk-KPAJBJXG.js +0 -63
- package/dist/commands/chunk-KPMAJP6D.js +0 -145
- package/dist/commands/chunk-KR6WUAJM.js +0 -122
- package/dist/commands/chunk-KWLNK2NJ.js +0 -391
- package/dist/commands/chunk-KXK2A2HB.js +0 -158
- package/dist/commands/chunk-L2CLCNXW.js +0 -144
- package/dist/commands/chunk-L7MDU6D7.js +0 -155
- package/dist/commands/chunk-L7VD4MLF.js +0 -78
- package/dist/commands/chunk-LBVYFW3I.js +0 -38
- package/dist/commands/chunk-LIPUSINQ.js +0 -140
- package/dist/commands/chunk-LJVZWE3A.js +0 -1885
- package/dist/commands/chunk-LKSSQVDA.js +0 -49
- package/dist/commands/chunk-LNQOL2CL.js +0 -321
- package/dist/commands/chunk-LS7P324N.js +0 -72
- package/dist/commands/chunk-LU5EOGFQ.js +0 -50
- package/dist/commands/chunk-LX2ENXHZ.js +0 -197
- package/dist/commands/chunk-M3UGRNNB.js +0 -103
- package/dist/commands/chunk-M3ZDYCUF.js +0 -117
- package/dist/commands/chunk-MDGPJOLK.js +0 -351
- package/dist/commands/chunk-MDKRTUE4.js +0 -288
- package/dist/commands/chunk-MFZVRWRS.js +0 -34
- package/dist/commands/chunk-MHF6BDQI.js +0 -128
- package/dist/commands/chunk-MLJDW7YN.js +0 -64
- package/dist/commands/chunk-MNLHYAJO.js +0 -80
- package/dist/commands/chunk-MOD3FG4V.js +0 -419
- package/dist/commands/chunk-MRAEJLXL.js +0 -83
- package/dist/commands/chunk-MRW2WYJS.js +0 -68
- package/dist/commands/chunk-N2XH7QBY.js +0 -103
- package/dist/commands/chunk-N2ZF6T4E.js +0 -332
- package/dist/commands/chunk-N36NZMAL.js +0 -79
- package/dist/commands/chunk-N4EMFHQ6.js +0 -114
- package/dist/commands/chunk-N4P64UIH.js +0 -211
- package/dist/commands/chunk-NABSSY4P.js +0 -204
- package/dist/commands/chunk-NDQIJBRQ.js +0 -100
- package/dist/commands/chunk-NDR4PCVG.js +0 -29
- package/dist/commands/chunk-NEOCCN6D.js +0 -302
- package/dist/commands/chunk-NFKWFOFM.js +0 -45
- package/dist/commands/chunk-NFUPJBBG.js +0 -516
- package/dist/commands/chunk-NHEBKL7X.js +0 -170
- package/dist/commands/chunk-NHTEC5U4.js +0 -99
- package/dist/commands/chunk-NOSODWWK.js +0 -1132
- package/dist/commands/chunk-NPXXYG6Z.js +0 -580
- package/dist/commands/chunk-NR2JDBPV.js +0 -75
- package/dist/commands/chunk-NRULNBYI.js +0 -1153
- package/dist/commands/chunk-NTGF5N3N.js +0 -110
- package/dist/commands/chunk-NTIVNQKF.js +0 -73
- package/dist/commands/chunk-NUCFIYZL.js +0 -119
- package/dist/commands/chunk-NVMV7BYX.js +0 -88
- package/dist/commands/chunk-NYWPTYGL.js +0 -169
- package/dist/commands/chunk-O45BX4EL.js +0 -39
- package/dist/commands/chunk-O46T4ANI.js +0 -229
- package/dist/commands/chunk-O7ESC4HL.js +0 -566
- package/dist/commands/chunk-OBYLXHCH.js +0 -86
- package/dist/commands/chunk-OHN3QARP.js +0 -769
- package/dist/commands/chunk-OKBZGLD5.js +0 -393
- package/dist/commands/chunk-OKN63ZH5.js +0 -109
- package/dist/commands/chunk-ON4IKRGS.js +0 -469
- package/dist/commands/chunk-OT74RSQO.js +0 -82
- package/dist/commands/chunk-OVCVINYW.js +0 -143
- package/dist/commands/chunk-OZKLVTYI.js +0 -342
- package/dist/commands/chunk-OZN4HOZT.js +0 -74
- package/dist/commands/chunk-P3LJ2Q4N.js +0 -555
- package/dist/commands/chunk-P43GWYR6.js +0 -185
- package/dist/commands/chunk-P6ASP2DY.js +0 -132
- package/dist/commands/chunk-PBAEJ5PT.js +0 -38
- package/dist/commands/chunk-PCZROH3R.js +0 -100
- package/dist/commands/chunk-PJYTUUTH.js +0 -34
- package/dist/commands/chunk-PKXTISWR.js +0 -58
- package/dist/commands/chunk-PSGLUBSB.js +0 -74
- package/dist/commands/chunk-PVRDJU2B.js +0 -126
- package/dist/commands/chunk-Q42NF2TL.js +0 -47
- package/dist/commands/chunk-Q4ULMZAS.js +0 -106
- package/dist/commands/chunk-QCRUPRQ2.js +0 -207
- package/dist/commands/chunk-QGATHT4S.js +0 -114
- package/dist/commands/chunk-QKTTKAXM.js +0 -119
- package/dist/commands/chunk-QSBYULSS.js +0 -100
- package/dist/commands/chunk-QSJCZATC.js +0 -18
- package/dist/commands/chunk-QTJPCXEW.js +0 -23
- package/dist/commands/chunk-QTQAI2M2.js +0 -179
- package/dist/commands/chunk-QTVVFV4Q.js +0 -127
- package/dist/commands/chunk-QVOFWFWC.js +0 -134
- package/dist/commands/chunk-QX2EMUXV.js +0 -102
- package/dist/commands/chunk-QXBOECGL.js +0 -272
- package/dist/commands/chunk-QXCG3SG4.js +0 -88
- package/dist/commands/chunk-QZVMGAWV.js +0 -307
- package/dist/commands/chunk-R2THGPI3.js +0 -99
- package/dist/commands/chunk-R36VZIKU.js +0 -53
- package/dist/commands/chunk-R3F7F3TX.js +0 -94
- package/dist/commands/chunk-R5AABJZJ.js +0 -1062
- package/dist/commands/chunk-R7PYR4HW.js +0 -389
- package/dist/commands/chunk-RAQ3E6OT.js +0 -258
- package/dist/commands/chunk-RESNXNDG.js +0 -54
- package/dist/commands/chunk-RFIOZTXY.js +0 -305
- package/dist/commands/chunk-RFWB2KAV.js +0 -102
- package/dist/commands/chunk-RFXON3FK.js +0 -25
- package/dist/commands/chunk-RGEB5L37.js +0 -66
- package/dist/commands/chunk-RGRLLF2J.js +0 -119
- package/dist/commands/chunk-RLRIMYXM.js +0 -178
- package/dist/commands/chunk-RNB3DQOZ.js +0 -70
- package/dist/commands/chunk-RO4QEZJO.js +0 -172
- package/dist/commands/chunk-RS5HBJY6.js +0 -161
- package/dist/commands/chunk-RV7EQIE4.js +0 -202
- package/dist/commands/chunk-RWPCK3CO.js +0 -41
- package/dist/commands/chunk-RWYSVFIA.js +0 -250
- package/dist/commands/chunk-RYKK75YT.js +0 -289
- package/dist/commands/chunk-S4JE63QE.js +0 -704
- package/dist/commands/chunk-S5GX3H4P.js +0 -91
- package/dist/commands/chunk-SC57VV6A.js +0 -60
- package/dist/commands/chunk-SD4EX75H.js +0 -177
- package/dist/commands/chunk-SJITWFNY.js +0 -480
- package/dist/commands/chunk-SKGDMAIA.js +0 -33
- package/dist/commands/chunk-SNSZ25XZ.js +0 -393
- package/dist/commands/chunk-SOETJZWH.js +0 -7672
- package/dist/commands/chunk-SQZZHK6X.js +0 -119
- package/dist/commands/chunk-SRG6PKVS.js +0 -49
- package/dist/commands/chunk-SRTEE34O.js +0 -93
- package/dist/commands/chunk-SVTS7ACS.js +0 -18
- package/dist/commands/chunk-SYTCTLMD.js +0 -285
- package/dist/commands/chunk-T6JUDQMW.js +0 -181
- package/dist/commands/chunk-TEXUEBGE.js +0 -208
- package/dist/commands/chunk-TFDVTU6O.js +0 -910
- package/dist/commands/chunk-TFYYXETQ.js +0 -472
- package/dist/commands/chunk-TMFKVJUW.js +0 -121
- package/dist/commands/chunk-TRHWBUWE.js +0 -61
- package/dist/commands/chunk-TROCFVCU.js +0 -45
- package/dist/commands/chunk-TUBBESHU.js +0 -85
- package/dist/commands/chunk-TVZIFZZN.js +0 -62
- package/dist/commands/chunk-TXRWAL63.js +0 -144
- package/dist/commands/chunk-U46YTYJQ.js +0 -92
- package/dist/commands/chunk-U5EO4QEV.js +0 -48
- package/dist/commands/chunk-U7Y6RKLK.js +0 -168
- package/dist/commands/chunk-UCO333EX.js +0 -47
- package/dist/commands/chunk-UIXQ4IYT.js +0 -445
- package/dist/commands/chunk-UJGNYPMD.js +0 -716
- package/dist/commands/chunk-UREXZJDB.js +0 -210
- package/dist/commands/chunk-URZ4RDC4.js +0 -220
- package/dist/commands/chunk-UUA63LCI.js +0 -77
- package/dist/commands/chunk-UVY5ODCM.js +0 -60
- package/dist/commands/chunk-UWMB6EOU.js +0 -45
- package/dist/commands/chunk-UY62WJV6.js +0 -120
- package/dist/commands/chunk-UZDKCGDC.js +0 -198
- package/dist/commands/chunk-VAHQ4AFM.js +0 -585
- package/dist/commands/chunk-VL5I2IOD.js +0 -332
- package/dist/commands/chunk-VMG3QB6C.js +0 -81
- package/dist/commands/chunk-VO25PMGS.js +0 -58
- package/dist/commands/chunk-VPRQFM2T.js +0 -37
- package/dist/commands/chunk-VTLWODJ2.js +0 -133
- package/dist/commands/chunk-VUCDGQ6Y.js +0 -260
- package/dist/commands/chunk-VY7ZJMDT.js +0 -469
- package/dist/commands/chunk-W4BR6QNU.js +0 -1241
- package/dist/commands/chunk-W7X7MZZN.js +0 -449
- package/dist/commands/chunk-WCYRNNKF.js +0 -76
- package/dist/commands/chunk-WEUUJIWQ.js +0 -84
- package/dist/commands/chunk-WNBJK6QE.js +0 -84
- package/dist/commands/chunk-WORHUJ6T.js +0 -73
- package/dist/commands/chunk-WR5PKCQW.js +0 -61
- package/dist/commands/chunk-WR73HTRG.js +0 -121
- package/dist/commands/chunk-WRNMUQTD.js +0 -95
- package/dist/commands/chunk-WROJTXWZ.js +0 -138
- package/dist/commands/chunk-WTIPX5NG.js +0 -43
- package/dist/commands/chunk-WWLCQREY.js +0 -225
- package/dist/commands/chunk-WXLW7S4M.js +0 -71
- package/dist/commands/chunk-WXXLJQBO.js +0 -67
- package/dist/commands/chunk-X4LYH6Q4.js +0 -56
- package/dist/commands/chunk-XAEL24EG.js +0 -66
- package/dist/commands/chunk-XI2ABCRX.js +0 -209
- package/dist/commands/chunk-XRQMVAB4.js +0 -85
- package/dist/commands/chunk-XUXCFPDK.js +0 -218
- package/dist/commands/chunk-XZQWEVR3.js +0 -84
- package/dist/commands/chunk-Y6OGDG5I.js +0 -49
- package/dist/commands/chunk-YANDBVAT.js +0 -430
- package/dist/commands/chunk-YD7XK2TX.js +0 -550
- package/dist/commands/chunk-YEAE46TS.js +0 -98
- package/dist/commands/chunk-YEQFAEVW.js +0 -112
- package/dist/commands/chunk-YJZAD4Z5.js +0 -103
- package/dist/commands/chunk-YNCF66RK.js +0 -1052
- package/dist/commands/chunk-YOA25SII.js +0 -210
- package/dist/commands/chunk-YOZTZMAT.js +0 -38
- package/dist/commands/chunk-YSGRHVZG.js +0 -897
- package/dist/commands/chunk-YSLGWRQN.js +0 -646
- package/dist/commands/chunk-YT5JR2CB.js +0 -105
- package/dist/commands/chunk-YTXCLGGL.js +0 -168
- package/dist/commands/chunk-YVHJN2HS.js +0 -74
- package/dist/commands/chunk-YY7XVVSB.js +0 -43
- package/dist/commands/chunk-Z2NUK47W.js +0 -1314
- package/dist/commands/chunk-Z5GZV4DV.js +0 -16
- package/dist/commands/chunk-ZB52ZIEA.js +0 -1629
- package/dist/commands/chunk-ZCD4AV2P.js +0 -73
- package/dist/commands/chunk-ZCHZU6NX.js +0 -799
- package/dist/commands/chunk-ZEH2B3DF.js +0 -239
- package/dist/commands/chunk-ZGANVZCA.js +0 -92
- package/dist/commands/chunk-ZGEUWHFF.js +0 -297
- package/dist/commands/chunk-ZHSNQ2F7.js +0 -161
- package/dist/commands/chunk-ZI3SABMH.js +0 -347
- package/dist/commands/chunk-ZIIUBGON.js +0 -773
- package/dist/commands/chunk-ZJJLROJY.js +0 -269
- package/dist/commands/chunk-ZNIIA275.js +0 -59
- package/dist/commands/chunk-ZV6BZZJ2.js +0 -271
- package/dist/commands/run-ship-lap-W66LTXJJ.js +0 -28
- package/dist/commands/test-related-XBDH2IOH.js +0 -113
- package/dist/commands/unused-members-KVKZDTXD.js +0 -329
- package/dist/hooks/chunk-3SA3FIQC.js +0 -6869
- package/dist/hooks/chunk-46PTTMGE.js +0 -1625
- package/dist/hooks/chunk-5NIBRHWG.js +0 -77
- package/dist/hooks/chunk-76QKN2K3.js +0 -258
- package/dist/hooks/chunk-CHEKMGFP.js +0 -321
- package/dist/hooks/chunk-CY3ADSDR.js +0 -28580
- package/dist/hooks/chunk-DCILEVDR.js +0 -5173
- package/dist/hooks/chunk-HVNGIM5W.js +0 -5092
- package/dist/hooks/chunk-L6IZZ2IL.js +0 -11219
- package/dist/hooks/chunk-SAAPRHTK.js +0 -43
- package/dist/hooks/chunk-U3ON2GBN.js +0 -12
- package/dist/hooks/chunk-UZXMFOVK.js +0 -9170
- package/dist/hooks/chunk-WCJ2GWYJ.js +0 -1381
- package/dist/hooks/chunk-YEURBB4L.js +0 -32
- package/dist/hooks/chunk-YRKS5ZKE.js +0 -1915
- package/dist/hooks/run-ship-lap-P5555IG7.js +0 -8
|
@@ -8,6 +8,7 @@ import { is_blocked_cause } from '#scripts/gh/git-pr-checks-missing'
|
|
|
8
8
|
import { NO_CHECKS_MESSAGE } from '#scripts/gh/git-pr-checks-watch'
|
|
9
9
|
import { git_error } from '#scripts/git/git-error'
|
|
10
10
|
import type { StopRecord } from '#scripts/lane/lane-ledger-schema'
|
|
11
|
+
import type { UnpinnedStop } from '#scripts/lane/lane-ledger-schema-ship'
|
|
11
12
|
import { run_ship_review, type StopFinding } from './run-ship-review'
|
|
12
13
|
import { run_ship_stage, type Stage } from './run-ship-stage'
|
|
13
14
|
|
|
@@ -89,6 +90,8 @@ interface StoppedOutput {
|
|
|
89
90
|
out?: string
|
|
90
91
|
conflicts?: ReadonlyArray<string>
|
|
91
92
|
preconditions?: ReadonlyArray<string>
|
|
93
|
+
// The path an `unpinned` precondition's stop took (joshuafolkken/kit#7552).
|
|
94
|
+
unpinned?: UnpinnedStop
|
|
92
95
|
cause?: Cause
|
|
93
96
|
}
|
|
94
97
|
|
|
@@ -191,12 +194,20 @@ function details_of(stage: Stage, failed: StoppedOutput = NO_OUTPUT): ReadonlyAr
|
|
|
191
194
|
return run_ship_review.blocking_details(failed.body)
|
|
192
195
|
}
|
|
193
196
|
|
|
197
|
+
// A preflight stop's unmet preconditions and the path its `unpinned` one took (joshuafolkken/kit#7552).
|
|
198
|
+
function preflight_of({ preconditions, unpinned }: StoppedOutput): Partial<StopRecord> {
|
|
199
|
+
return {
|
|
200
|
+
...(preconditions !== undefined && { preconditions: [...preconditions] }),
|
|
201
|
+
...(unpinned !== undefined && { unpinned }),
|
|
202
|
+
}
|
|
203
|
+
}
|
|
204
|
+
|
|
194
205
|
// The lane ledger's record of one stop — the stage, its cause and, for a preflight, which
|
|
195
206
|
// preconditions were unmet, so `lane:stats` counts the one worth meeting before a ship
|
|
196
207
|
// (joshuafolkken/kit#4166); for a review, which kinds of finding stopped it (joshuafolkken/kit#4426);
|
|
197
208
|
// for a followup red on a check, which checks failed (joshuafolkken/kit#7333).
|
|
198
209
|
function record_of(issue: number, stage: Stage, failed: StoppedOutput = NO_OUTPUT): StopRecord {
|
|
199
|
-
const { body, conflicts
|
|
210
|
+
const { body, conflicts } = failed
|
|
200
211
|
const cause = cause_of(stage, failed)
|
|
201
212
|
const findings = findings_of(stage, cause, body)
|
|
202
213
|
const checks = checks_of(stage, cause, body)
|
|
@@ -205,7 +216,7 @@ function record_of(issue: number, stage: Stage, failed: StoppedOutput = NO_OUTPU
|
|
|
205
216
|
issue,
|
|
206
217
|
reason: run_ship_stage.stop_reason(stage, conflicts),
|
|
207
218
|
cause,
|
|
208
|
-
...(
|
|
219
|
+
...preflight_of(failed),
|
|
209
220
|
...(findings.length > 0 && { findings: [...findings] }),
|
|
210
221
|
...(checks.length > 0 && { checks: [...checks] }),
|
|
211
222
|
}
|
|
@@ -9,6 +9,7 @@
|
|
|
9
9
|
// `run:tail`, ship stops at the first failed step: a red gate must never reach the commit, so the
|
|
10
10
|
// composite ends at the failure, and the report names the step that failed so the run reads only it.
|
|
11
11
|
|
|
12
|
+
import type { UnpinnedStop } from '#scripts/lane/lane-ledger-schema-ship'
|
|
12
13
|
import { run_section, type Section } from '#scripts/run/run-section'
|
|
13
14
|
import { run_tail } from '#scripts/run/run-tail'
|
|
14
15
|
import type { PreDetachResult } from './run-ship-pre-detach'
|
|
@@ -36,6 +37,8 @@ type ShipSection = Section & {
|
|
|
36
37
|
conflicts?: ReadonlyArray<string>
|
|
37
38
|
// The kinds of the preconditions a stopped preflight found unmet, recorded with the stop.
|
|
38
39
|
preconditions?: ReadonlyArray<string>
|
|
40
|
+
// The path an `unpinned` precondition's stop took, recorded with the stop (joshuafolkken/kit#7552).
|
|
41
|
+
unpinned?: UnpinnedStop
|
|
39
42
|
// The cause a stopped review round tagged its stop with, recorded with the stop.
|
|
40
43
|
cause?: Cause
|
|
41
44
|
// The stage found nothing to do, and why it ran or was skipped — both read onto its event line.
|
|
@@ -89,13 +92,16 @@ function format_report(sections: ReadonlyArray<ShipSection>): string {
|
|
|
89
92
|
return `${body}${run_section.SECTION_SEPARATOR}${STOPPED_PREFIX}${failed.header}`
|
|
90
93
|
}
|
|
91
94
|
|
|
92
|
-
// Preserve the preflight refusal and add any failed pre-detach check kinds
|
|
95
|
+
// Preserve the preflight refusal and add any failed pre-detach check kinds, and the path an `unpinned`
|
|
96
|
+
// one took, to its stop record.
|
|
93
97
|
function with_checks(stop: ShipSection, checks: PreDetachResult): ShipSection {
|
|
94
98
|
if (checks.code === run_section.SUCCESS_EXIT_CODE) return stop
|
|
99
|
+
const { unpinned } = checks
|
|
95
100
|
|
|
96
101
|
return {
|
|
97
102
|
...stop,
|
|
98
103
|
preconditions: [...(stop.preconditions ?? []), ...(checks.preconditions ?? [])],
|
|
104
|
+
...(unpinned !== undefined && { unpinned }),
|
|
99
105
|
}
|
|
100
106
|
}
|
|
101
107
|
|
|
@@ -6,6 +6,7 @@ import { lane_implement_rate, type ImplementRate } from '#scripts/lane/lane-impl
|
|
|
6
6
|
import type { SizeRatios } from '#scripts/lane/lane-size-stats'
|
|
7
7
|
import { test_declared_logic } from '#scripts/test/test-declared-logic'
|
|
8
8
|
import { declared_growth } from './declared-growth'
|
|
9
|
+
import { split_cap } from './split-cap'
|
|
9
10
|
|
|
10
11
|
// The size half of the split assessment, measured rather than estimated.
|
|
11
12
|
//
|
|
@@ -46,23 +47,8 @@ interface SplitGuide extends DeclaredSize {
|
|
|
46
47
|
growth?: SizeRatios
|
|
47
48
|
}
|
|
48
49
|
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
// once a lane estimated at 6 files / 250 lines merged at about 23 files / 390 lines (joshuafolkken/kit#5384).
|
|
52
|
-
const FILE_GUIDE = 8
|
|
53
|
-
const LINE_GUIDE = 200
|
|
54
|
-
// The cap, one and a half times the guide: past it a declared reason no longer keeps an Issue as one. A
|
|
55
|
-
// lane declared past it with a reason overran both its time budget and its declared files by far
|
|
56
|
-
// (joshuafolkken/kit#5502). Lowered from 3 once the projected implement time became the main bar — the
|
|
57
|
-
// cap is the backstop where no rate is measured (joshuafolkken/kit#6066).
|
|
58
|
-
const CAP_FACTOR = 1.5
|
|
59
|
-
const FILE_CAP = FILE_GUIDE * CAP_FACTOR
|
|
60
|
-
const LINE_CAP = LINE_GUIDE * CAP_FACTOR
|
|
61
|
-
const DEFAULT_GUIDE: SplitGuide = {
|
|
62
|
-
files: FILE_GUIDE,
|
|
63
|
-
lines: LINE_GUIDE,
|
|
64
|
-
cap: { files: FILE_CAP, lines: LINE_CAP },
|
|
65
|
-
}
|
|
50
|
+
const { CAP_FACTOR, DEFAULT_CAP, FILE_CAP, FILE_GUIDE, LINE_CAP, LINE_GUIDE } = split_cap
|
|
51
|
+
const DEFAULT_GUIDE: SplitGuide = { files: FILE_GUIDE, lines: LINE_GUIDE, cap: DEFAULT_CAP }
|
|
66
52
|
|
|
67
53
|
// Keep fractional thresholds: rounding would change the budget's strict comparison boundary.
|
|
68
54
|
function guide_for(minutes: number, measured?: ImplementRate, growth?: SizeRatios): SplitGuide {
|
|
@@ -190,9 +176,8 @@ function verdict_for(
|
|
|
190
176
|
return files > guide.files || lines > guide.lines ? SPLIT_VERDICT : SINGLE_VERDICT
|
|
191
177
|
}
|
|
192
178
|
|
|
193
|
-
// Strictly greater than, as the guide is: the cap itself still runs as one Issue.
|
|
194
179
|
function is_over_cap(files: number, lines: number, guide: SplitGuide = DEFAULT_GUIDE): boolean {
|
|
195
|
-
return
|
|
180
|
+
return split_cap.is_over(files, lines, guide.cap)
|
|
196
181
|
}
|
|
197
182
|
|
|
198
183
|
// `added` lists the files the branch adds, so a new module and its importer count as one file.
|
|
@@ -292,11 +277,11 @@ const NOTICE_SECTION = 'Over the guide before the gate'
|
|
|
292
277
|
const QUESTION_SECTION = 'The question'
|
|
293
278
|
// The filing's reason line (`size_estimate`); it does not answer a later split notice.
|
|
294
279
|
const REASON_PREFIX = issue_body_keys.prefix('no_split_reason')
|
|
295
|
-
const NOTICE_ACTION = `go on to the end; a started Issue is never split, and the merge records
|
|
280
|
+
const NOTICE_ACTION = `go on to the end; a started Issue is never split, and the merge records an overrun past the cap as a pre-split miss — split-assessment.md → "${NOTICE_SECTION}"`
|
|
296
281
|
|
|
297
282
|
// The notice for a diff past `notice_bar` on either axis — strictly greater than, as the guide is — and
|
|
298
|
-
// a diff at or under it gives none. A merge past
|
|
299
|
-
// (`lane-size-record.ts`, joshuafolkken/kit#
|
|
283
|
+
// a diff at or under it gives none. A merge past the cap, not this bar, is recorded as a pre-split
|
|
284
|
+
// miss (`lane-size-record.ts`, joshuafolkken/kit#7579); size alone never stops the run (joshuafolkken/kit#6602).
|
|
300
285
|
function notice(
|
|
301
286
|
measurement: SizeMeasurement,
|
|
302
287
|
declared?: DeclaredSize,
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
// The fallback split guide and its cap, with no imports so a `lane:stats` reader can apply the cap
|
|
2
|
+
// without the cycle `split-assess` → `lane-implement-rate` → `lane-size-stats` (joshuafolkken/kit#7579).
|
|
3
|
+
|
|
4
|
+
interface SplitCap {
|
|
5
|
+
files: number
|
|
6
|
+
lines: number
|
|
7
|
+
}
|
|
8
|
+
|
|
9
|
+
// The guide's single source: `split-assessment.md` states these once and a test pins the two equal.
|
|
10
|
+
// Strictly greater than: "more than" puts the bar above the number, not at it. Lowered from 10 / 400
|
|
11
|
+
// once a lane estimated at 6 files / 250 lines merged at about 23 files / 390 lines (joshuafolkken/kit#5384).
|
|
12
|
+
const FILE_GUIDE = 8
|
|
13
|
+
const LINE_GUIDE = 200
|
|
14
|
+
// The cap, one and a half times the guide: past it a declared reason no longer keeps an Issue as one. A
|
|
15
|
+
// lane declared past it with a reason overran both its time budget and its declared files by far
|
|
16
|
+
// (joshuafolkken/kit#5502). Lowered from 3 once the projected implement time became the main bar — the
|
|
17
|
+
// cap is the backstop where no rate is measured (joshuafolkken/kit#6066).
|
|
18
|
+
const CAP_FACTOR = 1.5
|
|
19
|
+
const FILE_CAP = FILE_GUIDE * CAP_FACTOR
|
|
20
|
+
const LINE_CAP = LINE_GUIDE * CAP_FACTOR
|
|
21
|
+
const DEFAULT_CAP: SplitCap = { files: FILE_CAP, lines: LINE_CAP }
|
|
22
|
+
|
|
23
|
+
// Strictly greater than, as the guide is: the cap itself still runs as one Issue.
|
|
24
|
+
function is_over(files: number, lines: number, cap: SplitCap = DEFAULT_CAP): boolean {
|
|
25
|
+
return files > cap.files || lines > cap.lines
|
|
26
|
+
}
|
|
27
|
+
|
|
28
|
+
const split_cap = { CAP_FACTOR, DEFAULT_CAP, FILE_CAP, FILE_GUIDE, LINE_CAP, LINE_GUIDE, is_over }
|
|
29
|
+
|
|
30
|
+
export { split_cap }
|
|
31
|
+
export type { SplitCap }
|
|
@@ -15,6 +15,9 @@ const PACKAGE_FILE = 'package.json'
|
|
|
15
15
|
const WILDCARD = '*'
|
|
16
16
|
const CURRENT_DIRECTORY_PREFIX = './'
|
|
17
17
|
const NUL = '\0'
|
|
18
|
+
const SCOPE_PREFIX = '@'
|
|
19
|
+
const SCOPED_SEGMENTS = 2
|
|
20
|
+
const NON_PACKAGE_PATTERN = /(?:^[.#/])|:/u
|
|
18
21
|
|
|
19
22
|
// The module specifiers a source names in a static or dynamic import, an export-from or a `vi.mock`.
|
|
20
23
|
const SPECIFIER_PATTERN = /(?:\bfrom\s+|\bimport\s*\(\s*|\bimport\s+|\bmock\(\s*)["']([^"']+)["']/gu
|
|
@@ -115,11 +118,18 @@ function source_reader(root: string): SourceReader {
|
|
|
115
118
|
return { imports: read_imports(root), read_source: (file) => read_source_at(root, file) }
|
|
116
119
|
}
|
|
117
120
|
|
|
118
|
-
// The
|
|
119
|
-
async function
|
|
121
|
+
// The files the work tree at `root` holds, tracked or not but not ignored, repository-relative.
|
|
122
|
+
async function work_tree_files(root: string): Promise<Array<string>> {
|
|
120
123
|
const listed = await git_spawn.read(['-C', root, 'ls-files', '-coz', '--exclude-standard'])
|
|
121
124
|
|
|
122
|
-
return listed.split(NUL).filter((file) =>
|
|
125
|
+
return listed.split(NUL).filter((file) => file !== '')
|
|
126
|
+
}
|
|
127
|
+
|
|
128
|
+
// The test files among them.
|
|
129
|
+
async function test_files(root: string): Promise<Array<string>> {
|
|
130
|
+
const files = await work_tree_files(root)
|
|
131
|
+
|
|
132
|
+
return files.filter((file) => test_declared_logic.is_test_file(file))
|
|
123
133
|
}
|
|
124
134
|
|
|
125
135
|
// The test files of `tests` importing `file` directly; an unreadable one imports nothing.
|
|
@@ -169,8 +179,41 @@ async function every_test_importers(
|
|
|
169
179
|
return await importers_of(root, every_test_imports_of(files))
|
|
170
180
|
}
|
|
171
181
|
|
|
182
|
+
// The package a bare specifier names — `name` or `@scope/name`, its subpath dropped — or `undefined`
|
|
183
|
+
// for a relative, `#` alias or `node:` specifier.
|
|
184
|
+
function package_of(specifier: string): string | undefined {
|
|
185
|
+
if (NON_PACKAGE_PATTERN.test(specifier)) return undefined
|
|
186
|
+
|
|
187
|
+
const segments = specifier.split(path.posix.sep)
|
|
188
|
+
|
|
189
|
+
const kept = specifier.startsWith(SCOPE_PREFIX) ? SCOPED_SEGMENTS : 1
|
|
190
|
+
|
|
191
|
+
return segments.slice(0, kept).join(path.posix.sep)
|
|
192
|
+
}
|
|
193
|
+
|
|
194
|
+
function imports_package(source: string, packages: ReadonlySet<string>): boolean {
|
|
195
|
+
return specifiers_of(source).some((specifier) => packages.has(package_of(specifier) ?? ''))
|
|
196
|
+
}
|
|
197
|
+
|
|
198
|
+
// The files of the work tree at `root` that `is_source` admits and whose text imports one of
|
|
199
|
+
// `packages` by its bare specifier (joshuafolkken/kit#7554) — what `vitest related` walks to the tests
|
|
200
|
+
// a lockfile change reaches.
|
|
201
|
+
async function package_importers(
|
|
202
|
+
root: string,
|
|
203
|
+
packages: ReadonlySet<string>,
|
|
204
|
+
is_source: (file: string) => boolean,
|
|
205
|
+
): Promise<Array<string>> {
|
|
206
|
+
if (packages.size === 0) return []
|
|
207
|
+
|
|
208
|
+
const files = await work_tree_files(root)
|
|
209
|
+
const sources = files.filter((file) => is_source(file))
|
|
210
|
+
|
|
211
|
+
return sources.filter((file) => imports_package(read_source_at(root, file) ?? '', packages))
|
|
212
|
+
}
|
|
213
|
+
|
|
172
214
|
const direct_importers = {
|
|
173
215
|
every_test_importers,
|
|
216
|
+
package_importers,
|
|
174
217
|
every_test_imports_of,
|
|
175
218
|
importers_of,
|
|
176
219
|
is_every_test_import,
|
|
@@ -0,0 +1,155 @@
|
|
|
1
|
+
import { isDeepStrictEqual } from 'node:util'
|
|
2
|
+
import { loadAll } from 'js-yaml'
|
|
3
|
+
import { z } from 'zod'
|
|
4
|
+
import { whole_suite_files } from './whole-suite-files'
|
|
5
|
+
|
|
6
|
+
// **`pnpm-lock.yaml` is a whole-suite file only for what moves every test** (joshuafolkken/kit#7554). A
|
|
7
|
+
// change resolving other versions of some packages reaches the modules importing them — and, through
|
|
8
|
+
// `vitest related`, their tests — rather than every test. The packages it moved are the entries of
|
|
9
|
+
// `packages` / `snapshots` that differ, with every package depending on one of them, however far. The
|
|
10
|
+
// whole suite still runs when either side cannot be read, when anything else moved — an importer's
|
|
11
|
+
// specifier or dependency, an override, a setting — or when a unit runtime package moved
|
|
12
|
+
// (`whole_suite_files.is_unit_runtime_package`).
|
|
13
|
+
|
|
14
|
+
const LOCKFILE_PATH = 'pnpm-lock.yaml'
|
|
15
|
+
const VERSION_KEY = 'version'
|
|
16
|
+
const SCOPE_PREFIX = '@'
|
|
17
|
+
const DEPENDENCY_GROUPS = ['dependencies', 'optionalDependencies'] as const
|
|
18
|
+
const RESOLUTION_KEYS: ReadonlySet<string> = new Set(['importers', 'packages', 'snapshots'])
|
|
19
|
+
|
|
20
|
+
const entries_schema = z.record(z.string(), z.unknown()).default({})
|
|
21
|
+
const document_schema = z.looseObject({
|
|
22
|
+
importers: entries_schema,
|
|
23
|
+
packages: entries_schema,
|
|
24
|
+
snapshots: entries_schema,
|
|
25
|
+
})
|
|
26
|
+
const snapshot_schema = z.looseObject({
|
|
27
|
+
dependencies: entries_schema,
|
|
28
|
+
optionalDependencies: entries_schema,
|
|
29
|
+
})
|
|
30
|
+
|
|
31
|
+
type LockfileDocument = z.infer<typeof document_schema>
|
|
32
|
+
type Entries = Readonly<Record<string, unknown>>
|
|
33
|
+
|
|
34
|
+
function documents_of(text: string): Array<LockfileDocument> | undefined {
|
|
35
|
+
try {
|
|
36
|
+
return loadAll(text).map((document) => document_schema.parse(document))
|
|
37
|
+
} catch {
|
|
38
|
+
return undefined
|
|
39
|
+
}
|
|
40
|
+
}
|
|
41
|
+
|
|
42
|
+
// A snapshot key carries the peer suffix (`name@1.0.0(peer@2.0.0)`); its package key does not.
|
|
43
|
+
function to_package_key(snapshot_key: string): string {
|
|
44
|
+
const peer_start = snapshot_key.indexOf('(', 1)
|
|
45
|
+
|
|
46
|
+
return peer_start === -1 ? snapshot_key : snapshot_key.slice(0, peer_start)
|
|
47
|
+
}
|
|
48
|
+
|
|
49
|
+
// `name@1.0.0(peer@2.0.0)` → `name`; a scoped name keeps its leading `@`.
|
|
50
|
+
function name_of(key: string): string {
|
|
51
|
+
const package_key = to_package_key(key)
|
|
52
|
+
const at = package_key.indexOf(SCOPE_PREFIX, 1)
|
|
53
|
+
|
|
54
|
+
return at === -1 ? package_key : package_key.slice(0, at)
|
|
55
|
+
}
|
|
56
|
+
|
|
57
|
+
function without_versions(value: unknown): unknown {
|
|
58
|
+
if (Array.isArray(value)) return value.map((item: unknown) => without_versions(item))
|
|
59
|
+
if (typeof value !== 'object' || value === null) return value
|
|
60
|
+
|
|
61
|
+
const kept = Object.entries(value).filter(([key]) => key !== VERSION_KEY)
|
|
62
|
+
|
|
63
|
+
return Object.fromEntries(kept.map(([key, item]) => [key, without_versions(item)]))
|
|
64
|
+
}
|
|
65
|
+
|
|
66
|
+
// What a document holds besides its resolutions: a change here is no resolution of other versions.
|
|
67
|
+
function skeleton_of(document: LockfileDocument): unknown {
|
|
68
|
+
const rest = Object.entries(document).filter(([key]) => !RESOLUTION_KEYS.has(key))
|
|
69
|
+
|
|
70
|
+
return { ...Object.fromEntries(rest), importers: without_versions(document.importers) }
|
|
71
|
+
}
|
|
72
|
+
|
|
73
|
+
function moved_keys(before: Entries, after: Entries): Array<string> {
|
|
74
|
+
const keys = new Set([...Object.keys(before), ...Object.keys(after)])
|
|
75
|
+
|
|
76
|
+
return [...keys].filter((key) => !isDeepStrictEqual(before[key], after[key]))
|
|
77
|
+
}
|
|
78
|
+
|
|
79
|
+
function dependency_names(snapshot: unknown): Array<string> {
|
|
80
|
+
const parsed = snapshot_schema.safeParse(snapshot ?? {})
|
|
81
|
+
if (!parsed.success) return []
|
|
82
|
+
|
|
83
|
+
return DEPENDENCY_GROUPS.flatMap((group) => Object.keys(parsed.data[group]))
|
|
84
|
+
}
|
|
85
|
+
|
|
86
|
+
// Each package name with the names of the packages depending on it.
|
|
87
|
+
function dependents_of(documents: ReadonlyArray<LockfileDocument>): Map<string, Set<string>> {
|
|
88
|
+
const dependents = new Map<string, Set<string>>()
|
|
89
|
+
const snapshots = documents.flatMap((document) => Object.entries(document.snapshots))
|
|
90
|
+
const edges = snapshots.flatMap(([key, snapshot]) =>
|
|
91
|
+
dependency_names(snapshot).map((name) => [name, name_of(key)] as const),
|
|
92
|
+
)
|
|
93
|
+
|
|
94
|
+
for (const [name, dependent] of edges) {
|
|
95
|
+
dependents.set(name, (dependents.get(name) ?? new Set()).add(dependent))
|
|
96
|
+
}
|
|
97
|
+
|
|
98
|
+
return dependents
|
|
99
|
+
}
|
|
100
|
+
|
|
101
|
+
function with_dependents(
|
|
102
|
+
moved: ReadonlyArray<string>,
|
|
103
|
+
dependents: ReadonlyMap<string, ReadonlySet<string>>,
|
|
104
|
+
): Set<string> {
|
|
105
|
+
const reached = new Set(moved)
|
|
106
|
+
const pending = [...reached]
|
|
107
|
+
|
|
108
|
+
for (let name = pending.pop(); name !== undefined; name = pending.pop()) {
|
|
109
|
+
const unseen = [...(dependents.get(name) ?? [])].filter((dependent) => !reached.has(dependent))
|
|
110
|
+
|
|
111
|
+
for (const dependent of unseen) reached.add(dependent)
|
|
112
|
+
pending.push(...unseen)
|
|
113
|
+
}
|
|
114
|
+
|
|
115
|
+
return reached
|
|
116
|
+
}
|
|
117
|
+
|
|
118
|
+
function moved_names(was: LockfileDocument, is: LockfileDocument): Array<string> {
|
|
119
|
+
return [...moved_keys(was.packages, is.packages), ...moved_keys(was.snapshots, is.snapshots)].map(
|
|
120
|
+
(key) => name_of(key),
|
|
121
|
+
)
|
|
122
|
+
}
|
|
123
|
+
|
|
124
|
+
function is_resolution_only(
|
|
125
|
+
was: ReadonlyArray<LockfileDocument>,
|
|
126
|
+
is: ReadonlyArray<LockfileDocument>,
|
|
127
|
+
): boolean {
|
|
128
|
+
if (was.length !== is.length) return false
|
|
129
|
+
|
|
130
|
+
return was.every((document, index) => {
|
|
131
|
+
const other = is[index]
|
|
132
|
+
|
|
133
|
+
return other !== undefined && isDeepStrictEqual(skeleton_of(document), skeleton_of(other))
|
|
134
|
+
})
|
|
135
|
+
}
|
|
136
|
+
|
|
137
|
+
// The packages the change from `before` to `after` moved, with every package depending on one —
|
|
138
|
+
// `undefined` when the change reaches every test.
|
|
139
|
+
function affected_packages(before: string, after: string): ReadonlySet<string> | undefined {
|
|
140
|
+
const was = documents_of(before)
|
|
141
|
+
const is = documents_of(after)
|
|
142
|
+
|
|
143
|
+
if (was === undefined || is === undefined || !is_resolution_only(was, is)) return undefined
|
|
144
|
+
|
|
145
|
+
const moved = was.flatMap((document, index) => moved_names(document, is[index] ?? document))
|
|
146
|
+
const reached = with_dependents(moved, dependents_of([...was, ...is]))
|
|
147
|
+
|
|
148
|
+
return [...reached].some((name) => whole_suite_files.is_unit_runtime_package(name))
|
|
149
|
+
? undefined
|
|
150
|
+
: reached
|
|
151
|
+
}
|
|
152
|
+
|
|
153
|
+
const lockfile_changed_packages = { LOCKFILE_PATH, affected_packages, to_package_key }
|
|
154
|
+
|
|
155
|
+
export { lockfile_changed_packages }
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
import { isDeepStrictEqual } from 'node:util'
|
|
2
|
+
import { json_value } from '#scripts/lib/json-value'
|
|
3
|
+
|
|
4
|
+
// **`package.json` is a whole-suite file only for what is not its `version`** (joshuafolkken/kit#7538).
|
|
5
|
+
// The release commit moves the version alone, which neither dependency resolution nor the vitest
|
|
6
|
+
// config reads, so such a change reaches the tests reading `package.json` through the test-read map
|
|
7
|
+
// rather than every test. Any other key — a dependency, a script, the `pnpm` field — still runs the
|
|
8
|
+
// whole suite.
|
|
9
|
+
|
|
10
|
+
const PACKAGE_PATH = 'package.json'
|
|
11
|
+
const VERSION_KEY = 'version'
|
|
12
|
+
|
|
13
|
+
function without_version(text: string): Record<string, unknown> | undefined {
|
|
14
|
+
const value = json_value.parse_or_undefined(text)
|
|
15
|
+
if (!json_value.is_record(value)) return undefined
|
|
16
|
+
|
|
17
|
+
return Object.fromEntries(Object.entries(value).filter(([key]) => key !== VERSION_KEY))
|
|
18
|
+
}
|
|
19
|
+
|
|
20
|
+
// Whether the two texts differ in `version` alone — false when either is not a JSON object.
|
|
21
|
+
function is_version_only(before: string, after: string): boolean {
|
|
22
|
+
const was = without_version(before)
|
|
23
|
+
const is = without_version(after)
|
|
24
|
+
|
|
25
|
+
return was !== undefined && is !== undefined && isDeepStrictEqual(was, is)
|
|
26
|
+
}
|
|
27
|
+
|
|
28
|
+
const package_version_only = { PACKAGE_PATH, is_version_only }
|
|
29
|
+
|
|
30
|
+
export { package_version_only }
|
|
@@ -1,6 +1,4 @@
|
|
|
1
1
|
import path from 'node:path'
|
|
2
|
-
import { git_command } from '#scripts/git/git-command'
|
|
3
|
-
import { file_reader } from '#scripts/lib/read-file'
|
|
4
2
|
|
|
5
3
|
// **`tools/test/pure-files.ts` is a whole-suite file only for what is not its entries**
|
|
6
4
|
// (joshuafolkken/kit#5001). The vitest config imports it, so `vitest related` widens to every test on
|
|
@@ -54,30 +52,6 @@ function tests_of(entries: ReadonlyArray<string>): ReadonlyArray<string> {
|
|
|
54
52
|
return [...LIST_TESTS, ...entries]
|
|
55
53
|
}
|
|
56
54
|
|
|
57
|
-
|
|
58
|
-
try {
|
|
59
|
-
return await git_command.show_file(`${await git_command.change_base()}:${PURE_FILES_PATH}`)
|
|
60
|
-
} catch {
|
|
61
|
-
return undefined
|
|
62
|
-
}
|
|
63
|
-
}
|
|
64
|
-
|
|
65
|
-
// The entries this branch moved in the list against its change base, or `undefined` when the list did
|
|
66
|
-
// not change, changed beyond its entries, or either side cannot be read.
|
|
67
|
-
async function read_moved(
|
|
68
|
-
root: string,
|
|
69
|
-
changed: ReadonlyArray<string> | undefined,
|
|
70
|
-
): Promise<ReadonlyArray<string> | undefined> {
|
|
71
|
-
if (changed?.includes(PURE_FILES_PATH) !== true) return undefined
|
|
72
|
-
|
|
73
|
-
const before = await base_text()
|
|
74
|
-
const after = file_reader.read_if_readable(path.join(root, PURE_FILES_PATH))
|
|
75
|
-
|
|
76
|
-
if (before === undefined || after === undefined) return undefined
|
|
77
|
-
|
|
78
|
-
return moved_entries(before, after)
|
|
79
|
-
}
|
|
80
|
-
|
|
81
|
-
const pure_files_entries = { PURE_FILES_PATH, moved_entries, read_moved, tests_of }
|
|
55
|
+
const pure_files_entries = { PURE_FILES_PATH, moved_entries, tests_of }
|
|
82
56
|
|
|
83
57
|
export { pure_files_entries }
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import path from 'node:path'
|
|
2
2
|
import { since_green } from '#scripts/gate/since-green'
|
|
3
3
|
import { changed_file_scope, type ChangedFileScope } from '#scripts/git/changed-file-scope'
|
|
4
|
+
import { lockfile_changed_packages } from './lockfile-changed-packages'
|
|
4
5
|
import { pure_files_entries } from './pure-files-entries'
|
|
5
6
|
import { test_read_map, type ReadMap } from './test-read-map'
|
|
6
7
|
import { whole_suite_files } from './whole-suite-files'
|
|
@@ -16,7 +17,8 @@ import { whole_suite_files } from './whole-suite-files'
|
|
|
16
17
|
// snapshot — which no module graph holds — reaches the modules that read it through that map alone. **Whatever neither can answer runs the whole suite**: no map, a
|
|
17
18
|
// non-code file added since the recorded tree that no recorded test read, where a test read inside its
|
|
18
19
|
// directory, or a file every test
|
|
19
|
-
// depends on —
|
|
20
|
+
// depends on — `package.json` only when more than its `version` moved (joshuafolkken/kit#7538),
|
|
21
|
+
// `pnpm-lock.yaml` only when it moved a unit runtime package or more than resolutions (joshuafolkken/kit#7554) — each counted only when this change moved it (joshuafolkken/kit#4527). A non-code file the recorded tree already held and no test read is one no test reads
|
|
20
22
|
// (joshuafolkken/kit#4073), and so is one added since to a directory no test read inside
|
|
21
23
|
// (joshuafolkken/kit#4303, joshuafolkken/kit#4597), so a change made only of those runs nothing. CI runs the whole suite
|
|
22
24
|
// regardless, so a read the recorder could not see — one a child process makes — is still caught
|
|
@@ -51,6 +53,7 @@ const RELATABLE_EXTENSIONS: ReadonlySet<string> = new Set([
|
|
|
51
53
|
])
|
|
52
54
|
|
|
53
55
|
const { WHOLE_SUITE_FILES } = whole_suite_files
|
|
56
|
+
const { LOCKFILE_PATH } = lockfile_changed_packages
|
|
54
57
|
const { UNREADABLE_REASON } = changed_file_scope
|
|
55
58
|
const NOTHING_RELATABLE_REASON = 'no changed file is one a test can import or read'
|
|
56
59
|
const NO_MAP_REASON = 'no test-read map covers the changed non-code file'
|
|
@@ -109,6 +112,13 @@ interface ScopeRequest {
|
|
|
109
112
|
// The entries a change of `tools/test/pure-files.ts` moved, when it moved nothing else there — the
|
|
110
113
|
// list then reaches those test files rather than every test (`pure-files-entries.ts`).
|
|
111
114
|
pure_entries?: ReadonlyArray<string> | undefined
|
|
115
|
+
// The changed whole-suite files whose change is their `version` alone — `package.json` on a release
|
|
116
|
+
// commit (`package-version-only.ts`) — resolved through the map rather than the whole suite.
|
|
117
|
+
version_only?: ReadonlySet<string>
|
|
118
|
+
// The modules importing a package a `pnpm-lock.yaml` change moved, when it moved no unit runtime
|
|
119
|
+
// package (`lockfile-changed-packages.ts`) — handed to vitest, and the lockfile resolved through the
|
|
120
|
+
// map, rather than the whole suite.
|
|
121
|
+
lockfile_importers?: ReadonlyArray<string> | undefined
|
|
112
122
|
// The changed files every test imports, each with the test files importing it directly
|
|
113
123
|
// (`direct-importers.ts`) — the run narrows to those rather than the whole suite.
|
|
114
124
|
every_test_importers?: ReadonlyMap<string, ReadonlyArray<string>>
|
|
@@ -242,13 +252,27 @@ function direct_selection(request: ScopeRequest, changed: ReadonlyArray<string>)
|
|
|
242
252
|
return { files: tests.flat(), unread: moved.filter((_file, index) => tests[index]?.length === 0) }
|
|
243
253
|
}
|
|
244
254
|
|
|
255
|
+
function is_resolved_elsewhere(request: ScopeRequest, file: string): boolean {
|
|
256
|
+
if (file === LOCKFILE_PATH) return request.lockfile_importers !== undefined
|
|
257
|
+
|
|
258
|
+
return request.version_only?.has(file) === true
|
|
259
|
+
}
|
|
260
|
+
|
|
261
|
+
function is_whole_suite_trigger(request: ScopeRequest, file: string): boolean {
|
|
262
|
+
if (is_resolved_elsewhere(request, file)) return false
|
|
263
|
+
|
|
264
|
+
return WHOLE_SUITE_FILES.has(file) && !is_narrowed(request, file) && is_moved(request, file)
|
|
265
|
+
}
|
|
266
|
+
|
|
267
|
+
// **A `package.json` moved in `version` alone is no trigger** (joshuafolkken/kit#7538), **nor a
|
|
268
|
+
// `pnpm-lock.yaml` moving no unit runtime package** (joshuafolkken/kit#7554): each reaches the tests
|
|
269
|
+
// reading it through the map, as any other non-code file does, and the lockfile also the modules
|
|
270
|
+
// importing a package it moved.
|
|
245
271
|
function whole_suite_triggers(
|
|
246
272
|
request: ScopeRequest,
|
|
247
273
|
changed: ReadonlyArray<string>,
|
|
248
274
|
): Array<string> {
|
|
249
|
-
return changed.filter(
|
|
250
|
-
(file) => WHOLE_SUITE_FILES.has(file) && !is_narrowed(request, file) && is_moved(request, file),
|
|
251
|
-
)
|
|
275
|
+
return changed.filter((file) => is_whole_suite_trigger(request, file))
|
|
252
276
|
}
|
|
253
277
|
|
|
254
278
|
function resolve_read(
|
|
@@ -287,8 +311,9 @@ function resolve_scope(request: ScopeRequest): RelatedScope {
|
|
|
287
311
|
if (request.changed === undefined) return all_scope(UNREADABLE_REASON)
|
|
288
312
|
|
|
289
313
|
const pure = without_pure_entries(request.changed, request.pure_entries)
|
|
314
|
+
const lockfile_importers = request.lockfile_importers ?? []
|
|
290
315
|
|
|
291
|
-
return resolve_read({ ...request, changed: pure.unread }, pure.files)
|
|
316
|
+
return resolve_read({ ...request, changed: pure.unread }, [...pure.files, ...lockfile_importers])
|
|
292
317
|
}
|
|
293
318
|
|
|
294
319
|
function describe_scope(scope: RelatedScope, root: string): string {
|
|
@@ -7,7 +7,6 @@ import { since_green, type FallbackReason } from '#scripts/gate/since-green'
|
|
|
7
7
|
import { changed_file_scope } from '#scripts/git/changed-file-scope'
|
|
8
8
|
import { changed_paths } from '#scripts/git/changed-paths'
|
|
9
9
|
import { direct_importers } from './direct-importers'
|
|
10
|
-
import { pure_files_entries } from './pure-files-entries'
|
|
11
10
|
import { test_no_base } from './test-no-base'
|
|
12
11
|
import { test_read_map, type ReadMap } from './test-read-map'
|
|
13
12
|
import { test_related_cap, type CappedImporters } from './test-related-cap'
|
|
@@ -21,6 +20,7 @@ import { test_related_synced } from './test-related-synced'
|
|
|
21
20
|
import { test_related_touched } from './test-related-touched'
|
|
22
21
|
import { test_related_verdict } from './test-related-verdict'
|
|
23
22
|
import { test_related_whole } from './test-related-whole'
|
|
23
|
+
import { whole_suite_narrowing } from './whole-suite-narrowing'
|
|
24
24
|
|
|
25
25
|
// `josh test:related` — the unit check an implementation loop runs between edits.
|
|
26
26
|
// The narrowing itself is `test-related-scope.ts` over the shared
|
|
@@ -236,14 +236,14 @@ async function scope_of(
|
|
|
236
236
|
): Promise<RelatedScope> {
|
|
237
237
|
const recorded = await recorded_files(change)
|
|
238
238
|
const naming = naming_moved(root, change)
|
|
239
|
-
const
|
|
239
|
+
const narrowing = await whole_suite_narrowing.read(root, change.changed)
|
|
240
240
|
|
|
241
241
|
return related_scope.resolve_scope({
|
|
242
242
|
root,
|
|
243
243
|
...change,
|
|
244
|
+
...narrowing,
|
|
244
245
|
recorded,
|
|
245
246
|
naming_moved: naming,
|
|
246
|
-
pure_entries,
|
|
247
247
|
every_test_importers: capped.importers,
|
|
248
248
|
is_present: existsSync,
|
|
249
249
|
})
|
|
@@ -186,21 +186,21 @@ function isolated_unit_environment(
|
|
|
186
186
|
//
|
|
187
187
|
// **The machine is read only when no count was typed.** The reading waits out a sample window, and a
|
|
188
188
|
// caller's `--maxWorkers` wins whatever it says. The gate's cap is one: its admission narrows it to the
|
|
189
|
-
// free cores, and its unit step bounds it by the free memory once admitted (`gate-run-steps.ts`)
|
|
189
|
+
// free cores, and its unit step bounds it by the free memory once admitted (`gate-run-steps.ts`); a
|
|
190
|
+
// sharing run admitted on a claim is bounded the same way (`unit_worker_share.admitted_capacity`).
|
|
190
191
|
async function vitest_share(vitest_arguments: ReadonlyArray<string>): Promise<number | undefined> {
|
|
191
192
|
if (unit_worker_share.has_worker_flag(vitest_arguments)) return undefined
|
|
192
193
|
|
|
193
194
|
const available_cores = availableParallelism()
|
|
195
|
+
const live_runs = unit_worker_share.live_run_count()
|
|
196
|
+
const live_lanes = unit_worker_share.live_lane_count()
|
|
197
|
+
const claim = core_budget.held_unit_claim()
|
|
194
198
|
// The cores and the memory free right now (joshuafolkken/kit#4528), from one reading.
|
|
195
|
-
const
|
|
196
|
-
const
|
|
197
|
-
|
|
198
|
-
unit_worker_share.live_run_count(),
|
|
199
|
-
free,
|
|
200
|
-
unit_worker_share.live_lane_count(),
|
|
201
|
-
)
|
|
199
|
+
const reading = await free_cores.read({ available_cores })
|
|
200
|
+
const free = unit_worker_share.admitted_capacity(reading, claim, live_runs, live_lanes)
|
|
201
|
+
const share = unit_worker_share.current_share(available_cores, live_runs, free, live_lanes)
|
|
202
202
|
|
|
203
|
-
return unit_worker_share.cap_to_claim(share,
|
|
203
|
+
return unit_worker_share.cap_to_claim(share, claim)
|
|
204
204
|
}
|
|
205
205
|
|
|
206
206
|
async function execute_vitest(
|
|
@@ -109,6 +109,26 @@ function own_run(): number {
|
|
|
109
109
|
return is_nested_run() ? 0 : SOLO_RUNS
|
|
110
110
|
}
|
|
111
111
|
|
|
112
|
+
// **A sharing run's admitted claim is not cut to the free cores** (joshuafolkken/kit#7551). Under
|
|
113
|
+
// concurrency the claim is already this run's slice of the machine, admitted against the ledger and
|
|
114
|
+
// the load. The free cores read afterwards count the other lanes' use beyond their claims and the load
|
|
115
|
+
// average's trailing minute, so a two-worker share fell to one while the ledger kept the second core
|
|
116
|
+
// held for nobody — `test:related` ran 38 s alone and 71 s beside three lanes with no core wait. The
|
|
117
|
+
// gate's unit step is already bounded only by the free memory once admitted; so is this. A solo run and
|
|
118
|
+
// a run with no claim keep both bounds.
|
|
119
|
+
function admitted_capacity(
|
|
120
|
+
free: FreeCapacity,
|
|
121
|
+
claim: UnitClaim | undefined,
|
|
122
|
+
live_runs: number,
|
|
123
|
+
live_lanes: number,
|
|
124
|
+
): FreeCapacity {
|
|
125
|
+
const is_sharing = sharing_runs(live_runs + own_run(), live_lanes) > SOLO_RUNS
|
|
126
|
+
|
|
127
|
+
if (claim === undefined || !is_sharing) return free
|
|
128
|
+
|
|
129
|
+
return { cores: undefined, memory_workers: free.memory_workers }
|
|
130
|
+
}
|
|
131
|
+
|
|
112
132
|
// The share this run may take, read from the machine. Separate from `resolve_unit_workers` so that
|
|
113
133
|
// one stays a pure function of two numbers and every test of it can pass them.
|
|
114
134
|
//
|
|
@@ -180,6 +200,7 @@ const unit_worker_share = {
|
|
|
180
200
|
...unit_run_marker,
|
|
181
201
|
...unit_lane_count,
|
|
182
202
|
MAIN_PROCESS_CORES,
|
|
203
|
+
admitted_capacity,
|
|
183
204
|
cap_to_capacity,
|
|
184
205
|
cap_to_claim,
|
|
185
206
|
cap_to_free,
|