@unbrained/pm-cli 2026.6.9 → 2026.6.10
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/CHANGELOG.md +43 -0
- package/dist/cli/bootstrap-args.js +4 -2
- package/dist/cli/bootstrap-args.js.map +1 -1
- package/dist/cli/commands/aggregate.d.ts +7 -0
- package/dist/cli/commands/aggregate.js +53 -12
- package/dist/cli/commands/aggregate.js.map +1 -1
- package/dist/cli/commands/close.d.ts +1 -0
- package/dist/cli/commands/close.js +106 -3
- package/dist/cli/commands/close.js.map +1 -1
- package/dist/cli/commands/completion.js +20 -7
- package/dist/cli/commands/completion.js.map +1 -1
- package/dist/cli/commands/context.d.ts +9 -0
- package/dist/cli/commands/context.js +149 -20
- package/dist/cli/commands/context.js.map +1 -1
- package/dist/cli/commands/create.d.ts +1 -0
- package/dist/cli/commands/create.js +5 -3
- package/dist/cli/commands/create.js.map +1 -1
- package/dist/cli/commands/extension.js +4 -2
- package/dist/cli/commands/extension.js.map +1 -1
- package/dist/cli/commands/health.js +44 -6
- package/dist/cli/commands/health.js.map +1 -1
- package/dist/cli/commands/history.js +6 -5
- package/dist/cli/commands/history.js.map +1 -1
- package/dist/cli/commands/linked-test-parsers.d.ts +1 -0
- package/dist/cli/commands/linked-test-parsers.js +289 -2
- package/dist/cli/commands/linked-test-parsers.js.map +1 -1
- package/dist/cli/commands/reindex.d.ts +1 -0
- package/dist/cli/commands/reindex.js +33 -4
- package/dist/cli/commands/reindex.js.map +1 -1
- package/dist/cli/commands/test.d.ts +6 -0
- package/dist/cli/commands/test.js +46 -5
- package/dist/cli/commands/test.js.map +1 -1
- package/dist/cli/extension-command-help.d.ts +1 -0
- package/dist/cli/extension-command-help.js +42 -2
- package/dist/cli/extension-command-help.js.map +1 -1
- package/dist/cli/extension-command-options.d.ts +2 -0
- package/dist/cli/extension-command-options.js +51 -2
- package/dist/cli/extension-command-options.js.map +1 -1
- package/dist/cli/main.js +26 -26
- package/dist/cli/main.js.map +1 -1
- package/dist/cli/register-list-query.js +3 -2
- package/dist/cli/register-list-query.js.map +1 -1
- package/dist/cli/register-mutation.js +4 -2
- package/dist/cli/register-mutation.js.map +1 -1
- package/dist/cli/register-operations.js +15 -6
- package/dist/cli/register-operations.js.map +1 -1
- package/dist/cli/registration-helpers.js +9 -2
- package/dist/cli/registration-helpers.js.map +1 -1
- package/dist/cli-bundle/chunks/activity-5QLX6DHN.js +16 -0
- package/dist/cli-bundle/chunks/{activity-RUJATACW.js → activity-W6TS5F2L.js} +11 -11
- package/dist/cli-bundle/chunks/{aggregate-IQ27NFBI.js → aggregate-NNJLKGEK.js} +64 -23
- package/dist/cli-bundle/chunks/aggregate-NNJLKGEK.js.map +7 -0
- package/dist/cli-bundle/chunks/{aggregate-TT7OCHHT.js → aggregate-UK2WJ4Z3.js} +65 -24
- package/dist/cli-bundle/chunks/aggregate-UK2WJ4Z3.js.map +1 -0
- package/dist/cli-bundle/chunks/{append-CWQZBUWV.js → append-7BS36Z2L.js} +8 -8
- package/dist/cli-bundle/chunks/{append-E7AJ5RTR.js → append-DHGTLUZW.js} +8 -8
- package/dist/cli-bundle/chunks/{chunk-FHUI7AXS.js → chunk-2MKBPWMK.js} +3 -3
- package/dist/cli-bundle/chunks/{chunk-42IULX44.js → chunk-344GDQTH.js} +2 -2
- package/dist/cli-bundle/chunks/{chunk-5MMLINZB.js → chunk-3VTWCBXL.js} +3 -3
- package/dist/cli-bundle/chunks/{chunk-NUGAWYEN.js → chunk-4CYHWHZU.js} +2 -2
- package/dist/cli-bundle/chunks/{chunk-T7NWFVOA.js → chunk-4H2NDEGJ.js} +7 -7
- package/dist/cli-bundle/chunks/{chunk-FKH7K6YP.js → chunk-5HH6QRH5.js} +9 -9
- package/dist/cli-bundle/chunks/{chunk-OPYA2HIU.js → chunk-5OMABP7I.js} +7 -7
- package/dist/cli-bundle/chunks/{chunk-RKCJ2JMA.js → chunk-6ADVKPVV.js} +7 -7
- package/dist/cli-bundle/chunks/{chunk-EFRHTZO4.js → chunk-6KQS23TX.js} +8 -8
- package/dist/cli-bundle/chunks/{chunk-YX5LAKFJ.js → chunk-6N46IM44.js} +2 -2
- package/dist/cli-bundle/chunks/{chunk-WQZCEEQN.js → chunk-6OSG3EMX.js} +157 -12
- package/dist/cli-bundle/chunks/chunk-6OSG3EMX.js.map +1 -0
- package/dist/cli-bundle/chunks/{chunk-CAXUGAAF.js → chunk-73PSHEMT.js} +8 -8
- package/dist/cli-bundle/chunks/{chunk-RE2JQJZJ.js → chunk-7DUVDW7C.js} +3 -3
- package/dist/cli-bundle/chunks/{chunk-U3Z4OCZC.js → chunk-7GYMMDDW.js} +2 -2
- package/dist/cli-bundle/chunks/{chunk-SAUXUI6U.js → chunk-7TW64BS5.js} +2 -2
- package/dist/cli-bundle/chunks/{chunk-T7B5VAKD.js → chunk-A6XVYNQJ.js} +13 -6
- package/dist/cli-bundle/chunks/chunk-A6XVYNQJ.js.map +7 -0
- package/dist/cli-bundle/chunks/{chunk-E7LOIIFP.js → chunk-ANVZCNL5.js} +3 -3
- package/dist/cli-bundle/chunks/{chunk-NJRZIJ4N.js → chunk-BE5G7HEL.js} +14 -8
- package/dist/cli-bundle/chunks/chunk-BE5G7HEL.js.map +1 -0
- package/dist/cli-bundle/chunks/{chunk-RLVI7KDW.js → chunk-CMEHZD6G.js} +163 -11
- package/dist/cli-bundle/chunks/chunk-CMEHZD6G.js.map +7 -0
- package/dist/cli-bundle/chunks/{chunk-D5D7VKIC.js → chunk-CTW7QAHM.js} +6 -5
- package/dist/cli-bundle/chunks/chunk-CTW7QAHM.js.map +1 -0
- package/dist/cli-bundle/chunks/{chunk-KTVXLI54.js → chunk-D6JZBUZ6.js} +7 -7
- package/dist/cli-bundle/chunks/{chunk-I26E6XA7.js → chunk-DEYNERFX.js} +8 -6
- package/dist/cli-bundle/chunks/chunk-DEYNERFX.js.map +1 -0
- package/dist/cli-bundle/chunks/{chunk-YI6W2DBN.js → chunk-DMDEC4QP.js} +6 -6
- package/dist/cli-bundle/chunks/{chunk-AM2AXVFS.js → chunk-DTRIVUTN.js} +5 -5
- package/dist/cli-bundle/chunks/{chunk-I4FGL3K2.js → chunk-EAQLLID6.js} +16 -6
- package/dist/cli-bundle/chunks/chunk-EAQLLID6.js.map +1 -0
- package/dist/cli-bundle/chunks/{chunk-JEGFLKSI.js → chunk-EIS32UA4.js} +2 -2
- package/dist/cli-bundle/chunks/chunk-F2PVV7IX.js +528 -0
- package/dist/cli-bundle/chunks/chunk-F2PVV7IX.js.map +7 -0
- package/dist/cli-bundle/chunks/{chunk-4LRVXVJK.js → chunk-GF5XIBUH.js} +70 -9
- package/dist/cli-bundle/chunks/chunk-GF5XIBUH.js.map +7 -0
- package/dist/cli-bundle/chunks/{chunk-PUSOAQCR.js → chunk-GP6SHEAI.js} +5 -5
- package/dist/cli-bundle/chunks/{chunk-I3UILOUU.js → chunk-GRHPU6EM.js} +2 -2
- package/dist/cli-bundle/chunks/{chunk-WCWIDJII.js → chunk-I2FM2SMO.js} +2 -2
- package/dist/cli-bundle/chunks/{chunk-ANKG2JKL.js → chunk-IEQ3N7WP.js} +12 -5
- package/dist/cli-bundle/chunks/chunk-IEQ3N7WP.js.map +1 -0
- package/dist/cli-bundle/chunks/{chunk-JN3BT7UY.js → chunk-K45NAJV2.js} +9 -9
- package/dist/cli-bundle/chunks/{chunk-23WNCJBA.js → chunk-K7SXBA75.js} +2 -2
- package/dist/cli-bundle/chunks/{chunk-FJNJEWU4.js → chunk-KHBRV5JU.js} +14 -12
- package/dist/cli-bundle/chunks/chunk-KHBRV5JU.js.map +1 -0
- package/dist/cli-bundle/chunks/{chunk-7YTWXGE3.js → chunk-KMMUDSSB.js} +112 -7
- package/dist/cli-bundle/chunks/chunk-KMMUDSSB.js.map +1 -0
- package/dist/cli-bundle/chunks/{chunk-JVMAOD54.js → chunk-KRZQGRVL.js} +14 -7
- package/dist/cli-bundle/chunks/chunk-KRZQGRVL.js.map +1 -0
- package/dist/cli-bundle/chunks/{chunk-BACSNVWE.js → chunk-LUJQJR7G.js} +71 -69
- package/dist/cli-bundle/chunks/{chunk-BACSNVWE.js.map → chunk-LUJQJR7G.js.map} +1 -1
- package/dist/cli-bundle/chunks/{chunk-P2NVFE4L.js → chunk-LYL32FT6.js} +3 -3
- package/dist/cli-bundle/chunks/{chunk-AVGOVJGV.js → chunk-MF6KSSMF.js} +9 -9
- package/dist/cli-bundle/chunks/{chunk-AVGOVJGV.js.map → chunk-MF6KSSMF.js.map} +1 -1
- package/dist/cli-bundle/chunks/{chunk-ZPXDD6RQ.js → chunk-O64EYNHF.js} +6 -6
- package/dist/cli-bundle/chunks/{chunk-C72IQIBT.js → chunk-OQGJSCZZ.js} +301 -30
- package/dist/cli-bundle/chunks/chunk-OQGJSCZZ.js.map +7 -0
- package/dist/cli-bundle/chunks/{chunk-44JP4PYY.js → chunk-OROMGSBP.js} +2 -2
- package/dist/cli-bundle/chunks/{chunk-LU54Z4QI.js → chunk-OSGWBWLK.js} +76 -74
- package/dist/cli-bundle/chunks/{chunk-LU54Z4QI.js.map → chunk-OSGWBWLK.js.map} +3 -3
- package/dist/cli-bundle/chunks/{chunk-OT6XAMO5.js → chunk-OVNSQHDG.js} +7 -5
- package/dist/cli-bundle/chunks/{chunk-OT6XAMO5.js.map → chunk-OVNSQHDG.js.map} +2 -2
- package/dist/cli-bundle/chunks/{chunk-PW7C262O.js → chunk-PYULT32I.js} +2 -2
- package/dist/cli-bundle/chunks/{chunk-NHRZSYAA.js → chunk-Q6PSD5DZ.js} +3 -3
- package/dist/cli-bundle/chunks/{chunk-A5342JVL.js → chunk-QGIWURY3.js} +12 -12
- package/dist/cli-bundle/chunks/{chunk-GPOSGWCN.js → chunk-QJ2OIEOC.js} +68 -7
- package/dist/cli-bundle/chunks/chunk-QJ2OIEOC.js.map +1 -0
- package/dist/cli-bundle/chunks/{chunk-5ATRWEZO.js → chunk-SNASEDXB.js} +3 -3
- package/dist/cli-bundle/chunks/{chunk-KDX6VC3P.js → chunk-T6QLB34N.js} +3 -3
- package/dist/cli-bundle/chunks/{chunk-6IGTNFE3.js → chunk-TALBUVWF.js} +2 -2
- package/dist/cli-bundle/chunks/{chunk-VDVVOLR6.js → chunk-TV6FZGVK.js} +3 -3
- package/dist/cli-bundle/chunks/{chunk-H37YPWLM.js → chunk-TXWMLDMG.js} +13 -7
- package/dist/cli-bundle/chunks/chunk-TXWMLDMG.js.map +7 -0
- package/dist/cli-bundle/chunks/{chunk-TLD3UYGY.js → chunk-TZLGCTA5.js} +5 -4
- package/dist/cli-bundle/chunks/chunk-TZLGCTA5.js.map +7 -0
- package/dist/cli-bundle/chunks/{chunk-7CR4GAYN.js → chunk-UDWUDUJI.js} +2 -2
- package/dist/cli-bundle/chunks/{chunk-YSANBZAE.js → chunk-UMWF6ZAS.js} +12 -5
- package/dist/cli-bundle/chunks/chunk-UMWF6ZAS.js.map +7 -0
- package/dist/cli-bundle/chunks/{chunk-F2REA7VW.js → chunk-UNH3KSHG.js} +3 -3
- package/dist/cli-bundle/chunks/{chunk-4TJWRPIH.js → chunk-UY26RIBR.js} +2 -2
- package/dist/cli-bundle/chunks/{chunk-MNXJ6YDO.js → chunk-VSS3CSTF.js} +9 -9
- package/dist/cli-bundle/chunks/{chunk-EQ6N6IDR.js → chunk-WBU257Z4.js} +13 -11
- package/dist/cli-bundle/chunks/chunk-WBU257Z4.js.map +7 -0
- package/dist/cli-bundle/chunks/{chunk-5JF76OJF.js → chunk-WNMRICXH.js} +289 -25
- package/dist/cli-bundle/chunks/chunk-WNMRICXH.js.map +1 -0
- package/dist/cli-bundle/chunks/chunk-WSWOQP3Z.js +518 -0
- package/dist/cli-bundle/chunks/chunk-WSWOQP3Z.js.map +1 -0
- package/dist/cli-bundle/chunks/{chunk-ENCVPOID.js → chunk-WWEFBBVF.js} +12 -12
- package/dist/cli-bundle/chunks/{chunk-XEOO6K5J.js → chunk-X3IPJU2O.js} +9 -9
- package/dist/cli-bundle/chunks/{chunk-RMTI5R76.js → chunk-X5YC5DZM.js} +111 -6
- package/dist/cli-bundle/chunks/chunk-X5YC5DZM.js.map +7 -0
- package/dist/cli-bundle/chunks/{chunk-3RHE76G6.js → chunk-XH6RA5A5.js} +15 -15
- package/dist/cli-bundle/chunks/chunk-XH6RA5A5.js.map +1 -0
- package/dist/cli-bundle/chunks/{chunk-LF2VNLEZ.js → chunk-XRE4CTNP.js} +8 -8
- package/dist/cli-bundle/chunks/{chunk-LF2VNLEZ.js.map → chunk-XRE4CTNP.js.map} +2 -2
- package/dist/cli-bundle/chunks/{chunk-SD6H3RLA.js → chunk-XSCGU4WT.js} +15 -5
- package/dist/cli-bundle/chunks/{chunk-SD6H3RLA.js.map → chunk-XSCGU4WT.js.map} +2 -2
- package/dist/cli-bundle/chunks/{chunk-BIRVSIM2.js → chunk-ZH7C7ZVX.js} +14 -14
- package/dist/cli-bundle/chunks/chunk-ZH7C7ZVX.js.map +7 -0
- package/dist/cli-bundle/chunks/{claim-UXFGCF3P.js → claim-3TY5LE54.js} +10 -10
- package/dist/cli-bundle/chunks/{claim-RV6WYUF7.js → claim-LM4YY6QQ.js} +10 -10
- package/dist/cli-bundle/chunks/{close-O4JK2JKD.js → close-CSD4LEMT.js} +8 -8
- package/dist/cli-bundle/chunks/close-SIQCDOBR.js +13 -0
- package/dist/cli-bundle/chunks/{close-many-EQO4TPIE.js → close-many-B5SHDX6W.js} +15 -15
- package/dist/cli-bundle/chunks/{close-many-SRDBV3SI.js → close-many-WRXB5KVY.js} +15 -15
- package/dist/cli-bundle/chunks/{comments-OMB7YE27.js → comments-A5ALOYTG.js} +10 -10
- package/dist/cli-bundle/chunks/{comments-TTZUIB2O.js → comments-BDDEK3VW.js} +10 -10
- package/dist/cli-bundle/chunks/{config-5VPR42A6.js → config-W2NHDNQT.js} +8 -8
- package/dist/cli-bundle/chunks/{config-NNLXVGVC.js → config-YUYBMJOW.js} +8 -8
- package/dist/cli-bundle/chunks/{context-4QK6GRXO.js → context-LRJ74NSU.js} +146 -33
- package/dist/cli-bundle/chunks/{context-4QK6GRXO.js.map → context-LRJ74NSU.js.map} +2 -2
- package/dist/cli-bundle/chunks/{context-4N7GYTVQ.js → context-R2QLOJCK.js} +147 -34
- package/dist/cli-bundle/chunks/context-R2QLOJCK.js.map +1 -0
- package/dist/cli-bundle/chunks/{contracts-AOBNEBVT.js → contracts-47X7RYUF.js} +4 -4
- package/dist/cli-bundle/chunks/{contracts-DXCWXOSP.js → contracts-HJHR4NCD.js} +4 -4
- package/dist/cli-bundle/chunks/{copy-XSYEQTLA.js → copy-B7HFOWFB.js} +7 -7
- package/dist/cli-bundle/chunks/{copy-5NM3SVJA.js → copy-P4UVYZ7M.js} +7 -7
- package/dist/cli-bundle/chunks/{create-FCCAATQV.js → create-5ERJF64D.js} +13 -13
- package/dist/cli-bundle/chunks/create-TXNRPS4K.js +27 -0
- package/dist/cli-bundle/chunks/{delete-5JFP6OG7.js → delete-LX3LGBCH.js} +7 -7
- package/dist/cli-bundle/chunks/{delete-PQXJQXQ7.js → delete-S3WVK6LP.js} +7 -7
- package/dist/cli-bundle/chunks/{deps-XXKBOQUA.js → deps-GWSNH7OZ.js} +7 -7
- package/dist/cli-bundle/chunks/{deps-S5322EOQ.js → deps-YSM4LZQD.js} +7 -7
- package/dist/cli-bundle/chunks/{docs-DZRPAW5S.js → docs-7RYFBHQD.js} +9 -9
- package/dist/cli-bundle/chunks/{docs-C7CCVWAJ.js → docs-TG6JMVMY.js} +9 -9
- package/dist/cli-bundle/chunks/{extension-CSHP6FZX.js → extension-R3LUKMX7.js} +5 -5
- package/dist/cli-bundle/chunks/{extension-XNNVUVAY.js → extension-VNMRKIHI.js} +5 -5
- package/dist/cli-bundle/chunks/{files-OBWYYPKM.js → files-KAKU57OT.js} +9 -9
- package/dist/cli-bundle/chunks/{files-UPCNKEIZ.js → files-QB3EYPMO.js} +9 -9
- package/dist/cli-bundle/chunks/{gc-KXK6KBRN.js → gc-B747VM4M.js} +3 -3
- package/dist/cli-bundle/chunks/{gc-FA2ONELT.js → gc-KNUPLPSW.js} +3 -3
- package/dist/cli-bundle/chunks/{get-PNTSONGB.js → get-GMGLIQ5I.js} +11 -11
- package/dist/cli-bundle/chunks/{get-FLHYTOBA.js → get-SBL6NHYQ.js} +11 -11
- package/dist/cli-bundle/chunks/{health-CS5RNTJX.js → health-IG43Z4KL.js} +47 -19
- package/dist/cli-bundle/chunks/health-IG43Z4KL.js.map +1 -0
- package/dist/cli-bundle/chunks/{health-KCRVYIYY.js → health-WWZJ5KJS.js} +46 -18
- package/dist/cli-bundle/chunks/health-WWZJ5KJS.js.map +7 -0
- package/dist/cli-bundle/chunks/history-6UKSZTRT.js +20 -0
- package/dist/cli-bundle/chunks/{history-COQTPBEU.js → history-XCWRXBXC.js} +10 -10
- package/dist/cli-bundle/chunks/{history-compact-66PSRYL3.js → history-compact-IDH7E7VN.js} +11 -11
- package/dist/cli-bundle/chunks/{history-compact-PVS2A3FS.js → history-compact-KICKUCR7.js} +11 -11
- package/dist/cli-bundle/chunks/history-redact-HKYBTK6X.js +19 -0
- package/dist/cli-bundle/chunks/{history-redact-DCXAWGTF.js → history-redact-JJWH3QWK.js} +11 -11
- package/dist/cli-bundle/chunks/{history-repair-TA3NRIFO.js → history-repair-7HWBZKXN.js} +11 -11
- package/dist/cli-bundle/chunks/{history-repair-SEQDFTGW.js → history-repair-N5HXKJOI.js} +11 -11
- package/dist/cli-bundle/chunks/init-27JLDUO2.js +17 -0
- package/dist/cli-bundle/chunks/{init-IQJE3EKJ.js → init-OQA3TWIS.js} +9 -9
- package/dist/cli-bundle/chunks/{learnings-XC6EMW5E.js → learnings-L7VQUSVI.js} +10 -10
- package/dist/cli-bundle/chunks/{learnings-RJPGH2ME.js → learnings-Z4GAIZQ5.js} +10 -10
- package/dist/cli-bundle/chunks/list-6U3CJVXS.js +19 -0
- package/dist/cli-bundle/chunks/{list-NJV6WBT4.js → list-W5ROBC5U.js} +10 -10
- package/dist/cli-bundle/chunks/{notes-2KWHADK3.js → notes-JJDOEDFK.js} +10 -10
- package/dist/cli-bundle/chunks/{notes-FNCDMZW2.js → notes-SDCK7BEN.js} +10 -10
- package/dist/cli-bundle/chunks/{plan-MQO5JTSV.js → plan-H5HYHMBB.js} +13 -13
- package/dist/cli-bundle/chunks/{plan-CYK2P5PD.js → plan-W2B5RYR3.js} +13 -13
- package/dist/cli-bundle/chunks/{register-list-query-IO3RR5K6.js → register-list-query-QGRFMDWA.js} +20 -20
- package/dist/cli-bundle/chunks/register-list-query-QGRFMDWA.js.map +7 -0
- package/dist/cli-bundle/chunks/{register-list-query-6RA24SIZ.js → register-list-query-V4S23735.js} +21 -21
- package/dist/cli-bundle/chunks/register-list-query-V4S23735.js.map +1 -0
- package/dist/cli-bundle/chunks/{register-mutation-VV2SC2KL.js → register-mutation-I57PLUHA.js} +36 -35
- package/dist/cli-bundle/chunks/register-mutation-I57PLUHA.js.map +1 -0
- package/dist/cli-bundle/chunks/{register-mutation-KVFUXCAZ.js → register-mutation-ZPZNJXSA.js} +35 -34
- package/dist/cli-bundle/chunks/register-mutation-ZPZNJXSA.js.map +7 -0
- package/dist/cli-bundle/chunks/{register-operations-DFNVRSJ5.js → register-operations-KAMLXAF5.js} +42 -37
- package/dist/cli-bundle/chunks/register-operations-KAMLXAF5.js.map +1 -0
- package/dist/cli-bundle/chunks/{register-operations-TAUUTRJ4.js → register-operations-YEN4YEZ2.js} +41 -36
- package/dist/cli-bundle/chunks/register-operations-YEN4YEZ2.js.map +7 -0
- package/dist/cli-bundle/chunks/{register-setup-GAQZZRUA.js → register-setup-BZ3TNE3G.js} +15 -15
- package/dist/cli-bundle/chunks/{register-setup-X2R5CFDV.js → register-setup-WLFL3OUF.js} +15 -15
- package/dist/cli-bundle/chunks/restore-GNI2W5CN.js +17 -0
- package/dist/cli-bundle/chunks/{restore-E3GZKRRK.js → restore-RGFSPG4K.js} +11 -11
- package/dist/cli-bundle/chunks/{schema-3CPFLDAY.js → schema-CCDU3RLC.js} +8 -8
- package/dist/cli-bundle/chunks/{schema-7EHBPNXM.js → schema-KZASL323.js} +8 -8
- package/dist/cli-bundle/chunks/{search-OBZVYJJ2.js → search-7KSOLI2E.js} +10 -10
- package/dist/cli-bundle/chunks/{search-2T3NCCUR.js → search-DTL7CO22.js} +10 -10
- package/dist/cli-bundle/chunks/{stats-ULGQACF7.js → stats-IOXQMGI6.js} +7 -7
- package/dist/cli-bundle/chunks/{stats-6LVK4JER.js → stats-QNV7B2CE.js} +7 -7
- package/dist/cli-bundle/chunks/{telemetry-6G27FLCP.js → telemetry-IV5C6JOM.js} +4 -4
- package/dist/cli-bundle/chunks/{telemetry-HHKRTMZA.js → telemetry-NHR5RFXT.js} +4 -4
- package/dist/cli-bundle/chunks/test-4Z37CXW4.js +32 -0
- package/dist/cli-bundle/chunks/{test-2PP4YBV6.js → test-PIL2CEEB.js} +14 -14
- package/dist/cli-bundle/chunks/{test-all-NETGVNM6.js → test-all-GRLYHBNP.js} +14 -14
- package/dist/cli-bundle/chunks/{test-all-6Z272JRI.js → test-all-MFN4MYCV.js} +14 -14
- package/dist/cli-bundle/chunks/{test-runs-CRPQVMMG.js → test-runs-7LRFWWCA.js} +5 -5
- package/dist/cli-bundle/chunks/{test-runs-M24WA6TI.js → test-runs-7WCSC3TY.js} +5 -5
- package/dist/cli-bundle/chunks/update-I4G34LKJ.js +21 -0
- package/dist/cli-bundle/chunks/update-VI5DBZ3G.js +25 -0
- package/dist/cli-bundle/chunks/{update-many-JSRF5EH5.js → update-many-LOTAYUTN.js} +22 -22
- package/dist/cli-bundle/chunks/{update-many-Y3HOL7WA.js → update-many-UYMTVF42.js} +22 -22
- package/dist/cli-bundle/chunks/{upgrade-ECB6GH3M.js → upgrade-LT2MLLPS.js} +5 -5
- package/dist/cli-bundle/chunks/{upgrade-5RTQVKKE.js → upgrade-ZZSC7CLV.js} +5 -5
- package/dist/cli-bundle/chunks/{validate-J6Q444SD.js → validate-3XRORNMP.js} +16 -16
- package/dist/cli-bundle/chunks/{validate-MCNMAXVA.js → validate-IQIQSKUX.js} +16 -16
- package/dist/cli-bundle/main.js +132 -44
- package/dist/cli-bundle/main.js.map +2 -2
- package/dist/core/diagnostics/remediation.js +12 -2
- package/dist/core/diagnostics/remediation.js.map +1 -1
- package/dist/core/extensions/extension-policy.d.ts +14 -1
- package/dist/core/extensions/extension-policy.js +38 -3
- package/dist/core/extensions/extension-policy.js.map +1 -1
- package/dist/core/extensions/extension-types.d.ts +40 -1
- package/dist/core/extensions/extension-types.js +28 -2
- package/dist/core/extensions/extension-types.js.map +1 -1
- package/dist/core/extensions/loader.d.ts +6 -4
- package/dist/core/extensions/loader.js +67 -14
- package/dist/core/extensions/loader.js.map +1 -1
- package/dist/core/history/replay.d.ts +1 -1
- package/dist/core/history/replay.js +13 -4
- package/dist/core/history/replay.js.map +1 -1
- package/dist/core/output/mutation-projection.d.ts +2 -0
- package/dist/core/output/mutation-projection.js +9 -2
- package/dist/core/output/mutation-projection.js.map +1 -1
- package/dist/core/output/output.d.ts +2 -0
- package/dist/core/output/output.js +7 -3
- package/dist/core/output/output.js.map +1 -1
- package/dist/core/shared/command-types.d.ts +1 -0
- package/dist/core/shared/command-types.js +2 -2
- package/dist/core/shared/command-types.js.map +1 -1
- package/dist/core/shared/constants.js +7 -4
- package/dist/core/shared/constants.js.map +1 -1
- package/dist/core/store/item-store.d.ts +1 -1
- package/dist/core/store/item-store.js +3 -3
- package/dist/core/store/item-store.js.map +1 -1
- package/dist/core/store/settings-read-cache.d.ts +15 -0
- package/dist/core/store/settings-read-cache.js +72 -0
- package/dist/core/store/settings-read-cache.js.map +1 -0
- package/dist/core/store/settings-validator.d.ts +4 -1
- package/dist/core/store/settings-validator.js +14 -2
- package/dist/core/store/settings-validator.js.map +1 -1
- package/dist/core/store/settings.js +166 -16
- package/dist/core/store/settings.js.map +1 -1
- package/dist/core/telemetry/runtime.d.ts +1 -0
- package/dist/core/telemetry/runtime.js +3 -3
- package/dist/core/telemetry/runtime.js.map +1 -1
- package/dist/core/test/run-selectors.d.ts +27 -0
- package/dist/core/test/run-selectors.js +110 -0
- package/dist/core/test/run-selectors.js.map +1 -0
- package/dist/mcp/server.js +50 -11
- package/dist/mcp/server.js.map +1 -1
- package/dist/sdk/cli-contracts/commander-mutation-options.js +3 -2
- package/dist/sdk/cli-contracts/commander-mutation-options.js.map +1 -1
- package/dist/sdk/cli-contracts/tool-option-contracts.js +3 -2
- package/dist/sdk/cli-contracts/tool-option-contracts.js.map +1 -1
- package/dist/sdk/cli-contracts/tool-parameter-tables.js +29 -2
- package/dist/sdk/cli-contracts/tool-parameter-tables.js.map +1 -1
- package/dist/sdk/cli-contracts.js +37 -5
- package/dist/sdk/cli-contracts.js.map +1 -1
- package/dist/sdk/index.d.ts +1 -1
- package/dist/sdk/index.js +2 -2
- package/dist/sdk/index.js.map +1 -1
- package/dist/sdk/runtime.d.ts +6 -0
- package/dist/sdk/runtime.js +51 -3
- package/dist/sdk/runtime.js.map +1 -1
- package/dist/types.d.ts +4 -1
- package/dist/types.js +4 -2
- package/dist/types.js.map +1 -1
- package/docs/AGENT_GUIDE.md +7 -1
- package/docs/ARCHITECTURE.md +7 -0
- package/docs/COMMANDS.md +37 -3
- package/docs/CONFIGURATION.md +1 -1
- package/docs/EXTENSIONS.md +55 -53
- package/docs/SDK.md +8 -2
- package/docs/TESTING.md +60 -0
- package/docs/schemas/extension-manifest.schema.json +120 -0
- package/package.json +2 -2
- package/packages/pm-beads/extensions/beads/manifest.json +10 -0
- package/packages/pm-calendar/extensions/calendar/manifest.json +10 -0
- package/packages/pm-command-kit/README.md +72 -0
- package/packages/pm-command-kit/extensions/command-kit/index.js +181 -0
- package/packages/pm-command-kit/extensions/command-kit/index.ts +176 -0
- package/packages/pm-command-kit/extensions/command-kit/manifest.json +22 -0
- package/packages/pm-command-kit/package.json +53 -0
- package/packages/pm-governance-audit/extensions/governance-audit/manifest.json +10 -0
- package/packages/pm-guide-shell/extensions/guide-shell/manifest.json +10 -0
- package/packages/pm-lifecycle-hooks/extensions/lifecycle-hooks/manifest.json +10 -0
- package/packages/pm-linked-test-adapters/extensions/linked-test-adapters/manifest.json +10 -0
- package/packages/pm-search-advanced/extensions/search-advanced/index.js +6 -0
- package/packages/pm-search-advanced/extensions/search-advanced/index.ts +6 -0
- package/packages/pm-search-advanced/extensions/search-advanced/manifest.json +10 -0
- package/packages/pm-search-advanced/extensions/search-advanced/runtime.js +1 -0
- package/packages/pm-search-advanced/extensions/search-advanced/runtime.ts +1 -0
- package/packages/pm-templates/extensions/templates/manifest.json +10 -0
- package/packages/pm-todos/extensions/todos/manifest.json +10 -0
- package/dist/cli-bundle/chunks/activity-HF3VJYKH.js +0 -16
- package/dist/cli-bundle/chunks/aggregate-IQ27NFBI.js.map +0 -7
- package/dist/cli-bundle/chunks/aggregate-TT7OCHHT.js.map +0 -1
- package/dist/cli-bundle/chunks/chunk-3RHE76G6.js.map +0 -1
- package/dist/cli-bundle/chunks/chunk-4LRVXVJK.js.map +0 -7
- package/dist/cli-bundle/chunks/chunk-5JF76OJF.js.map +0 -1
- package/dist/cli-bundle/chunks/chunk-7YTWXGE3.js.map +0 -1
- package/dist/cli-bundle/chunks/chunk-ANKG2JKL.js.map +0 -1
- package/dist/cli-bundle/chunks/chunk-BIRVSIM2.js.map +0 -7
- package/dist/cli-bundle/chunks/chunk-C72IQIBT.js.map +0 -7
- package/dist/cli-bundle/chunks/chunk-D5D7VKIC.js.map +0 -1
- package/dist/cli-bundle/chunks/chunk-EQ6N6IDR.js.map +0 -7
- package/dist/cli-bundle/chunks/chunk-FJNJEWU4.js.map +0 -1
- package/dist/cli-bundle/chunks/chunk-GPOSGWCN.js.map +0 -1
- package/dist/cli-bundle/chunks/chunk-H37YPWLM.js.map +0 -7
- package/dist/cli-bundle/chunks/chunk-I26E6XA7.js.map +0 -1
- package/dist/cli-bundle/chunks/chunk-I4FGL3K2.js.map +0 -1
- package/dist/cli-bundle/chunks/chunk-JVMAOD54.js.map +0 -1
- package/dist/cli-bundle/chunks/chunk-LU2HE272.js +0 -242
- package/dist/cli-bundle/chunks/chunk-LU2HE272.js.map +0 -1
- package/dist/cli-bundle/chunks/chunk-NJRZIJ4N.js.map +0 -1
- package/dist/cli-bundle/chunks/chunk-O4L7Z6LB.js +0 -252
- package/dist/cli-bundle/chunks/chunk-O4L7Z6LB.js.map +0 -7
- package/dist/cli-bundle/chunks/chunk-RLVI7KDW.js.map +0 -7
- package/dist/cli-bundle/chunks/chunk-RMTI5R76.js.map +0 -7
- package/dist/cli-bundle/chunks/chunk-T7B5VAKD.js.map +0 -7
- package/dist/cli-bundle/chunks/chunk-TLD3UYGY.js.map +0 -7
- package/dist/cli-bundle/chunks/chunk-WQZCEEQN.js.map +0 -1
- package/dist/cli-bundle/chunks/chunk-YSANBZAE.js.map +0 -7
- package/dist/cli-bundle/chunks/close-JTTGW7TS.js +0 -13
- package/dist/cli-bundle/chunks/context-4N7GYTVQ.js.map +0 -1
- package/dist/cli-bundle/chunks/create-JAPLFDGJ.js +0 -27
- package/dist/cli-bundle/chunks/health-CS5RNTJX.js.map +0 -1
- package/dist/cli-bundle/chunks/health-KCRVYIYY.js.map +0 -7
- package/dist/cli-bundle/chunks/history-6624XISO.js +0 -20
- package/dist/cli-bundle/chunks/history-redact-ZRQTI7NB.js +0 -19
- package/dist/cli-bundle/chunks/init-ZVE2HMKK.js +0 -17
- package/dist/cli-bundle/chunks/list-OO5P472O.js +0 -19
- package/dist/cli-bundle/chunks/register-list-query-6RA24SIZ.js.map +0 -1
- package/dist/cli-bundle/chunks/register-list-query-IO3RR5K6.js.map +0 -7
- package/dist/cli-bundle/chunks/register-mutation-KVFUXCAZ.js.map +0 -7
- package/dist/cli-bundle/chunks/register-mutation-VV2SC2KL.js.map +0 -1
- package/dist/cli-bundle/chunks/register-operations-DFNVRSJ5.js.map +0 -1
- package/dist/cli-bundle/chunks/register-operations-TAUUTRJ4.js.map +0 -7
- package/dist/cli-bundle/chunks/restore-F4ALFV4D.js +0 -17
- package/dist/cli-bundle/chunks/test-PPOLRIBA.js +0 -32
- package/dist/cli-bundle/chunks/update-MCPCPMHV.js +0 -25
- package/dist/cli-bundle/chunks/update-O7TBOUVQ.js +0 -21
- /package/dist/cli-bundle/chunks/{activity-HF3VJYKH.js.map → activity-5QLX6DHN.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{activity-RUJATACW.js.map → activity-W6TS5F2L.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{append-CWQZBUWV.js.map → append-7BS36Z2L.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{append-E7AJ5RTR.js.map → append-DHGTLUZW.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-FHUI7AXS.js.map → chunk-2MKBPWMK.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-42IULX44.js.map → chunk-344GDQTH.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-5MMLINZB.js.map → chunk-3VTWCBXL.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-NUGAWYEN.js.map → chunk-4CYHWHZU.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-T7NWFVOA.js.map → chunk-4H2NDEGJ.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-FKH7K6YP.js.map → chunk-5HH6QRH5.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-OPYA2HIU.js.map → chunk-5OMABP7I.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-RKCJ2JMA.js.map → chunk-6ADVKPVV.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-EFRHTZO4.js.map → chunk-6KQS23TX.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-YX5LAKFJ.js.map → chunk-6N46IM44.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-CAXUGAAF.js.map → chunk-73PSHEMT.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-RE2JQJZJ.js.map → chunk-7DUVDW7C.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-U3Z4OCZC.js.map → chunk-7GYMMDDW.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-SAUXUI6U.js.map → chunk-7TW64BS5.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-E7LOIIFP.js.map → chunk-ANVZCNL5.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-KTVXLI54.js.map → chunk-D6JZBUZ6.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-YI6W2DBN.js.map → chunk-DMDEC4QP.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-AM2AXVFS.js.map → chunk-DTRIVUTN.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-JEGFLKSI.js.map → chunk-EIS32UA4.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-PUSOAQCR.js.map → chunk-GP6SHEAI.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-I3UILOUU.js.map → chunk-GRHPU6EM.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-WCWIDJII.js.map → chunk-I2FM2SMO.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-JN3BT7UY.js.map → chunk-K45NAJV2.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-23WNCJBA.js.map → chunk-K7SXBA75.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-P2NVFE4L.js.map → chunk-LYL32FT6.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-ZPXDD6RQ.js.map → chunk-O64EYNHF.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-44JP4PYY.js.map → chunk-OROMGSBP.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-PW7C262O.js.map → chunk-PYULT32I.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-NHRZSYAA.js.map → chunk-Q6PSD5DZ.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-A5342JVL.js.map → chunk-QGIWURY3.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-5ATRWEZO.js.map → chunk-SNASEDXB.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-KDX6VC3P.js.map → chunk-T6QLB34N.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-6IGTNFE3.js.map → chunk-TALBUVWF.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-VDVVOLR6.js.map → chunk-TV6FZGVK.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-7CR4GAYN.js.map → chunk-UDWUDUJI.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-F2REA7VW.js.map → chunk-UNH3KSHG.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-4TJWRPIH.js.map → chunk-UY26RIBR.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-MNXJ6YDO.js.map → chunk-VSS3CSTF.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-ENCVPOID.js.map → chunk-WWEFBBVF.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-XEOO6K5J.js.map → chunk-X3IPJU2O.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{claim-UXFGCF3P.js.map → claim-3TY5LE54.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{claim-RV6WYUF7.js.map → claim-LM4YY6QQ.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{close-O4JK2JKD.js.map → close-CSD4LEMT.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{close-JTTGW7TS.js.map → close-SIQCDOBR.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{close-many-EQO4TPIE.js.map → close-many-B5SHDX6W.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{close-many-SRDBV3SI.js.map → close-many-WRXB5KVY.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{comments-OMB7YE27.js.map → comments-A5ALOYTG.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{comments-TTZUIB2O.js.map → comments-BDDEK3VW.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{config-5VPR42A6.js.map → config-W2NHDNQT.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{config-NNLXVGVC.js.map → config-YUYBMJOW.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{contracts-AOBNEBVT.js.map → contracts-47X7RYUF.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{contracts-DXCWXOSP.js.map → contracts-HJHR4NCD.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{copy-XSYEQTLA.js.map → copy-B7HFOWFB.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{copy-5NM3SVJA.js.map → copy-P4UVYZ7M.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{create-FCCAATQV.js.map → create-5ERJF64D.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{create-JAPLFDGJ.js.map → create-TXNRPS4K.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{delete-5JFP6OG7.js.map → delete-LX3LGBCH.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{delete-PQXJQXQ7.js.map → delete-S3WVK6LP.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{deps-XXKBOQUA.js.map → deps-GWSNH7OZ.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{deps-S5322EOQ.js.map → deps-YSM4LZQD.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{docs-DZRPAW5S.js.map → docs-7RYFBHQD.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{docs-C7CCVWAJ.js.map → docs-TG6JMVMY.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{extension-CSHP6FZX.js.map → extension-R3LUKMX7.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{extension-XNNVUVAY.js.map → extension-VNMRKIHI.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{files-OBWYYPKM.js.map → files-KAKU57OT.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{files-UPCNKEIZ.js.map → files-QB3EYPMO.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{gc-KXK6KBRN.js.map → gc-B747VM4M.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{gc-FA2ONELT.js.map → gc-KNUPLPSW.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{get-PNTSONGB.js.map → get-GMGLIQ5I.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{get-FLHYTOBA.js.map → get-SBL6NHYQ.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{history-6624XISO.js.map → history-6UKSZTRT.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{history-COQTPBEU.js.map → history-XCWRXBXC.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{history-compact-66PSRYL3.js.map → history-compact-IDH7E7VN.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{history-compact-PVS2A3FS.js.map → history-compact-KICKUCR7.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{history-redact-ZRQTI7NB.js.map → history-redact-HKYBTK6X.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{history-redact-DCXAWGTF.js.map → history-redact-JJWH3QWK.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{history-repair-TA3NRIFO.js.map → history-repair-7HWBZKXN.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{history-repair-SEQDFTGW.js.map → history-repair-N5HXKJOI.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{init-ZVE2HMKK.js.map → init-27JLDUO2.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{init-IQJE3EKJ.js.map → init-OQA3TWIS.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{learnings-XC6EMW5E.js.map → learnings-L7VQUSVI.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{learnings-RJPGH2ME.js.map → learnings-Z4GAIZQ5.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{list-OO5P472O.js.map → list-6U3CJVXS.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{list-NJV6WBT4.js.map → list-W5ROBC5U.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{notes-2KWHADK3.js.map → notes-JJDOEDFK.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{notes-FNCDMZW2.js.map → notes-SDCK7BEN.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{plan-MQO5JTSV.js.map → plan-H5HYHMBB.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{plan-CYK2P5PD.js.map → plan-W2B5RYR3.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{register-setup-GAQZZRUA.js.map → register-setup-BZ3TNE3G.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{register-setup-X2R5CFDV.js.map → register-setup-WLFL3OUF.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{restore-F4ALFV4D.js.map → restore-GNI2W5CN.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{restore-E3GZKRRK.js.map → restore-RGFSPG4K.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{schema-3CPFLDAY.js.map → schema-CCDU3RLC.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{schema-7EHBPNXM.js.map → schema-KZASL323.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{search-OBZVYJJ2.js.map → search-7KSOLI2E.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{search-2T3NCCUR.js.map → search-DTL7CO22.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{stats-ULGQACF7.js.map → stats-IOXQMGI6.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{stats-6LVK4JER.js.map → stats-QNV7B2CE.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{telemetry-6G27FLCP.js.map → telemetry-IV5C6JOM.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{telemetry-HHKRTMZA.js.map → telemetry-NHR5RFXT.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{test-PPOLRIBA.js.map → test-4Z37CXW4.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{test-2PP4YBV6.js.map → test-PIL2CEEB.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{test-all-NETGVNM6.js.map → test-all-GRLYHBNP.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{test-all-6Z272JRI.js.map → test-all-MFN4MYCV.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{test-runs-CRPQVMMG.js.map → test-runs-7LRFWWCA.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{test-runs-M24WA6TI.js.map → test-runs-7WCSC3TY.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{update-O7TBOUVQ.js.map → update-I4G34LKJ.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{update-MCPCPMHV.js.map → update-VI5DBZ3G.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{update-many-JSRF5EH5.js.map → update-many-LOTAYUTN.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{update-many-Y3HOL7WA.js.map → update-many-UYMTVF42.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{upgrade-ECB6GH3M.js.map → upgrade-LT2MLLPS.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{upgrade-5RTQVKKE.js.map → upgrade-ZZSC7CLV.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{validate-J6Q444SD.js.map → validate-3XRORNMP.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{validate-MCNMAXVA.js.map → validate-IQIQSKUX.js.map} +0 -0
|
@@ -0,0 +1,181 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* pm-command-kit — first-party exemplar for the `commands` capability surface.
|
|
3
|
+
*
|
|
4
|
+
* Demonstrates the three command-facing SDK registration APIs:
|
|
5
|
+
* 1. `registerCommand` with a FULL CommandDefinition (name, action, description,
|
|
6
|
+
* intent, arguments, flags, examples, failure_hints, run).
|
|
7
|
+
* 2. `registerParser` to preprocess parsed options before the command handler runs.
|
|
8
|
+
* 3. `registerFlags` to inject an additional flag into an EXISTING command.
|
|
9
|
+
*
|
|
10
|
+
* The extension is intentionally pure: no filesystem, network, environment, or
|
|
11
|
+
* process access — so its manifest declares `sandbox_profile: "strict"` with all
|
|
12
|
+
* permissions false. Third-party authors can copy this package wholesale and
|
|
13
|
+
* replace the echo behavior with their own command logic.
|
|
14
|
+
*
|
|
15
|
+
* Hand-maintained alongside index.ts: this file is import-free so the extension
|
|
16
|
+
* stays loadable in extension-only installs without SDK module resolution.
|
|
17
|
+
*/
|
|
18
|
+
export const manifest = {
|
|
19
|
+
name: "builtin-command-kit",
|
|
20
|
+
version: "0.1.0",
|
|
21
|
+
entry: "./index.js",
|
|
22
|
+
priority: 0,
|
|
23
|
+
capabilities: ["commands", "schema", "parser"],
|
|
24
|
+
activation: { commands: ["command-kit echo", "list"] },
|
|
25
|
+
};
|
|
26
|
+
|
|
27
|
+
export const ECHO_COMMAND = "command-kit echo";
|
|
28
|
+
|
|
29
|
+
function toPositiveInteger(value, fallback) {
|
|
30
|
+
const parsed = typeof value === "number" ? value : Number.parseInt(String(value ?? ""), 10);
|
|
31
|
+
if (!Number.isInteger(parsed) || parsed < 1) {
|
|
32
|
+
return fallback;
|
|
33
|
+
}
|
|
34
|
+
return parsed;
|
|
35
|
+
}
|
|
36
|
+
|
|
37
|
+
function toDecorationList(value) {
|
|
38
|
+
const raw = Array.isArray(value) ? value : typeof value === "string" ? value.split(",") : [];
|
|
39
|
+
const seen = new Set();
|
|
40
|
+
for (const entry of raw) {
|
|
41
|
+
const trimmed = String(entry).trim();
|
|
42
|
+
if (trimmed.length > 0) {
|
|
43
|
+
seen.add(trimmed);
|
|
44
|
+
}
|
|
45
|
+
}
|
|
46
|
+
return [...seen];
|
|
47
|
+
}
|
|
48
|
+
|
|
49
|
+
/**
|
|
50
|
+
* registerParser exemplar: normalize parsed options BEFORE the command handler
|
|
51
|
+
* runs. Returns a delta — only the keys you set are merged over the parsed
|
|
52
|
+
* input. Here the deprecated `--shout` alias is rewritten to `--upper`,
|
|
53
|
+
* `--repeat` is coerced to a positive integer, and `--decorations` values are
|
|
54
|
+
* trimmed and de-duplicated.
|
|
55
|
+
*
|
|
56
|
+
* @param {{ command: string, args: string[], options: Record<string, unknown>, global: Record<string, unknown>, pm_root: string }} context
|
|
57
|
+
* @returns {{ options: Record<string, unknown> }}
|
|
58
|
+
*/
|
|
59
|
+
export function rewriteEchoOptions(context) {
|
|
60
|
+
const options = { ...context.options };
|
|
61
|
+
if (options.shout === true || options.shout === "true") {
|
|
62
|
+
options.upper = true;
|
|
63
|
+
}
|
|
64
|
+
delete options.shout;
|
|
65
|
+
options.repeat = toPositiveInteger(options.repeat, 1);
|
|
66
|
+
if (options.decorations !== undefined) {
|
|
67
|
+
options.decorations = toDecorationList(options.decorations);
|
|
68
|
+
}
|
|
69
|
+
return { options };
|
|
70
|
+
}
|
|
71
|
+
|
|
72
|
+
/**
|
|
73
|
+
* Command handler: pure compute, structured result rendered by the host.
|
|
74
|
+
*
|
|
75
|
+
* @param {{ command: string, args: string[], options: Record<string, unknown>, global: Record<string, unknown>, pm_root: string }} context
|
|
76
|
+
* @returns {Record<string, unknown>}
|
|
77
|
+
*/
|
|
78
|
+
export function runEchoCommand(context) {
|
|
79
|
+
const args = Array.isArray(context?.args) ? context.args : [];
|
|
80
|
+
const options =
|
|
81
|
+
context?.options && typeof context.options === "object" && !Array.isArray(context.options) ? context.options : {};
|
|
82
|
+
const message = args
|
|
83
|
+
.map((arg) => String(arg).trim())
|
|
84
|
+
.filter((arg) => arg.length > 0)
|
|
85
|
+
.join(" ");
|
|
86
|
+
if (message.length === 0) {
|
|
87
|
+
throw new Error('command-kit echo requires a message argument. Try: pm command-kit echo "hello world".');
|
|
88
|
+
}
|
|
89
|
+
const upper = options.upper === true || options.upper === "true";
|
|
90
|
+
const repeat = toPositiveInteger(options.repeat, 1);
|
|
91
|
+
const decorations = toDecorationList(options.decorations);
|
|
92
|
+
const rendered = upper ? message.toUpperCase() : message;
|
|
93
|
+
return {
|
|
94
|
+
action: "command-kit-echo",
|
|
95
|
+
message: rendered,
|
|
96
|
+
lines: Array.from({ length: repeat }, () => rendered),
|
|
97
|
+
repeat,
|
|
98
|
+
upper,
|
|
99
|
+
decorations,
|
|
100
|
+
};
|
|
101
|
+
}
|
|
102
|
+
|
|
103
|
+
const echoFlags = [
|
|
104
|
+
{
|
|
105
|
+
long: "--upper",
|
|
106
|
+
value_type: "boolean",
|
|
107
|
+
description: "Uppercase the echoed message.",
|
|
108
|
+
},
|
|
109
|
+
{
|
|
110
|
+
long: "--shout",
|
|
111
|
+
value_type: "boolean",
|
|
112
|
+
description: "Deprecated alias for --upper; rewritten to --upper by the registered parser.",
|
|
113
|
+
},
|
|
114
|
+
{
|
|
115
|
+
long: "--repeat",
|
|
116
|
+
value_name: "count",
|
|
117
|
+
value_type: "number",
|
|
118
|
+
default: 1,
|
|
119
|
+
description: "Echo the message this many times (minimum 1).",
|
|
120
|
+
},
|
|
121
|
+
{
|
|
122
|
+
long: "--decorations",
|
|
123
|
+
value_name: "csv",
|
|
124
|
+
value_type: "string",
|
|
125
|
+
list: true,
|
|
126
|
+
description: "Comma-separated decoration labels; repeated flags accumulate.",
|
|
127
|
+
},
|
|
128
|
+
];
|
|
129
|
+
|
|
130
|
+
/** registerCommand exemplar: a FULL CommandDefinition with every field populated. */
|
|
131
|
+
export function buildEchoCommandDefinition() {
|
|
132
|
+
return {
|
|
133
|
+
name: ECHO_COMMAND,
|
|
134
|
+
action: "command-kit-echo",
|
|
135
|
+
description: "Echo a message as structured output (commands-capability exemplar).",
|
|
136
|
+
intent: "Demonstrate every CommandDefinition field: arguments, flags, examples, and failure hints.",
|
|
137
|
+
arguments: [
|
|
138
|
+
{
|
|
139
|
+
name: "message",
|
|
140
|
+
required: true,
|
|
141
|
+
variadic: true,
|
|
142
|
+
description: "Message words to echo back.",
|
|
143
|
+
},
|
|
144
|
+
],
|
|
145
|
+
flags: [...echoFlags],
|
|
146
|
+
examples: [
|
|
147
|
+
'pm command-kit echo "hello world"',
|
|
148
|
+
"pm command-kit echo hello --upper --repeat 2",
|
|
149
|
+
"pm command-kit echo hello --decorations star,spark --decorations wave",
|
|
150
|
+
],
|
|
151
|
+
failure_hints: [
|
|
152
|
+
"command-kit echo requires a message argument; pass words after the command name.",
|
|
153
|
+
"--repeat takes a positive integer; invalid values fall back to 1.",
|
|
154
|
+
],
|
|
155
|
+
run: runEchoCommand,
|
|
156
|
+
};
|
|
157
|
+
}
|
|
158
|
+
|
|
159
|
+
/** registerFlags exemplar: inject an inert, namespaced flag into an existing core command. */
|
|
160
|
+
export const injectedListFlags = [
|
|
161
|
+
{
|
|
162
|
+
long: "--kit-note",
|
|
163
|
+
value_name: "text",
|
|
164
|
+
value_type: "string",
|
|
165
|
+
description: "Inert exemplar flag injected into `pm list` by pm-command-kit; the core list handler ignores it.",
|
|
166
|
+
},
|
|
167
|
+
];
|
|
168
|
+
|
|
169
|
+
/**
|
|
170
|
+
* @param {import("../../../../src/sdk/index.js").ExtensionApi} api
|
|
171
|
+
*/
|
|
172
|
+
export function activate(api) {
|
|
173
|
+
api.registerCommand(buildEchoCommandDefinition());
|
|
174
|
+
api.registerParser(ECHO_COMMAND, rewriteEchoOptions);
|
|
175
|
+
api.registerFlags("list", injectedListFlags);
|
|
176
|
+
}
|
|
177
|
+
|
|
178
|
+
export default {
|
|
179
|
+
manifest,
|
|
180
|
+
activate,
|
|
181
|
+
};
|
|
@@ -0,0 +1,176 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* pm-command-kit — first-party exemplar for the `commands` capability surface.
|
|
3
|
+
*
|
|
4
|
+
* Demonstrates the three command-facing SDK registration APIs:
|
|
5
|
+
* 1. `registerCommand` with a FULL CommandDefinition (name, action, description,
|
|
6
|
+
* intent, arguments, flags, examples, failure_hints, run).
|
|
7
|
+
* 2. `registerParser` to preprocess parsed options before the command handler runs.
|
|
8
|
+
* 3. `registerFlags` to inject an additional flag into an EXISTING command.
|
|
9
|
+
*
|
|
10
|
+
* The extension is intentionally pure: no filesystem, network, environment, or
|
|
11
|
+
* process access — so its manifest declares `sandbox_profile: "strict"` with all
|
|
12
|
+
* permissions false. Third-party authors can copy this package wholesale and
|
|
13
|
+
* replace the echo behavior with their own command logic.
|
|
14
|
+
*/
|
|
15
|
+
import type {
|
|
16
|
+
CommandDefinition,
|
|
17
|
+
CommandHandlerContext,
|
|
18
|
+
ExtensionApi,
|
|
19
|
+
FlagDefinition,
|
|
20
|
+
ParserOverrideContext,
|
|
21
|
+
ParserOverrideDelta,
|
|
22
|
+
} from "../../../../src/sdk/index.js";
|
|
23
|
+
|
|
24
|
+
export const manifest = {
|
|
25
|
+
name: "builtin-command-kit",
|
|
26
|
+
version: "0.1.0",
|
|
27
|
+
entry: "./index.js",
|
|
28
|
+
priority: 0,
|
|
29
|
+
capabilities: ["commands", "schema", "parser"],
|
|
30
|
+
activation: { commands: ["command-kit echo", "list"] },
|
|
31
|
+
};
|
|
32
|
+
|
|
33
|
+
export const ECHO_COMMAND = "command-kit echo";
|
|
34
|
+
|
|
35
|
+
function toPositiveInteger(value: unknown, fallback: number): number {
|
|
36
|
+
const parsed = typeof value === "number" ? value : Number.parseInt(String(value ?? ""), 10);
|
|
37
|
+
if (!Number.isInteger(parsed) || parsed < 1) {
|
|
38
|
+
return fallback;
|
|
39
|
+
}
|
|
40
|
+
return parsed;
|
|
41
|
+
}
|
|
42
|
+
|
|
43
|
+
function toDecorationList(value: unknown): string[] {
|
|
44
|
+
const raw: unknown[] = Array.isArray(value) ? value : typeof value === "string" ? value.split(",") : [];
|
|
45
|
+
const seen = new Set<string>();
|
|
46
|
+
for (const entry of raw) {
|
|
47
|
+
const trimmed = String(entry).trim();
|
|
48
|
+
if (trimmed.length > 0) {
|
|
49
|
+
seen.add(trimmed);
|
|
50
|
+
}
|
|
51
|
+
}
|
|
52
|
+
return [...seen];
|
|
53
|
+
}
|
|
54
|
+
|
|
55
|
+
/**
|
|
56
|
+
* registerParser exemplar: normalize parsed options BEFORE the command handler
|
|
57
|
+
* runs. Returns a delta — only the keys you set are merged over the parsed
|
|
58
|
+
* input. Here the deprecated `--shout` alias is rewritten to `--upper`,
|
|
59
|
+
* `--repeat` is coerced to a positive integer, and `--decorations` values are
|
|
60
|
+
* trimmed and de-duplicated.
|
|
61
|
+
*/
|
|
62
|
+
export function rewriteEchoOptions(context: ParserOverrideContext): ParserOverrideDelta {
|
|
63
|
+
const options: Record<string, unknown> = { ...context.options };
|
|
64
|
+
if (options.shout === true || options.shout === "true") {
|
|
65
|
+
options.upper = true;
|
|
66
|
+
}
|
|
67
|
+
delete options.shout;
|
|
68
|
+
options.repeat = toPositiveInteger(options.repeat, 1);
|
|
69
|
+
if (options.decorations !== undefined) {
|
|
70
|
+
options.decorations = toDecorationList(options.decorations);
|
|
71
|
+
}
|
|
72
|
+
return { options };
|
|
73
|
+
}
|
|
74
|
+
|
|
75
|
+
/** Command handler: pure compute, structured result rendered by the host. */
|
|
76
|
+
export function runEchoCommand(context: CommandHandlerContext): Record<string, unknown> {
|
|
77
|
+
const args = Array.isArray(context?.args) ? context.args : [];
|
|
78
|
+
const options =
|
|
79
|
+
context?.options && typeof context.options === "object" && !Array.isArray(context.options) ? context.options : {};
|
|
80
|
+
const message = args
|
|
81
|
+
.map((arg) => String(arg).trim())
|
|
82
|
+
.filter((arg) => arg.length > 0)
|
|
83
|
+
.join(" ");
|
|
84
|
+
if (message.length === 0) {
|
|
85
|
+
throw new Error('command-kit echo requires a message argument. Try: pm command-kit echo "hello world".');
|
|
86
|
+
}
|
|
87
|
+
const upper = options.upper === true || options.upper === "true";
|
|
88
|
+
const repeat = toPositiveInteger(options.repeat, 1);
|
|
89
|
+
const decorations = toDecorationList(options.decorations);
|
|
90
|
+
const rendered = upper ? message.toUpperCase() : message;
|
|
91
|
+
return {
|
|
92
|
+
action: "command-kit-echo",
|
|
93
|
+
message: rendered,
|
|
94
|
+
lines: Array.from({ length: repeat }, () => rendered),
|
|
95
|
+
repeat,
|
|
96
|
+
upper,
|
|
97
|
+
decorations,
|
|
98
|
+
};
|
|
99
|
+
}
|
|
100
|
+
|
|
101
|
+
const echoFlags: FlagDefinition[] = [
|
|
102
|
+
{
|
|
103
|
+
long: "--upper",
|
|
104
|
+
value_type: "boolean",
|
|
105
|
+
description: "Uppercase the echoed message.",
|
|
106
|
+
},
|
|
107
|
+
{
|
|
108
|
+
long: "--shout",
|
|
109
|
+
value_type: "boolean",
|
|
110
|
+
description: "Deprecated alias for --upper; rewritten to --upper by the registered parser.",
|
|
111
|
+
},
|
|
112
|
+
{
|
|
113
|
+
long: "--repeat",
|
|
114
|
+
value_name: "count",
|
|
115
|
+
value_type: "number",
|
|
116
|
+
default: 1,
|
|
117
|
+
description: "Echo the message this many times (minimum 1).",
|
|
118
|
+
},
|
|
119
|
+
{
|
|
120
|
+
long: "--decorations",
|
|
121
|
+
value_name: "csv",
|
|
122
|
+
value_type: "string",
|
|
123
|
+
list: true,
|
|
124
|
+
description: "Comma-separated decoration labels; repeated flags accumulate.",
|
|
125
|
+
},
|
|
126
|
+
];
|
|
127
|
+
|
|
128
|
+
/** registerCommand exemplar: a FULL CommandDefinition with every field populated. */
|
|
129
|
+
export function buildEchoCommandDefinition(): CommandDefinition {
|
|
130
|
+
return {
|
|
131
|
+
name: ECHO_COMMAND,
|
|
132
|
+
action: "command-kit-echo",
|
|
133
|
+
description: "Echo a message as structured output (commands-capability exemplar).",
|
|
134
|
+
intent: "Demonstrate every CommandDefinition field: arguments, flags, examples, and failure hints.",
|
|
135
|
+
arguments: [
|
|
136
|
+
{
|
|
137
|
+
name: "message",
|
|
138
|
+
required: true,
|
|
139
|
+
variadic: true,
|
|
140
|
+
description: "Message words to echo back.",
|
|
141
|
+
},
|
|
142
|
+
],
|
|
143
|
+
flags: [...echoFlags],
|
|
144
|
+
examples: [
|
|
145
|
+
'pm command-kit echo "hello world"',
|
|
146
|
+
"pm command-kit echo hello --upper --repeat 2",
|
|
147
|
+
"pm command-kit echo hello --decorations star,spark --decorations wave",
|
|
148
|
+
],
|
|
149
|
+
failure_hints: [
|
|
150
|
+
"command-kit echo requires a message argument; pass words after the command name.",
|
|
151
|
+
"--repeat takes a positive integer; invalid values fall back to 1.",
|
|
152
|
+
],
|
|
153
|
+
run: runEchoCommand,
|
|
154
|
+
};
|
|
155
|
+
}
|
|
156
|
+
|
|
157
|
+
/** registerFlags exemplar: inject an inert, namespaced flag into an existing core command. */
|
|
158
|
+
export const injectedListFlags: FlagDefinition[] = [
|
|
159
|
+
{
|
|
160
|
+
long: "--kit-note",
|
|
161
|
+
value_name: "text",
|
|
162
|
+
value_type: "string",
|
|
163
|
+
description: "Inert exemplar flag injected into `pm list` by pm-command-kit; the core list handler ignores it.",
|
|
164
|
+
},
|
|
165
|
+
];
|
|
166
|
+
|
|
167
|
+
export function activate(api: ExtensionApi): void {
|
|
168
|
+
api.registerCommand(buildEchoCommandDefinition());
|
|
169
|
+
api.registerParser(ECHO_COMMAND, rewriteEchoOptions);
|
|
170
|
+
api.registerFlags("list", injectedListFlags);
|
|
171
|
+
}
|
|
172
|
+
|
|
173
|
+
export default {
|
|
174
|
+
manifest,
|
|
175
|
+
activate,
|
|
176
|
+
};
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "builtin-command-kit",
|
|
3
|
+
"version": "0.1.0",
|
|
4
|
+
"entry": "./index.js",
|
|
5
|
+
"priority": 0,
|
|
6
|
+
"trusted": true,
|
|
7
|
+
"sandbox_profile": "strict",
|
|
8
|
+
"permissions": {
|
|
9
|
+
"fs_read": false,
|
|
10
|
+
"fs_write": false,
|
|
11
|
+
"network": false,
|
|
12
|
+
"env_read": false,
|
|
13
|
+
"env_write": false,
|
|
14
|
+
"process_spawn": false
|
|
15
|
+
},
|
|
16
|
+
"capabilities": ["commands", "schema", "parser"],
|
|
17
|
+
"manifest_version": 1,
|
|
18
|
+
"pm_min_version": "2026.5.0",
|
|
19
|
+
"activation": {
|
|
20
|
+
"commands": ["command-kit echo", "list"]
|
|
21
|
+
}
|
|
22
|
+
}
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "@unbrained/pm-command-kit",
|
|
3
|
+
"version": "0.1.0",
|
|
4
|
+
"private": true,
|
|
5
|
+
"type": "module",
|
|
6
|
+
"description": "First-party pm exemplar package for the commands capability: registerCommand, registerFlags, and registerParser.",
|
|
7
|
+
"homepage": "https://github.com/unbraind/pm-cli/tree/main/packages/pm-command-kit#readme",
|
|
8
|
+
"repository": {
|
|
9
|
+
"type": "git",
|
|
10
|
+
"url": "git+https://github.com/unbraind/pm-cli.git",
|
|
11
|
+
"directory": "packages/pm-command-kit"
|
|
12
|
+
},
|
|
13
|
+
"bugs": {
|
|
14
|
+
"url": "https://github.com/unbraind/pm-cli/issues"
|
|
15
|
+
},
|
|
16
|
+
"keywords": [
|
|
17
|
+
"pm-package",
|
|
18
|
+
"project-management",
|
|
19
|
+
"sdk",
|
|
20
|
+
"commands",
|
|
21
|
+
"exemplar"
|
|
22
|
+
],
|
|
23
|
+
"pm": {
|
|
24
|
+
"aliases": [
|
|
25
|
+
"command-kit"
|
|
26
|
+
],
|
|
27
|
+
"extensions": [
|
|
28
|
+
"extensions/command-kit"
|
|
29
|
+
],
|
|
30
|
+
"catalog": {
|
|
31
|
+
"display_name": "Command Kit Exemplar",
|
|
32
|
+
"category": "sdk",
|
|
33
|
+
"summary": "Copy-paste-able exemplar for registerCommand, registerFlags, and registerParser.",
|
|
34
|
+
"tags": [
|
|
35
|
+
"sdk",
|
|
36
|
+
"commands",
|
|
37
|
+
"parser",
|
|
38
|
+
"exemplar"
|
|
39
|
+
],
|
|
40
|
+
"links": {
|
|
41
|
+
"docs": "https://github.com/unbraind/pm-cli/tree/main/packages/pm-command-kit#readme",
|
|
42
|
+
"repository": "https://github.com/unbraind/pm-cli/tree/main/packages/pm-command-kit",
|
|
43
|
+
"report": "https://github.com/unbraind/pm-cli/issues"
|
|
44
|
+
}
|
|
45
|
+
},
|
|
46
|
+
"docs": [
|
|
47
|
+
"README.md"
|
|
48
|
+
],
|
|
49
|
+
"examples": [
|
|
50
|
+
"README.md"
|
|
51
|
+
]
|
|
52
|
+
}
|
|
53
|
+
}
|
|
@@ -3,6 +3,16 @@
|
|
|
3
3
|
"version": "0.1.0",
|
|
4
4
|
"entry": "./index.js",
|
|
5
5
|
"priority": 0,
|
|
6
|
+
"trusted": true,
|
|
7
|
+
"sandbox_profile": "restricted",
|
|
8
|
+
"permissions": {
|
|
9
|
+
"fs_read": true,
|
|
10
|
+
"fs_write": true,
|
|
11
|
+
"network": false,
|
|
12
|
+
"env_read": true,
|
|
13
|
+
"env_write": false,
|
|
14
|
+
"process_spawn": false
|
|
15
|
+
},
|
|
6
16
|
"capabilities": ["commands", "schema", "hooks"],
|
|
7
17
|
"manifest_version": 1,
|
|
8
18
|
"pm_min_version": "2026.5.0",
|
|
@@ -3,6 +3,16 @@
|
|
|
3
3
|
"version": "0.1.0",
|
|
4
4
|
"entry": "./index.js",
|
|
5
5
|
"priority": 0,
|
|
6
|
+
"trusted": true,
|
|
7
|
+
"sandbox_profile": "strict",
|
|
8
|
+
"permissions": {
|
|
9
|
+
"fs_read": true,
|
|
10
|
+
"fs_write": false,
|
|
11
|
+
"network": false,
|
|
12
|
+
"env_read": true,
|
|
13
|
+
"env_write": false,
|
|
14
|
+
"process_spawn": false
|
|
15
|
+
},
|
|
6
16
|
"capabilities": ["commands", "schema", "services"],
|
|
7
17
|
"manifest_version": 1,
|
|
8
18
|
"pm_min_version": "2026.5.0",
|
|
@@ -3,6 +3,16 @@
|
|
|
3
3
|
"version": "0.1.0",
|
|
4
4
|
"entry": "./index.js",
|
|
5
5
|
"priority": 0,
|
|
6
|
+
"trusted": true,
|
|
7
|
+
"sandbox_profile": "strict",
|
|
8
|
+
"permissions": {
|
|
9
|
+
"fs_read": false,
|
|
10
|
+
"fs_write": false,
|
|
11
|
+
"network": false,
|
|
12
|
+
"env_read": false,
|
|
13
|
+
"env_write": false,
|
|
14
|
+
"process_spawn": false
|
|
15
|
+
},
|
|
6
16
|
"capabilities": ["hooks"],
|
|
7
17
|
"manifest_version": 1,
|
|
8
18
|
"pm_min_version": "2026.5.0"
|
|
@@ -3,6 +3,16 @@
|
|
|
3
3
|
"version": "0.1.0",
|
|
4
4
|
"entry": "./index.js",
|
|
5
5
|
"priority": 0,
|
|
6
|
+
"trusted": true,
|
|
7
|
+
"sandbox_profile": "none",
|
|
8
|
+
"permissions": {
|
|
9
|
+
"fs_read": true,
|
|
10
|
+
"fs_write": true,
|
|
11
|
+
"network": false,
|
|
12
|
+
"env_read": true,
|
|
13
|
+
"env_write": false,
|
|
14
|
+
"process_spawn": true
|
|
15
|
+
},
|
|
6
16
|
"capabilities": ["commands", "schema"],
|
|
7
17
|
"manifest_version": 1,
|
|
8
18
|
"pm_min_version": "2026.5.0",
|
|
@@ -195,6 +195,12 @@ const reindexFlags = [
|
|
|
195
195
|
value_type: "string",
|
|
196
196
|
description: "Reindex mode: keyword|semantic|hybrid.",
|
|
197
197
|
},
|
|
198
|
+
{
|
|
199
|
+
long: "--full",
|
|
200
|
+
value_type: "boolean",
|
|
201
|
+
description:
|
|
202
|
+
"Force full semantic/hybrid embedding rebuild; by default semantic/hybrid reindex only embeds stale items.",
|
|
203
|
+
},
|
|
198
204
|
{
|
|
199
205
|
long: "--progress",
|
|
200
206
|
value_type: "boolean",
|
|
@@ -217,6 +217,12 @@ const reindexFlags = [
|
|
|
217
217
|
value_type: "string",
|
|
218
218
|
description: "Reindex mode: keyword|semantic|hybrid.",
|
|
219
219
|
},
|
|
220
|
+
{
|
|
221
|
+
long: "--full",
|
|
222
|
+
value_type: "boolean",
|
|
223
|
+
description:
|
|
224
|
+
"Force full semantic/hybrid embedding rebuild; by default semantic/hybrid reindex only embeds stale items.",
|
|
225
|
+
},
|
|
220
226
|
{
|
|
221
227
|
long: "--progress",
|
|
222
228
|
value_type: "boolean",
|
|
@@ -3,6 +3,16 @@
|
|
|
3
3
|
"version": "0.1.0",
|
|
4
4
|
"entry": "./index.js",
|
|
5
5
|
"priority": 0,
|
|
6
|
+
"trusted": true,
|
|
7
|
+
"sandbox_profile": "restricted",
|
|
8
|
+
"permissions": {
|
|
9
|
+
"fs_read": true,
|
|
10
|
+
"fs_write": true,
|
|
11
|
+
"network": true,
|
|
12
|
+
"env_read": true,
|
|
13
|
+
"env_write": false,
|
|
14
|
+
"process_spawn": false
|
|
15
|
+
},
|
|
6
16
|
"capabilities": [
|
|
7
17
|
"commands",
|
|
8
18
|
"schema",
|
|
@@ -138,6 +138,7 @@ function normalizeAdvancedSearchOptions(rawOptions, args) {
|
|
|
138
138
|
function normalizeReindexOptions(rawOptions) {
|
|
139
139
|
return {
|
|
140
140
|
mode: readStringOption(rawOptions, "mode"),
|
|
141
|
+
full: readBooleanOption(rawOptions, "full") === true ? true : undefined,
|
|
141
142
|
progress: readBooleanOption(rawOptions, "progress") === true ? true : undefined,
|
|
142
143
|
};
|
|
143
144
|
}
|
|
@@ -211,6 +211,7 @@ function normalizeAdvancedSearchOptions(rawOptions: Record<string, unknown>, arg
|
|
|
211
211
|
function normalizeReindexOptions(rawOptions: Record<string, unknown>): ReindexOptions {
|
|
212
212
|
return {
|
|
213
213
|
mode: readStringOption(rawOptions, "mode"),
|
|
214
|
+
full: readBooleanOption(rawOptions, "full") === true ? true : undefined,
|
|
214
215
|
progress: readBooleanOption(rawOptions, "progress") === true ? true : undefined,
|
|
215
216
|
};
|
|
216
217
|
}
|
|
@@ -3,6 +3,16 @@
|
|
|
3
3
|
"version": "0.1.0",
|
|
4
4
|
"entry": "./index.js",
|
|
5
5
|
"priority": 0,
|
|
6
|
+
"trusted": true,
|
|
7
|
+
"sandbox_profile": "restricted",
|
|
8
|
+
"permissions": {
|
|
9
|
+
"fs_read": true,
|
|
10
|
+
"fs_write": true,
|
|
11
|
+
"network": false,
|
|
12
|
+
"env_read": true,
|
|
13
|
+
"env_write": false,
|
|
14
|
+
"process_spawn": false
|
|
15
|
+
},
|
|
6
16
|
"capabilities": ["commands", "schema"],
|
|
7
17
|
"manifest_version": 1,
|
|
8
18
|
"pm_min_version": "2026.5.0",
|
|
@@ -3,6 +3,16 @@
|
|
|
3
3
|
"version": "0.1.0",
|
|
4
4
|
"entry": "./index.js",
|
|
5
5
|
"priority": 0,
|
|
6
|
+
"trusted": true,
|
|
7
|
+
"sandbox_profile": "restricted",
|
|
8
|
+
"permissions": {
|
|
9
|
+
"fs_read": true,
|
|
10
|
+
"fs_write": true,
|
|
11
|
+
"network": false,
|
|
12
|
+
"env_read": true,
|
|
13
|
+
"env_write": false,
|
|
14
|
+
"process_spawn": false
|
|
15
|
+
},
|
|
6
16
|
"capabilities": [
|
|
7
17
|
"commands",
|
|
8
18
|
"schema",
|
|
@@ -1,16 +0,0 @@
|
|
|
1
|
-
import {
|
|
2
|
-
runActivity
|
|
3
|
-
} from "./chunk-KTVXLI54.js";
|
|
4
|
-
import "./chunk-EQ6N6IDR.js";
|
|
5
|
-
import "./chunk-H37YPWLM.js";
|
|
6
|
-
import "./chunk-VDVVOLR6.js";
|
|
7
|
-
import "./chunk-LF2VNLEZ.js";
|
|
8
|
-
import "./chunk-WCWIDJII.js";
|
|
9
|
-
import "./chunk-NHRZSYAA.js";
|
|
10
|
-
import "./chunk-U3Z4OCZC.js";
|
|
11
|
-
import "./chunk-SAUXUI6U.js";
|
|
12
|
-
import "./chunk-C72IQIBT.js";
|
|
13
|
-
export {
|
|
14
|
-
runActivity
|
|
15
|
-
};
|
|
16
|
-
//# sourceMappingURL=activity-HF3VJYKH.js.map
|
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"version": 3,
|
|
3
|
-
"sources": ["../../../../../../../../cli/commands/aggregate.ts"],
|
|
4
|
-
"sourcesContent": ["import { EXIT_CODE } from \"../../core/shared/constants.js\";\nimport type { GlobalOptions } from \"../../core/shared/command-types.js\";\nimport { PmCliError } from \"../../core/shared/errors.js\";\nimport { splitCommaList } from \"../../core/shared/split-comma-list.js\";\nimport { nowIso } from \"../../core/shared/time.js\";\nimport { normalizeStatusInput } from \"../../core/item/status.js\";\nimport { resolveRuntimeStatusRegistry, type RuntimeStatusRegistry } from \"../../core/schema/runtime-schema.js\";\nimport { resolvePmRoot } from \"../../core/store/paths.js\";\nimport { readSettings } from \"../../core/store/settings.js\";\nimport { type ItemStatus } from \"../../types/index.js\";\nimport { runList } from \"./list.js\";\n\ntype AggregateGroupField = \"parent\" | \"type\" | \"priority\" | \"status\" | \"assignee\" | \"tags\" | \"sprint\" | \"release\";\ntype AggregateGroupValue = string | number | null;\ntype AggregateGroupRecord = Partial<Record<AggregateGroupField, AggregateGroupValue>>;\ntype AggregateListedItem = {\n type: string;\n status: ItemStatus;\n priority: number;\n parent?: string;\n assignee?: string;\n tags: string[];\n sprint?: string;\n release?: string;\n};\n\nconst AGGREGATE_GROUP_FIELDS: AggregateGroupField[] = [\n \"parent\",\n \"type\",\n \"priority\",\n \"status\",\n \"assignee\",\n \"tags\",\n \"sprint\",\n \"release\",\n];\n\nexport interface AggregateOptions {\n groupBy?: string;\n count?: boolean;\n sum?: string;\n avg?: string;\n includeUnparented?: boolean;\n status?: string;\n type?: string;\n tag?: string;\n priority?: string;\n deadlineBefore?: string;\n deadlineAfter?: string;\n assignee?: string;\n assigneeFilter?: string;\n parent?: string;\n sprint?: string;\n release?: string;\n}\n\nexport interface AggregateRow {\n group: AggregateGroupRecord;\n count: number;\n null_count?: number;\n sum?: number | null;\n avg?: number | null;\n}\n\nexport interface AggregateResult {\n groups: AggregateRow[];\n count: number;\n totals: {\n items_considered: number;\n items_grouped: number;\n items_skipped_unparented: number;\n };\n filters: {\n group_by: AggregateGroupField[];\n count: boolean;\n sum?: string | null;\n avg?: string | null;\n numeric_field?: string | null;\n include_unparented: boolean;\n status: ItemStatus | null;\n type: string | null;\n tag: string | null;\n priority: string | null;\n deadline_before: string | null;\n deadline_after: string | null;\n assignee: string | null;\n assignee_filter: string | null;\n parent: string | null;\n sprint: string | null;\n release: string | null;\n };\n now: string;\n warnings?: string[];\n}\n\nfunction parseStatus(raw: string | undefined, statusRegistry: RuntimeStatusRegistry): ItemStatus | undefined {\n if (raw === undefined) {\n return undefined;\n }\n const normalized = normalizeStatusInput(raw, statusRegistry);\n if (!normalized) {\n throw new PmCliError(\n `Status filter must be one of ${statusRegistry.definitions.map((definition) => definition.id).join(\"|\")}`,\n EXIT_CODE.USAGE,\n );\n }\n return normalized;\n}\n\ninterface NumericAggregation {\n field: string;\n sum: boolean;\n avg: boolean;\n}\n\nfunction parseNumericAggregation(options: AggregateOptions): NumericAggregation | null {\n const sumField = options.sum?.trim();\n const avgField = options.avg?.trim();\n const normalizedSum = sumField && sumField.length > 0 ? sumField : undefined;\n const normalizedAvg = avgField && avgField.length > 0 ? avgField : undefined;\n if (!normalizedSum && !normalizedAvg) {\n return null;\n }\n if (normalizedSum && normalizedAvg && normalizedSum !== normalizedAvg) {\n throw new PmCliError(\"Aggregate --sum and --avg must target the same numeric field\", EXIT_CODE.USAGE);\n }\n return {\n field: normalizedSum ?? normalizedAvg ?? \"\",\n sum: normalizedSum !== undefined,\n avg: normalizedAvg !== undefined,\n };\n}\n\nfunction parseGroupBy(raw: string | undefined): AggregateGroupField[] {\n const value = raw?.trim() ?? \"status\";\n if (value.length === 0) {\n throw new PmCliError(\"--group-by requires at least one field name\", EXIT_CODE.USAGE);\n }\n const requested = splitCommaList(value);\n if (requested.length === 0) {\n throw new PmCliError(\"--group-by requires a comma-separated list of fields\", EXIT_CODE.USAGE);\n }\n for (const field of requested) {\n if (!AGGREGATE_GROUP_FIELDS.includes(field as AggregateGroupField)) {\n throw new PmCliError(\n `Aggregate group fields must be one of ${AGGREGATE_GROUP_FIELDS.join(\"|\")}; received \"${field}\"`,\n EXIT_CODE.USAGE,\n );\n }\n }\n return requested as AggregateGroupField[];\n}\n\nfunction normalizeTagGroupValue(tags: string[]): string | null {\n const normalized = [...new Set(tags.map((tag) => tag.trim().toLowerCase()).filter((tag) => tag.length > 0))].sort((left, right) =>\n left.localeCompare(right),\n );\n if (normalized.length === 0) {\n return null;\n }\n return normalized.join(\",\");\n}\n\nfunction resolveGroupValue(field: AggregateGroupField, item: AggregateListedItem): AggregateGroupValue {\n switch (field) {\n case \"parent\":\n return item.parent ?? null;\n case \"type\":\n return item.type;\n case \"priority\":\n return item.priority;\n case \"status\":\n return item.status;\n case \"assignee\":\n return item.assignee ?? null;\n case \"tags\":\n return normalizeTagGroupValue(item.tags);\n case \"sprint\":\n return item.sprint ?? null;\n case \"release\":\n return item.release ?? null;\n default:\n return null;\n }\n}\n\nfunction compareNullableGroupValue(left: AggregateGroupValue | undefined, right: AggregateGroupValue | undefined): number {\n const leftValue = left ?? null;\n const rightValue = right ?? null;\n if (leftValue === rightValue) {\n return 0;\n }\n if (leftValue === null) {\n return 1;\n }\n if (rightValue === null) {\n return -1;\n }\n if (typeof leftValue === \"number\" && typeof rightValue === \"number\") {\n return leftValue - rightValue;\n }\n return String(leftValue).localeCompare(String(rightValue));\n}\n\nfunction buildGroupKey(groupBy: AggregateGroupField[], group: AggregateGroupRecord): string {\n return groupBy.map((field) => `${field}:${JSON.stringify(group[field] ?? null)}`).join(\"|\");\n}\n\nfunction compareAggregateRows(\n left: AggregateRow,\n right: AggregateRow,\n groupBy: AggregateGroupField[],\n): number {\n for (const field of groupBy) {\n const byField = compareNullableGroupValue(left.group[field], right.group[field]);\n if (byField !== 0) {\n return byField;\n }\n }\n return 0;\n}\n\nfunction readNumericAggregateValue(item: AggregateListedItem, field: string): number | null {\n const source = item as unknown as Record<string, unknown>;\n const raw = source[field];\n if (typeof raw === \"number\" && Number.isFinite(raw)) {\n return raw;\n }\n if (typeof raw === \"string\") {\n const trimmed = raw.trim();\n if (trimmed.length === 0) {\n return null;\n }\n const parsed = Number(trimmed);\n if (Number.isFinite(parsed)) {\n return parsed;\n }\n }\n return null;\n}\n\ninterface AggregateAccumulator {\n row: AggregateRow;\n numeric_count: number;\n numeric_sum: number;\n null_count: number;\n}\n\nexport async function runAggregate(options: AggregateOptions, global: GlobalOptions): Promise<AggregateResult> {\n if (options.count === false) {\n throw new PmCliError(\"Aggregate grouped counts are always enabled; omit count=false.\", EXIT_CODE.USAGE);\n }\n\n const pmRoot = resolvePmRoot(process.cwd(), global.path);\n const settings = await readSettings(pmRoot);\n const statusRegistry = resolveRuntimeStatusRegistry(settings.schema);\n const groupBy = parseGroupBy(options.groupBy);\n const status = parseStatus(options.status, statusRegistry);\n const numericAggregation = parseNumericAggregation(options);\n const includeUnparented = options.includeUnparented === true;\n\n const listed = await runList(\n status,\n {\n type: options.type,\n tag: options.tag,\n priority: options.priority,\n deadlineBefore: options.deadlineBefore,\n deadlineAfter: options.deadlineAfter,\n assignee: options.assignee,\n assigneeFilter: options.assigneeFilter,\n parent: options.parent,\n sprint: options.sprint,\n release: options.release,\n },\n global,\n );\n\n const grouped = new Map<string, AggregateAccumulator>();\n let skippedUnparented = 0;\n let groupedItemCount = 0;\n\n for (const listedItem of listed.items) {\n const item = listedItem as AggregateListedItem;\n const group: AggregateGroupRecord = {};\n for (const field of groupBy) {\n group[field] = resolveGroupValue(field, item);\n }\n if (groupBy.includes(\"parent\") && group.parent === null && !includeUnparented) {\n skippedUnparented += 1;\n continue;\n }\n const key = buildGroupKey(groupBy, group);\n const existing = grouped.get(key);\n const numericValue =\n numericAggregation === null\n ? null\n : readNumericAggregateValue(item, numericAggregation.field);\n if (existing) {\n existing.row.count += 1;\n if (numericAggregation !== null) {\n if (numericValue === null) {\n existing.null_count += 1;\n } else {\n existing.numeric_count += 1;\n existing.numeric_sum += numericValue;\n }\n }\n } else {\n grouped.set(key, {\n row: {\n group,\n count: 1,\n },\n numeric_count: numericValue === null ? 0 : 1,\n numeric_sum: numericValue ?? 0,\n null_count: numericValue === null ? 1 : 0,\n });\n }\n groupedItemCount += 1;\n }\n\n const groups = [...grouped.values()]\n .map((entry) => {\n if (numericAggregation === null) {\n return entry.row;\n }\n const withNumeric: AggregateRow = {\n ...entry.row,\n null_count: entry.null_count,\n };\n if (numericAggregation.sum) {\n withNumeric.sum = entry.numeric_sum;\n }\n if (numericAggregation.avg) {\n withNumeric.avg = entry.numeric_count === 0 ? null : entry.numeric_sum / entry.numeric_count;\n }\n return withNumeric;\n })\n .sort((left, right) => compareAggregateRows(left, right, groupBy));\n const warnings = listed.warnings && listed.warnings.length > 0 ? listed.warnings : undefined;\n\n return {\n groups,\n count: groups.length,\n totals: {\n items_considered: listed.items.length,\n items_grouped: groupedItemCount,\n items_skipped_unparented: skippedUnparented,\n },\n filters: {\n group_by: groupBy,\n count: true,\n include_unparented: includeUnparented,\n status: status ?? null,\n type: options.type ?? null,\n tag: options.tag ?? null,\n priority: options.priority ?? null,\n deadline_before: options.deadlineBefore ?? null,\n deadline_after: options.deadlineAfter ?? null,\n assignee: options.assignee ?? null,\n assignee_filter: options.assigneeFilter ?? null,\n parent: options.parent ?? null,\n sprint: options.sprint ?? null,\n release: options.release ?? null,\n ...(numericAggregation !== null\n ? {\n sum: options.sum ?? null,\n avg: options.avg ?? null,\n numeric_field: numericAggregation.field,\n }\n : {}),\n },\n now: nowIso(),\n ...(warnings ? { warnings } : {}),\n };\n}\n"],
|
|
5
|
-
"mappings": "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",
|
|
6
|
-
"names": ["global"]
|
|
7
|
-
}
|