@unbrained/pm-cli 2026.7.21 → 2026.7.22
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-plugin/marketplace.json +2 -2
- package/CHANGELOG.md +25 -0
- package/dist/cli/bundle-integrity.js +3 -3
- package/dist/cli/bundle-integrity.js.map +1 -1
- package/dist/cli/commands/contracts.d.ts +5 -0
- package/dist/cli/commands/contracts.js +8 -6
- package/dist/cli/commands/contracts.js.map +1 -1
- package/dist/cli/commands/copy.js +36 -20
- package/dist/cli/commands/copy.js.map +1 -1
- package/dist/cli/commands/create.js +48 -24
- package/dist/cli/commands/create.js.map +1 -1
- package/dist/cli/commands/merge.d.ts +1 -1
- package/dist/cli/commands/merge.js +3 -3
- package/dist/cli/commands/merge.js.map +1 -1
- package/dist/cli/commands/restore.js +40 -22
- package/dist/cli/commands/restore.js.map +1 -1
- package/dist/cli/commands/update.js +12 -9
- package/dist/cli/commands/update.js.map +1 -1
- package/dist/cli/extension-command-help.js +3 -4
- package/dist/cli/extension-command-help.js.map +1 -1
- package/dist/cli/main.d.ts +3 -2
- package/dist/cli/main.js +6 -6
- package/dist/cli/main.js.map +1 -1
- package/dist/cli/register-list-query.js +33 -21
- package/dist/cli/register-list-query.js.map +1 -1
- package/dist/cli/register-mutation.js +63 -37
- package/dist/cli/register-mutation.js.map +1 -1
- package/dist/cli/registration-helpers.d.ts +2 -0
- package/dist/cli/registration-helpers.js +3 -2
- package/dist/cli/registration-helpers.js.map +1 -1
- package/dist/cli-bundle/bundle-manifest.json +349 -341
- package/dist/cli-bundle/chunks/{append-7OVFYR3C.js → append-CYMA7RJT.js} +5 -5
- package/dist/cli-bundle/chunks/append-H53CAPMP.js +11 -0
- package/dist/cli-bundle/chunks/{chunk-PFNHX655.js → chunk-2P7OK4WG.js} +3 -3
- package/dist/cli-bundle/chunks/{chunk-EJDGV4GR.js → chunk-3EBGHNNQ.js} +3 -3
- package/dist/cli-bundle/chunks/{chunk-DZRV2OPA.js → chunk-3EDFN3VV.js} +2 -2
- package/dist/cli-bundle/chunks/{chunk-ZOY5K4D3.js → chunk-3PWJWLLQ.js} +2 -2
- package/dist/cli-bundle/chunks/{chunk-VXOOB6YX.js → chunk-3SJAR3CY.js} +4 -4
- package/dist/cli-bundle/chunks/{chunk-GTLCVJOE.js → chunk-3WVKMF2A.js} +3 -3
- package/dist/cli-bundle/chunks/{chunk-LAV26CQG.js → chunk-42SYYKA4.js} +4 -4
- package/dist/cli-bundle/chunks/{chunk-NLR32VFS.js → chunk-4IXLNV7W.js} +2 -2
- package/dist/cli-bundle/chunks/{chunk-BKIAH72N.js → chunk-4LTPHDKA.js} +39 -23
- package/dist/cli-bundle/chunks/chunk-4LTPHDKA.js.map +1 -0
- package/dist/cli-bundle/chunks/{chunk-ABWCF646.js → chunk-4YTQVO3V.js} +5 -5
- package/dist/cli-bundle/chunks/{chunk-E5XMKOSB.js → chunk-5EBRMHI6.js} +4 -4
- package/dist/cli-bundle/chunks/{chunk-IY6VZ3IW.js → chunk-5FAG2JUC.js} +320 -62
- package/dist/cli-bundle/chunks/chunk-5FAG2JUC.js.map +7 -0
- package/dist/cli-bundle/chunks/{chunk-GKX4NJ7U.js → chunk-5K5LHZZX.js} +6 -6
- package/dist/cli-bundle/chunks/{chunk-T6PPNM7V.js → chunk-5K7BOAB6.js} +4 -4
- package/dist/cli-bundle/chunks/{chunk-4QOB7L7I.js → chunk-5MUZ54G2.js} +5 -5
- package/dist/cli-bundle/chunks/{chunk-SF3DT5HJ.js → chunk-5QME4KX2.js} +3 -3
- package/dist/cli-bundle/chunks/{chunk-RMF7LMBS.js → chunk-6PDGFY3P.js} +27 -17
- package/dist/cli-bundle/chunks/{chunk-RMF7LMBS.js.map → chunk-6PDGFY3P.js.map} +2 -2
- package/dist/cli-bundle/chunks/{chunk-TRSHFPRZ.js → chunk-6PM6CPPP.js} +5 -5
- package/dist/cli-bundle/chunks/{chunk-O4BCOJTZ.js → chunk-7AHRY3ZB.js} +21 -16
- package/dist/cli-bundle/chunks/chunk-7AHRY3ZB.js.map +7 -0
- package/dist/cli-bundle/chunks/{chunk-OR42SO64.js → chunk-7B36A3VT.js} +4 -4
- package/dist/cli-bundle/chunks/{chunk-QWRVBJ4D.js → chunk-7OR2YKKD.js} +2 -2
- package/dist/cli-bundle/chunks/{chunk-FPBMLYPI.js → chunk-7QUV54XX.js} +4 -4
- package/dist/cli-bundle/chunks/{chunk-WWNL6WMH.js → chunk-7WXW6JHG.js} +2 -2
- package/dist/cli-bundle/chunks/{chunk-BXNDKOR2.js → chunk-A2VL5SVG.js} +4 -4
- package/dist/cli-bundle/chunks/chunk-AXGDUXJW.js +5 -0
- package/dist/cli-bundle/chunks/{chunk-IAQE32BI.js → chunk-B2AVNGG3.js} +4 -4
- package/dist/cli-bundle/chunks/{chunk-K36WV5J6.js → chunk-B7O44UBR.js} +71 -8
- package/dist/cli-bundle/chunks/chunk-B7O44UBR.js.map +1 -0
- package/dist/cli-bundle/chunks/{chunk-HCEBZNC3.js → chunk-BRMPF2RM.js} +4 -4
- package/dist/cli-bundle/chunks/{chunk-Z7VWXXJM.js → chunk-BTNKMF2A.js} +4 -4
- package/dist/cli-bundle/chunks/{chunk-KH44WBAT.js → chunk-CD4643VW.js} +4 -4
- package/dist/cli-bundle/chunks/{chunk-OWXOPDHD.js → chunk-CJEEC5O4.js} +4 -4
- package/dist/cli-bundle/chunks/{chunk-PZC2FUOQ.js → chunk-CTPKCZCF.js} +2 -2
- package/dist/cli-bundle/chunks/{chunk-7W2UAXXT.js → chunk-D4OBQVL3.js} +10 -10
- package/dist/cli-bundle/chunks/{chunk-EWJWSNRU.js → chunk-DM4TYC2A.js} +4 -4
- package/dist/cli-bundle/chunks/{chunk-VJQG4BIM.js → chunk-DSFTAQ7T.js} +3 -3
- package/dist/cli-bundle/chunks/{chunk-AELMUANP.js → chunk-DVB6SQU7.js} +2 -2
- package/dist/cli-bundle/chunks/{chunk-KBLZ3AA5.js → chunk-E3ZWOFSO.js} +4 -4
- package/dist/cli-bundle/chunks/chunk-EP25DV6P.js +9 -0
- package/dist/cli-bundle/chunks/{chunk-GTK4DTEW.js → chunk-F4VCB4WY.js} +10 -10
- package/dist/cli-bundle/chunks/{chunk-V22ZPOKN.js → chunk-F4XAQUQA.js} +6 -6
- package/dist/cli-bundle/chunks/{chunk-QOOTOD3W.js → chunk-FGR6IBAF.js} +6 -6
- package/dist/cli-bundle/chunks/{chunk-JSLT7WVE.js → chunk-FKBMT2Q6.js} +2 -2
- package/dist/cli-bundle/chunks/{chunk-QIH77CAG.js → chunk-G5RLSSIX.js} +2 -2
- package/dist/cli-bundle/chunks/{chunk-P7MTHPJQ.js → chunk-GEKRVH3G.js} +2 -2
- package/dist/cli-bundle/chunks/{chunk-2L6ZP22J.js → chunk-GSP6IZFU.js} +3 -3
- package/dist/cli-bundle/chunks/{chunk-ATBCUC7Y.js → chunk-H3MDK2VU.js} +48 -30
- package/dist/cli-bundle/chunks/chunk-H3MDK2VU.js.map +1 -0
- package/dist/cli-bundle/chunks/{chunk-ZVZGXPQ5.js → chunk-HYZZM3Q2.js} +2 -2
- package/dist/cli-bundle/chunks/{chunk-XJTABV3X.js → chunk-IBWG3OSH.js} +22 -17
- package/dist/cli-bundle/chunks/chunk-IBWG3OSH.js.map +1 -0
- package/dist/cli-bundle/chunks/{chunk-4XGJLADW.js → chunk-IHY5SX7O.js} +3 -3
- package/dist/cli-bundle/chunks/{chunk-UCBDQI5E.js → chunk-IMU7JLUI.js} +7 -7
- package/dist/cli-bundle/chunks/{chunk-Z75ONV25.js → chunk-IPAQAJWB.js} +77 -7
- package/dist/cli-bundle/chunks/chunk-IPAQAJWB.js.map +7 -0
- package/dist/cli-bundle/chunks/{chunk-7RW4JCU2.js → chunk-IQCD6OO3.js} +25 -13
- package/dist/cli-bundle/chunks/chunk-IQCD6OO3.js.map +7 -0
- package/dist/cli-bundle/chunks/{chunk-YQWCZ5AC.js → chunk-J3ZKFEDM.js} +38 -22
- package/dist/cli-bundle/chunks/chunk-J3ZKFEDM.js.map +7 -0
- package/dist/cli-bundle/chunks/{chunk-PEQGTJ5Q.js → chunk-JCLXCGIL.js} +3 -3
- package/dist/cli-bundle/chunks/{chunk-GROYI4RB.js → chunk-JLTHOYR7.js} +3 -3
- package/dist/cli-bundle/chunks/{chunk-JHJSFOAM.js → chunk-JMPVHM44.js} +4 -4
- package/dist/cli-bundle/chunks/{chunk-MATHDCGG.js → chunk-JWYG36RV.js} +8 -8
- package/dist/cli-bundle/chunks/{chunk-ZTVA4KLN.js → chunk-KEGVMZNA.js} +28 -16
- package/dist/cli-bundle/chunks/chunk-KEGVMZNA.js.map +7 -0
- package/dist/cli-bundle/chunks/{chunk-VLRGDBLY.js → chunk-KEHOPUHH.js} +4 -4
- package/dist/cli-bundle/chunks/{chunk-K55VMLSS.js → chunk-KJ4ZF35M.js} +63 -13
- package/dist/cli-bundle/chunks/chunk-KJ4ZF35M.js.map +7 -0
- package/dist/cli-bundle/chunks/{chunk-CPX275C6.js → chunk-KPCZL2YK.js} +6 -6
- package/dist/cli-bundle/chunks/{chunk-POG76WWZ.js → chunk-L7DZV6EZ.js} +319 -61
- package/dist/cli-bundle/chunks/chunk-L7DZV6EZ.js.map +1 -0
- package/dist/cli-bundle/chunks/{chunk-FO6OSVEN.js → chunk-LANV45W2.js} +8 -8
- package/dist/cli-bundle/chunks/{chunk-LVC72YRD.js → chunk-LC5ZUXWE.js} +7 -7
- package/dist/cli-bundle/chunks/{chunk-SY4SFZSD.js → chunk-LE522OXA.js} +55 -30
- package/dist/cli-bundle/chunks/chunk-LE522OXA.js.map +7 -0
- package/dist/cli-bundle/chunks/{chunk-TVYYO5A7.js → chunk-MBHYQYCS.js} +2 -2
- package/dist/cli-bundle/chunks/{chunk-FJIFFBJX.js → chunk-MROP2RNT.js} +66 -74
- package/dist/cli-bundle/chunks/chunk-MROP2RNT.js.map +1 -0
- package/dist/cli-bundle/chunks/{chunk-7656MAUL.js → chunk-MUAJHL2R.js} +2 -2
- package/dist/cli-bundle/chunks/{chunk-R3P6FZJW.js → chunk-N6QCY2AX.js} +43 -25
- package/dist/cli-bundle/chunks/chunk-N6QCY2AX.js.map +1 -0
- package/dist/cli-bundle/chunks/{chunk-7WCE6Y64.js → chunk-NUQCSV4P.js} +2 -2
- package/dist/cli-bundle/chunks/{chunk-SZVB53Y3.js → chunk-O3GFE2PX.js} +3 -3
- package/dist/cli-bundle/chunks/{chunk-OY7DMU5P.js → chunk-O43LEUSD.js} +2 -2
- package/dist/cli-bundle/chunks/{chunk-AMJPSANK.js → chunk-O7RH6BWP.js} +103 -44
- package/dist/cli-bundle/chunks/chunk-O7RH6BWP.js.map +7 -0
- package/dist/cli-bundle/chunks/{chunk-NUF7ROFH.js → chunk-OODR5KYF.js} +26 -27
- package/dist/cli-bundle/chunks/chunk-OODR5KYF.js.map +1 -0
- package/dist/cli-bundle/chunks/{chunk-LZYP423P.js → chunk-OZ25YD4Q.js} +3 -3
- package/dist/cli-bundle/chunks/{chunk-VZIZB6QH.js → chunk-PKYKQCTJ.js} +4 -4
- package/dist/cli-bundle/chunks/{chunk-UZLJOEAC.js → chunk-PMRED6QZ.js} +3 -3
- package/dist/cli-bundle/chunks/{chunk-ADBTSVGK.js → chunk-PPATPPI6.js} +65 -73
- package/dist/cli-bundle/chunks/chunk-PPATPPI6.js.map +7 -0
- package/dist/cli-bundle/chunks/{chunk-K4CI6Y45.js → chunk-PWGJCP2V.js} +2 -2
- package/dist/cli-bundle/chunks/{chunk-UVN66B3M.js → chunk-Q3Z2Y5WJ.js} +2 -2
- package/dist/cli-bundle/chunks/{chunk-RNPZYNHS.js → chunk-Q6YZ3VCI.js} +104 -45
- package/dist/cli-bundle/chunks/chunk-Q6YZ3VCI.js.map +1 -0
- package/dist/cli-bundle/chunks/{chunk-7DOJC3HS.js → chunk-QE5EUHKN.js} +28 -18
- package/dist/cli-bundle/chunks/chunk-QE5EUHKN.js.map +1 -0
- package/dist/cli-bundle/chunks/{chunk-AS4SAZ5R.js → chunk-QKMMWESK.js} +25 -26
- package/dist/cli-bundle/chunks/chunk-QKMMWESK.js.map +7 -0
- package/dist/cli-bundle/chunks/{chunk-R7QV7ICM.js → chunk-QSXN2FAN.js} +4 -4
- package/dist/cli-bundle/chunks/{chunk-5NTE36LD.js → chunk-RBECHH5K.js} +4 -4
- package/dist/cli-bundle/chunks/{chunk-JXCW2TI2.js → chunk-RPNC7M63.js} +8 -8
- package/dist/cli-bundle/chunks/{chunk-ICDAQ4TD.js → chunk-S2QQNTA6.js} +26 -14
- package/dist/cli-bundle/chunks/chunk-S2QQNTA6.js.map +1 -0
- package/dist/cli-bundle/chunks/{chunk-JFD5LPMI.js → chunk-SP3BAXFF.js} +29 -17
- package/dist/cli-bundle/chunks/chunk-SP3BAXFF.js.map +1 -0
- package/dist/cli-bundle/chunks/{chunk-F2LBF7XJ.js → chunk-SUSFH6F7.js} +5 -5
- package/dist/cli-bundle/chunks/{chunk-VHXHVTUU.js → chunk-TDOPC7UY.js} +2 -2
- package/dist/cli-bundle/chunks/{chunk-HYW67VJ5.js → chunk-TLF52ZDP.js} +30 -25
- package/dist/cli-bundle/chunks/chunk-TLF52ZDP.js.map +1 -0
- package/dist/cli-bundle/chunks/{chunk-FSE2IKJQ.js → chunk-TWHG646K.js} +2 -2
- package/dist/cli-bundle/chunks/{chunk-OCUBRA6D.js → chunk-U7U7WGEC.js} +4 -4
- package/dist/cli-bundle/chunks/{chunk-PONKZPCJ.js → chunk-UFRVIIJ2.js} +4 -4
- package/dist/cli-bundle/chunks/{chunk-VNTCM3VW.js → chunk-VKX2VZZH.js} +8 -8
- package/dist/cli-bundle/chunks/{chunk-7AVEY74G.js → chunk-VTOCZ343.js} +29 -24
- package/dist/cli-bundle/chunks/chunk-VTOCZ343.js.map +7 -0
- package/dist/cli-bundle/chunks/{chunk-6JUTHVQS.js → chunk-W2JDNTN3.js} +2 -2
- package/dist/cli-bundle/chunks/{chunk-PQSEQD6E.js → chunk-W35PHE44.js} +62 -12
- package/dist/cli-bundle/chunks/chunk-W35PHE44.js.map +1 -0
- package/dist/cli-bundle/chunks/{chunk-4QSQ6XDK.js → chunk-WT4KXBUD.js} +68 -31
- package/dist/cli-bundle/chunks/chunk-WT4KXBUD.js.map +1 -0
- package/dist/cli-bundle/chunks/{chunk-RPESLSO5.js → chunk-XC5RVKHH.js} +69 -32
- package/dist/cli-bundle/chunks/chunk-XC5RVKHH.js.map +7 -0
- package/dist/cli-bundle/chunks/{chunk-QG4GFLQ6.js → chunk-XD6UF2NB.js} +42 -24
- package/dist/cli-bundle/chunks/chunk-XD6UF2NB.js.map +7 -0
- package/dist/cli-bundle/chunks/{chunk-AF2CCM5U.js → chunk-XKRVX4B3.js} +4 -4
- package/dist/cli-bundle/chunks/{chunk-JGUKMMRS.js → chunk-XN4NQZJK.js} +3 -3
- package/dist/cli-bundle/chunks/{chunk-3P7UJQOX.js → chunk-YKFMLQNK.js} +2 -2
- package/dist/cli-bundle/chunks/{chunk-YCIUJJOD.js → chunk-YKWKMGL7.js} +2 -2
- package/dist/cli-bundle/chunks/{chunk-TOBGV45Y.js → chunk-YUKIFPWK.js} +2 -2
- package/dist/cli-bundle/chunks/{chunk-72LQ4TKV.js → chunk-YYEZEP3E.js} +3 -3
- package/dist/cli-bundle/chunks/{chunk-X3W65QK3.js → chunk-ZEY3XSZQ.js} +5 -5
- package/dist/cli-bundle/chunks/{chunk-MWQ2HC2A.js → chunk-ZKOQHLJP.js} +59 -34
- package/dist/cli-bundle/chunks/chunk-ZKOQHLJP.js.map +1 -0
- package/dist/cli-bundle/chunks/{chunk-QJIKE24M.js → chunk-ZQ3UMKWE.js} +2 -2
- package/dist/cli-bundle/chunks/{chunk-4PUUNQDV.js → chunk-ZVVEWHWK.js} +58 -33
- package/dist/cli-bundle/chunks/chunk-ZVVEWHWK.js.map +7 -0
- package/dist/cli-bundle/chunks/{chunk-OG5DVFMA.js → chunk-ZXE6SNKO.js} +5 -5
- package/dist/cli-bundle/chunks/close-GAUIGOQC.js +12 -0
- package/dist/cli-bundle/chunks/{close-QEMOYZN3.js → close-SJIEKNY4.js} +5 -5
- package/dist/cli-bundle/chunks/{close-many-RZVTUGBG.js → close-many-B6AIC5OQ.js} +15 -14
- package/dist/cli-bundle/chunks/close-many-QCINT6I2.js +24 -0
- package/dist/cli-bundle/chunks/comments-4SK5EUEJ.js +13 -0
- package/dist/cli-bundle/chunks/{comments-TPU7QRBL.js → comments-DM5KV2RS.js} +7 -7
- package/dist/cli-bundle/chunks/copy-4KCCLTYQ.js +10 -0
- package/dist/cli-bundle/chunks/{copy-DKTSSCK7.js → copy-HEP5SZHB.js} +5 -4
- package/dist/cli-bundle/chunks/create-BDKQFPRE.js +30 -0
- package/dist/cli-bundle/chunks/{create-EIFBIVNQ.js → create-VCGBCYL2.js} +11 -10
- package/dist/cli-bundle/chunks/delete-JWDXPR3H.js +10 -0
- package/dist/cli-bundle/chunks/{delete-LCS3VPDH.js → delete-ZSPBTVJD.js} +4 -4
- package/dist/cli-bundle/chunks/{deps-YG7UF3VR.js → deps-BZTWWOIE.js} +6 -6
- package/dist/cli-bundle/chunks/{deps-UH5EQQUY.js → deps-OVAJOQIE.js} +6 -6
- package/dist/cli-bundle/chunks/{docs-G32TK6XS.js → docs-3GFMSWLL.js} +6 -6
- package/dist/cli-bundle/chunks/docs-SY2NPT6Y.js +14 -0
- package/dist/cli-bundle/chunks/{files-4ALMCSKB.js → files-2SEL4QIU.js} +6 -6
- package/dist/cli-bundle/chunks/{files-3H32UQ4K.js → files-FYMMJGNN.js} +6 -6
- package/dist/cli-bundle/chunks/focus-4A27YJ2Z.js +10 -0
- package/dist/cli-bundle/chunks/{focus-7SOUT5PZ.js → focus-TEUJKTAT.js} +5 -5
- package/dist/cli-bundle/chunks/history-compact-7QOKL2NB.js +16 -0
- package/dist/cli-bundle/chunks/{history-compact-77BT2LUB.js → history-compact-U7A37VR6.js} +6 -6
- package/dist/cli-bundle/chunks/{history-redact-LJPZPNFA.js → history-redact-TNKUO4ZE.js} +4 -4
- package/dist/cli-bundle/chunks/{history-redact-PWTTJ3XS.js → history-redact-ZWRUWQY3.js} +4 -4
- package/dist/cli-bundle/chunks/{history-repair-I7CBNCV3.js → history-repair-6IU5VWHN.js} +7 -7
- package/dist/cli-bundle/chunks/history-repair-GWCGJUM2.js +17 -0
- package/dist/cli-bundle/chunks/learnings-DDFAUUX3.js +13 -0
- package/dist/cli-bundle/chunks/{learnings-KTYW3AL7.js → learnings-GOEZXMKL.js} +7 -7
- package/dist/cli-bundle/chunks/{notes-ZERD3KB2.js → notes-BZWODAEK.js} +7 -7
- package/dist/cli-bundle/chunks/notes-OBJ6FL36.js +13 -0
- package/dist/cli-bundle/chunks/{plan-OFJUBIM5.js → plan-V57VQTAG.js} +12 -11
- package/dist/cli-bundle/chunks/plan-ZMOBD6FX.js +27 -0
- package/dist/cli-bundle/chunks/{profile-3THJPIQY.js → profile-BG3N4ETA.js} +9 -9
- package/dist/cli-bundle/chunks/{profile-XEZAMMBW.js → profile-XLM45FKV.js} +9 -9
- package/dist/cli-bundle/chunks/{register-list-query-BR435Q2H.js → register-list-query-EYYNTGMF.js} +48 -38
- package/dist/cli-bundle/chunks/register-list-query-EYYNTGMF.js.map +1 -0
- package/dist/cli-bundle/chunks/{register-list-query-RWTWLOBE.js → register-list-query-WGXJPXXY.js} +47 -37
- package/dist/cli-bundle/chunks/register-list-query-WGXJPXXY.js.map +7 -0
- package/dist/cli-bundle/chunks/{register-mutation-HLWC2WNP.js → register-mutation-3YSDDVOL.js} +131 -105
- package/dist/cli-bundle/chunks/register-mutation-3YSDDVOL.js.map +1 -0
- package/dist/cli-bundle/chunks/{register-mutation-ZJX5AZM5.js → register-mutation-VDGUMMUY.js} +131 -105
- package/dist/cli-bundle/chunks/register-mutation-VDGUMMUY.js.map +7 -0
- package/dist/cli-bundle/chunks/{register-operations-744YBJMV.js → register-operations-H4URGAHX.js} +36 -35
- package/dist/cli-bundle/chunks/{register-operations-744YBJMV.js.map → register-operations-H4URGAHX.js.map} +1 -1
- package/dist/cli-bundle/chunks/{register-operations-UEBJH6AN.js → register-operations-HSO7X77D.js} +34 -33
- package/dist/cli-bundle/chunks/{register-operations-UEBJH6AN.js.map → register-operations-HSO7X77D.js.map} +1 -1
- package/dist/cli-bundle/chunks/{register-setup-5DA4UZXI.js → register-setup-HZ2KKXK4.js} +13 -13
- package/dist/cli-bundle/chunks/{register-setup-6H25M3BH.js → register-setup-WCBKJ3H3.js} +13 -13
- package/dist/cli-bundle/chunks/{restore-6TDVSATY.js → restore-3NGRFDPX.js} +7 -6
- package/dist/cli-bundle/chunks/restore-LNVNUWHE.js +15 -0
- package/dist/cli-bundle/chunks/{schema-TPVTIJPO.js → schema-LMFZ742C.js} +6 -6
- package/dist/cli-bundle/chunks/{schema-HFXFSGPG.js → schema-O34O33UW.js} +6 -6
- package/dist/cli-bundle/chunks/update-BN6VZSYX.js +24 -0
- package/dist/cli-bundle/chunks/{update-LJZCL5SI.js → update-FDLPLKOB.js} +14 -13
- package/dist/cli-bundle/chunks/update-many-WCKOPN3K.js +35 -0
- package/dist/cli-bundle/chunks/update-many-WCKOPN3K.js.map +7 -0
- package/dist/cli-bundle/chunks/update-many-X6DVGOMM.js +39 -0
- package/dist/cli-bundle/chunks/update-many-X6DVGOMM.js.map +1 -0
- package/dist/cli-bundle/main.js +65 -64
- package/dist/cli-bundle/main.js.map +2 -2
- package/dist/cli-bundle/sdk-runtime.js +53 -52
- package/dist/cli-bundle/sdk-testing.js +6 -6
- package/dist/cli-bundle/sdk.js +362 -56
- package/dist/cli-bundle/sdk.js.map +4 -4
- package/dist/cli.js +10 -4
- package/dist/cli.js.map +1 -1
- package/dist/core/diagnostics/remediation.js +7 -2
- package/dist/core/diagnostics/remediation.js.map +1 -1
- package/dist/core/search/background-refresh.d.ts +3 -1
- package/dist/core/search/background-refresh.js +34 -6
- package/dist/core/search/background-refresh.js.map +1 -1
- package/dist/core/search/cache.js +28 -5
- package/dist/core/search/cache.js.map +1 -1
- package/dist/core/shared/constants.d.ts +2 -0
- package/dist/core/shared/constants.js +29 -24
- package/dist/core/shared/constants.js.map +1 -1
- package/dist/core/store/item-metadata-cache.d.ts +32 -1
- package/dist/core/store/item-metadata-cache.js +289 -21
- package/dist/core/store/item-metadata-cache.js.map +1 -1
- package/dist/core/store/item-store.js +71 -34
- package/dist/core/store/item-store.js.map +1 -1
- package/dist/core/store/settings.js +9 -3
- package/dist/core/store/settings.js.map +1 -1
- package/dist/sdk/cli-bootstrap.js +68 -76
- package/dist/sdk/cli-bootstrap.js.map +1 -1
- package/dist/sdk/compile-cache.d.ts +16 -0
- package/dist/sdk/compile-cache.js +73 -0
- package/dist/sdk/compile-cache.js.map +1 -0
- package/dist/sdk/context-relevance.d.ts +16 -1
- package/dist/sdk/context-relevance.js +20 -8
- package/dist/sdk/context-relevance.js.map +1 -1
- package/dist/sdk/context-signal-store.d.ts +77 -0
- package/dist/sdk/context-signal-store.js +201 -0
- package/dist/sdk/context-signal-store.js.map +1 -0
- package/dist/sdk/dependency-provenance.d.ts +12 -0
- package/dist/sdk/dependency-provenance.js +38 -0
- package/dist/sdk/dependency-provenance.js.map +1 -0
- package/dist/sdk/governance/storage-integrity.d.ts +1 -1
- package/dist/sdk/governance/storage-integrity.js +47 -6
- package/dist/sdk/governance/storage-integrity.js.map +1 -1
- package/dist/sdk/graph/assembly.d.ts +2 -0
- package/dist/sdk/graph/assembly.js +51 -4
- package/dist/sdk/graph/assembly.js.map +1 -1
- package/dist/sdk/graph/run.js +12 -13
- package/dist/sdk/graph/run.js.map +1 -1
- package/dist/sdk/index.d.ts +5 -0
- package/dist/sdk/index.js +7 -2
- package/dist/sdk/index.js.map +1 -1
- package/dist/sdk/item-metadata-index.d.ts +11 -0
- package/dist/sdk/item-metadata-index.js +15 -0
- package/dist/sdk/item-metadata-index.js.map +1 -0
- package/dist/sdk/merge/index.d.ts +1 -0
- package/dist/sdk/merge/index.js +3 -2
- package/dist/sdk/merge/index.js.map +1 -1
- package/dist/sdk/merge/install.js +25 -9
- package/dist/sdk/merge/install.js.map +1 -1
- package/dist/sdk/merge/reconcile.d.ts +46 -0
- package/dist/sdk/merge/reconcile.js +46 -0
- package/dist/sdk/merge/reconcile.js.map +1 -0
- package/dist/sdk/query/list.d.ts +5 -4
- package/dist/sdk/query/list.js +22 -14
- package/dist/sdk/query/list.js.map +1 -1
- package/dist/sdk/relationship-history.d.ts +30 -0
- package/dist/sdk/relationship-history.js +75 -7
- package/dist/sdk/relationship-history.js.map +1 -1
- package/dist/sdk/relationship-migration.d.ts +42 -0
- package/dist/sdk/relationship-migration.js +78 -0
- package/dist/sdk/relationship-migration.js.map +1 -0
- package/dist/sdk/structured-mutations.js +4 -25
- package/dist/sdk/structured-mutations.js.map +1 -1
- package/docs/COMMANDS.md +26 -3
- package/docs/CONFIGURATION.md +1 -1
- package/docs/MERGE_SAFETY.md +14 -5
- package/docs/PERFORMANCE.md +28 -0
- package/docs/RELATIONSHIP_GRAPH.md +47 -1
- package/docs/SDK.md +78 -5
- package/marketplace.json +2 -2
- package/package.json +2 -2
- package/packages/pm-beads/package.json +1 -1
- package/packages/pm-calendar/package.json +1 -1
- package/packages/pm-command-kit/package.json +1 -1
- package/packages/pm-governance-audit/package.json +1 -1
- package/packages/pm-guide-shell/package.json +1 -1
- package/packages/pm-kanban/package.json +1 -1
- package/packages/pm-lifecycle-hooks/package.json +1 -1
- package/packages/pm-linked-test-adapters/package.json +1 -1
- package/packages/pm-search-advanced/package.json +1 -1
- package/packages/pm-templates/package.json +1 -1
- package/packages/pm-todos/package.json +1 -1
- package/packages/pm-vcs/package.json +1 -1
- package/plugins/pm-claude/.claude-plugin/plugin.json +1 -1
- package/plugins/pm-codex/.codex-plugin/plugin.json +1 -1
- package/dist/cli-bundle/chunks/append-DFETHAZL.js +0 -11
- package/dist/cli-bundle/chunks/chunk-4PUUNQDV.js.map +0 -7
- package/dist/cli-bundle/chunks/chunk-4QSQ6XDK.js.map +0 -1
- package/dist/cli-bundle/chunks/chunk-7AVEY74G.js.map +0 -7
- package/dist/cli-bundle/chunks/chunk-7DOJC3HS.js.map +0 -1
- package/dist/cli-bundle/chunks/chunk-7RW4JCU2.js.map +0 -7
- package/dist/cli-bundle/chunks/chunk-ADBTSVGK.js.map +0 -7
- package/dist/cli-bundle/chunks/chunk-AMJPSANK.js.map +0 -7
- package/dist/cli-bundle/chunks/chunk-AS4SAZ5R.js.map +0 -7
- package/dist/cli-bundle/chunks/chunk-ATBCUC7Y.js.map +0 -1
- package/dist/cli-bundle/chunks/chunk-BKIAH72N.js.map +0 -1
- package/dist/cli-bundle/chunks/chunk-FJIFFBJX.js.map +0 -1
- package/dist/cli-bundle/chunks/chunk-HYW67VJ5.js.map +0 -1
- package/dist/cli-bundle/chunks/chunk-ICDAQ4TD.js.map +0 -1
- package/dist/cli-bundle/chunks/chunk-IY6VZ3IW.js.map +0 -7
- package/dist/cli-bundle/chunks/chunk-JFD5LPMI.js.map +0 -1
- package/dist/cli-bundle/chunks/chunk-K36WV5J6.js.map +0 -1
- package/dist/cli-bundle/chunks/chunk-K55VMLSS.js.map +0 -7
- package/dist/cli-bundle/chunks/chunk-MWQ2HC2A.js.map +0 -1
- package/dist/cli-bundle/chunks/chunk-NUF7ROFH.js.map +0 -1
- package/dist/cli-bundle/chunks/chunk-O4BCOJTZ.js.map +0 -7
- package/dist/cli-bundle/chunks/chunk-POG76WWZ.js.map +0 -1
- package/dist/cli-bundle/chunks/chunk-PQSEQD6E.js.map +0 -1
- package/dist/cli-bundle/chunks/chunk-QG4GFLQ6.js.map +0 -7
- package/dist/cli-bundle/chunks/chunk-R3P6FZJW.js.map +0 -1
- package/dist/cli-bundle/chunks/chunk-RNPZYNHS.js.map +0 -1
- package/dist/cli-bundle/chunks/chunk-RPESLSO5.js.map +0 -7
- package/dist/cli-bundle/chunks/chunk-SY4SFZSD.js.map +0 -7
- package/dist/cli-bundle/chunks/chunk-XJTABV3X.js.map +0 -1
- package/dist/cli-bundle/chunks/chunk-YQWCZ5AC.js.map +0 -7
- package/dist/cli-bundle/chunks/chunk-Z75ONV25.js.map +0 -7
- package/dist/cli-bundle/chunks/chunk-ZTVA4KLN.js.map +0 -7
- package/dist/cli-bundle/chunks/close-O5QVZ6ET.js +0 -12
- package/dist/cli-bundle/chunks/close-many-5RZXVN4J.js +0 -23
- package/dist/cli-bundle/chunks/comments-Z4KV6FU3.js +0 -13
- package/dist/cli-bundle/chunks/copy-M7DDI6LS.js +0 -9
- package/dist/cli-bundle/chunks/create-RGSPN5GD.js +0 -29
- package/dist/cli-bundle/chunks/delete-MD7YXQLH.js +0 -10
- package/dist/cli-bundle/chunks/docs-JWWNRC27.js +0 -14
- package/dist/cli-bundle/chunks/focus-DRQ6FQH6.js +0 -10
- package/dist/cli-bundle/chunks/history-compact-VCKGTX64.js +0 -16
- package/dist/cli-bundle/chunks/history-repair-YTDZRK5E.js +0 -17
- package/dist/cli-bundle/chunks/learnings-CYNOICKR.js +0 -13
- package/dist/cli-bundle/chunks/notes-FGO63FXL.js +0 -13
- package/dist/cli-bundle/chunks/plan-SGCDDTYR.js +0 -26
- package/dist/cli-bundle/chunks/register-list-query-BR435Q2H.js.map +0 -1
- package/dist/cli-bundle/chunks/register-list-query-RWTWLOBE.js.map +0 -7
- package/dist/cli-bundle/chunks/register-mutation-HLWC2WNP.js.map +0 -1
- package/dist/cli-bundle/chunks/register-mutation-ZJX5AZM5.js.map +0 -7
- package/dist/cli-bundle/chunks/restore-RSL7C7LO.js +0 -14
- package/dist/cli-bundle/chunks/update-SIA7LH5Y.js +0 -23
- package/dist/cli-bundle/chunks/update-many-BDBZVGQL.js +0 -38
- package/dist/cli-bundle/chunks/update-many-MOY3A5B3.js +0 -34
- /package/dist/cli-bundle/chunks/{append-7OVFYR3C.js.map → append-CYMA7RJT.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{append-DFETHAZL.js.map → append-H53CAPMP.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-PFNHX655.js.map → chunk-2P7OK4WG.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-EJDGV4GR.js.map → chunk-3EBGHNNQ.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-DZRV2OPA.js.map → chunk-3EDFN3VV.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-ZOY5K4D3.js.map → chunk-3PWJWLLQ.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-VXOOB6YX.js.map → chunk-3SJAR3CY.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-GTLCVJOE.js.map → chunk-3WVKMF2A.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-LAV26CQG.js.map → chunk-42SYYKA4.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-NLR32VFS.js.map → chunk-4IXLNV7W.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-ABWCF646.js.map → chunk-4YTQVO3V.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-E5XMKOSB.js.map → chunk-5EBRMHI6.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-GKX4NJ7U.js.map → chunk-5K5LHZZX.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-T6PPNM7V.js.map → chunk-5K7BOAB6.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-4QOB7L7I.js.map → chunk-5MUZ54G2.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-SF3DT5HJ.js.map → chunk-5QME4KX2.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-TRSHFPRZ.js.map → chunk-6PM6CPPP.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-OR42SO64.js.map → chunk-7B36A3VT.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-QWRVBJ4D.js.map → chunk-7OR2YKKD.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-FPBMLYPI.js.map → chunk-7QUV54XX.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-WWNL6WMH.js.map → chunk-7WXW6JHG.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-BXNDKOR2.js.map → chunk-A2VL5SVG.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{close-QEMOYZN3.js.map → chunk-AXGDUXJW.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-IAQE32BI.js.map → chunk-B2AVNGG3.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-HCEBZNC3.js.map → chunk-BRMPF2RM.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-Z7VWXXJM.js.map → chunk-BTNKMF2A.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-KH44WBAT.js.map → chunk-CD4643VW.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-OWXOPDHD.js.map → chunk-CJEEC5O4.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-PZC2FUOQ.js.map → chunk-CTPKCZCF.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-7W2UAXXT.js.map → chunk-D4OBQVL3.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-EWJWSNRU.js.map → chunk-DM4TYC2A.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-VJQG4BIM.js.map → chunk-DSFTAQ7T.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-AELMUANP.js.map → chunk-DVB6SQU7.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-KBLZ3AA5.js.map → chunk-E3ZWOFSO.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{close-O5QVZ6ET.js.map → chunk-EP25DV6P.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-GTK4DTEW.js.map → chunk-F4VCB4WY.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-V22ZPOKN.js.map → chunk-F4XAQUQA.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-QOOTOD3W.js.map → chunk-FGR6IBAF.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-JSLT7WVE.js.map → chunk-FKBMT2Q6.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-QIH77CAG.js.map → chunk-G5RLSSIX.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-P7MTHPJQ.js.map → chunk-GEKRVH3G.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-2L6ZP22J.js.map → chunk-GSP6IZFU.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-ZVZGXPQ5.js.map → chunk-HYZZM3Q2.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-4XGJLADW.js.map → chunk-IHY5SX7O.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-UCBDQI5E.js.map → chunk-IMU7JLUI.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-PEQGTJ5Q.js.map → chunk-JCLXCGIL.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-GROYI4RB.js.map → chunk-JLTHOYR7.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-JHJSFOAM.js.map → chunk-JMPVHM44.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-MATHDCGG.js.map → chunk-JWYG36RV.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-VLRGDBLY.js.map → chunk-KEHOPUHH.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-CPX275C6.js.map → chunk-KPCZL2YK.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-FO6OSVEN.js.map → chunk-LANV45W2.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-LVC72YRD.js.map → chunk-LC5ZUXWE.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-TVYYO5A7.js.map → chunk-MBHYQYCS.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-7656MAUL.js.map → chunk-MUAJHL2R.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-7WCE6Y64.js.map → chunk-NUQCSV4P.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-SZVB53Y3.js.map → chunk-O3GFE2PX.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-OY7DMU5P.js.map → chunk-O43LEUSD.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-LZYP423P.js.map → chunk-OZ25YD4Q.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-VZIZB6QH.js.map → chunk-PKYKQCTJ.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-UZLJOEAC.js.map → chunk-PMRED6QZ.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-K4CI6Y45.js.map → chunk-PWGJCP2V.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-UVN66B3M.js.map → chunk-Q3Z2Y5WJ.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-R7QV7ICM.js.map → chunk-QSXN2FAN.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-5NTE36LD.js.map → chunk-RBECHH5K.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-JXCW2TI2.js.map → chunk-RPNC7M63.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-F2LBF7XJ.js.map → chunk-SUSFH6F7.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-VHXHVTUU.js.map → chunk-TDOPC7UY.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-FSE2IKJQ.js.map → chunk-TWHG646K.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-OCUBRA6D.js.map → chunk-U7U7WGEC.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-PONKZPCJ.js.map → chunk-UFRVIIJ2.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-VNTCM3VW.js.map → chunk-VKX2VZZH.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-6JUTHVQS.js.map → chunk-W2JDNTN3.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-AF2CCM5U.js.map → chunk-XKRVX4B3.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-JGUKMMRS.js.map → chunk-XN4NQZJK.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-3P7UJQOX.js.map → chunk-YKFMLQNK.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-YCIUJJOD.js.map → chunk-YKWKMGL7.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-TOBGV45Y.js.map → chunk-YUKIFPWK.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-72LQ4TKV.js.map → chunk-YYEZEP3E.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-X3W65QK3.js.map → chunk-ZEY3XSZQ.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-QJIKE24M.js.map → chunk-ZQ3UMKWE.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-OG5DVFMA.js.map → chunk-ZXE6SNKO.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{close-many-5RZXVN4J.js.map → close-GAUIGOQC.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{close-many-RZVTUGBG.js.map → close-SJIEKNY4.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{comments-TPU7QRBL.js.map → close-many-B6AIC5OQ.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{comments-Z4KV6FU3.js.map → close-many-QCINT6I2.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{copy-M7DDI6LS.js.map → comments-4SK5EUEJ.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{copy-DKTSSCK7.js.map → comments-DM5KV2RS.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{create-RGSPN5GD.js.map → copy-4KCCLTYQ.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{create-EIFBIVNQ.js.map → copy-HEP5SZHB.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{delete-MD7YXQLH.js.map → create-BDKQFPRE.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{delete-LCS3VPDH.js.map → create-VCGBCYL2.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{deps-YG7UF3VR.js.map → delete-JWDXPR3H.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{deps-UH5EQQUY.js.map → delete-ZSPBTVJD.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{docs-JWWNRC27.js.map → deps-BZTWWOIE.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{docs-G32TK6XS.js.map → deps-OVAJOQIE.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{files-3H32UQ4K.js.map → docs-3GFMSWLL.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{files-4ALMCSKB.js.map → docs-SY2NPT6Y.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{focus-DRQ6FQH6.js.map → files-2SEL4QIU.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{focus-7SOUT5PZ.js.map → files-FYMMJGNN.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{history-compact-VCKGTX64.js.map → focus-4A27YJ2Z.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{history-compact-77BT2LUB.js.map → focus-TEUJKTAT.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{history-redact-PWTTJ3XS.js.map → history-compact-7QOKL2NB.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{history-redact-LJPZPNFA.js.map → history-compact-U7A37VR6.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{history-repair-I7CBNCV3.js.map → history-redact-TNKUO4ZE.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{history-repair-YTDZRK5E.js.map → history-redact-ZWRUWQY3.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{learnings-KTYW3AL7.js.map → history-repair-6IU5VWHN.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{learnings-CYNOICKR.js.map → history-repair-GWCGJUM2.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{notes-FGO63FXL.js.map → learnings-DDFAUUX3.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{notes-ZERD3KB2.js.map → learnings-GOEZXMKL.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{plan-OFJUBIM5.js.map → notes-BZWODAEK.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{plan-SGCDDTYR.js.map → notes-OBJ6FL36.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{profile-3THJPIQY.js.map → plan-V57VQTAG.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{profile-XEZAMMBW.js.map → plan-ZMOBD6FX.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{restore-6TDVSATY.js.map → profile-BG3N4ETA.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{restore-RSL7C7LO.js.map → profile-XLM45FKV.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{register-setup-5DA4UZXI.js.map → register-setup-HZ2KKXK4.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{register-setup-6H25M3BH.js.map → register-setup-WCBKJ3H3.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{schema-TPVTIJPO.js.map → restore-3NGRFDPX.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{schema-HFXFSGPG.js.map → restore-LNVNUWHE.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{update-LJZCL5SI.js.map → schema-LMFZ742C.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{update-SIA7LH5Y.js.map → schema-O34O33UW.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{update-many-MOY3A5B3.js.map → update-BN6VZSYX.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{update-many-BDBZVGQL.js.map → update-FDLPLKOB.js.map} +0 -0
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
* Provides CLI runtime support for Extension Command Help.
|
|
5
5
|
*/
|
|
6
6
|
|
|
7
|
-
!function(){try{var e="undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof globalThis?globalThis:"undefined"!=typeof self?self:{},n=(new e.Error).stack;n&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[n]="
|
|
7
|
+
!function(){try{var e="undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof globalThis?globalThis:"undefined"!=typeof self?self:{},n=(new e.Error).stack;n&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[n]="021f7a3b-31a8-56cb-82a5-ba845bd6caea")}catch(e){}}();
|
|
8
8
|
import { Option } from "commander";
|
|
9
9
|
/** Implements normalize extension command path for the public runtime surface of this module. */
|
|
10
10
|
export function normalizeExtensionCommandPath(commandPath) {
|
|
@@ -274,8 +274,7 @@ export function collectExtensionCommandHelpDescriptors(commandHandlers, commandD
|
|
|
274
274
|
const descriptors = new Map();
|
|
275
275
|
const sortedCommands = [...commandSet].sort((left, right) => left.localeCompare(right));
|
|
276
276
|
for (const commandPath of sortedCommands) {
|
|
277
|
-
const definition = definitionsByCommand.get(commandPath)
|
|
278
|
-
resolveFlattenedAliasDescriptor(commandPath, definitionsByCommand, canonicalAliases);
|
|
277
|
+
const definition = resolveFlattenedAliasDescriptor(commandPath, definitionsByCommand, canonicalAliases) ?? definitionsByCommand.get(commandPath);
|
|
279
278
|
const flags = flagsByCommand.get(commandPath) ??
|
|
280
279
|
(definition ? flagsByCommand.get(definition.command) : undefined) ??
|
|
281
280
|
[];
|
|
@@ -630,4 +629,4 @@ export function reportExtensionCommandCollision(activationWarnings, report, warn
|
|
|
630
629
|
report(`[pm] warning: ${warning}; core command preserved. Rename or namespace the extension command alias.`);
|
|
631
630
|
}
|
|
632
631
|
//# sourceMappingURL=extension-command-help.js.map
|
|
633
|
-
//# debugId=
|
|
632
|
+
//# debugId=021f7a3b-31a8-56cb-82a5-ba845bd6caea
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"extension-command-help.js","sources":["cli/extension-command-help.ts"],"sourceRoot":"/","sourcesContent":["/**\n * @module cli/extension-command-help\n *\n * Provides CLI runtime support for Extension Command Help.\n */\nimport { Command, Option } from \"commander\";\nimport type {\n RegisteredExtensionCommandDefinition,\n RegisteredExtensionFlagDefinitions,\n} from \"../core/extensions/index.js\";\n\n/** Documents the extension command argument help descriptor payload exchanged by command, SDK, and package integrations. */\nexport interface ExtensionCommandArgumentHelpDescriptor {\n /** Value that configures or reports name for this contract. */\n name: string;\n /** Value that configures or reports required for this contract. */\n required: boolean;\n /** Value that configures or reports variadic for this contract. */\n variadic: boolean;\n /** Value that configures or reports description for this contract. */\n description?: string;\n}\n\n/** Documents the extension command help descriptor payload exchanged by command, SDK, and package integrations. */\nexport interface ExtensionCommandHelpDescriptor {\n /** Value that configures or reports command for this contract. */\n command: string;\n /** Value that configures or reports action for this contract. */\n action: string;\n /** Value that configures or reports description for this contract. */\n description?: string;\n /** Value that configures or reports intent for this contract. */\n intent?: string;\n /** Value that configures or reports examples for this contract. */\n examples: string[];\n /** Value that configures or reports failure hints for this contract. */\n failure_hints: string[];\n /** Value that configures or reports arguments for this contract. */\n arguments: ExtensionCommandArgumentHelpDescriptor[];\n /** Value that configures or reports flags for this contract. */\n flags: Array<Record<string, unknown>>;\n /** Value that configures or reports source for this contract. */\n source?: {\n layer: \"global\" | \"project\";\n name: string;\n package?: string;\n };\n}\n\n/** Documents the help option summary payload exchanged by command, SDK, and package integrations. */\nexport interface HelpOptionSummary {\n /** Value that configures or reports flags for this contract. */\n flags: string;\n /** Value that configures or reports long for this contract. */\n long: string | null;\n /** Value that configures or reports short for this contract. */\n short: string | null;\n /** Value that configures or reports description for this contract. */\n description: string;\n /** Value that configures or reports takes value for this contract. */\n takes_value: boolean;\n /** Value that configures or reports value required for this contract. */\n value_required: boolean;\n /** Value that configures or reports value name for this contract. */\n value_name: string | null;\n /** Value that configures or reports variadic for this contract. */\n variadic: boolean;\n /** Value that configures or reports required for this contract. */\n required: boolean;\n /** Value that configures or reports aliases for this contract. */\n aliases: string[];\n /** Value that configures or reports alias for for this contract. */\n alias_for: string | null;\n /** Fallback value used when callers do not provide an override. */\n default_value?: unknown;\n}\n\n/** Implements normalize extension command path for the public runtime surface of this module. */\nexport function normalizeExtensionCommandPath(commandPath: string): string {\n return commandPath\n .trim()\n .toLowerCase()\n .split(/\\s+/)\n .filter((part) => part.length > 0)\n .join(\" \");\n}\n\n/** Build verified flattened-alias mappings within one extension and layer. */\nexport function buildCanonicalExtensionAliases(\n handlers: ReadonlyArray<{\n command: string;\n layer: \"project\" | \"global\";\n name: string;\n }>,\n definitions: ReadonlyArray<{\n command: string;\n layer: \"project\" | \"global\";\n name: string;\n }>,\n): Map<string, string> {\n const aliases = new Map<string, string>();\n for (const handler of handlers) {\n const alias = normalizeExtensionCommandPath(handler.command);\n for (const definition of definitions) {\n if (\n definition.layer !== handler.layer ||\n definition.name !== handler.name\n ) {\n continue;\n }\n const canonical = normalizeExtensionCommandPath(definition.command);\n const parts = canonical.split(\" \");\n const action = parts.at(-1);\n const suffix = parts.slice(1).join(\" \");\n const expectedAlias = suffix\n ? `${parts[0]}-${action} ${suffix}`\n : `${parts[0]}-${action}`;\n if (\n action &&\n alias === expectedAlias\n ) {\n aliases.set(alias, canonical);\n break;\n }\n }\n }\n return aliases;\n}\n\n/** Resolve whether a registered extension flag consumes a value. */\nexport function extensionFlagTakesValueForInvocation(\n invocationArgv: string[],\n commandName: string | undefined,\n normalizedMissing: string | undefined,\n descriptors: ReadonlyMap<string, ExtensionCommandHelpDescriptor>,\n): boolean | undefined {\n if (!commandName || !normalizedMissing) {\n return undefined;\n }\n let descriptor: ExtensionCommandHelpDescriptor | undefined;\n let matchedTokenCount = 0;\n for (const [index, token] of invocationArgv.entries()) {\n if (token !== commandName) {\n continue;\n }\n const commandTokens = invocationArgv.slice(index);\n for (const [path, candidate] of descriptors.entries()) {\n const pathTokens = path.split(\" \");\n if (\n pathTokens.length > matchedTokenCount &&\n pathTokens.every(\n (pathToken, pathIndex) => commandTokens[pathIndex] === pathToken,\n )\n ) {\n descriptor = candidate;\n matchedTokenCount = pathTokens.length;\n }\n }\n }\n const flag = descriptor?.flags.find(\n (candidate) =>\n candidate.long === normalizedMissing ||\n candidate.short === normalizedMissing,\n );\n if (!flag) {\n return undefined;\n }\n const valueName =\n typeof flag.value_name === \"string\" && flag.value_name.trim().length > 0;\n const valueType =\n typeof flag.value_type === \"string\"\n ? flag.value_type\n : typeof flag.type === \"string\"\n ? flag.type\n : undefined;\n return (\n flag.required === true ||\n valueName ||\n (valueType !== undefined && valueType !== \"boolean\")\n );\n}\n\nfunction toNonEmptyFlagString(value: unknown): string | null {\n if (typeof value !== \"string\") {\n return null;\n }\n const trimmed = value.trim();\n return trimmed.length > 0 ? trimmed : null;\n}\n\nfunction toOptionalBoolean(value: unknown): boolean | undefined {\n return typeof value === \"boolean\" ? value : undefined;\n}\n\nfunction formatDynamicExtensionFlagHelpLine(\n definition: Record<string, unknown>,\n): string | null {\n const visible = toOptionalBoolean(definition.visible);\n if (visible === false) {\n return null;\n }\n const longName = toNonEmptyFlagString(definition.long);\n if (!longName || !longName.startsWith(\"--\") || longName.length < 3) {\n return null;\n }\n\n const shortName = toNonEmptyFlagString(definition.short);\n const shortPrefix =\n shortName && shortName.startsWith(\"-\") && !shortName.startsWith(\"--\")\n ? `${shortName}, `\n : \"\";\n const valueName = toNonEmptyFlagString(definition.value_name);\n const valueSuffix = valueName ? ` <${valueName}>` : \"\";\n const description =\n toNonEmptyFlagString(definition.description) ??\n \"Extension-provided option.\";\n const markers: string[] = [];\n if (toOptionalBoolean(definition.required) === true) {\n markers.push(\"required\");\n }\n if (toOptionalBoolean(definition.enabled) === false) {\n markers.push(\"disabled\");\n }\n const markerSuffix = markers.length > 0 ? ` [${markers.join(\", \")}]` : \"\";\n return `${shortPrefix}${longName}${valueSuffix} ${description}${markerSuffix}`;\n}\n\nfunction buildDynamicExtensionFlagHelp(\n definitions: Array<Record<string, unknown>>,\n): string | null {\n const lines = [\n ...new Set(\n definitions\n .map(formatDynamicExtensionFlagHelpLine)\n .filter((line): line is string => line !== null),\n ),\n ].sort((left, right) => left.localeCompare(right));\n if (lines.length === 0) {\n return null;\n }\n return `\\nExtension-provided flags:\\n ${lines.join(\"\\n \")}`;\n}\n\n/** Implements collect dynamic extension flag help by command for the public runtime surface of this module. */\nexport function collectDynamicExtensionFlagHelpByCommand(\n registrations: RegisteredExtensionFlagDefinitions[],\n): Map<string, string> {\n const grouped = new Map<string, Array<Record<string, unknown>>>();\n for (const registration of registrations) {\n const commandPath = normalizeExtensionCommandPath(\n registration.target_command,\n );\n if (commandPath.length === 0) {\n continue;\n }\n const existing = grouped.get(commandPath) ?? [];\n existing.push(...registration.flags);\n grouped.set(commandPath, existing);\n }\n\n const entries = [...grouped.entries()].sort(([left], [right]) =>\n left.localeCompare(right),\n );\n const helpByCommand = new Map<string, string>();\n for (const [commandPath, definitions] of entries) {\n const helpText = buildDynamicExtensionFlagHelp(definitions);\n if (!helpText) {\n continue;\n }\n helpByCommand.set(commandPath, helpText);\n }\n return helpByCommand;\n}\n\nfunction normalizeExtensionCommandAction(\n commandPath: string,\n action: string | undefined,\n): string {\n if (typeof action !== \"string\" || action.trim().length === 0) {\n return commandPath.replace(/\\s+/g, \"-\");\n }\n return action.trim().toLowerCase();\n}\n\nfunction normalizeExtensionCommandStringList(\n values: string[] | undefined,\n): string[] {\n if (!Array.isArray(values)) {\n return [];\n }\n const normalized: string[] = [];\n const seen = new Set<string>();\n for (const value of values) {\n if (typeof value !== \"string\") {\n continue;\n }\n const trimmed = value.trim();\n if (trimmed.length === 0 || seen.has(trimmed)) {\n continue;\n }\n seen.add(trimmed);\n normalized.push(trimmed);\n }\n return normalized;\n}\n\nfunction normalizeExtensionCommandArguments(\n values:\n | Array<{\n name?: unknown;\n required?: unknown;\n variadic?: unknown;\n description?: unknown;\n }>\n | undefined,\n): ExtensionCommandArgumentHelpDescriptor[] {\n if (!Array.isArray(values)) {\n return [];\n }\n return values\n .map((value) => {\n const name = typeof value.name === \"string\" ? value.name.trim() : \"\";\n if (name.length === 0) {\n return null;\n }\n const normalized: ExtensionCommandArgumentHelpDescriptor = {\n name,\n required: value.required === true,\n variadic: value.variadic === true,\n };\n if (\n typeof value.description === \"string\" &&\n value.description.trim().length > 0\n ) {\n normalized.description = value.description.trim();\n }\n return normalized;\n })\n .filter(\n (entry): entry is ExtensionCommandArgumentHelpDescriptor =>\n entry !== null,\n );\n}\n\nfunction collectExtensionDefinitionsByCommand(\n commandDefinitions: RegisteredExtensionCommandDefinition[],\n): Map<string, ExtensionCommandHelpDescriptor> {\n const definitionsByCommand = new Map<\n string,\n ExtensionCommandHelpDescriptor\n >();\n for (const definition of commandDefinitions) {\n const commandPath = normalizeExtensionCommandPath(definition.command);\n if (commandPath.length === 0) {\n continue;\n }\n const description =\n typeof definition.description === \"string\" &&\n definition.description.trim().length > 0\n ? definition.description.trim()\n : undefined;\n const intent =\n typeof definition.intent === \"string\" &&\n definition.intent.trim().length > 0\n ? definition.intent.trim()\n : undefined;\n definitionsByCommand.set(commandPath, {\n command: commandPath,\n action: normalizeExtensionCommandAction(commandPath, definition.action),\n description,\n intent,\n examples: normalizeExtensionCommandStringList(definition.examples),\n failure_hints: normalizeExtensionCommandStringList(\n definition.failure_hints,\n ),\n arguments: normalizeExtensionCommandArguments(definition.arguments),\n flags: [],\n source: {\n layer: definition.layer,\n name: definition.name,\n package: definition.source_package,\n },\n });\n }\n return definitionsByCommand;\n}\n\nfunction collectExtensionFlagsByCommand(\n flagRegistrations: RegisteredExtensionFlagDefinitions[],\n): Map<string, Array<Record<string, unknown>>> {\n const flagsByCommand = new Map<string, Array<Record<string, unknown>>>();\n for (const registration of flagRegistrations) {\n const commandPath = normalizeExtensionCommandPath(\n registration.target_command,\n );\n if (commandPath.length === 0) {\n continue;\n }\n const existing = flagsByCommand.get(commandPath) ?? [];\n existing.push(...registration.flags);\n flagsByCommand.set(commandPath, existing);\n }\n return flagsByCommand;\n}\n\nfunction collectExtensionHelpCommandSet(\n commandHandlers: string[],\n definitionsByCommand: ReadonlyMap<string, ExtensionCommandHelpDescriptor>,\n flagsByCommand: ReadonlyMap<string, Array<Record<string, unknown>>>,\n): Set<string> {\n const commandSet = new Set<string>();\n for (const commandPath of commandHandlers) {\n const normalized = normalizeExtensionCommandPath(commandPath);\n if (normalized.length > 0) {\n commandSet.add(normalized);\n }\n }\n for (const commandPath of definitionsByCommand.keys()) {\n commandSet.add(commandPath);\n }\n for (const commandPath of flagsByCommand.keys()) {\n commandSet.add(commandPath);\n }\n return commandSet;\n}\n\n/** Resolve the canonical nested command behind an auto-generated flattened\n * extension alias such as `csv-export export` -> `csv export`. Package authors\n * should not have to duplicate command metadata merely because a compatibility\n * alias was registered by the host package. */\nfunction resolveFlattenedAliasDescriptor(\n commandPath: string,\n definitionsByCommand: ReadonlyMap<string, ExtensionCommandHelpDescriptor>,\n canonicalAliases: ReadonlyMap<string, string>,\n): ExtensionCommandHelpDescriptor | undefined {\n const canonical = canonicalAliases.get(commandPath);\n return canonical ? definitionsByCommand.get(canonical) : undefined;\n}\n\n/** Implements collect extension command help descriptors for the public runtime surface of this module. */\nexport function collectExtensionCommandHelpDescriptors(\n commandHandlers: string[],\n commandDefinitions: RegisteredExtensionCommandDefinition[],\n flagRegistrations: RegisteredExtensionFlagDefinitions[],\n canonicalAliases: ReadonlyMap<string, string> = new Map(),\n): Map<string, ExtensionCommandHelpDescriptor> {\n const definitionsByCommand =\n collectExtensionDefinitionsByCommand(commandDefinitions);\n const flagsByCommand = collectExtensionFlagsByCommand(flagRegistrations);\n const commandSet = collectExtensionHelpCommandSet(\n commandHandlers,\n definitionsByCommand,\n flagsByCommand,\n );\n const descriptors = new Map<string, ExtensionCommandHelpDescriptor>();\n const sortedCommands = [...commandSet].sort((left, right) =>\n left.localeCompare(right),\n );\n for (const commandPath of sortedCommands) {\n const definition =\n definitionsByCommand.get(commandPath) ??\n resolveFlattenedAliasDescriptor(\n commandPath,\n definitionsByCommand,\n canonicalAliases,\n );\n const flags =\n flagsByCommand.get(commandPath) ??\n (definition ? flagsByCommand.get(definition.command) : undefined) ??\n [];\n if (definition) {\n descriptors.set(commandPath, {\n ...definition,\n command: commandPath,\n flags,\n });\n continue;\n }\n descriptors.set(commandPath, {\n command: commandPath,\n action: normalizeExtensionCommandAction(commandPath, undefined),\n examples: [],\n failure_hints: [],\n arguments: [],\n flags,\n });\n }\n\n return descriptors;\n}\n\nfunction buildExtensionArgumentToken(\n argument: ExtensionCommandArgumentHelpDescriptor,\n): string {\n const variadicSuffix = argument.variadic ? \"...\" : \"\";\n if (argument.required) {\n return `<${argument.name}${variadicSuffix}>`;\n }\n return `[${argument.name}${variadicSuffix}]`;\n}\n\n/** Implements apply dynamic extension arguments for the public runtime surface of this module. */\nexport function applyDynamicExtensionArguments(\n command: Command,\n descriptor: ExtensionCommandHelpDescriptor,\n): void {\n for (const argument of descriptor.arguments) {\n command.argument(\n buildExtensionArgumentToken(argument),\n argument.description ?? \"Extension argument.\",\n );\n }\n}\n\nfunction normalizeDynamicExtensionOptionNames(\n definition: Record<string, unknown>,\n): string[] | null {\n const visible = toOptionalBoolean(definition.visible);\n if (visible === false) {\n return null;\n }\n const longName = toNonEmptyFlagString(definition.long);\n const shortName = toNonEmptyFlagString(definition.short);\n const normalizedShort =\n shortName && shortName.startsWith(\"-\") && !shortName.startsWith(\"--\")\n ? shortName\n : null;\n const normalizedLong =\n longName && longName.startsWith(\"--\") && longName.length > 2\n ? longName\n : null;\n const optionNames = [normalizedShort, normalizedLong].filter(\n (entry): entry is string => entry !== null,\n );\n return optionNames.length > 0 ? optionNames : null;\n}\n\nfunction formatDynamicExtensionOptionFlags(\n definition: Record<string, unknown>,\n): string | null {\n const optionNames = normalizeDynamicExtensionOptionNames(definition);\n if (!optionNames) {\n return null;\n }\n const optionValueName = toNonEmptyFlagString(definition.value_name);\n const optionValueSuffix = optionValueName ? ` <${optionValueName}>` : \"\";\n return `${optionNames.join(\", \")}${optionValueSuffix}`;\n}\n\nfunction formatDynamicExtensionParseOptionFlags(\n definition: Record<string, unknown>,\n): string | null {\n const optionNames = normalizeDynamicExtensionOptionNames(definition);\n if (!optionNames) {\n return null;\n }\n const valueType =\n toNonEmptyFlagString(definition.value_type) ??\n toNonEmptyFlagString(definition.type);\n const valueName = toNonEmptyFlagString(definition.value_name);\n const requiresValue =\n valueType !== \"boolean\" &&\n (valueName !== null ||\n valueType !== null ||\n toOptionalBoolean(definition.required) === true);\n const valueSuffix = requiresValue ? ` <${valueName ?? \"value\"}>` : \"\";\n return `${optionNames.join(\", \")}${valueSuffix}`;\n}\n\nfunction formatDynamicExtensionOptionDescription(\n definition: Record<string, unknown>,\n): string {\n const description =\n toNonEmptyFlagString(definition.description) ??\n \"Extension-provided option.\";\n const markers: string[] = [];\n if (toOptionalBoolean(definition.required) === true) {\n markers.push(\"required\");\n }\n if (toOptionalBoolean(definition.enabled) === false) {\n markers.push(\"disabled\");\n }\n const markerSuffix = markers.length > 0 ? ` [${markers.join(\", \")}]` : \"\";\n return `${description}${markerSuffix}`;\n}\n\nfunction commandAlreadyHasOption(\n command: Command,\n definition: Record<string, unknown>,\n): boolean {\n const longName = toNonEmptyFlagString(definition.long);\n const shortName = toNonEmptyFlagString(definition.short);\n return command.options.some((option) => {\n const optionWithNames = option as { long?: string; short?: string };\n return (\n (longName !== null && optionWithNames.long === longName) ||\n (shortName !== null && optionWithNames.short === shortName)\n );\n });\n}\n\n/** Implements apply dynamic extension flag options for the public runtime surface of this module. */\nexport function applyDynamicExtensionFlagOptions(\n command: Command,\n definitions: Array<Record<string, unknown>>,\n): void {\n for (const definition of definitions) {\n if (commandAlreadyHasOption(command, definition)) {\n continue;\n }\n const flags = formatDynamicExtensionParseOptionFlags(definition);\n if (!flags) {\n continue;\n }\n const description = formatDynamicExtensionOptionDescription(definition);\n if (definition.list !== true) {\n command.option(flags, description);\n continue;\n }\n command.addOption(\n new Option(flags, description).argParser(\n (value: string, previous: string | string[] = []) => [\n ...(Array.isArray(previous) ? previous : [previous]),\n value,\n ],\n ),\n );\n }\n}\n\n/**\n * Builds the \"Extension-provided flags\" help block for only the definitions that\n * are NOT already rendered as real commander options on {@link command}. After\n * {@link applyDynamicExtensionFlagOptions} registers extension flags as first\n * class options, repeating them verbatim in an after-text block duplicated every\n * flag in `--help` output; this filters those already-listed flags out so the\n * block is emitted only when it carries flags the Options section does not.\n */\nexport function buildResidualDynamicExtensionFlagHelp(\n command: Command,\n definitions: Array<Record<string, unknown>>,\n): string | null {\n return buildDynamicExtensionFlagHelp(\n definitions.filter(\n (definition) => !commandAlreadyHasOption(command, definition),\n ),\n );\n}\n\nfunction buildDynamicExtensionHelpOptionSummary(\n definition: Record<string, unknown>,\n): HelpOptionSummary | null {\n const flags = formatDynamicExtensionOptionFlags(definition);\n if (!flags) {\n return null;\n }\n const longName = toNonEmptyFlagString(definition.long);\n const shortName = toNonEmptyFlagString(definition.short);\n const normalizedLong =\n longName && longName.startsWith(\"--\") && longName.length > 2\n ? longName\n : null;\n const normalizedShort =\n shortName && shortName.startsWith(\"-\") && !shortName.startsWith(\"--\")\n ? shortName\n : null;\n const valueName = toNonEmptyFlagString(definition.value_name);\n const required = toOptionalBoolean(definition.required) === true;\n return {\n flags,\n long: normalizedLong,\n short: normalizedShort,\n description: formatDynamicExtensionOptionDescription(definition),\n takes_value: valueName !== null,\n value_required: valueName !== null,\n value_name: valueName,\n variadic: false,\n required,\n aliases: [],\n alias_for: null,\n };\n}\n\n/** Implements build dynamic extension help option summaries for the public runtime surface of this module. */\nexport function buildDynamicExtensionHelpOptionSummaries(\n descriptor: ExtensionCommandHelpDescriptor | undefined,\n): HelpOptionSummary[] {\n if (!descriptor) {\n return [];\n }\n const summaries: HelpOptionSummary[] = [];\n const seen = new Set<string>();\n for (const definition of descriptor.flags) {\n const summary = buildDynamicExtensionHelpOptionSummary(definition);\n if (!summary || seen.has(summary.flags)) {\n continue;\n }\n seen.add(summary.flags);\n summaries.push(summary);\n }\n return summaries;\n}\n\n/** Implements merge help option summaries for the public runtime surface of this module. */\nexport function mergeHelpOptionSummaries(\n base: HelpOptionSummary[],\n extension: HelpOptionSummary[],\n): HelpOptionSummary[] {\n if (extension.length === 0) {\n return base;\n }\n const merged = [...base];\n const seen = new Set(base.map((entry) => entry.flags));\n for (const entry of extension) {\n if (seen.has(entry.flags)) {\n continue;\n }\n seen.add(entry.flags);\n merged.push(entry);\n }\n return merged;\n}\n\n/** Implements build dynamic extension command metadata help for the public runtime surface of this module. */\nexport function buildDynamicExtensionCommandMetadataHelp(\n descriptor: ExtensionCommandHelpDescriptor,\n): string | null {\n const lines: string[] = [];\n if (descriptor.intent) {\n lines.push(`Intent: ${descriptor.intent}`);\n }\n if (descriptor.action) {\n lines.push(`Action contract: ${descriptor.action}`);\n }\n if (descriptor.examples.length > 0) {\n lines.push(\"Examples:\");\n for (const example of descriptor.examples) {\n lines.push(` - ${example}`);\n }\n }\n if (descriptor.failure_hints.length > 0) {\n lines.push(\"Common failure hints:\");\n for (const hint of descriptor.failure_hints) {\n lines.push(` - ${hint}`);\n }\n }\n if (lines.length === 0) {\n return null;\n }\n return `\\nExtension command metadata:\\n ${lines.join(\"\\n \")}`;\n}\n\n/** Implements command aliases for the public runtime surface of this module. */\nexport function commandAliases(command: Command): string[] {\n const commandRecord = command as unknown as {\n aliases?: () => string[];\n alias?: () => string | undefined;\n _aliases?: string[];\n };\n if (typeof commandRecord.aliases === \"function\") {\n return commandRecord\n .aliases()\n .map((value) => value.trim().toLowerCase())\n .filter((value) => value.length > 0);\n }\n if (typeof commandRecord.alias === \"function\") {\n const alias = commandRecord.alias();\n if (typeof alias === \"string\" && alias.trim().length > 0) {\n return [alias.trim().toLowerCase()];\n }\n }\n if (Array.isArray(commandRecord._aliases)) {\n return commandRecord._aliases\n .map((value) => value.trim().toLowerCase())\n .filter((value) => value.length > 0);\n }\n return [];\n}\n\n/** Implements find direct child command for the public runtime surface of this module. */\nexport function findDirectChildCommand(\n parent: Command,\n name: string,\n): Command | null {\n const normalizedTarget = name.trim().toLowerCase();\n return (\n parent.commands.find((entry) => {\n if (entry.name().trim().toLowerCase() === normalizedTarget) {\n return true;\n }\n return commandAliases(entry).includes(normalizedTarget);\n }) ?? null\n );\n}\n\n/** Implements find command by path for the public runtime surface of this module. */\nexport function findCommandByPath(\n root: Command,\n pathParts: string[],\n): Command | null {\n let current: Command = root;\n for (const part of pathParts) {\n const next = findDirectChildCommand(current, part);\n if (!next) {\n return null;\n }\n current = next;\n }\n return current;\n}\n\nconst extensionCreatedCommands = new WeakSet<Command>();\n\n/** Implements ensure command path for the public runtime surface of this module. */\nexport function ensureCommandPath(\n root: Command,\n pathParts: string[],\n): Command | null {\n if (pathParts.length === 0) {\n return null;\n }\n\n let current: Command = root;\n for (let index = 0; index < pathParts.length; index += 1) {\n const part = pathParts[index];\n const existing = findDirectChildCommand(current, part);\n if (existing) {\n current = existing;\n continue;\n }\n\n const created = current.command(part);\n extensionCreatedCommands.add(created);\n if (index < pathParts.length - 1) {\n created.description(\"Extension-provided command group.\");\n // Without a handler, commander routes bare-group help through the error\n // channel, which the root configureOutput intentionally swallows — the\n // group would exit 0 in silence. Render help on stdout instead so agents\n // always get subcommand discovery. A later terminal registration for the\n // same path replaces this handler via Command.action().\n created.action(() => {\n created.help();\n });\n } else {\n created.description(\"Extension-provided command path.\");\n }\n current = created;\n }\n\n return current;\n}\n\n/** Describe the first core-owned command prefix that an extension path would shadow or graft beneath. */\nexport function findExtensionCommandPathCollision(\n root: Command,\n pathParts: string[],\n): { core_path: string; extension_path: string } | null {\n let current = root;\n const traversed: string[] = [];\n for (const part of pathParts) {\n const existing = findDirectChildCommand(current, part);\n if (!existing) {\n return null;\n }\n traversed.push(part);\n if (!extensionCreatedCommands.has(existing)) {\n return {\n core_path: traversed.join(\" \"),\n extension_path: pathParts.join(\" \"),\n };\n }\n current = existing;\n }\n return null;\n}\n\n/** Build an ownership-rich warning when an extension alias would shadow or graft beneath a core command. */\nexport function buildExtensionCommandCollisionWarning(\n root: Command,\n commandPath: string,\n aliases: ReadonlyMap<string, string>,\n descriptor: ExtensionCommandHelpDescriptor | undefined,\n): string | null {\n const pathParts = commandPath.split(\" \").filter((part) => part.length > 0);\n const collision = findExtensionCommandPathCollision(root, pathParts);\n // Direct canonical paths intentionally augment core help with extension flags\n // and metadata while registerCommandPath preserves the core action handler.\n // Canonical aliases and nested grafts cannot make that ownership distinction,\n // so those paths are rejected instead.\n if (\n !collision ||\n (collision.core_path === commandPath && !aliases.has(commandPath))\n ) {\n return null;\n }\n const extensionOwner =\n descriptor?.source?.package ??\n descriptor?.source?.name ??\n \"unknown-extension\";\n return (\n `extension_command_collision:${collision.extension_path}:` +\n `core_owner=pm-cli:${collision.core_path}:extension_owner=${extensionOwner}`\n );\n}\n\n/** Collect deterministic extension command paths while reporting and excluding aliases that collide with core ownership. */\nexport function collectSafeExtensionCommandPaths(\n root: Command,\n commandHandlers: readonly string[],\n descriptors: ReadonlyMap<string, ExtensionCommandHelpDescriptor>,\n aliases: ReadonlyMap<string, string>,\n onCollision: (warning: string) => void,\n): string[] {\n return [\n ...new Set([...commandHandlers, ...descriptors.keys()]),\n ]\n .filter((commandPath) => commandPath.trim().length > 0)\n .sort((left, right) => left.localeCompare(right))\n .filter((commandPath) => {\n const warning = buildExtensionCommandCollisionWarning(\n root,\n commandPath,\n aliases,\n descriptors.get(commandPath),\n );\n if (!warning) return true;\n onCollision(warning);\n return false;\n });\n}\n\n/** Record and surface one extension collision with stable recovery guidance. */\nexport function reportExtensionCommandCollision(\n activationWarnings: string[],\n report: (message: string) => void,\n warning: string,\n): void {\n activationWarnings.push(warning);\n report(\n `[pm] warning: ${warning}; core command preserved. Rename or namespace the extension command alias.`,\n );\n}\n"],"names":[],"mappings":"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","debugId":"3fdce775-7d04-5a37-adf6-95d8be636097"}
|
|
1
|
+
{"version":3,"file":"extension-command-help.js","sources":["cli/extension-command-help.ts"],"sourceRoot":"/","sourcesContent":["/**\n * @module cli/extension-command-help\n *\n * Provides CLI runtime support for Extension Command Help.\n */\nimport { Command, Option } from \"commander\";\nimport type {\n RegisteredExtensionCommandDefinition,\n RegisteredExtensionFlagDefinitions,\n} from \"../core/extensions/index.js\";\n\n/** Documents the extension command argument help descriptor payload exchanged by command, SDK, and package integrations. */\nexport interface ExtensionCommandArgumentHelpDescriptor {\n /** Value that configures or reports name for this contract. */\n name: string;\n /** Value that configures or reports required for this contract. */\n required: boolean;\n /** Value that configures or reports variadic for this contract. */\n variadic: boolean;\n /** Value that configures or reports description for this contract. */\n description?: string;\n}\n\n/** Documents the extension command help descriptor payload exchanged by command, SDK, and package integrations. */\nexport interface ExtensionCommandHelpDescriptor {\n /** Value that configures or reports command for this contract. */\n command: string;\n /** Value that configures or reports action for this contract. */\n action: string;\n /** Value that configures or reports description for this contract. */\n description?: string;\n /** Value that configures or reports intent for this contract. */\n intent?: string;\n /** Value that configures or reports examples for this contract. */\n examples: string[];\n /** Value that configures or reports failure hints for this contract. */\n failure_hints: string[];\n /** Value that configures or reports arguments for this contract. */\n arguments: ExtensionCommandArgumentHelpDescriptor[];\n /** Value that configures or reports flags for this contract. */\n flags: Array<Record<string, unknown>>;\n /** Value that configures or reports source for this contract. */\n source?: {\n layer: \"global\" | \"project\";\n name: string;\n package?: string;\n };\n}\n\n/** Documents the help option summary payload exchanged by command, SDK, and package integrations. */\nexport interface HelpOptionSummary {\n /** Value that configures or reports flags for this contract. */\n flags: string;\n /** Value that configures or reports long for this contract. */\n long: string | null;\n /** Value that configures or reports short for this contract. */\n short: string | null;\n /** Value that configures or reports description for this contract. */\n description: string;\n /** Value that configures or reports takes value for this contract. */\n takes_value: boolean;\n /** Value that configures or reports value required for this contract. */\n value_required: boolean;\n /** Value that configures or reports value name for this contract. */\n value_name: string | null;\n /** Value that configures or reports variadic for this contract. */\n variadic: boolean;\n /** Value that configures or reports required for this contract. */\n required: boolean;\n /** Value that configures or reports aliases for this contract. */\n aliases: string[];\n /** Value that configures or reports alias for for this contract. */\n alias_for: string | null;\n /** Fallback value used when callers do not provide an override. */\n default_value?: unknown;\n}\n\n/** Implements normalize extension command path for the public runtime surface of this module. */\nexport function normalizeExtensionCommandPath(commandPath: string): string {\n return commandPath\n .trim()\n .toLowerCase()\n .split(/\\s+/)\n .filter((part) => part.length > 0)\n .join(\" \");\n}\n\n/** Build verified flattened-alias mappings within one extension and layer. */\nexport function buildCanonicalExtensionAliases(\n handlers: ReadonlyArray<{\n command: string;\n layer: \"project\" | \"global\";\n name: string;\n }>,\n definitions: ReadonlyArray<{\n command: string;\n layer: \"project\" | \"global\";\n name: string;\n }>,\n): Map<string, string> {\n const aliases = new Map<string, string>();\n for (const handler of handlers) {\n const alias = normalizeExtensionCommandPath(handler.command);\n for (const definition of definitions) {\n if (\n definition.layer !== handler.layer ||\n definition.name !== handler.name\n ) {\n continue;\n }\n const canonical = normalizeExtensionCommandPath(definition.command);\n const parts = canonical.split(\" \");\n const action = parts.at(-1);\n const suffix = parts.slice(1).join(\" \");\n const expectedAlias = suffix\n ? `${parts[0]}-${action} ${suffix}`\n : `${parts[0]}-${action}`;\n if (\n action &&\n alias === expectedAlias\n ) {\n aliases.set(alias, canonical);\n break;\n }\n }\n }\n return aliases;\n}\n\n/** Resolve whether a registered extension flag consumes a value. */\nexport function extensionFlagTakesValueForInvocation(\n invocationArgv: string[],\n commandName: string | undefined,\n normalizedMissing: string | undefined,\n descriptors: ReadonlyMap<string, ExtensionCommandHelpDescriptor>,\n): boolean | undefined {\n if (!commandName || !normalizedMissing) {\n return undefined;\n }\n let descriptor: ExtensionCommandHelpDescriptor | undefined;\n let matchedTokenCount = 0;\n for (const [index, token] of invocationArgv.entries()) {\n if (token !== commandName) {\n continue;\n }\n const commandTokens = invocationArgv.slice(index);\n for (const [path, candidate] of descriptors.entries()) {\n const pathTokens = path.split(\" \");\n if (\n pathTokens.length > matchedTokenCount &&\n pathTokens.every(\n (pathToken, pathIndex) => commandTokens[pathIndex] === pathToken,\n )\n ) {\n descriptor = candidate;\n matchedTokenCount = pathTokens.length;\n }\n }\n }\n const flag = descriptor?.flags.find(\n (candidate) =>\n candidate.long === normalizedMissing ||\n candidate.short === normalizedMissing,\n );\n if (!flag) {\n return undefined;\n }\n const valueName =\n typeof flag.value_name === \"string\" && flag.value_name.trim().length > 0;\n const valueType =\n typeof flag.value_type === \"string\"\n ? flag.value_type\n : typeof flag.type === \"string\"\n ? flag.type\n : undefined;\n return (\n flag.required === true ||\n valueName ||\n (valueType !== undefined && valueType !== \"boolean\")\n );\n}\n\nfunction toNonEmptyFlagString(value: unknown): string | null {\n if (typeof value !== \"string\") {\n return null;\n }\n const trimmed = value.trim();\n return trimmed.length > 0 ? trimmed : null;\n}\n\nfunction toOptionalBoolean(value: unknown): boolean | undefined {\n return typeof value === \"boolean\" ? value : undefined;\n}\n\nfunction formatDynamicExtensionFlagHelpLine(\n definition: Record<string, unknown>,\n): string | null {\n const visible = toOptionalBoolean(definition.visible);\n if (visible === false) {\n return null;\n }\n const longName = toNonEmptyFlagString(definition.long);\n if (!longName || !longName.startsWith(\"--\") || longName.length < 3) {\n return null;\n }\n\n const shortName = toNonEmptyFlagString(definition.short);\n const shortPrefix =\n shortName && shortName.startsWith(\"-\") && !shortName.startsWith(\"--\")\n ? `${shortName}, `\n : \"\";\n const valueName = toNonEmptyFlagString(definition.value_name);\n const valueSuffix = valueName ? ` <${valueName}>` : \"\";\n const description =\n toNonEmptyFlagString(definition.description) ??\n \"Extension-provided option.\";\n const markers: string[] = [];\n if (toOptionalBoolean(definition.required) === true) {\n markers.push(\"required\");\n }\n if (toOptionalBoolean(definition.enabled) === false) {\n markers.push(\"disabled\");\n }\n const markerSuffix = markers.length > 0 ? ` [${markers.join(\", \")}]` : \"\";\n return `${shortPrefix}${longName}${valueSuffix} ${description}${markerSuffix}`;\n}\n\nfunction buildDynamicExtensionFlagHelp(\n definitions: Array<Record<string, unknown>>,\n): string | null {\n const lines = [\n ...new Set(\n definitions\n .map(formatDynamicExtensionFlagHelpLine)\n .filter((line): line is string => line !== null),\n ),\n ].sort((left, right) => left.localeCompare(right));\n if (lines.length === 0) {\n return null;\n }\n return `\\nExtension-provided flags:\\n ${lines.join(\"\\n \")}`;\n}\n\n/** Implements collect dynamic extension flag help by command for the public runtime surface of this module. */\nexport function collectDynamicExtensionFlagHelpByCommand(\n registrations: RegisteredExtensionFlagDefinitions[],\n): Map<string, string> {\n const grouped = new Map<string, Array<Record<string, unknown>>>();\n for (const registration of registrations) {\n const commandPath = normalizeExtensionCommandPath(\n registration.target_command,\n );\n if (commandPath.length === 0) {\n continue;\n }\n const existing = grouped.get(commandPath) ?? [];\n existing.push(...registration.flags);\n grouped.set(commandPath, existing);\n }\n\n const entries = [...grouped.entries()].sort(([left], [right]) =>\n left.localeCompare(right),\n );\n const helpByCommand = new Map<string, string>();\n for (const [commandPath, definitions] of entries) {\n const helpText = buildDynamicExtensionFlagHelp(definitions);\n if (!helpText) {\n continue;\n }\n helpByCommand.set(commandPath, helpText);\n }\n return helpByCommand;\n}\n\nfunction normalizeExtensionCommandAction(\n commandPath: string,\n action: string | undefined,\n): string {\n if (typeof action !== \"string\" || action.trim().length === 0) {\n return commandPath.replace(/\\s+/g, \"-\");\n }\n return action.trim().toLowerCase();\n}\n\nfunction normalizeExtensionCommandStringList(\n values: string[] | undefined,\n): string[] {\n if (!Array.isArray(values)) {\n return [];\n }\n const normalized: string[] = [];\n const seen = new Set<string>();\n for (const value of values) {\n if (typeof value !== \"string\") {\n continue;\n }\n const trimmed = value.trim();\n if (trimmed.length === 0 || seen.has(trimmed)) {\n continue;\n }\n seen.add(trimmed);\n normalized.push(trimmed);\n }\n return normalized;\n}\n\nfunction normalizeExtensionCommandArguments(\n values:\n | Array<{\n name?: unknown;\n required?: unknown;\n variadic?: unknown;\n description?: unknown;\n }>\n | undefined,\n): ExtensionCommandArgumentHelpDescriptor[] {\n if (!Array.isArray(values)) {\n return [];\n }\n return values\n .map((value) => {\n const name = typeof value.name === \"string\" ? value.name.trim() : \"\";\n if (name.length === 0) {\n return null;\n }\n const normalized: ExtensionCommandArgumentHelpDescriptor = {\n name,\n required: value.required === true,\n variadic: value.variadic === true,\n };\n if (\n typeof value.description === \"string\" &&\n value.description.trim().length > 0\n ) {\n normalized.description = value.description.trim();\n }\n return normalized;\n })\n .filter(\n (entry): entry is ExtensionCommandArgumentHelpDescriptor =>\n entry !== null,\n );\n}\n\nfunction collectExtensionDefinitionsByCommand(\n commandDefinitions: RegisteredExtensionCommandDefinition[],\n): Map<string, ExtensionCommandHelpDescriptor> {\n const definitionsByCommand = new Map<\n string,\n ExtensionCommandHelpDescriptor\n >();\n for (const definition of commandDefinitions) {\n const commandPath = normalizeExtensionCommandPath(definition.command);\n if (commandPath.length === 0) {\n continue;\n }\n const description =\n typeof definition.description === \"string\" &&\n definition.description.trim().length > 0\n ? definition.description.trim()\n : undefined;\n const intent =\n typeof definition.intent === \"string\" &&\n definition.intent.trim().length > 0\n ? definition.intent.trim()\n : undefined;\n definitionsByCommand.set(commandPath, {\n command: commandPath,\n action: normalizeExtensionCommandAction(commandPath, definition.action),\n description,\n intent,\n examples: normalizeExtensionCommandStringList(definition.examples),\n failure_hints: normalizeExtensionCommandStringList(\n definition.failure_hints,\n ),\n arguments: normalizeExtensionCommandArguments(definition.arguments),\n flags: [],\n source: {\n layer: definition.layer,\n name: definition.name,\n package: definition.source_package,\n },\n });\n }\n return definitionsByCommand;\n}\n\nfunction collectExtensionFlagsByCommand(\n flagRegistrations: RegisteredExtensionFlagDefinitions[],\n): Map<string, Array<Record<string, unknown>>> {\n const flagsByCommand = new Map<string, Array<Record<string, unknown>>>();\n for (const registration of flagRegistrations) {\n const commandPath = normalizeExtensionCommandPath(\n registration.target_command,\n );\n if (commandPath.length === 0) {\n continue;\n }\n const existing = flagsByCommand.get(commandPath) ?? [];\n existing.push(...registration.flags);\n flagsByCommand.set(commandPath, existing);\n }\n return flagsByCommand;\n}\n\nfunction collectExtensionHelpCommandSet(\n commandHandlers: string[],\n definitionsByCommand: ReadonlyMap<string, ExtensionCommandHelpDescriptor>,\n flagsByCommand: ReadonlyMap<string, Array<Record<string, unknown>>>,\n): Set<string> {\n const commandSet = new Set<string>();\n for (const commandPath of commandHandlers) {\n const normalized = normalizeExtensionCommandPath(commandPath);\n if (normalized.length > 0) {\n commandSet.add(normalized);\n }\n }\n for (const commandPath of definitionsByCommand.keys()) {\n commandSet.add(commandPath);\n }\n for (const commandPath of flagsByCommand.keys()) {\n commandSet.add(commandPath);\n }\n return commandSet;\n}\n\n/** Resolve the canonical nested command behind an auto-generated flattened\n * extension alias such as `csv-export export` -> `csv export`. Package authors\n * should not have to duplicate command metadata merely because a compatibility\n * alias was registered by the host package. */\nfunction resolveFlattenedAliasDescriptor(\n commandPath: string,\n definitionsByCommand: ReadonlyMap<string, ExtensionCommandHelpDescriptor>,\n canonicalAliases: ReadonlyMap<string, string>,\n): ExtensionCommandHelpDescriptor | undefined {\n const canonical = canonicalAliases.get(commandPath);\n return canonical ? definitionsByCommand.get(canonical) : undefined;\n}\n\n/** Implements collect extension command help descriptors for the public runtime surface of this module. */\nexport function collectExtensionCommandHelpDescriptors(\n commandHandlers: string[],\n commandDefinitions: RegisteredExtensionCommandDefinition[],\n flagRegistrations: RegisteredExtensionFlagDefinitions[],\n canonicalAliases: ReadonlyMap<string, string> = new Map(),\n): Map<string, ExtensionCommandHelpDescriptor> {\n const definitionsByCommand =\n collectExtensionDefinitionsByCommand(commandDefinitions);\n const flagsByCommand = collectExtensionFlagsByCommand(flagRegistrations);\n const commandSet = collectExtensionHelpCommandSet(\n commandHandlers,\n definitionsByCommand,\n flagsByCommand,\n );\n const descriptors = new Map<string, ExtensionCommandHelpDescriptor>();\n const sortedCommands = [...commandSet].sort((left, right) =>\n left.localeCompare(right),\n );\n for (const commandPath of sortedCommands) {\n const definition =\n resolveFlattenedAliasDescriptor(\n commandPath,\n definitionsByCommand,\n canonicalAliases,\n ) ?? definitionsByCommand.get(commandPath);\n const flags =\n flagsByCommand.get(commandPath) ??\n (definition ? flagsByCommand.get(definition.command) : undefined) ??\n [];\n if (definition) {\n descriptors.set(commandPath, {\n ...definition,\n command: commandPath,\n flags,\n });\n continue;\n }\n descriptors.set(commandPath, {\n command: commandPath,\n action: normalizeExtensionCommandAction(commandPath, undefined),\n examples: [],\n failure_hints: [],\n arguments: [],\n flags,\n });\n }\n\n return descriptors;\n}\n\nfunction buildExtensionArgumentToken(\n argument: ExtensionCommandArgumentHelpDescriptor,\n): string {\n const variadicSuffix = argument.variadic ? \"...\" : \"\";\n if (argument.required) {\n return `<${argument.name}${variadicSuffix}>`;\n }\n return `[${argument.name}${variadicSuffix}]`;\n}\n\n/** Implements apply dynamic extension arguments for the public runtime surface of this module. */\nexport function applyDynamicExtensionArguments(\n command: Command,\n descriptor: ExtensionCommandHelpDescriptor,\n): void {\n for (const argument of descriptor.arguments) {\n command.argument(\n buildExtensionArgumentToken(argument),\n argument.description ?? \"Extension argument.\",\n );\n }\n}\n\nfunction normalizeDynamicExtensionOptionNames(\n definition: Record<string, unknown>,\n): string[] | null {\n const visible = toOptionalBoolean(definition.visible);\n if (visible === false) {\n return null;\n }\n const longName = toNonEmptyFlagString(definition.long);\n const shortName = toNonEmptyFlagString(definition.short);\n const normalizedShort =\n shortName && shortName.startsWith(\"-\") && !shortName.startsWith(\"--\")\n ? shortName\n : null;\n const normalizedLong =\n longName && longName.startsWith(\"--\") && longName.length > 2\n ? longName\n : null;\n const optionNames = [normalizedShort, normalizedLong].filter(\n (entry): entry is string => entry !== null,\n );\n return optionNames.length > 0 ? optionNames : null;\n}\n\nfunction formatDynamicExtensionOptionFlags(\n definition: Record<string, unknown>,\n): string | null {\n const optionNames = normalizeDynamicExtensionOptionNames(definition);\n if (!optionNames) {\n return null;\n }\n const optionValueName = toNonEmptyFlagString(definition.value_name);\n const optionValueSuffix = optionValueName ? ` <${optionValueName}>` : \"\";\n return `${optionNames.join(\", \")}${optionValueSuffix}`;\n}\n\nfunction formatDynamicExtensionParseOptionFlags(\n definition: Record<string, unknown>,\n): string | null {\n const optionNames = normalizeDynamicExtensionOptionNames(definition);\n if (!optionNames) {\n return null;\n }\n const valueType =\n toNonEmptyFlagString(definition.value_type) ??\n toNonEmptyFlagString(definition.type);\n const valueName = toNonEmptyFlagString(definition.value_name);\n const requiresValue =\n valueType !== \"boolean\" &&\n (valueName !== null ||\n valueType !== null ||\n toOptionalBoolean(definition.required) === true);\n const valueSuffix = requiresValue ? ` <${valueName ?? \"value\"}>` : \"\";\n return `${optionNames.join(\", \")}${valueSuffix}`;\n}\n\nfunction formatDynamicExtensionOptionDescription(\n definition: Record<string, unknown>,\n): string {\n const description =\n toNonEmptyFlagString(definition.description) ??\n \"Extension-provided option.\";\n const markers: string[] = [];\n if (toOptionalBoolean(definition.required) === true) {\n markers.push(\"required\");\n }\n if (toOptionalBoolean(definition.enabled) === false) {\n markers.push(\"disabled\");\n }\n const markerSuffix = markers.length > 0 ? ` [${markers.join(\", \")}]` : \"\";\n return `${description}${markerSuffix}`;\n}\n\nfunction commandAlreadyHasOption(\n command: Command,\n definition: Record<string, unknown>,\n): boolean {\n const longName = toNonEmptyFlagString(definition.long);\n const shortName = toNonEmptyFlagString(definition.short);\n return command.options.some((option) => {\n const optionWithNames = option as { long?: string; short?: string };\n return (\n (longName !== null && optionWithNames.long === longName) ||\n (shortName !== null && optionWithNames.short === shortName)\n );\n });\n}\n\n/** Implements apply dynamic extension flag options for the public runtime surface of this module. */\nexport function applyDynamicExtensionFlagOptions(\n command: Command,\n definitions: Array<Record<string, unknown>>,\n): void {\n for (const definition of definitions) {\n if (commandAlreadyHasOption(command, definition)) {\n continue;\n }\n const flags = formatDynamicExtensionParseOptionFlags(definition);\n if (!flags) {\n continue;\n }\n const description = formatDynamicExtensionOptionDescription(definition);\n if (definition.list !== true) {\n command.option(flags, description);\n continue;\n }\n command.addOption(\n new Option(flags, description).argParser(\n (value: string, previous: string | string[] = []) => [\n ...(Array.isArray(previous) ? previous : [previous]),\n value,\n ],\n ),\n );\n }\n}\n\n/**\n * Builds the \"Extension-provided flags\" help block for only the definitions that\n * are NOT already rendered as real commander options on {@link command}. After\n * {@link applyDynamicExtensionFlagOptions} registers extension flags as first\n * class options, repeating them verbatim in an after-text block duplicated every\n * flag in `--help` output; this filters those already-listed flags out so the\n * block is emitted only when it carries flags the Options section does not.\n */\nexport function buildResidualDynamicExtensionFlagHelp(\n command: Command,\n definitions: Array<Record<string, unknown>>,\n): string | null {\n return buildDynamicExtensionFlagHelp(\n definitions.filter(\n (definition) => !commandAlreadyHasOption(command, definition),\n ),\n );\n}\n\nfunction buildDynamicExtensionHelpOptionSummary(\n definition: Record<string, unknown>,\n): HelpOptionSummary | null {\n const flags = formatDynamicExtensionOptionFlags(definition);\n if (!flags) {\n return null;\n }\n const longName = toNonEmptyFlagString(definition.long);\n const shortName = toNonEmptyFlagString(definition.short);\n const normalizedLong =\n longName && longName.startsWith(\"--\") && longName.length > 2\n ? longName\n : null;\n const normalizedShort =\n shortName && shortName.startsWith(\"-\") && !shortName.startsWith(\"--\")\n ? shortName\n : null;\n const valueName = toNonEmptyFlagString(definition.value_name);\n const required = toOptionalBoolean(definition.required) === true;\n return {\n flags,\n long: normalizedLong,\n short: normalizedShort,\n description: formatDynamicExtensionOptionDescription(definition),\n takes_value: valueName !== null,\n value_required: valueName !== null,\n value_name: valueName,\n variadic: false,\n required,\n aliases: [],\n alias_for: null,\n };\n}\n\n/** Implements build dynamic extension help option summaries for the public runtime surface of this module. */\nexport function buildDynamicExtensionHelpOptionSummaries(\n descriptor: ExtensionCommandHelpDescriptor | undefined,\n): HelpOptionSummary[] {\n if (!descriptor) {\n return [];\n }\n const summaries: HelpOptionSummary[] = [];\n const seen = new Set<string>();\n for (const definition of descriptor.flags) {\n const summary = buildDynamicExtensionHelpOptionSummary(definition);\n if (!summary || seen.has(summary.flags)) {\n continue;\n }\n seen.add(summary.flags);\n summaries.push(summary);\n }\n return summaries;\n}\n\n/** Implements merge help option summaries for the public runtime surface of this module. */\nexport function mergeHelpOptionSummaries(\n base: HelpOptionSummary[],\n extension: HelpOptionSummary[],\n): HelpOptionSummary[] {\n if (extension.length === 0) {\n return base;\n }\n const merged = [...base];\n const seen = new Set(base.map((entry) => entry.flags));\n for (const entry of extension) {\n if (seen.has(entry.flags)) {\n continue;\n }\n seen.add(entry.flags);\n merged.push(entry);\n }\n return merged;\n}\n\n/** Implements build dynamic extension command metadata help for the public runtime surface of this module. */\nexport function buildDynamicExtensionCommandMetadataHelp(\n descriptor: ExtensionCommandHelpDescriptor,\n): string | null {\n const lines: string[] = [];\n if (descriptor.intent) {\n lines.push(`Intent: ${descriptor.intent}`);\n }\n if (descriptor.action) {\n lines.push(`Action contract: ${descriptor.action}`);\n }\n if (descriptor.examples.length > 0) {\n lines.push(\"Examples:\");\n for (const example of descriptor.examples) {\n lines.push(` - ${example}`);\n }\n }\n if (descriptor.failure_hints.length > 0) {\n lines.push(\"Common failure hints:\");\n for (const hint of descriptor.failure_hints) {\n lines.push(` - ${hint}`);\n }\n }\n if (lines.length === 0) {\n return null;\n }\n return `\\nExtension command metadata:\\n ${lines.join(\"\\n \")}`;\n}\n\n/** Implements command aliases for the public runtime surface of this module. */\nexport function commandAliases(command: Command): string[] {\n const commandRecord = command as unknown as {\n aliases?: () => string[];\n alias?: () => string | undefined;\n _aliases?: string[];\n };\n if (typeof commandRecord.aliases === \"function\") {\n return commandRecord\n .aliases()\n .map((value) => value.trim().toLowerCase())\n .filter((value) => value.length > 0);\n }\n if (typeof commandRecord.alias === \"function\") {\n const alias = commandRecord.alias();\n if (typeof alias === \"string\" && alias.trim().length > 0) {\n return [alias.trim().toLowerCase()];\n }\n }\n if (Array.isArray(commandRecord._aliases)) {\n return commandRecord._aliases\n .map((value) => value.trim().toLowerCase())\n .filter((value) => value.length > 0);\n }\n return [];\n}\n\n/** Implements find direct child command for the public runtime surface of this module. */\nexport function findDirectChildCommand(\n parent: Command,\n name: string,\n): Command | null {\n const normalizedTarget = name.trim().toLowerCase();\n return (\n parent.commands.find((entry) => {\n if (entry.name().trim().toLowerCase() === normalizedTarget) {\n return true;\n }\n return commandAliases(entry).includes(normalizedTarget);\n }) ?? null\n );\n}\n\n/** Implements find command by path for the public runtime surface of this module. */\nexport function findCommandByPath(\n root: Command,\n pathParts: string[],\n): Command | null {\n let current: Command = root;\n for (const part of pathParts) {\n const next = findDirectChildCommand(current, part);\n if (!next) {\n return null;\n }\n current = next;\n }\n return current;\n}\n\nconst extensionCreatedCommands = new WeakSet<Command>();\n\n/** Implements ensure command path for the public runtime surface of this module. */\nexport function ensureCommandPath(\n root: Command,\n pathParts: string[],\n): Command | null {\n if (pathParts.length === 0) {\n return null;\n }\n\n let current: Command = root;\n for (let index = 0; index < pathParts.length; index += 1) {\n const part = pathParts[index];\n const existing = findDirectChildCommand(current, part);\n if (existing) {\n current = existing;\n continue;\n }\n\n const created = current.command(part);\n extensionCreatedCommands.add(created);\n if (index < pathParts.length - 1) {\n created.description(\"Extension-provided command group.\");\n // Without a handler, commander routes bare-group help through the error\n // channel, which the root configureOutput intentionally swallows — the\n // group would exit 0 in silence. Render help on stdout instead so agents\n // always get subcommand discovery. A later terminal registration for the\n // same path replaces this handler via Command.action().\n created.action(() => {\n created.help();\n });\n } else {\n created.description(\"Extension-provided command path.\");\n }\n current = created;\n }\n\n return current;\n}\n\n/** Describe the first core-owned command prefix that an extension path would shadow or graft beneath. */\nexport function findExtensionCommandPathCollision(\n root: Command,\n pathParts: string[],\n): { core_path: string; extension_path: string } | null {\n let current = root;\n const traversed: string[] = [];\n for (const part of pathParts) {\n const existing = findDirectChildCommand(current, part);\n if (!existing) {\n return null;\n }\n traversed.push(part);\n if (!extensionCreatedCommands.has(existing)) {\n return {\n core_path: traversed.join(\" \"),\n extension_path: pathParts.join(\" \"),\n };\n }\n current = existing;\n }\n return null;\n}\n\n/** Build an ownership-rich warning when an extension alias would shadow or graft beneath a core command. */\nexport function buildExtensionCommandCollisionWarning(\n root: Command,\n commandPath: string,\n aliases: ReadonlyMap<string, string>,\n descriptor: ExtensionCommandHelpDescriptor | undefined,\n): string | null {\n const pathParts = commandPath.split(\" \").filter((part) => part.length > 0);\n const collision = findExtensionCommandPathCollision(root, pathParts);\n // Direct canonical paths intentionally augment core help with extension flags\n // and metadata while registerCommandPath preserves the core action handler.\n // Canonical aliases and nested grafts cannot make that ownership distinction,\n // so those paths are rejected instead.\n if (\n !collision ||\n (collision.core_path === commandPath && !aliases.has(commandPath))\n ) {\n return null;\n }\n const extensionOwner =\n descriptor?.source?.package ??\n descriptor?.source?.name ??\n \"unknown-extension\";\n return (\n `extension_command_collision:${collision.extension_path}:` +\n `core_owner=pm-cli:${collision.core_path}:extension_owner=${extensionOwner}`\n );\n}\n\n/** Collect deterministic extension command paths while reporting and excluding aliases that collide with core ownership. */\nexport function collectSafeExtensionCommandPaths(\n root: Command,\n commandHandlers: readonly string[],\n descriptors: ReadonlyMap<string, ExtensionCommandHelpDescriptor>,\n aliases: ReadonlyMap<string, string>,\n onCollision: (warning: string) => void,\n): string[] {\n return [\n ...new Set([...commandHandlers, ...descriptors.keys()]),\n ]\n .filter((commandPath) => commandPath.trim().length > 0)\n .sort((left, right) => left.localeCompare(right))\n .filter((commandPath) => {\n const warning = buildExtensionCommandCollisionWarning(\n root,\n commandPath,\n aliases,\n descriptors.get(commandPath),\n );\n if (!warning) return true;\n onCollision(warning);\n return false;\n });\n}\n\n/** Record and surface one extension collision with stable recovery guidance. */\nexport function reportExtensionCommandCollision(\n activationWarnings: string[],\n report: (message: string) => void,\n warning: string,\n): void {\n activationWarnings.push(warning);\n report(\n `[pm] warning: ${warning}; core command preserved. Rename or namespace the extension command alias.`,\n );\n}\n"],"names":[],"mappings":"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","debugId":"021f7a3b-31a8-56cb-82a5-ba845bd6caea"}
|
package/dist/cli/main.d.ts
CHANGED
|
@@ -8,6 +8,7 @@ import { type TelemetryErrorCategory } from "../core/shared/constants.js";
|
|
|
8
8
|
import { type PmCliErrorContext } from "../core/shared/errors.js";
|
|
9
9
|
import { type TelemetryCommandOutcome } from "../core/telemetry/runtime.js";
|
|
10
10
|
import { type TelemetryCommandResolution, type TelemetryResolutionStage } from "../core/telemetry/observability.js";
|
|
11
|
+
import { readSettings, readSettingsWithMetadata } from "../core/store/settings.js";
|
|
11
12
|
import type { GlobalOptions } from "../core/shared/command-types.js";
|
|
12
13
|
import type { PmSettings } from "../types/index.js";
|
|
13
14
|
import { describeUnknownError, isCommanderError, normalizeThrownExitCode, readThrownExitCode, wrapThrownErrorForSentry } from "../sdk/error-runtime.js";
|
|
@@ -132,8 +133,8 @@ declare function collectParsedActivationCommandArgs(command: Command): string[];
|
|
|
132
133
|
declare function emitSettingsReadWarnings(warnings: readonly string[]): void;
|
|
133
134
|
declare function emitExtensionProfile(globalOptions: GlobalOptions, snapshot: RuntimeExtensionSnapshot): void;
|
|
134
135
|
declare function emitExtensionSkippedProfile(profileEnabled: boolean | undefined, snapshot: RuntimeExtensionDiscoverySnapshot, probe: RuntimeExtensionActivationProbe): void;
|
|
135
|
-
declare function loadRuntimeExtensionDiscoverySnapshot(pmRoot: string): Promise<RuntimeExtensionDiscoverySnapshot | null>;
|
|
136
|
-
declare function loadRuntimeExtensionSnapshot(pmRoot: string, probe?: RuntimeExtensionActivationProbe): Promise<RuntimeExtensionSnapshot | null>;
|
|
136
|
+
declare function loadRuntimeExtensionDiscoverySnapshot(pmRoot: string, readSettingsWithMetadataFn?: typeof readSettingsWithMetadata): Promise<RuntimeExtensionDiscoverySnapshot | null>;
|
|
137
|
+
declare function loadRuntimeExtensionSnapshot(pmRoot: string, probe?: RuntimeExtensionActivationProbe, readSettingsFn?: typeof readSettings): Promise<RuntimeExtensionSnapshot | null>;
|
|
137
138
|
declare function maybeLoadRuntimeExtensions(command: Command): Promise<{
|
|
138
139
|
hooks: ExtensionHookRegistry;
|
|
139
140
|
commands: ExtensionCommandRegistry;
|
package/dist/cli/main.js
CHANGED
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
* @module cli/main
|
|
4
4
|
*/
|
|
5
5
|
|
|
6
|
-
!function(){try{var e="undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof globalThis?globalThis:"undefined"!=typeof self?self:{},n=(new e.Error).stack;n&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[n]="
|
|
6
|
+
!function(){try{var e="undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof globalThis?globalThis:"undefined"!=typeof self?self:{},n=(new e.Error).stack;n&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[n]="f283f9ba-d18b-5f19-beae-ebc85f29ac32")}catch(e){}}();
|
|
7
7
|
import { Command } from "commander";
|
|
8
8
|
import { activateExtensions, clearActiveExtensionHooks, createCoreCommandHookContext, resetActiveExtensionRuntimeState, createEmptyExtensionRegistrationRegistry, discoverExtensions, getActiveCommandResult, getActiveExtensionRegistrations, loadExtensions, consumeAfterCommandAffectedItems, runActiveCommandHandler, runActiveParserOverride, runActivePreflightOverride, runAfterCommandHooks, runBeforeCommandHooks, setActiveCommandResult, setActiveCommandContext, setActiveExtensionCommands, setActiveExtensionHooks, setActiveExtensionParsers, setActiveExtensionPreflight, setActiveExtensionRegistrations, setActiveExtensionRenderers, setActiveExtensionServices, } from "../core/extensions/index.js";
|
|
9
9
|
import { pathExists } from "../core/fs/fs-utils.js";
|
|
@@ -1073,14 +1073,14 @@ function emitExtensionSkippedProfile(profileEnabled, snapshot, probe) {
|
|
|
1073
1073
|
const command = normalizeExtensionCommandPath(probe.commandPath ?? "") || "<none>";
|
|
1074
1074
|
printError(`profile:extensions activation=skipped command=${command} effective=${snapshot.discovery.effective.length} warnings=${snapshot.discovery.warnings.length} discovery_ms=${snapshot.discoveryMs}`);
|
|
1075
1075
|
}
|
|
1076
|
-
async function loadRuntimeExtensionDiscoverySnapshot(pmRoot) {
|
|
1076
|
+
async function loadRuntimeExtensionDiscoverySnapshot(pmRoot, readSettingsWithMetadataFn = readSettingsWithMetadata) {
|
|
1077
1077
|
const cacheKey = buildRuntimeExtensionDiscoverySnapshotCacheKey(pmRoot);
|
|
1078
1078
|
if (runtimeExtensionDiscoverySnapshotCache?.key === cacheKey) {
|
|
1079
1079
|
return runtimeExtensionDiscoverySnapshotCache.snapshot;
|
|
1080
1080
|
}
|
|
1081
1081
|
try {
|
|
1082
1082
|
const startedAt = Date.now();
|
|
1083
|
-
const { settings, warnings: settingsReadWarnings } = await
|
|
1083
|
+
const { settings, warnings: settingsReadWarnings } = await readSettingsWithMetadataFn(pmRoot);
|
|
1084
1084
|
const discovery = await discoverExtensions({
|
|
1085
1085
|
pmRoot,
|
|
1086
1086
|
settings,
|
|
@@ -1108,7 +1108,7 @@ async function loadRuntimeExtensionDiscoverySnapshot(pmRoot) {
|
|
|
1108
1108
|
return null;
|
|
1109
1109
|
}
|
|
1110
1110
|
}
|
|
1111
|
-
async function loadRuntimeExtensionSnapshot(pmRoot, probe) {
|
|
1111
|
+
async function loadRuntimeExtensionSnapshot(pmRoot, probe, readSettingsFn = readSettings) {
|
|
1112
1112
|
const activationScope = probe
|
|
1113
1113
|
? buildRuntimeExtensionActivationScope(probe)
|
|
1114
1114
|
: "all";
|
|
@@ -1117,7 +1117,7 @@ async function loadRuntimeExtensionSnapshot(pmRoot, probe) {
|
|
|
1117
1117
|
return runtimeExtensionSnapshotCache.snapshot;
|
|
1118
1118
|
}
|
|
1119
1119
|
try {
|
|
1120
|
-
const settings = await
|
|
1120
|
+
const settings = await readSettingsFn(pmRoot);
|
|
1121
1121
|
const loadResult = await loadExtensions({
|
|
1122
1122
|
pmRoot,
|
|
1123
1123
|
settings,
|
|
@@ -2483,4 +2483,4 @@ export const _testOnly = {
|
|
|
2483
2483
|
wrapThrownErrorForSentry,
|
|
2484
2484
|
};
|
|
2485
2485
|
//# sourceMappingURL=main.js.map
|
|
2486
|
-
//# debugId=
|
|
2486
|
+
//# debugId=f283f9ba-d18b-5f19-beae-ebc85f29ac32
|