@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
|
@@ -1,7 +1,10 @@
|
|
|
1
1
|
import { git_gh_issue } from '#scripts/gh/git-gh-issue'
|
|
2
2
|
import { git_gh_issue_rest, type RestIssue } from '#scripts/gh/git-gh-issue-rest'
|
|
3
3
|
import { AUTO_OK_LABEL, IN_PROGRESS_LABEL } from '#scripts/issue/issue-labels'
|
|
4
|
+
import { shared_cache } from '#scripts/josh/shared-cache'
|
|
4
5
|
import { z } from 'zod'
|
|
6
|
+
import { backlog_listing_trace, type ListingNote } from './backlog-listing-trace'
|
|
7
|
+
import { backlog_next_shared } from './backlog-next-shared'
|
|
5
8
|
|
|
6
9
|
type ListingCheck = () => Promise<boolean>
|
|
7
10
|
|
|
@@ -43,24 +46,35 @@ function has_change(seen: Listing | undefined, listing: Listing): boolean {
|
|
|
43
46
|
// one outside a lane, counts. The first read is the baseline, and a read that fails reads as unchanged:
|
|
44
47
|
// the ask's interval still comes. A first read that fails leaves an empty baseline rather than none, so
|
|
45
48
|
// an issue listed before the next read that answers still counts as new (joshuafolkken/kit#7229).
|
|
46
|
-
|
|
49
|
+
//
|
|
50
|
+
// **A change drops the kept `backlog:next` answer**: its key moves only with the run's stream, which an
|
|
51
|
+
// `issue:file --publish` does not touch, so the ask the change wakes would replay the answer from before
|
|
52
|
+
// it, and the change, already seen, wakes nothing more (joshuafolkken/kit#7583).
|
|
53
|
+
function watcher(note: ListingNote = backlog_listing_trace.ignore): ListingCheck {
|
|
47
54
|
const memory: { seen?: Listing } = {}
|
|
48
55
|
|
|
49
56
|
function keep(listing: Listing): void {
|
|
50
57
|
memory.seen = listing
|
|
51
58
|
}
|
|
52
59
|
|
|
60
|
+
function settle(listing: Listing): boolean {
|
|
61
|
+
const is_new = has_change(memory.seen, listing)
|
|
62
|
+
|
|
63
|
+
keep(listing)
|
|
64
|
+
if (is_new) shared_cache.clear(backlog_next_shared.NEXT_CACHE)
|
|
65
|
+
note(is_new ? 'changed' : 'unchanged')
|
|
66
|
+
|
|
67
|
+
return is_new
|
|
68
|
+
}
|
|
69
|
+
|
|
53
70
|
return async function is_changed(): Promise<boolean> {
|
|
54
71
|
try {
|
|
55
72
|
const detail = await git_gh_issue.issue_list_label_first_page(AUTO_OK_LABEL)
|
|
56
|
-
const listing = listing_of(detail.body)
|
|
57
|
-
const is_new = has_change(memory.seen, listing)
|
|
58
|
-
|
|
59
|
-
keep(listing)
|
|
60
73
|
|
|
61
|
-
return
|
|
74
|
+
return settle(listing_of(detail.body))
|
|
62
75
|
} catch {
|
|
63
76
|
keep(memory.seen ?? new Map())
|
|
77
|
+
note('failed')
|
|
64
78
|
|
|
65
79
|
return false
|
|
66
80
|
}
|
|
@@ -46,6 +46,7 @@ const OFFER_TEXT: ReadonlyMap<string, string> = new Map([
|
|
|
46
46
|
const CAUSE_TEXT: Readonly<Record<WaitCause, string>> = {
|
|
47
47
|
chain: 'other issues',
|
|
48
48
|
gate: 'a start condition',
|
|
49
|
+
publication: 'their publication',
|
|
49
50
|
lane: 'a running lane',
|
|
50
51
|
}
|
|
51
52
|
const CAUSE_JOINER = ' or '
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
// What each `auto-ok` listing check of a waiting driver found, printed to its log when it differs from
|
|
2
|
+
// the previous check, so a missed wake shows which step it fell at (joshuafolkken/kit#7583). Every
|
|
3
|
+
// change prints: each one wakes an ask.
|
|
4
|
+
type ListingOutcome = 'no-free-lane' | 'unchanged' | 'changed' | 'failed'
|
|
5
|
+
|
|
6
|
+
type ListingNote = (outcome: ListingOutcome) => void
|
|
7
|
+
|
|
8
|
+
const CHANGED: ListingOutcome = 'changed'
|
|
9
|
+
|
|
10
|
+
function print_error(line: string): void {
|
|
11
|
+
console.error(line)
|
|
12
|
+
}
|
|
13
|
+
|
|
14
|
+
function tracer(print: (line: string) => void = print_error): ListingNote {
|
|
15
|
+
const memory: { last?: ListingOutcome } = {}
|
|
16
|
+
|
|
17
|
+
return function note(outcome: ListingOutcome): void {
|
|
18
|
+
if (outcome !== CHANGED && outcome === memory.last) return
|
|
19
|
+
|
|
20
|
+
memory.last = outcome
|
|
21
|
+
print(`listing check: ${outcome} at ${new Date().toISOString()}`)
|
|
22
|
+
}
|
|
23
|
+
}
|
|
24
|
+
|
|
25
|
+
function ignore(): void {
|
|
26
|
+
// A watcher no driver traces: the arrival probe's output is the parent's wake line.
|
|
27
|
+
}
|
|
28
|
+
|
|
29
|
+
// The driver's one trace, shared by the free-lane gate (`backlog-offer-timing.ts`) and its watcher.
|
|
30
|
+
const drive = tracer()
|
|
31
|
+
|
|
32
|
+
const backlog_listing_trace = { drive, ignore, tracer }
|
|
33
|
+
|
|
34
|
+
export type { ListingNote, ListingOutcome }
|
|
35
|
+
export { backlog_listing_trace }
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import type { DriveState, LoopConfig, LoopPorts } from './backlog-drive'
|
|
2
2
|
import { backlog_drive_memory } from './backlog-drive-memory'
|
|
3
|
+
import { backlog_listing_trace } from './backlog-listing-trace'
|
|
3
4
|
|
|
4
5
|
interface OfferTiming {
|
|
5
6
|
idle_until_ms?: number | undefined
|
|
@@ -57,14 +58,21 @@ function is_check_due(run: LoopRun, config: LoopConfig, now_ms: number): boolean
|
|
|
57
58
|
}
|
|
58
59
|
|
|
59
60
|
// The `auto-ok` listing, checked by its ETag at `check_ms` while a seat is free: a 304 spends no REST
|
|
60
|
-
// core, so a new issue is asked about without waiting out the interval (joshuafolkken/kit#7227).
|
|
61
|
+
// core, so a new issue is asked about without waiting out the interval (joshuafolkken/kit#7227). A
|
|
62
|
+
// check a full pool skips is traced beside the watcher's own outcomes (joshuafolkken/kit#7583).
|
|
61
63
|
async function is_listing_changed(
|
|
62
64
|
run: LoopRun,
|
|
63
65
|
config: LoopConfig,
|
|
64
66
|
ports: DuePorts,
|
|
65
67
|
now_ms: number,
|
|
66
68
|
): Promise<boolean> {
|
|
67
|
-
if (!is_check_due(run, config, now_ms)
|
|
69
|
+
if (!is_check_due(run, config, now_ms)) return false
|
|
70
|
+
|
|
71
|
+
if ((await ports.free_lanes()) === 0) {
|
|
72
|
+
backlog_listing_trace.drive('no-free-lane')
|
|
73
|
+
|
|
74
|
+
return false
|
|
75
|
+
}
|
|
68
76
|
|
|
69
77
|
return await ports.listing_changed()
|
|
70
78
|
}
|
|
@@ -3,6 +3,7 @@ import type { EpicChild } from '#scripts/epic/epic-graph'
|
|
|
3
3
|
import { issue_cite } from '#scripts/issue/issue-cite'
|
|
4
4
|
import { has_label_name, IN_PROGRESS_LABEL } from '#scripts/issue/issue-labels'
|
|
5
5
|
import { issue_not_before } from '#scripts/issue/issue-not-before'
|
|
6
|
+
import { issue_publication_state } from '#scripts/issue/issue-publication-state'
|
|
6
7
|
|
|
7
8
|
// Why the backlog had nothing to offer while children ran (joshuafolkken/kit#4513): which waiting
|
|
8
9
|
// issues wait on a dependency chain, and which on a declared start condition (a start date or a
|
|
@@ -15,17 +16,21 @@ import { issue_not_before } from '#scripts/issue/issue-not-before'
|
|
|
15
16
|
// A waiting child with neither cause waits on a running lane: the overlap separation withheld it on a
|
|
16
17
|
// path a running lane declares, or the `run:solo` gate withheld it (joshuafolkken/kit#7307). Left
|
|
17
18
|
// unnamed, the hold read as its siblings' `gate` alone and listed none of those children.
|
|
19
|
+
//
|
|
20
|
+
// A child whose filing has not published yet (`issue-publication-state.ts`) waits on that publication,
|
|
21
|
+
// not on a running lane (joshuafolkken/kit#7572).
|
|
18
22
|
|
|
19
|
-
type WaitCause = 'chain' | 'gate' | 'lane'
|
|
23
|
+
type WaitCause = 'chain' | 'gate' | 'publication' | 'lane'
|
|
20
24
|
|
|
21
25
|
type WaitCauses = Readonly<Record<WaitCause, ReadonlyArray<number>>> & {
|
|
22
26
|
not_before_ms?: number
|
|
23
27
|
}
|
|
24
28
|
|
|
25
|
-
const CAUSES: ReadonlyArray<WaitCause> = ['chain', 'gate', 'lane']
|
|
29
|
+
const CAUSES: ReadonlyArray<WaitCause> = ['chain', 'gate', 'publication', 'lane']
|
|
26
30
|
const MARKS: Readonly<Record<WaitCause, string>> = {
|
|
27
31
|
chain: 'Waiting on a dependency chain:',
|
|
28
32
|
gate: 'Waiting on a start condition:',
|
|
33
|
+
publication: 'Waiting on publication:',
|
|
29
34
|
lane: 'Waiting on a running lane:',
|
|
30
35
|
}
|
|
31
36
|
const TAG_SEPARATOR = '+'
|
|
@@ -49,6 +54,7 @@ function has_pending_blocker(child: EpicChild): boolean {
|
|
|
49
54
|
|
|
50
55
|
function cause_of(child: EpicChild): WaitCause | undefined {
|
|
51
56
|
if (has_label_name(child.labels, IN_PROGRESS_LABEL)) return undefined
|
|
57
|
+
if (issue_publication_state.is_pending(child.body)) return 'publication'
|
|
52
58
|
if (!issue_not_before.is_due(child.body)) return 'gate'
|
|
53
59
|
|
|
54
60
|
return has_pending_blocker(child) ? 'chain' : 'lane'
|
|
@@ -74,6 +80,7 @@ function classify(children: ReadonlyArray<EpicChild>, repo: string): WaitCauses
|
|
|
74
80
|
return {
|
|
75
81
|
chain: numbers_with(here, 'chain'),
|
|
76
82
|
gate: numbers_with(here, 'gate'),
|
|
83
|
+
publication: numbers_with(here, 'publication'),
|
|
77
84
|
lane: numbers_with(here, 'lane'),
|
|
78
85
|
...deadline_of(here),
|
|
79
86
|
}
|
|
@@ -107,6 +114,7 @@ function parse(text: string): WaitCauses {
|
|
|
107
114
|
return {
|
|
108
115
|
chain: numbers_on(text, 'chain'),
|
|
109
116
|
gate: numbers_on(text, 'gate'),
|
|
117
|
+
publication: numbers_on(text, 'publication'),
|
|
110
118
|
lane: numbers_on(text, 'lane'),
|
|
111
119
|
...(Number.isFinite(not_before_ms) && { not_before_ms }),
|
|
112
120
|
}
|
|
@@ -85,8 +85,8 @@ const DOCUMENT_BYTE_BUDGET: ReadonlyArray<DocumentBudget> = [
|
|
|
85
85
|
{ path: 'docs/josh-commands-run.md', bytes: 57_344 },
|
|
86
86
|
// The finished rows' icons, `⏩` already done among them (joshuafolkken/kit#7095), crossed the 20480 block.
|
|
87
87
|
{ path: 'docs/josh-commands-board.md', bytes: 24_576 },
|
|
88
|
-
// `
|
|
89
|
-
{ path: 'docs/josh-commands-lane.md', bytes:
|
|
88
|
+
// The `concurrent lanes` table's core-wait columns (joshuafolkken/kit#7550) crossed the 32768 block.
|
|
89
|
+
{ path: 'docs/josh-commands-lane.md', bytes: 36_864 },
|
|
90
90
|
// `cost:audit`'s dated period and usage breakdown (joshuafolkken/kit#7042) crossed the 16384 block.
|
|
91
91
|
{ path: 'docs/josh-commands-session.md', bytes: 20_480 },
|
|
92
92
|
// `josh effect:audit` (joshuafolkken/kit#4958) and `issue:priority`'s usage section (joshuafolkken/kit#4960) crossed the 57344 block;
|
|
@@ -2,7 +2,7 @@ import { SUITE_TIMEOUT_MS } from '#scripts/lib/timeouts'
|
|
|
2
2
|
import { PORCELAIN_FLAG, UNTRACKED_FILES_FLAG } from './constants'
|
|
3
3
|
import { git_diff_reads } from './git-diff-reads'
|
|
4
4
|
import { create_spawn_error } from './git-execa-error'
|
|
5
|
-
import { git_pre_push_hook } from './git-pre-push-hook'
|
|
5
|
+
import { git_pre_push_hook, type HookEnvironment } from './git-pre-push-hook'
|
|
6
6
|
import { git_push_transport } from './git-push-transport'
|
|
7
7
|
import { git_spawn } from './git-spawn'
|
|
8
8
|
import { git_spawn_sync } from './git-spawn-sync'
|
|
@@ -225,8 +225,12 @@ async function push_with_upstream(
|
|
|
225
225
|
// on a suite's budget of its own, before either push and outside the `try`; both transfers then skip it with `--no-verify`,
|
|
226
226
|
// so neither the timeout retry nor the `--set-upstream` fallback repeats it, and a failed hook is not
|
|
227
227
|
// mistaken for a missing upstream. A git too old to run the hook ahead leaves it to the push, as before.
|
|
228
|
-
|
|
229
|
-
|
|
228
|
+
//
|
|
229
|
+
// `hook_environment` reaches the hook run ahead and nothing else (joshuafolkken/kit#7539). The
|
|
230
|
+
// transfers do not carry it: where the push itself runs the hook, the hook runs without the caller's
|
|
231
|
+
// setting — for `pre_push_related_switch`, the whole suite, which is the safe side.
|
|
232
|
+
async function push(hook_environment: HookEnvironment = {}): Promise<void> {
|
|
233
|
+
const verify_flags = (await git_pre_push_hook.run(hook_environment)) ? [NO_VERIFY_FLAG] : []
|
|
230
234
|
|
|
231
235
|
try {
|
|
232
236
|
await git_push_transport.push([...verify_flags])
|
|
@@ -101,7 +101,9 @@ async function can_run_hooks(stdin_path: string): Promise<boolean> {
|
|
|
101
101
|
return await can_probe([HOOK_RUN, ...options])
|
|
102
102
|
}
|
|
103
103
|
|
|
104
|
-
|
|
104
|
+
type HookEnvironment = Readonly<Record<string, string>>
|
|
105
|
+
|
|
106
|
+
async function run_with_stdin(stdin_line: string, environment: HookEnvironment): Promise<boolean> {
|
|
105
107
|
const directory = await mkdtemp(path.join(tmpdir(), TEMPORARY_PREFIX))
|
|
106
108
|
const stdin_path = path.join(directory, STDIN_FILE)
|
|
107
109
|
|
|
@@ -113,7 +115,7 @@ async function run_with_stdin(stdin_line: string): Promise<boolean> {
|
|
|
113
115
|
await git_spawn.with_output(
|
|
114
116
|
'hook',
|
|
115
117
|
[...to_hook_run_arguments(stdin_path, HOOK_NAME), '--', REMOTE, url],
|
|
116
|
-
{ timeout_ms: SUITE_TIMEOUT_MS },
|
|
118
|
+
{ timeout_ms: SUITE_TIMEOUT_MS, environment },
|
|
117
119
|
)
|
|
118
120
|
|
|
119
121
|
return true
|
|
@@ -124,13 +126,14 @@ async function run_with_stdin(stdin_line: string): Promise<boolean> {
|
|
|
124
126
|
|
|
125
127
|
// `true` when the hook is settled here — run, or nothing to push — so the push skips it; `false` when
|
|
126
128
|
// this git cannot run it, so the push runs it as it always did. A hook that fails throws
|
|
127
|
-
// `git hook exited with code <n>`, and the push is never attempted.
|
|
128
|
-
|
|
129
|
+
// `git hook exited with code <n>`, and the push is never attempted. `environment` reaches the hook's process
|
|
130
|
+
// only — added to the inherited environment, never written into this one.
|
|
131
|
+
async function run(environment: HookEnvironment = {}): Promise<boolean> {
|
|
129
132
|
const references = await read_push_references()
|
|
130
133
|
|
|
131
134
|
if (references.local_oid === references.remote_oid) return true
|
|
132
135
|
|
|
133
|
-
return await run_with_stdin(to_stdin_line(references))
|
|
136
|
+
return await run_with_stdin(to_stdin_line(references), environment)
|
|
134
137
|
}
|
|
135
138
|
|
|
136
139
|
const git_pre_push_hook = {
|
|
@@ -138,3 +141,4 @@ const git_pre_push_hook = {
|
|
|
138
141
|
}
|
|
139
142
|
|
|
140
143
|
export { git_pre_push_hook }
|
|
144
|
+
export type { HookEnvironment }
|
package/scripts/git/git-spawn.ts
CHANGED
|
@@ -112,9 +112,25 @@ async function with_output_remote(command: string, arguments_list: Array<string>
|
|
|
112
112
|
//
|
|
113
113
|
// `timeout_ms` defaults to a local command's budget. A command that runs hooks — a commit, a merge,
|
|
114
114
|
// `git hook run` — is not one, and names the longer budget itself.
|
|
115
|
+
//
|
|
116
|
+
// `environment` is added to the inherited one for this one child — execa extends `process.env` with
|
|
117
|
+
// it — so a caller hands a hook a setting without writing it into its own process.
|
|
115
118
|
interface OutputOptions {
|
|
116
119
|
config_options?: ReadonlyArray<string>
|
|
117
120
|
timeout_ms?: number
|
|
121
|
+
environment?: Readonly<Record<string, string>>
|
|
122
|
+
}
|
|
123
|
+
|
|
124
|
+
interface OutputSpawnOptions {
|
|
125
|
+
stdio: 'inherit'
|
|
126
|
+
timeout: number
|
|
127
|
+
env: Readonly<Record<string, string>>
|
|
128
|
+
}
|
|
129
|
+
|
|
130
|
+
function to_output_spawn_options(options: OutputOptions): OutputSpawnOptions {
|
|
131
|
+
const { timeout_ms = GIT_TIMEOUT_MS, environment = {} } = options
|
|
132
|
+
|
|
133
|
+
return { stdio: 'inherit', timeout: timeout_ms, env: environment }
|
|
118
134
|
}
|
|
119
135
|
|
|
120
136
|
async function with_output(
|
|
@@ -122,17 +138,17 @@ async function with_output(
|
|
|
122
138
|
arguments_list: Array<string>,
|
|
123
139
|
options: OutputOptions = {},
|
|
124
140
|
): Promise<void> {
|
|
125
|
-
const { config_options = [], timeout_ms = GIT_TIMEOUT_MS } = options
|
|
126
141
|
const git_command_bin = git_utilities.get_git_command_for_spawn()
|
|
127
|
-
const spawn_arguments = [...config_options, command, ...arguments_list]
|
|
142
|
+
const spawn_arguments = [...(options.config_options ?? []), command, ...arguments_list]
|
|
143
|
+
const spawn_options = to_output_spawn_options(options)
|
|
128
144
|
|
|
129
145
|
try {
|
|
130
146
|
// execa runs the binary directly with an argument array and no `shell` option, so CLI
|
|
131
147
|
// args cannot break out of a shell sandbox; the git command and args are internally
|
|
132
148
|
// controlled, never untrusted input. tssecurity:S8705 is a false positive here.
|
|
133
|
-
await execa(git_command_bin, spawn_arguments,
|
|
149
|
+
await execa(git_command_bin, spawn_arguments, spawn_options) // NOSONAR
|
|
134
150
|
} catch (error) {
|
|
135
|
-
throw to_budget_error(command, error,
|
|
151
|
+
throw to_budget_error(command, error, spawn_options.timeout)
|
|
136
152
|
}
|
|
137
153
|
}
|
|
138
154
|
|
|
@@ -57,8 +57,11 @@ const LIST_MODE =
|
|
|
57
57
|
// List flags whose value is the next word, so the value is not read as a new ref's name.
|
|
58
58
|
const LIST_VALUE_FLAGS: ReadonlySet<string> = new Set(['--sort', '--format'])
|
|
59
59
|
const REFLOG_WRITES: ReadonlySet<string> = new Set(['expire', 'delete'])
|
|
60
|
-
// A global that rewrites git's configuration or launcher
|
|
61
|
-
|
|
60
|
+
// A global that rewrites git's configuration or launcher. Read only in front of the subcommand: after
|
|
61
|
+
// it, `-c` is `git grep -c` (a count) or `git log -c` (a combined diff) (joshuafolkken/kit#7574).
|
|
62
|
+
const GIT_GLOBAL_WRITE_FLAGS = /^-c|^--(?:config-env|exec-path)/u
|
|
63
|
+
// An option that writes a file or runs a program, read wherever it stands.
|
|
64
|
+
const GIT_OPTION_WRITE_FLAGS = /^--(?:output|ext-diff|textconv)/u
|
|
62
65
|
const QUOTES = /['"\\]/gu
|
|
63
66
|
|
|
64
67
|
function is_branch_change(argument: string): boolean {
|
|
@@ -115,8 +118,19 @@ function subcommand_refusal(segment: string): Refusal {
|
|
|
115
118
|
return is_git_write(subcommand, args) ? `\`git ${subcommand}\`, a git write` : undefined
|
|
116
119
|
}
|
|
117
120
|
|
|
121
|
+
// A quoted global runs as the bare one: `git '-c' k=v status` is `git -c k=v status`. The quotes come
|
|
122
|
+
// off each word after the split, so a spaced value (`-C 'my dir'`) stays one word.
|
|
123
|
+
function has_write_flag(args: ReadonlyArray<string>): boolean {
|
|
124
|
+
const globals = git_argv.globals_of(args.map((argument) => argument.replaceAll(QUOTES, '')))
|
|
125
|
+
|
|
126
|
+
return (
|
|
127
|
+
globals.some((word) => GIT_GLOBAL_WRITE_FLAGS.test(word)) ||
|
|
128
|
+
args.some((argument) => GIT_OPTION_WRITE_FLAGS.test(argument))
|
|
129
|
+
)
|
|
130
|
+
}
|
|
131
|
+
|
|
118
132
|
function refusal(segment: string, args: ReadonlyArray<string>): Refusal {
|
|
119
|
-
if (args
|
|
133
|
+
if (has_write_flag(args)) {
|
|
120
134
|
return 'a git option that rewrites its configuration, runs a program or writes a file'
|
|
121
135
|
}
|
|
122
136
|
|
|
@@ -1,7 +1,8 @@
|
|
|
1
1
|
// **Switched on, a pre-push unit run the gate record does not cover runs the related tests rather than
|
|
2
2
|
// the whole suite** — set by `josh ship`'s push ahead of the gate (`run-ship-sync.ts`), whose gate over
|
|
3
|
-
// the same tree runs the whole suite next (joshuafolkken/kit#5067)
|
|
4
|
-
//
|
|
3
|
+
// the same tree runs the whole suite next (joshuafolkken/kit#5067), and by `josh release`'s push
|
|
4
|
+
// (`release-publish.ts`), whose pull request CI runs it before the merge (joshuafolkken/kit#7539). Off
|
|
5
|
+
// by default. Its own module because the hook is an entry with a main guard, which nothing may import.
|
|
5
6
|
const SWITCH_ENV_KEY = 'JOSH_PRE_PUSH_RELATED'
|
|
6
7
|
const SWITCH_ON = '1'
|
|
7
8
|
|
|
@@ -153,7 +153,9 @@ async function run_reserved_suite(vitest_arguments: ReadonlyArray<string>): Prom
|
|
|
153
153
|
// **A push its caller makes ahead of the gate runs the related tests, not the whole suite**
|
|
154
154
|
// (joshuafolkken/kit#5067). `josh ship` pushes the tree its sync merged with the default branch onto an
|
|
155
155
|
// open pull request so CI starts beside the gate, and the gate that follows runs the whole suite over
|
|
156
|
-
// that same tree; the push itself only needs what this branch's change reaches.
|
|
156
|
+
// that same tree; the push itself only needs what this branch's change reaches. `josh release` pushes
|
|
157
|
+
// its release commit from a fresh worktree no gate record covers, and the release pull request's CI
|
|
158
|
+
// runs the whole suite over it before the merge (joshuafolkken/kit#7539). Only the caller sets
|
|
157
159
|
// it, `--force` and the escape hatch still win, and a narrowed run asked for its own arguments rather
|
|
158
160
|
// than this scope.
|
|
159
161
|
function is_related_requested(extra_arguments: ReadonlyArray<string>): boolean {
|
|
@@ -130,8 +130,15 @@ function draft_title(row: AuditRow): string {
|
|
|
130
130
|
return `Retire or shrink the mechanism of ${cite(row.origin)}, which fell short of its expected effect`
|
|
131
131
|
}
|
|
132
132
|
|
|
133
|
+
// The plain-language summary `issue:file` requires first, then the background.
|
|
133
134
|
function background_lines(origin: string, measurements: string): ReadonlyArray<string> {
|
|
134
135
|
return [
|
|
136
|
+
issue_body_keys.heading('summary'),
|
|
137
|
+
'',
|
|
138
|
+
`**${origin} で足した仕組みが、期待した効果を出せていないという改善要望です。**`,
|
|
139
|
+
'',
|
|
140
|
+
`後から計測したところ、${origin} の仕組みは見込んだ効果に届きませんでした。効かない仕組みは実行時間や読む量、保守の手間を増やすだけなので、取り除くか、効く範囲に絞ります。`,
|
|
141
|
+
'',
|
|
135
142
|
issue_body_keys.heading('background'),
|
|
136
143
|
'',
|
|
137
144
|
issue_body_keys.line('kind', 'non_bug'),
|
|
@@ -2,6 +2,8 @@ import { fileURLToPath } from 'node:url'
|
|
|
2
2
|
import { git_gh_command } from '#scripts/gh/git-gh-command'
|
|
3
3
|
import { issue_lint_cli } from '#scripts/issue/issue-lint-cli'
|
|
4
4
|
import { issue_number_shape } from '#scripts/issue/issue-number-shape'
|
|
5
|
+
import { issue_publication_state } from '#scripts/issue/issue-publication-state'
|
|
6
|
+
import { session_cite } from '#scripts/issue/session-cite'
|
|
5
7
|
import { size_estimate } from '#scripts/issue/size-estimate'
|
|
6
8
|
import { cli_body } from '#scripts/josh/cli-body'
|
|
7
9
|
import { cli_flags } from '#scripts/lib/cli-flags'
|
|
@@ -11,7 +13,7 @@ import { error_text } from '#scripts/lib/error-message'
|
|
|
11
13
|
// passes `issue:lint`. `issue:plan` writes only a blank body, and a consultation session's hook refuses
|
|
12
14
|
// every non-GET `gh api`, so a body rewrite had no route a session could run (joshuafolkken/kit#7002).
|
|
13
15
|
// An epic body (`## Split rationale`) is not an issue-template body, so `issue:lint` does not judge it;
|
|
14
|
-
// `epic:check` does.
|
|
16
|
+
// `epic:check` does. An unpublished split child's publication record is carried over (#7571).
|
|
15
17
|
const BODY_FILE_FLAG = '--body-file'
|
|
16
18
|
const USAGE = `Usage: josh issue:body <issue-number> ${BODY_FILE_FLAG} <path>`
|
|
17
19
|
const OPTIONS = { 'body-file': { type: 'string' } } as const
|
|
@@ -37,6 +39,18 @@ function request_of(argv: ReadonlyArray<string>): BodyRequest {
|
|
|
37
39
|
return { issue, body_path }
|
|
38
40
|
}
|
|
39
41
|
|
|
42
|
+
// A failed read is refused, not taken for a body with no publication record: writing over it could
|
|
43
|
+
// drop an unpublished child's record.
|
|
44
|
+
async function current_body(issue: string): Promise<string | undefined> {
|
|
45
|
+
const read = await git_gh_command.issue_get_body_classified(issue)
|
|
46
|
+
|
|
47
|
+
if (read.kind !== 'read') {
|
|
48
|
+
throw new Error(`Cannot read the current body of ${session_cite.issue(issue)}: ${read.kind}`)
|
|
49
|
+
}
|
|
50
|
+
|
|
51
|
+
return read.text
|
|
52
|
+
}
|
|
53
|
+
|
|
40
54
|
async function apply(request: BodyRequest): Promise<number> {
|
|
41
55
|
const body = cli_body.read_file_or_stdin(request.body_path)
|
|
42
56
|
const problems = size_estimate.is_epic(body) ? [] : issue_lint_cli.problems(body)
|
|
@@ -49,7 +63,9 @@ async function apply(request: BodyRequest): Promise<number> {
|
|
|
49
63
|
return FAILURE
|
|
50
64
|
}
|
|
51
65
|
|
|
52
|
-
|
|
66
|
+
const next = issue_publication_state.carried(await current_body(request.issue), body)
|
|
67
|
+
|
|
68
|
+
console.info(await git_gh_command.issue_edit_body(request.issue, next))
|
|
53
69
|
|
|
54
70
|
return SUCCESS
|
|
55
71
|
}
|
|
@@ -67,6 +67,7 @@ const VALUES = {
|
|
|
67
67
|
} as const satisfies Record<string, Row>
|
|
68
68
|
|
|
69
69
|
const HEADINGS = {
|
|
70
|
+
summary: { ja: '概要', en: 'Summary' },
|
|
70
71
|
background: { ja: '背景', en: 'Background' },
|
|
71
72
|
symptom: { ja: '現象', en: 'Symptom' },
|
|
72
73
|
expected: { ja: '期待結果', en: 'Expected result' },
|
|
@@ -65,6 +65,7 @@ function refusals_of(
|
|
|
65
65
|
growth: SizeRatios,
|
|
66
66
|
): ReadonlyArray<string> {
|
|
67
67
|
const problems = [
|
|
68
|
+
issue_lint_cli.summary_problem(filing.body),
|
|
68
69
|
...issue_lint_cli.problems(filing.body, issue_file.labels_of(filing.args, filing.body)),
|
|
69
70
|
size_estimate.guide_problem(filing.body, filing.args.route, rate, growth),
|
|
70
71
|
issue_sample_required.problem(filing.body),
|
|
@@ -62,6 +62,18 @@ function problems(body: string, labels?: ReadonlyArray<string>): ReadonlyArray<s
|
|
|
62
62
|
.map((problem) => with_template(problem))
|
|
63
63
|
}
|
|
64
64
|
|
|
65
|
+
// `issue:file`'s refusal of a body that does not open with the summary, followed by the template's
|
|
66
|
+
// summary section; `undefined` when it does. Only filing checks it: `problems` also lints the bodies
|
|
67
|
+
// `issue:body` rewrites, and Issues filed before the rule have none.
|
|
68
|
+
function summary_problem(body: string): string | undefined {
|
|
69
|
+
if (issue_lint.starts_with_summary(body)) return undefined
|
|
70
|
+
const heading = issue_lint.summary_heading()
|
|
71
|
+
const problem = `the body must start with ${heading}: a plain-language summary for a person deciding on the Issue — how to write it: the ${heading} section of ${issue_template_section.document_name()}'s template`
|
|
72
|
+
const template = issue_template_section.section(heading)
|
|
73
|
+
|
|
74
|
+
return template === undefined ? problem : `${problem}\n${template}`
|
|
75
|
+
}
|
|
76
|
+
|
|
65
77
|
// The body's warnings, printed by every command that lints a body whichever way its verdict goes; they
|
|
66
78
|
// never change an exit code.
|
|
67
79
|
function warn(body: string): void {
|
|
@@ -91,10 +103,12 @@ async function run(body_path: string | undefined): Promise<number> {
|
|
|
91
103
|
}
|
|
92
104
|
|
|
93
105
|
const body = cli_body.read_file_or_stdin(body_path)
|
|
106
|
+
const summary = summary_problem(body)
|
|
94
107
|
|
|
95
|
-
|
|
108
|
+
// A pre-filing check: it answers as `issue:file` will, the leading summary included.
|
|
109
|
+
return report(summary === undefined ? problems(body) : [summary, ...problems(body)], body)
|
|
96
110
|
}
|
|
97
111
|
|
|
98
|
-
const issue_lint_cli = { problems, run, warn }
|
|
112
|
+
const issue_lint_cli = { problems, run, summary_problem, warn }
|
|
99
113
|
|
|
100
114
|
export { issue_lint_cli }
|
|
@@ -16,9 +16,25 @@ function missing_headings(body: string): ReadonlyArray<string> {
|
|
|
16
16
|
return REQUIRED_HEADINGS.filter((heading) => !markdown_section.has_line(body, heading))
|
|
17
17
|
}
|
|
18
18
|
|
|
19
|
+
// The plain-language summary a person reads before any internal detail (joshuafolkken/kit#7544), in the
|
|
20
|
+
// session's column — read per call, as the canonical lines it is compared with are.
|
|
21
|
+
function summary_heading(): string {
|
|
22
|
+
return issue_body_keys.heading('summary')
|
|
23
|
+
}
|
|
24
|
+
|
|
25
|
+
// Whether the body's first non-blank line is the summary heading — present further down does not count.
|
|
26
|
+
// Read canonically, so the other language's heading counts as every other heading check does.
|
|
27
|
+
function starts_with_summary(body: string): boolean {
|
|
28
|
+
const first = markdown_section.canonical_lines(body).find((line) => line.trim() !== '')
|
|
29
|
+
|
|
30
|
+
return first?.trim() === summary_heading()
|
|
31
|
+
}
|
|
32
|
+
|
|
19
33
|
const issue_lint = {
|
|
20
34
|
missing_headings,
|
|
21
35
|
REQUIRED_HEADINGS,
|
|
36
|
+
starts_with_summary,
|
|
37
|
+
summary_heading,
|
|
22
38
|
}
|
|
23
39
|
|
|
24
40
|
export { issue_lint }
|
|
@@ -3,12 +3,69 @@ import { issue_auto_ok } from './issue-auto-ok'
|
|
|
3
3
|
import { AUTO_OK_LABEL, has_label_name } from './issue-labels'
|
|
4
4
|
|
|
5
5
|
// A body record survives process termination without adding a workflow label or a user prohibition.
|
|
6
|
+
// The record is an HTML comment starting its own line outside a fence: the prefix quoted inline or in
|
|
7
|
+
// a code block is prose about the record, not one; `prepare` appends it, so the last one is the record
|
|
8
|
+
// (joshuafolkken/kit#7573).
|
|
6
9
|
const PREFIX = '<!-- josh:publication '
|
|
7
|
-
const
|
|
10
|
+
const RECORDS = /^<!-- josh:publication (?<record>[^\n]*?) -->/gmu
|
|
11
|
+
const RECORD_LINE = /^<!-- josh:publication /mu
|
|
12
|
+
const FENCE_LINE = /^ {0,3}(?<marker>`{3,}|~{3,})/u
|
|
8
13
|
const schema = z.object({ labels: z.array(z.string()) })
|
|
9
14
|
|
|
10
|
-
|
|
11
|
-
|
|
15
|
+
interface Fence {
|
|
16
|
+
marker: string
|
|
17
|
+
lines: Array<string>
|
|
18
|
+
}
|
|
19
|
+
|
|
20
|
+
interface FenceScan {
|
|
21
|
+
kept: Array<string>
|
|
22
|
+
fence: Fence | undefined
|
|
23
|
+
}
|
|
24
|
+
|
|
25
|
+
function fence_marker(line: string): string | undefined {
|
|
26
|
+
return FENCE_LINE.exec(line)?.groups?.['marker']
|
|
27
|
+
}
|
|
28
|
+
|
|
29
|
+
// A fence closes only on a bare marker of its own character, at least as long as the opener.
|
|
30
|
+
function is_close(fence: Fence, line: string): boolean {
|
|
31
|
+
const marker = fence_marker(line) ?? ''
|
|
32
|
+
const is_same = marker.startsWith(fence.marker.charAt(0))
|
|
33
|
+
|
|
34
|
+
return is_same && marker.length >= fence.marker.length && line.trim() === marker
|
|
35
|
+
}
|
|
36
|
+
|
|
37
|
+
function continued(fence: Fence, line: string): Fence | undefined {
|
|
38
|
+
if (is_close(fence, line)) return undefined
|
|
39
|
+
fence.lines.push(line)
|
|
40
|
+
|
|
41
|
+
return fence
|
|
42
|
+
}
|
|
43
|
+
|
|
44
|
+
function opened(kept: Array<string>, line: string): Fence | undefined {
|
|
45
|
+
const marker = fence_marker(line)
|
|
46
|
+
if (marker === undefined) kept.push(line)
|
|
47
|
+
|
|
48
|
+
return marker === undefined ? undefined : { marker, lines: [line] }
|
|
49
|
+
}
|
|
50
|
+
|
|
51
|
+
function scan_line({ kept, fence }: FenceScan, line: string): FenceScan {
|
|
52
|
+
return { kept, fence: fence === undefined ? opened(kept, line) : continued(fence, line) }
|
|
53
|
+
}
|
|
54
|
+
|
|
55
|
+
// An unclosed fence is kept: dropping it would hide the record `prepare` appends after it.
|
|
56
|
+
function unfenced(body: string): string {
|
|
57
|
+
let scan: FenceScan = { kept: [], fence: undefined }
|
|
58
|
+
for (const line of body.split('\n')) scan = scan_line(scan, line)
|
|
59
|
+
|
|
60
|
+
return [...scan.kept, ...(scan.fence?.lines ?? [])].join('\n')
|
|
61
|
+
}
|
|
62
|
+
|
|
63
|
+
function is_pending(body = ''): boolean {
|
|
64
|
+
return RECORD_LINE.test(unfenced(body))
|
|
65
|
+
}
|
|
66
|
+
|
|
67
|
+
function last_record(body: string): RegExpExecArray | undefined {
|
|
68
|
+
return [...unfenced(body).matchAll(RECORDS)].at(-1)
|
|
12
69
|
}
|
|
13
70
|
|
|
14
71
|
function prepare(body: string, labels: ReadonlyArray<string>): string {
|
|
@@ -17,12 +74,24 @@ function prepare(body: string, labels: ReadonlyArray<string>): string {
|
|
|
17
74
|
return `${body}\n\n${PREFIX}${JSON.stringify({ labels })} -->\n`
|
|
18
75
|
}
|
|
19
76
|
|
|
77
|
+
// A body rewrite keeps a pending child's record unless the new body brings its own: without it,
|
|
78
|
+
// `--publish` would publish the child with none of its intended labels (joshuafolkken/kit#7571).
|
|
79
|
+
function carried(previous: string | undefined, next: string): string {
|
|
80
|
+
const record = last_record(previous ?? '')?.[0]
|
|
81
|
+
if (record === undefined || is_pending(next)) return next
|
|
82
|
+
|
|
83
|
+
return `${next.trimEnd()}\n\n${record}\n`
|
|
84
|
+
}
|
|
85
|
+
|
|
20
86
|
function public_body(body: string): string {
|
|
21
|
-
|
|
87
|
+
const record = last_record(body)?.[0] ?? ''
|
|
88
|
+
const at = body.lastIndexOf(record)
|
|
89
|
+
|
|
90
|
+
return `${body.slice(0, at)}${body.slice(at + record.length)}`.trimEnd()
|
|
22
91
|
}
|
|
23
92
|
|
|
24
93
|
function intended_labels(body = ''): ReadonlyArray<string> {
|
|
25
|
-
const record =
|
|
94
|
+
const record = last_record(body)?.groups?.['record']
|
|
26
95
|
|
|
27
96
|
return schema.parse(JSON.parse(record ?? 'null')).labels
|
|
28
97
|
}
|
|
@@ -56,6 +125,13 @@ function creation(
|
|
|
56
125
|
}
|
|
57
126
|
}
|
|
58
127
|
|
|
59
|
-
const issue_publication_state = {
|
|
128
|
+
const issue_publication_state = {
|
|
129
|
+
is_pending,
|
|
130
|
+
prepare,
|
|
131
|
+
carried,
|
|
132
|
+
public_body,
|
|
133
|
+
labels_of,
|
|
134
|
+
creation,
|
|
135
|
+
}
|
|
60
136
|
|
|
61
137
|
export { issue_publication_state }
|