@unbrained/pm-cli 2026.6.9 → 2026.6.11
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 +1 -1
- package/CHANGELOG.md +59 -0
- package/README.md +1 -1
- package/dist/cli/bootstrap-args.d.ts +11 -0
- package/dist/cli/bootstrap-args.js +90 -4
- 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/contracts.d.ts +2 -0
- package/dist/cli/commands/contracts.js +9 -2
- package/dist/cli/commands/contracts.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/error-guidance.d.ts +8 -0
- package/dist/cli/error-guidance.js +102 -2
- package/dist/cli/error-guidance.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-RUJATACW.js → activity-XADJOG6G.js} +11 -11
- package/dist/cli-bundle/chunks/activity-XZIUPGZH.js +16 -0
- package/dist/cli-bundle/chunks/{aggregate-TT7OCHHT.js → aggregate-6OTS3AOO.js} +65 -24
- package/dist/cli-bundle/chunks/aggregate-6OTS3AOO.js.map +1 -0
- package/dist/cli-bundle/chunks/{aggregate-IQ27NFBI.js → aggregate-OD36DJU5.js} +64 -23
- package/dist/cli-bundle/chunks/aggregate-OD36DJU5.js.map +7 -0
- package/dist/cli-bundle/chunks/{append-E7AJ5RTR.js → append-JYWO4P7W.js} +8 -8
- package/dist/cli-bundle/chunks/{append-CWQZBUWV.js → append-KG55G7S3.js} +8 -8
- package/dist/cli-bundle/chunks/{chunk-LF2VNLEZ.js → chunk-3KLPFWZ4.js} +8 -8
- package/dist/cli-bundle/chunks/{chunk-LF2VNLEZ.js.map → chunk-3KLPFWZ4.js.map} +2 -2
- package/dist/cli-bundle/chunks/{chunk-ENCVPOID.js → chunk-3SLOMKCJ.js} +12 -12
- package/dist/cli-bundle/chunks/chunk-4HFU4UO2.js +518 -0
- package/dist/cli-bundle/chunks/chunk-4HFU4UO2.js.map +1 -0
- package/dist/cli-bundle/chunks/{chunk-F2REA7VW.js → chunk-4JCSYR6F.js} +3 -3
- package/dist/cli-bundle/chunks/{chunk-CAXUGAAF.js → chunk-4YFAGDRH.js} +8 -8
- package/dist/cli-bundle/chunks/{chunk-U3Z4OCZC.js → chunk-5SCT2JCT.js} +2 -2
- package/dist/cli-bundle/chunks/{chunk-NHRZSYAA.js → chunk-73ZPG2I3.js} +3 -3
- package/dist/cli-bundle/chunks/{chunk-D5D7VKIC.js → chunk-7IYFN5R7.js} +6 -5
- package/dist/cli-bundle/chunks/chunk-7IYFN5R7.js.map +1 -0
- package/dist/cli-bundle/chunks/{chunk-A5342JVL.js → chunk-7RIT3OCD.js} +12 -12
- package/dist/cli-bundle/chunks/{chunk-LU54Z4QI.js → chunk-7UGSRQCL.js} +76 -74
- package/dist/cli-bundle/chunks/{chunk-LU54Z4QI.js.map → chunk-7UGSRQCL.js.map} +3 -3
- package/dist/cli-bundle/chunks/{chunk-5JF76OJF.js → chunk-A6LXQFO7.js} +290 -25
- package/dist/cli-bundle/chunks/chunk-A6LXQFO7.js.map +1 -0
- package/dist/cli-bundle/chunks/{chunk-7CR4GAYN.js → chunk-ATEES5SX.js} +2 -2
- package/dist/cli-bundle/chunks/{chunk-FHUI7AXS.js → chunk-AVGHVVF7.js} +3 -3
- package/dist/cli-bundle/chunks/{chunk-T7B5VAKD.js → chunk-B65UUCGQ.js} +13 -6
- package/dist/cli-bundle/chunks/chunk-B65UUCGQ.js.map +7 -0
- package/dist/cli-bundle/chunks/{chunk-42IULX44.js → chunk-CCX4RSYZ.js} +2 -2
- package/dist/cli-bundle/chunks/{chunk-EFRHTZO4.js → chunk-CW6E4NAT.js} +8 -8
- package/dist/cli-bundle/chunks/{chunk-JN3BT7UY.js → chunk-DY6C42S6.js} +9 -9
- package/dist/cli-bundle/chunks/{chunk-PUSOAQCR.js → chunk-E5DUIJA4.js} +5 -5
- package/dist/cli-bundle/chunks/{chunk-E7LOIIFP.js → chunk-ESANVZF4.js} +3 -3
- package/dist/cli-bundle/chunks/{chunk-WQZCEEQN.js → chunk-EWFY7SLA.js} +157 -12
- package/dist/cli-bundle/chunks/chunk-EWFY7SLA.js.map +1 -0
- package/dist/cli-bundle/chunks/{chunk-YI6W2DBN.js → chunk-F75JSIOZ.js} +6 -6
- package/dist/cli-bundle/chunks/{chunk-6IGTNFE3.js → chunk-FDH2X65L.js} +2 -2
- package/dist/cli-bundle/chunks/{chunk-GPOSGWCN.js → chunk-FXRU333M.js} +68 -7
- package/dist/cli-bundle/chunks/chunk-FXRU333M.js.map +1 -0
- package/dist/cli-bundle/chunks/{chunk-C72IQIBT.js → chunk-FY4SPXSC.js} +302 -30
- package/dist/cli-bundle/chunks/chunk-FY4SPXSC.js.map +7 -0
- package/dist/cli-bundle/chunks/{chunk-TLD3UYGY.js → chunk-GKIZW7SM.js} +5 -4
- package/dist/cli-bundle/chunks/chunk-GKIZW7SM.js.map +7 -0
- package/dist/cli-bundle/chunks/{chunk-YSANBZAE.js → chunk-GWZSYR6X.js} +12 -5
- package/dist/cli-bundle/chunks/chunk-GWZSYR6X.js.map +7 -0
- package/dist/cli-bundle/chunks/{chunk-FJNJEWU4.js → chunk-HGLC63AU.js} +14 -12
- package/dist/cli-bundle/chunks/chunk-HGLC63AU.js.map +1 -0
- package/dist/cli-bundle/chunks/{chunk-RLVI7KDW.js → chunk-HHHJ2GI3.js} +163 -11
- package/dist/cli-bundle/chunks/chunk-HHHJ2GI3.js.map +7 -0
- package/dist/cli-bundle/chunks/{chunk-AVGOVJGV.js → chunk-HI7STVF2.js} +9 -9
- package/dist/cli-bundle/chunks/{chunk-AVGOVJGV.js.map → chunk-HI7STVF2.js.map} +1 -1
- package/dist/cli-bundle/chunks/{chunk-ANKG2JKL.js → chunk-I2IJY2NL.js} +12 -5
- package/dist/cli-bundle/chunks/chunk-I2IJY2NL.js.map +1 -0
- package/dist/cli-bundle/chunks/{chunk-ZPXDD6RQ.js → chunk-I53JBTJW.js} +6 -6
- package/dist/cli-bundle/chunks/{chunk-23WNCJBA.js → chunk-I7NYDZDV.js} +2 -2
- package/dist/cli-bundle/chunks/{chunk-EQ6N6IDR.js → chunk-IGVJRZ6H.js} +13 -11
- package/dist/cli-bundle/chunks/chunk-IGVJRZ6H.js.map +7 -0
- package/dist/cli-bundle/chunks/{chunk-JVMAOD54.js → chunk-IH4MBKK7.js} +14 -7
- package/dist/cli-bundle/chunks/chunk-IH4MBKK7.js.map +1 -0
- package/dist/cli-bundle/chunks/{chunk-BIRVSIM2.js → chunk-IKOH24GZ.js} +14 -14
- package/dist/cli-bundle/chunks/chunk-IKOH24GZ.js.map +7 -0
- package/dist/cli-bundle/chunks/{chunk-SAUXUI6U.js → chunk-IUKD4W6Z.js} +2 -2
- package/dist/cli-bundle/chunks/{chunk-3RHE76G6.js → chunk-J3GD64J2.js} +15 -15
- package/dist/cli-bundle/chunks/chunk-J3GD64J2.js.map +1 -0
- package/dist/cli-bundle/chunks/{chunk-OT6XAMO5.js → chunk-KWAXVAXX.js} +7 -5
- package/dist/cli-bundle/chunks/{chunk-OT6XAMO5.js.map → chunk-KWAXVAXX.js.map} +2 -2
- package/dist/cli-bundle/chunks/{chunk-SD6H3RLA.js → chunk-LCSCXBGT.js} +15 -5
- package/dist/cli-bundle/chunks/{chunk-SD6H3RLA.js.map → chunk-LCSCXBGT.js.map} +2 -2
- package/dist/cli-bundle/chunks/{chunk-RKCJ2JMA.js → chunk-OASDW5UI.js} +7 -7
- package/dist/cli-bundle/chunks/{chunk-JEGFLKSI.js → chunk-OLKBSY4N.js} +2 -2
- package/dist/cli-bundle/chunks/{chunk-4LRVXVJK.js → chunk-P2PSODAQ.js} +70 -9
- package/dist/cli-bundle/chunks/chunk-P2PSODAQ.js.map +7 -0
- package/dist/cli-bundle/chunks/{chunk-XEOO6K5J.js → chunk-P5BJOMBB.js} +9 -9
- package/dist/cli-bundle/chunks/{chunk-P2NVFE4L.js → chunk-P5U5EOMA.js} +3 -3
- package/dist/cli-bundle/chunks/{chunk-AM2AXVFS.js → chunk-PSD7F7DX.js} +5 -5
- package/dist/cli-bundle/chunks/{chunk-VDVVOLR6.js → chunk-QJMGRZO2.js} +3 -3
- package/dist/cli-bundle/chunks/{chunk-7YTWXGE3.js → chunk-QKW5D45B.js} +112 -7
- package/dist/cli-bundle/chunks/chunk-QKW5D45B.js.map +1 -0
- package/dist/cli-bundle/chunks/{chunk-T7NWFVOA.js → chunk-QNJSITCX.js} +7 -7
- package/dist/cli-bundle/chunks/{chunk-MNXJ6YDO.js → chunk-RXAP6JL5.js} +9 -9
- package/dist/cli-bundle/chunks/{chunk-5MMLINZB.js → chunk-S26FESD4.js} +3 -3
- package/dist/cli-bundle/chunks/{chunk-I26E6XA7.js → chunk-S2ZLDYGS.js} +8 -6
- package/dist/cli-bundle/chunks/chunk-S2ZLDYGS.js.map +1 -0
- package/dist/cli-bundle/chunks/chunk-SXKNJPQ7.js +528 -0
- package/dist/cli-bundle/chunks/chunk-SXKNJPQ7.js.map +7 -0
- package/dist/cli-bundle/chunks/{chunk-OPYA2HIU.js → chunk-TK5VZFHY.js} +7 -7
- package/dist/cli-bundle/chunks/{chunk-4TJWRPIH.js → chunk-TNAP7EJX.js} +2 -2
- package/dist/cli-bundle/chunks/{chunk-I4FGL3K2.js → chunk-UOO6BYIA.js} +16 -6
- package/dist/cli-bundle/chunks/chunk-UOO6BYIA.js.map +1 -0
- package/dist/cli-bundle/chunks/{chunk-5ATRWEZO.js → chunk-UUWGCWBU.js} +3 -3
- package/dist/cli-bundle/chunks/{chunk-YX5LAKFJ.js → chunk-VAOUX6TK.js} +2 -2
- package/dist/cli-bundle/chunks/{chunk-RMTI5R76.js → chunk-VFUZV5EB.js} +111 -6
- package/dist/cli-bundle/chunks/chunk-VFUZV5EB.js.map +7 -0
- package/dist/cli-bundle/chunks/{chunk-WCWIDJII.js → chunk-VPEAS7PS.js} +2 -2
- package/dist/cli-bundle/chunks/{chunk-RE2JQJZJ.js → chunk-VSRZRLG3.js} +3 -3
- package/dist/cli-bundle/chunks/{chunk-PW7C262O.js → chunk-WUNFKP7M.js} +2 -2
- package/dist/cli-bundle/chunks/{chunk-BACSNVWE.js → chunk-XJDGS74Y.js} +71 -69
- package/dist/cli-bundle/chunks/{chunk-BACSNVWE.js.map → chunk-XJDGS74Y.js.map} +1 -1
- package/dist/cli-bundle/chunks/{chunk-H37YPWLM.js → chunk-XMBI6TNW.js} +13 -7
- package/dist/cli-bundle/chunks/chunk-XMBI6TNW.js.map +7 -0
- package/dist/cli-bundle/chunks/{chunk-NUGAWYEN.js → chunk-XTKJSVWH.js} +2 -2
- package/dist/cli-bundle/chunks/{chunk-KDX6VC3P.js → chunk-XUC4C4PT.js} +3 -3
- package/dist/cli-bundle/chunks/{chunk-44JP4PYY.js → chunk-Y3YKK7CY.js} +2 -2
- package/dist/cli-bundle/chunks/{chunk-KTVXLI54.js → chunk-YW6Q3RYZ.js} +7 -7
- package/dist/cli-bundle/chunks/{chunk-I3UILOUU.js → chunk-ZLMIWZUG.js} +2 -2
- package/dist/cli-bundle/chunks/{chunk-FKH7K6YP.js → chunk-ZMW77VWV.js} +9 -9
- package/dist/cli-bundle/chunks/{chunk-NJRZIJ4N.js → chunk-ZYNJNPYD.js} +14 -8
- package/dist/cli-bundle/chunks/chunk-ZYNJNPYD.js.map +1 -0
- package/dist/cli-bundle/chunks/{claim-UXFGCF3P.js → claim-2RDYMCTP.js} +10 -10
- package/dist/cli-bundle/chunks/{claim-RV6WYUF7.js → claim-MJ7DZFC3.js} +10 -10
- package/dist/cli-bundle/chunks/close-4FMAPEMY.js +13 -0
- package/dist/cli-bundle/chunks/{close-O4JK2JKD.js → close-XLEKIQSW.js} +8 -8
- package/dist/cli-bundle/chunks/{close-many-EQO4TPIE.js → close-many-AOD4HSAZ.js} +15 -15
- package/dist/cli-bundle/chunks/{close-many-SRDBV3SI.js → close-many-XKAQY5CQ.js} +15 -15
- package/dist/cli-bundle/chunks/{comments-TTZUIB2O.js → comments-B4RWWDJT.js} +10 -10
- package/dist/cli-bundle/chunks/{comments-OMB7YE27.js → comments-RN5TG4ZN.js} +10 -10
- package/dist/cli-bundle/chunks/{config-5VPR42A6.js → config-3JXJ3XZ7.js} +8 -8
- package/dist/cli-bundle/chunks/{config-NNLXVGVC.js → config-FZ4UDC4B.js} +8 -8
- package/dist/cli-bundle/chunks/{context-4QK6GRXO.js → context-L36PIN35.js} +146 -33
- package/dist/cli-bundle/chunks/{context-4QK6GRXO.js.map → context-L36PIN35.js.map} +2 -2
- package/dist/cli-bundle/chunks/{context-4N7GYTVQ.js → context-QBPO3BFM.js} +147 -34
- package/dist/cli-bundle/chunks/context-QBPO3BFM.js.map +1 -0
- package/dist/cli-bundle/chunks/{contracts-DXCWXOSP.js → contracts-3NKWYKKU.js} +309 -6
- package/dist/cli-bundle/chunks/contracts-3NKWYKKU.js.map +1 -0
- package/dist/cli-bundle/chunks/{contracts-AOBNEBVT.js → contracts-MIXBWJIB.js} +315 -5
- package/dist/cli-bundle/chunks/contracts-MIXBWJIB.js.map +7 -0
- package/dist/cli-bundle/chunks/{copy-5NM3SVJA.js → copy-ALU5WMHA.js} +7 -7
- package/dist/cli-bundle/chunks/{copy-XSYEQTLA.js → copy-FWIVTLBO.js} +7 -7
- package/dist/cli-bundle/chunks/{create-FCCAATQV.js → create-IFA26O2I.js} +13 -13
- package/dist/cli-bundle/chunks/create-JVXYHYH4.js +27 -0
- package/dist/cli-bundle/chunks/{delete-5JFP6OG7.js → delete-IYTIYAJS.js} +7 -7
- package/dist/cli-bundle/chunks/{delete-PQXJQXQ7.js → delete-Y2SGJBGY.js} +7 -7
- package/dist/cli-bundle/chunks/{deps-S5322EOQ.js → deps-6TSPOSGU.js} +7 -7
- package/dist/cli-bundle/chunks/{deps-XXKBOQUA.js → deps-CZ4PTVXU.js} +7 -7
- package/dist/cli-bundle/chunks/{docs-C7CCVWAJ.js → docs-5WMBVQT2.js} +9 -9
- package/dist/cli-bundle/chunks/{docs-DZRPAW5S.js → docs-MB53UJAJ.js} +9 -9
- package/dist/cli-bundle/chunks/{extension-CSHP6FZX.js → extension-Q34OEWO5.js} +5 -5
- package/dist/cli-bundle/chunks/{extension-XNNVUVAY.js → extension-WH2FOIOZ.js} +5 -5
- package/dist/cli-bundle/chunks/{files-UPCNKEIZ.js → files-DLB5LJEP.js} +9 -9
- package/dist/cli-bundle/chunks/{files-OBWYYPKM.js → files-GVMNVLCB.js} +9 -9
- package/dist/cli-bundle/chunks/{gc-FA2ONELT.js → gc-2WEPW6D6.js} +3 -3
- package/dist/cli-bundle/chunks/{gc-KXK6KBRN.js → gc-4Z3IKHAZ.js} +3 -3
- package/dist/cli-bundle/chunks/{get-PNTSONGB.js → get-PCHS7RA6.js} +11 -11
- package/dist/cli-bundle/chunks/{get-FLHYTOBA.js → get-QARTE6BL.js} +11 -11
- package/dist/cli-bundle/chunks/{health-CS5RNTJX.js → health-4ZYB3IYQ.js} +47 -19
- package/dist/cli-bundle/chunks/health-4ZYB3IYQ.js.map +1 -0
- package/dist/cli-bundle/chunks/{health-KCRVYIYY.js → health-YO5LRWN4.js} +46 -18
- package/dist/cli-bundle/chunks/health-YO5LRWN4.js.map +7 -0
- package/dist/cli-bundle/chunks/{history-COQTPBEU.js → history-7WUAEWHW.js} +10 -10
- package/dist/cli-bundle/chunks/history-L2FQFRTU.js +20 -0
- package/dist/cli-bundle/chunks/{history-compact-PVS2A3FS.js → history-compact-3EJ3L2O7.js} +11 -11
- package/dist/cli-bundle/chunks/{history-compact-66PSRYL3.js → history-compact-LW27IPFK.js} +11 -11
- package/dist/cli-bundle/chunks/{history-redact-DCXAWGTF.js → history-redact-G72A4EJ4.js} +11 -11
- package/dist/cli-bundle/chunks/history-redact-QWQCX5DZ.js +19 -0
- package/dist/cli-bundle/chunks/{history-repair-SEQDFTGW.js → history-repair-KVPFJKOS.js} +11 -11
- package/dist/cli-bundle/chunks/{history-repair-TA3NRIFO.js → history-repair-RUGKD3YR.js} +11 -11
- package/dist/cli-bundle/chunks/init-4BKRHGWW.js +17 -0
- package/dist/cli-bundle/chunks/{init-IQJE3EKJ.js → init-S5WEGUJY.js} +9 -9
- package/dist/cli-bundle/chunks/{learnings-XC6EMW5E.js → learnings-HQXSSKZ5.js} +10 -10
- package/dist/cli-bundle/chunks/{learnings-RJPGH2ME.js → learnings-XK3P4ZDR.js} +10 -10
- package/dist/cli-bundle/chunks/{list-NJV6WBT4.js → list-6CL3XFT6.js} +10 -10
- package/dist/cli-bundle/chunks/list-BYNN4ZEO.js +19 -0
- package/dist/cli-bundle/chunks/{notes-2KWHADK3.js → notes-5T6P7C5V.js} +10 -10
- package/dist/cli-bundle/chunks/{notes-FNCDMZW2.js → notes-U5FZCSBT.js} +10 -10
- package/dist/cli-bundle/chunks/{plan-CYK2P5PD.js → plan-FQLMJRLZ.js} +13 -13
- package/dist/cli-bundle/chunks/{plan-MQO5JTSV.js → plan-VNUG3WZZ.js} +13 -13
- package/dist/cli-bundle/chunks/{register-list-query-6RA24SIZ.js → register-list-query-NPE3ECJQ.js} +21 -21
- package/dist/cli-bundle/chunks/register-list-query-NPE3ECJQ.js.map +1 -0
- package/dist/cli-bundle/chunks/{register-list-query-IO3RR5K6.js → register-list-query-VHDXWEPP.js} +20 -20
- package/dist/cli-bundle/chunks/register-list-query-VHDXWEPP.js.map +7 -0
- package/dist/cli-bundle/chunks/{register-mutation-VV2SC2KL.js → register-mutation-DG53FCBV.js} +36 -35
- package/dist/cli-bundle/chunks/register-mutation-DG53FCBV.js.map +1 -0
- package/dist/cli-bundle/chunks/{register-mutation-KVFUXCAZ.js → register-mutation-EAYNLGOS.js} +35 -34
- package/dist/cli-bundle/chunks/register-mutation-EAYNLGOS.js.map +7 -0
- package/dist/cli-bundle/chunks/{register-operations-DFNVRSJ5.js → register-operations-AM6KTWB6.js} +42 -37
- package/dist/cli-bundle/chunks/register-operations-AM6KTWB6.js.map +1 -0
- package/dist/cli-bundle/chunks/{register-operations-TAUUTRJ4.js → register-operations-FWFE64JG.js} +41 -36
- package/dist/cli-bundle/chunks/register-operations-FWFE64JG.js.map +7 -0
- package/dist/cli-bundle/chunks/{register-setup-X2R5CFDV.js → register-setup-G4QYI3RX.js} +15 -15
- package/dist/cli-bundle/chunks/{register-setup-GAQZZRUA.js → register-setup-IKX5524L.js} +15 -15
- package/dist/cli-bundle/chunks/restore-CHIOQAQL.js +17 -0
- package/dist/cli-bundle/chunks/{restore-E3GZKRRK.js → restore-M6AFHMV4.js} +11 -11
- package/dist/cli-bundle/chunks/{schema-3CPFLDAY.js → schema-76HDZJCC.js} +8 -8
- package/dist/cli-bundle/chunks/{schema-7EHBPNXM.js → schema-AINZ2IMM.js} +8 -8
- package/dist/cli-bundle/chunks/{search-OBZVYJJ2.js → search-JMLFQEPJ.js} +10 -10
- package/dist/cli-bundle/chunks/{search-2T3NCCUR.js → search-NL3TSCYB.js} +10 -10
- package/dist/cli-bundle/chunks/{stats-6LVK4JER.js → stats-BKXCBIGT.js} +7 -7
- package/dist/cli-bundle/chunks/{stats-ULGQACF7.js → stats-UBD56TGK.js} +7 -7
- package/dist/cli-bundle/chunks/{telemetry-HHKRTMZA.js → telemetry-N454RHG5.js} +4 -4
- package/dist/cli-bundle/chunks/{telemetry-6G27FLCP.js → telemetry-ZJXK3H7X.js} +4 -4
- package/dist/cli-bundle/chunks/{test-2PP4YBV6.js → test-BQAKIXAT.js} +14 -14
- package/dist/cli-bundle/chunks/test-O74JFUH5.js +32 -0
- package/dist/cli-bundle/chunks/{test-all-6Z272JRI.js → test-all-7LV3I6S5.js} +14 -14
- package/dist/cli-bundle/chunks/{test-all-NETGVNM6.js → test-all-TDYCCBA4.js} +14 -14
- package/dist/cli-bundle/chunks/{test-runs-M24WA6TI.js → test-runs-E64M6XS3.js} +5 -5
- package/dist/cli-bundle/chunks/{test-runs-CRPQVMMG.js → test-runs-LXZLULCI.js} +5 -5
- package/dist/cli-bundle/chunks/update-2EVXOC7V.js +21 -0
- package/dist/cli-bundle/chunks/update-5A2B6QYB.js +25 -0
- package/dist/cli-bundle/chunks/{update-many-JSRF5EH5.js → update-many-TUGU5YXQ.js} +22 -22
- package/dist/cli-bundle/chunks/{update-many-Y3HOL7WA.js → update-many-V4LA3C4H.js} +22 -22
- package/dist/cli-bundle/chunks/{upgrade-5RTQVKKE.js → upgrade-37F7JKES.js} +5 -5
- package/dist/cli-bundle/chunks/{upgrade-ECB6GH3M.js → upgrade-L32JA4TZ.js} +5 -5
- package/dist/cli-bundle/chunks/{validate-MCNMAXVA.js → validate-EQTT6WVX.js} +16 -16
- package/dist/cli-bundle/chunks/{validate-J6Q444SD.js → validate-XN4I4DPL.js} +16 -16
- package/dist/cli-bundle/main.js +276 -47
- 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/output/query-summary.d.ts +31 -0
- package/dist/core/output/query-summary.js +62 -0
- package/dist/core/output/query-summary.js.map +1 -0
- 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 +8 -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 +76 -262
- package/dist/mcp/server.js.map +1 -1
- package/dist/mcp/tool-definitions.d.ts +27 -0
- package/dist/mcp/tool-definitions.js +330 -0
- package/dist/mcp/tool-definitions.js.map +1 -0
- 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/CLAUDE_CODE_PLUGIN.md +2 -2
- package/docs/COMMANDS.md +38 -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/marketplace.json +1 -1
- 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/plugins/pm-claude/.claude-plugin/plugin.json +1 -1
- package/plugins/pm-claude/README.md +7 -3
- package/plugins/pm-claude/commands/pm-init.md +1 -1
- package/plugins/pm-codex/README.md +2 -2
- 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/contracts-AOBNEBVT.js.map +0 -7
- package/dist/cli-bundle/chunks/contracts-DXCWXOSP.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-RUJATACW.js.map → activity-XADJOG6G.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{activity-HF3VJYKH.js.map → activity-XZIUPGZH.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{append-E7AJ5RTR.js.map → append-JYWO4P7W.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{append-CWQZBUWV.js.map → append-KG55G7S3.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-ENCVPOID.js.map → chunk-3SLOMKCJ.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-F2REA7VW.js.map → chunk-4JCSYR6F.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-CAXUGAAF.js.map → chunk-4YFAGDRH.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-U3Z4OCZC.js.map → chunk-5SCT2JCT.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-NHRZSYAA.js.map → chunk-73ZPG2I3.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-A5342JVL.js.map → chunk-7RIT3OCD.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-7CR4GAYN.js.map → chunk-ATEES5SX.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-FHUI7AXS.js.map → chunk-AVGHVVF7.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-42IULX44.js.map → chunk-CCX4RSYZ.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-EFRHTZO4.js.map → chunk-CW6E4NAT.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-JN3BT7UY.js.map → chunk-DY6C42S6.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-PUSOAQCR.js.map → chunk-E5DUIJA4.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-E7LOIIFP.js.map → chunk-ESANVZF4.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-YI6W2DBN.js.map → chunk-F75JSIOZ.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-6IGTNFE3.js.map → chunk-FDH2X65L.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-ZPXDD6RQ.js.map → chunk-I53JBTJW.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-23WNCJBA.js.map → chunk-I7NYDZDV.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-SAUXUI6U.js.map → chunk-IUKD4W6Z.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-RKCJ2JMA.js.map → chunk-OASDW5UI.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-JEGFLKSI.js.map → chunk-OLKBSY4N.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-XEOO6K5J.js.map → chunk-P5BJOMBB.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-P2NVFE4L.js.map → chunk-P5U5EOMA.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-AM2AXVFS.js.map → chunk-PSD7F7DX.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-VDVVOLR6.js.map → chunk-QJMGRZO2.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-T7NWFVOA.js.map → chunk-QNJSITCX.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-MNXJ6YDO.js.map → chunk-RXAP6JL5.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-5MMLINZB.js.map → chunk-S26FESD4.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-OPYA2HIU.js.map → chunk-TK5VZFHY.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-4TJWRPIH.js.map → chunk-TNAP7EJX.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-5ATRWEZO.js.map → chunk-UUWGCWBU.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-YX5LAKFJ.js.map → chunk-VAOUX6TK.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-WCWIDJII.js.map → chunk-VPEAS7PS.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-RE2JQJZJ.js.map → chunk-VSRZRLG3.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-PW7C262O.js.map → chunk-WUNFKP7M.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-NUGAWYEN.js.map → chunk-XTKJSVWH.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-KDX6VC3P.js.map → chunk-XUC4C4PT.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-44JP4PYY.js.map → chunk-Y3YKK7CY.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-KTVXLI54.js.map → chunk-YW6Q3RYZ.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-I3UILOUU.js.map → chunk-ZLMIWZUG.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-FKH7K6YP.js.map → chunk-ZMW77VWV.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{claim-UXFGCF3P.js.map → claim-2RDYMCTP.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{claim-RV6WYUF7.js.map → claim-MJ7DZFC3.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{close-JTTGW7TS.js.map → close-4FMAPEMY.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{close-O4JK2JKD.js.map → close-XLEKIQSW.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{close-many-EQO4TPIE.js.map → close-many-AOD4HSAZ.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{close-many-SRDBV3SI.js.map → close-many-XKAQY5CQ.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{comments-TTZUIB2O.js.map → comments-B4RWWDJT.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{comments-OMB7YE27.js.map → comments-RN5TG4ZN.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{config-5VPR42A6.js.map → config-3JXJ3XZ7.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{config-NNLXVGVC.js.map → config-FZ4UDC4B.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{copy-5NM3SVJA.js.map → copy-ALU5WMHA.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{copy-XSYEQTLA.js.map → copy-FWIVTLBO.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{create-FCCAATQV.js.map → create-IFA26O2I.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{create-JAPLFDGJ.js.map → create-JVXYHYH4.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{delete-5JFP6OG7.js.map → delete-IYTIYAJS.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{delete-PQXJQXQ7.js.map → delete-Y2SGJBGY.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{deps-S5322EOQ.js.map → deps-6TSPOSGU.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{deps-XXKBOQUA.js.map → deps-CZ4PTVXU.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{docs-C7CCVWAJ.js.map → docs-5WMBVQT2.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{docs-DZRPAW5S.js.map → docs-MB53UJAJ.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{extension-CSHP6FZX.js.map → extension-Q34OEWO5.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{extension-XNNVUVAY.js.map → extension-WH2FOIOZ.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{files-UPCNKEIZ.js.map → files-DLB5LJEP.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{files-OBWYYPKM.js.map → files-GVMNVLCB.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{gc-FA2ONELT.js.map → gc-2WEPW6D6.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{gc-KXK6KBRN.js.map → gc-4Z3IKHAZ.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{get-PNTSONGB.js.map → get-PCHS7RA6.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{get-FLHYTOBA.js.map → get-QARTE6BL.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{history-COQTPBEU.js.map → history-7WUAEWHW.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{history-6624XISO.js.map → history-L2FQFRTU.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{history-compact-PVS2A3FS.js.map → history-compact-3EJ3L2O7.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{history-compact-66PSRYL3.js.map → history-compact-LW27IPFK.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{history-redact-DCXAWGTF.js.map → history-redact-G72A4EJ4.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{history-redact-ZRQTI7NB.js.map → history-redact-QWQCX5DZ.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{history-repair-SEQDFTGW.js.map → history-repair-KVPFJKOS.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{history-repair-TA3NRIFO.js.map → history-repair-RUGKD3YR.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{init-ZVE2HMKK.js.map → init-4BKRHGWW.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{init-IQJE3EKJ.js.map → init-S5WEGUJY.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{learnings-XC6EMW5E.js.map → learnings-HQXSSKZ5.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{learnings-RJPGH2ME.js.map → learnings-XK3P4ZDR.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{list-NJV6WBT4.js.map → list-6CL3XFT6.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{list-OO5P472O.js.map → list-BYNN4ZEO.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{notes-2KWHADK3.js.map → notes-5T6P7C5V.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{notes-FNCDMZW2.js.map → notes-U5FZCSBT.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{plan-CYK2P5PD.js.map → plan-FQLMJRLZ.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{plan-MQO5JTSV.js.map → plan-VNUG3WZZ.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{register-setup-X2R5CFDV.js.map → register-setup-G4QYI3RX.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{register-setup-GAQZZRUA.js.map → register-setup-IKX5524L.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{restore-F4ALFV4D.js.map → restore-CHIOQAQL.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{restore-E3GZKRRK.js.map → restore-M6AFHMV4.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{schema-3CPFLDAY.js.map → schema-76HDZJCC.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{schema-7EHBPNXM.js.map → schema-AINZ2IMM.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{search-OBZVYJJ2.js.map → search-JMLFQEPJ.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{search-2T3NCCUR.js.map → search-NL3TSCYB.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{stats-6LVK4JER.js.map → stats-BKXCBIGT.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{stats-ULGQACF7.js.map → stats-UBD56TGK.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{telemetry-HHKRTMZA.js.map → telemetry-N454RHG5.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{telemetry-6G27FLCP.js.map → telemetry-ZJXK3H7X.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{test-2PP4YBV6.js.map → test-BQAKIXAT.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{test-PPOLRIBA.js.map → test-O74JFUH5.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{test-all-6Z272JRI.js.map → test-all-7LV3I6S5.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{test-all-NETGVNM6.js.map → test-all-TDYCCBA4.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{test-runs-M24WA6TI.js.map → test-runs-E64M6XS3.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{test-runs-CRPQVMMG.js.map → test-runs-LXZLULCI.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{update-O7TBOUVQ.js.map → update-2EVXOC7V.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{update-MCPCPMHV.js.map → update-5A2B6QYB.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{update-many-JSRF5EH5.js.map → update-many-TUGU5YXQ.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{update-many-Y3HOL7WA.js.map → update-many-V4LA3C4H.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{upgrade-5RTQVKKE.js.map → upgrade-37F7JKES.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{upgrade-ECB6GH3M.js.map → upgrade-L32JA4TZ.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{validate-MCNMAXVA.js.map → validate-EQTT6WVX.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{validate-J6Q444SD.js.map → validate-XN4I4DPL.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,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "pm-claude",
|
|
3
|
-
"description": "Native pm CLI integration for Claude Code —
|
|
3
|
+
"description": "Native pm CLI integration for Claude Code — 25 MCP tools, 5 workflow skills, 14 slash commands, 4 subagents (coordinator, delivery-chain, triage, verification), hybrid TUI task tracking (pm as persistent store + Claude Code task panel as live view), session context injection, and full git-based project management without leaving Claude Code.",
|
|
4
4
|
"version": "1.4.0",
|
|
5
5
|
"author": {
|
|
6
6
|
"name": "unbrained",
|
|
@@ -6,7 +6,7 @@ Native pm CLI integration for Claude Code. Use pm project management tools direc
|
|
|
6
6
|
|
|
7
7
|
| Component | What it provides |
|
|
8
8
|
|-----------|----------------|
|
|
9
|
-
| **
|
|
9
|
+
| **25 MCP tools** | Full pm surface: context, search, list, get, create, copy, update, claim, release, close, comments, files, docs, notes, learnings, deps, test, validate, health, contracts, plan, append, schema, config + `pm_run` for everything else |
|
|
10
10
|
| **5 skills** | `pm-workflow`, `pm-developer`, `pm-release`, `pm-audit`, `pm-planner` — auto-loaded as Claude Code skills |
|
|
11
11
|
| **14 slash commands** | Full lifecycle coverage — status, start, close, triage, audit, search, new, list, calendar, developer, planner, release, workflow, init |
|
|
12
12
|
| **4 subagents** | `pm-coordinator` (batch/multi-item), `pm-triage-agent` (duplicate-safe item creation), `pm-verification-agent` (evidence + close readiness), and `pm-delivery-chain` (orchestrated delivery) |
|
|
@@ -29,7 +29,7 @@ claude plugin marketplace add /path/to/pm-cli
|
|
|
29
29
|
# claude plugin marketplace add unbraind/pm-cli
|
|
30
30
|
```
|
|
31
31
|
|
|
32
|
-
This installs all
|
|
32
|
+
This installs all 25 MCP tools, 5 skills, 14 slash commands, 4 subagents, hybrid TUI tracking, and the session hook in one step.
|
|
33
33
|
|
|
34
34
|
### Option B: Legacy marketplace alias (also works)
|
|
35
35
|
|
|
@@ -45,7 +45,7 @@ Both `pm` and `pm-cli` marketplace IDs resolve to the same plugin.
|
|
|
45
45
|
claude mcp add --transport stdio pm-mcp -- npx -y --package=@unbrained/pm-cli@latest pm-mcp
|
|
46
46
|
```
|
|
47
47
|
|
|
48
|
-
This gives you the
|
|
48
|
+
This gives you the 25 MCP tools but not the skills, slash commands, or session hook.
|
|
49
49
|
|
|
50
50
|
### Option D: Direct `.mcp.json` (project-scoped MCP only)
|
|
51
51
|
|
|
@@ -152,7 +152,9 @@ Spawn pm-triage-agent to set up the pm item for: add OAuth2 login support
|
|
|
152
152
|
| `pm_list` | Filtered item list |
|
|
153
153
|
| `pm_get` | Single item detail |
|
|
154
154
|
| `pm_create` | Create new item |
|
|
155
|
+
| `pm_copy` | Copy item into a new id |
|
|
155
156
|
| `pm_update` | Update metadata |
|
|
157
|
+
| `pm_append` | Append text to item body |
|
|
156
158
|
| `pm_claim` | Claim for active work |
|
|
157
159
|
| `pm_release` | Release claim |
|
|
158
160
|
| `pm_close` | Close with reason |
|
|
@@ -166,6 +168,8 @@ Spawn pm-triage-agent to set up the pm item for: add OAuth2 login support
|
|
|
166
168
|
| `pm_validate` | Run validation checks |
|
|
167
169
|
| `pm_health` | Run health diagnostics |
|
|
168
170
|
| `pm_contracts` | Inspect command contracts |
|
|
171
|
+
| `pm_schema` | Manage custom item types/statuses |
|
|
172
|
+
| `pm_config` | Read or write settings keys |
|
|
169
173
|
| `pm_plan` | Manage durable Plan workflows |
|
|
170
174
|
|
|
171
175
|
### General tool
|
|
@@ -47,7 +47,7 @@ Initialize pm project tracking using native MCP tools. Argument: `$ARGUMENTS` (o
|
|
|
47
47
|
- pm initialized at `.agents/pm/`
|
|
48
48
|
- guidance mode defaults to `ask` (TTY prompt only); use `agentGuidance=add|skip|status` in `pm_run` options for deterministic behavior
|
|
49
49
|
- Available slash commands: `/pm-status`, `/pm-new`, `/pm-start-task`, `/pm-close-task`, `/pm-list`, `/pm-search`, `/pm-triage`, `/pm-calendar`, `/pm-developer`, `/pm-planner`, `/pm-release`, `/pm-audit`, `/pm-workflow`
|
|
50
|
-
- All
|
|
50
|
+
- All 25 MCP tools available: `pm_context`, `pm_search`, `pm_list`, `pm_get`, `pm_create`, `pm_copy`, `pm_update`, `pm_append`, `pm_claim`, `pm_release`, `pm_close`, `pm_comments`, `pm_files`, `pm_docs`, `pm_notes`, `pm_learnings`, `pm_deps`, `pm_test`, `pm_validate`, `pm_health`, `pm_contracts`, `pm_schema`, `pm_config`, `pm_plan`, `pm_run`
|
|
51
51
|
- Next: use `/pm-new <title>` to create your first item, or `/pm-status` to see the tracker state
|
|
52
52
|
|
|
53
53
|
If initialization fails, report the error and suggest running `pm init` manually in the terminal.
|