@joshuafolkken/kit 1.3101.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/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 +2050 -2040
- 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 +515 -459
- 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 +73 -73
- 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
|
@@ -0,0 +1,76 @@
|
|
|
1
|
+
import { MS_PER_MINUTE, MS_PER_SECOND } from '#scripts/lib/timeouts'
|
|
2
|
+
import type { LocalRead } from './run-board-read'
|
|
3
|
+
import type { BoardState } from './run-board-state'
|
|
4
|
+
import { run_board_status, type ItemState } from './run-board-status'
|
|
5
|
+
|
|
6
|
+
// Which children a `run:board` closed read asks about once its run has ended.
|
|
7
|
+
|
|
8
|
+
// A child waiting on a person, drawn in 🙋 decision until a closed read settles it.
|
|
9
|
+
const { WAITING_STATES } = run_board_status
|
|
10
|
+
const STOPPED_STATE: ItemState = 'stopped'
|
|
11
|
+
const ALWAYS_ASKED_STATES: ReadonlySet<ItemState> = new Set([STOPPED_STATE, ...WAITING_STATES])
|
|
12
|
+
// A child that merged itself is drawn stopped until GitHub answers it closed, and the answer can lag
|
|
13
|
+
// the merge by minutes (joshuafolkken/kit#7556). The board stays open between runs, so a stopped child
|
|
14
|
+
// that never closes stops being asked about this long after the run ended — several retry intervals,
|
|
15
|
+
// well past the lag of a merge that already happened.
|
|
16
|
+
const STOPPED_ASK_MINUTES = 15
|
|
17
|
+
const STOPPED_ASK_LIMIT_MS = STOPPED_ASK_MINUTES * MS_PER_MINUTE
|
|
18
|
+
// The first closed read after a lane ends often lands before GitHub shows the merge, which kept the
|
|
19
|
+
// child drawn 🛑 a whole retry interval (joshuafolkken/kit#7557). While a child the read asks about ended
|
|
20
|
+
// its lane within the window, the read is asked again this often. Rate limit: one lane end adds at most
|
|
21
|
+
// window ÷ retry (8) closed reads, each one read of the children still unanswered.
|
|
22
|
+
const FRESH_END_WINDOW_SECONDS = 120
|
|
23
|
+
const FRESH_RETRY_SECONDS = 15
|
|
24
|
+
const FRESH_END_WINDOW_MS = FRESH_END_WINDOW_SECONDS * MS_PER_SECOND
|
|
25
|
+
const FRESH_RETRY_MS = FRESH_RETRY_SECONDS * MS_PER_SECOND
|
|
26
|
+
// Only a closed lane is about to merge; a withdrawn one never closes its Issue.
|
|
27
|
+
const CLOSING_END = 'lane:close'
|
|
28
|
+
|
|
29
|
+
function has_asked_since_end(state: BoardState, ended_ms: number | undefined): boolean {
|
|
30
|
+
const { closed_answered_ms } = state
|
|
31
|
+
if (closed_answered_ms === undefined || ended_ms === undefined) return false
|
|
32
|
+
|
|
33
|
+
return closed_answered_ms >= ended_ms
|
|
34
|
+
}
|
|
35
|
+
|
|
36
|
+
// An ended run asks as a going run does until one ask after it ended has answered whole. After that it
|
|
37
|
+
// asks only about a child drawn stopped, until the limit, or waiting on a person — the person closing
|
|
38
|
+
// it is what the board waits to draw. `undefined` while the run still asks as a going run does.
|
|
39
|
+
function ended_asked_states(
|
|
40
|
+
state: BoardState,
|
|
41
|
+
local: LocalRead,
|
|
42
|
+
now_ms: number,
|
|
43
|
+
): ReadonlySet<ItemState> | undefined {
|
|
44
|
+
const { ended_ms } = local
|
|
45
|
+
if (ended_ms === undefined || !has_asked_since_end(state, ended_ms)) return undefined
|
|
46
|
+
|
|
47
|
+
return now_ms - ended_ms <= STOPPED_ASK_LIMIT_MS ? ALWAYS_ASKED_STATES : WAITING_STATES
|
|
48
|
+
}
|
|
49
|
+
|
|
50
|
+
function is_fresh_end(local: LocalRead, issue: number, now_ms: number): boolean {
|
|
51
|
+
const end = local.lane_states.ended?.get(issue)
|
|
52
|
+
|
|
53
|
+
return end?.by === CLOSING_END && now_ms - end.ended_ms <= FRESH_END_WINDOW_MS
|
|
54
|
+
}
|
|
55
|
+
|
|
56
|
+
// How long after the last closed read the next is due: sooner while a child it asks about has just had
|
|
57
|
+
// its lane ended by its record, else `usual_ms`.
|
|
58
|
+
function closed_retry_ms(
|
|
59
|
+
local: LocalRead,
|
|
60
|
+
unread: ReadonlyArray<number>,
|
|
61
|
+
now_ms: number,
|
|
62
|
+
usual_ms: number,
|
|
63
|
+
): number {
|
|
64
|
+
return unread.some((issue) => is_fresh_end(local, issue, now_ms)) ? FRESH_RETRY_MS : usual_ms
|
|
65
|
+
}
|
|
66
|
+
|
|
67
|
+
const run_board_closed_pace = {
|
|
68
|
+
ALWAYS_ASKED_STATES,
|
|
69
|
+
FRESH_END_WINDOW_MS,
|
|
70
|
+
FRESH_RETRY_MS,
|
|
71
|
+
STOPPED_ASK_LIMIT_MS,
|
|
72
|
+
closed_retry_ms,
|
|
73
|
+
ended_asked_states,
|
|
74
|
+
}
|
|
75
|
+
|
|
76
|
+
export { run_board_closed_pace }
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { MS_PER_SECOND } from '#scripts/lib/timeouts'
|
|
2
2
|
import { run_progress } from '#scripts/run/progress/run-progress'
|
|
3
3
|
import type { ClosedAnswer } from './run-board-closed'
|
|
4
|
+
import { run_board_closed_pace } from './run-board-closed-pace'
|
|
4
5
|
import { run_board_fetch, type Fetch } from './run-board-fetch'
|
|
5
6
|
import { run_board_idle } from './run-board-idle'
|
|
6
7
|
import type { BoardPlan } from './run-board-layout'
|
|
@@ -25,11 +26,8 @@ const PLAN_RETRY_MS = run_progress.DECLINE_RETRY_SECONDS * MS_PER_SECOND
|
|
|
25
26
|
// A rejected closed read answers nothing closed and not whole, so it is asked again.
|
|
26
27
|
const UNANSWERED: ClosedAnswer = { closed: new Map(), is_whole: false }
|
|
27
28
|
const { is_due } = run_board_state
|
|
28
|
-
const STOPPED_STATE: ItemState = 'stopped'
|
|
29
29
|
const RUNNING_STATE: ItemState = 'running'
|
|
30
|
-
|
|
31
|
-
const { WAITING_STATES } = run_board_status
|
|
32
|
-
const ALWAYS_ASKED_STATES: ReadonlySet<ItemState> = new Set([STOPPED_STATE, ...WAITING_STATES])
|
|
30
|
+
const { ALWAYS_ASKED_STATES, closed_retry_ms, ended_asked_states } = run_board_closed_pace
|
|
33
31
|
|
|
34
32
|
// What a step of the GitHub reads works against.
|
|
35
33
|
interface Gather {
|
|
@@ -151,31 +149,21 @@ function is_closed_candidate(
|
|
|
151
149
|
return is_unlisted(issue, read) && !is_closed_cached(issue, read)
|
|
152
150
|
}
|
|
153
151
|
|
|
154
|
-
// An ended run asks until one ask after it ended has answered whole, then holds what it has, as its
|
|
155
|
-
// plan is held: the board is left open between runs, so a child that never answers closed would
|
|
156
|
-
// otherwise be asked about every retry interval while no run is going. A child waiting on a person
|
|
157
|
-
// is the exception — the person closing it is what the board waits to draw.
|
|
158
|
-
function has_asked_since_end(state: BoardState, local: LocalRead): boolean {
|
|
159
|
-
const { closed_answered_ms } = state
|
|
160
|
-
if (closed_answered_ms === undefined || local.ended_ms === undefined) return false
|
|
161
|
-
|
|
162
|
-
return closed_answered_ms >= local.ended_ms
|
|
163
|
-
}
|
|
164
|
-
|
|
165
152
|
// The children the board has not read closed yet that the open listing no longer holds, or that it
|
|
166
153
|
// draws stopped or waiting: a child that merged itself and left its lane is drawn stopped until GitHub
|
|
167
|
-
// says it merged (joshuafolkken/kit#4401), and a listing cut short proves nothing missing.
|
|
168
|
-
|
|
154
|
+
// says it merged (joshuafolkken/kit#4401), and a listing cut short proves nothing missing. An ended
|
|
155
|
+
// run narrows them as `run-board-closed-pace.ts` says.
|
|
156
|
+
function unread_closed(state: BoardState, gather: Gather): Array<number> {
|
|
169
157
|
const read = open_read_of(state, state.plan)
|
|
170
|
-
const drawn = run_board_status.settle_closed(statuses_for(state, local), read)
|
|
158
|
+
const drawn = run_board_status.settle_closed(statuses_for(state, gather.local), read)
|
|
171
159
|
const is_plan_failed = state.failed_ms !== undefined
|
|
172
|
-
const
|
|
160
|
+
const ended_asked = ended_asked_states(state, gather.local, gather.now_ms)
|
|
173
161
|
|
|
174
162
|
return [...drawn]
|
|
175
163
|
.filter(([issue, status]) =>
|
|
176
|
-
|
|
177
|
-
?
|
|
178
|
-
:
|
|
164
|
+
ended_asked === undefined
|
|
165
|
+
? is_closed_candidate(issue, status, read, is_plan_failed)
|
|
166
|
+
: ended_asked.has(status.state),
|
|
179
167
|
)
|
|
180
168
|
.map(([issue]) => issue)
|
|
181
169
|
}
|
|
@@ -187,16 +175,17 @@ function has_new_child(state: BoardState, unread: ReadonlyArray<number>): boolea
|
|
|
187
175
|
function is_closed_due(state: BoardState, gather: Gather, unread: ReadonlyArray<number>): boolean {
|
|
188
176
|
if (state.closed_fetch !== undefined) return false
|
|
189
177
|
|
|
190
|
-
|
|
191
|
-
|
|
192
|
-
|
|
178
|
+
const { local, now_ms } = gather
|
|
179
|
+
const retry_ms = closed_retry_ms(local, unread, now_ms, PLAN_RETRY_MS)
|
|
180
|
+
|
|
181
|
+
return has_new_child(state, unread) || is_due(state.closed_attempted_ms, retry_ms, now_ms)
|
|
193
182
|
}
|
|
194
183
|
|
|
195
184
|
// A closed child is read once and its answer kept; one that has not answered closed is asked again no
|
|
196
|
-
// sooner than the plan is — unless a child the last ask did not hold has joined it
|
|
197
|
-
//
|
|
185
|
+
// sooner than the plan is — unless a child the last ask did not hold has joined it, or one just ended
|
|
186
|
+
// its lane (`run-board-closed-pace.ts`).
|
|
198
187
|
function launch_closed(state: BoardState, gather: Gather): BoardState {
|
|
199
|
-
const unread = unread_closed(state, gather
|
|
188
|
+
const unread = unread_closed(state, gather)
|
|
200
189
|
|
|
201
190
|
if (unread.length === 0 || !is_closed_due(state, gather, unread)) return state
|
|
202
191
|
|
|
@@ -62,6 +62,7 @@ const WORDS = {
|
|
|
62
62
|
waiting: 'waiting',
|
|
63
63
|
queued: 'queued',
|
|
64
64
|
not_before: 'not before',
|
|
65
|
+
publication: 'publication pending',
|
|
65
66
|
decision: 'decision',
|
|
66
67
|
waits: 'waits on',
|
|
67
68
|
// What a waiting row waits on, where the legend names its icon.
|
|
@@ -272,9 +273,10 @@ const STAGE_ICONS: Readonly<Partial<Record<string, string>>> = {
|
|
|
272
273
|
// running issue holds, 📋 the declared order, ✋ an unblocked issue held for its judgment, ❓ a
|
|
273
274
|
// blocked issue nobody has judged, 🧍 a `run:solo` issue waiting for the running lanes, 🙅 a row behind it (#4294; 🚧 is a
|
|
274
275
|
// held check's) and 🔒 a row a running `run:solo` issue holds (#4391), chosen on the same rule as
|
|
275
|
-
// every row icon,
|
|
276
|
-
// board's own, shared rather than copied.
|
|
276
|
+
// every row icon, 🪫 the account's Claude usage limit until it resets (#4796), and 📰 an issue whose
|
|
277
|
+
// filing has not published yet (#7572). The rest are the board's own, shared rather than copied.
|
|
277
278
|
const WAIT_ICONS = {
|
|
279
|
+
publication: '📰',
|
|
278
280
|
human_merge: '🔏',
|
|
279
281
|
usage_limit: '🪫',
|
|
280
282
|
path: '📂',
|
|
@@ -310,6 +312,7 @@ const WAIT_WORDS: ReadonlyArray<readonly [icon: string, word: keyof Words]> = [
|
|
|
310
312
|
[WAIT_ICONS.blocker, 'waits'],
|
|
311
313
|
[STATE_ICONS.human, 'on_human'],
|
|
312
314
|
[WAIT_ICONS.not_before, 'not_before'],
|
|
315
|
+
[WAIT_ICONS.publication, 'publication'],
|
|
313
316
|
]
|
|
314
317
|
|
|
315
318
|
// **The machine gauges' three colors, decided here alone**: Activity Monitor's green, yellow and red
|
|
@@ -6,6 +6,7 @@ import { epic_triage } from '#scripts/epic/epic-triage'
|
|
|
6
6
|
import { has_label_name, has_parked_label, IN_PROGRESS_LABEL } from '#scripts/issue/issue-labels'
|
|
7
7
|
import { issue_not_before } from '#scripts/issue/issue-not-before'
|
|
8
8
|
import { issue_observation_gate } from '#scripts/issue/issue-observation-gate'
|
|
9
|
+
import { issue_publication_state } from '#scripts/issue/issue-publication-state'
|
|
9
10
|
import { issue_sample_gate } from '#scripts/issue/issue-sample-gate'
|
|
10
11
|
import { lane_state } from '#scripts/lane/lane-state'
|
|
11
12
|
import type { RunCarry } from '#scripts/run/carry/run-carry'
|
|
@@ -344,6 +345,14 @@ function wait_of(
|
|
|
344
345
|
return not_before_of(child, read.now_ms) ?? offer_wait(child, read, pool)
|
|
345
346
|
}
|
|
346
347
|
|
|
348
|
+
// `📰`: an issue whose filing has not published yet (`issue-publication-state.ts`), which no pickup
|
|
349
|
+
// offers until it does, whatever else would keep it (joshuafolkken/kit#7572).
|
|
350
|
+
function publication_of(child: EpicChild): RowReason | undefined {
|
|
351
|
+
return issue_publication_state.is_pending(child.body)
|
|
352
|
+
? { icon: WAIT_ICONS.publication }
|
|
353
|
+
: undefined
|
|
354
|
+
}
|
|
355
|
+
|
|
347
356
|
// What each waiting row of one layout says, the pool-wide facts read once for all of them.
|
|
348
357
|
function reader(read: ReasonRead): ReasonOf {
|
|
349
358
|
const current = { ...read, ...run_board_human_merge.overlay_of(read.plan, read.statuses) }
|
|
@@ -354,6 +363,7 @@ function reader(read: ReasonRead): ReasonOf {
|
|
|
354
363
|
run_board_human_merge.reason_of(child, current.plan) ??
|
|
355
364
|
stage_of(child, current) ??
|
|
356
365
|
planned_of(child, pool) ??
|
|
366
|
+
publication_of(child) ??
|
|
357
367
|
wait_of(child, waits, current, pool)
|
|
358
368
|
)
|
|
359
369
|
}
|
|
@@ -1,7 +1,9 @@
|
|
|
1
|
+
import { git_command } from '#scripts/git/git-command'
|
|
1
2
|
import { git_worktree } from '#scripts/git/git-worktree'
|
|
2
3
|
import { issue_cite } from '#scripts/issue/issue-cite'
|
|
3
4
|
import { josh_command, type JoshResult } from '#scripts/josh/josh-run'
|
|
4
5
|
import { lane_child_marker } from '#scripts/lane/lane-child-marker'
|
|
6
|
+
import { run_preflight } from '#scripts/run/run-preflight'
|
|
5
7
|
|
|
6
8
|
// The tree sync every entry runs before its reads — `#N` (joshuafolkken/kit#5943) and `new`
|
|
7
9
|
// (`--adopt`, joshuafolkken/kit#5747) — so no run issues it as commands of its own: pre-existing changes
|
|
@@ -60,8 +62,17 @@ async function step(argv: ReadonlyArray<string>): Promise<JoshResult> {
|
|
|
60
62
|
return await josh_command.josh_run(argv, should_forward_stderr)
|
|
61
63
|
}
|
|
62
64
|
|
|
63
|
-
|
|
64
|
-
|
|
65
|
+
// **A primary checkout on the issue's own branch merges, too** (joshuafolkken/kit#7543): the hold was
|
|
66
|
+
// taken there to resume a returned pull request, and `main:sync` would check out the default branch
|
|
67
|
+
// under it, so the fix would land on main instead of the pull request's branch.
|
|
68
|
+
async function is_merged_in_place(issue_number: string): Promise<boolean> {
|
|
69
|
+
if (await git_worktree.is_linked()) return true
|
|
70
|
+
|
|
71
|
+
return run_preflight.is_issue_branch(await git_command.branch(), issue_number)
|
|
72
|
+
}
|
|
73
|
+
|
|
74
|
+
async function sync_command(issue_number: string): Promise<string> {
|
|
75
|
+
return (await is_merged_in_place(issue_number)) ? 'main:merge' : 'main:sync'
|
|
65
76
|
}
|
|
66
77
|
|
|
67
78
|
function stopped({ failed, kept, recommended, later }: StopText): EntryStop {
|
|
@@ -117,7 +128,8 @@ async function restore(message: string, is_stashed: boolean): Promise<EntryStop
|
|
|
117
128
|
return verdict === CONFLICTED_VERDICT ? pop_conflicted(message) : pop_unmatched(message)
|
|
118
129
|
}
|
|
119
130
|
|
|
120
|
-
async function sync_tree(
|
|
131
|
+
async function sync_tree(entry: SyncEntry): Promise<EntryStop | undefined> {
|
|
132
|
+
const message = stash_message(entry)
|
|
121
133
|
const pushed = await step([STASH_PUSH, message])
|
|
122
134
|
|
|
123
135
|
if (pushed.code !== SUCCESS_EXIT_CODE) {
|
|
@@ -125,7 +137,7 @@ async function sync_tree(message: string): Promise<EntryStop | undefined> {
|
|
|
125
137
|
}
|
|
126
138
|
|
|
127
139
|
const is_stashed = verdict_of(pushed) === STASHED_VERDICT
|
|
128
|
-
const command = await sync_command()
|
|
140
|
+
const command = await sync_command(entry.issue_number)
|
|
129
141
|
const synced = await step([command])
|
|
130
142
|
|
|
131
143
|
if (synced.code === SUCCESS_EXIT_CODE) return await restore(message, is_stashed)
|
|
@@ -137,7 +149,7 @@ async function sync_tree(message: string): Promise<EntryStop | undefined> {
|
|
|
137
149
|
async function sync(entry: SyncEntry): Promise<EntryStop | undefined> {
|
|
138
150
|
if (lane_child_marker.is_child_of(process.cwd())) return undefined
|
|
139
151
|
|
|
140
|
-
return await sync_tree(
|
|
152
|
+
return await sync_tree(entry)
|
|
141
153
|
}
|
|
142
154
|
|
|
143
155
|
const run_entry_sync = {
|
|
@@ -266,9 +266,15 @@ async function preflight_gate(issue: string, is_linked: boolean): Promise<number
|
|
|
266
266
|
|
|
267
267
|
const decision = await run_preflight.check(issue)
|
|
268
268
|
|
|
269
|
-
if (decision.verdict
|
|
269
|
+
if (decision.verdict !== run_preflight.CLEAN_VERDICT) return report_preflight(decision)
|
|
270
270
|
|
|
271
|
-
|
|
271
|
+
// A clean tree on the issue's own branch is a resume: the hold is taken, and the whole-gate rule is
|
|
272
|
+
// still said, because nobody verified what the earlier run committed.
|
|
273
|
+
if (decision.advice === run_preflight.RESUME_ADVICE) {
|
|
274
|
+
console.error(`${decision.reason}\n${decision.advice}`)
|
|
275
|
+
}
|
|
276
|
+
|
|
277
|
+
return undefined
|
|
272
278
|
}
|
|
273
279
|
|
|
274
280
|
async function claim(target: string, request: ClaimRequest, is_linked: boolean): Promise<number> {
|
|
@@ -41,8 +41,15 @@ function is_filed(events: ReadonlyArray<RunEvent>): boolean {
|
|
|
41
41
|
)
|
|
42
42
|
}
|
|
43
43
|
|
|
44
|
-
// The lines `issue:file` requires of a defect whose origin is unknown (`issue:file --check`)
|
|
44
|
+
// The lines `issue:file` requires of a defect whose origin is unknown (`issue:file --check`), after the
|
|
45
|
+
// plain-language summary it requires first.
|
|
45
46
|
const DECLARATIONS = [
|
|
47
|
+
issue_body_keys.heading('summary'),
|
|
48
|
+
'',
|
|
49
|
+
'**The verification gate fails on `main`, so every lane is held until it is repaired.**',
|
|
50
|
+
'',
|
|
51
|
+
'Several lanes failed one after another, and the same verification then failed on `main` twice in a row, so the cause is on `main` rather than in any one lane. Fix whatever makes the verification fail on `main`; the output is under the reproduction below.',
|
|
52
|
+
'',
|
|
46
53
|
issue_body_keys.heading('background'),
|
|
47
54
|
'',
|
|
48
55
|
issue_body_keys.line('kind', 'bug'),
|
|
@@ -132,6 +139,6 @@ async function check(child: string): Promise<boolean> {
|
|
|
132
139
|
return false
|
|
133
140
|
}
|
|
134
141
|
|
|
135
|
-
const run_merge_health = { TITLE, check }
|
|
142
|
+
const run_merge_health = { TITLE, body_of, check }
|
|
136
143
|
|
|
137
144
|
export { run_merge_health }
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import path from 'node:path'
|
|
2
2
|
import { git_command } from '#scripts/git/git-command'
|
|
3
3
|
import { stamp_file } from '#scripts/josh/stamp-file'
|
|
4
|
+
import type { UnpinnedPath, UnpinnedStop } from '#scripts/lane/lane-ledger-schema-ship'
|
|
4
5
|
import { error_text } from '#scripts/lib/error-message'
|
|
5
6
|
import { test_pinned_logic } from '#scripts/test/test-pinned-logic'
|
|
6
7
|
import { test_pinned_record, type PinnedSummary } from '#scripts/test/test-pinned-record'
|
|
@@ -135,6 +136,28 @@ async function judge(summary: PinnedSummary, reason: string | undefined): Promis
|
|
|
135
136
|
return { kind: 'accepted', text: test_pinned_logic.report_text(summary, note) }
|
|
136
137
|
}
|
|
137
138
|
|
|
138
|
-
|
|
139
|
+
function stop_path(summary: PinnedSummary, reason: string | undefined): UnpinnedPath {
|
|
140
|
+
if (reason === undefined) return 'no-reason'
|
|
141
|
+
|
|
142
|
+
return summary.is_cut === true ? 'truncated' : 'new-site'
|
|
143
|
+
}
|
|
144
|
+
|
|
145
|
+
// Which path a `judge` stop without a reason took (joshuafolkken/kit#7552): no recorded reason, a
|
|
146
|
+
// recorded one a place outside its record outran, or one a cut check never applies — and how many
|
|
147
|
+
// unpinned places it found, with the hunks a cut check never probed.
|
|
148
|
+
async function unpinned_stop(summary: PinnedSummary): Promise<UnpinnedStop> {
|
|
149
|
+
const stop = { path: stop_path(summary, await recorded_reason()), hunks: summary.unpinned.length }
|
|
150
|
+
const { is_cut, remaining } = summary
|
|
151
|
+
|
|
152
|
+
return is_cut === true && remaining !== undefined ? { ...stop, remaining } : stop
|
|
153
|
+
}
|
|
154
|
+
|
|
155
|
+
const run_review_pinned_accepted = {
|
|
156
|
+
RECORD_NAME,
|
|
157
|
+
judge,
|
|
158
|
+
keep_reason,
|
|
159
|
+
recorded_reason,
|
|
160
|
+
unpinned_stop,
|
|
161
|
+
}
|
|
139
162
|
|
|
140
163
|
export { run_review_pinned_accepted }
|
|
@@ -6,6 +6,7 @@ import { session_cite } from '#scripts/issue/session-cite'
|
|
|
6
6
|
import { lane_registry, type LaneInfo } from '#scripts/lane/lane-registry'
|
|
7
7
|
import { error_text } from '#scripts/lib/error-message'
|
|
8
8
|
import { json_value } from '#scripts/lib/json-value'
|
|
9
|
+
import { shell_quote } from '#scripts/lib/shell-quote'
|
|
9
10
|
import { run_hold } from '#scripts/run/hold/run-hold'
|
|
10
11
|
import { z } from 'zod'
|
|
11
12
|
|
|
@@ -52,6 +53,9 @@ interface TreeState {
|
|
|
52
53
|
|
|
53
54
|
interface ChildState {
|
|
54
55
|
branch_name: string | undefined
|
|
56
|
+
// The open lane's worktree when it has `branch_name` checked out — git refuses to switch another
|
|
57
|
+
// checkout onto that branch, so the resume happens in the lane's directory instead.
|
|
58
|
+
lane_directory?: string
|
|
55
59
|
pr_state: PrState
|
|
56
60
|
}
|
|
57
61
|
|
|
@@ -94,8 +98,25 @@ const STASH_LABEL_PREFIX = 'run:hold reclaimed before #'
|
|
|
94
98
|
const { require_issue_number } = issue_number_shape
|
|
95
99
|
const UNREADABLE_PR_MESSAGE = 'The pull request could not be read for branch '
|
|
96
100
|
|
|
97
|
-
|
|
98
|
-
|
|
101
|
+
const RESUME_IN_PLACE_REASON =
|
|
102
|
+
'HEAD is on this issue’s own branch over a clean tree, so the run resumes there.'
|
|
103
|
+
|
|
104
|
+
const ISSUE_BRANCH_SEPARATOR = '-'
|
|
105
|
+
|
|
106
|
+
// The same `<N>-` rule `read_branch_candidates` globs by, so `<N><digit>-…` is another issue's branch.
|
|
107
|
+
function is_issue_branch(branch: string, issue: string): boolean {
|
|
108
|
+
return branch.startsWith(`${issue}${ISSUE_BRANCH_SEPARATOR}`)
|
|
109
|
+
}
|
|
110
|
+
|
|
111
|
+
function is_off_default(tree: TreeState): boolean {
|
|
112
|
+
return tree.branch !== tree.default_branch
|
|
113
|
+
}
|
|
114
|
+
|
|
115
|
+
// **The issue's own branch over a clean tree is where a resume belongs, not something to reclaim**
|
|
116
|
+
// (joshuafolkken/kit#7543): reclaiming it sends the run to the default branch, where `resume` sends it
|
|
117
|
+
// straight back, and neither answer takes the hold. Another issue's branch is still reclaimed.
|
|
118
|
+
function needs_reclaim(tree: TreeState, issue: string): boolean {
|
|
119
|
+
return tree.is_dirty || (is_off_default(tree) && !is_issue_branch(tree.branch, issue))
|
|
99
120
|
}
|
|
100
121
|
|
|
101
122
|
// A pull request that was merged or closed is a decision somebody already made. Carrying on over a
|
|
@@ -114,17 +135,23 @@ function has_leftover_work(child: ChildState): boolean {
|
|
|
114
135
|
return child.branch_name !== undefined || child.pr_state === OPEN_PR
|
|
115
136
|
}
|
|
116
137
|
|
|
138
|
+
// A clean tree past `needs_reclaim` and off the default branch is on the issue's own branch; it has
|
|
139
|
+
// followed `resume`'s advice only when the work found is on that same branch, not on a sibling one.
|
|
140
|
+
function is_resuming_in_place(tree: TreeState, child: ChildState): boolean {
|
|
141
|
+
return is_off_default(tree) && (child.branch_name ?? tree.branch) === tree.branch
|
|
142
|
+
}
|
|
143
|
+
|
|
117
144
|
// The precedence is fixed, and the first row is why it has to be. A `resume` or a `park` decided over
|
|
118
145
|
// a dirty tree hands the next child a checkout it cannot switch — so the tree is reclaimed first and
|
|
119
146
|
// the question asked again on the clean tree, rather than two answers being merged into one.
|
|
120
|
-
function to_verdict(tree: TreeState, child: ChildState): PreflightVerdict {
|
|
121
|
-
if (needs_reclaim(tree)) return RECLAIM_VERDICT
|
|
147
|
+
function to_verdict(tree: TreeState, child: ChildState, issue: string): PreflightVerdict {
|
|
148
|
+
if (needs_reclaim(tree, issue)) return RECLAIM_VERDICT
|
|
122
149
|
|
|
123
150
|
if (is_pr_decided(child.pr_state)) return PARK_VERDICT
|
|
124
151
|
|
|
125
|
-
if (
|
|
152
|
+
if (is_resuming_in_place(tree, child)) return CLEAN_VERDICT
|
|
126
153
|
|
|
127
|
-
return CLEAN_VERDICT
|
|
154
|
+
return has_leftover_work(child) ? RESUME_VERDICT : CLEAN_VERDICT
|
|
128
155
|
}
|
|
129
156
|
|
|
130
157
|
function reclaim_reason(tree: TreeState): string {
|
|
@@ -154,7 +181,7 @@ function to_reason(verdict: PreflightVerdict, tree: TreeState, child: ChildState
|
|
|
154
181
|
|
|
155
182
|
if (verdict === RESUME_VERDICT) return resume_reason(child)
|
|
156
183
|
|
|
157
|
-
return CLEAN_REASON
|
|
184
|
+
return is_off_default(tree) ? RESUME_IN_PLACE_REASON : CLEAN_REASON
|
|
158
185
|
}
|
|
159
186
|
|
|
160
187
|
// **`-u` is not optional.** What an interrupted run leaves almost always includes a new `*.test.ts`,
|
|
@@ -183,21 +210,49 @@ function reclaim_advice(tree: TreeState, issue: string): string {
|
|
|
183
210
|
].join('\n')
|
|
184
211
|
}
|
|
185
212
|
|
|
186
|
-
|
|
213
|
+
// **`resume` names the one command that leads to a hold.** Switched onto the branch, the same ask
|
|
214
|
+
// answers `clean` and takes the hold, so the caller never alternates between `resume` and `reclaim`.
|
|
215
|
+
// A branch an open lane has checked out cannot be switched to here, so that lane's directory is named.
|
|
216
|
+
function resume_steps(child: ChildState): Array<string> {
|
|
217
|
+
if (child.lane_directory !== undefined) {
|
|
218
|
+
return [
|
|
219
|
+
`cd ${shell_quote.word(child.lane_directory)}`,
|
|
220
|
+
'Resume in that lane worktree, where the branch is checked out; keep its directory.',
|
|
221
|
+
]
|
|
222
|
+
}
|
|
223
|
+
|
|
224
|
+
if (child.branch_name === undefined) return []
|
|
225
|
+
|
|
226
|
+
return [
|
|
227
|
+
`git switch ${shell_quote.word(child.branch_name)}`,
|
|
228
|
+
'Then ask this command again: it takes the hold there.',
|
|
229
|
+
]
|
|
230
|
+
}
|
|
231
|
+
|
|
232
|
+
function resume_advice(child: ChildState): string {
|
|
233
|
+
return [...resume_steps(child), RESUME_ADVICE].join('\n')
|
|
234
|
+
}
|
|
235
|
+
|
|
236
|
+
function to_advice(
|
|
237
|
+
verdict: PreflightVerdict,
|
|
238
|
+
issue: string,
|
|
239
|
+
tree: TreeState,
|
|
240
|
+
child: ChildState,
|
|
241
|
+
): string {
|
|
187
242
|
if (verdict === RECLAIM_VERDICT) return reclaim_advice(tree, issue)
|
|
188
243
|
|
|
189
|
-
if (verdict === RESUME_VERDICT) return
|
|
244
|
+
if (verdict === RESUME_VERDICT) return resume_advice(child)
|
|
190
245
|
|
|
191
246
|
if (verdict === PARK_VERDICT) return PARK_ADVICE
|
|
192
247
|
|
|
193
|
-
return CLEAN_ADVICE
|
|
248
|
+
return is_off_default(tree) ? RESUME_ADVICE : CLEAN_ADVICE
|
|
194
249
|
}
|
|
195
250
|
|
|
196
251
|
function decide(tree: TreeState, child: ChildState, issue: string): PreflightDecision {
|
|
197
|
-
const verdict = to_verdict(tree, child)
|
|
252
|
+
const verdict = to_verdict(tree, child, issue)
|
|
198
253
|
|
|
199
254
|
return {
|
|
200
|
-
advice: to_advice(verdict, issue, tree),
|
|
255
|
+
advice: to_advice(verdict, issue, tree, child),
|
|
201
256
|
reason: to_reason(verdict, tree, child),
|
|
202
257
|
verdict,
|
|
203
258
|
}
|
|
@@ -260,8 +315,16 @@ function is_pr_open(state: PrState): boolean {
|
|
|
260
315
|
return state === OPEN_PR
|
|
261
316
|
}
|
|
262
317
|
|
|
263
|
-
async function read_pr_of_branch(
|
|
264
|
-
|
|
318
|
+
async function read_pr_of_branch(
|
|
319
|
+
branch_name: string,
|
|
320
|
+
lane: LaneInfo | undefined,
|
|
321
|
+
): Promise<ChildState> {
|
|
322
|
+
const pr_state = await read_pr_state(branch_name)
|
|
323
|
+
const is_lane_branch = lane?.branch === branch_name && !lane.is_stranded
|
|
324
|
+
|
|
325
|
+
return is_lane_branch
|
|
326
|
+
? { branch_name, lane_directory: lane.directory, pr_state }
|
|
327
|
+
: { branch_name, pr_state }
|
|
265
328
|
}
|
|
266
329
|
|
|
267
330
|
// **A decided pull request on any candidate branch outranks an open one on another.** An interrupted
|
|
@@ -273,7 +336,7 @@ function pick_child_state(reads: ReadonlyArray<ChildState>): ChildState {
|
|
|
273
336
|
const decided = reads.find((read) => is_pr_decided(read.pr_state))
|
|
274
337
|
const open = reads.find((read) => is_pr_open(read.pr_state))
|
|
275
338
|
|
|
276
|
-
return decided ?? open ??
|
|
339
|
+
return decided ?? open ?? reads[0] ?? NO_CHILD_WORK
|
|
277
340
|
}
|
|
278
341
|
|
|
279
342
|
// `git branch --list` takes a glob, so the branch is found without knowing its slug: `pnpm josh git`
|
|
@@ -356,7 +419,7 @@ async function read_candidate(
|
|
|
356
419
|
references: ReadonlyArray<string>,
|
|
357
420
|
context: CandidateContext,
|
|
358
421
|
): Promise<ChildState | undefined> {
|
|
359
|
-
const state = await read_pr_of_branch(name)
|
|
422
|
+
const state = await read_pr_of_branch(name, context.lane)
|
|
360
423
|
|
|
361
424
|
if (state.pr_state !== NO_PR || (await has_commits_beyond(context.base, references))) return state
|
|
362
425
|
|
|
@@ -389,7 +452,7 @@ async function check(issue: string): Promise<PreflightDecision> {
|
|
|
389
452
|
|
|
390
453
|
const tree = await read_tree_state()
|
|
391
454
|
|
|
392
|
-
if (needs_reclaim(tree)) return decide(tree, NO_CHILD_WORK, issue)
|
|
455
|
+
if (needs_reclaim(tree, issue)) return decide(tree, NO_CHILD_WORK, issue)
|
|
393
456
|
|
|
394
457
|
return decide(tree, await read_child_state(issue), issue)
|
|
395
458
|
}
|
|
@@ -401,6 +464,7 @@ const run_preflight = {
|
|
|
401
464
|
STASH_LABEL_PREFIX,
|
|
402
465
|
check,
|
|
403
466
|
decide,
|
|
467
|
+
is_issue_branch,
|
|
404
468
|
read_child_state,
|
|
405
469
|
read_pr_state,
|
|
406
470
|
to_pr_state,
|
|
@@ -1,6 +1,5 @@
|
|
|
1
1
|
import { randomUUID } from 'node:crypto'
|
|
2
2
|
import { check_reuse } from '#scripts/gate/check-reuse'
|
|
3
|
-
import type { JoshResult } from '#scripts/josh/josh-run'
|
|
4
3
|
import { buffered_process } from '#scripts/lib/buffered-process'
|
|
5
4
|
import { error_text } from '#scripts/lib/error-message'
|
|
6
5
|
import { review_round_reuse } from '#scripts/review/review-round-reuse'
|
|
@@ -12,7 +11,7 @@ import { run_review_pinned_steps } from '#scripts/run/review/run-review-pinned-s
|
|
|
12
11
|
import { test_pinned } from '#scripts/test/test-pinned'
|
|
13
12
|
import { test_pinned_logic } from '#scripts/test/test-pinned-logic'
|
|
14
13
|
import { test_pinned_record, type PinnedSummary } from '#scripts/test/test-pinned-record'
|
|
15
|
-
import { run_ship_pre_detach, type PreDetachResult } from './run-ship-pre-detach'
|
|
14
|
+
import { run_ship_pre_detach, type PinnedResult, type PreDetachResult } from './run-ship-pre-detach'
|
|
16
15
|
import { run_ship_pre_detach_timed } from './run-ship-pre-detach-timed'
|
|
17
16
|
import type { ShipArguments } from './run-ship-steps'
|
|
18
17
|
|
|
@@ -125,21 +124,27 @@ async function is_listed_after_detach(number: string): Promise<boolean> {
|
|
|
125
124
|
}
|
|
126
125
|
}
|
|
127
126
|
|
|
127
|
+
// A stop carries the path it took into the ledger's stop record (joshuafolkken/kit#7552).
|
|
128
|
+
async function judged(answer: PinnedSummary, reason: string | undefined): Promise<PinnedResult> {
|
|
129
|
+
const verdict = await run_review_pinned_accepted.judge(answer, reason)
|
|
130
|
+
|
|
131
|
+
if (verdict.kind !== 'stop') return { code: SUCCESS_EXIT_CODE, out: verdict.text }
|
|
132
|
+
|
|
133
|
+
const unpinned = await run_review_pinned_accepted.unpinned_stop(answer)
|
|
134
|
+
|
|
135
|
+
return { code: FAILURE_EXIT_CODE, out: verdict.text, unpinned }
|
|
136
|
+
}
|
|
137
|
+
|
|
128
138
|
// **A reason accepts any answer, so no probe is waited on** (joshuafolkken/kit#4833) when a fresh
|
|
129
139
|
// round 1 lists the places after the detach.
|
|
130
|
-
async function pinned_check(options: CheckOptions): Promise<
|
|
140
|
+
async function pinned_check(options: CheckOptions): Promise<PinnedResult> {
|
|
131
141
|
const reason = run_review_pinned.ok_reason_of(options.unpinned_ok)
|
|
132
142
|
|
|
133
143
|
if (reason !== undefined && (await is_listed_after_detach(options.number))) {
|
|
134
144
|
return { code: SUCCESS_EXIT_CODE, out: `${SKIPPED_NOTE}${reason}\n` }
|
|
135
145
|
}
|
|
136
146
|
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
return {
|
|
140
|
-
code: verdict.kind === 'stop' ? FAILURE_EXIT_CODE : SUCCESS_EXIT_CODE,
|
|
141
|
-
out: verdict.text,
|
|
142
|
-
}
|
|
147
|
+
return await judged(await summary_for(reason), reason)
|
|
143
148
|
}
|
|
144
149
|
|
|
145
150
|
// **A ship with no `--review` reads no background probe, so it stops the one left running**
|
|
@@ -8,6 +8,7 @@ import { metrics_totals } from '#scripts/gate/metrics-totals'
|
|
|
8
8
|
import { structural_checks } from '#scripts/gate/structural-checks'
|
|
9
9
|
import { type_check_step } from '#scripts/gate/type-check-step'
|
|
10
10
|
import type { JoshResult } from '#scripts/josh/josh-run'
|
|
11
|
+
import type { UnpinnedStop } from '#scripts/lane/lane-ledger-schema-ship'
|
|
11
12
|
import { lane_ledger_write } from '#scripts/lane/lane-ledger-write'
|
|
12
13
|
import { buffered_process, type BufferedProcessResult } from '#scripts/lib/buffered-process'
|
|
13
14
|
|
|
@@ -145,7 +146,12 @@ function verdict(runs: ReadonlyArray<PreDetachRun>): JoshResult {
|
|
|
145
146
|
}
|
|
146
147
|
|
|
147
148
|
// The `test:pinned` check a `--review` ship adds (`run-ship-pre-detach-pinned.ts`); none is asked by default.
|
|
148
|
-
|
|
149
|
+
// A red one carries the path its stop took (joshuafolkken/kit#7552).
|
|
150
|
+
interface PinnedResult extends JoshResult {
|
|
151
|
+
unpinned?: UnpinnedStop
|
|
152
|
+
}
|
|
153
|
+
|
|
154
|
+
type PinnedCheck = () => Promise<PinnedResult>
|
|
149
155
|
|
|
150
156
|
async function not_asked(): Promise<JoshResult> {
|
|
151
157
|
return { code: SUCCESS_EXIT_CODE, out: PASSED }
|
|
@@ -153,8 +159,8 @@ async function not_asked(): Promise<JoshResult> {
|
|
|
153
159
|
|
|
154
160
|
// The checks' answer, with the kinds a `stop` record names its red by: `pre-detach` for the static
|
|
155
161
|
// checks, `unpinned` for `test:pinned`, so `lane:stats` tells an unpinned stop apart
|
|
156
|
-
// (joshuafolkken/kit#5228).
|
|
157
|
-
interface PreDetachResult extends
|
|
162
|
+
// (joshuafolkken/kit#5228), and the path that `unpinned` stop took.
|
|
163
|
+
interface PreDetachResult extends PinnedResult {
|
|
158
164
|
preconditions?: ReadonlyArray<string>
|
|
159
165
|
}
|
|
160
166
|
|
|
@@ -173,11 +179,14 @@ function red_kinds(result: JoshResult, pinned: JoshResult): ReadonlyArray<string
|
|
|
173
179
|
}
|
|
174
180
|
|
|
175
181
|
// The pinned check's stop joins the others' rather than hiding them.
|
|
176
|
-
function with_pinned(result: JoshResult, pinned:
|
|
182
|
+
function with_pinned(result: JoshResult, pinned: PinnedResult): PreDetachResult {
|
|
177
183
|
const preconditions = red_kinds(result, pinned)
|
|
178
|
-
const
|
|
184
|
+
const { code, out } = joined(result, pinned)
|
|
185
|
+
const { unpinned } = pinned
|
|
186
|
+
|
|
187
|
+
if (preconditions.length === 0) return { code, out }
|
|
179
188
|
|
|
180
|
-
return preconditions
|
|
189
|
+
return { code, out, preconditions, ...(unpinned !== undefined && { unpinned }) }
|
|
181
190
|
}
|
|
182
191
|
|
|
183
192
|
// All run at once, buffered, and every failure is reported, so one ship shows all there is to fix.
|
|
@@ -213,5 +222,5 @@ const run_ship_pre_detach = {
|
|
|
213
222
|
with_pinned,
|
|
214
223
|
}
|
|
215
224
|
|
|
216
|
-
export type { PinnedCheck, PreDetachCheck, PreDetachResult }
|
|
225
|
+
export type { PinnedCheck, PinnedResult, PreDetachCheck, PreDetachResult }
|
|
217
226
|
export { run_ship_pre_detach }
|