@joshuafolkken/kit 1.2114.0 → 1.3000.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/agents/design-consultant.md +19 -0
- package/.claude/agents/investigator.md +12 -2
- package/.claude/agents/reviewer-verification.md +13 -2
- package/.claude/agents/reviewer.md +13 -2
- package/.claude/settings.json +32 -9
- package/.claude/skills/dependency-update/SKILL.md +11 -14
- package/.claude/skills/epic-commands/SKILL.md +8 -6
- package/.claude/skills/epic-commands/epic-bundle.md +6 -7
- package/.claude/skills/verify-ui/SKILL.md +13 -23
- package/.claude/skills/workflow-commands/SKILL.md +19 -18
- package/.claude/skills/workflow-commands/background-commands.md +7 -4
- package/.claude/skills/workflow-commands/backlogrun-child.md +31 -64
- package/.claude/skills/workflow-commands/backlogrun-lanes.md +54 -62
- package/.claude/skills/workflow-commands/backlogrun-park.md +65 -64
- package/.claude/skills/workflow-commands/backlogrun-progress.md +30 -44
- package/.claude/skills/workflow-commands/backlogrun-recovery.md +18 -33
- package/.claude/skills/workflow-commands/backlogrun-steps.md +62 -50
- package/.claude/skills/workflow-commands/backlogrun.md +13 -18
- package/.claude/skills/workflow-commands/chain-rule.md +54 -53
- package/.claude/skills/workflow-commands/delegation.md +11 -11
- package/.claude/skills/workflow-commands/entry-sequence.md +23 -34
- package/.claude/skills/workflow-commands/followup.md +19 -17
- package/.claude/skills/workflow-commands/fullrun-lane.md +11 -0
- package/.claude/skills/workflow-commands/fullrun-steps.md +27 -34
- package/.claude/skills/workflow-commands/fullrun.md +5 -6
- package/.claude/skills/workflow-commands/halfrun.md +4 -7
- package/.claude/skills/workflow-commands/issue-comments.md +29 -15
- package/.claude/skills/workflow-commands/issue-fold-existing.md +9 -14
- package/.claude/skills/workflow-commands/issue-scout.md +5 -8
- package/.claude/skills/workflow-commands/kickoff.md +25 -34
- package/.claude/skills/workflow-commands/latest-gate.md +6 -14
- package/.claude/skills/workflow-commands/needs-human-review.md +3 -3
- package/.claude/skills/workflow-commands/observation-filing.md +9 -7
- package/.claude/skills/workflow-commands/observation-ledger.md +4 -1
- package/.claude/skills/workflow-commands/pre-gate-cut.md +21 -26
- package/.claude/skills/workflow-commands/prerequisite.md +21 -6
- package/.claude/skills/workflow-commands/progress-watcher.md +8 -18
- package/.claude/skills/workflow-commands/prrun.md +1 -1
- package/.claude/skills/workflow-commands/retrospective.md +16 -15
- package/.claude/skills/workflow-commands/split-assessment.md +32 -22
- package/.claude/skills/workflow-commands/target-repository.md +2 -2
- package/.claude/skills/workflow-commands/working-tree-hold.md +3 -2
- package/.codex/hooks.json +18 -8
- package/.cursorrules +1 -2
- package/.github/actions/change-scope/action.yml +19 -0
- package/.github/actions/setup-pnpm/action.yml +87 -14
- package/.github/dependabot.yml +1 -0
- package/.github/workflows/ci.yml +74 -30
- package/.github/workflows/publish.yml +59 -16
- package/.github/workflows/sonar-qube.yml +28 -1
- package/.prettierignore +2 -0
- package/AGENTS.md +1 -2
- package/CLAUDE.md +8 -8
- package/GEMINI.md +1 -2
- package/README.md +1 -1
- package/SECURITY.md +11 -1
- package/cspell/index.yaml +11 -0
- package/dist/.inputs-verified.json +1 -0
- package/dist/CLAUDE.md +8 -8
- package/dist/commands/adopt.js +222 -0
- package/dist/commands/auth-setup-cli.js +127 -0
- package/dist/commands/auto-ok-judge-cli.js +223 -0
- package/dist/commands/auto-ok-main.js +136 -0
- package/dist/commands/backlog-budget-main.js +146 -0
- package/dist/commands/backlog-drive-cli.js +1935 -0
- package/dist/commands/backlog-next-main.js +186 -0
- package/dist/commands/backlog-offer-main.js +190 -0
- package/dist/commands/backlog-plan-cli.js +329 -0
- package/dist/commands/backlog-triage-cli.js +642 -0
- package/dist/commands/backlogrun-cli.js +829 -0
- package/dist/commands/behavior-cli.js +216 -0
- package/dist/commands/bump-version-main.js +22 -0
- package/dist/commands/bytes-command.js +208 -0
- package/dist/commands/cases-cli.js +57 -0
- package/dist/commands/check-commit-message-main.js +22 -0
- package/dist/commands/check-related.js +551 -0
- package/dist/commands/chunk-23GH6B3D.js +333 -0
- package/dist/commands/chunk-2ADQ5XRD.js +36 -0
- package/dist/commands/chunk-2CXAVVST.js +20 -0
- package/dist/commands/chunk-2DJLAUYB.js +109 -0
- package/dist/commands/chunk-2FE3C4PH.js +112 -0
- package/dist/commands/chunk-2FJJYCBD.js +149 -0
- package/dist/commands/chunk-2IESYBZH.js +34 -0
- package/dist/commands/chunk-2MJ4OCDL.js +188 -0
- package/dist/commands/chunk-2NSB5ZYQ.js +26 -0
- package/dist/commands/chunk-2OIX4JLA.js +37 -0
- package/dist/commands/chunk-2TQXCH2K.js +145 -0
- package/dist/commands/chunk-2VLHFILE.js +52 -0
- package/dist/commands/chunk-2VRITY55.js +41 -0
- package/dist/commands/chunk-2YCKPX3A.js +25 -0
- package/dist/commands/chunk-32SNWQJP.js +99 -0
- package/dist/commands/chunk-337QQM4C.js +136 -0
- package/dist/commands/chunk-34DND4BA.js +104 -0
- package/dist/commands/chunk-34LAULSC.js +352 -0
- package/dist/commands/chunk-36LOGVJ7.js +38 -0
- package/dist/commands/chunk-36M2UV6C.js +80 -0
- package/dist/commands/chunk-3BNNMJOT.js +702 -0
- package/dist/commands/chunk-3CCGKX7Y.js +20 -0
- package/dist/commands/chunk-3EO2XN3A.js +124 -0
- package/dist/commands/chunk-3GF52L5F.js +271 -0
- package/dist/commands/chunk-3HU3LPIF.js +113 -0
- package/dist/commands/chunk-3LZXX5GL.js +50 -0
- package/dist/commands/chunk-3NWAGIA6.js +39 -0
- package/dist/commands/chunk-3PEXBHRN.js +33 -0
- package/dist/commands/chunk-3RIQ36LH.js +110 -0
- package/dist/commands/chunk-3UKJFWKS.js +170 -0
- package/dist/commands/chunk-3WRQP3QE.js +47 -0
- package/dist/commands/chunk-3WWQFCGX.js +18 -0
- package/dist/commands/chunk-3ZEO3KOM.js +35 -0
- package/dist/commands/chunk-4BEIYKI2.js +76 -0
- package/dist/commands/chunk-4D5KWMFL.js +461 -0
- package/dist/commands/chunk-4DVM57T7.js +86 -0
- package/dist/commands/chunk-4EADHJVC.js +247 -0
- package/dist/commands/chunk-4G7NKNAZ.js +114 -0
- package/dist/commands/chunk-4HBVHYNL.js +73 -0
- package/dist/commands/chunk-4LWRCPS5.js +114 -0
- package/dist/commands/chunk-4P2LCVGO.js +211 -0
- package/dist/commands/chunk-4PES3BAA.js +263 -0
- package/dist/commands/chunk-4PUKDAXL.js +42 -0
- package/dist/commands/chunk-4Q4FXBUQ.js +99 -0
- package/dist/commands/chunk-4QYW2IL7.js +82 -0
- package/dist/commands/chunk-4YI4SLRJ.js +161 -0
- package/dist/commands/chunk-4Z5723GA.js +350 -0
- package/dist/commands/chunk-4ZHWTTQW.js +99 -0
- package/dist/commands/chunk-55I7OYHI.js +98 -0
- package/dist/commands/chunk-5GBZ43UA.js +58 -0
- package/dist/commands/chunk-5HCPSV45.js +800 -0
- package/dist/{hooks/chunk-OPSRGWFU.js → commands/chunk-5HVYOIIK.js} +1 -1
- package/dist/commands/chunk-5HWZFL4D.js +4175 -0
- package/dist/commands/chunk-5PAEXYIY.js +234 -0
- package/dist/commands/chunk-5SB37YDW.js +321 -0
- package/dist/commands/chunk-5TMAPYQD.js +19 -0
- package/dist/commands/chunk-5WIZR5SC.js +313 -0
- package/dist/commands/chunk-5Y7QQYTU.js +232 -0
- package/dist/commands/chunk-5ZTQX7OS.js +125 -0
- package/dist/commands/chunk-65E4OZJ7.js +9 -0
- package/dist/commands/chunk-66NX6EXR.js +29 -0
- package/dist/commands/chunk-66TGK5XL.js +84 -0
- package/dist/commands/chunk-6CJXLPRI.js +72 -0
- package/dist/commands/chunk-6EU5ZCDP.js +402 -0
- package/dist/commands/chunk-6FWV56B3.js +40 -0
- package/dist/commands/chunk-6HRRZANN.js +55 -0
- package/dist/commands/chunk-6I2JM5UX.js +134 -0
- package/dist/commands/chunk-6JVNRY5A.js +29 -0
- package/dist/commands/chunk-6NGNMIMT.js +20 -0
- package/dist/commands/chunk-6NRTLH6I.js +51 -0
- package/dist/commands/chunk-6NV2F7QH.js +47 -0
- package/dist/commands/chunk-6OP63TBT.js +78 -0
- package/dist/commands/chunk-6Q3XUCLM.js +204 -0
- package/dist/commands/chunk-6SKMZGER.js +148 -0
- package/dist/commands/chunk-6TESOL3L.js +173 -0
- package/dist/commands/chunk-6UGFS3EU.js +704 -0
- package/dist/commands/chunk-6VTJO5L2.js +38 -0
- package/dist/commands/chunk-6WEVLIZE.js +29 -0
- package/dist/commands/chunk-6WKJ3GDA.js +408 -0
- package/dist/commands/chunk-6WTVAL4D.js +115 -0
- package/dist/commands/chunk-72EW7AVI.js +59 -0
- package/dist/commands/chunk-72J2G2E7.js +1189 -0
- package/dist/commands/chunk-73EBNBUW.js +90 -0
- package/dist/commands/chunk-73JOEKIC.js +169 -0
- package/dist/commands/chunk-73KBUQKI.js +41 -0
- package/dist/commands/chunk-7CHCZBNF.js +555 -0
- package/dist/commands/chunk-7EAMUVIO.js +326 -0
- package/dist/commands/chunk-7GHOFHUS.js +48 -0
- package/dist/commands/chunk-7GMTJDO2.js +469 -0
- package/dist/commands/chunk-7HCPRVMB.js +76 -0
- package/dist/commands/chunk-7IT23HIR.js +306 -0
- package/dist/commands/chunk-7IZJ5MG2.js +72 -0
- package/dist/commands/chunk-7LJQMM2K.js +102 -0
- package/dist/commands/chunk-7MOZEEFJ.js +350 -0
- package/dist/commands/chunk-7P4X4TQL.js +507 -0
- package/dist/commands/chunk-7S6VRZOH.js +223 -0
- package/dist/commands/chunk-7V5UVKFG.js +20 -0
- package/dist/commands/chunk-7W3D3WRW.js +171 -0
- package/dist/commands/chunk-7ZECP3J6.js +212 -0
- package/dist/commands/chunk-A3D2XHOJ.js +387 -0
- package/dist/commands/chunk-A4HOQKOG.js +85 -0
- package/dist/commands/chunk-A5V7EWIX.js +85 -0
- package/dist/commands/chunk-A6T2N7VC.js +159 -0
- package/dist/commands/chunk-AI5K4QJO.js +72 -0
- package/dist/commands/chunk-AJWR7D3H.js +15 -0
- package/dist/commands/chunk-AKK56GNX.js +205 -0
- package/dist/commands/chunk-AKQYYHP2.js +461 -0
- package/dist/commands/chunk-AM44D7NF.js +52 -0
- package/dist/commands/chunk-ANUTT56I.js +85 -0
- package/dist/commands/chunk-AQ3PMSXK.js +76 -0
- package/dist/commands/chunk-AS3GWVAN.js +45 -0
- package/dist/commands/chunk-ATRMETHT.js +23 -0
- package/dist/commands/chunk-AVUGMOHZ.js +210 -0
- package/dist/commands/chunk-AWLYN2SP.js +64 -0
- package/dist/commands/chunk-AZUE65NT.js +77 -0
- package/dist/commands/chunk-B2EA2HCY.js +119 -0
- package/dist/commands/chunk-B33BTNB4.js +87 -0
- package/dist/commands/chunk-B3XFOHDX.js +71 -0
- package/dist/commands/chunk-B5GXZK3E.js +34 -0
- package/dist/commands/chunk-B77ZMVHS.js +80 -0
- package/dist/commands/chunk-BCK5LW4F.js +45 -0
- package/dist/commands/chunk-BEE7OAQ5.js +210 -0
- package/dist/commands/chunk-BF6YX4HE.js +70 -0
- package/dist/commands/chunk-BFLFPKQQ.js +46 -0
- package/dist/commands/chunk-BHRS7HAM.js +272 -0
- package/dist/commands/chunk-BIKGPT52.js +29 -0
- package/dist/commands/chunk-BJA5U4Q7.js +75 -0
- package/dist/commands/chunk-BJKEXXY6.js +15 -0
- package/dist/commands/chunk-BK6Q4VCA.js +128 -0
- package/dist/commands/chunk-BNXE3NVB.js +107 -0
- package/dist/commands/chunk-BPSJSHYD.js +209 -0
- package/dist/commands/chunk-BRFQBJ5Y.js +132 -0
- package/dist/commands/chunk-BY3POLIQ.js +104 -0
- package/dist/commands/chunk-BYSPYVLD.js +130 -0
- package/dist/commands/chunk-C26LKDBE.js +60 -0
- package/dist/commands/chunk-C2SEDMZ3.js +238 -0
- package/dist/commands/chunk-C6QSVO5K.js +56 -0
- package/dist/commands/chunk-CA6F5OXK.js +809 -0
- package/dist/commands/chunk-CADFBQJJ.js +75 -0
- package/dist/commands/chunk-CDY4NFQG.js +15 -0
- package/dist/commands/chunk-CGLLAEKZ.js +110 -0
- package/dist/commands/chunk-CHX4QTP4.js +133 -0
- package/dist/commands/chunk-CJAA5GAF.js +418 -0
- package/dist/commands/chunk-CJKPF5DJ.js +156 -0
- package/dist/commands/chunk-CJSFC5YI.js +158 -0
- package/dist/commands/chunk-CRNPPKP2.js +99 -0
- package/dist/commands/chunk-CUR2WNYB.js +42 -0
- package/dist/commands/chunk-CYQ3ZF7R.js +372 -0
- package/dist/commands/chunk-D3SHCUBC.js +64 -0
- package/dist/commands/chunk-D4HNS43Q.js +208 -0
- package/dist/commands/chunk-D4SZK7H2.js +34 -0
- package/dist/commands/chunk-D5HIP4HT.js +289 -0
- package/dist/commands/chunk-D5TAR6TV.js +71 -0
- package/dist/commands/chunk-DAJCUSPG.js +127 -0
- package/dist/commands/chunk-DBKTFB5V.js +18 -0
- package/dist/commands/chunk-DIB2Z2OS.js +307 -0
- package/dist/commands/chunk-DJVMC3U2.js +131 -0
- package/dist/commands/chunk-DKM4UJQU.js +10 -0
- package/dist/commands/chunk-DMD74E3F.js +39 -0
- package/dist/commands/chunk-DNJC7X73.js +84 -0
- package/dist/commands/chunk-DP7WIGQ4.js +298 -0
- package/dist/commands/chunk-DPJVKTO4.js +41 -0
- package/dist/commands/chunk-DRCTDVI2.js +83 -0
- package/dist/commands/chunk-DSBK66US.js +67 -0
- package/dist/commands/chunk-DXJQHJQ4.js +73 -0
- package/dist/commands/chunk-DXZW4V7J.js +114 -0
- package/dist/commands/chunk-E2ZCUKHT.js +274 -0
- package/dist/commands/chunk-E33LSO2W.js +20 -0
- package/dist/commands/chunk-E3CXOVPQ.js +258 -0
- package/dist/commands/chunk-EBI2BAKQ.js +47 -0
- package/dist/commands/chunk-EBNIX2TC.js +81 -0
- package/dist/commands/chunk-EBVS2LKX.js +60 -0
- package/dist/commands/chunk-EFHSCUFN.js +170 -0
- package/dist/commands/chunk-EH3LVYOX.js +72 -0
- package/dist/commands/chunk-EI6JG5DF.js +92 -0
- package/dist/commands/chunk-EK2Y6B4X.js +140 -0
- package/dist/commands/chunk-EK327QOS.js +260 -0
- package/dist/commands/chunk-EKCKCX5S.js +291 -0
- package/dist/commands/chunk-ELWNRE6E.js +93 -0
- package/dist/commands/chunk-ENFPR7J2.js +53 -0
- package/dist/commands/chunk-ENLWXAHD.js +80 -0
- package/dist/commands/chunk-ERGZPWKP.js +102 -0
- package/dist/commands/chunk-ESQEEL4O.js +58 -0
- package/dist/commands/chunk-EW4NPUMQ.js +363 -0
- package/dist/commands/chunk-EWA72KO7.js +241 -0
- package/dist/commands/chunk-EWVR5AEX.js +140 -0
- package/dist/commands/chunk-EZSO25UZ.js +80 -0
- package/dist/commands/chunk-F22G3VDB.js +183 -0
- package/dist/commands/chunk-F2HFWLQR.js +32 -0
- package/dist/commands/chunk-F2J6DGDM.js +302 -0
- package/dist/commands/chunk-F3WBEEYC.js +68 -0
- package/dist/commands/chunk-F6OWP2AY.js +750 -0
- package/dist/commands/chunk-F7XLEK55.js +62 -0
- package/dist/commands/chunk-FB3D7CX5.js +241 -0
- package/dist/commands/chunk-FC33R5UN.js +516 -0
- package/dist/commands/chunk-FCINBCKB.js +77 -0
- package/dist/commands/chunk-FFHEGWPK.js +91 -0
- package/dist/commands/chunk-FGL6DBZU.js +71 -0
- package/dist/commands/chunk-FGZQSSGH.js +210 -0
- package/dist/{hooks/chunk-VVNYJWEI.js → commands/chunk-FIUCHMCF.js} +4 -2
- package/dist/commands/chunk-FNOSSXLG.js +61 -0
- package/dist/commands/chunk-FNQW6NY7.js +154 -0
- package/dist/commands/chunk-FROACLVU.js +525 -0
- package/dist/commands/chunk-FVVZIJUC.js +425 -0
- package/dist/commands/chunk-G47ZNQVG.js +17 -0
- package/dist/commands/chunk-G6BXCWPH.js +141 -0
- package/dist/commands/chunk-GA4VIFHD.js +224 -0
- package/dist/commands/chunk-GA6E4VGO.js +328 -0
- package/dist/commands/chunk-GDUK5YPO.js +185 -0
- package/dist/commands/chunk-GIGKMIPQ.js +72 -0
- package/dist/commands/chunk-GJYMI2CM.js +48 -0
- package/dist/commands/chunk-GK2KY4MO.js +67 -0
- package/dist/commands/chunk-GM3XLC4W.js +63 -0
- package/dist/commands/chunk-GO3GH7FG.js +75 -0
- package/dist/commands/chunk-GPMSYXYO.js +378 -0
- package/dist/commands/chunk-GPTO6IZG.js +29 -0
- package/dist/commands/chunk-GQHUFNXN.js +54 -0
- package/dist/commands/chunk-GU5ML3Y3.js +263 -0
- package/dist/commands/chunk-GW4UWR3O.js +126 -0
- package/dist/commands/chunk-H4LYG37R.js +716 -0
- package/dist/commands/chunk-HBNB3TLG.js +122 -0
- package/dist/commands/chunk-HCA5QG2U.js +299 -0
- package/dist/commands/chunk-HE5S4XRE.js +21 -0
- package/dist/commands/chunk-HESMKHEB.js +105 -0
- package/dist/commands/chunk-HG2NZQD5.js +135 -0
- package/dist/commands/chunk-HH2KDLTP.js +161 -0
- package/dist/commands/chunk-HHBC6QZE.js +95 -0
- package/dist/commands/chunk-HIB5G2X6.js +426 -0
- package/dist/commands/chunk-HIPO6HUG.js +45 -0
- package/dist/commands/chunk-HIU2WXB6.js +26 -0
- package/dist/commands/chunk-HJKZDDDI.js +62 -0
- package/dist/commands/chunk-HLKAFSN4.js +76 -0
- package/dist/commands/chunk-HLUS2M3D.js +7 -0
- package/dist/commands/chunk-HO52D6JY.js +278 -0
- package/dist/commands/chunk-HOGFJHBT.js +412 -0
- package/dist/commands/chunk-HOSZITJM.js +156 -0
- package/dist/commands/chunk-HPVLI26Z.js +123 -0
- package/dist/commands/chunk-HQ2HSZBN.js +69 -0
- package/dist/commands/chunk-HRLGFRAV.js +21 -0
- package/dist/commands/chunk-HRT4KWP4.js +178 -0
- package/dist/commands/chunk-HTIDHEEN.js +108 -0
- package/dist/commands/chunk-HXCZ3KWS.js +41 -0
- package/dist/commands/chunk-HZBTXKT2.js +61 -0
- package/dist/commands/chunk-HZSQI6TD.js +18 -0
- package/dist/commands/chunk-I63RNFFR.js +213 -0
- package/dist/commands/chunk-IBEKFLWG.js +137 -0
- package/dist/commands/chunk-ICEMFE2V.js +139 -0
- package/dist/commands/chunk-IG22Y5MA.js +56 -0
- package/dist/commands/chunk-IGD6QJPH.js +91 -0
- package/dist/commands/chunk-ILGPZ47M.js +33 -0
- package/dist/commands/chunk-ILQZFUDC.js +65 -0
- package/dist/commands/chunk-ISPBJVXM.js +238 -0
- package/dist/commands/chunk-IW6NWCSN.js +10 -0
- package/dist/commands/chunk-IXX4SXIP.js +53 -0
- package/dist/commands/chunk-IZVM2TTH.js +84 -0
- package/dist/commands/chunk-J3G2R64I.js +88 -0
- package/dist/commands/chunk-J3TKZLHA.js +11 -0
- package/dist/commands/chunk-J6GIVMXI.js +59 -0
- package/dist/commands/chunk-JB7R3A4A.js +204 -0
- package/dist/commands/chunk-JGTLNFFE.js +803 -0
- package/dist/commands/chunk-JHN6RCE6.js +123 -0
- package/dist/commands/chunk-JJRKTWLK.js +64 -0
- package/dist/commands/chunk-JLREFWJ4.js +244 -0
- package/dist/commands/chunk-JLYW7CP6.js +43 -0
- package/dist/commands/chunk-JNWHX25C.js +36 -0
- package/dist/commands/chunk-JOARHU3M.js +137 -0
- package/dist/commands/chunk-JQXPLMCO.js +81 -0
- package/dist/commands/chunk-JTU5A4JI.js +55 -0
- package/dist/commands/chunk-JUJFIATR.js +121 -0
- package/dist/commands/chunk-JUUBDYFZ.js +61 -0
- package/dist/commands/chunk-JZOTCPX2.js +115 -0
- package/dist/commands/chunk-K2WVYHCP.js +18 -0
- package/dist/commands/chunk-K7GL3BGI.js +419 -0
- package/dist/commands/chunk-KB3OQWDT.js +71 -0
- package/dist/commands/chunk-KHWTJ4F7.js +132 -0
- package/dist/commands/chunk-KIILCKQR.js +220 -0
- package/dist/commands/chunk-KIVOZY2J.js +1864 -0
- package/dist/commands/chunk-KQWSENCT.js +94 -0
- package/dist/commands/chunk-KSR23NYN.js +33 -0
- package/dist/commands/chunk-KTLR4Y32.js +21 -0
- package/dist/commands/chunk-KUJQWO6M.js +119 -0
- package/dist/commands/chunk-KVHNQHX3.js +100 -0
- package/dist/commands/chunk-KVJDDECB.js +51 -0
- package/dist/commands/chunk-KVSSLDA3.js +1062 -0
- package/dist/commands/chunk-KVURNO74.js +187 -0
- package/dist/commands/chunk-KXHXMERX.js +214 -0
- package/dist/commands/chunk-KXRFGPZD.js +69 -0
- package/dist/commands/chunk-KZSM5M5P.js +89 -0
- package/dist/commands/chunk-L6LU2633.js +91 -0
- package/dist/commands/chunk-L6TU7FC2.js +103 -0
- package/dist/commands/chunk-L6XN3EXI.js +138 -0
- package/dist/commands/chunk-LA5WTOAM.js +319 -0
- package/dist/commands/chunk-LAKVPOJQ.js +59 -0
- package/dist/commands/chunk-LAYSCY4L.js +6 -0
- package/dist/commands/chunk-LBLII7BS.js +14 -0
- package/dist/commands/chunk-LC7SBONO.js +98 -0
- package/dist/commands/chunk-LCEJXF7A.js +101 -0
- package/dist/commands/chunk-LE2T3FGJ.js +302 -0
- package/dist/commands/chunk-LE7TFPMU.js +88 -0
- package/dist/commands/chunk-LHKXJD6L.js +303 -0
- package/dist/commands/chunk-LMS6N6GE.js +332 -0
- package/dist/commands/chunk-LMSS4ARB.js +32 -0
- package/dist/commands/chunk-LNBUIOK6.js +133 -0
- package/dist/commands/chunk-LOSOLCCW.js +119 -0
- package/dist/commands/chunk-LQXFVZTS.js +13 -0
- package/dist/commands/chunk-LRA3PXHS.js +472 -0
- package/dist/commands/chunk-LRS2OS5J.js +395 -0
- package/dist/commands/chunk-LULJUD6P.js +131 -0
- package/dist/commands/chunk-LUMCYDGE.js +141 -0
- package/dist/commands/chunk-LWAXXZPS.js +118 -0
- package/dist/commands/chunk-LYEKT3IN.js +77 -0
- package/dist/commands/chunk-LZNYHWRO.js +78 -0
- package/dist/commands/chunk-M3ZDYCUF.js +117 -0
- package/dist/commands/chunk-M42SLJCD.js +97 -0
- package/dist/commands/chunk-M4PEC7YW.js +349 -0
- package/dist/commands/chunk-MAGJFH5T.js +77 -0
- package/dist/commands/chunk-MDKDJF2K.js +160 -0
- package/dist/commands/chunk-MDLOETXL.js +211 -0
- package/dist/commands/chunk-MGF64OHV.js +32 -0
- package/dist/commands/chunk-MMTVQOCP.js +211 -0
- package/dist/commands/chunk-MMXZKLDU.js +115 -0
- package/dist/commands/chunk-MPGJ4ONJ.js +634 -0
- package/dist/commands/chunk-MS6Q3Z7V.js +870 -0
- package/dist/commands/chunk-MSPIR3OA.js +32 -0
- package/dist/commands/chunk-MVPUQLN5.js +183 -0
- package/dist/commands/chunk-MXC4IBZ7.js +104 -0
- package/dist/commands/chunk-MY3RSOS5.js +52 -0
- package/dist/commands/chunk-MYNM3YMR.js +347 -0
- package/dist/commands/chunk-MYWRGF5A.js +177 -0
- package/dist/commands/chunk-MZHOPRI6.js +529 -0
- package/dist/commands/chunk-N4O5I55P.js +655 -0
- package/dist/commands/chunk-N6TYL3B2.js +250 -0
- package/dist/commands/chunk-NFEBQED3.js +179 -0
- package/dist/commands/chunk-NFKULY26.js +48 -0
- package/dist/commands/chunk-NGKB632X.js +92 -0
- package/dist/commands/chunk-NJ53AWJU.js +122 -0
- package/dist/commands/chunk-NJT5L6IC.js +126 -0
- package/dist/commands/chunk-NKKH3PBE.js +87 -0
- package/dist/commands/chunk-NKOET4FB.js +44 -0
- package/dist/commands/chunk-NMLCPYBN.js +134 -0
- package/dist/commands/chunk-NOXLKIPR.js +114 -0
- package/dist/commands/chunk-NSAVEXVR.js +353 -0
- package/dist/commands/chunk-NSZTSCBW.js +1263 -0
- package/dist/commands/chunk-NYWGJLBU.js +19 -0
- package/dist/commands/chunk-O26Y2FOJ.js +134 -0
- package/dist/commands/chunk-O27H6NN6.js +163 -0
- package/dist/commands/chunk-O3NDWYNT.js +68 -0
- package/dist/commands/chunk-O4WBADCX.js +88 -0
- package/dist/commands/chunk-O5FVBIRI.js +271 -0
- package/dist/commands/chunk-O5QZ2S6X.js +98 -0
- package/dist/commands/chunk-OGNTJ5JB.js +47 -0
- package/dist/commands/chunk-OHNP3QL2.js +186 -0
- package/dist/commands/chunk-OHVAEJSM.js +184 -0
- package/dist/commands/chunk-OI7KM4K3.js +43 -0
- package/dist/commands/chunk-OIDMJASD.js +62 -0
- package/dist/commands/chunk-OJ4LGBVD.js +126 -0
- package/dist/commands/chunk-OKKQI4ZG.js +49 -0
- package/dist/commands/chunk-OKYFQJW3.js +22 -0
- package/dist/commands/chunk-ORSI7Y55.js +133 -0
- package/dist/commands/chunk-OT3UMEWK.js +47 -0
- package/dist/commands/chunk-OTZJXU2R.js +170 -0
- package/dist/commands/chunk-OVA7STGP.js +578 -0
- package/dist/commands/chunk-OWR2TCOY.js +269 -0
- package/dist/commands/chunk-OZZWRJQI.js +246 -0
- package/dist/commands/chunk-P4CWLRT2.js +213 -0
- package/dist/commands/chunk-P4D5RESF.js +88 -0
- package/dist/commands/chunk-P4KIQRSL.js +119 -0
- package/dist/commands/chunk-P4O67FP5.js +488 -0
- package/dist/commands/chunk-P6RGQXHI.js +391 -0
- package/dist/commands/chunk-P7FPXAHP.js +29 -0
- package/dist/commands/chunk-PBOS7MTW.js +6 -0
- package/dist/commands/chunk-PDAY76AN.js +47 -0
- package/dist/commands/chunk-PDDKRHHS.js +128 -0
- package/dist/commands/chunk-PE7B7242.js +84 -0
- package/dist/commands/chunk-PF22VUWB.js +723 -0
- package/dist/commands/chunk-PFO7EYAP.js +45 -0
- package/dist/commands/chunk-PR3JCPP7.js +126 -0
- package/dist/commands/chunk-PWYXY46Y.js +1150 -0
- package/dist/commands/chunk-PYOK73QE.js +44 -0
- package/dist/commands/chunk-PZ4ITSLG.js +80 -0
- package/dist/commands/chunk-PZ6VWHOO.js +144 -0
- package/dist/commands/chunk-PZTWQYRI.js +44 -0
- package/dist/commands/chunk-PZU6FZO6.js +17 -0
- package/dist/commands/chunk-Q3463XNL.js +198 -0
- package/dist/commands/chunk-Q5N2J2UF.js +78 -0
- package/dist/commands/chunk-Q5Q2QYVU.js +112 -0
- package/dist/commands/chunk-Q6SKKQVJ.js +34 -0
- package/dist/commands/chunk-Q7TV3OV6.js +218 -0
- package/dist/commands/chunk-QA22PBCJ.js +165 -0
- package/dist/commands/chunk-QAHFPCFR.js +50 -0
- package/dist/commands/chunk-QDFDB4CF.js +478 -0
- package/dist/commands/chunk-QEIO2ZNQ.js +324 -0
- package/dist/commands/chunk-QF4WC2AE.js +10 -0
- package/dist/commands/chunk-QGAERR7D.js +99 -0
- package/dist/commands/chunk-QHWJJ6X5.js +53 -0
- package/dist/commands/chunk-QQ4CIYMF.js +132 -0
- package/dist/commands/chunk-QQBMVC5W.js +227 -0
- package/dist/commands/chunk-QQZOQ7AM.js +32 -0
- package/dist/commands/chunk-QS5USD4T.js +540 -0
- package/dist/commands/chunk-QVOFWFWC.js +134 -0
- package/dist/commands/chunk-QWWTC3XR.js +109 -0
- package/dist/commands/chunk-QWX7EBC6.js +112 -0
- package/dist/commands/chunk-QX2R6UJG.js +15 -0
- package/dist/commands/chunk-QXQ56E56.js +27 -0
- package/dist/commands/chunk-R2CF6VZE.js +114 -0
- package/dist/commands/chunk-R6QE5VJG.js +46 -0
- package/dist/commands/chunk-R7IT5VOL.js +27 -0
- package/dist/commands/chunk-RBU2NKHF.js +44 -0
- package/dist/commands/chunk-RDRN56E4.js +92 -0
- package/dist/commands/chunk-REMKUFAC.js +304 -0
- package/dist/commands/chunk-REPANBLS.js +168 -0
- package/dist/commands/chunk-RGDFWJPZ.js +135 -0
- package/dist/commands/chunk-RGGEQM6G.js +140 -0
- package/dist/commands/chunk-RH6ZWJOA.js +77 -0
- package/dist/commands/chunk-RHII5XI6.js +492 -0
- package/dist/commands/chunk-RI7EQYKL.js +60 -0
- package/dist/commands/chunk-RINVPTA2.js +1310 -0
- package/dist/commands/chunk-RIQ75QWR.js +233 -0
- package/dist/commands/chunk-RIUPRMLW.js +63 -0
- package/dist/commands/chunk-RK4HE5NW.js +172 -0
- package/dist/commands/chunk-ROJXMBXP.js +85 -0
- package/dist/commands/chunk-RPDWFUQO.js +239 -0
- package/dist/commands/chunk-RQRLW4XK.js +20 -0
- package/dist/commands/chunk-RRQFITJE.js +40 -0
- package/dist/commands/chunk-RS764ZMU.js +46 -0
- package/dist/commands/chunk-RSSJWMQS.js +30 -0
- package/dist/commands/chunk-RUIBQMOV.js +38 -0
- package/dist/commands/chunk-RUWV4INF.js +245 -0
- package/dist/commands/chunk-RVHBWSIG.js +114 -0
- package/dist/commands/chunk-RVUJ6F5L.js +181 -0
- package/dist/commands/chunk-RX5JSPPH.js +1153 -0
- package/dist/commands/chunk-RXAZJMSZ.js +18 -0
- package/dist/commands/chunk-RY6ZDHKB.js +1218 -0
- package/dist/commands/chunk-RYZ3RQRH.js +16 -0
- package/dist/commands/chunk-RZ4OKKPM.js +1722 -0
- package/dist/commands/chunk-RZJAUVMI.js +69 -0
- package/dist/commands/chunk-S4X5PJV7.js +40 -0
- package/dist/commands/chunk-S6SXMBF2.js +66 -0
- package/dist/commands/chunk-S7XWXG4M.js +3893 -0
- package/dist/commands/chunk-SADJPNDB.js +67 -0
- package/dist/commands/chunk-SBGTCT2C.js +89 -0
- package/dist/commands/chunk-SFNBUB6D.js +110 -0
- package/dist/commands/chunk-SK2LJBFS.js +168 -0
- package/dist/commands/chunk-SNFLV7VV.js +45 -0
- package/dist/commands/chunk-SNO7CY2B.js +69 -0
- package/dist/commands/chunk-ST32OGPY.js +82 -0
- package/dist/commands/chunk-SV4FHQE7.js +995 -0
- package/dist/commands/chunk-SVAKCXZ7.js +44 -0
- package/dist/commands/chunk-SXULS6DX.js +112 -0
- package/dist/commands/chunk-T25S4QHL.js +52 -0
- package/dist/commands/chunk-T2E724HN.js +117 -0
- package/dist/commands/chunk-T2IO4LEB.js +285 -0
- package/dist/commands/chunk-T33QDAWD.js +16 -0
- package/dist/commands/chunk-T3FD3Q73.js +49 -0
- package/dist/commands/chunk-T4UYEHWG.js +50 -0
- package/dist/commands/chunk-T57W3UWK.js +88 -0
- package/dist/commands/chunk-TAPDXK34.js +48 -0
- package/dist/commands/chunk-TBIX5FRN.js +106 -0
- package/dist/commands/chunk-TBNQIFWL.js +101 -0
- package/dist/commands/chunk-TCBUX52E.js +701 -0
- package/dist/commands/chunk-TIXJY22D.js +90 -0
- package/dist/commands/chunk-TKGBF75Y.js +88 -0
- package/dist/commands/chunk-TMLNI3YW.js +95 -0
- package/dist/commands/chunk-TPKFVVJQ.js +125 -0
- package/dist/commands/chunk-TS4ZK46L.js +116 -0
- package/dist/commands/chunk-TUIFS5E7.js +72 -0
- package/dist/commands/chunk-TVJE67O2.js +179 -0
- package/dist/commands/chunk-TVZXG4Y4.js +197 -0
- package/dist/commands/chunk-TXXYC7EV.js +74 -0
- package/dist/commands/chunk-U2UH4VM4.js +229 -0
- package/dist/commands/chunk-U3IVVR4W.js +33 -0
- package/dist/commands/chunk-U5HQQWRE.js +20 -0
- package/dist/commands/chunk-U7XU5RG3.js +86 -0
- package/dist/commands/chunk-UCI4AL3Q.js +35 -0
- package/dist/commands/chunk-UCQJDYE3.js +21 -0
- package/dist/commands/chunk-UCUSCLEK.js +90 -0
- package/dist/commands/chunk-UEURNXE5.js +280 -0
- package/dist/commands/chunk-UGCUSRZF.js +17 -0
- package/dist/commands/chunk-UIWAMLQH.js +49 -0
- package/dist/commands/chunk-UJOZ2MGX.js +705 -0
- package/dist/commands/chunk-ULVVGGTY.js +64 -0
- package/dist/commands/chunk-UOAG2XQT.js +37 -0
- package/dist/commands/chunk-US6X7JXC.js +120 -0
- package/dist/commands/chunk-UTBVTCQN.js +7401 -0
- package/dist/commands/chunk-UU6GCJGM.js +56 -0
- package/dist/commands/chunk-UWLLZQJB.js +110 -0
- package/dist/commands/chunk-UZAU6UI6.js +33 -0
- package/dist/commands/chunk-V4Z7G4UH.js +73 -0
- package/dist/commands/chunk-V5FD7DVV.js +48 -0
- package/dist/commands/chunk-V5OIPYA6.js +109 -0
- package/dist/commands/chunk-VCR77BHO.js +8 -0
- package/dist/commands/chunk-VD5674LW.js +127 -0
- package/dist/commands/chunk-VD72V5VX.js +230 -0
- package/dist/commands/chunk-VDGNXSP3.js +174 -0
- package/dist/commands/chunk-VFJYOAOQ.js +339 -0
- package/dist/commands/chunk-VGHSZLYQ.js +85 -0
- package/dist/commands/chunk-VHRNXWVP.js +28 -0
- package/dist/commands/chunk-VJE3RJAX.js +23 -0
- package/dist/commands/chunk-VJLZ3IQQ.js +151 -0
- package/dist/commands/chunk-VTLL6CKO.js +269 -0
- package/dist/commands/chunk-VW5SGE7A.js +18 -0
- package/dist/commands/chunk-VZCQZFPH.js +378 -0
- package/dist/commands/chunk-VZHC2I3T.js +1208 -0
- package/dist/commands/chunk-VZSJCFRT.js +44 -0
- package/dist/commands/chunk-W2IA2LV3.js +15 -0
- package/dist/commands/chunk-W32DIQEP.js +43 -0
- package/dist/commands/chunk-W3FX7FYN.js +84 -0
- package/dist/commands/chunk-W47I2KDY.js +47 -0
- package/dist/commands/chunk-W4J6YTFE.js +74 -0
- package/dist/commands/chunk-W4YH2DF3.js +58 -0
- package/dist/commands/chunk-W6MVQEMO.js +109 -0
- package/dist/commands/chunk-W6V4DWC5.js +70 -0
- package/dist/commands/chunk-WG6GYBRJ.js +271 -0
- package/dist/commands/chunk-WGULS5DA.js +129 -0
- package/dist/commands/chunk-WIE7VUBE.js +122 -0
- package/dist/commands/chunk-WJ4NEDNI.js +288 -0
- package/dist/commands/chunk-WL5JHB3I.js +12 -0
- package/dist/commands/chunk-WMMGXJXP.js +92 -0
- package/dist/commands/chunk-WN7NK3NY.js +24 -0
- package/dist/commands/chunk-WOFLW2LX.js +26 -0
- package/dist/commands/chunk-WPAQUMHC.js +28 -0
- package/dist/commands/chunk-WQ6FS544.js +35 -0
- package/dist/commands/chunk-WQJ7O3C3.js +229 -0
- package/dist/commands/chunk-WRX3MINT.js +60 -0
- package/dist/commands/chunk-WSOF74K4.js +30 -0
- package/dist/commands/chunk-WTRDWEUQ.js +533 -0
- package/dist/commands/chunk-WVR4RUFP.js +327 -0
- package/dist/commands/chunk-WW3TX742.js +122 -0
- package/dist/commands/chunk-WWC5L3AO.js +177 -0
- package/dist/commands/chunk-X5XYKDOD.js +7 -0
- package/dist/commands/chunk-X7PN54LZ.js +143 -0
- package/dist/commands/chunk-XBRD2BDL.js +74 -0
- package/dist/commands/chunk-XDF25GSU.js +536 -0
- package/dist/commands/chunk-XDQOWUVT.js +51 -0
- package/dist/commands/chunk-XFPEUYDV.js +67 -0
- package/dist/commands/chunk-XGMRAKSL.js +85 -0
- package/dist/commands/chunk-XH6BGVVP.js +1639 -0
- package/dist/commands/chunk-XMBRXCIE.js +89 -0
- package/dist/commands/chunk-XSKB6ZUA.js +123 -0
- package/dist/commands/chunk-XXNEY4B3.js +110 -0
- package/dist/commands/chunk-XYAK53TK.js +443 -0
- package/dist/commands/chunk-Y2RNUX4W.js +8 -0
- package/dist/commands/chunk-Y5ZW3KN5.js +58 -0
- package/dist/commands/chunk-YGDNUTTI.js +120 -0
- package/dist/commands/chunk-YIA6FC3K.js +78 -0
- package/dist/commands/chunk-YPNTORQD.js +121 -0
- package/dist/commands/chunk-YT342DRV.js +143 -0
- package/dist/commands/chunk-YVH2OLDS.js +104 -0
- package/dist/commands/chunk-Z4HYBFZD.js +1160 -0
- package/dist/commands/chunk-ZA3W73PF.js +192 -0
- package/dist/commands/chunk-ZAAHZY2A.js +19 -0
- package/dist/commands/chunk-ZAJD6T6E.js +38 -0
- package/dist/commands/chunk-ZBFNQUY7.js +12 -0
- package/dist/commands/chunk-ZDSDPKCD.js +88 -0
- package/dist/commands/chunk-ZECFKW7D.js +60 -0
- package/dist/commands/chunk-ZHZSZNE2.js +173 -0
- package/dist/commands/chunk-ZNX2LJCQ.js +29 -0
- package/dist/commands/chunk-ZQ3CKRMP.js +99 -0
- package/dist/commands/chunk-ZVAIIHBE.js +63 -0
- package/dist/commands/chunk-ZYGOZT4J.js +39 -0
- package/dist/commands/chunk-ZYIMQHCB.js +81 -0
- package/dist/commands/chunk-ZZAH3YQP.js +170 -0
- package/dist/commands/ci-timing-cli.js +76 -0
- package/dist/commands/clone-scan-cli.js +189 -0
- package/dist/commands/code-symbol-cli.js +185 -0
- package/dist/commands/codex-hook-adapter.js +357 -0
- package/dist/commands/command-derive.js +802 -0
- package/dist/commands/cost-audit-main.js +207 -0
- package/dist/commands/cost-main.js +28 -0
- package/dist/commands/cspell-cached.js +158 -0
- package/dist/commands/defect-origin-main.js +221 -0
- package/dist/commands/defect-report-main.js +288 -0
- package/dist/commands/delegation-cli.js +65 -0
- package/dist/commands/diff-summary-cli.js +147 -0
- package/dist/commands/disposition-cli.js +408 -0
- package/dist/commands/doctor.js +267 -0
- package/dist/commands/document-read-cli.js +39 -844
- package/dist/commands/document-section-main.js +26 -835
- package/dist/commands/dogfood-commit-cli.js +102 -0
- package/dist/commands/e2e-retry-check.js +79 -0
- package/dist/commands/edit-files-cli.js +147 -0
- package/dist/commands/effect-audit-cli.js +319 -0
- package/dist/commands/epic-audit-main.js +158 -0
- package/dist/commands/epic-bundle-main.js +199 -0
- package/dist/commands/epic-check.js +90 -0
- package/dist/commands/epic-main.js +222 -0
- package/dist/commands/epic-next-main.js +157 -0
- package/dist/commands/eval-run.js +838 -0
- package/dist/commands/fanout-cli.js +86 -0
- package/dist/commands/format-edited-cli.js +120 -0
- package/dist/commands/format.js +139 -0
- package/dist/commands/fresh-machine-cli.js +691 -0
- package/dist/commands/gh-usage-cli.js +224 -0
- package/dist/commands/git-followup-workflow.js +2012 -0
- package/dist/commands/git-gh-checks-failed-main.js +156 -0
- package/dist/commands/git-workflow.js +602 -0
- package/dist/commands/github-release-cli.js +253 -0
- package/dist/commands/hook-ledger-cli.js +416 -0
- package/dist/commands/init-main.js +98 -0
- package/dist/commands/inputs.json +2764 -0
- package/dist/commands/issue-ack-cli.js +106 -0
- package/dist/commands/issue-already-done-cli.js +305 -0
- package/dist/commands/issue-body-cli.js +184 -0
- package/dist/commands/issue-cite-main.js +162 -0
- package/dist/commands/issue-comment-main.js +72 -0
- package/dist/commands/issue-consolidate-cli.js +329 -0
- package/dist/commands/issue-file-main.js +419 -0
- package/dist/commands/issue-fold-existing-cli.js +506 -0
- package/dist/commands/issue-fold-main.js +113 -0
- package/dist/commands/issue-lint-main.js +126 -0
- package/dist/commands/issue-measured-cli.js +205 -0
- package/dist/commands/issue-plan-cli.js +352 -0
- package/dist/commands/issue-premise-unmet-cli.js +268 -0
- package/dist/commands/issue-priority-cli.js +184 -0
- package/dist/commands/issue-read-main.js +79 -0
- package/dist/commands/issue-release-class-cli.js +119 -0
- package/dist/commands/issue-release-main.js +71 -0
- package/dist/commands/issue-scout-main.js +203 -0
- package/dist/commands/issue-spill-main.js +564 -0
- package/dist/commands/issue-state-main.js +76 -0
- package/dist/commands/issue-tick-cli.js +112 -0
- package/dist/commands/josh-completion.js +153 -0
- package/dist/commands/lane-adopt-cli.js +275 -0
- package/dist/commands/lane-breakdown-cli.js +703 -0
- package/dist/commands/lane-cli.js +863 -0
- package/dist/commands/lane-launch-main.js +103 -0
- package/dist/commands/lane-limit-cli.js +286 -0
- package/dist/commands/lane-measure-cli.js +1797 -0
- package/dist/commands/lane-pause-cli.js +255 -0
- package/dist/commands/lane-plan-cli.js +322 -0
- package/dist/commands/lane-resolve-cli.js +300 -0
- package/dist/commands/lane-restart-cli.js +387 -0
- package/dist/commands/lane-why-cli.js +307 -0
- package/dist/commands/lane-withdraw-cli.js +191 -0
- package/dist/commands/latest-corepack.js +278 -0
- package/dist/commands/latest-if-required-cli.js +124 -0
- package/dist/commands/latest-lane-guard-main.js +16 -0
- package/dist/commands/latest-scope-main.js +38 -0
- package/dist/commands/latest-update.js +449 -0
- package/dist/commands/lines-command.js +121 -0
- package/dist/commands/lint-parallel-main.js +134 -0
- package/dist/commands/lint-related.js +565 -0
- package/dist/commands/lint-rule.js +305 -0
- package/dist/commands/lockfile-policy.js +107 -0
- package/dist/commands/main-merge-main.js +61 -0
- package/dist/commands/main-sync-main.js +60 -0
- package/dist/commands/managed-config-scope-cli.js +66 -0
- package/dist/commands/measure-rerun-cli.js +124 -0
- package/dist/commands/metrics-command.js +859 -0
- package/dist/commands/observation-depth-cli.js +109 -0
- package/dist/commands/observation-record-cli.js +87 -0
- package/dist/commands/observations-flush-cli.js +115 -0
- package/dist/commands/oracle-list-cli.js +73 -0
- package/dist/commands/overrides-check.js +112 -0
- package/dist/commands/package-scout-cli.js +496 -0
- package/dist/commands/pin-verify-cli.js +88 -0
- package/dist/commands/plan-consumers-main.js +49 -0
- package/dist/commands/plan-scaffold-cli.js +367 -0
- package/dist/commands/port-command.js +64 -0
- package/dist/commands/pr-classification-main.js +37 -0
- package/dist/commands/pre-commit-lint.js +163 -0
- package/dist/commands/pre-commit-type-check.js +210 -0
- package/dist/commands/pre-push-unit.js +271 -0
- package/dist/commands/pretool-guard-cli.js +205 -0
- package/dist/commands/prevent-main-commit.js +42 -0
- package/dist/commands/project-profile-cli.js +58 -0
- package/dist/commands/propagate.js +368 -0
- package/dist/commands/prose-stale-cli.js +128 -0
- package/dist/commands/publish-tag-cli.js +30 -0
- package/dist/commands/publishable-range-check.js +191 -0
- package/dist/commands/read-files-cli.js +81 -0
- package/dist/commands/read-set-cli.js +121 -1745
- package/dist/commands/reconcile-templates.js +135 -0
- package/dist/commands/refactor-scan-cli.js +175 -0
- package/dist/commands/release-cli.js +724 -0
- package/dist/commands/release-scope-main.js +81 -0
- package/dist/commands/rename-cli.js +432 -0
- package/dist/commands/repo-party-cli.js +58 -0
- package/dist/commands/report-lint-cli.js +124 -0
- package/dist/commands/report-template-cli.js +69 -0
- package/dist/commands/reserved-run.js +127 -0
- package/dist/commands/retrospective-cli.js +555 -0
- package/dist/commands/review-attest-cli.js +118 -0
- package/dist/commands/review-brief-main.js +247 -0
- package/dist/commands/review-findings-cli.js +114 -0
- package/dist/commands/review-pair-cli.js +366 -0
- package/dist/commands/review-record-main.js +222 -0
- package/dist/commands/review-round2-cli.js +349 -0
- package/dist/commands/review-stops-cli.js +149 -0
- package/dist/commands/review-submit-cli.js +610 -0
- package/dist/commands/rule-list.js +184 -0
- package/dist/commands/rule-value-cli.js +908 -0
- package/dist/commands/ruleset-check-cli.js +67 -0
- package/dist/commands/run-add-cli.js +273 -0
- package/dist/commands/run-board-main.js +272 -0
- package/dist/commands/run-carry-cli.js +641 -0
- package/dist/commands/run-chain-cli.js +537 -0
- package/dist/commands/run-cut-cli.js +709 -0
- package/dist/commands/run-ending-cli.js +169 -0
- package/dist/commands/run-entry-cli.js +1060 -0
- package/dist/commands/run-event-cli.js +298 -0
- package/dist/commands/run-handoff-cli.js +344 -0
- package/dist/commands/run-handoff-lanes-cli.js +233 -0
- package/dist/commands/run-hold-main.js +203 -0
- package/dist/commands/run-liveness-cli.js +190 -0
- package/dist/commands/run-merge-main.js +246 -0
- package/dist/commands/run-next-cli.js +240 -0
- package/dist/commands/run-park-cli.js +393 -0
- package/dist/commands/run-pause-cli.js +334 -0
- package/dist/commands/run-pickup-cli.js +196 -0
- package/dist/commands/run-prep-main.js +209 -21168
- package/dist/commands/run-prime-cli.js +281 -0
- package/dist/commands/run-progress-main.js +655 -0
- package/dist/commands/run-report-cli.js +376 -0
- package/dist/commands/run-review-cli.js +777 -0
- package/dist/commands/run-ship-cli.js +2615 -0
- package/dist/commands/run-ship-evidence-cli.js +288 -0
- package/dist/commands/run-ship-lap-W5T2VHFC.js +30 -0
- package/dist/commands/run-ship-wait-main.js +145 -0
- package/dist/commands/run-split-cli.js +525 -0
- package/dist/commands/run-stale-main.js +254 -0
- package/dist/commands/run-status-cli.js +216 -0
- package/dist/commands/run-step-cli.js +419 -27653
- package/dist/commands/run-tail-cli.js +119 -0
- package/dist/commands/run-tidy-main.js +402 -0
- package/dist/commands/run-wake-main.js +272 -0
- package/dist/commands/run-watcher-guard-cli.js +128 -0
- package/dist/commands/secretlint-scan.js +84 -0
- package/dist/commands/security-audit-main.js +151 -0
- package/dist/commands/security-audit-provision-main.js +52 -0
- package/dist/commands/selfcheck-cli.js +409 -0
- package/dist/commands/session-language-main.js +120 -0
- package/dist/commands/sonar-hotspots-cli.js +133 -0
- package/dist/commands/sonar-new-code-cli.js +143 -0
- package/dist/commands/split-assess-cli.js +138 -0
- package/dist/commands/split-child-recover-cli.js +168 -0
- package/dist/commands/start.js +707 -0
- package/dist/commands/stash-pop-main.js +26 -0
- package/dist/commands/stash-push-main.js +30 -0
- package/dist/commands/stop-guard.js +567 -0
- package/dist/commands/sync-main.js +57 -0
- package/dist/commands/telegram-test-main.js +64 -0
- package/dist/commands/test-declared.js +255 -0
- package/dist/commands/test-e2e-guard.js +200 -0
- package/dist/commands/test-pinned-main.js +189 -0
- package/dist/commands/test-reach-cli.js +111 -0
- package/dist/commands/test-red-main.js +46 -0
- package/dist/commands/test-related-ZT2AO62I.js +113 -0
- package/dist/commands/test-related-main.js +223 -0
- package/dist/commands/test-unit-guard-main.js +87 -0
- package/dist/commands/time-cli.js +356 -0
- package/dist/commands/time-density-cli.js +183 -0
- package/dist/commands/tree-status-cli.js +172 -0
- package/dist/commands/type-check-command.js +74 -0
- package/dist/commands/ui-routes-cli.js +135 -0
- package/dist/commands/ui-shot-cli.js +131 -0
- package/dist/commands/uninstall.js +424 -0
- package/dist/commands/unused-members-STULPRBU.js +331 -0
- package/dist/commands/unused-members-cli.js +54 -0
- package/dist/commands/upstream-interrupt-main.js +449 -0
- package/dist/commands/usage-tee-cli.js +60 -0
- package/dist/commands/verification-gate.js +808 -0
- package/dist/commands/version-check.js +497 -0
- package/dist/hooks/audit-provision.js +20 -9
- package/dist/hooks/{chunk-UJ3FPMMM.js → chunk-4YXV2REH.js} +444 -141
- package/dist/hooks/chunk-6RR6JZSB.js +12367 -0
- package/dist/hooks/chunk-6YGMIODI.js +86 -0
- package/dist/hooks/chunk-CICKRHTB.js +7586 -0
- package/dist/hooks/chunk-CY3ADSDR.js +28580 -0
- package/dist/hooks/chunk-FOW4B7OQ.js +1795 -0
- package/dist/hooks/chunk-LKQBEKBI.js +232 -0
- package/dist/hooks/chunk-LRD2ERRI.js +299 -0
- package/dist/hooks/chunk-LWD43Z3C.js +6793 -0
- package/dist/hooks/chunk-NUPVO7RI.js +3054 -0
- package/dist/hooks/chunk-P7BPAU26.js +1082 -0
- package/dist/hooks/chunk-RQXECHAS.js +309 -0
- package/dist/hooks/chunk-SAAPRHTK.js +43 -0
- package/dist/hooks/chunk-U3ON2GBN.js +12 -0
- package/dist/hooks/{chunk-CQD4LJE6.js → chunk-UU4PTPEZ.js} +3143 -1257
- package/dist/hooks/chunk-YEURBB4L.js +32 -0
- package/dist/hooks/codex-hook-adapter.js +61 -25
- package/dist/hooks/daemon.js +67304 -0
- package/dist/hooks/format-edited.js +15 -5
- package/dist/hooks/inputs.json +555 -372
- package/dist/hooks/pretool-guard.js +11 -7
- package/dist/hooks/ready.js +300 -0
- package/dist/hooks/run-ship-lap-VCEOUHQI.js +8 -0
- package/dist/hooks/session-lang.js +226 -121
- package/dist/hooks/stop-guard.js +9188 -4508
- package/dist/inputs.json +169 -0
- package/dist/josh.js +9617 -6711
- package/dist/self-sync-guard/index.js +68 -14
- package/dist/version/index.js +642 -85
- package/eslint/base.js +36 -11
- package/eslint/config-fingerprint.js +164 -21
- package/eslint/rules/code-quality.js +6 -0
- package/eslint/rules/comment-why-only.js +40 -16
- package/eslint/rules/english-only-prose.js +10 -3
- package/eslint/rules/import.js +3 -17
- package/eslint/rules/test-helper-bans.js +34 -0
- package/eslint/untyped-environment.js +21 -0
- package/eslint/untyped.js +60 -0
- package/lefthook/base.yml +4 -5
- package/package.json +16 -14
- package/pnpm-workspace.yaml +15 -0
- package/ports/index.js +8 -15
- package/prompts/coding-standards.md +4 -43
- package/prompts/collaboration-workflow/file-edits.md +10 -10
- package/prompts/collaboration-workflow/gh-rest.md +14 -7
- package/prompts/collaboration-workflow/issue-template.en.md +125 -0
- package/prompts/collaboration-workflow/issue-template.md +49 -56
- package/prompts/collaboration-workflow/lane-instructions.md +1 -0
- package/prompts/collaboration-workflow/measurement.md +13 -17
- package/prompts/collaboration-workflow/operating-rules.md +10 -7
- package/prompts/collaboration-workflow/output-bounds.md +3 -3
- package/prompts/collaboration-workflow/overview.md +8 -17
- package/prompts/collaboration-workflow/plan-comment.md +1 -1
- package/prompts/collaboration-workflow/principles.md +17 -19
- package/prompts/collaboration-workflow/report-format.md +6 -5
- package/prompts/collaboration-workflow/residency.md +1 -0
- package/prompts/collaboration-workflow/rule-delivery.md +4 -12
- package/prompts/collaboration-workflow/shell-body.md +7 -7
- package/prompts/collaboration-workflow/turn-batching.md +2 -2
- package/prompts/collaboration-workflow/upstream-interrupt.md +8 -8
- package/prompts/collaboration-workflow/wip-cap.md +3 -3
- package/prompts/refactoring.md +4 -3
- package/prompts/review-rubric.md +8 -21
- package/prompts/review.md +52 -80
- package/prompts/sonar-hotspot-handling.md +1 -1
- package/prompts/testing-guide.md +15 -2
- package/scripts/agent/agent-argv.ts +11 -4
- package/scripts/agent/agent-consultation-model.ts +47 -0
- package/scripts/agent/agent-event.ts +11 -2
- package/scripts/agent/agent-launch-environment.ts +6 -57
- package/scripts/agent/agent-model-alias.ts +19 -0
- package/scripts/agent/agent-profile-schema.ts +98 -0
- package/scripts/agent/agent-role-profile.ts +105 -82
- package/scripts/agent/agent-safe-text.ts +2 -2
- package/scripts/agent/agent-session-role.ts +25 -3
- package/scripts/agent/answer-judge.ts +174 -0
- package/scripts/agent/answer-verdict.ts +122 -0
- package/scripts/agent/claude-agent-argv.ts +12 -6
- package/scripts/agent/codex-agent-argv.ts +17 -143
- package/scripts/agent/codex-home-source.ts +1 -1
- package/scripts/agent/codex-hooks.ts +29 -6
- package/scripts/agent/judgment-agent-argv.ts +49 -0
- package/scripts/agent/lane-instructions.ts +4 -1
- package/scripts/auto-ok/auto-ok-author.ts +14 -3
- package/scripts/auto-ok/auto-ok-cli.ts +20 -12
- package/scripts/auto-ok/auto-ok-judge-cli.ts +7 -14
- package/scripts/auto-ok/auto-ok-judge-read.ts +3 -3
- package/scripts/auto-ok/auto-ok-judge-write.ts +18 -16
- package/scripts/backlog/backlog-arrival-added.ts +47 -11
- package/scripts/backlog/backlog-arrival.ts +90 -23
- package/scripts/backlog/backlog-auto-triage.ts +130 -0
- package/scripts/backlog/backlog-budget-cli.ts +2 -1
- package/scripts/backlog/backlog-budget.ts +31 -5
- package/scripts/backlog/backlog-defect-priority.ts +32 -19
- package/scripts/backlog/backlog-drain-flush.ts +22 -0
- package/scripts/backlog/backlog-drive-adopt.ts +2 -2
- package/scripts/backlog/backlog-drive-after-merge.ts +123 -0
- package/scripts/backlog/backlog-drive-args.ts +60 -7
- package/scripts/backlog/backlog-drive-cli.ts +69 -64
- package/scripts/backlog/backlog-drive-collect.ts +46 -0
- package/scripts/backlog/backlog-drive-epic.ts +1 -1
- package/scripts/backlog/backlog-drive-hold.ts +32 -8
- package/scripts/backlog/backlog-drive-idle.ts +21 -10
- package/scripts/backlog/backlog-drive-launch-pass.ts +79 -23
- package/scripts/backlog/backlog-drive-launch.ts +73 -7
- package/scripts/backlog/backlog-drive-listing.ts +59 -0
- package/scripts/backlog/backlog-drive-memory.ts +4 -5
- package/scripts/backlog/backlog-drive-named-offer.ts +112 -22
- package/scripts/backlog/backlog-drive-named.ts +11 -4
- package/scripts/backlog/backlog-drive-offer-argv.ts +10 -2
- package/scripts/backlog/backlog-drive-park-triage.ts +57 -0
- package/scripts/backlog/backlog-drive-paused.ts +2 -1
- package/scripts/backlog/backlog-drive-rate-limit.ts +29 -0
- package/scripts/backlog/backlog-drive-rate.ts +73 -0
- package/scripts/backlog/backlog-drive-record.ts +58 -0
- package/scripts/backlog/backlog-drive-restore.ts +38 -8
- package/scripts/backlog/backlog-drive-retrospective-unit.ts +80 -0
- package/scripts/backlog/backlog-drive-retrospective.ts +35 -1
- package/scripts/backlog/backlog-drive-retry.ts +85 -0
- package/scripts/backlog/backlog-drive-seats.ts +4 -7
- package/scripts/backlog/backlog-drive-split-unit.ts +108 -0
- package/scripts/backlog/backlog-drive-stalled-retry.ts +194 -0
- package/scripts/backlog/backlog-drive-state.ts +28 -0
- package/scripts/backlog/backlog-drive-tick.ts +77 -0
- package/scripts/backlog/backlog-drive-token-handling.ts +2 -2
- package/scripts/backlog/backlog-drive-trace.ts +45 -0
- package/scripts/backlog/backlog-drive-unit.ts +54 -0
- package/scripts/backlog/backlog-drive-unread.ts +1 -1
- package/scripts/backlog/backlog-drive.ts +142 -99
- package/scripts/backlog/backlog-gate-scope.ts +15 -3
- package/scripts/backlog/backlog-hold-codes.ts +23 -0
- package/scripts/backlog/backlog-hold-text.ts +107 -0
- package/scripts/backlog/backlog-measure-close.ts +61 -31
- package/scripts/backlog/backlog-named.ts +1 -1
- package/scripts/backlog/backlog-next-offer.ts +138 -0
- package/scripts/backlog/backlog-next-report.ts +221 -0
- package/scripts/backlog/backlog-next-shared.ts +22 -4
- package/scripts/backlog/backlog-next-size.ts +108 -0
- package/scripts/backlog/backlog-next.ts +52 -187
- package/scripts/backlog/backlog-occupied.ts +7 -7
- package/scripts/backlog/backlog-offer-cli.ts +13 -2
- package/scripts/backlog/backlog-offer-timing.ts +141 -0
- package/scripts/backlog/backlog-offer.ts +26 -6
- package/scripts/backlog/backlog-overlap.ts +7 -1
- package/scripts/backlog/backlog-plan-cli.ts +27 -3
- package/scripts/backlog/backlog-plan-comment.ts +36 -14
- package/scripts/backlog/backlog-plan-words.ts +69 -0
- package/scripts/backlog/backlog-plan.ts +63 -46
- package/scripts/backlog/backlog-pool.ts +42 -13
- package/scripts/backlog/backlog-preflight.ts +67 -0
- package/scripts/backlog/backlog-ready.ts +7 -69
- package/scripts/backlog/backlog-resumable.ts +65 -0
- package/scripts/backlog/backlog-resume-reads.ts +119 -0
- package/scripts/backlog/backlog-stalled-detect.ts +4 -3
- package/scripts/backlog/backlog-stalled.ts +3 -2
- package/scripts/backlog/backlog-triage-adopt.ts +239 -0
- package/scripts/backlog/backlog-triage-approval.ts +94 -0
- package/scripts/backlog/backlog-triage-cli.ts +270 -0
- package/scripts/backlog/backlog-triage-decision.ts +49 -0
- package/scripts/backlog/backlog-triage-park.ts +53 -0
- package/scripts/backlog/backlog-triage-pass.ts +113 -0
- package/scripts/backlog/backlog-triage-unblock.ts +68 -0
- package/scripts/backlog/backlog-wait-cause.ts +76 -16
- package/scripts/backlog/backlog-yield-cap.ts +108 -0
- package/scripts/backlog/backlogrun-args.ts +45 -16
- package/scripts/backlog/backlogrun-cli.ts +82 -18
- package/scripts/backlog/backlogrun-launch.ts +12 -4
- package/scripts/backlog/backlogrun-replace.ts +44 -4
- package/scripts/build/build-bin.ts +25 -2
- package/scripts/build/build-codex-hooks.ts +2 -2
- package/scripts/build/build-commands.ts +27 -19
- package/scripts/build/build-hooks.ts +117 -22
- package/scripts/build/hook-bundle-stamp.ts +15 -5
- package/scripts/build/local-bin.ts +27 -1
- package/scripts/build/source-location.ts +82 -0
- package/scripts/ci/ci-timing-cli.ts +73 -0
- package/scripts/ci/ci-timing-table.ts +84 -0
- package/scripts/ci/ci-timing.ts +104 -0
- package/scripts/ci/composite-actions.ts +1 -1
- package/scripts/ci/pr-classification.ts +89 -11
- package/scripts/code/code-symbol-cli.ts +121 -0
- package/scripts/code/code-symbol.ts +127 -0
- package/scripts/config-merge/patch-json-key.ts +4 -7
- package/scripts/cost-runtime/cost-blocks.ts +3 -4
- package/scripts/cost-runtime/cost-cli.ts +4 -7
- package/scripts/cost-runtime/cost-pricing.ts +2 -2
- package/scripts/cost-runtime/cost-tokens.ts +7 -6
- package/scripts/delegation/delegation-policy.ts +2 -2
- package/scripts/delegation/duplicate-read-guard.ts +41 -28
- package/scripts/delegation/investigation-guard.ts +13 -5
- package/scripts/delegation/investigation-reads.ts +52 -34
- package/scripts/delegation/large-read-guard.ts +150 -0
- package/scripts/discovery/git-directory.ts +61 -0
- package/scripts/discovery/pin-verify-cli.ts +115 -0
- package/scripts/discovery/repo-discovery.ts +10 -58
- package/scripts/discovery/repo-party.ts +1 -0
- package/scripts/document/backlogrun-parent-read-set.ts +37 -6
- package/scripts/document/capped-print.ts +3 -3
- package/scripts/document/command-reference-line-budget.ts +4 -1
- package/scripts/document/document-byte-budget.ts +34 -16
- package/scripts/document/document-byte-check.ts +1 -1
- package/scripts/document/document-reachability.ts +4 -3
- package/scripts/document/document-scan.ts +2 -5
- package/scripts/document/document-section-cli.ts +13 -1
- package/scripts/document/edit-files-cli.ts +3 -7
- package/scripts/document/entry-read-budget.ts +12 -4
- package/scripts/document/entry-read-set.ts +9 -2
- package/scripts/document/issue-citation-budget.ts +3 -3
- package/scripts/document/lane-child-read-set.ts +21 -29
- package/scripts/document/read-set-cli.ts +17 -10
- package/scripts/document/read-set-point-of-use.ts +13 -9
- package/scripts/document/read-set-trim.ts +42 -2
- package/scripts/epic/epic-audit-checks.ts +1 -1
- package/scripts/epic/epic-audit-cli.ts +19 -21
- package/scripts/epic/epic-audit-main.ts +17 -0
- package/scripts/epic/epic-audit-orphans.ts +1 -1
- package/scripts/epic/epic-audit.ts +6 -3
- package/scripts/epic/epic-blocked-by.ts +198 -0
- package/scripts/epic/epic-body.ts +6 -6
- package/scripts/epic/epic-bundle-apply.ts +41 -10
- package/scripts/epic/epic-bundle-cli.ts +40 -99
- package/scripts/epic/epic-bundle-evidence.ts +2 -2
- package/scripts/epic/epic-bundle-format.ts +21 -7
- package/scripts/epic/epic-bundle-recommend.ts +56 -0
- package/scripts/epic/epic-bundle-referenced.ts +42 -17
- package/scripts/epic/epic-bundle.ts +31 -4
- package/scripts/epic/epic-busy.ts +11 -9
- package/scripts/epic/epic-chains.ts +59 -23
- package/scripts/epic/epic-child-source.ts +111 -0
- package/scripts/epic/epic-cli-untrack.ts +38 -0
- package/scripts/epic/epic-cli.ts +26 -7
- package/scripts/epic/epic-close-comment.ts +4 -2
- package/scripts/epic/epic-close.ts +25 -11
- package/scripts/epic/epic-decide.ts +39 -3
- package/scripts/epic/epic-fetch.ts +116 -24
- package/scripts/epic/epic-graph.ts +1 -0
- package/scripts/epic/epic-label-age.ts +55 -13
- package/scripts/epic/epic-lane-occupancy.ts +75 -0
- package/scripts/epic/epic-lane-offer.ts +49 -13
- package/scripts/epic/epic-main.ts +23 -0
- package/scripts/epic/epic-next-main.ts +2 -4
- package/scripts/epic/epic-next-read.ts +12 -3
- package/scripts/epic/epic-next-views.ts +1 -1
- package/scripts/epic/epic-notify.ts +72 -0
- package/scripts/epic/epic-parse.ts +1 -1
- package/scripts/epic/epic-rank.ts +6 -2
- package/scripts/epic/epic-reference.ts +1 -1
- package/scripts/epic/epic-run.ts +14 -1
- package/scripts/epic/epic-shape.ts +2 -2
- package/scripts/epic/epic-solo-stale.ts +1 -1
- package/scripts/epic/epic-solo.ts +11 -5
- package/scripts/epic/epic-split-reach.ts +107 -0
- package/scripts/epic/epic-triage.ts +29 -5
- package/scripts/epic/epic-untrack-plan.ts +75 -0
- package/scripts/epic/epic-untrack.ts +42 -0
- package/scripts/epic/epic.ts +65 -31
- package/scripts/followup/followup-check-report.ts +70 -0
- package/scripts/followup/followup-ci-path.ts +27 -7
- package/scripts/followup/followup-coderabbit-retrigger.ts +61 -23
- package/scripts/followup/followup-failed-tests.ts +4 -0
- package/scripts/followup/followup-human-merge.ts +109 -0
- package/scripts/followup/followup-job-needs.ts +92 -14
- package/scripts/followup/followup-job-rerun.ts +162 -43
- package/scripts/followup/followup-run-rerun.ts +183 -0
- package/scripts/followup/followup-section.ts +30 -0
- package/scripts/followup/followup-ship-environment.ts +17 -0
- package/scripts/followup/git-followup-finish.ts +52 -1
- package/scripts/followup/git-followup-flush.ts +6 -8
- package/scripts/followup/git-followup-stages.ts +3 -0
- package/scripts/followup/git-followup-workflow.ts +29 -9
- package/scripts/followup/git-pr-followup-checks.ts +65 -8
- package/scripts/followup/git-pr-followup-wrapup.ts +11 -9
- package/scripts/followup/git-pr-followup.ts +18 -12
- package/scripts/fresh-machine/fresh-machine-cli.ts +2 -1
- package/scripts/fresh-machine/fresh-machine-image.ts +3 -1
- package/scripts/fresh-machine/fresh-machine-patterns.ts +25 -4
- package/scripts/fresh-machine/fresh-machine-registry.ts +85 -0
- package/scripts/fresh-machine/fresh-machine-script.ts +3 -1
- package/scripts/fresh-machine/fresh-machine-spec.ts +2 -2
- package/scripts/fresh-machine/specs/kit-test-backlogrun-python.json +0 -1
- package/scripts/fresh-machine/specs/kit-test-backlogrun.json +0 -1
- package/scripts/gate/busy-average.ts +26 -3
- package/scripts/gate/change-scope-action.ts +101 -0
- package/scripts/gate/check-inputs.ts +1 -1
- package/scripts/gate/check-related-order.ts +65 -0
- package/scripts/gate/check-related-pinned.ts +3 -2
- package/scripts/gate/check-related-reuse.ts +34 -6
- package/scripts/gate/check-related-section.ts +8 -1
- package/scripts/gate/check-related-unplanned.ts +11 -1
- package/scripts/gate/check-related.ts +122 -34
- package/scripts/gate/check-reuse.ts +63 -31
- package/scripts/gate/command-memory.ts +10 -4
- package/scripts/gate/core-admission.ts +34 -8
- package/scripts/gate/core-budget.ts +55 -65
- package/scripts/gate/core-priority.ts +28 -0
- package/scripts/gate/core-reservation.ts +85 -0
- package/scripts/gate/core-wait.ts +90 -19
- package/scripts/gate/core-weights.ts +25 -16
- package/scripts/gate/gate-checks.ts +196 -0
- package/scripts/gate/gate-labels.ts +4 -0
- package/scripts/gate/gate-plan.ts +34 -164
- package/scripts/gate/gate-report.ts +14 -10
- package/scripts/gate/gate-run-steps.ts +38 -6
- package/scripts/gate/gate-skip.ts +1 -1
- package/scripts/gate/gate-static-group.ts +35 -6
- package/scripts/gate/machine-capacity.ts +20 -25
- package/scripts/gate/metrics-totals.ts +30 -4
- package/scripts/gate/path-glob.ts +15 -0
- package/scripts/gate/pre-commit-type-check.ts +2 -6
- package/scripts/gate/project-checks.ts +33 -2
- package/scripts/gate/project-gate-steps.ts +206 -0
- package/scripts/gate/project-step-reuse.ts +69 -0
- package/scripts/gate/scoped-green.ts +10 -4
- package/scripts/gate/since-green.ts +76 -20
- package/scripts/gate/tree-verdict.ts +111 -0
- package/scripts/gate/tsc-arguments.ts +9 -0
- package/scripts/gate/type-check-command.ts +4 -7
- package/scripts/gate/type-check-step.ts +4 -1
- package/scripts/gate/type-program-serial.ts +52 -0
- package/scripts/gate/verification-gate.ts +47 -17
- package/scripts/gate/verification-inputs.ts +46 -11
- package/scripts/gate/whole-tree-reuse.ts +24 -0
- package/scripts/gh/gh-author-association.ts +40 -14
- package/scripts/gh/gh-call-kind.ts +97 -0
- package/scripts/gh/gh-comment-input.ts +26 -0
- package/scripts/gh/gh-core-rate-limit.ts +151 -0
- package/scripts/gh/gh-permission-cache.ts +44 -0
- package/scripts/gh/gh-request-tally.ts +143 -0
- package/scripts/gh/gh-spawn.ts +2 -2
- package/scripts/gh/gh-usage-cli.ts +71 -0
- package/scripts/gh/gh-usage-event.ts +82 -0
- package/scripts/gh/gh-usage-log.ts +48 -0
- package/scripts/gh/gh-usage-tally.ts +209 -0
- package/scripts/gh/git-gh-api-path.ts +17 -2
- package/scripts/gh/git-gh-blocked-by-graphql.ts +107 -0
- package/scripts/gh/git-gh-checks-failed-main.ts +24 -0
- package/scripts/gh/git-gh-checks-failed.ts +141 -0
- package/scripts/gh/git-gh-code-scanning.ts +81 -0
- package/scripts/gh/git-gh-conditional.ts +36 -4
- package/scripts/gh/git-gh-etag-read.ts +107 -0
- package/scripts/gh/git-gh-exec.ts +74 -25
- package/scripts/gh/git-gh-failure.ts +16 -2
- package/scripts/gh/git-gh-helpers.ts +2 -6
- package/scripts/gh/git-gh-issue-alias-graphql.ts +113 -0
- package/scripts/gh/git-gh-issue-batch-graphql.ts +155 -0
- package/scripts/gh/git-gh-issue-batch-read.ts +66 -0
- package/scripts/gh/git-gh-issue-graphql.ts +229 -0
- package/scripts/gh/git-gh-issue-list-graphql.ts +103 -0
- package/scripts/gh/git-gh-issue-list.ts +126 -34
- package/scripts/gh/git-gh-issue-memo.ts +53 -0
- package/scripts/gh/git-gh-issue-read.ts +87 -14
- package/scripts/gh/git-gh-issue-rest.ts +5 -8
- package/scripts/gh/git-gh-issue-write.ts +31 -10
- package/scripts/gh/git-gh-issue.ts +25 -4
- package/scripts/gh/git-gh-poll-read.ts +43 -18
- package/scripts/gh/git-gh-pr-auto-merge.ts +1 -4
- package/scripts/gh/git-gh-pr-graphql-snapshot.ts +369 -0
- package/scripts/gh/git-gh-pr-graphql-state.ts +21 -26
- package/scripts/gh/git-gh-pr-read.ts +4 -1
- package/scripts/gh/git-gh-pr-rollup.ts +10 -3
- package/scripts/gh/git-gh-pr-snapshot.ts +78 -22
- package/scripts/gh/git-gh-pr.ts +51 -17
- package/scripts/gh/git-gh-rate-limit.ts +91 -0
- package/scripts/gh/git-gh-repo.ts +37 -20
- package/scripts/gh/git-gh-retry.ts +60 -24
- package/scripts/gh/git-gh-spawn-width.ts +6 -0
- package/scripts/gh/git-gh-transport.ts +213 -0
- package/scripts/gh/git-pr-ai-review.ts +8 -5
- package/scripts/gh/git-pr-checks-eval.ts +16 -17
- package/scripts/gh/git-pr-checks-gate.ts +129 -0
- package/scripts/gh/git-pr-checks-missing.ts +165 -0
- package/scripts/gh/git-pr-checks-parse.ts +4 -0
- package/scripts/gh/git-pr-checks-watch.ts +22 -6
- package/scripts/gh/git-pr-checks.ts +105 -76
- package/scripts/gh/git-pr-merge-checked.ts +26 -12
- package/scripts/gh/git-pr.ts +9 -23
- package/scripts/git/base-tree.ts +18 -10
- package/scripts/git/changed-paths-sync.ts +4 -12
- package/scripts/git/changed-paths.ts +31 -6
- package/scripts/git/git-command.ts +9 -1
- package/scripts/git/git-common-directory.ts +17 -3
- package/scripts/git/git-issue.ts +3 -3
- package/scripts/git/git-merge-conflicts.ts +8 -3
- package/scripts/git/git-path-quoting.ts +54 -0
- package/scripts/git/git-push-transport.ts +8 -10
- package/scripts/git/git-schemas.ts +1 -0
- package/scripts/git/git-spawn-sync.ts +11 -7
- package/scripts/git/git-spawn.ts +1 -1
- package/scripts/git/git-ssh-keepalive.ts +3 -3
- package/scripts/git/git-workflow.ts +32 -9
- package/scripts/git/git-worktree.ts +12 -4
- package/scripts/git/main-merge.ts +3 -36
- package/scripts/git/main-sync.ts +2 -13
- package/scripts/git/repository-lock.ts +8 -7
- package/scripts/git/stash/git-stash.ts +38 -5
- package/scripts/git/stash/stash-pop-cli.ts +43 -6
- package/scripts/hooks/bash-revert.ts +253 -0
- package/scripts/hooks/batch-guard.ts +28 -16
- package/scripts/hooks/check-commit-message.ts +5 -7
- package/scripts/hooks/codex-hook-adapter.ts +58 -13
- package/scripts/hooks/direct-gh-usage.ts +130 -0
- package/scripts/hooks/edited-cspell.ts +8 -11
- package/scripts/hooks/fixtures/claude-Agent.json +16 -0
- package/scripts/hooks/fixtures/claude-Bash.json +12 -0
- package/scripts/hooks/fixtures/claude-Edit.json +17 -0
- package/scripts/hooks/fixtures/claude-Read.json +12 -0
- package/scripts/hooks/fixtures/claude-Write.json +12 -0
- package/scripts/hooks/fixtures/codex-Bash-cat.json +12 -0
- package/scripts/hooks/fixtures/codex-Bash.json +12 -0
- package/scripts/hooks/fixtures/codex-apply_patch.json +14 -0
- package/scripts/hooks/format-edited-cli.ts +8 -1
- package/scripts/hooks/format-edited-file.ts +33 -27
- package/scripts/hooks/hook-context.ts +22 -0
- package/scripts/hooks/hook-demoted.ts +84 -0
- package/scripts/hooks/hook-lap.ts +61 -0
- package/scripts/hooks/hook-ledger-cli.ts +246 -0
- package/scripts/hooks/hook-ledger-demote.ts +58 -0
- package/scripts/hooks/hook-ledger-issues.ts +61 -0
- package/scripts/hooks/hook-ledger-read.ts +97 -0
- package/scripts/hooks/hook-ledger.ts +163 -0
- package/scripts/hooks/implementation-authority.ts +48 -0
- package/scripts/hooks/implementation-shell-deny.ts +344 -0
- package/scripts/hooks/implementation-shell-nested.ts +148 -0
- package/scripts/hooks/implementation-shell.ts +253 -0
- package/scripts/hooks/lane-plan-guard.ts +1 -1
- package/scripts/hooks/pre-commit-lint.ts +10 -5
- package/scripts/hooks/pre-push-unit.ts +49 -13
- package/scripts/hooks/pretool-guard.ts +184 -70
- package/scripts/hooks/reserved-run.ts +13 -13
- package/scripts/hooks/run-hook.sh +84 -30
- package/scripts/hooks/step-zero-notice.ts +52 -14
- package/scripts/hooks/stop-actions.ts +10 -3
- package/scripts/hooks/stop-guard.ts +29 -8
- package/scripts/init/claude-kit-only-settings.ts +1 -1
- package/scripts/init/hook-command-rewrite.ts +90 -65
- package/scripts/init/hook-launch.ts +27 -22
- package/scripts/init/init-ai-copy.ts +14 -4
- package/scripts/init/init-bootstrap.ts +40 -8
- package/scripts/init/init-copy-content.ts +2 -2
- package/scripts/init/init-install.ts +9 -1
- package/scripts/init/init-logic-deploy-vps.ts +5 -3
- package/scripts/init/init-logic-workspace.ts +16 -1
- package/scripts/init/init-logic.ts +11 -18
- package/scripts/init/npm-publish-files.ts +25 -0
- package/scripts/init/start-setup-pr.ts +1 -1
- package/scripts/init/tsconfig-preset-migration.ts +5 -10
- package/scripts/issue/aggregation-split.ts +4 -2
- package/scripts/issue/already-done-citation.ts +103 -0
- package/scripts/issue/baseline-measure.ts +2 -1
- package/scripts/issue/behavior-change-lint.ts +5 -4
- package/scripts/issue/defect-origin-line.ts +11 -10
- package/scripts/issue/defect-origin.ts +4 -3
- package/scripts/issue/defect-rate.ts +2 -1
- package/scripts/issue/defect-report-format.ts +1 -1
- package/scripts/issue/effect-audit.ts +12 -11
- package/scripts/issue/enforcement-lint.ts +48 -0
- package/scripts/issue/expected-effect-lint.ts +6 -5
- package/scripts/issue/figure-source-lint.ts +59 -0
- package/scripts/issue/git-next-issues.ts +15 -17
- package/scripts/issue/issue-already-done-cli.ts +24 -4
- package/scripts/issue/issue-auto-ok.ts +23 -6
- package/scripts/issue/issue-body-cli.ts +75 -0
- package/scripts/issue/issue-body-keys.ts +223 -0
- package/scripts/issue/issue-body-or-comment.ts +1 -1
- package/scripts/issue/issue-bug-label.ts +5 -2
- package/scripts/issue/issue-cap-files.ts +111 -0
- package/scripts/issue/issue-cite-cli.ts +2 -2
- package/scripts/issue/issue-cite.ts +20 -3
- package/scripts/issue/issue-classification.ts +66 -7
- package/scripts/issue/issue-closing-pr.ts +51 -16
- package/scripts/issue/issue-consolidate-cli.ts +81 -0
- package/scripts/issue/issue-consolidate.ts +246 -0
- package/scripts/issue/issue-declared-size.ts +21 -0
- package/scripts/issue/issue-evidence-exit.ts +6 -3
- package/scripts/issue/issue-file-batch-entries.ts +107 -0
- package/scripts/issue/issue-file-batch.ts +206 -0
- package/scripts/issue/issue-file-cli.ts +147 -208
- package/scripts/issue/issue-file-fold.ts +4 -8
- package/scripts/issue/issue-file-interrupt.ts +68 -9
- package/scripts/issue/issue-file-lane-hint.ts +3 -2
- package/scripts/issue/issue-file-main.ts +17 -0
- package/scripts/issue/issue-file-pass.ts +242 -0
- package/scripts/issue/issue-file.ts +24 -5
- package/scripts/issue/issue-fold-apply.ts +102 -0
- package/scripts/issue/issue-fold-existing-cli.ts +226 -19
- package/scripts/issue/issue-human-stops.ts +102 -0
- package/scripts/issue/issue-labels.ts +14 -3
- package/scripts/issue/issue-lint-cli.ts +20 -6
- package/scripts/issue/issue-lint.ts +4 -6
- package/scripts/issue/issue-merged.ts +75 -9
- package/scripts/issue/issue-not-before.ts +34 -4
- package/scripts/issue/issue-number-shape.ts +8 -0
- package/scripts/issue/issue-plan-cli.ts +33 -5
- package/scripts/issue/issue-plan-notify.ts +100 -0
- package/scripts/issue/issue-premise-unmet-cli.ts +110 -0
- package/scripts/issue/issue-priority-cli.ts +103 -16
- package/scripts/issue/issue-priority-instructed.ts +55 -0
- package/scripts/issue/issue-priority-raise.ts +70 -12
- package/scripts/issue/issue-priority.ts +56 -16
- package/scripts/issue/issue-rank.ts +48 -15
- package/scripts/issue/issue-read-cli.ts +66 -33
- package/scripts/issue/issue-read.ts +20 -5
- package/scripts/issue/issue-release-class-cli.ts +79 -0
- package/scripts/issue/issue-report-failures.ts +14 -5
- package/scripts/issue/issue-run-hold.ts +13 -0
- package/scripts/issue/issue-run-verdict.ts +68 -0
- package/scripts/issue/issue-sample-gate.ts +18 -7
- package/scripts/issue/issue-sample-required.ts +20 -3
- package/scripts/issue/issue-sample-source.ts +2 -1
- package/scripts/issue/issue-scout-cli.ts +34 -18
- package/scripts/issue/issue-scout.ts +25 -4
- package/scripts/issue/issue-search.ts +3 -0
- package/scripts/issue/issue-sources.ts +98 -0
- package/scripts/issue/issue-spill-cli.ts +292 -0
- package/scripts/issue/issue-spill-main.ts +11 -0
- package/scripts/issue/issue-spill.ts +193 -0
- package/scripts/issue/issue-state-cli.ts +9 -17
- package/scripts/issue/issue-template-section.ts +8 -3
- package/scripts/issue/issue-tick-cli.ts +59 -0
- package/scripts/issue/issue-watch-diff.ts +22 -7
- package/scripts/issue/issue-watch-hook.ts +11 -9
- package/scripts/issue/issue-watch.ts +25 -5
- package/scripts/issue/issue-wip.ts +44 -9
- package/scripts/issue/markdown-section.ts +66 -10
- package/scripts/issue/measure-declaration.ts +70 -13
- package/scripts/issue/measure-rerun-cli.ts +9 -8
- package/scripts/issue/measure-twin.ts +37 -0
- package/scripts/issue/reproduction-measure.ts +2 -1
- package/scripts/issue/session-cite.ts +1 -1
- package/scripts/issue/size-estimate.ts +317 -22
- package/scripts/issue/trusted-measure-source.ts +43 -0
- package/scripts/issue/trusted-measure.ts +79 -35
- package/scripts/issue/upstream-interrupt-cli.ts +280 -0
- package/scripts/issue/upstream-interrupt-main.ts +11 -0
- package/scripts/josh/agent-session-environment.ts +19 -1
- package/scripts/josh/cli-body.ts +46 -9
- package/scripts/josh/command-usage.ts +3 -0
- package/scripts/josh/durable-state-migrate.ts +11 -4
- package/scripts/josh/durable-state-root.ts +60 -0
- package/scripts/josh/durable-state.ts +9 -44
- package/scripts/josh/hook-decision.ts +55 -113
- package/scripts/josh/hook-envelope.ts +62 -0
- package/scripts/josh/hook-payload-capture.ts +78 -0
- package/scripts/josh/hook-tool-payload.ts +15 -0
- package/scripts/josh/josh-aliases.ts +7 -0
- package/scripts/josh/josh-command-map.ts +15 -0
- package/scripts/josh/josh-command-types.ts +28 -4
- package/scripts/josh/josh-commands-agent-hooks.ts +39 -7
- package/scripts/josh/josh-commands-ai.ts +420 -9
- package/scripts/josh/josh-commands-backlog.ts +79 -11
- package/scripts/josh/josh-commands-clone.ts +2 -5
- package/scripts/josh/josh-commands-development.ts +25 -8
- package/scripts/josh/josh-commands-document.ts +22 -10
- package/scripts/josh/josh-commands-epic.ts +30 -11
- package/scripts/josh/josh-commands-hooks.ts +0 -1
- package/scripts/josh/josh-commands-issue-write.ts +190 -18
- package/scripts/josh/josh-commands-issue.ts +57 -17
- package/scripts/josh/josh-commands-lint.ts +52 -19
- package/scripts/josh/josh-commands-maintenance.ts +37 -4
- package/scripts/josh/josh-commands-pause.ts +53 -5
- package/scripts/josh/josh-commands-prime.ts +28 -0
- package/scripts/josh/josh-commands-progress.ts +59 -7
- package/scripts/josh/josh-commands-project.ts +8 -5
- package/scripts/josh/josh-commands-review.ts +83 -5
- package/scripts/josh/josh-commands-run.ts +20 -31
- package/scripts/josh/josh-commands-ship.ts +95 -13
- package/scripts/josh/josh-commands-test-check.ts +0 -2
- package/scripts/josh/josh-commands-versioning.ts +11 -2
- package/scripts/josh/josh-commands-workflow.ts +41 -11
- package/scripts/josh/josh-completion-scripts.ts +81 -0
- package/scripts/josh/josh-completion.ts +29 -0
- package/scripts/josh/josh-environment-file.ts +8 -10
- package/scripts/josh/josh-gh-usage.ts +53 -0
- package/scripts/josh/josh-in-process.ts +21 -21
- package/scripts/josh/josh-logic.ts +22 -46
- package/scripts/josh/josh-read-only.ts +51 -0
- package/scripts/josh/josh-run.ts +30 -6
- package/scripts/josh/josh.ts +9 -11
- package/scripts/josh/path-decision.ts +2 -2
- package/scripts/josh/process-identity.ts +5 -0
- package/scripts/josh/session-handoff-line.ts +88 -0
- package/scripts/josh/session-language-cli.ts +18 -4
- package/scripts/josh/session-model-record.ts +62 -0
- package/scripts/lane/historical-evidence.ts +136 -0
- package/scripts/lane/historical-log-evidence.ts +47 -0
- package/scripts/lane/lane-adopt-cli.ts +1 -1
- package/scripts/lane/lane-await.ts +8 -3
- package/scripts/lane/lane-breakdown-calls.ts +165 -0
- package/scripts/lane/lane-breakdown-cli.ts +77 -9
- package/scripts/lane/lane-breakdown-estimate.ts +136 -0
- package/scripts/lane/lane-breakdown-implement.ts +166 -29
- package/scripts/lane/lane-breakdown-laps.ts +116 -24
- package/scripts/lane/lane-breakdown-pause.ts +127 -0
- package/scripts/lane/lane-breakdown-pinned.ts +19 -3
- package/scripts/lane/lane-breakdown-related.ts +40 -0
- package/scripts/lane/lane-breakdown-text.ts +129 -15
- package/scripts/lane/lane-breakdown.ts +194 -30
- package/scripts/lane/lane-broker-server.ts +1 -1
- package/scripts/lane/lane-capacity.ts +27 -16
- package/scripts/lane/lane-chain-stop-stats.ts +110 -0
- package/scripts/lane/lane-check-stats.ts +25 -5
- package/scripts/lane/lane-child-invocation.ts +9 -9
- package/scripts/lane/lane-ci-path-stats.ts +15 -4
- package/scripts/lane/lane-cli.ts +2 -2
- package/scripts/lane/lane-concurrency-stats.ts +110 -0
- package/scripts/lane/lane-cut-stats.ts +101 -0
- package/scripts/lane/lane-dispatch.ts +25 -20
- package/scripts/lane/lane-early-push-stats.ts +25 -0
- package/scripts/lane/lane-environment.ts +2 -2
- package/scripts/lane/lane-gap-stats.ts +69 -8
- package/scripts/lane/lane-guard-policy.ts +1 -1
- package/scripts/lane/lane-hand-back-held.ts +51 -0
- package/scripts/lane/lane-hand-back-hold.ts +103 -0
- package/scripts/lane/lane-held-stats.ts +13 -1
- package/scripts/lane/lane-implement-rate-read.ts +50 -0
- package/scripts/lane/lane-implement-rate.ts +74 -0
- package/scripts/lane/lane-implement-read.ts +129 -0
- package/scripts/lane/lane-implement-signals-record.ts +56 -0
- package/scripts/lane/lane-implement-signals.ts +161 -0
- package/scripts/lane/lane-implement-stats.ts +93 -18
- package/scripts/lane/lane-launch-admission.ts +61 -0
- package/scripts/lane/lane-launch-cli.ts +63 -27
- package/scripts/lane/lane-launch-pending.ts +44 -0
- package/scripts/lane/lane-ledger-archive.ts +200 -0
- package/scripts/lane/lane-ledger-kind.ts +5 -0
- package/scripts/lane/lane-ledger-pinned-origin.ts +10 -0
- package/scripts/lane/lane-ledger-schema-load.ts +45 -0
- package/scripts/lane/lane-ledger-schema-offer.ts +30 -0
- package/scripts/lane/lane-ledger-schema-ship.ts +70 -4
- package/scripts/lane/lane-ledger-schema.ts +53 -30
- package/scripts/lane/lane-ledger-tail.ts +124 -0
- package/scripts/lane/lane-ledger-write.ts +60 -27
- package/scripts/lane/lane-ledger.ts +6 -31
- package/scripts/lane/lane-limit-cli.ts +11 -1
- package/scripts/lane/lane-limit-history.ts +77 -0
- package/scripts/lane/lane-limit-override.ts +49 -8
- package/scripts/lane/lane-listening-ports.ts +77 -0
- package/scripts/lane/lane-load.ts +62 -2
- package/scripts/lane/lane-measure-cli.ts +134 -55
- package/scripts/lane/lane-net-read.ts +22 -10
- package/scripts/lane/lane-net-time.ts +103 -18
- package/scripts/lane/lane-open.ts +19 -113
- package/scripts/lane/lane-over-causes.ts +130 -0
- package/scripts/lane/lane-over.ts +177 -0
- package/scripts/lane/lane-overrun-prompt.ts +4 -3
- package/scripts/lane/lane-overrun.ts +22 -9
- package/scripts/lane/lane-pairs.ts +128 -0
- package/scripts/lane/lane-paths.ts +26 -0
- package/scripts/lane/lane-pause-cli.ts +4 -2
- package/scripts/lane/lane-paused-spans.ts +11 -4
- package/scripts/lane/lane-phase.ts +36 -7
- package/scripts/lane/lane-plan-approval.ts +113 -0
- package/scripts/lane/lane-plan-auto.ts +53 -0
- package/scripts/lane/lane-plan-check.ts +196 -54
- package/scripts/lane/lane-plan-cli.ts +37 -10
- package/scripts/lane/lane-plan-imports.ts +53 -0
- package/scripts/lane/lane-plan-premise.ts +83 -0
- package/scripts/lane/lane-plan-probe.ts +115 -0
- package/scripts/lane/lane-plan-signals.ts +119 -0
- package/scripts/lane/lane-plan-size.ts +389 -0
- package/scripts/lane/lane-plan-wait-event.ts +124 -0
- package/scripts/lane/lane-plan-wait-until.ts +22 -0
- package/scripts/lane/lane-plan-wait.ts +125 -0
- package/scripts/lane/lane-plan.ts +113 -14
- package/scripts/lane/lane-preserve.ts +58 -13
- package/scripts/lane/lane-process-load.ts +130 -19
- package/scripts/lane/lane-process-stats.ts +51 -10
- package/scripts/lane/lane-reap.ts +4 -2
- package/scripts/lane/lane-registry.ts +19 -14
- package/scripts/lane/lane-relaunch.ts +32 -14
- package/scripts/lane/lane-report.ts +2 -0
- package/scripts/lane/lane-resolve-cli.ts +88 -0
- package/scripts/lane/lane-resolve-hunks.ts +63 -0
- package/scripts/lane/lane-resolve-record.ts +59 -0
- package/scripts/lane/lane-resolve.ts +122 -0
- package/scripts/lane/lane-restart.ts +1 -1
- package/scripts/lane/lane-room.ts +58 -0
- package/scripts/lane/lane-round-one-stats.ts +2 -1
- package/scripts/lane/lane-sampler.ts +53 -3
- package/scripts/lane/lane-seat-ownership.ts +57 -0
- package/scripts/lane/lane-seat-start.ts +52 -0
- package/scripts/lane/lane-seat-stop.ts +20 -0
- package/scripts/lane/lane-seat.ts +174 -0
- package/scripts/lane/lane-seed.ts +2 -5
- package/scripts/lane/lane-session-action.ts +26 -10
- package/scripts/lane/lane-session-broker.ts +1 -1
- package/scripts/lane/lane-session-reread.ts +2 -1
- package/scripts/lane/lane-setup.ts +59 -0
- package/scripts/lane/lane-ship-lap-stats.ts +3 -1
- package/scripts/lane/lane-sinks-issues.ts +52 -0
- package/scripts/lane/lane-sinks.ts +165 -0
- package/scripts/lane/lane-size-record.ts +39 -0
- package/scripts/lane/lane-size-stats.ts +111 -0
- package/scripts/lane/lane-split-stats.ts +33 -9
- package/scripts/lane/lane-stage-budget.ts +27 -0
- package/scripts/lane/lane-stage-stats.ts +94 -25
- package/scripts/lane/lane-state-record.ts +74 -0
- package/scripts/lane/lane-state.ts +21 -33
- package/scripts/lane/lane-stats-request.ts +163 -0
- package/scripts/lane/lane-stats-tables.ts +44 -3
- package/scripts/lane/lane-stats.ts +9 -2
- package/scripts/lane/lane-stop-stats.ts +3 -2
- package/scripts/lane/lane-test-related-stats.ts +5 -2
- package/scripts/lane/lane-timeline.ts +251 -0
- package/scripts/lane/lane-transcript-calls.ts +73 -4
- package/scripts/lane/lane-transcript-stats.ts +8 -3
- package/scripts/lane/lane-turn-stats.ts +171 -0
- package/scripts/lane/lane-value-cell.ts +87 -13
- package/scripts/lane/lane-value-missing.ts +21 -0
- package/scripts/lane/lane-why-causes.ts +102 -0
- package/scripts/lane/lane-why-ci.ts +50 -0
- package/scripts/lane/lane-why-cli.ts +83 -0
- package/scripts/lane/lane-why-period.ts +187 -0
- package/scripts/lane/lane-why-ship.ts +67 -0
- package/scripts/lane/lane-why.ts +192 -0
- package/scripts/lane/lane-withdraw.ts +12 -1
- package/scripts/lane/lane-yield-split.ts +218 -0
- package/scripts/lane/lane-yield.ts +38 -4
- package/scripts/lane/openai-lane-ship.ts +2 -2
- package/scripts/lane/openai-lane-supervisor-cli.ts +17 -8
- package/scripts/lane/openai-lane-supervisor-decision.ts +10 -4
- package/scripts/lane/openai-lane-supervisor-entry.ts +6 -0
- package/scripts/lane/openai-lane-supervisor-owner.ts +19 -3
- package/scripts/lane/openai-lane-supervisor.ts +26 -4
- package/scripts/lane/process-directories.ts +3 -1
- package/scripts/lane/process-lane-marks.ts +11 -5
- package/scripts/lane/process-linux.ts +81 -0
- package/scripts/lane/process-tools.ts +2 -5
- package/scripts/lib/bounded-pool.ts +38 -7
- package/scripts/lib/buffered-process.ts +34 -9
- package/scripts/lib/claude-installer.ts +29 -0
- package/scripts/lib/import-closure.ts +72 -0
- package/scripts/lib/josh-temporary-directory.ts +7 -0
- package/scripts/lib/main-guard.ts +29 -0
- package/scripts/lib/package-manifest.ts +54 -3
- package/scripts/lib/pnpm-installer.ts +16 -0
- package/scripts/lib/poll.ts +130 -20
- package/scripts/lib/schemas.ts +1 -1
- package/scripts/lib/stamped-memo.ts +1 -1
- package/scripts/lib/stamped-store.ts +82 -0
- package/scripts/lib/stdin-text.ts +68 -0
- package/scripts/lib/timeouts.ts +4 -4
- package/scripts/lib/transcript-record.ts +4 -0
- package/scripts/lib/verified-download.ts +17 -0
- package/scripts/lines/bytes-command.ts +1 -1
- package/scripts/lint/cspell-cached.ts +1 -1
- package/scripts/lint/eslint-cache-dependencies.ts +38 -8
- package/scripts/lint/eslint-daemon-calls.ts +83 -0
- package/scripts/lint/eslint-daemon.ts +101 -13
- package/scripts/lint/eslint-heap.ts +50 -0
- package/scripts/lint/eslint-memory.js +45 -0
- package/scripts/lint/eslint-trim.ts +44 -0
- package/scripts/lint/eslint-warm.ts +5 -2
- package/scripts/lint/format.ts +30 -5
- package/scripts/lint/import-graph-store.ts +245 -0
- package/scripts/lint/import-graph.ts +54 -65
- package/scripts/lint/import-move.ts +275 -0
- package/scripts/lint/import-test-inputs.ts +97 -0
- package/scripts/lint/lint-gate-scope.ts +1 -0
- package/scripts/lint/lint-parallel.ts +148 -43
- package/scripts/lint/lint-related-scope.ts +6 -1
- package/scripts/lint/lint-related.ts +66 -25
- package/scripts/lint/lint-rule.ts +293 -0
- package/scripts/lint/lint-shard.ts +91 -0
- package/scripts/lint/lint-timing.ts +39 -0
- package/scripts/lint/rename-cli.ts +36 -10
- package/scripts/lint/rename-identifier.ts +2 -2
- package/scripts/lint/type-only-imports.ts +20 -1
- package/scripts/notify/git-notify.ts +3 -1
- package/scripts/notify/telegram-notify.ts +33 -35
- package/scripts/notify/telegram-test.ts +9 -4
- package/scripts/observations/observation-depth-cli.ts +78 -0
- package/scripts/observations/observation-depth.ts +85 -0
- package/scripts/observations/observation-ledger-home.ts +14 -7
- package/scripts/observations/observations-flush-landing.ts +1 -1
- package/scripts/overrides/overrides-check.ts +33 -10
- package/scripts/overrides/overrides-diff-report.ts +91 -0
- package/scripts/overrides/overrides-diff.ts +98 -0
- package/scripts/package/package-scout-cli.ts +37 -11
- package/scripts/package/package-scout-format.ts +20 -6
- package/scripts/package/package-scout-reuse.ts +207 -0
- package/scripts/plan/plan-scaffold-cli.ts +125 -0
- package/scripts/plan/plan-scaffold.ts +112 -0
- package/scripts/ports/port-command.ts +2 -5
- package/scripts/propagate/propagate-git.ts +3 -3
- package/scripts/propagate/propagate-publish.ts +8 -7
- package/scripts/propagate/propagate-steps.ts +2 -3
- package/scripts/refactor/import-graph.ts +2 -4
- package/scripts/refactor/refactor-lint.ts +47 -30
- package/scripts/refactor/refactor-scan.ts +16 -9
- package/scripts/refactor/refactor-targets.ts +2 -3
- package/scripts/release/github-release.ts +10 -10
- package/scripts/release/publish-tag-cli.ts +13 -3
- package/scripts/release/release-cli.ts +2 -0
- package/scripts/release/release-progress.ts +44 -36
- package/scripts/release/release-request.ts +42 -0
- package/scripts/release/release-scope-cli.ts +31 -2
- package/scripts/release/release-workflow-check.ts +59 -0
- package/scripts/report/markdown-shape.ts +2 -1
- package/scripts/report/report-template-cli.ts +2 -2
- package/scripts/report/report-template.ts +17 -4
- package/scripts/review/acceptance-map.ts +87 -8
- package/scripts/review/diff-summary-cli.ts +81 -0
- package/scripts/review/diff-summary.ts +109 -0
- package/scripts/review/disposition-batch-filing.ts +150 -0
- package/scripts/review/disposition-batch.ts +103 -0
- package/scripts/review/disposition-cli.ts +35 -1
- package/scripts/review/import-specifiers.ts +38 -0
- package/scripts/review/prose-stale-cli.ts +7 -37
- package/scripts/review/prose-stale-read.ts +105 -0
- package/scripts/review/prose-stale-scan.ts +121 -17
- package/scripts/review/removed-tests-check.ts +28 -4
- package/scripts/review/review-brief-cli.ts +69 -71
- package/scripts/review/review-brief.ts +38 -42
- package/scripts/review/review-code-tree.ts +80 -16
- package/scripts/review/review-comment-carry.ts +30 -0
- package/scripts/review/review-diff-pack.ts +70 -0
- package/scripts/review/review-diff-write.ts +23 -22
- package/scripts/review/review-final-record.ts +47 -0
- package/scripts/review/review-finding-ledger.ts +72 -10
- package/scripts/review/review-findings-cli.ts +88 -8
- package/scripts/review/review-fix-hunks.ts +115 -0
- package/scripts/review/review-fix-round.ts +144 -0
- package/scripts/review/review-gate-mode.ts +25 -0
- package/scripts/review/review-interaction.ts +69 -11
- package/scripts/review/review-lane-handover.ts +29 -4
- package/scripts/review/review-level.ts +35 -34
- package/scripts/review/review-lint-findings.ts +3 -3
- package/scripts/review/review-lint-sections.ts +2 -2
- package/scripts/review/review-lint.ts +7 -1
- package/scripts/review/review-pair-cli.ts +157 -0
- package/scripts/review/review-pair-log.ts +75 -0
- package/scripts/review/review-pair-session.ts +98 -0
- package/scripts/review/review-pair.ts +112 -0
- package/scripts/review/review-prior-findings.ts +2 -4
- package/scripts/review/review-prompt-level.ts +28 -0
- package/scripts/review/review-readers-scan.ts +25 -3
- package/scripts/review/review-record-cli.ts +46 -68
- package/scripts/review/review-record-interaction.ts +2 -2
- package/scripts/review/review-record-main.ts +7 -2
- package/scripts/review/review-record-pinned.ts +5 -0
- package/scripts/review/review-record-slot.ts +155 -0
- package/scripts/review/review-reviewed-tree.ts +60 -13
- package/scripts/review/review-round-one-blobs.ts +43 -9
- package/scripts/review/review-round-one-skip.ts +72 -0
- package/scripts/review/review-round-reuse.ts +13 -6
- package/scripts/review/review-round.ts +57 -0
- package/scripts/review/review-round2-cli.ts +5 -0
- package/scripts/review/review-round2-skip-comment.ts +3 -1
- package/scripts/review/review-round2.ts +18 -6
- package/scripts/review/review-size.ts +92 -0
- package/scripts/review/review-stamps.ts +8 -0
- package/scripts/review/review-submit-args.ts +91 -0
- package/scripts/review/review-submit-cli.ts +55 -29
- package/scripts/review/selfcheck-cli.ts +193 -0
- package/scripts/review/selfcheck-commands.ts +175 -0
- package/scripts/review/selfcheck-report.ts +98 -0
- package/scripts/rules/bash-triggers.ts +24 -13
- package/scripts/rules/broad-investigation-shell.ts +183 -0
- package/scripts/rules/broad-investigation.ts +116 -0
- package/scripts/rules/consultation-handoff.ts +81 -0
- package/scripts/rules/consultation-investigation.ts +99 -0
- package/scripts/rules/decision-oracle.ts +1 -1
- package/scripts/rules/delivered-rules-guard.ts +94 -0
- package/scripts/rules/delivered-rules.ts +46 -87
- package/scripts/rules/destructive-command.ts +2 -1
- package/scripts/rules/direct-git-status.ts +81 -0
- package/scripts/rules/direct-issue-comment.ts +9 -1
- package/scripts/rules/direct-vitest-run.ts +98 -0
- package/scripts/rules/egress-guard.ts +308 -0
- package/scripts/rules/firing-point.ts +9 -12
- package/scripts/rules/gh-api.ts +19 -4
- package/scripts/rules/gh-repo-selector.ts +1 -1
- package/scripts/rules/git-argv.ts +57 -10
- package/scripts/rules/guard-remedy.ts +9 -0
- package/scripts/rules/guard-rule-rows.ts +13 -0
- package/scripts/rules/implementation-cut-verdict.ts +1 -1
- package/scripts/rules/implementation-cut.ts +94 -31
- package/scripts/rules/interpreter-options.ts +179 -0
- package/scripts/rules/investigator-foreground.ts +13 -7
- package/scripts/rules/josh-git-bare.ts +1 -1
- package/scripts/rules/keychain-read.ts +73 -0
- package/scripts/rules/lane-background.ts +15 -14
- package/scripts/rules/lane-carry-conflict.ts +15 -8
- package/scripts/rules/lane-direct-tool.ts +18 -11
- package/scripts/rules/lane-interactive-ask.ts +3 -5
- package/scripts/rules/lane-park.ts +25 -10
- package/scripts/rules/lane-spilled-read.ts +3 -5
- package/scripts/rules/lane-split-park.ts +7 -6
- package/scripts/rules/lane-switch-main.ts +10 -3
- package/scripts/rules/launched-call.ts +135 -0
- package/scripts/rules/main-model.ts +54 -0
- package/scripts/rules/nested-commands.ts +71 -0
- package/scripts/rules/permission-guards.ts +6 -2
- package/scripts/rules/pr-merge.ts +1 -1
- package/scripts/rules/pre-gate-cut.ts +20 -11
- package/scripts/rules/protected-files.ts +34 -98
- package/scripts/rules/repeat-check-related.ts +66 -0
- package/scripts/rules/reviewer-foreground.ts +11 -7
- package/scripts/rules/round-one-check-related.ts +59 -19
- package/scripts/rules/rule-list.ts +3 -4
- package/scripts/rules/rule-rephrase.ts +43 -0
- package/scripts/rules/rule-rewrite.ts +16 -6
- package/scripts/rules/rule-value-cache.ts +10 -1
- package/scripts/rules/rule-value-cli.ts +62 -54
- package/scripts/rules/rule-value-prose.ts +186 -0
- package/scripts/rules/rule-value-runs.ts +171 -0
- package/scripts/rules/rule-value.ts +38 -13
- package/scripts/rules/run-tail-rule.ts +19 -2
- package/scripts/rules/secret-paths.ts +92 -0
- package/scripts/rules/sed-in-place.ts +1 -1
- package/scripts/rules/shell-permissions.ts +91 -0
- package/scripts/rules/shell-redirects.ts +54 -0
- package/scripts/rules/shell-segments.ts +3 -2
- package/scripts/rules/stop-decision.ts +7 -1
- package/scripts/rules/stop-rules.ts +1 -1
- package/scripts/rules/unasked-filing.ts +158 -0
- package/scripts/run/add/run-add-cli.ts +114 -36
- package/scripts/run/add/run-add-epic.ts +45 -0
- package/scripts/run/add/run-add-issue.ts +17 -0
- package/scripts/run/add/run-add.ts +159 -21
- package/scripts/run/attached-log.ts +38 -0
- package/scripts/run/board/run-board-cli.ts +34 -9
- package/scripts/run/board/run-board-closed-graphql.ts +129 -0
- package/scripts/run/board/run-board-closed.ts +68 -10
- package/scripts/run/board/run-board-decision-graphql.ts +136 -0
- package/scripts/run/board/run-board-decision-read.ts +195 -0
- package/scripts/run/board/run-board-decision.ts +92 -0
- package/scripts/run/board/run-board-earlier.ts +27 -3
- package/scripts/run/board/run-board-ending-reason.ts +98 -9
- package/scripts/run/board/run-board-ending-states.ts +34 -0
- package/scripts/run/board/run-board-every.ts +19 -9
- package/scripts/run/board/run-board-first-lane.ts +26 -0
- package/scripts/run/board/run-board-fit.ts +47 -11
- package/scripts/run/board/run-board-fold-store.ts +62 -0
- package/scripts/run/board/run-board-fold.ts +41 -9
- package/scripts/run/board/run-board-gather-live.ts +2 -0
- package/scripts/run/board/run-board-gather-thread.ts +14 -3
- package/scripts/run/board/run-board-gather-worker.ts +10 -8
- package/scripts/run/board/run-board-gather.ts +10 -3
- package/scripts/run/board/run-board-github.ts +117 -29
- package/scripts/run/board/run-board-header.ts +33 -24
- package/scripts/run/board/run-board-held.ts +53 -0
- package/scripts/run/board/run-board-human-merge.ts +113 -0
- package/scripts/run/board/run-board-human.ts +37 -0
- package/scripts/run/board/run-board-idle.ts +9 -6
- package/scripts/run/board/run-board-issue-count.ts +101 -0
- package/scripts/run/board/run-board-keys.ts +19 -4
- package/scripts/run/board/run-board-labels.ts +20 -4
- package/scripts/run/board/run-board-lane-event.ts +23 -2
- package/scripts/run/board/run-board-lane-result.ts +58 -0
- package/scripts/run/board/run-board-lane-state.ts +52 -7
- package/scripts/run/board/run-board-lane-stop.ts +108 -0
- package/scripts/run/board/run-board-lane-time.ts +1 -0
- package/scripts/run/board/run-board-layout.ts +64 -74
- package/scripts/run/board/run-board-link.ts +42 -2
- package/scripts/run/board/run-board-notes.ts +1 -1
- package/scripts/run/board/run-board-now.ts +1 -1
- package/scripts/run/board/run-board-operation-codex.ts +37 -0
- package/scripts/run/board/run-board-operation-read.ts +2 -2
- package/scripts/run/board/run-board-operation.ts +8 -5
- package/scripts/run/board/run-board-plan-shared.ts +3 -0
- package/scripts/run/board/run-board-plan.ts +6 -1
- package/scripts/run/board/run-board-process-groups.ts +1 -1
- package/scripts/run/board/run-board-quota-held.ts +319 -0
- package/scripts/run/board/run-board-quota-lane.ts +23 -0
- package/scripts/run/board/run-board-quota-read.ts +422 -0
- package/scripts/run/board/run-board-quota-spent.ts +162 -0
- package/scripts/run/board/run-board-quota-status.ts +67 -0
- package/scripts/run/board/run-board-read.ts +112 -36
- package/scripts/run/board/run-board-reason.ts +40 -20
- package/scripts/run/board/run-board-render-condition.ts +18 -2
- package/scripts/run/board/run-board-render-drawn.ts +5 -1
- package/scripts/run/board/run-board-render-foot.ts +5 -1
- package/scripts/run/board/run-board-render-found.ts +21 -2
- package/scripts/run/board/run-board-render-icon.ts +3 -6
- package/scripts/run/board/run-board-render-lanes.ts +49 -9
- package/scripts/run/board/run-board-render-lead.ts +20 -1
- package/scripts/run/board/run-board-render-legend.ts +4 -0
- package/scripts/run/board/run-board-render-none.ts +35 -0
- package/scripts/run/board/run-board-render-notes.ts +5 -3
- package/scripts/run/board/run-board-render-processes.ts +6 -5
- package/scripts/run/board/run-board-render-quota-cell.ts +81 -0
- package/scripts/run/board/run-board-render-quota-github.ts +112 -0
- package/scripts/run/board/run-board-render-quota.ts +285 -0
- package/scripts/run/board/run-board-render-section.ts +50 -6
- package/scripts/run/board/run-board-render-tail.ts +53 -7
- package/scripts/run/board/run-board-render-throughput.ts +140 -0
- package/scripts/run/board/run-board-render-title.ts +26 -4
- package/scripts/run/board/run-board-render.ts +59 -57
- package/scripts/run/board/run-board-row-yield.ts +1 -0
- package/scripts/run/board/run-board-scope.ts +13 -6
- package/scripts/run/board/run-board-seat.ts +107 -0
- package/scripts/run/board/run-board-settle.ts +33 -0
- package/scripts/run/board/run-board-setup.ts +30 -15
- package/scripts/run/board/run-board-single.ts +123 -0
- package/scripts/run/board/run-board-snapshot.ts +7 -1
- package/scripts/run/board/run-board-span.ts +18 -3
- package/scripts/run/board/run-board-spin.ts +12 -6
- package/scripts/run/board/run-board-standing-waits.ts +52 -0
- package/scripts/run/board/run-board-state.ts +23 -0
- package/scripts/run/board/run-board-status.ts +86 -99
- package/scripts/run/board/run-board-throughput.ts +215 -0
- package/scripts/run/board/run-board-tick.ts +76 -30
- package/scripts/run/board/run-board-usage-read.ts +3 -3
- package/scripts/run/board/run-board-usage-top.ts +12 -35
- package/scripts/run/board/run-board-usual.ts +18 -1
- package/scripts/run/carry/run-carry-added.ts +6 -1
- package/scripts/run/carry/run-carry-args.ts +22 -8
- package/scripts/run/carry/run-carry-cli.ts +31 -1
- package/scripts/run/carry/run-carry-conversation.ts +12 -4
- package/scripts/run/carry/run-carry-ended.ts +3 -0
- package/scripts/run/carry/run-carry-reclaim.ts +2 -1
- package/scripts/run/carry/run-carry.ts +40 -20
- package/scripts/run/cut/run-cut-adoption.ts +67 -0
- package/scripts/run/cut/run-cut-cli.ts +88 -34
- package/scripts/run/cut/run-cut-decline.ts +1 -1
- package/scripts/run/cut/run-cut-handoff.ts +2 -1
- package/scripts/run/cut/run-cut-next.ts +20 -0
- package/scripts/run/cut/run-cut-ready.ts +7 -5
- package/scripts/run/cut/run-cut-report.ts +13 -14
- package/scripts/run/cut/run-cut-resume.ts +1 -1
- package/scripts/run/cut/run-cut.ts +36 -23
- package/scripts/run/detached-launch.ts +12 -7
- package/scripts/run/early-push-record.ts +22 -0
- package/scripts/run/entry/run-entry-children.ts +126 -0
- package/scripts/run/entry/run-entry-cli.ts +126 -82
- package/scripts/run/entry/run-entry-dispatch.ts +20 -0
- package/scripts/run/entry/run-entry-lane-plan.ts +39 -0
- package/scripts/run/entry/run-entry-spill.ts +67 -22
- package/scripts/run/entry/run-entry-stop.ts +9 -8
- package/scripts/run/entry/run-entry-sync.ts +149 -0
- package/scripts/run/entry/run-entry-trust.ts +1 -1
- package/scripts/run/entry/run-entry.ts +9 -0
- package/scripts/run/event/run-event-checks.ts +1 -1
- package/scripts/run/event/run-event-filed.ts +1 -1
- package/scripts/run/event/run-event-follow.ts +9 -5
- package/scripts/run/event/run-event-overrun.ts +7 -7
- package/scripts/run/event/run-event-plan.ts +1 -1
- package/scripts/run/event/run-event-render.ts +5 -0
- package/scripts/run/event/run-event-retry.ts +34 -0
- package/scripts/run/event/run-event-scope.ts +4 -1
- package/scripts/run/event/run-event-setup.ts +55 -5
- package/scripts/run/event/run-event-step.ts +81 -0
- package/scripts/run/event/run-event-stream-emit.ts +63 -23
- package/scripts/run/event/run-event-stream.ts +69 -21
- package/scripts/run/event/run-event-tail.ts +122 -0
- package/scripts/run/event/run-event-watch.ts +12 -7
- package/scripts/run/handoff/run-handoff-args.ts +93 -0
- package/scripts/run/handoff/run-handoff-cli.ts +320 -0
- package/scripts/run/handoff/run-handoff-final.ts +38 -0
- package/scripts/run/handoff/run-handoff-launch.ts +113 -0
- package/scripts/run/handoff/run-handoff-retrospective.ts +48 -0
- package/scripts/run/handoff-lanes/run-handoff-lanes-cli.ts +31 -0
- package/scripts/run/handoff-lanes/run-handoff-lanes.ts +183 -0
- package/scripts/run/hold/run-hold-block.ts +35 -0
- package/scripts/run/hold/run-hold-cli.ts +20 -36
- package/scripts/run/hold/run-hold-main.ts +16 -1
- package/scripts/run/hold/run-hold.ts +12 -8
- package/scripts/run/hold/run-stop-notify.ts +1 -1
- package/scripts/run/launch-priority.ts +4 -7
- package/scripts/run/merge/run-merge-auth.ts +38 -13
- package/scripts/run/merge/run-merge-cap.ts +11 -6
- package/scripts/run/merge/run-merge-cli.ts +55 -58
- package/scripts/run/merge/run-merge-dated.ts +64 -0
- package/scripts/run/merge/run-merge-decision.ts +183 -0
- package/scripts/run/merge/run-merge-driver.ts +2 -0
- package/scripts/run/merge/run-merge-github-limit.ts +98 -0
- package/scripts/run/merge/run-merge-health.ts +137 -0
- package/scripts/run/merge/run-merge-human-review.ts +26 -0
- package/scripts/run/merge/run-merge-restart.ts +10 -3
- package/scripts/run/merge/run-merge-signals.ts +34 -9
- package/scripts/run/merge/run-merge-steps.ts +49 -50
- package/scripts/run/merge/run-merge-token.ts +3 -4
- package/scripts/run/merge/run-merge-usage-limit.ts +22 -9
- package/scripts/run/merge/run-merge-withdrawn.ts +4 -3
- package/scripts/run/merge/run-merge.ts +36 -18
- package/scripts/run/park/run-park-answered.ts +84 -0
- package/scripts/run/park/run-park-body.ts +346 -0
- package/scripts/run/park/run-park-cli.ts +37 -12
- package/scripts/run/park/run-park-lane.ts +41 -0
- package/scripts/run/park/run-park-release.ts +61 -0
- package/scripts/run/park/run-park-write.ts +41 -0
- package/scripts/run/park/run-park.ts +2 -4
- package/scripts/run/park/run-stalled-park.ts +32 -0
- package/scripts/run/park/run-stalled.ts +75 -12
- package/scripts/run/pause/run-pause-cli.ts +4 -3
- package/scripts/run/pause/run-pause-comment.ts +30 -0
- package/scripts/run/pause/run-pause.ts +35 -223
- package/scripts/run/pause/run-set-aside-commit.ts +52 -0
- package/scripts/run/pause/run-set-aside.ts +139 -0
- package/scripts/run/prime/run-prime-cli.ts +105 -0
- package/scripts/run/progress/run-progress-cli.ts +44 -27
- package/scripts/run/progress/run-progress-config.ts +7 -18
- package/scripts/run/progress/run-progress.ts +16 -7
- package/scripts/run/review/run-chain-cli.ts +162 -0
- package/scripts/run/review/run-chain-join.ts +108 -0
- package/scripts/run/review/run-chain-review-fix.ts +70 -0
- package/scripts/run/review/run-chain.ts +167 -0
- package/scripts/run/review/run-review-cli.ts +127 -53
- package/scripts/run/review/run-review-early-push.ts +41 -7
- package/scripts/run/review/run-review-join-ready.ts +88 -0
- package/scripts/run/review/run-review-pinned-accepted.ts +15 -1
- package/scripts/run/review/run-review-pinned-join.ts +8 -4
- package/scripts/run/review/run-review-pinned-steps.ts +12 -7
- package/scripts/run/review/run-review-pinned.ts +8 -3
- package/scripts/run/review/run-review-steps.ts +29 -14
- package/scripts/run/review/run-review-unplanned.ts +75 -0
- package/scripts/run/review/run-review.ts +4 -4
- package/scripts/run/run-halfrun-resume.ts +9 -1
- package/scripts/run/run-headless-keys.ts +23 -0
- package/scripts/run/run-headless.ts +77 -13
- package/scripts/run/run-investigation-record.ts +66 -0
- package/scripts/run/run-label-main.ts +55 -0
- package/scripts/run/run-label.ts +20 -4
- package/scripts/run/run-liveness-cli.ts +1 -1
- package/scripts/run/run-liveness.ts +6 -5
- package/scripts/run/run-maintenance.ts +66 -0
- package/scripts/run/run-open-pr.ts +19 -0
- package/scripts/run/run-parent-cut-hook.ts +17 -9
- package/scripts/run/run-pickup-cli.ts +86 -0
- package/scripts/run/run-pickup-launch.ts +85 -0
- package/scripts/run/run-poll-hook.ts +14 -7
- package/scripts/run/run-pr-return.ts +99 -0
- package/scripts/run/run-prep-cli.ts +54 -7
- package/scripts/run/run-prep-locate.ts +8 -3
- package/scripts/run/run-prep-summary.ts +55 -0
- package/scripts/run/run-prep.ts +37 -1
- package/scripts/run/run-report-cli.ts +13 -2
- package/scripts/run/run-report-end.ts +133 -0
- package/scripts/run/run-report-handoff.ts +1 -1
- package/scripts/run/run-report.ts +7 -1
- package/scripts/run/run-stage-read.ts +38 -4
- package/scripts/run/run-stage.ts +18 -6
- package/scripts/run/run-status.ts +2 -1
- package/scripts/run/run-step-cli.ts +38 -10
- package/scripts/run/run-step-lane-plan.ts +26 -12
- package/scripts/run/run-step-progress.ts +61 -0
- package/scripts/run/run-step-section-driver.ts +27 -0
- package/scripts/run/run-step-section-once.ts +83 -0
- package/scripts/run/run-step-section-table.ts +120 -0
- package/scripts/run/run-step-section.ts +39 -53
- package/scripts/run/run-step.ts +4 -3
- package/scripts/run/run-stop-notify.ts +1 -1
- package/scripts/run/run-tail-cli.ts +14 -6
- package/scripts/run/run-tail.ts +22 -0
- package/scripts/run/run-watcher-guard.ts +15 -5
- package/scripts/run/run-watcher-hook.ts +12 -6
- package/scripts/run/ship/run-ship-args.ts +8 -1
- package/scripts/run/ship/run-ship-cli.ts +68 -65
- package/scripts/run/ship/run-ship-conflict-probe.ts +12 -14
- package/scripts/run/ship/run-ship-detach-wait.ts +25 -0
- package/scripts/run/ship/run-ship-detach.ts +29 -35
- package/scripts/run/ship/run-ship-early-push.ts +34 -0
- package/scripts/run/ship/run-ship-evidence-cli.ts +133 -0
- package/scripts/run/ship/run-ship-evidence.ts +71 -0
- package/scripts/run/ship/run-ship-final-review.ts +28 -0
- package/scripts/run/ship/run-ship-gate-runs.ts +58 -0
- package/scripts/run/ship/run-ship-group.ts +38 -0
- package/scripts/run/ship/run-ship-handover.ts +1 -1
- package/scripts/run/ship/run-ship-lap.ts +100 -12
- package/scripts/run/ship/run-ship-narrowed.ts +104 -0
- package/scripts/run/ship/run-ship-next.ts +3 -3
- package/scripts/run/ship/run-ship-pair-runs.ts +127 -0
- package/scripts/run/ship/run-ship-place.ts +9 -8
- package/scripts/run/ship/run-ship-planned.ts +1 -1
- package/scripts/run/ship/run-ship-pre-detach-pinned.ts +7 -1
- package/scripts/run/ship/run-ship-pre-detach.ts +18 -12
- package/scripts/run/ship/run-ship-preflight-reuse.ts +53 -0
- package/scripts/run/ship/run-ship-preflight.ts +21 -2
- package/scripts/run/ship/run-ship-probe.ts +5 -15
- package/scripts/run/ship/run-ship-record-wait.ts +30 -0
- package/scripts/run/ship/run-ship-relaunch-cap.ts +107 -14
- package/scripts/run/ship/run-ship-relaunch.ts +7 -1
- package/scripts/run/ship/run-ship-removed-rows.ts +34 -10
- package/scripts/run/ship/run-ship-reship.ts +125 -0
- package/scripts/run/ship/run-ship-return.ts +68 -22
- package/scripts/run/ship/run-ship-review-checkpoint.ts +112 -0
- package/scripts/run/ship/run-ship-review-reason.ts +3 -1
- package/scripts/run/ship/run-ship-review-steps.ts +80 -31
- package/scripts/run/ship/run-ship-review.ts +13 -9
- package/scripts/run/ship/run-ship-reviewer.ts +59 -7
- package/scripts/run/ship/run-ship-scoped.ts +232 -21
- package/scripts/run/ship/run-ship-stage.ts +3 -5
- package/scripts/run/ship/run-ship-steps.ts +65 -20
- package/scripts/run/ship/run-ship-stop-cause.ts +52 -1
- package/scripts/run/ship/run-ship-stop-context.ts +5 -5
- package/scripts/run/ship/run-ship-stop-text.ts +1 -1
- package/scripts/run/ship/run-ship-supervised.ts +38 -0
- package/scripts/run/ship/run-ship-sync.ts +114 -19
- package/scripts/run/ship/run-ship-synced-scope.ts +162 -58
- package/scripts/run/ship/run-ship-tree-stamp.ts +35 -0
- package/scripts/run/ship/run-ship-wait-cli.ts +23 -25
- package/scripts/run/ship/run-ship-wait-main.ts +12 -0
- package/scripts/run/ship/run-ship-waiter.ts +8 -6
- package/scripts/run/ship/run-ship.ts +12 -0
- package/scripts/run/split/run-split-cli.ts +134 -0
- package/scripts/run/split/run-split-prerequisite.ts +75 -0
- package/scripts/run/split/run-split.ts +213 -0
- package/scripts/run/stale/run-stale-cli.ts +86 -0
- package/scripts/run/stale/run-stale-main.ts +7 -0
- package/scripts/run/stale/run-stale.ts +117 -0
- package/scripts/run/tidy/run-tidy-cli.ts +24 -2
- package/scripts/run/tree-status-cli.ts +131 -0
- package/scripts/run/tree-status.ts +77 -0
- package/scripts/run/ts-entry-loader.ts +34 -0
- package/scripts/run/wake/run-wake-await.ts +22 -2
- package/scripts/run/wake/run-wake-cli.ts +3 -3
- package/scripts/run/wake/run-wake-describe.ts +1 -1
- package/scripts/run/wake/run-wake-driver.ts +158 -61
- package/scripts/run/wake/run-wake-handoff.ts +65 -14
- package/scripts/run/wake/run-wake-loop.ts +63 -23
- package/scripts/run/wake/run-wake-ports.ts +99 -17
- package/scripts/run/wake/run-wake-resume.ts +98 -0
- package/scripts/run/wake/run-wake-session.ts +16 -14
- package/scripts/run/wake/run-wake-window.ts +15 -0
- package/scripts/run/wake/run-wake.ts +7 -6
- package/scripts/safe-chain/preinstall-command.ts +3 -6
- package/scripts/safe-chain/project-config.ts +2 -2
- package/scripts/security/security-audit-cache.ts +157 -0
- package/scripts/security/security-audit-main.ts +4 -2
- package/scripts/security/security-audit-provision-logic.ts +4 -4
- package/scripts/security/security-audit-provision-main.ts +19 -5
- package/scripts/split/declared-growth.ts +22 -0
- package/scripts/split/split-assess.ts +220 -37
- package/scripts/split/split-child-recover-cli.ts +118 -0
- package/scripts/split/split-direction.ts +172 -0
- package/scripts/split/split-measure.ts +28 -14
- package/scripts/split/split-relocations.ts +108 -0
- package/scripts/split/split-resolution.ts +63 -61
- package/scripts/sync/claude-settings-merge.ts +8 -4
- package/scripts/sync/managed-config-scope.ts +13 -1
- package/scripts/sync/sync-ai-files.ts +2 -2
- package/scripts/sync/sync-configs.ts +3 -5
- package/scripts/test/test-e2e-guard.ts +2 -1
- package/scripts/test/test-inputs.ts +119 -0
- package/scripts/test/test-no-base.ts +35 -16
- package/scripts/test/test-pinned-cache-logic.ts +4 -0
- package/scripts/test/test-pinned-cache.ts +8 -15
- package/scripts/test/test-pinned-carry.ts +93 -0
- package/scripts/test/test-pinned-emit.ts +2 -1
- package/scripts/test/test-pinned-ledger.ts +15 -9
- package/scripts/test/test-pinned-logic.ts +66 -4
- package/scripts/test/test-pinned-main.ts +6 -30
- package/scripts/test/test-pinned-moves.ts +43 -0
- package/scripts/test/test-pinned-probe.ts +61 -17
- package/scripts/test/test-pinned-prune-logic.ts +2 -1
- package/scripts/test/test-pinned-reach.ts +11 -3
- package/scripts/test/test-pinned-record.ts +36 -4
- package/scripts/test/test-pinned-snapshot.ts +110 -0
- package/scripts/test/test-pinned-spawn.ts +32 -7
- package/scripts/test/test-pinned-stage.ts +43 -16
- package/scripts/test/test-pinned-type-check.ts +110 -0
- package/scripts/test/test-pinned.ts +92 -35
- package/scripts/test/test-red-logic.ts +40 -2
- package/scripts/test/test-red.ts +131 -19
- package/scripts/test/test-related-cap.ts +182 -0
- package/scripts/test/test-related-main.ts +2 -4
- package/scripts/test/test-related-pins.ts +33 -0
- package/scripts/test/test-related-record.ts +84 -8
- package/scripts/test/test-related-red.ts +218 -0
- package/scripts/test/test-related-reuse.ts +167 -0
- package/scripts/test/test-related-run.ts +144 -0
- package/scripts/test/test-related-synced.ts +31 -8
- package/scripts/test/test-related-touched.ts +10 -5
- package/scripts/test/test-related-verdict.ts +127 -0
- package/scripts/test/test-related-whole.ts +22 -0
- package/scripts/test/test-related.ts +123 -146
- package/scripts/test/test-type-logic.ts +1 -2
- package/scripts/test/test-unit-guard.ts +12 -3
- package/scripts/test/unit-count-file.ts +25 -1
- package/scripts/test/unit-lane-count.ts +63 -0
- package/scripts/test/unit-run-marker.ts +11 -1
- package/scripts/test/unit-update-arguments.ts +73 -0
- package/scripts/test/unit-worker-share.ts +28 -13
- package/scripts/test/whole-suite-files.ts +2 -0
- package/scripts/time-runtime/guard-rephrase.ts +66 -0
- package/scripts/time-runtime/time-agent-bundles.ts +5 -5
- package/scripts/time-runtime/time-bundle-call.ts +2 -2
- package/scripts/time-runtime/time-bundles.ts +2 -2
- package/scripts/time-runtime/time-command-key.ts +2 -5
- package/scripts/time-runtime/time-density-hook.ts +2 -31
- package/scripts/time-runtime/time-format.ts +4 -4
- package/scripts/time-runtime/time-josh-names.ts +51 -0
- package/scripts/time-runtime/time-markers.ts +4 -4
- package/scripts/time-runtime/time-phase-names.ts +2 -2
- package/scripts/time-runtime/time-shell.ts +28 -17
- package/scripts/time-runtime/time-single-check.ts +4 -4
- package/scripts/time-runtime/time-spans.ts +8 -8
- package/scripts/time-runtime/time-tool-call.ts +4 -3
- package/scripts/time-runtime/time-transcript-block.ts +172 -0
- package/scripts/time-runtime/time-transcript-line.ts +26 -158
- package/scripts/time-runtime/transcript-tail.ts +39 -0
- package/scripts/ui/ui-shot-cli.ts +90 -0
- package/scripts/ui/ui-shot.ts +95 -0
- package/scripts/usage/usage-state-path.ts +22 -0
- package/scripts/usage/usage-tee-cli.ts +5 -0
- package/scripts/usage/usage-tee.ts +48 -0
- package/scripts/version/development-engines-verdict.ts +7 -1
- package/scripts/version/fresh-metadata-cache.ts +4 -3
- package/scripts/version/latest-corepack.ts +3 -3
- package/scripts/version/latest-if-required-cli.ts +32 -4
- package/scripts/version/latest-scope-cli.ts +12 -2
- package/scripts/version/latest-stamp.ts +5 -4
- package/scripts/version/npm-registry.ts +19 -0
- package/scripts/version/playwright-browsers.ts +1 -1
- package/scripts/version/release-hold.ts +2 -2
- package/scripts/version/upgrade-command-guard.ts +1 -1
- package/templates/prettierignore.basic +3 -0
- package/templates/sonar-project.properties +2 -1
- package/templates/workflows/ci.yml +5 -4
- package/tsconfig/base.json +1 -0
- package/dist/hooks/chunk-3GKE653K.js +0 -6204
- package/dist/hooks/chunk-45CJJOO7.js +0 -1243
- package/dist/hooks/chunk-5PM2JRGV.js +0 -7780
- package/dist/hooks/chunk-7SIUNQXK.js +0 -3591
- package/dist/hooks/chunk-Z6DQJKH3.js +0 -2806
- package/prompts/collaboration-workflow.md +0 -28
- package/scripts/epic/epic-bundle-poll.ts +0 -41
- package/scripts/josh/josh-commands-lane.ts +0 -310
- package/scripts/josh/josh-commands-split.ts +0 -28
- package/scripts/review/review-lint-cli.ts +0 -57
- package/scripts/split/split-early-notice.ts +0 -116
|
@@ -0,0 +1,1722 @@
|
|
|
1
|
+
import {
|
|
2
|
+
pnpm_installer
|
|
3
|
+
} from "./chunk-2NSB5ZYQ.js";
|
|
4
|
+
import {
|
|
5
|
+
npm_registry
|
|
6
|
+
} from "./chunk-2MJ4OCDL.js";
|
|
7
|
+
import {
|
|
8
|
+
yaml_document
|
|
9
|
+
} from "./chunk-UCI4AL3Q.js";
|
|
10
|
+
import {
|
|
11
|
+
distributed_paths
|
|
12
|
+
} from "./chunk-66TGK5XL.js";
|
|
13
|
+
import {
|
|
14
|
+
PACKAGE_DIR,
|
|
15
|
+
PROJECT_ROOT,
|
|
16
|
+
package_path
|
|
17
|
+
} from "./chunk-3CCGKX7Y.js";
|
|
18
|
+
import {
|
|
19
|
+
json_object_schema,
|
|
20
|
+
string_array_schema,
|
|
21
|
+
string_record_schema,
|
|
22
|
+
vscode_settings_schema
|
|
23
|
+
} from "./chunk-RBU2NKHF.js";
|
|
24
|
+
import {
|
|
25
|
+
package_manifest
|
|
26
|
+
} from "./chunk-NKKH3PBE.js";
|
|
27
|
+
import {
|
|
28
|
+
json_value
|
|
29
|
+
} from "./chunk-HIU2WXB6.js";
|
|
30
|
+
|
|
31
|
+
// scripts/init/init-logic-sonar.ts
|
|
32
|
+
var SONAR_PROJECT_KEY_PLACEHOLDER = "{{PROJECT_KEY}}";
|
|
33
|
+
var SONAR_ORGANIZATION_PLACEHOLDER = "{{ORGANIZATION}}";
|
|
34
|
+
var SONAR_TEMPLATE_SRC = "templates/sonar-project.properties";
|
|
35
|
+
var SONAR_TEMPLATE_DEST = "sonar-project.properties";
|
|
36
|
+
var PROPERTY_LINE_PATTERN = /^([\w.]+)=/u;
|
|
37
|
+
var MULTICRITERIA_KEY = "sonar.issue.ignore.multicriteria";
|
|
38
|
+
var MULTICRITERIA_LINE_PATTERN = /^sonar\.issue\.ignore\.multicriteria=(.*)$/mu;
|
|
39
|
+
function apply_sonar_template(content, project_key, organization) {
|
|
40
|
+
return content.replaceAll(SONAR_PROJECT_KEY_PLACEHOLDER, () => project_key).replaceAll(SONAR_ORGANIZATION_PLACEHOLDER, () => organization);
|
|
41
|
+
}
|
|
42
|
+
function derive_sonar_identifiers(name_with_owner) {
|
|
43
|
+
const [organization, repository, ...extra] = name_with_owner.trim().split("/");
|
|
44
|
+
if (!organization || !repository || extra.length > 0) {
|
|
45
|
+
throw new Error(`Invalid GitHub repository nameWithOwner: ${name_with_owner}`);
|
|
46
|
+
}
|
|
47
|
+
return {
|
|
48
|
+
organization,
|
|
49
|
+
project_key: `${organization}_${repository}`
|
|
50
|
+
};
|
|
51
|
+
}
|
|
52
|
+
function get_sonar_template_source() {
|
|
53
|
+
return SONAR_TEMPLATE_SRC;
|
|
54
|
+
}
|
|
55
|
+
function get_sonar_template_destination() {
|
|
56
|
+
return SONAR_TEMPLATE_DEST;
|
|
57
|
+
}
|
|
58
|
+
function extract_properties_keys(content) {
|
|
59
|
+
const keys = /* @__PURE__ */ new Set();
|
|
60
|
+
for (const line of content.split("\n")) {
|
|
61
|
+
const match = PROPERTY_LINE_PATTERN.exec(line);
|
|
62
|
+
if (match?.[1] !== void 0) keys.add(match[1]);
|
|
63
|
+
}
|
|
64
|
+
return keys;
|
|
65
|
+
}
|
|
66
|
+
function get_multicriteria_value(content) {
|
|
67
|
+
return MULTICRITERIA_LINE_PATTERN.exec(content)?.[1];
|
|
68
|
+
}
|
|
69
|
+
function get_multicriteria_ids(content) {
|
|
70
|
+
return (get_multicriteria_value(content) ?? "").split(",").map((id) => id.trim()).filter(Boolean);
|
|
71
|
+
}
|
|
72
|
+
function get_property_value(content, key) {
|
|
73
|
+
return content.split("\n").find((line) => line.startsWith(`${key}=`))?.slice(key.length + 1);
|
|
74
|
+
}
|
|
75
|
+
function has_criterion_conflict(existing, template, id) {
|
|
76
|
+
return ["ruleKey", "resourceKey"].some((field) => {
|
|
77
|
+
const key = `${MULTICRITERIA_KEY}.${id}.${field}`;
|
|
78
|
+
const existing_value = get_property_value(existing, key);
|
|
79
|
+
const template_value = get_property_value(template, key);
|
|
80
|
+
return existing_value !== void 0 && template_value !== void 0 && existing_value !== template_value;
|
|
81
|
+
});
|
|
82
|
+
}
|
|
83
|
+
function criterion_matches(existing, template, existing_id, template_id) {
|
|
84
|
+
const template_prefix = `${MULTICRITERIA_KEY}.${template_id}`;
|
|
85
|
+
const existing_prefix = `${MULTICRITERIA_KEY}.${existing_id}`;
|
|
86
|
+
const rule = get_property_value(template, `${template_prefix}.ruleKey`);
|
|
87
|
+
const resource = get_property_value(template, `${template_prefix}.resourceKey`);
|
|
88
|
+
if (rule === void 0 || resource === void 0) return false;
|
|
89
|
+
return rule === get_property_value(existing, `${existing_prefix}.ruleKey`) && resource === get_property_value(existing, `${existing_prefix}.resourceKey`);
|
|
90
|
+
}
|
|
91
|
+
function allocate_criterion_id(used_ids) {
|
|
92
|
+
let next_index = 1;
|
|
93
|
+
for (const id of used_ids) {
|
|
94
|
+
const numeric_id = /^e(\d+)$/u.exec(id)?.[1];
|
|
95
|
+
if (numeric_id !== void 0) next_index = Math.max(next_index, Number(numeric_id) + 1);
|
|
96
|
+
}
|
|
97
|
+
return `e${next_index.toString()}`;
|
|
98
|
+
}
|
|
99
|
+
function rename_criterion(template, id, replacement_id) {
|
|
100
|
+
const ids = get_multicriteria_ids(template).map(
|
|
101
|
+
(entry) => entry === id ? replacement_id : entry
|
|
102
|
+
);
|
|
103
|
+
const updated_list = template.replace(
|
|
104
|
+
MULTICRITERIA_LINE_PATTERN,
|
|
105
|
+
() => `${MULTICRITERIA_KEY}=${ids.join(",")}`
|
|
106
|
+
);
|
|
107
|
+
return updated_list.replaceAll(
|
|
108
|
+
`${MULTICRITERIA_KEY}.${id}.`,
|
|
109
|
+
() => `${MULTICRITERIA_KEY}.${replacement_id}.`
|
|
110
|
+
);
|
|
111
|
+
}
|
|
112
|
+
function find_matching_criterion(existing, template, ids, id) {
|
|
113
|
+
return ids.find((candidate) => criterion_matches(existing, template, candidate, id));
|
|
114
|
+
}
|
|
115
|
+
function resolve_multicriteria_conflicts(existing, template) {
|
|
116
|
+
const existing_ids = get_multicriteria_ids(existing);
|
|
117
|
+
const template_ids = get_multicriteria_ids(template);
|
|
118
|
+
const reusable_ids = existing_ids.filter((id) => !template_ids.includes(id));
|
|
119
|
+
let resolved = template;
|
|
120
|
+
for (const id of template_ids) {
|
|
121
|
+
if (!existing_ids.includes(id) || !has_criterion_conflict(existing, resolved, id)) continue;
|
|
122
|
+
const matching_id = find_matching_criterion(existing, resolved, reusable_ids, id);
|
|
123
|
+
const replacement_id = matching_id ?? allocate_criterion_id(/* @__PURE__ */ new Set([...existing_ids, ...get_multicriteria_ids(resolved)]));
|
|
124
|
+
resolved = rename_criterion(resolved, id, replacement_id);
|
|
125
|
+
}
|
|
126
|
+
return resolved;
|
|
127
|
+
}
|
|
128
|
+
function merge_multicriteria_ids(existing, template_content) {
|
|
129
|
+
const existing_value = get_multicriteria_value(existing);
|
|
130
|
+
if (existing_value === void 0) return existing;
|
|
131
|
+
const template_value = get_multicriteria_value(template_content);
|
|
132
|
+
if (template_value === void 0) return existing;
|
|
133
|
+
const existing_ids = get_multicriteria_ids(existing);
|
|
134
|
+
const template_ids = get_multicriteria_ids(template_content);
|
|
135
|
+
const merged_ids = [.../* @__PURE__ */ new Set([...existing_ids, ...template_ids])];
|
|
136
|
+
if (merged_ids.join(",") === existing_value) return existing;
|
|
137
|
+
return existing.replace(
|
|
138
|
+
MULTICRITERIA_LINE_PATTERN,
|
|
139
|
+
() => `${MULTICRITERIA_KEY}=${merged_ids.join(",")}`
|
|
140
|
+
);
|
|
141
|
+
}
|
|
142
|
+
function merge_sonar_properties(existing, template_content) {
|
|
143
|
+
const resolved_template = resolve_multicriteria_conflicts(existing, template_content);
|
|
144
|
+
const merged_existing = merge_multicriteria_ids(existing, resolved_template);
|
|
145
|
+
const existing_keys = extract_properties_keys(merged_existing);
|
|
146
|
+
const lines_to_add = resolved_template.split("\n").filter((line) => {
|
|
147
|
+
const key = PROPERTY_LINE_PATTERN.exec(line)?.[1];
|
|
148
|
+
return key !== void 0 && !existing_keys.has(key);
|
|
149
|
+
});
|
|
150
|
+
if (lines_to_add.length === 0) return merged_existing;
|
|
151
|
+
const normalized = merged_existing.endsWith("\n") ? merged_existing : `${merged_existing}
|
|
152
|
+
`;
|
|
153
|
+
return `${normalized}
|
|
154
|
+
${lines_to_add.join("\n")}
|
|
155
|
+
`;
|
|
156
|
+
}
|
|
157
|
+
var init_logic_sonar = {
|
|
158
|
+
apply_sonar_template,
|
|
159
|
+
derive_sonar_identifiers,
|
|
160
|
+
get_sonar_template_source,
|
|
161
|
+
get_sonar_template_destination,
|
|
162
|
+
merge_sonar_properties
|
|
163
|
+
};
|
|
164
|
+
|
|
165
|
+
// scripts/config-merge/json-format.ts
|
|
166
|
+
var PRINT_WIDTH = 100;
|
|
167
|
+
var TAB_WIDTH = 2;
|
|
168
|
+
var ARRAY_CLOSE = /^\t*\],?$/u;
|
|
169
|
+
function is_array_open(line) {
|
|
170
|
+
return line.endsWith("[");
|
|
171
|
+
}
|
|
172
|
+
function is_leaf_element(line) {
|
|
173
|
+
return !line.endsWith("{") && !line.endsWith("[");
|
|
174
|
+
}
|
|
175
|
+
function line_width(line) {
|
|
176
|
+
const tabs = line.length - line.trimStart().length;
|
|
177
|
+
return tabs * TAB_WIDTH + (line.length - tabs);
|
|
178
|
+
}
|
|
179
|
+
function flatten_elements(elements) {
|
|
180
|
+
const scalars = elements.map((line) => line.trim().replace(/,$/u, ""));
|
|
181
|
+
return `[${scalars.join(", ")}]`;
|
|
182
|
+
}
|
|
183
|
+
function collect_block(lines, start) {
|
|
184
|
+
const close = lines.findIndex((line, index) => index > start && ARRAY_CLOSE.test(line));
|
|
185
|
+
if (close === -1) return void 0;
|
|
186
|
+
const elements = lines.slice(start + 1, close);
|
|
187
|
+
if (elements.some((line) => !is_leaf_element(line))) return void 0;
|
|
188
|
+
return { elements, close: lines[close] ?? "", end: close };
|
|
189
|
+
}
|
|
190
|
+
function try_inline(open, block) {
|
|
191
|
+
const trailing_comma = block.close.trimStart() === "]," ? "," : "";
|
|
192
|
+
const inlined = `${open.slice(0, -1)}${flatten_elements(block.elements)}${trailing_comma}`;
|
|
193
|
+
return line_width(inlined) <= PRINT_WIDTH ? inlined : void 0;
|
|
194
|
+
}
|
|
195
|
+
function rewrite_at(lines, index, line) {
|
|
196
|
+
const verbatim = { lines: [line], next: index + 1 };
|
|
197
|
+
const block = is_array_open(line) ? collect_block(lines, index) : void 0;
|
|
198
|
+
if (block === void 0) return verbatim;
|
|
199
|
+
const inlined = try_inline(line, block);
|
|
200
|
+
if (inlined === void 0) return verbatim;
|
|
201
|
+
return { lines: [inlined], next: block.end + 1 };
|
|
202
|
+
}
|
|
203
|
+
function inline_short_arrays(text) {
|
|
204
|
+
const lines = text.split("\n");
|
|
205
|
+
const output = [];
|
|
206
|
+
let index = 0;
|
|
207
|
+
while (index < lines.length) {
|
|
208
|
+
const rewrite = rewrite_at(lines, index, lines[index] ?? "");
|
|
209
|
+
output.push(...rewrite.lines);
|
|
210
|
+
index = rewrite.next;
|
|
211
|
+
}
|
|
212
|
+
return output.join("\n");
|
|
213
|
+
}
|
|
214
|
+
function format_json(value) {
|
|
215
|
+
return `${inline_short_arrays(JSON.stringify(value, void 0, " "))}
|
|
216
|
+
`;
|
|
217
|
+
}
|
|
218
|
+
function format_package_json(value) {
|
|
219
|
+
return `${JSON.stringify(value, void 0, " ")}
|
|
220
|
+
`;
|
|
221
|
+
}
|
|
222
|
+
var json_format = {
|
|
223
|
+
format_json,
|
|
224
|
+
format_package_json
|
|
225
|
+
};
|
|
226
|
+
|
|
227
|
+
// scripts/safe-chain/preinstall-command.ts
|
|
228
|
+
var INSTALL_GUIDE_ANCHOR = "installing-safe-chain";
|
|
229
|
+
var INSTALL_GUIDE_URL = `https://github.com/joshuafolkken/kit/blob/main/SECURITY.md#${INSTALL_GUIDE_ANCHOR}`;
|
|
230
|
+
var INTEGRATION_HINT = `Warning: safe-chain (@aikidosec/safe-chain) is not scanning this install because its shell integration is not active. Install it with the hash-verified steps at ${INSTALL_GUIDE_URL} - then restart your terminal.`;
|
|
231
|
+
var LOCAL_INTEGRATION_CHECK_SOURCE = `if(!process.env.CI&&!process.env.GLOBAL_AGENT_HTTP_PROXY)console.warn('${INTEGRATION_HINT}')`;
|
|
232
|
+
var SAFE_CHAIN_CMD = `node -e "${LOCAL_INTEGRATION_CHECK_SOURCE}"`;
|
|
233
|
+
var LEGACY_PREINSTALL_RE = /^pnpm dlx @aikidosec\/safe-chain(?:@\S+)? setup-ci(?: && node -e "[^"]*")?$/u;
|
|
234
|
+
function migrate_preinstall(value) {
|
|
235
|
+
return LEGACY_PREINSTALL_RE.test(value) ? SAFE_CHAIN_CMD : value;
|
|
236
|
+
}
|
|
237
|
+
var safe_chain_preinstall = {
|
|
238
|
+
SAFE_CHAIN_CMD,
|
|
239
|
+
LOCAL_INTEGRATION_CHECK_SOURCE,
|
|
240
|
+
INTEGRATION_HINT,
|
|
241
|
+
INSTALL_GUIDE_ANCHOR,
|
|
242
|
+
migrate_preinstall
|
|
243
|
+
};
|
|
244
|
+
|
|
245
|
+
// scripts/init/init-logic-deploy-vps.ts
|
|
246
|
+
import semver from "semver";
|
|
247
|
+
var PNPM_INSTALL_PATTERN = /npm install -g pnpm@\d[\d.]{0,19}/gu;
|
|
248
|
+
var PNPM12_INSTALL = "npm install -g pnpm@12.6.0";
|
|
249
|
+
var MINIMUM_PNPM_VERSION = "12.1.0";
|
|
250
|
+
var OLD_PNPM_CHECK_PATTERN = /^([ \t]*)if ! command -v pnpm &> \/dev\/null(?: \|\| \[ "\$PNPM_MAJOR" -lt \d+ \])?; then$/mu;
|
|
251
|
+
var OLD_MAJOR_LINE_PATTERN = /^[ \t]*PNPM_MAJOR=\$\(pnpm --version 2>\/dev\/null \| cut -d\. -f1 \|\| echo "0"\)\n/mu;
|
|
252
|
+
var VERSION_CHECK_MARKER = '[ "$PNPM_MINOR" -lt 1 ]';
|
|
253
|
+
var UNVERIFIED_INSTALLER = /curl -fsSL https:\/\/get\.pnpm\.io\/install\.sh \| sh -/gu;
|
|
254
|
+
function replace_outdated_install(command) {
|
|
255
|
+
const version = command.slice("npm install -g pnpm@".length);
|
|
256
|
+
const valid_version = semver.valid(version);
|
|
257
|
+
if (valid_version === null) return command;
|
|
258
|
+
return semver.lt(valid_version, MINIMUM_PNPM_VERSION) ? PNPM12_INSTALL : command;
|
|
259
|
+
}
|
|
260
|
+
function build_version_check(indent) {
|
|
261
|
+
return [
|
|
262
|
+
`${indent}PNPM_VERSION=$(pnpm --version 2>/dev/null || echo "0.0.0")`,
|
|
263
|
+
`${indent}PNPM_MAJOR=$(echo "$PNPM_VERSION" | cut -d. -f1)`,
|
|
264
|
+
`${indent}PNPM_MINOR=$(echo "$PNPM_VERSION" | cut -d. -f2)`,
|
|
265
|
+
`${indent}if [ "$PNPM_MAJOR" -lt 12 ] || { [ "$PNPM_MAJOR" -eq 12 ] && [ "$PNPM_MINOR" -lt 1 ]; }; then`
|
|
266
|
+
].join("\n");
|
|
267
|
+
}
|
|
268
|
+
function patch_deploy_vps_pnpm(content) {
|
|
269
|
+
const with_pnpm12 = content.replaceAll(UNVERIFIED_INSTALLER, () => pnpm_installer.command()).replaceAll(PNPM_INSTALL_PATTERN, (command) => replace_outdated_install(command));
|
|
270
|
+
if (with_pnpm12.includes(VERSION_CHECK_MARKER) || !OLD_PNPM_CHECK_PATTERN.test(with_pnpm12)) {
|
|
271
|
+
return with_pnpm12;
|
|
272
|
+
}
|
|
273
|
+
return with_pnpm12.replace(OLD_MAJOR_LINE_PATTERN, "").replace(OLD_PNPM_CHECK_PATTERN, (_, indent) => build_version_check(indent));
|
|
274
|
+
}
|
|
275
|
+
var init_logic_deploy_vps = { patch_deploy_vps_pnpm };
|
|
276
|
+
|
|
277
|
+
// scripts/config-merge/list-patch.ts
|
|
278
|
+
function is_matching(entry, matchers) {
|
|
279
|
+
return matchers.some(
|
|
280
|
+
(matcher) => typeof matcher === "string" ? matcher === entry : matcher.test(entry)
|
|
281
|
+
);
|
|
282
|
+
}
|
|
283
|
+
function apply_remove(existing, remove) {
|
|
284
|
+
if (remove === void 0 || remove.length === 0) return existing;
|
|
285
|
+
return existing.filter((entry) => !is_matching(entry, remove));
|
|
286
|
+
}
|
|
287
|
+
function collect_additions(kept, ensure) {
|
|
288
|
+
if (ensure === void 0) return [];
|
|
289
|
+
return ensure.filter((entry) => !kept.includes(entry));
|
|
290
|
+
}
|
|
291
|
+
function apply_list_patch(existing, patch) {
|
|
292
|
+
const kept = apply_remove(existing, patch.remove);
|
|
293
|
+
const additions = collect_additions(kept, patch.ensure);
|
|
294
|
+
const is_changed = additions.length > 0 || kept.length !== existing.length;
|
|
295
|
+
return { next: [...additions, ...kept], is_changed };
|
|
296
|
+
}
|
|
297
|
+
var list_patch = {
|
|
298
|
+
is_matching,
|
|
299
|
+
apply_list_patch
|
|
300
|
+
};
|
|
301
|
+
|
|
302
|
+
// scripts/config-merge/parse-jsonc.ts
|
|
303
|
+
import { parseTree, printParseErrorCode } from "jsonc-parser";
|
|
304
|
+
function property_key(property) {
|
|
305
|
+
return String(property.children?.[0]?.value);
|
|
306
|
+
}
|
|
307
|
+
function node_value(node) {
|
|
308
|
+
if (node === void 0) return void 0;
|
|
309
|
+
const children = node.children ?? [];
|
|
310
|
+
if (node.type === "array") return children.map((child) => node_value(child));
|
|
311
|
+
if (node.type !== "object") return node.value;
|
|
312
|
+
return Object.fromEntries(
|
|
313
|
+
children.map((property) => [property_key(property), node_value(property.children?.[1])])
|
|
314
|
+
);
|
|
315
|
+
}
|
|
316
|
+
function parse_jsonc(content) {
|
|
317
|
+
const errors = [];
|
|
318
|
+
const tree = parseTree(content, errors, { allowTrailingComma: true });
|
|
319
|
+
const [first_error] = errors;
|
|
320
|
+
if (first_error !== void 0) {
|
|
321
|
+
throw new SyntaxError(
|
|
322
|
+
`Invalid JSONC: ${printParseErrorCode(first_error.error)} at offset ${String(first_error.offset)}`
|
|
323
|
+
);
|
|
324
|
+
}
|
|
325
|
+
return json_object_schema.parse(node_value(tree));
|
|
326
|
+
}
|
|
327
|
+
|
|
328
|
+
// scripts/config-merge/patch-json-key.ts
|
|
329
|
+
import {
|
|
330
|
+
createScanner,
|
|
331
|
+
findNodeAtLocation,
|
|
332
|
+
getNodeValue,
|
|
333
|
+
parseTree as parseTree2,
|
|
334
|
+
stripComments
|
|
335
|
+
} from "jsonc-parser";
|
|
336
|
+
var DOCUMENT_SUFFIX = "\n}\n";
|
|
337
|
+
var DEFAULT_INDENT = " ";
|
|
338
|
+
var LEADING_BLANKS = /^[\t ]*/u;
|
|
339
|
+
var PREVIOUS_LINE_OFFSET = 2;
|
|
340
|
+
var CRLF = "\r\n";
|
|
341
|
+
var COMMA_PROBE_VALUE = 0;
|
|
342
|
+
function render_value(key, value, has_trailing_comma) {
|
|
343
|
+
const probe_key = `${key} `;
|
|
344
|
+
const probe = has_trailing_comma ? { [key]: value, [probe_key]: COMMA_PROBE_VALUE } : { [key]: value };
|
|
345
|
+
const document = json_format.format_json(probe);
|
|
346
|
+
const prefix = `{
|
|
347
|
+
${JSON.stringify(key)}: `;
|
|
348
|
+
const suffix = has_trailing_comma ? `,
|
|
349
|
+
${JSON.stringify(probe_key)}: ${String(COMMA_PROBE_VALUE)}${DOCUMENT_SUFFIX}` : DOCUMENT_SUFFIX;
|
|
350
|
+
return document.slice(prefix.length, document.length - suffix.length);
|
|
351
|
+
}
|
|
352
|
+
function parse_root(content) {
|
|
353
|
+
const root = parseTree2(content);
|
|
354
|
+
return root?.type === "object" ? root : void 0;
|
|
355
|
+
}
|
|
356
|
+
function replace_range(content, range, text) {
|
|
357
|
+
return content.slice(0, range.offset) + text + content.slice(range.offset + range.length);
|
|
358
|
+
}
|
|
359
|
+
function insert_at(content, offset, text) {
|
|
360
|
+
return replace_range(content, { offset, length: 0 }, text);
|
|
361
|
+
}
|
|
362
|
+
function render_indent(value_text, unit) {
|
|
363
|
+
if (unit === DEFAULT_INDENT || unit.length === 0) return value_text;
|
|
364
|
+
return value_text.replaceAll(/^\t+/gmu, (tabs) => unit.repeat(tabs.length));
|
|
365
|
+
}
|
|
366
|
+
function eol_of(content) {
|
|
367
|
+
return content.includes(CRLF) ? CRLF : "\n";
|
|
368
|
+
}
|
|
369
|
+
function fit_value(content, value_text, indent) {
|
|
370
|
+
const indented = render_indent(value_text, indent);
|
|
371
|
+
if (eol_of(content) === "\n") return indented;
|
|
372
|
+
return indented.split("\n").join(CRLF);
|
|
373
|
+
}
|
|
374
|
+
function line_indent(content, offset) {
|
|
375
|
+
const line_start = content.lastIndexOf("\n", offset - 1) + 1;
|
|
376
|
+
return LEADING_BLANKS.exec(content.slice(line_start, offset))?.[0] ?? "";
|
|
377
|
+
}
|
|
378
|
+
function line_end(content, offset) {
|
|
379
|
+
const index = content.indexOf("\n", offset);
|
|
380
|
+
if (index === -1) return content.length;
|
|
381
|
+
return index > offset && content[index - 1] === "\r" ? index - 1 : index;
|
|
382
|
+
}
|
|
383
|
+
function render_property(content, key, value_text, indent) {
|
|
384
|
+
return `${JSON.stringify(key)}: ${fit_value(content, value_text, indent)}`;
|
|
385
|
+
}
|
|
386
|
+
function insertion_offset(content, root, value_end) {
|
|
387
|
+
return Math.min(line_end(content, value_end), root.offset + root.length - 1);
|
|
388
|
+
}
|
|
389
|
+
function separator_offset(content, offset, limit) {
|
|
390
|
+
const scanner = createScanner(content, true);
|
|
391
|
+
scanner.setPosition(offset);
|
|
392
|
+
scanner.scan();
|
|
393
|
+
const at = scanner.getTokenOffset();
|
|
394
|
+
return at < limit && content[at] === "," ? at : -1;
|
|
395
|
+
}
|
|
396
|
+
function has_separator_after(content, offset, limit) {
|
|
397
|
+
return separator_offset(content, offset, limit) !== -1;
|
|
398
|
+
}
|
|
399
|
+
function property_key2(property) {
|
|
400
|
+
const key = property.children?.[0]?.value;
|
|
401
|
+
return typeof key === "string" ? key : void 0;
|
|
402
|
+
}
|
|
403
|
+
function target_value_end(property) {
|
|
404
|
+
const value_node = property?.children?.[1];
|
|
405
|
+
return value_node === void 0 ? void 0 : value_node.offset + value_node.length;
|
|
406
|
+
}
|
|
407
|
+
function contains_comment(content, node) {
|
|
408
|
+
const text = content.slice(node.offset, node.offset + node.length);
|
|
409
|
+
return stripComments(text) !== text;
|
|
410
|
+
}
|
|
411
|
+
function rebalanced_value(content, key, value_node, has_trailing_comma) {
|
|
412
|
+
if (contains_comment(content, value_node)) return void 0;
|
|
413
|
+
const indent = line_indent(content, value_node.offset);
|
|
414
|
+
const rendered = fit_value(
|
|
415
|
+
content,
|
|
416
|
+
render_value(key, getNodeValue(value_node), has_trailing_comma),
|
|
417
|
+
indent
|
|
418
|
+
);
|
|
419
|
+
const current = content.slice(value_node.offset, value_node.offset + value_node.length);
|
|
420
|
+
return rendered === current ? void 0 : rendered;
|
|
421
|
+
}
|
|
422
|
+
function rebalance(content, property, has_trailing_comma) {
|
|
423
|
+
const key = property_key2(property);
|
|
424
|
+
const value_node = property.children?.[1];
|
|
425
|
+
if (key === void 0 || value_node === void 0) return content;
|
|
426
|
+
const rendered = rebalanced_value(content, key, value_node, has_trailing_comma);
|
|
427
|
+
return rendered === void 0 ? content : replace_range(content, value_node, rendered);
|
|
428
|
+
}
|
|
429
|
+
function append_after(content, root, last, property) {
|
|
430
|
+
const value_end = last.offset + last.length;
|
|
431
|
+
const closing_brace = root.offset + root.length - 1;
|
|
432
|
+
const separator = has_separator_after(content, value_end, closing_brace) ? "" : ",";
|
|
433
|
+
const with_property = insert_at(content, insertion_offset(content, root, value_end), property);
|
|
434
|
+
return insert_at(with_property, value_end, separator);
|
|
435
|
+
}
|
|
436
|
+
function insert_only_property(content, root, property) {
|
|
437
|
+
const closing_brace = root.offset + root.length - 1;
|
|
438
|
+
const lead = content[closing_brace - 1] === "\n" ? "" : eol_of(content);
|
|
439
|
+
return insert_at(content, closing_brace, `${lead}${DEFAULT_INDENT}${property}${eol_of(content)}`);
|
|
440
|
+
}
|
|
441
|
+
function insert_property(content, root, key, value_text) {
|
|
442
|
+
const last = root.children?.at(-1);
|
|
443
|
+
if (last === void 0) {
|
|
444
|
+
const only = render_property(content, key, value_text, DEFAULT_INDENT);
|
|
445
|
+
return insert_only_property(content, root, only);
|
|
446
|
+
}
|
|
447
|
+
const indent = line_indent(content, last.offset);
|
|
448
|
+
const property = `${eol_of(content)}${indent}${render_property(content, key, value_text, indent)}`;
|
|
449
|
+
return rebalance(append_after(content, root, last, property), last, true);
|
|
450
|
+
}
|
|
451
|
+
function end_of_trailing_comment(content, end) {
|
|
452
|
+
const stop = line_end(content, end);
|
|
453
|
+
return content.slice(end, stop).trimStart().startsWith("//") ? stop : end;
|
|
454
|
+
}
|
|
455
|
+
function start_of_leading_comments(content, line_start, floor) {
|
|
456
|
+
let start = line_start;
|
|
457
|
+
while (start > floor) {
|
|
458
|
+
const previous = content.lastIndexOf("\n", start - PREVIOUS_LINE_OFFSET) + 1;
|
|
459
|
+
const is_comment_line = content.slice(previous, start).trimStart().startsWith("//");
|
|
460
|
+
if (!is_comment_line || previous < floor) return start;
|
|
461
|
+
start = previous;
|
|
462
|
+
}
|
|
463
|
+
return start;
|
|
464
|
+
}
|
|
465
|
+
function end_of_line_break(content, offset) {
|
|
466
|
+
if (content[offset] === "\r" && content[offset + 1] === "\n") return offset + PREVIOUS_LINE_OFFSET;
|
|
467
|
+
return content[offset] === "\n" ? offset + 1 : offset;
|
|
468
|
+
}
|
|
469
|
+
function body_range(content, root, target, separator_limit) {
|
|
470
|
+
const value_end = target.offset + target.length;
|
|
471
|
+
const comma = separator_limit === -1 ? -1 : separator_offset(content, value_end, separator_limit);
|
|
472
|
+
const end = end_of_trailing_comment(content, comma === -1 ? value_end : comma + 1);
|
|
473
|
+
const line_start = content.lastIndexOf("\n", target.offset - 1) + 1;
|
|
474
|
+
const is_own_line = content.slice(line_start, target.offset).trim().length === 0;
|
|
475
|
+
if (!is_own_line) return { offset: target.offset, length: end - target.offset };
|
|
476
|
+
const start = start_of_leading_comments(content, line_start, root.offset + 1);
|
|
477
|
+
return { offset: start, length: end_of_line_break(content, end) - start };
|
|
478
|
+
}
|
|
479
|
+
function ranges_for_last_property(content, root, previous, target) {
|
|
480
|
+
const comma = separator_offset(content, previous.offset + previous.length, target.offset);
|
|
481
|
+
const body = body_range(content, root, target, -1);
|
|
482
|
+
return comma === -1 ? [body] : [{ offset: comma, length: 1 }, body];
|
|
483
|
+
}
|
|
484
|
+
function removal_ranges(content, root, index) {
|
|
485
|
+
const children = root.children ?? [];
|
|
486
|
+
const target = children[index];
|
|
487
|
+
if (target === void 0) return [];
|
|
488
|
+
const next = children[index + 1];
|
|
489
|
+
if (next !== void 0) return [body_range(content, root, target, next.offset)];
|
|
490
|
+
const previous = children[index - 1];
|
|
491
|
+
if (previous === void 0) return [{ offset: root.offset, length: root.length }];
|
|
492
|
+
return ranges_for_last_property(content, root, previous, target);
|
|
493
|
+
}
|
|
494
|
+
function property_index(root, key) {
|
|
495
|
+
return (root.children ?? []).findIndex((child) => child.children?.[0]?.value === key);
|
|
496
|
+
}
|
|
497
|
+
function with_trailing_newline(content) {
|
|
498
|
+
return content.endsWith("\n") ? content : `${content}
|
|
499
|
+
`;
|
|
500
|
+
}
|
|
501
|
+
function is_followed_by_comma(content, root, key) {
|
|
502
|
+
const children = root.children ?? [];
|
|
503
|
+
const index = property_index(root, key);
|
|
504
|
+
if (index < 0) return false;
|
|
505
|
+
if (index < children.length - 1) return true;
|
|
506
|
+
const value_end = target_value_end(children[index]);
|
|
507
|
+
return value_end !== void 0 && has_separator_after(content, value_end, root.offset + root.length);
|
|
508
|
+
}
|
|
509
|
+
function set_json_key(content, key, value) {
|
|
510
|
+
const root = parse_root(content);
|
|
511
|
+
if (root === void 0) return content;
|
|
512
|
+
const existing = findNodeAtLocation(root, [key]);
|
|
513
|
+
const value_text = render_value(
|
|
514
|
+
key,
|
|
515
|
+
value,
|
|
516
|
+
existing !== void 0 && is_followed_by_comma(content, root, key)
|
|
517
|
+
);
|
|
518
|
+
if (existing === void 0) {
|
|
519
|
+
return with_trailing_newline(insert_property(content, root, key, value_text));
|
|
520
|
+
}
|
|
521
|
+
const indented = fit_value(content, value_text, line_indent(content, existing.offset));
|
|
522
|
+
return with_trailing_newline(replace_range(content, existing, indented));
|
|
523
|
+
}
|
|
524
|
+
function resolve_parent(content, path3) {
|
|
525
|
+
const root = parse_root(content);
|
|
526
|
+
if (root === void 0) return void 0;
|
|
527
|
+
const parent = path3.length > 1 ? findNodeAtLocation(root, path3.slice(0, -1)) : root;
|
|
528
|
+
return parent?.type === "object" ? parent : void 0;
|
|
529
|
+
}
|
|
530
|
+
function cut_ranges(content, parent, ranges) {
|
|
531
|
+
const ordered = ranges.toSorted((left, right) => right.offset - left.offset);
|
|
532
|
+
let next = content;
|
|
533
|
+
for (const range of ordered) {
|
|
534
|
+
next = replace_range(next, range, range.offset === parent.offset ? "{}" : "");
|
|
535
|
+
}
|
|
536
|
+
return next;
|
|
537
|
+
}
|
|
538
|
+
function rebalance_new_last(content, path3) {
|
|
539
|
+
const parent = resolve_parent(content, path3);
|
|
540
|
+
const last = parent?.children?.at(-1);
|
|
541
|
+
if (parent === void 0 || last === void 0) return content;
|
|
542
|
+
return rebalance(content, last, has_separator_after(content, parent.offset, parent.offset));
|
|
543
|
+
}
|
|
544
|
+
function cut_property(content, parent, path3) {
|
|
545
|
+
const index = property_index(parent, path3.at(-1) ?? "");
|
|
546
|
+
const ranges = removal_ranges(content, parent, index);
|
|
547
|
+
if (ranges.length === 0) return content;
|
|
548
|
+
const cut = cut_ranges(content, parent, ranges);
|
|
549
|
+
const did_end_object = index === (parent.children ?? []).length - 1;
|
|
550
|
+
return did_end_object ? rebalance_new_last(cut, path3) : cut;
|
|
551
|
+
}
|
|
552
|
+
function remove_json_path(content, path3) {
|
|
553
|
+
const parent = resolve_parent(content, path3);
|
|
554
|
+
if (parent === void 0) return content;
|
|
555
|
+
const next = cut_property(content, parent, path3);
|
|
556
|
+
return next === content ? content : with_trailing_newline(next);
|
|
557
|
+
}
|
|
558
|
+
function remove_json_key(content, key) {
|
|
559
|
+
return remove_json_path(content, [key]);
|
|
560
|
+
}
|
|
561
|
+
var patch_json_key = {
|
|
562
|
+
set_json_key,
|
|
563
|
+
remove_json_key,
|
|
564
|
+
remove_json_path,
|
|
565
|
+
eol_of,
|
|
566
|
+
fit_value,
|
|
567
|
+
line_indent
|
|
568
|
+
};
|
|
569
|
+
|
|
570
|
+
// scripts/config-merge/patch-json-list.ts
|
|
571
|
+
function normalize_list(value) {
|
|
572
|
+
if (typeof value === "string") return [value];
|
|
573
|
+
if (Array.isArray(value)) return value.map(String);
|
|
574
|
+
return [];
|
|
575
|
+
}
|
|
576
|
+
function patch_json_list_field(content, options) {
|
|
577
|
+
const parsed = parse_jsonc(content);
|
|
578
|
+
const existing = normalize_list(parsed[options.field]);
|
|
579
|
+
const { next, is_changed } = list_patch.apply_list_patch(existing, options);
|
|
580
|
+
if (!is_changed) return content;
|
|
581
|
+
return patch_json_key.set_json_key(content, options.field, [...next]);
|
|
582
|
+
}
|
|
583
|
+
var json_list = {
|
|
584
|
+
patch_json_list_field
|
|
585
|
+
};
|
|
586
|
+
|
|
587
|
+
// scripts/config-merge/patch-yaml-list.ts
|
|
588
|
+
import { dump } from "js-yaml";
|
|
589
|
+
var { parse_yaml } = yaml_document;
|
|
590
|
+
function read_yaml_list_field(content, field) {
|
|
591
|
+
const raw = parse_yaml(content)[field];
|
|
592
|
+
if (typeof raw === "string") return [raw];
|
|
593
|
+
return Array.isArray(raw) ? string_array_schema.parse(raw) : [];
|
|
594
|
+
}
|
|
595
|
+
function replace_field(parsed, field, value) {
|
|
596
|
+
return Object.fromEntries(
|
|
597
|
+
Object.entries(parsed).map(([key, entry]) => [key, key === field ? [...value] : entry])
|
|
598
|
+
);
|
|
599
|
+
}
|
|
600
|
+
function insert_after(parsed, field, value, anchor) {
|
|
601
|
+
const entries = Object.entries(parsed);
|
|
602
|
+
const index = entries.findIndex(([key]) => key === anchor);
|
|
603
|
+
if (index === -1) return { ...parsed, [field]: [...value] };
|
|
604
|
+
return Object.fromEntries([
|
|
605
|
+
...entries.slice(0, index + 1),
|
|
606
|
+
[field, [...value]],
|
|
607
|
+
...entries.slice(index + 1)
|
|
608
|
+
]);
|
|
609
|
+
}
|
|
610
|
+
function insert_new_field(parsed, field, value, position) {
|
|
611
|
+
if (position === "front") return { [field]: [...value], ...parsed };
|
|
612
|
+
if (position === "end") return { ...parsed, [field]: [...value] };
|
|
613
|
+
return insert_after(parsed, field, value, position.after);
|
|
614
|
+
}
|
|
615
|
+
function place_field(parsed, field, value, position) {
|
|
616
|
+
if (Object.hasOwn(parsed, field)) return replace_field(parsed, field, value);
|
|
617
|
+
return insert_new_field(parsed, field, value, position);
|
|
618
|
+
}
|
|
619
|
+
function patch_yaml_list_field(content, options) {
|
|
620
|
+
const parsed = parse_yaml(content);
|
|
621
|
+
const existing = read_yaml_list_field(content, options.field);
|
|
622
|
+
const { next, is_changed } = list_patch.apply_list_patch(existing, options);
|
|
623
|
+
if (!is_changed) return content;
|
|
624
|
+
const placed = place_field(parsed, options.field, next, options.position ?? "front");
|
|
625
|
+
return dump(placed, options.quote_style === void 0 ? {} : { quoteStyle: options.quote_style });
|
|
626
|
+
}
|
|
627
|
+
var yaml_list = {
|
|
628
|
+
patch_yaml_list_field,
|
|
629
|
+
read_yaml_list_field
|
|
630
|
+
};
|
|
631
|
+
|
|
632
|
+
// scripts/config-merge/index.ts
|
|
633
|
+
var config_merge = {
|
|
634
|
+
patch_yaml_list_field: yaml_list.patch_yaml_list_field,
|
|
635
|
+
read_yaml_list_field: yaml_list.read_yaml_list_field,
|
|
636
|
+
patch_json_list_field: json_list.patch_json_list_field
|
|
637
|
+
};
|
|
638
|
+
|
|
639
|
+
// scripts/init/init-logic-migrate.ts
|
|
640
|
+
function migrate_scripts(scripts) {
|
|
641
|
+
const current = scripts["preinstall"];
|
|
642
|
+
if (current === void 0) return scripts;
|
|
643
|
+
return { ...scripts, preinstall: safe_chain_preinstall.migrate_preinstall(current) };
|
|
644
|
+
}
|
|
645
|
+
var init_logic_migrate = { migrate_scripts };
|
|
646
|
+
|
|
647
|
+
// scripts/init/init-logic-package-key-order.ts
|
|
648
|
+
var PACKAGE_JSON_KEY_ORDER = [
|
|
649
|
+
"name",
|
|
650
|
+
"version",
|
|
651
|
+
"description",
|
|
652
|
+
"keywords",
|
|
653
|
+
"homepage",
|
|
654
|
+
"bugs",
|
|
655
|
+
"license",
|
|
656
|
+
"author",
|
|
657
|
+
"contributors",
|
|
658
|
+
"funding",
|
|
659
|
+
"files",
|
|
660
|
+
"main",
|
|
661
|
+
"browser",
|
|
662
|
+
"exports",
|
|
663
|
+
"imports",
|
|
664
|
+
"bin",
|
|
665
|
+
"man",
|
|
666
|
+
"directories",
|
|
667
|
+
"repository",
|
|
668
|
+
"type",
|
|
669
|
+
"types",
|
|
670
|
+
"typings",
|
|
671
|
+
"typesVersions",
|
|
672
|
+
"publishConfig",
|
|
673
|
+
"private",
|
|
674
|
+
"scripts",
|
|
675
|
+
"config",
|
|
676
|
+
"dependencies",
|
|
677
|
+
"devDependencies",
|
|
678
|
+
"peerDependencies",
|
|
679
|
+
"peerDependenciesMeta",
|
|
680
|
+
"bundleDependencies",
|
|
681
|
+
"bundledDependencies",
|
|
682
|
+
"optionalDependencies",
|
|
683
|
+
"overrides",
|
|
684
|
+
"resolutions",
|
|
685
|
+
"packageManager",
|
|
686
|
+
"engines",
|
|
687
|
+
"devEngines",
|
|
688
|
+
"os",
|
|
689
|
+
"cpu",
|
|
690
|
+
"size-limit",
|
|
691
|
+
"pnpm"
|
|
692
|
+
];
|
|
693
|
+
|
|
694
|
+
// scripts/init/kit-base-preset.ts
|
|
695
|
+
var KIT_LEFTHOOK_PRESET = /@joshuafolkken\/[^/]+\/lefthook\//u;
|
|
696
|
+
var KIT_CSPELL_PRESET = /@joshuafolkken\/[^/]+\/cspell(?:\/|$)/u;
|
|
697
|
+
var KIT_TSCONFIG_PRESET = /@joshuafolkken\/[^/]+\/tsconfig\//u;
|
|
698
|
+
var SVELTEKIT_PRESET = /(?<![\w-])sveltekit(?![\w-])/u;
|
|
699
|
+
function has_match(entries, pattern) {
|
|
700
|
+
return entries.some((entry) => pattern.test(entry));
|
|
701
|
+
}
|
|
702
|
+
function is_base_present(entries, subsystem_pattern) {
|
|
703
|
+
return has_match(entries, subsystem_pattern) || has_match(entries, SVELTEKIT_PRESET);
|
|
704
|
+
}
|
|
705
|
+
function is_lefthook_base_present(entries) {
|
|
706
|
+
return is_base_present(entries, KIT_LEFTHOOK_PRESET);
|
|
707
|
+
}
|
|
708
|
+
function is_cspell_base_present(entries) {
|
|
709
|
+
return is_base_present(entries, KIT_CSPELL_PRESET);
|
|
710
|
+
}
|
|
711
|
+
function is_tsconfig_base_present(entries) {
|
|
712
|
+
return is_base_present(entries, KIT_TSCONFIG_PRESET);
|
|
713
|
+
}
|
|
714
|
+
var kit_base_preset = {
|
|
715
|
+
is_lefthook_base_present,
|
|
716
|
+
is_cspell_base_present,
|
|
717
|
+
is_tsconfig_base_present
|
|
718
|
+
};
|
|
719
|
+
|
|
720
|
+
// scripts/init/tsconfig-preset-migration.ts
|
|
721
|
+
import { existsSync } from "node:fs";
|
|
722
|
+
import path from "node:path";
|
|
723
|
+
var LEGACY_PRESET_ENTRY = /@joshuafolkken\/[^/]+\/tsconfig\/[^/]+\.jsonc$/u;
|
|
724
|
+
var LEGACY_SUFFIX = ".jsonc";
|
|
725
|
+
var CURRENT_SUFFIX = ".json";
|
|
726
|
+
var EXTENDS_FIELD = "extends";
|
|
727
|
+
function is_migration_target_present(base_directory, entry) {
|
|
728
|
+
return existsSync(path.resolve(base_directory, entry));
|
|
729
|
+
}
|
|
730
|
+
function migrate_entry(base_directory, entry) {
|
|
731
|
+
if (!LEGACY_PRESET_ENTRY.test(entry)) return entry;
|
|
732
|
+
const migrated = `${entry.slice(0, -LEGACY_SUFFIX.length)}${CURRENT_SUFFIX}`;
|
|
733
|
+
return is_migration_target_present(base_directory, migrated) ? migrated : entry;
|
|
734
|
+
}
|
|
735
|
+
function migrate_extends_value(base_directory, raw) {
|
|
736
|
+
if (typeof raw === "string") return migrate_entry(base_directory, raw);
|
|
737
|
+
if (Array.isArray(raw)) {
|
|
738
|
+
return string_array_schema.parse(raw).map((entry) => migrate_entry(base_directory, entry));
|
|
739
|
+
}
|
|
740
|
+
return raw;
|
|
741
|
+
}
|
|
742
|
+
function migrate_preset_paths(content, base_directory) {
|
|
743
|
+
const parsed = parse_jsonc(content);
|
|
744
|
+
const raw = parsed[EXTENDS_FIELD];
|
|
745
|
+
const migrated = migrate_extends_value(base_directory, raw);
|
|
746
|
+
if (JSON.stringify(migrated) === JSON.stringify(raw)) return content;
|
|
747
|
+
return patch_json_key.set_json_key(content, EXTENDS_FIELD, migrated);
|
|
748
|
+
}
|
|
749
|
+
var tsconfig_preset_migration = {
|
|
750
|
+
migrate_preset_paths
|
|
751
|
+
};
|
|
752
|
+
|
|
753
|
+
// scripts/init/init-logic-json-merge.ts
|
|
754
|
+
function merge_json_extends(content, entry) {
|
|
755
|
+
return config_merge.patch_json_list_field(content, { field: EXTENDS_FIELD, ensure: [entry] });
|
|
756
|
+
}
|
|
757
|
+
function read_extends_entries(content) {
|
|
758
|
+
const raw = parse_jsonc(content)[EXTENDS_FIELD];
|
|
759
|
+
if (typeof raw === "string") return [raw];
|
|
760
|
+
if (Array.isArray(raw)) return string_array_schema.parse(raw);
|
|
761
|
+
return [];
|
|
762
|
+
}
|
|
763
|
+
function merge_tsconfig_extends(content, entry, base_directory) {
|
|
764
|
+
const migrated = tsconfig_preset_migration.migrate_preset_paths(content, base_directory);
|
|
765
|
+
if (kit_base_preset.is_tsconfig_base_present(read_extends_entries(migrated))) return migrated;
|
|
766
|
+
return merge_json_extends(migrated, entry);
|
|
767
|
+
}
|
|
768
|
+
function extract_compiler_options(content) {
|
|
769
|
+
const parsed = parse_jsonc(content);
|
|
770
|
+
const raw = parsed["compilerOptions"];
|
|
771
|
+
if (raw === void 0) return {};
|
|
772
|
+
return json_object_schema.parse(raw);
|
|
773
|
+
}
|
|
774
|
+
function is_redundant_option(value, key, base_options) {
|
|
775
|
+
if (!Object.hasOwn(base_options, key)) return false;
|
|
776
|
+
return JSON.stringify(base_options[key]) === JSON.stringify(value);
|
|
777
|
+
}
|
|
778
|
+
var COMPILER_OPTIONS_FIELD = "compilerOptions";
|
|
779
|
+
function drop_redundant_options(content, redundant) {
|
|
780
|
+
let current = content;
|
|
781
|
+
for (const key of redundant) {
|
|
782
|
+
current = patch_json_key.remove_json_path(current, [COMPILER_OPTIONS_FIELD, key]);
|
|
783
|
+
}
|
|
784
|
+
return current;
|
|
785
|
+
}
|
|
786
|
+
function serialize_stripped(content, kept, redundant) {
|
|
787
|
+
if (Object.keys(kept).length === 0) {
|
|
788
|
+
return patch_json_key.remove_json_key(content, COMPILER_OPTIONS_FIELD);
|
|
789
|
+
}
|
|
790
|
+
return drop_redundant_options(content, redundant);
|
|
791
|
+
}
|
|
792
|
+
function redundant_option_keys(current, base_options) {
|
|
793
|
+
return Object.entries(current).filter(([key, value]) => is_redundant_option(value, key, base_options)).map(([key]) => key);
|
|
794
|
+
}
|
|
795
|
+
function strip_redundant_compiler_options(content, base_options) {
|
|
796
|
+
const raw = parse_jsonc(content)[COMPILER_OPTIONS_FIELD];
|
|
797
|
+
if (raw === void 0) return content;
|
|
798
|
+
const current = json_object_schema.parse(raw);
|
|
799
|
+
const redundant = redundant_option_keys(current, base_options);
|
|
800
|
+
if (redundant.length === 0) return content;
|
|
801
|
+
const kept = Object.entries(current).filter(([key]) => !redundant.includes(key));
|
|
802
|
+
return serialize_stripped(content, Object.fromEntries(kept), redundant);
|
|
803
|
+
}
|
|
804
|
+
function merge_json_array_field(content, key, values) {
|
|
805
|
+
const parsed = parse_jsonc(content);
|
|
806
|
+
const existing = Object.hasOwn(parsed, key) ? string_array_schema.parse(parsed[key]) : [];
|
|
807
|
+
const to_add = values.filter((value) => !existing.includes(value));
|
|
808
|
+
if (to_add.length === 0) return content;
|
|
809
|
+
return patch_json_key.set_json_key(content, key, [...existing, ...to_add]);
|
|
810
|
+
}
|
|
811
|
+
function missing_entries(existing, additions) {
|
|
812
|
+
return Object.entries(additions).filter(([key]) => !Object.hasOwn(existing, key));
|
|
813
|
+
}
|
|
814
|
+
function merge_owned_entries(current, update) {
|
|
815
|
+
const current_object = json_object_schema.safeParse(current);
|
|
816
|
+
const update_object = json_object_schema.safeParse(update);
|
|
817
|
+
if (!current_object.success || !update_object.success) return void 0;
|
|
818
|
+
const owned = current_object.data;
|
|
819
|
+
const missing = missing_entries(owned, update_object.data);
|
|
820
|
+
if (missing.length === 0) return void 0;
|
|
821
|
+
return { ...owned, ...Object.fromEntries(missing) };
|
|
822
|
+
}
|
|
823
|
+
function collect_applicable_updates(parsed, updates) {
|
|
824
|
+
const resolved = Object.entries(updates).map(([key, value]) => [
|
|
825
|
+
key,
|
|
826
|
+
Object.hasOwn(parsed, key) ? merge_owned_entries(parsed[key], value) : value
|
|
827
|
+
]);
|
|
828
|
+
return Object.fromEntries(resolved.filter(([, merged]) => merged !== void 0));
|
|
829
|
+
}
|
|
830
|
+
function merge_json_object(content, updates) {
|
|
831
|
+
const parsed = parse_jsonc(content);
|
|
832
|
+
const applicable = collect_applicable_updates(parsed, updates);
|
|
833
|
+
if (Object.keys(applicable).length === 0) return content;
|
|
834
|
+
let current = content;
|
|
835
|
+
for (const [key, value] of Object.entries(applicable)) {
|
|
836
|
+
current = patch_json_key.set_json_key(current, key, value);
|
|
837
|
+
}
|
|
838
|
+
return current;
|
|
839
|
+
}
|
|
840
|
+
function serialize_package_json(value) {
|
|
841
|
+
return json_format.format_package_json(value);
|
|
842
|
+
}
|
|
843
|
+
var SCRIPTS_PREPEND_KEYS = /* @__PURE__ */ new Set(["preinstall"]);
|
|
844
|
+
function merge_package_scripts(content, scripts) {
|
|
845
|
+
const parsed = parse_jsonc(content);
|
|
846
|
+
const raw = parsed["scripts"];
|
|
847
|
+
const existing = raw === void 0 ? {} : string_record_schema.parse(raw);
|
|
848
|
+
const migrated = init_logic_migrate.migrate_scripts(existing);
|
|
849
|
+
const to_add = missing_entries(migrated, scripts);
|
|
850
|
+
const did_migrate = JSON.stringify(migrated) !== JSON.stringify(existing);
|
|
851
|
+
if (!did_migrate && to_add.length === 0) return content;
|
|
852
|
+
const prepend = Object.fromEntries(to_add.filter(([k]) => SCRIPTS_PREPEND_KEYS.has(k)));
|
|
853
|
+
const append = Object.fromEntries(to_add.filter(([k]) => !SCRIPTS_PREPEND_KEYS.has(k)));
|
|
854
|
+
return serialize_package_json({ ...parsed, scripts: { ...prepend, ...migrated, ...append } });
|
|
855
|
+
}
|
|
856
|
+
function upgrade_safe_chain_preinstall(content) {
|
|
857
|
+
const parsed = parse_jsonc(content);
|
|
858
|
+
const raw = parsed["scripts"];
|
|
859
|
+
if (raw === void 0) return content;
|
|
860
|
+
const scripts = string_record_schema.parse(raw);
|
|
861
|
+
const current = scripts["preinstall"];
|
|
862
|
+
if (current === void 0) return content;
|
|
863
|
+
const migrated = safe_chain_preinstall.migrate_preinstall(current);
|
|
864
|
+
if (migrated === current) return content;
|
|
865
|
+
return serialize_package_json({ ...parsed, scripts: { ...scripts, preinstall: migrated } });
|
|
866
|
+
}
|
|
867
|
+
function merge_development_dependencies(content, additions) {
|
|
868
|
+
const parsed = parse_jsonc(content);
|
|
869
|
+
const raw = parsed["devDependencies"];
|
|
870
|
+
const existing = raw === void 0 ? {} : string_record_schema.parse(raw);
|
|
871
|
+
const to_add = missing_entries(existing, additions);
|
|
872
|
+
if (to_add.length === 0) return content;
|
|
873
|
+
return serialize_package_json({
|
|
874
|
+
...parsed,
|
|
875
|
+
devDependencies: { ...existing, ...Object.fromEntries(to_add) }
|
|
876
|
+
});
|
|
877
|
+
}
|
|
878
|
+
function merge_package_manager(content, value) {
|
|
879
|
+
if (value.length === 0) return content;
|
|
880
|
+
const parsed = parse_jsonc(content);
|
|
881
|
+
if ("packageManager" in parsed) return content;
|
|
882
|
+
return serialize_package_json({ ...parsed, packageManager: value });
|
|
883
|
+
}
|
|
884
|
+
function merge_development_engines(content, value) {
|
|
885
|
+
const parsed = parse_jsonc(content);
|
|
886
|
+
if ("devEngines" in parsed) return content;
|
|
887
|
+
return serialize_package_json({ ...parsed, devEngines: value });
|
|
888
|
+
}
|
|
889
|
+
function has_package_scripts_marker(content, marker) {
|
|
890
|
+
const parsed = parse_jsonc(content);
|
|
891
|
+
const raw = parsed["scripts"];
|
|
892
|
+
if (raw === void 0) return false;
|
|
893
|
+
const scripts = string_record_schema.parse(raw);
|
|
894
|
+
return Object.values(scripts).some((cmd) => cmd.includes(marker));
|
|
895
|
+
}
|
|
896
|
+
function merge_package_script_suffix(content, key, cmd) {
|
|
897
|
+
const parsed = parse_jsonc(content);
|
|
898
|
+
const raw = parsed["scripts"];
|
|
899
|
+
if (raw === void 0) return content;
|
|
900
|
+
const scripts = string_record_schema.parse(raw);
|
|
901
|
+
const existing = scripts[key];
|
|
902
|
+
if (existing === void 0 || existing.includes(cmd)) return content;
|
|
903
|
+
const updated_value = existing.trim().length === 0 ? cmd : `${existing} && ${cmd}`;
|
|
904
|
+
return serialize_package_json({ ...parsed, scripts: { ...scripts, [key]: updated_value } });
|
|
905
|
+
}
|
|
906
|
+
function replace_in_package_script(content, key, from, to) {
|
|
907
|
+
const parsed = parse_jsonc(content);
|
|
908
|
+
const raw = parsed["scripts"];
|
|
909
|
+
if (raw === void 0) return content;
|
|
910
|
+
const scripts = string_record_schema.parse(raw);
|
|
911
|
+
const existing = scripts[key];
|
|
912
|
+
if (!existing?.includes(from)) return content;
|
|
913
|
+
return serialize_package_json({
|
|
914
|
+
...parsed,
|
|
915
|
+
// The replacer is a function so `to` is inserted verbatim: passed as a string, a `$&` or `$1`
|
|
916
|
+
// inside it would be read as a substitution pattern rather than as the text it is.
|
|
917
|
+
scripts: { ...scripts, [key]: existing.replace(from, () => to) }
|
|
918
|
+
});
|
|
919
|
+
}
|
|
920
|
+
function remove_script_with_marker(content, key, marker) {
|
|
921
|
+
const parsed = parse_jsonc(content);
|
|
922
|
+
const raw = parsed["scripts"];
|
|
923
|
+
if (raw === void 0) return content;
|
|
924
|
+
const scripts = string_record_schema.parse(raw);
|
|
925
|
+
if (!scripts[key]?.includes(marker)) return content;
|
|
926
|
+
const rest = Object.fromEntries(Object.entries(scripts).filter(([k]) => k !== key));
|
|
927
|
+
return serialize_package_json({ ...parsed, scripts: rest });
|
|
928
|
+
}
|
|
929
|
+
function sort_package_json_keys(content) {
|
|
930
|
+
const parsed = parse_jsonc(content);
|
|
931
|
+
const all_keys = Object.keys(parsed);
|
|
932
|
+
const known = PACKAGE_JSON_KEY_ORDER.filter((k) => Object.hasOwn(parsed, k));
|
|
933
|
+
const unknown = all_keys.filter((k) => !PACKAGE_JSON_KEY_ORDER.includes(k));
|
|
934
|
+
const ordered = Object.fromEntries([...known, ...unknown].map((k) => [k, parsed[k]]));
|
|
935
|
+
const serialized = serialize_package_json(ordered);
|
|
936
|
+
const current = serialize_package_json(parsed);
|
|
937
|
+
if (serialized === current) return content;
|
|
938
|
+
return serialized;
|
|
939
|
+
}
|
|
940
|
+
var init_logic_json_merge = {
|
|
941
|
+
merge_json_extends,
|
|
942
|
+
merge_tsconfig_extends,
|
|
943
|
+
extract_compiler_options,
|
|
944
|
+
strip_redundant_compiler_options,
|
|
945
|
+
merge_json_array_field,
|
|
946
|
+
merge_json_object,
|
|
947
|
+
merge_package_scripts,
|
|
948
|
+
upgrade_safe_chain_preinstall,
|
|
949
|
+
merge_package_script_suffix,
|
|
950
|
+
replace_in_package_script,
|
|
951
|
+
remove_script_with_marker,
|
|
952
|
+
has_package_scripts_marker,
|
|
953
|
+
merge_development_dependencies,
|
|
954
|
+
merge_package_manager,
|
|
955
|
+
merge_development_engines,
|
|
956
|
+
sort_package_json_keys
|
|
957
|
+
};
|
|
958
|
+
|
|
959
|
+
// scripts/init/kit-development-versions.ts
|
|
960
|
+
import { z } from "zod";
|
|
961
|
+
var kit_manifest_schema = z.object({
|
|
962
|
+
peerDependencies: z.record(z.string(), z.string()).default({}),
|
|
963
|
+
devDependencies: z.record(z.string(), z.string())
|
|
964
|
+
});
|
|
965
|
+
function read_kit_manifest() {
|
|
966
|
+
return package_manifest.read_manifest(PACKAGE_DIR, kit_manifest_schema);
|
|
967
|
+
}
|
|
968
|
+
function versions_of(names) {
|
|
969
|
+
const { devDependencies: versions } = read_kit_manifest();
|
|
970
|
+
const entries = names.map((name) => {
|
|
971
|
+
const version = versions[name];
|
|
972
|
+
if (version === void 0) throw new Error(`Missing development version for ${name}`);
|
|
973
|
+
return [name, version];
|
|
974
|
+
});
|
|
975
|
+
return Object.fromEntries(entries);
|
|
976
|
+
}
|
|
977
|
+
function peer_names() {
|
|
978
|
+
return Object.keys(read_kit_manifest().peerDependencies);
|
|
979
|
+
}
|
|
980
|
+
var kit_development_versions = { peer_names, versions_of };
|
|
981
|
+
|
|
982
|
+
// scripts/init/init-logic-secretlint.ts
|
|
983
|
+
var SECRETLINT_CONFIG_FILENAME = ".secretlintrc.json";
|
|
984
|
+
var SECRETLINT_RULE_PRESET = "@secretlint/secretlint-rule-preset-recommend";
|
|
985
|
+
var SECRETLINT_PACKAGES = ["secretlint", SECRETLINT_RULE_PRESET];
|
|
986
|
+
function generate_secretlint_config() {
|
|
987
|
+
const config = { rules: [{ id: SECRETLINT_RULE_PRESET }] };
|
|
988
|
+
return `${JSON.stringify(config, void 0, " ")}
|
|
989
|
+
`;
|
|
990
|
+
}
|
|
991
|
+
function get_secretlint_config_filename() {
|
|
992
|
+
return SECRETLINT_CONFIG_FILENAME;
|
|
993
|
+
}
|
|
994
|
+
function merge_secretlint_development_deps(content) {
|
|
995
|
+
return init_logic_json_merge.merge_development_dependencies(
|
|
996
|
+
content,
|
|
997
|
+
kit_development_versions.versions_of(SECRETLINT_PACKAGES)
|
|
998
|
+
);
|
|
999
|
+
}
|
|
1000
|
+
var init_logic_secretlint = {
|
|
1001
|
+
generate_secretlint_config,
|
|
1002
|
+
get_secretlint_config_filename,
|
|
1003
|
+
merge_secretlint_development_deps
|
|
1004
|
+
};
|
|
1005
|
+
|
|
1006
|
+
// scripts/init/init-logic-templates.ts
|
|
1007
|
+
import { dirname as __josh_dirname } from "node:path";
|
|
1008
|
+
import { fileURLToPath as __josh_file_path } from "node:url";
|
|
1009
|
+
import { existsSync as existsSync2, readFileSync } from "node:fs";
|
|
1010
|
+
import path2 from "node:path";
|
|
1011
|
+
var __josh_meta = import.meta;
|
|
1012
|
+
var __josh_source_url = new URL("../../scripts/init/init-logic-templates.ts", __josh_meta.url).href;
|
|
1013
|
+
var __josh_source_filename = __josh_file_path(__josh_source_url);
|
|
1014
|
+
var __josh_source_dirname = __josh_dirname(__josh_source_filename);
|
|
1015
|
+
var ESLINT_VANILLA = `import { create_vanilla_config } from '@joshuafolkken/kit/eslint/vanilla'
|
|
1016
|
+
|
|
1017
|
+
export default create_vanilla_config({
|
|
1018
|
+
gitignore_path: new URL('./.gitignore', import.meta.url),
|
|
1019
|
+
tsconfig_root_dir: import.meta.dirname,
|
|
1020
|
+
})
|
|
1021
|
+
`;
|
|
1022
|
+
var DEFAULT_TAILWIND_STYLESHEET = "./src/routes/layout.css";
|
|
1023
|
+
var TAILWIND_STYLESHEET_PATTERN = /tailwindStylesheet"?:\s*['"]([^'"]+)['"]/u;
|
|
1024
|
+
var KIT_ESLINT_IMPORT_MARKER = "@joshuafolkken/kit/eslint/";
|
|
1025
|
+
var VANILLA_ESLINT_MARKERS = [
|
|
1026
|
+
"js.configs.recommended",
|
|
1027
|
+
"ts.configs.recommended",
|
|
1028
|
+
"svelte.configs.recommended"
|
|
1029
|
+
];
|
|
1030
|
+
var RULES_BLOCK_PATTERN = /rules\s*:\s*\{/gu;
|
|
1031
|
+
var RULES_INDENT_DEPTH = 3;
|
|
1032
|
+
var RULES_INDENT = " ".repeat(RULES_INDENT_DEPTH);
|
|
1033
|
+
var PLAYWRIGHT_TEMPLATE_PATH = package_path("playwright.config.ts");
|
|
1034
|
+
var VANILLA_WITH_RULES_TPL = `import { create_vanilla_config } from '@joshuafolkken/kit/eslint/vanilla'
|
|
1035
|
+
|
|
1036
|
+
export default [
|
|
1037
|
+
...create_vanilla_config({
|
|
1038
|
+
gitignore_path: new URL('./.gitignore', import.meta.url),
|
|
1039
|
+
tsconfig_root_dir: import.meta.dirname,
|
|
1040
|
+
}),
|
|
1041
|
+
{
|
|
1042
|
+
rules: {
|
|
1043
|
+
$RULES
|
|
1044
|
+
},
|
|
1045
|
+
},
|
|
1046
|
+
]
|
|
1047
|
+
`;
|
|
1048
|
+
var RULES_PLACEHOLDER = "$RULES";
|
|
1049
|
+
var NOT_FOUND = -1;
|
|
1050
|
+
function generate_eslint_config() {
|
|
1051
|
+
return ESLINT_VANILLA;
|
|
1052
|
+
}
|
|
1053
|
+
function is_vanilla_eslint_config(existing) {
|
|
1054
|
+
if (existing.includes(KIT_ESLINT_IMPORT_MARKER)) return false;
|
|
1055
|
+
return VANILLA_ESLINT_MARKERS.some((marker) => existing.includes(marker));
|
|
1056
|
+
}
|
|
1057
|
+
function update_brace_depth(char, depth) {
|
|
1058
|
+
if (char === "{") return depth + 1;
|
|
1059
|
+
if (char === "}") return depth - 1;
|
|
1060
|
+
return depth;
|
|
1061
|
+
}
|
|
1062
|
+
function find_matching_close_brace(source, open_index) {
|
|
1063
|
+
let depth = 0;
|
|
1064
|
+
for (let index = open_index; index < source.length; index += 1) {
|
|
1065
|
+
depth = update_brace_depth(source[index], depth);
|
|
1066
|
+
if (depth === 0 && source[index] === "}") return index;
|
|
1067
|
+
}
|
|
1068
|
+
return NOT_FOUND;
|
|
1069
|
+
}
|
|
1070
|
+
function extract_block_from_open(source, open_index) {
|
|
1071
|
+
const close = find_matching_close_brace(source, open_index);
|
|
1072
|
+
if (close === NOT_FOUND) return void 0;
|
|
1073
|
+
const inner = source.slice(open_index + 1, close).trim();
|
|
1074
|
+
return inner.length > 0 ? inner : void 0;
|
|
1075
|
+
}
|
|
1076
|
+
function extract_rules_inner_blocks(existing) {
|
|
1077
|
+
const blocks = [];
|
|
1078
|
+
for (const match of existing.matchAll(RULES_BLOCK_PATTERN)) {
|
|
1079
|
+
const open = match.index + match[0].length - 1;
|
|
1080
|
+
const inner = extract_block_from_open(existing, open);
|
|
1081
|
+
if (inner !== void 0) blocks.push(inner);
|
|
1082
|
+
}
|
|
1083
|
+
return blocks;
|
|
1084
|
+
}
|
|
1085
|
+
function indent_block(text, indent) {
|
|
1086
|
+
return text.split("\n").map((line) => line.length === 0 ? line : `${indent}${line.trimStart()}`).join("\n");
|
|
1087
|
+
}
|
|
1088
|
+
function apply_rules_template(rules_body) {
|
|
1089
|
+
const rules_block = indent_block(rules_body, RULES_INDENT);
|
|
1090
|
+
return VANILLA_WITH_RULES_TPL.replace(RULES_PLACEHOLDER, () => rules_block);
|
|
1091
|
+
}
|
|
1092
|
+
function merge_eslint_config(existing) {
|
|
1093
|
+
if (!is_vanilla_eslint_config(existing)) return existing;
|
|
1094
|
+
const rules_blocks = extract_rules_inner_blocks(existing);
|
|
1095
|
+
if (rules_blocks.length === 0) return generate_eslint_config();
|
|
1096
|
+
return apply_rules_template(rules_blocks.join(",\n"));
|
|
1097
|
+
}
|
|
1098
|
+
function detect_tailwind_stylesheet(project_root) {
|
|
1099
|
+
return existsSync2(path2.join(project_root, DEFAULT_TAILWIND_STYLESHEET)) ? DEFAULT_TAILWIND_STYLESHEET : void 0;
|
|
1100
|
+
}
|
|
1101
|
+
function generate_prettier_config(stylesheet) {
|
|
1102
|
+
const stylesheet_line = stylesheet === void 0 ? "" : ` tailwindStylesheet: '${stylesheet}',
|
|
1103
|
+
`;
|
|
1104
|
+
return `import { config } from '@joshuafolkken/kit/prettier'
|
|
1105
|
+
|
|
1106
|
+
export default {
|
|
1107
|
+
...config,
|
|
1108
|
+
${stylesheet_line}}
|
|
1109
|
+
`;
|
|
1110
|
+
}
|
|
1111
|
+
function existing_stylesheet(existing, project_root) {
|
|
1112
|
+
const named = TAILWIND_STYLESHEET_PATTERN.exec(existing)?.[1];
|
|
1113
|
+
return named !== void 0 && existsSync2(path2.resolve(project_root, named)) ? named : void 0;
|
|
1114
|
+
}
|
|
1115
|
+
function merge_prettier_config(existing, project_root) {
|
|
1116
|
+
const stylesheet = existing_stylesheet(existing, project_root) ?? detect_tailwind_stylesheet(project_root);
|
|
1117
|
+
return generate_prettier_config(stylesheet);
|
|
1118
|
+
}
|
|
1119
|
+
function generate_playwright_config() {
|
|
1120
|
+
return readFileSync(PLAYWRIGHT_TEMPLATE_PATH, "utf8");
|
|
1121
|
+
}
|
|
1122
|
+
var init_logic_templates = {
|
|
1123
|
+
generate_eslint_config,
|
|
1124
|
+
merge_eslint_config,
|
|
1125
|
+
detect_tailwind_stylesheet,
|
|
1126
|
+
generate_prettier_config,
|
|
1127
|
+
merge_prettier_config,
|
|
1128
|
+
generate_playwright_config
|
|
1129
|
+
};
|
|
1130
|
+
|
|
1131
|
+
// scripts/init/init-logic-toolchain.ts
|
|
1132
|
+
var CONSUMER_RESOLVED_TOOLS = [
|
|
1133
|
+
"eslint",
|
|
1134
|
+
"prettier",
|
|
1135
|
+
"typescript",
|
|
1136
|
+
"@playwright/test",
|
|
1137
|
+
"@ianvs/prettier-plugin-sort-imports",
|
|
1138
|
+
"prettier-plugin-svelte",
|
|
1139
|
+
"prettier-plugin-tailwindcss",
|
|
1140
|
+
"cspell",
|
|
1141
|
+
"@types/node"
|
|
1142
|
+
];
|
|
1143
|
+
var LEFTHOOK_DEVELOPMENT_DEPENDENCY = "lefthook";
|
|
1144
|
+
var DECLARING_FIELDS = [
|
|
1145
|
+
"dependencies",
|
|
1146
|
+
"devDependencies",
|
|
1147
|
+
"peerDependencies",
|
|
1148
|
+
"optionalDependencies"
|
|
1149
|
+
];
|
|
1150
|
+
function consumer_resolved_names(has_git) {
|
|
1151
|
+
return has_git ? [...CONSUMER_RESOLVED_TOOLS, LEFTHOOK_DEVELOPMENT_DEPENDENCY] : CONSUMER_RESOLVED_TOOLS;
|
|
1152
|
+
}
|
|
1153
|
+
function get_toolchain_development_dependencies(has_git) {
|
|
1154
|
+
return kit_development_versions.versions_of([
|
|
1155
|
+
...kit_development_versions.peer_names(),
|
|
1156
|
+
...consumer_resolved_names(has_git)
|
|
1157
|
+
]);
|
|
1158
|
+
}
|
|
1159
|
+
function is_declared(manifest, name) {
|
|
1160
|
+
return DECLARING_FIELDS.some((field) => {
|
|
1161
|
+
const dependencies = manifest[field];
|
|
1162
|
+
return json_value.is_record(dependencies) && Object.hasOwn(dependencies, name);
|
|
1163
|
+
});
|
|
1164
|
+
}
|
|
1165
|
+
function merge_consumer_resolved_development_deps(content, has_git) {
|
|
1166
|
+
const manifest = parse_jsonc(content);
|
|
1167
|
+
const missing = consumer_resolved_names(has_git).filter((name) => !is_declared(manifest, name));
|
|
1168
|
+
return init_logic_json_merge.merge_development_dependencies(
|
|
1169
|
+
content,
|
|
1170
|
+
kit_development_versions.versions_of(missing)
|
|
1171
|
+
);
|
|
1172
|
+
}
|
|
1173
|
+
var init_logic_toolchain = {
|
|
1174
|
+
consumer_resolved_names,
|
|
1175
|
+
get_toolchain_development_dependencies,
|
|
1176
|
+
merge_consumer_resolved_development_deps
|
|
1177
|
+
};
|
|
1178
|
+
|
|
1179
|
+
// scripts/init/init-logic-workspace.ts
|
|
1180
|
+
function extract_yaml_top_level_keys(content) {
|
|
1181
|
+
return content.split("\n").flatMap((line) => {
|
|
1182
|
+
const key = /^([a-zA-Z][a-zA-Z0-9_-]*):/u.exec(line)?.[1];
|
|
1183
|
+
return key ?? [];
|
|
1184
|
+
});
|
|
1185
|
+
}
|
|
1186
|
+
function extract_yaml_block(content, key) {
|
|
1187
|
+
const pattern = new RegExp(String.raw`(^${key}:[^\n]*\n(?:(?:[ \t][^\n]*|)\n)*)`, "mu");
|
|
1188
|
+
return pattern.exec(content)?.[1]?.trimEnd() ?? "";
|
|
1189
|
+
}
|
|
1190
|
+
function append_user_blocks(base, user_keys, existing) {
|
|
1191
|
+
const user_blocks = user_keys.map((k) => extract_yaml_block(existing, k)).filter(Boolean).join("\n");
|
|
1192
|
+
const normalized = base.endsWith("\n") ? base : `${base}
|
|
1193
|
+
`;
|
|
1194
|
+
return `${normalized}
|
|
1195
|
+
${user_blocks}
|
|
1196
|
+
`;
|
|
1197
|
+
}
|
|
1198
|
+
var DEPRECATED_KEYS = /* @__PURE__ */ new Set(["onlyBuiltDependencies"]);
|
|
1199
|
+
function remove_deprecated_yaml_key(content, key) {
|
|
1200
|
+
const block = extract_yaml_block(content, key);
|
|
1201
|
+
if (block.length === 0) return content;
|
|
1202
|
+
const removed = content.replaceAll(`${block}
|
|
1203
|
+
`, "");
|
|
1204
|
+
return removed.replaceAll(/\n{3,}/gu, "\n\n");
|
|
1205
|
+
}
|
|
1206
|
+
function remove_deprecated_yaml_keys(content) {
|
|
1207
|
+
let result = content;
|
|
1208
|
+
for (const key of DEPRECATED_KEYS) {
|
|
1209
|
+
result = remove_deprecated_yaml_key(result, key);
|
|
1210
|
+
}
|
|
1211
|
+
return `${result.trimEnd()}
|
|
1212
|
+
`;
|
|
1213
|
+
}
|
|
1214
|
+
var BUILD_PLACEHOLDER_PATTERN = /^([ \t]+)([^\s:#][^:#]*): set this to true or false$/gmu;
|
|
1215
|
+
var TEMPLATE_BUILD_PATTERN = /^[ \t]+(?<key>[^\s:#][^:#]*):[ \t]*(?<value>true|false)\b/u;
|
|
1216
|
+
function unquote(key) {
|
|
1217
|
+
return key.trim().replaceAll(/^['"]|['"]$/gu, "");
|
|
1218
|
+
}
|
|
1219
|
+
function template_build_values(template) {
|
|
1220
|
+
const lines = extract_yaml_block(template, "allowBuilds").split("\n");
|
|
1221
|
+
return new Map(
|
|
1222
|
+
lines.flatMap((line) => {
|
|
1223
|
+
const { key, value } = TEMPLATE_BUILD_PATTERN.exec(line)?.groups ?? {};
|
|
1224
|
+
return key && value ? [[unquote(key), value]] : [];
|
|
1225
|
+
})
|
|
1226
|
+
);
|
|
1227
|
+
}
|
|
1228
|
+
function answer_build_placeholders(existing, template) {
|
|
1229
|
+
const values = template_build_values(template);
|
|
1230
|
+
return existing.replaceAll(BUILD_PLACEHOLDER_PATTERN, (line, indent, key) => {
|
|
1231
|
+
const value = values.get(unquote(key));
|
|
1232
|
+
return value === void 0 ? line : `${indent}${key}: ${value}`;
|
|
1233
|
+
});
|
|
1234
|
+
}
|
|
1235
|
+
var BUILD_ENTRY_KEY_PATTERN = /^[ \t]+(?<key>[^\s:#][^:#]*):/u;
|
|
1236
|
+
function build_entry_key(line) {
|
|
1237
|
+
const key = BUILD_ENTRY_KEY_PATTERN.exec(line)?.groups?.["key"];
|
|
1238
|
+
return key === void 0 ? void 0 : unquote(key);
|
|
1239
|
+
}
|
|
1240
|
+
function build_entry_keys(block) {
|
|
1241
|
+
return new Set(block.split("\n").flatMap((line) => build_entry_key(line) ?? []));
|
|
1242
|
+
}
|
|
1243
|
+
var BLOCK_MAPPING_HEADER_PATTERN = /^allowBuilds:[ \t]*(?:#[^\n]*)?(?:\n|$)/u;
|
|
1244
|
+
var LEADING_INDENT_PATTERN = /^[ \t]+/u;
|
|
1245
|
+
function block_entry_indent(block) {
|
|
1246
|
+
const entry = block.split("\n").find((line) => build_entry_key(line) !== void 0);
|
|
1247
|
+
return entry === void 0 ? void 0 : LEADING_INDENT_PATTERN.exec(entry)?.[0];
|
|
1248
|
+
}
|
|
1249
|
+
function reindent(line, indent) {
|
|
1250
|
+
return indent === void 0 ? line : line.replace(LEADING_INDENT_PATTERN, () => indent);
|
|
1251
|
+
}
|
|
1252
|
+
function add_missing_build_entries(existing, template) {
|
|
1253
|
+
const block = extract_yaml_block(existing, "allowBuilds");
|
|
1254
|
+
if (!BLOCK_MAPPING_HEADER_PATTERN.test(block)) return existing;
|
|
1255
|
+
const present = build_entry_keys(block);
|
|
1256
|
+
const indent = block_entry_indent(block);
|
|
1257
|
+
const missing = extract_yaml_block(template, "allowBuilds").split("\n").filter((line) => {
|
|
1258
|
+
const key = build_entry_key(line);
|
|
1259
|
+
return key !== void 0 && !present.has(key);
|
|
1260
|
+
}).map((line) => reindent(line, indent));
|
|
1261
|
+
if (missing.length === 0) return existing;
|
|
1262
|
+
return existing.replace(block, () => [block, ...missing].join("\n"));
|
|
1263
|
+
}
|
|
1264
|
+
var MOVED_NPMRC_SETTINGS = [
|
|
1265
|
+
{ npmrc_key: "minimum-release-age", workspace_key: "minimumReleaseAge", value_pattern: /^\d+$/u },
|
|
1266
|
+
{ npmrc_key: "engine-strict", workspace_key: "engineStrict", value_pattern: /^(?:true|false)$/u }
|
|
1267
|
+
];
|
|
1268
|
+
function npmrc_value(npmrc, key) {
|
|
1269
|
+
const pattern = new RegExp(String.raw`^[ \t]*${key}[ \t]*=[ \t]*(\S+)[ \t]*$`, "gmu");
|
|
1270
|
+
return [...npmrc.matchAll(pattern)].at(-1)?.[1];
|
|
1271
|
+
}
|
|
1272
|
+
function carry_npmrc_setting(template, npmrc, setting) {
|
|
1273
|
+
const value = npmrc_value(npmrc, setting.npmrc_key);
|
|
1274
|
+
if (value === void 0 || !setting.value_pattern.test(value)) return template;
|
|
1275
|
+
const line_pattern = new RegExp(`^${setting.workspace_key}:.*$`, "mu");
|
|
1276
|
+
return template.replace(line_pattern, () => `${setting.workspace_key}: ${value}`);
|
|
1277
|
+
}
|
|
1278
|
+
var KIT_ONLY_REGION_PATTERN = /^[ \t]*# kit-only:start\b.*\n(?:.*\n)*?[ \t]*# kit-only:end\b.*\n/gmu;
|
|
1279
|
+
function drop_kit_only_regions(template) {
|
|
1280
|
+
return template.replaceAll(KIT_ONLY_REGION_PATTERN, "").replaceAll(/\n{3,}/gu, "\n\n");
|
|
1281
|
+
}
|
|
1282
|
+
function carry_npmrc_settings(template, npmrc) {
|
|
1283
|
+
let result = template;
|
|
1284
|
+
for (const setting of MOVED_NPMRC_SETTINGS) {
|
|
1285
|
+
result = carry_npmrc_setting(result, npmrc, setting);
|
|
1286
|
+
}
|
|
1287
|
+
return result;
|
|
1288
|
+
}
|
|
1289
|
+
function merge_workspace_yaml(existing, template) {
|
|
1290
|
+
if (!existing.trim()) return template;
|
|
1291
|
+
const normalized = existing.endsWith("\n") ? existing : `${existing}
|
|
1292
|
+
`;
|
|
1293
|
+
const answered = answer_build_placeholders(remove_deprecated_yaml_keys(normalized), template);
|
|
1294
|
+
const cleaned = add_missing_build_entries(answered, template);
|
|
1295
|
+
if (!cleaned.trim()) return template;
|
|
1296
|
+
const existing_keys = new Set(extract_yaml_top_level_keys(cleaned));
|
|
1297
|
+
const new_keys = extract_yaml_top_level_keys(template).filter((k) => !existing_keys.has(k));
|
|
1298
|
+
if (new_keys.length === 0) return cleaned;
|
|
1299
|
+
return append_user_blocks(cleaned, new_keys, template);
|
|
1300
|
+
}
|
|
1301
|
+
var init_logic_workspace = {
|
|
1302
|
+
carry_npmrc_settings,
|
|
1303
|
+
drop_kit_only_regions,
|
|
1304
|
+
extract_yaml_block,
|
|
1305
|
+
merge_workspace_yaml,
|
|
1306
|
+
template_build_values
|
|
1307
|
+
};
|
|
1308
|
+
|
|
1309
|
+
// scripts/init/init-logic-yaml-merge.ts
|
|
1310
|
+
var CSPELL_IMPORT_FIELD = "import";
|
|
1311
|
+
var LEFTHOOK_EXTENDS_FIELD = "extends";
|
|
1312
|
+
var CSPELL_IMPORT_POSITION = { after: "version" };
|
|
1313
|
+
var CSPELL_QUOTE_STYLE = "double";
|
|
1314
|
+
function merge_yaml_list_entry(content, key, value) {
|
|
1315
|
+
return config_merge.patch_yaml_list_field(content, {
|
|
1316
|
+
field: key,
|
|
1317
|
+
ensure: [value],
|
|
1318
|
+
position: "front"
|
|
1319
|
+
});
|
|
1320
|
+
}
|
|
1321
|
+
function merge_lefthook_extends(content, value) {
|
|
1322
|
+
const entries = config_merge.read_yaml_list_field(content, LEFTHOOK_EXTENDS_FIELD);
|
|
1323
|
+
if (kit_base_preset.is_lefthook_base_present(entries)) return content;
|
|
1324
|
+
return merge_yaml_list_entry(content, LEFTHOOK_EXTENDS_FIELD, value);
|
|
1325
|
+
}
|
|
1326
|
+
function merge_cspell_import(content, value) {
|
|
1327
|
+
const entries = config_merge.read_yaml_list_field(content, CSPELL_IMPORT_FIELD);
|
|
1328
|
+
if (kit_base_preset.is_cspell_base_present(entries)) return content;
|
|
1329
|
+
return config_merge.patch_yaml_list_field(content, {
|
|
1330
|
+
field: CSPELL_IMPORT_FIELD,
|
|
1331
|
+
ensure: [value],
|
|
1332
|
+
position: CSPELL_IMPORT_POSITION,
|
|
1333
|
+
quote_style: CSPELL_QUOTE_STYLE
|
|
1334
|
+
});
|
|
1335
|
+
}
|
|
1336
|
+
var init_logic_yaml_merge = {
|
|
1337
|
+
merge_yaml_list_entry,
|
|
1338
|
+
merge_lefthook_extends,
|
|
1339
|
+
merge_cspell_import
|
|
1340
|
+
};
|
|
1341
|
+
|
|
1342
|
+
// scripts/init/init-logic.ts
|
|
1343
|
+
var DEV_ENGINES_VALUE = {
|
|
1344
|
+
packageManager: { name: "pnpm", version: ">=12.1.0", onFail: "download" }
|
|
1345
|
+
};
|
|
1346
|
+
var LEGACY_NPMRC_LINES = /* @__PURE__ */ new Set([
|
|
1347
|
+
"engine-strict=true",
|
|
1348
|
+
"minimum-release-age=1440",
|
|
1349
|
+
"confirmModulesPurge=false",
|
|
1350
|
+
"lockfile-include-tarball-url=true"
|
|
1351
|
+
]);
|
|
1352
|
+
var CSPELL_IMPORT = "@joshuafolkken/kit/cspell";
|
|
1353
|
+
var LEFTHOOK_INSTALL_CMD = "lefthook install";
|
|
1354
|
+
var { SAFE_CHAIN_CMD: SAFE_CHAIN_CMD2 } = safe_chain_preinstall;
|
|
1355
|
+
var FIX_GH_PACKAGES_CMD = "tsx node_modules/@joshuafolkken/kit/scripts/gh/fix-gh-packages.ts";
|
|
1356
|
+
var FIX_GH_PACKAGES_MARKER = "fix-gh-packages";
|
|
1357
|
+
var PREPARE_KEY = "prepare";
|
|
1358
|
+
var LEGACY_POSTINSTALL_KEY = "postinstall";
|
|
1359
|
+
var HOOK_INSTALL_WARNING = "lefthook install failed: git hooks are NOT installed. A set core.hooksPath is the usual cause. See https://github.com/joshuafolkken/kit/blob/main/docs/init.md#corehookspath-stops-lefthook-installing-anything";
|
|
1360
|
+
var LEFTHOOK_BINARY_GUARD = "command -v lefthook >/dev/null 2>&1";
|
|
1361
|
+
var GUARDED_LEFTHOOK_CMD = `${LEFTHOOK_BINARY_GUARD} && { ${LEFTHOOK_INSTALL_CMD} || echo '${HOOK_INSTALL_WARNING}' >&2; }`;
|
|
1362
|
+
var LEGACY_GUARDED_LEFTHOOK_CMD = `${LEFTHOOK_BINARY_GUARD} && ${LEFTHOOK_INSTALL_CMD}`;
|
|
1363
|
+
var GUARDED_FIX_GH_PACKAGES_CMD = `command -v tsx >/dev/null 2>&1 && ${FIX_GH_PACKAGES_CMD}`;
|
|
1364
|
+
var PREPARE_CMD = `(${GUARDED_LEFTHOOK_CMD} || true) && (${GUARDED_FIX_GH_PACKAGES_CMD} || true)`;
|
|
1365
|
+
var AI_COPY_FILES = [
|
|
1366
|
+
"AGENTS.md",
|
|
1367
|
+
"GEMINI.md",
|
|
1368
|
+
"CODE_OF_CONDUCT.md",
|
|
1369
|
+
".cursorrules",
|
|
1370
|
+
".coderabbit.yaml",
|
|
1371
|
+
".gitattributes",
|
|
1372
|
+
".mcp.json",
|
|
1373
|
+
".prettierignore",
|
|
1374
|
+
"SECURITY.md",
|
|
1375
|
+
"pnpm-workspace.yaml",
|
|
1376
|
+
"tsconfig.sonar.json",
|
|
1377
|
+
".github/workflows/auto-tag.yml",
|
|
1378
|
+
".github/workflows/production.yml",
|
|
1379
|
+
".github/workflows/sonar-qube.yml",
|
|
1380
|
+
".github/workflows/pr-classification.yml",
|
|
1381
|
+
// Called by `ci.yml` and `pr-classification.yml` as `uses: ./.github/actions/setup-pnpm`; without
|
|
1382
|
+
// it the consumer's jobs cannot resolve the action and their checks fail.
|
|
1383
|
+
".github/actions/setup-pnpm/action.yml",
|
|
1384
|
+
// The one place the workflows' Node.js version is written, called by every distributed workflow
|
|
1385
|
+
// that sets Node.js up.
|
|
1386
|
+
".github/actions/setup-node/action.yml",
|
|
1387
|
+
".github/actions/change-scope/action.yml",
|
|
1388
|
+
"scripts/gate/change-scope-action.ts",
|
|
1389
|
+
"scripts/gate/path-glob.ts",
|
|
1390
|
+
"scripts/gate/toolchain-inputs.ts",
|
|
1391
|
+
".github/pull_request_template.md",
|
|
1392
|
+
".github/release.yml",
|
|
1393
|
+
".claude/settings.json",
|
|
1394
|
+
".codex/config.toml",
|
|
1395
|
+
".codex/hooks.json"
|
|
1396
|
+
];
|
|
1397
|
+
var AI_COPY_FILE_MAPPINGS = [
|
|
1398
|
+
{ src: "templates/workflows/ci.yml", dest: ".github/workflows/ci.yml" },
|
|
1399
|
+
// A template rather than a copy of kit's own file: kit groups its github-actions bumps, which a
|
|
1400
|
+
// consumer's auto-merge would hold whole once one bump touches an upstream-managed workflow.
|
|
1401
|
+
{ src: "templates/dependabot.yml", dest: ".github/dependabot.yml" },
|
|
1402
|
+
// The counterpart to the distributed `.github/dependabot.yml`: without it a consumer receives
|
|
1403
|
+
// the machinery that opens Dependabot pull requests and none of the machinery that closes them,
|
|
1404
|
+
// so every github-actions bump sits green and unmerged.
|
|
1405
|
+
{
|
|
1406
|
+
src: "templates/workflows/dependabot-auto-merge.yml",
|
|
1407
|
+
dest: ".github/workflows/dependabot-auto-merge.yml"
|
|
1408
|
+
},
|
|
1409
|
+
// A template rather than a copy of kit's own file: kit releases from its publish.yml, so the file
|
|
1410
|
+
// must not run in kit as well. Repositories public npm carries also receive kit's publish.yml
|
|
1411
|
+
// (npm-publish-files.ts), which skips its GitHub Release steps where this file exists.
|
|
1412
|
+
{ src: "templates/workflows/github-release.yml", dest: ".github/workflows/github-release.yml" }
|
|
1413
|
+
];
|
|
1414
|
+
var AI_COPY_DIRECTORIES = [];
|
|
1415
|
+
var LEFTHOOK_EXTENDS = "node_modules/@joshuafolkken/kit/lefthook/vanilla.yml";
|
|
1416
|
+
var TSCONFIG_EXTENDS = "./node_modules/@joshuafolkken/kit/tsconfig/base.json";
|
|
1417
|
+
var TSCONFIG_PRESET_FILENAME = "base.json";
|
|
1418
|
+
var TSCONFIG_EXCLUDE_FIELD = "exclude";
|
|
1419
|
+
var TSCONFIG_GENERATED_OUTPUT_EXCLUDE = [
|
|
1420
|
+
"node_modules",
|
|
1421
|
+
"build",
|
|
1422
|
+
"dist",
|
|
1423
|
+
"playwright-report",
|
|
1424
|
+
"test-results"
|
|
1425
|
+
];
|
|
1426
|
+
var TSCONFIG_SVELTEKIT_EXCLUDE = [
|
|
1427
|
+
"src/service-worker.js",
|
|
1428
|
+
"src/service-worker/**/*.js",
|
|
1429
|
+
"src/service-worker.ts",
|
|
1430
|
+
"src/service-worker/**/*.ts",
|
|
1431
|
+
"src/service-worker.d.ts",
|
|
1432
|
+
"src/service-worker/**/*.d.ts"
|
|
1433
|
+
];
|
|
1434
|
+
var TSCONFIG_EXCLUDE = [
|
|
1435
|
+
...TSCONFIG_GENERATED_OUTPUT_EXCLUDE,
|
|
1436
|
+
...TSCONFIG_SVELTEKIT_EXCLUDE
|
|
1437
|
+
];
|
|
1438
|
+
var VSCODE_EXTENSIONS_FILENAME = "extensions.json";
|
|
1439
|
+
var VSCODE_SETTINGS_FILENAME = "settings.json";
|
|
1440
|
+
var KIT_ONLY_VSCODE_SETTINGS_KEYS = /* @__PURE__ */ new Set([
|
|
1441
|
+
"sonarlint.connectedMode.project"
|
|
1442
|
+
]);
|
|
1443
|
+
var SUGGESTED_SCRIPTS_COMMON = {
|
|
1444
|
+
preinstall: SAFE_CHAIN_CMD2,
|
|
1445
|
+
prepare: PREPARE_CMD,
|
|
1446
|
+
josh: "josh"
|
|
1447
|
+
};
|
|
1448
|
+
function generate_tsconfig() {
|
|
1449
|
+
return json_format.format_json({
|
|
1450
|
+
extends: TSCONFIG_EXTENDS,
|
|
1451
|
+
compilerOptions: { types: ["node"] },
|
|
1452
|
+
[TSCONFIG_EXCLUDE_FIELD]: TSCONFIG_EXCLUDE
|
|
1453
|
+
});
|
|
1454
|
+
}
|
|
1455
|
+
function merge_tsconfig_exclude(content) {
|
|
1456
|
+
const field = TSCONFIG_EXCLUDE_FIELD;
|
|
1457
|
+
return init_logic_json_merge.merge_json_array_field(content, field, TSCONFIG_EXCLUDE);
|
|
1458
|
+
}
|
|
1459
|
+
function generate_lefthook_config() {
|
|
1460
|
+
return `extends:
|
|
1461
|
+
- ${LEFTHOOK_EXTENDS}
|
|
1462
|
+
`;
|
|
1463
|
+
}
|
|
1464
|
+
function generate_cspell_config() {
|
|
1465
|
+
return `version: "0.2"
|
|
1466
|
+
import:
|
|
1467
|
+
- "${CSPELL_IMPORT}"
|
|
1468
|
+
words: []
|
|
1469
|
+
ignorePaths: []
|
|
1470
|
+
`;
|
|
1471
|
+
}
|
|
1472
|
+
function append_missing_lines(existing, missing) {
|
|
1473
|
+
if (missing.length === 0) return existing;
|
|
1474
|
+
const prefix = existing.length > 0 && !existing.endsWith("\n") ? `${existing}
|
|
1475
|
+
` : existing;
|
|
1476
|
+
return `${prefix}${missing.join("\n")}
|
|
1477
|
+
`;
|
|
1478
|
+
}
|
|
1479
|
+
function merge_npmrc(content) {
|
|
1480
|
+
const lines = content.split("\n");
|
|
1481
|
+
const kept = lines.filter((line) => !LEGACY_NPMRC_LINES.has(line.trim()));
|
|
1482
|
+
return kept.length === lines.length ? content : kept.join("\n");
|
|
1483
|
+
}
|
|
1484
|
+
function is_gitignore_pattern(line) {
|
|
1485
|
+
const trimmed = line.trim();
|
|
1486
|
+
return trimmed.length > 0 && !trimmed.startsWith("#");
|
|
1487
|
+
}
|
|
1488
|
+
function merge_gitignore(existing, template) {
|
|
1489
|
+
const existing_lines = new Set(existing.split("\n"));
|
|
1490
|
+
const missing = template.split("\n").filter((line) => is_gitignore_pattern(line) && !existing_lines.has(line));
|
|
1491
|
+
return append_missing_lines(existing, missing);
|
|
1492
|
+
}
|
|
1493
|
+
function get_tsconfig_extends_entry() {
|
|
1494
|
+
return TSCONFIG_EXTENDS;
|
|
1495
|
+
}
|
|
1496
|
+
function get_tsconfig_preset_filename() {
|
|
1497
|
+
return TSCONFIG_PRESET_FILENAME;
|
|
1498
|
+
}
|
|
1499
|
+
function get_tsconfig_exclude_entries() {
|
|
1500
|
+
return TSCONFIG_EXCLUDE;
|
|
1501
|
+
}
|
|
1502
|
+
function get_lefthook_extends_value() {
|
|
1503
|
+
return LEFTHOOK_EXTENDS;
|
|
1504
|
+
}
|
|
1505
|
+
function get_cspell_import_value() {
|
|
1506
|
+
return CSPELL_IMPORT;
|
|
1507
|
+
}
|
|
1508
|
+
function get_vscode_settings_filename() {
|
|
1509
|
+
return VSCODE_SETTINGS_FILENAME;
|
|
1510
|
+
}
|
|
1511
|
+
function strip_kit_only_vscode_settings(settings) {
|
|
1512
|
+
const entries = Object.entries(settings).filter(
|
|
1513
|
+
([key]) => !KIT_ONLY_VSCODE_SETTINGS_KEYS.has(key)
|
|
1514
|
+
);
|
|
1515
|
+
return Object.fromEntries(entries);
|
|
1516
|
+
}
|
|
1517
|
+
function strip_kit_only_vscode_settings_content(raw) {
|
|
1518
|
+
const parsed = vscode_settings_schema.parse(JSON.parse(raw));
|
|
1519
|
+
const stripped = strip_kit_only_vscode_settings(parsed);
|
|
1520
|
+
if (Object.keys(stripped).length === Object.keys(parsed).length) return raw;
|
|
1521
|
+
return json_format.format_json(stripped);
|
|
1522
|
+
}
|
|
1523
|
+
function get_development_engines_value() {
|
|
1524
|
+
return DEV_ENGINES_VALUE;
|
|
1525
|
+
}
|
|
1526
|
+
function get_ai_copy_files() {
|
|
1527
|
+
return AI_COPY_FILES;
|
|
1528
|
+
}
|
|
1529
|
+
function get_ai_copy_file_mappings() {
|
|
1530
|
+
return AI_COPY_FILE_MAPPINGS;
|
|
1531
|
+
}
|
|
1532
|
+
function get_ai_copy_directories() {
|
|
1533
|
+
return AI_COPY_DIRECTORIES;
|
|
1534
|
+
}
|
|
1535
|
+
function get_suggested_scripts() {
|
|
1536
|
+
return SUGGESTED_SCRIPTS_COMMON;
|
|
1537
|
+
}
|
|
1538
|
+
function get_suggested_scripts_for_content(content) {
|
|
1539
|
+
const scripts = get_suggested_scripts();
|
|
1540
|
+
const has_fix = init_logic_json_merge.has_package_scripts_marker(content, FIX_GH_PACKAGES_MARKER);
|
|
1541
|
+
if (!has_fix) return scripts;
|
|
1542
|
+
return Object.fromEntries(Object.entries(scripts).filter(([key]) => key !== PREPARE_KEY));
|
|
1543
|
+
}
|
|
1544
|
+
function upgrade_prepare_lefthook_warning(content) {
|
|
1545
|
+
return init_logic_json_merge.replace_in_package_script(
|
|
1546
|
+
content,
|
|
1547
|
+
PREPARE_KEY,
|
|
1548
|
+
LEGACY_GUARDED_LEFTHOOK_CMD,
|
|
1549
|
+
GUARDED_LEFTHOOK_CMD
|
|
1550
|
+
);
|
|
1551
|
+
}
|
|
1552
|
+
function merge_prepare_lifecycle_cmd(content) {
|
|
1553
|
+
const has_fix = init_logic_json_merge.has_package_scripts_marker(content, FIX_GH_PACKAGES_MARKER);
|
|
1554
|
+
if (has_fix) return content;
|
|
1555
|
+
return init_logic_json_merge.merge_package_script_suffix(content, PREPARE_KEY, PREPARE_CMD);
|
|
1556
|
+
}
|
|
1557
|
+
function strip_managed_postinstall(content) {
|
|
1558
|
+
return init_logic_json_merge.remove_script_with_marker(
|
|
1559
|
+
content,
|
|
1560
|
+
LEGACY_POSTINSTALL_KEY,
|
|
1561
|
+
FIX_GH_PACKAGES_CMD
|
|
1562
|
+
);
|
|
1563
|
+
}
|
|
1564
|
+
var init_logic = {
|
|
1565
|
+
...init_logic_templates,
|
|
1566
|
+
...init_logic_workspace,
|
|
1567
|
+
...init_logic_sonar,
|
|
1568
|
+
...init_logic_json_merge,
|
|
1569
|
+
...init_logic_secretlint,
|
|
1570
|
+
...init_logic_toolchain,
|
|
1571
|
+
...init_logic_yaml_merge,
|
|
1572
|
+
...init_logic_deploy_vps,
|
|
1573
|
+
...distributed_paths,
|
|
1574
|
+
generate_tsconfig,
|
|
1575
|
+
merge_tsconfig_exclude,
|
|
1576
|
+
get_tsconfig_exclude_entries,
|
|
1577
|
+
generate_lefthook_config,
|
|
1578
|
+
generate_cspell_config,
|
|
1579
|
+
merge_npmrc,
|
|
1580
|
+
merge_gitignore,
|
|
1581
|
+
get_tsconfig_extends_entry,
|
|
1582
|
+
get_tsconfig_preset_filename,
|
|
1583
|
+
get_lefthook_extends_value,
|
|
1584
|
+
get_cspell_import_value,
|
|
1585
|
+
get_vscode_settings_filename,
|
|
1586
|
+
strip_kit_only_vscode_settings,
|
|
1587
|
+
strip_kit_only_vscode_settings_content,
|
|
1588
|
+
VSCODE_EXTENSIONS_FILENAME,
|
|
1589
|
+
SAFE_CHAIN_CMD: SAFE_CHAIN_CMD2,
|
|
1590
|
+
GUARDED_LEFTHOOK_CMD,
|
|
1591
|
+
upgrade_prepare_lefthook_warning,
|
|
1592
|
+
get_development_engines_value,
|
|
1593
|
+
get_ai_copy_files,
|
|
1594
|
+
get_ai_copy_file_mappings,
|
|
1595
|
+
get_ai_copy_directories,
|
|
1596
|
+
get_suggested_scripts,
|
|
1597
|
+
get_suggested_scripts_for_content,
|
|
1598
|
+
merge_prepare_lifecycle_cmd,
|
|
1599
|
+
strip_managed_postinstall
|
|
1600
|
+
};
|
|
1601
|
+
|
|
1602
|
+
// scripts/init/npm-publish-files.ts
|
|
1603
|
+
var PUBLISH_WORKFLOW = ".github/workflows/publish.yml";
|
|
1604
|
+
function can_take_workflow(shape) {
|
|
1605
|
+
return shape?.profile !== "basic" && shape?.has_github !== false;
|
|
1606
|
+
}
|
|
1607
|
+
function files(shape) {
|
|
1608
|
+
if (!can_take_workflow(shape)) return [];
|
|
1609
|
+
return npm_registry.published_package_name(PROJECT_ROOT) === void 0 ? [] : [PUBLISH_WORKFLOW];
|
|
1610
|
+
}
|
|
1611
|
+
var npm_publish_files = { files, PUBLISH_WORKFLOW };
|
|
1612
|
+
|
|
1613
|
+
// scripts/sync/plugin-skill-directories.ts
|
|
1614
|
+
var PLUGIN_SKILL_DIRECTORIES = [
|
|
1615
|
+
".claude/skills/workflow-commands",
|
|
1616
|
+
".claude/skills/epic-commands",
|
|
1617
|
+
".claude/skills/dependency-update",
|
|
1618
|
+
".claude/skills/verify-ui"
|
|
1619
|
+
];
|
|
1620
|
+
|
|
1621
|
+
// scripts/sync/synced-paths.ts
|
|
1622
|
+
var SYNCED_ARTIFACT_PATHS = [
|
|
1623
|
+
"prettier.config.js",
|
|
1624
|
+
"playwright.config.ts",
|
|
1625
|
+
".github/workflows/deploy-vps.yml"
|
|
1626
|
+
];
|
|
1627
|
+
var SYNCED_CONFIG_PATHS = [
|
|
1628
|
+
".npmrc",
|
|
1629
|
+
".gitignore",
|
|
1630
|
+
"eslint.config.js",
|
|
1631
|
+
"tsconfig.json",
|
|
1632
|
+
"cspell.config.yaml",
|
|
1633
|
+
"lefthook.yml",
|
|
1634
|
+
".secretlintrc.json",
|
|
1635
|
+
".vscode/extensions.json",
|
|
1636
|
+
".vscode/settings.json",
|
|
1637
|
+
".vscode/tasks.json"
|
|
1638
|
+
];
|
|
1639
|
+
function get_synced_paths() {
|
|
1640
|
+
return [
|
|
1641
|
+
...SYNCED_ARTIFACT_PATHS,
|
|
1642
|
+
...SYNCED_CONFIG_PATHS,
|
|
1643
|
+
init_logic.get_sonar_template_destination()
|
|
1644
|
+
];
|
|
1645
|
+
}
|
|
1646
|
+
var synced_paths = { get_synced_paths };
|
|
1647
|
+
|
|
1648
|
+
// scripts/sync/managed-config-scope.ts
|
|
1649
|
+
var AI_COPY_FILES_LIST = "AI_COPY_FILES";
|
|
1650
|
+
var AI_COPY_FILE_MAPPINGS_LIST = "AI_COPY_FILE_MAPPINGS";
|
|
1651
|
+
var AI_COPY_DIRECTORIES_LIST = "AI_COPY_DIRECTORIES";
|
|
1652
|
+
var SYNCED_PATHS_LIST = "SYNCED_PATHS";
|
|
1653
|
+
var PLUGIN_SKILL_DIRECTORIES_LIST = "PLUGIN_SKILL_DIRECTORIES";
|
|
1654
|
+
var NPM_PUBLISH_FILES_LIST = "NPM_PUBLISH_FILES";
|
|
1655
|
+
var PATH_SEPARATOR = "/";
|
|
1656
|
+
function is_inside(path3, directory) {
|
|
1657
|
+
return path3 === directory || path3.startsWith(`${directory}${PATH_SEPARATOR}`);
|
|
1658
|
+
}
|
|
1659
|
+
function matches_file(path3) {
|
|
1660
|
+
return init_logic.get_ai_copy_files().includes(path3);
|
|
1661
|
+
}
|
|
1662
|
+
function matches_mapping(path3) {
|
|
1663
|
+
return init_logic.get_ai_copy_file_mappings().some((mapping) => mapping.src === path3 || mapping.dest === path3);
|
|
1664
|
+
}
|
|
1665
|
+
function matches_directory(path3) {
|
|
1666
|
+
return init_logic.get_ai_copy_directories().some((directory) => is_inside(path3, directory));
|
|
1667
|
+
}
|
|
1668
|
+
function matches_plugin_skill(path3) {
|
|
1669
|
+
return PLUGIN_SKILL_DIRECTORIES.some((directory) => is_inside(path3, directory));
|
|
1670
|
+
}
|
|
1671
|
+
function matches_synced_path(path3) {
|
|
1672
|
+
return synced_paths.get_synced_paths().includes(path3);
|
|
1673
|
+
}
|
|
1674
|
+
function matches_npm_publish_file(path3) {
|
|
1675
|
+
return path3 === npm_publish_files.PUBLISH_WORKFLOW;
|
|
1676
|
+
}
|
|
1677
|
+
var MATCHERS = [
|
|
1678
|
+
{ list: AI_COPY_FILES_LIST, matches: matches_file },
|
|
1679
|
+
{ list: AI_COPY_FILE_MAPPINGS_LIST, matches: matches_mapping },
|
|
1680
|
+
{ list: AI_COPY_DIRECTORIES_LIST, matches: matches_directory },
|
|
1681
|
+
{ list: PLUGIN_SKILL_DIRECTORIES_LIST, matches: matches_plugin_skill },
|
|
1682
|
+
{ list: SYNCED_PATHS_LIST, matches: matches_synced_path },
|
|
1683
|
+
{ list: NPM_PUBLISH_FILES_LIST, matches: matches_npm_publish_file }
|
|
1684
|
+
];
|
|
1685
|
+
function find_list(path3) {
|
|
1686
|
+
return MATCHERS.find((matcher) => matcher.matches(path3))?.list;
|
|
1687
|
+
}
|
|
1688
|
+
function to_hit(path3) {
|
|
1689
|
+
const list = find_list(path3);
|
|
1690
|
+
return list === void 0 ? void 0 : { path: path3, list };
|
|
1691
|
+
}
|
|
1692
|
+
function find_managed_paths(paths) {
|
|
1693
|
+
return paths.flatMap((path3) => to_hit(path3) ?? []);
|
|
1694
|
+
}
|
|
1695
|
+
function has_managed_path(paths) {
|
|
1696
|
+
return paths.some((path3) => find_list(path3) !== void 0);
|
|
1697
|
+
}
|
|
1698
|
+
function format_hit(hit) {
|
|
1699
|
+
return `${hit.path} (${hit.list})`;
|
|
1700
|
+
}
|
|
1701
|
+
function format_hits(hits) {
|
|
1702
|
+
return hits.map((hit) => format_hit(hit)).join("\n");
|
|
1703
|
+
}
|
|
1704
|
+
var managed_config_scope = {
|
|
1705
|
+
find_managed_paths,
|
|
1706
|
+
has_managed_path,
|
|
1707
|
+
format_hit,
|
|
1708
|
+
format_hits
|
|
1709
|
+
};
|
|
1710
|
+
|
|
1711
|
+
export {
|
|
1712
|
+
json_format,
|
|
1713
|
+
parse_jsonc,
|
|
1714
|
+
patch_json_key,
|
|
1715
|
+
init_logic_json_merge,
|
|
1716
|
+
init_logic_sonar,
|
|
1717
|
+
init_logic_workspace,
|
|
1718
|
+
init_logic,
|
|
1719
|
+
npm_publish_files,
|
|
1720
|
+
PLUGIN_SKILL_DIRECTORIES,
|
|
1721
|
+
managed_config_scope
|
|
1722
|
+
};
|