@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
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
// dist/core/fs/fs-utils.js
|
|
2
2
|
|
|
3
|
-
!function(){try{var e="undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof globalThis?globalThis:"undefined"!=typeof self?self:{},n=(new e.Error).stack;n&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[n]="
|
|
3
|
+
!function(){try{var e="undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof globalThis?globalThis:"undefined"!=typeof self?self:{},n=(new e.Error).stack;n&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[n]="3d81dd28-0239-582e-84cb-25d9dea99250")}catch(e){}}();
|
|
4
4
|
import * as fs from "node:fs/promises";
|
|
5
5
|
import path from "node:path";
|
|
6
6
|
import crypto from "node:crypto";
|
|
@@ -158,6 +158,7 @@ var EXTENSION_CAPABILITY_CONTRACT = Object.freeze({
|
|
|
158
158
|
var KNOWN_EXTENSION_POLICY_MODES = ["off", "warn", "enforce"];
|
|
159
159
|
var KNOWN_EXTENSION_TRUST_MODES = ["off", "warn", "enforce"];
|
|
160
160
|
var KNOWN_EXTENSION_SANDBOX_PROFILES = ["none", "restricted", "strict"];
|
|
161
|
+
var KNOWN_PM_MAX_VERSION_EXCEEDED_MODES = ["block", "warn"];
|
|
161
162
|
var KNOWN_EXTENSION_POLICY_SURFACES = [
|
|
162
163
|
"commands.override",
|
|
163
164
|
"commands.handler",
|
|
@@ -211,6 +212,23 @@ function createDefaultExtensionGovernancePolicy() {
|
|
|
211
212
|
extension_overrides: []
|
|
212
213
|
};
|
|
213
214
|
}
|
|
215
|
+
var KNOWN_EXTENSION_MANIFEST_FIELDS = Object.freeze([
|
|
216
|
+
"$schema",
|
|
217
|
+
"name",
|
|
218
|
+
"version",
|
|
219
|
+
"entry",
|
|
220
|
+
"priority",
|
|
221
|
+
"manifest_version",
|
|
222
|
+
"pm_min_version",
|
|
223
|
+
"pm_max_version",
|
|
224
|
+
"engines",
|
|
225
|
+
"trusted",
|
|
226
|
+
"provenance",
|
|
227
|
+
"sandbox_profile",
|
|
228
|
+
"permissions",
|
|
229
|
+
"capabilities",
|
|
230
|
+
"activation"
|
|
231
|
+
]);
|
|
214
232
|
|
|
215
233
|
// dist/core/shared/constants.js
|
|
216
234
|
var DEFAULT_STATUS_DEFINITIONS = Object.freeze([
|
|
@@ -347,6 +365,7 @@ var FRONT_MATTER_KEY_ORDER = [
|
|
|
347
365
|
"test_runs",
|
|
348
366
|
"docs",
|
|
349
367
|
"close_reason",
|
|
368
|
+
"duplicate_of",
|
|
350
369
|
"plan_mode",
|
|
351
370
|
"plan_scope",
|
|
352
371
|
"plan_harness",
|
|
@@ -362,7 +381,7 @@ var GOVERNANCE_PRESET_DEFAULTS = {
|
|
|
362
381
|
create_mode_default: "progressive",
|
|
363
382
|
close_validation_default: "off",
|
|
364
383
|
require_close_reason: true,
|
|
365
|
-
parent_reference: "
|
|
384
|
+
parent_reference: "strict_error",
|
|
366
385
|
metadata_profile: "core",
|
|
367
386
|
force_required_for_stale_lock: false
|
|
368
387
|
},
|
|
@@ -371,7 +390,7 @@ var GOVERNANCE_PRESET_DEFAULTS = {
|
|
|
371
390
|
create_mode_default: "progressive",
|
|
372
391
|
close_validation_default: "warn",
|
|
373
392
|
require_close_reason: true,
|
|
374
|
-
parent_reference: "
|
|
393
|
+
parent_reference: "strict_error",
|
|
375
394
|
metadata_profile: "core",
|
|
376
395
|
force_required_for_stale_lock: true
|
|
377
396
|
},
|
|
@@ -516,6 +535,8 @@ var SETTINGS_DEFAULTS = {
|
|
|
516
535
|
hierarchy: true,
|
|
517
536
|
activity: true,
|
|
518
537
|
progress: true,
|
|
538
|
+
recently_created: true,
|
|
539
|
+
unparented: true,
|
|
519
540
|
blockers: true,
|
|
520
541
|
files: true,
|
|
521
542
|
workload: true,
|
|
@@ -553,6 +574,7 @@ var TELEMETRY_ERROR_CATEGORY_BY_CODE = Object.freeze({
|
|
|
553
574
|
missing_required_option: "usage",
|
|
554
575
|
missing_required_argument: "usage",
|
|
555
576
|
invalid_command_usage: "usage",
|
|
577
|
+
linked_test_value_not_quoted: "usage",
|
|
556
578
|
invalid_argument_value: "validation",
|
|
557
579
|
health_findings: "validation",
|
|
558
580
|
validation_findings: "validation",
|
|
@@ -1574,6 +1596,29 @@ function normalizePolicySandboxProfile(value) {
|
|
|
1574
1596
|
}
|
|
1575
1597
|
return "none";
|
|
1576
1598
|
}
|
|
1599
|
+
function normalizePmMaxVersionExceededModeValue(value) {
|
|
1600
|
+
if (typeof value !== "string") {
|
|
1601
|
+
return void 0;
|
|
1602
|
+
}
|
|
1603
|
+
const normalized = value.trim().toLowerCase();
|
|
1604
|
+
return KNOWN_PM_MAX_VERSION_EXCEEDED_MODES.includes(normalized) ? normalized : void 0;
|
|
1605
|
+
}
|
|
1606
|
+
function normalizePmMaxVersionExceededMode(value) {
|
|
1607
|
+
if (typeof value === "string") {
|
|
1608
|
+
const mode = normalizePmMaxVersionExceededModeValue(value) ?? "block";
|
|
1609
|
+
return { global: mode, project: mode };
|
|
1610
|
+
}
|
|
1611
|
+
if (typeof value === "object" && value !== null && !Array.isArray(value)) {
|
|
1612
|
+
return {
|
|
1613
|
+
global: normalizePmMaxVersionExceededModeValue(value.global) ?? "block",
|
|
1614
|
+
project: normalizePmMaxVersionExceededModeValue(value.project) ?? "block"
|
|
1615
|
+
};
|
|
1616
|
+
}
|
|
1617
|
+
return { global: "block", project: "block" };
|
|
1618
|
+
}
|
|
1619
|
+
function serializePmMaxVersionExceededMode(mode) {
|
|
1620
|
+
return mode.global === mode.project ? mode.global : { global: mode.global, project: mode.project };
|
|
1621
|
+
}
|
|
1577
1622
|
function toSortedList(values) {
|
|
1578
1623
|
return [...new Set(values)].sort((left, right) => left.localeCompare(right));
|
|
1579
1624
|
}
|
|
@@ -1617,6 +1662,7 @@ function normalizeExtensionPolicy(settings) {
|
|
|
1617
1662
|
const policy = settings.extensions.policy;
|
|
1618
1663
|
const mode = normalizePolicyMode(policy?.mode);
|
|
1619
1664
|
const trustMode = normalizePolicyTrustMode(policy?.trust_mode);
|
|
1665
|
+
const pmMaxVersionExceededMode2 = normalizePmMaxVersionExceededMode(policy?.pm_max_version_exceeded_mode);
|
|
1620
1666
|
const requireProvenance = policy?.require_provenance === true;
|
|
1621
1667
|
const trustedExtensions = normalizePolicyStringSet(policy?.trusted_extensions);
|
|
1622
1668
|
const defaultSandboxProfile = normalizePolicySandboxProfile(policy?.default_sandbox_profile);
|
|
@@ -1662,6 +1708,7 @@ function normalizeExtensionPolicy(settings) {
|
|
|
1662
1708
|
return {
|
|
1663
1709
|
mode,
|
|
1664
1710
|
trustMode,
|
|
1711
|
+
pmMaxVersionExceededMode: pmMaxVersionExceededMode2,
|
|
1665
1712
|
requireProvenance,
|
|
1666
1713
|
trustedExtensions,
|
|
1667
1714
|
defaultSandboxProfile,
|
|
@@ -1702,6 +1749,7 @@ function serializeExtensionPolicy(policy) {
|
|
|
1702
1749
|
return {
|
|
1703
1750
|
mode: policy.mode,
|
|
1704
1751
|
trust_mode: policy.trustMode,
|
|
1752
|
+
pm_max_version_exceeded_mode: serializePmMaxVersionExceededMode(policy.pmMaxVersionExceededMode),
|
|
1705
1753
|
require_provenance: policy.requireProvenance,
|
|
1706
1754
|
trusted_extensions: toSortedList(policy.trustedExtensions),
|
|
1707
1755
|
default_sandbox_profile: policy.defaultSandboxProfile,
|
|
@@ -1725,6 +1773,7 @@ function hydrateExtensionPolicy(policy) {
|
|
|
1725
1773
|
return {
|
|
1726
1774
|
mode: normalizePolicyMode(policy.mode),
|
|
1727
1775
|
trustMode: normalizePolicyTrustMode(policy.trust_mode),
|
|
1776
|
+
pmMaxVersionExceededMode: normalizePmMaxVersionExceededMode(policy.pm_max_version_exceeded_mode),
|
|
1728
1777
|
requireProvenance: policy.require_provenance === true,
|
|
1729
1778
|
trustedExtensions: normalizePolicyStringSet(policy.trusted_extensions),
|
|
1730
1779
|
defaultSandboxProfile: normalizePolicySandboxProfile(policy.default_sandbox_profile),
|
|
@@ -2298,14 +2347,14 @@ function buildEffectiveExtensions(globalCandidates, projectCandidates) {
|
|
|
2298
2347
|
}
|
|
2299
2348
|
return effective;
|
|
2300
2349
|
}
|
|
2301
|
-
async function scanExtensionLayer(layer, extensionsRoot, enabled, disabled) {
|
|
2350
|
+
async function scanExtensionLayer(layer, extensionsRoot, enabled, disabled, pmMaxVersionExceededMode2) {
|
|
2302
2351
|
const diagnostics = [];
|
|
2303
2352
|
const warnings = [];
|
|
2304
2353
|
const candidates = [];
|
|
2305
2354
|
const directories = await listExtensionDirectories(extensionsRoot);
|
|
2306
2355
|
const managedSourcePackages = await readManagedExtensionSourcePackages(extensionsRoot);
|
|
2307
2356
|
for (const directory of directories) {
|
|
2308
|
-
const scanned = await scanExtensionDirectory(layer, extensionsRoot, directory, enabled, disabled, managedSourcePackages);
|
|
2357
|
+
const scanned = await scanExtensionDirectory(layer, extensionsRoot, directory, enabled, disabled, managedSourcePackages, pmMaxVersionExceededMode2);
|
|
2309
2358
|
diagnostics.push(scanned.diagnostic);
|
|
2310
2359
|
warnings.push(...scanned.warnings);
|
|
2311
2360
|
if (scanned.candidate) {
|
|
@@ -2314,7 +2363,7 @@ async function scanExtensionLayer(layer, extensionsRoot, enabled, disabled) {
|
|
|
2314
2363
|
}
|
|
2315
2364
|
return { diagnostics, warnings, candidates };
|
|
2316
2365
|
}
|
|
2317
|
-
async function scanExtensionDirectory(layer, extensionsRoot, directory, enabled, disabled, managedSourcePackages) {
|
|
2366
|
+
async function scanExtensionDirectory(layer, extensionsRoot, directory, enabled, disabled, managedSourcePackages, pmMaxVersionExceededMode2) {
|
|
2318
2367
|
const extensionDir = path5.join(extensionsRoot, directory);
|
|
2319
2368
|
const manifestPath = path5.join(extensionDir, "manifest.json");
|
|
2320
2369
|
if (!await pathExists(manifestPath)) {
|
|
@@ -2381,7 +2430,7 @@ async function scanExtensionDirectory(layer, extensionsRoot, directory, enabled,
|
|
|
2381
2430
|
if (pmVersionCompatibility.warning) {
|
|
2382
2431
|
extensionWarnings.push(pmVersionCompatibility.warning);
|
|
2383
2432
|
}
|
|
2384
|
-
const pmMaxVersionCompatibility = await evaluatePmMaxVersionCompatibility(layer, manifest);
|
|
2433
|
+
const pmMaxVersionCompatibility = await evaluatePmMaxVersionCompatibility(layer, manifest, pmMaxVersionExceededMode2);
|
|
2385
2434
|
if (pmMaxVersionCompatibility.warning) {
|
|
2386
2435
|
extensionWarnings.push(pmMaxVersionCompatibility.warning);
|
|
2387
2436
|
}
|
|
@@ -2431,8 +2480,8 @@ async function discoverExtensions(options) {
|
|
|
2431
2480
|
}
|
|
2432
2481
|
const enabled = new Set(configured_enabled);
|
|
2433
2482
|
const disabled = new Set(configured_disabled);
|
|
2434
|
-
const globalScan = await scanExtensionLayer("global", roots.global, enabled, disabled);
|
|
2435
|
-
const projectScan = await scanExtensionLayer("project", roots.project, enabled, disabled);
|
|
2483
|
+
const globalScan = await scanExtensionLayer("global", roots.global, enabled, disabled, policy.pmMaxVersionExceededMode.global);
|
|
2484
|
+
const projectScan = await scanExtensionLayer("project", roots.project, enabled, disabled, policy.pmMaxVersionExceededMode.project);
|
|
2436
2485
|
const policyWarnings = [...policy.warnings];
|
|
2437
2486
|
const effectiveCandidates = buildEffectiveExtensions(globalScan.candidates, projectScan.candidates);
|
|
2438
2487
|
const effective = [];
|
|
@@ -2557,7 +2606,7 @@ async function evaluatePmMinVersionCompatibility(layer, manifest) {
|
|
|
2557
2606
|
}
|
|
2558
2607
|
return { allowed: true };
|
|
2559
2608
|
}
|
|
2560
|
-
async function evaluatePmMaxVersionCompatibility(layer, manifest) {
|
|
2609
|
+
async function evaluatePmMaxVersionCompatibility(layer, manifest, exceededMode) {
|
|
2561
2610
|
if (typeof manifest.pm_max_version !== "string" || manifest.pm_max_version.trim().length === 0) {
|
|
2562
2611
|
return { allowed: true };
|
|
2563
2612
|
}
|
|
@@ -2588,6 +2637,12 @@ async function evaluatePmMaxVersionCompatibility(layer, manifest) {
|
|
|
2588
2637
|
};
|
|
2589
2638
|
}
|
|
2590
2639
|
if (comparison > 0) {
|
|
2640
|
+
if (exceededMode === "warn") {
|
|
2641
|
+
return {
|
|
2642
|
+
allowed: true,
|
|
2643
|
+
warning: `extension_pm_max_version_exceeded_warn:${layer}:${manifest.name}:allowed=${manifest.pm_max_version}:current=${currentVersion}`
|
|
2644
|
+
};
|
|
2645
|
+
}
|
|
2591
2646
|
return {
|
|
2592
2647
|
allowed: false,
|
|
2593
2648
|
warning: `extension_pm_max_version_exceeded:${layer}:${manifest.name}:allowed=${manifest.pm_max_version}:current=${currentVersion}`
|
|
@@ -4075,6 +4130,8 @@ var CONTEXT_SECTION_VALUES = [
|
|
|
4075
4130
|
"hierarchy",
|
|
4076
4131
|
"activity",
|
|
4077
4132
|
"progress",
|
|
4133
|
+
"recently_created",
|
|
4134
|
+
"unparented",
|
|
4078
4135
|
"blockers",
|
|
4079
4136
|
"files",
|
|
4080
4137
|
"workload",
|
|
@@ -4982,9 +5039,15 @@ var extensionPolicyOverride = vObject({
|
|
|
4982
5039
|
allowed_services: vOptional(vArray(vString)),
|
|
4983
5040
|
blocked_services: vOptional(vArray(vString))
|
|
4984
5041
|
});
|
|
5042
|
+
var pmMaxVersionExceededModeLiteral = vLiteral("block", "warn");
|
|
5043
|
+
var pmMaxVersionExceededMode = (input) => typeof input === "string" ? pmMaxVersionExceededModeLiteral(input) : vObject({
|
|
5044
|
+
global: vOptional(pmMaxVersionExceededModeLiteral),
|
|
5045
|
+
project: vOptional(pmMaxVersionExceededModeLiteral)
|
|
5046
|
+
})(input);
|
|
4985
5047
|
var extensionPolicy = vOptional(vObject({
|
|
4986
5048
|
mode: vOptional(vLiteral("off", "warn", "enforce")),
|
|
4987
5049
|
trust_mode: vOptional(vLiteral("off", "warn", "enforce")),
|
|
5050
|
+
pm_max_version_exceeded_mode: vOptional(pmMaxVersionExceededMode),
|
|
4988
5051
|
require_provenance: vOptional(vBoolean),
|
|
4989
5052
|
trusted_extensions: vOptional(vArray(vString)),
|
|
4990
5053
|
default_sandbox_profile: vOptional(vLiteral("none", "restricted", "strict")),
|
|
@@ -5048,6 +5111,8 @@ var settingsCheck = vObject({
|
|
|
5048
5111
|
hierarchy: vOptional(vBoolean),
|
|
5049
5112
|
activity: vOptional(vBoolean),
|
|
5050
5113
|
progress: vOptional(vBoolean),
|
|
5114
|
+
recently_created: vOptional(vBoolean),
|
|
5115
|
+
unparented: vOptional(vBoolean),
|
|
5051
5116
|
blockers: vOptional(vBoolean),
|
|
5052
5117
|
files: vOptional(vBoolean),
|
|
5053
5118
|
workload: vOptional(vBoolean),
|
|
@@ -5181,6 +5246,71 @@ function normalizeItemTypeDefinition(definition, options = {}) {
|
|
|
5181
5246
|
};
|
|
5182
5247
|
}
|
|
5183
5248
|
|
|
5249
|
+
// dist/core/store/settings-read-cache.js
|
|
5250
|
+
import { stat } from "node:fs/promises";
|
|
5251
|
+
var settingsReadCacheByRoot = /* @__PURE__ */ new Map();
|
|
5252
|
+
function normalizeTrackedPaths(paths) {
|
|
5253
|
+
return [...new Set(paths.map((pathValue) => pathValue.trim()).filter((pathValue) => pathValue.length > 0))].sort((left, right) => left.localeCompare(right));
|
|
5254
|
+
}
|
|
5255
|
+
async function readPathSignature(targetPath) {
|
|
5256
|
+
try {
|
|
5257
|
+
const targetStats = await stat(targetPath);
|
|
5258
|
+
return {
|
|
5259
|
+
path: targetPath,
|
|
5260
|
+
mtime_ms: targetStats.mtimeMs,
|
|
5261
|
+
size: targetStats.size
|
|
5262
|
+
};
|
|
5263
|
+
} catch {
|
|
5264
|
+
return {
|
|
5265
|
+
path: targetPath,
|
|
5266
|
+
mtime_ms: null,
|
|
5267
|
+
size: null
|
|
5268
|
+
};
|
|
5269
|
+
}
|
|
5270
|
+
}
|
|
5271
|
+
async function collectSettingsReadCacheSignatures(paths) {
|
|
5272
|
+
const normalizedPaths = normalizeTrackedPaths(paths);
|
|
5273
|
+
const signatures = await Promise.all(normalizedPaths.map((targetPath) => readPathSignature(targetPath)));
|
|
5274
|
+
signatures.sort((left, right) => left.path.localeCompare(right.path));
|
|
5275
|
+
return signatures;
|
|
5276
|
+
}
|
|
5277
|
+
function settingsReadCacheSignaturesEqual(left, right) {
|
|
5278
|
+
if (left.length !== right.length) {
|
|
5279
|
+
return false;
|
|
5280
|
+
}
|
|
5281
|
+
for (let index = 0; index < left.length; index += 1) {
|
|
5282
|
+
const leftEntry = left[index];
|
|
5283
|
+
const rightEntry = right[index];
|
|
5284
|
+
if (leftEntry.path !== rightEntry.path || leftEntry.mtime_ms !== rightEntry.mtime_ms || leftEntry.size !== rightEntry.size) {
|
|
5285
|
+
return false;
|
|
5286
|
+
}
|
|
5287
|
+
}
|
|
5288
|
+
return true;
|
|
5289
|
+
}
|
|
5290
|
+
function getSettingsReadCacheEntry(pmRoot) {
|
|
5291
|
+
return settingsReadCacheByRoot.get(pmRoot);
|
|
5292
|
+
}
|
|
5293
|
+
function setSettingsReadCacheEntry(pmRoot, entry) {
|
|
5294
|
+
const normalizedTrackedPaths = normalizeTrackedPaths(entry.tracked_paths);
|
|
5295
|
+
const normalizedSignatures = [...entry.signatures].map((signature) => ({
|
|
5296
|
+
path: signature.path,
|
|
5297
|
+
mtime_ms: signature.mtime_ms,
|
|
5298
|
+
size: signature.size
|
|
5299
|
+
})).sort((left, right) => left.path.localeCompare(right.path));
|
|
5300
|
+
settingsReadCacheByRoot.set(pmRoot, {
|
|
5301
|
+
tracked_paths: normalizedTrackedPaths,
|
|
5302
|
+
signatures: normalizedSignatures,
|
|
5303
|
+
value: entry.value
|
|
5304
|
+
});
|
|
5305
|
+
}
|
|
5306
|
+
function clearSettingsReadCache(pmRoot) {
|
|
5307
|
+
if (pmRoot) {
|
|
5308
|
+
settingsReadCacheByRoot.delete(pmRoot);
|
|
5309
|
+
return;
|
|
5310
|
+
}
|
|
5311
|
+
settingsReadCacheByRoot.clear();
|
|
5312
|
+
}
|
|
5313
|
+
|
|
5184
5314
|
// dist/core/store/settings.js
|
|
5185
5315
|
var SETTINGS_WRITE_OP = "settings:write";
|
|
5186
5316
|
var SETTINGS_PERSIST_SOURCE_SYMBOL = /* @__PURE__ */ Symbol("pm.settings.persist_source");
|
|
@@ -5347,6 +5477,74 @@ function getSettingsPersistSourceSnapshot(settings) {
|
|
|
5347
5477
|
}
|
|
5348
5478
|
return candidate;
|
|
5349
5479
|
}
|
|
5480
|
+
function cloneSettingsReadResult(result) {
|
|
5481
|
+
const clonedSettings = structuredClone(result.settings);
|
|
5482
|
+
const persistSource = getSettingsPersistSourceSnapshot(result.settings);
|
|
5483
|
+
if (persistSource) {
|
|
5484
|
+
attachSettingsPersistSourceSnapshot(clonedSettings, structuredClone(persistSource));
|
|
5485
|
+
}
|
|
5486
|
+
return {
|
|
5487
|
+
settings: clonedSettings,
|
|
5488
|
+
metadata: {
|
|
5489
|
+
has_explicit_item_format: result.metadata.has_explicit_item_format
|
|
5490
|
+
},
|
|
5491
|
+
warnings: [...result.warnings]
|
|
5492
|
+
};
|
|
5493
|
+
}
|
|
5494
|
+
function resolveSettingsReadTrackedPaths(pmRoot, schema, settingsPath) {
|
|
5495
|
+
const normalizedSchema = normalizeRuntimeSchemaSettings(schema);
|
|
5496
|
+
return [
|
|
5497
|
+
settingsPath,
|
|
5498
|
+
filePathForSchemaSection(pmRoot, normalizedSchema.files.types, DEFAULT_RUNTIME_SCHEMA_FILE_PATHS.types),
|
|
5499
|
+
filePathForSchemaSection(pmRoot, normalizedSchema.files.statuses, DEFAULT_RUNTIME_SCHEMA_FILE_PATHS.statuses),
|
|
5500
|
+
filePathForSchemaSection(pmRoot, normalizedSchema.files.fields, DEFAULT_RUNTIME_SCHEMA_FILE_PATHS.fields),
|
|
5501
|
+
filePathForSchemaSection(pmRoot, normalizedSchema.files.workflows, DEFAULT_RUNTIME_SCHEMA_FILE_PATHS.workflows)
|
|
5502
|
+
];
|
|
5503
|
+
}
|
|
5504
|
+
async function cacheSettingsReadResult(pmRoot, trackedPaths, result) {
|
|
5505
|
+
const signatures = await collectSettingsReadCacheSignatures(trackedPaths);
|
|
5506
|
+
setSettingsReadCacheEntry(pmRoot, {
|
|
5507
|
+
tracked_paths: trackedPaths,
|
|
5508
|
+
signatures,
|
|
5509
|
+
value: cloneSettingsReadResult(result)
|
|
5510
|
+
});
|
|
5511
|
+
}
|
|
5512
|
+
async function cacheSettingsReadResultSafe(pmRoot, trackedPaths, result) {
|
|
5513
|
+
try {
|
|
5514
|
+
await cacheSettingsReadResult(pmRoot, trackedPaths, result);
|
|
5515
|
+
} catch {
|
|
5516
|
+
clearSettingsReadCache(pmRoot);
|
|
5517
|
+
}
|
|
5518
|
+
}
|
|
5519
|
+
function findSettingsReadCacheSignature(signatures, targetPath) {
|
|
5520
|
+
return signatures.find((signature) => signature.path === targetPath);
|
|
5521
|
+
}
|
|
5522
|
+
function selectedSettingsReadCacheSignaturesEqual(before, after, targetPaths) {
|
|
5523
|
+
for (const targetPath of targetPaths) {
|
|
5524
|
+
const beforeSignature = findSettingsReadCacheSignature(before, targetPath);
|
|
5525
|
+
const afterSignature = findSettingsReadCacheSignature(after, targetPath);
|
|
5526
|
+
if (!beforeSignature || !afterSignature || !settingsReadCacheSignaturesEqual([beforeSignature], [afterSignature])) {
|
|
5527
|
+
return false;
|
|
5528
|
+
}
|
|
5529
|
+
}
|
|
5530
|
+
return true;
|
|
5531
|
+
}
|
|
5532
|
+
async function cacheSettingsReadResultIfStable(pmRoot, trackedPaths, result, stableSignatures, stablePaths) {
|
|
5533
|
+
try {
|
|
5534
|
+
const currentSignatures = await collectSettingsReadCacheSignatures(trackedPaths);
|
|
5535
|
+
if (!selectedSettingsReadCacheSignaturesEqual(stableSignatures, currentSignatures, stablePaths)) {
|
|
5536
|
+
clearSettingsReadCache(pmRoot);
|
|
5537
|
+
return;
|
|
5538
|
+
}
|
|
5539
|
+
setSettingsReadCacheEntry(pmRoot, {
|
|
5540
|
+
tracked_paths: trackedPaths,
|
|
5541
|
+
signatures: currentSignatures,
|
|
5542
|
+
value: cloneSettingsReadResult(result)
|
|
5543
|
+
});
|
|
5544
|
+
} catch {
|
|
5545
|
+
clearSettingsReadCache(pmRoot);
|
|
5546
|
+
}
|
|
5547
|
+
}
|
|
5350
5548
|
function resolvePersistedFileBackedSchemaSections(settings, source) {
|
|
5351
5549
|
const normalizedSchema = normalizeRuntimeSchemaSettings(settings.schema);
|
|
5352
5550
|
const currentItemTypeDefinitions = normalizeItemTypeDefinitions(settings.item_types?.definitions);
|
|
@@ -5494,11 +5692,33 @@ function normalizeExtensionPolicyOverrides(overrides) {
|
|
|
5494
5692
|
}
|
|
5495
5693
|
return [...dedupedByName.values()].sort((left, right) => left.name.localeCompare(right.name));
|
|
5496
5694
|
}
|
|
5695
|
+
function normalizePmMaxVersionExceededModeValue2(value) {
|
|
5696
|
+
return value === "block" || value === "warn" ? value : void 0;
|
|
5697
|
+
}
|
|
5698
|
+
function normalizePmMaxVersionExceededModeSetting(value) {
|
|
5699
|
+
if (typeof value === "string") {
|
|
5700
|
+
return normalizePmMaxVersionExceededModeValue2(value);
|
|
5701
|
+
}
|
|
5702
|
+
if (typeof value === "object" && value !== null && !Array.isArray(value)) {
|
|
5703
|
+
const global = normalizePmMaxVersionExceededModeValue2(value.global);
|
|
5704
|
+
const project = normalizePmMaxVersionExceededModeValue2(value.project);
|
|
5705
|
+
if (global === void 0 && project === void 0) {
|
|
5706
|
+
return void 0;
|
|
5707
|
+
}
|
|
5708
|
+
return {
|
|
5709
|
+
...global !== void 0 ? { global } : {},
|
|
5710
|
+
...project !== void 0 ? { project } : {}
|
|
5711
|
+
};
|
|
5712
|
+
}
|
|
5713
|
+
return void 0;
|
|
5714
|
+
}
|
|
5497
5715
|
function normalizeExtensionPolicySettings(policy) {
|
|
5498
5716
|
const defaults = SETTINGS_DEFAULTS.extensions.policy;
|
|
5717
|
+
const pmMaxVersionExceededMode2 = normalizePmMaxVersionExceededModeSetting(policy?.pm_max_version_exceeded_mode);
|
|
5499
5718
|
return {
|
|
5500
5719
|
mode: normalizeExtensionPolicyMode(policy?.mode),
|
|
5501
5720
|
trust_mode: normalizeExtensionTrustMode(policy?.trust_mode),
|
|
5721
|
+
...pmMaxVersionExceededMode2 !== void 0 ? { pm_max_version_exceeded_mode: pmMaxVersionExceededMode2 } : {},
|
|
5502
5722
|
require_provenance: policy?.require_provenance === true,
|
|
5503
5723
|
trusted_extensions: normalizeLowerStringList(policy?.trusted_extensions ?? defaults.trusted_extensions),
|
|
5504
5724
|
default_sandbox_profile: normalizeExtensionSandboxProfile(policy?.default_sandbox_profile),
|
|
@@ -5787,6 +6007,7 @@ function serializeSettings(settings, options = {}) {
|
|
|
5787
6007
|
ordered.extensions.policy = orderObject(ordered.extensions.policy ?? {}, [
|
|
5788
6008
|
"mode",
|
|
5789
6009
|
"trust_mode",
|
|
6010
|
+
"pm_max_version_exceeded_mode",
|
|
5790
6011
|
"require_provenance",
|
|
5791
6012
|
"trusted_extensions",
|
|
5792
6013
|
"default_sandbox_profile",
|
|
@@ -5853,28 +6074,52 @@ function serializeSettings(settings, options = {}) {
|
|
|
5853
6074
|
}
|
|
5854
6075
|
async function readSettingsWithMetadata(pmRoot) {
|
|
5855
6076
|
const settingsPath = getSettingsPath(pmRoot);
|
|
5856
|
-
|
|
5857
|
-
if (raw === null) {
|
|
5858
|
-
return buildFallbackSettingsReadResult();
|
|
5859
|
-
}
|
|
6077
|
+
let trackedPathsForFailure = [settingsPath];
|
|
5860
6078
|
await runActiveOnReadHooks({
|
|
5861
6079
|
path: settingsPath,
|
|
5862
6080
|
scope: "project"
|
|
5863
6081
|
});
|
|
6082
|
+
const cachedResult = getSettingsReadCacheEntry(pmRoot);
|
|
6083
|
+
if (cachedResult) {
|
|
6084
|
+
const currentSignatures = await collectSettingsReadCacheSignatures(cachedResult.tracked_paths);
|
|
6085
|
+
if (settingsReadCacheSignaturesEqual(currentSignatures, cachedResult.signatures)) {
|
|
6086
|
+
return cloneSettingsReadResult(cachedResult.value);
|
|
6087
|
+
}
|
|
6088
|
+
}
|
|
6089
|
+
const settingsOnlySignatures = await collectSettingsReadCacheSignatures([settingsPath]);
|
|
6090
|
+
const raw = await readFileIfExists(settingsPath);
|
|
6091
|
+
if (raw === null) {
|
|
6092
|
+
const fallback = buildFallbackSettingsReadResult();
|
|
6093
|
+
await cacheSettingsReadResultIfStable(pmRoot, [settingsPath], fallback, settingsOnlySignatures, [settingsPath]);
|
|
6094
|
+
return fallback;
|
|
6095
|
+
}
|
|
6096
|
+
const settingsSignaturesAfterRead = await collectSettingsReadCacheSignatures([settingsPath]);
|
|
6097
|
+
if (!settingsReadCacheSignaturesEqual(settingsOnlySignatures, settingsSignaturesAfterRead)) {
|
|
6098
|
+
clearSettingsReadCache(pmRoot);
|
|
6099
|
+
return readSettingsWithMetadata(pmRoot);
|
|
6100
|
+
}
|
|
5864
6101
|
let parsed;
|
|
5865
6102
|
try {
|
|
5866
6103
|
parsed = JSON.parse(raw);
|
|
5867
6104
|
} catch {
|
|
5868
|
-
|
|
6105
|
+
const fallback = buildFallbackSettingsReadResult("settings_read_invalid_json");
|
|
6106
|
+
await cacheSettingsReadResultIfStable(pmRoot, [settingsPath], fallback, settingsSignaturesAfterRead, [settingsPath]);
|
|
6107
|
+
return fallback;
|
|
5869
6108
|
}
|
|
5870
6109
|
const validated = validateSettings(parsed);
|
|
5871
6110
|
if (!validated.success) {
|
|
5872
|
-
|
|
6111
|
+
const fallback = buildFallbackSettingsReadResult("settings_read_invalid_schema");
|
|
6112
|
+
await cacheSettingsReadResultIfStable(pmRoot, [settingsPath], fallback, settingsSignaturesAfterRead, [settingsPath]);
|
|
6113
|
+
return fallback;
|
|
5873
6114
|
}
|
|
5874
6115
|
try {
|
|
5875
6116
|
const mergedSettings = mergeSettings(validated.data);
|
|
6117
|
+
const trackedPaths = resolveSettingsReadTrackedPaths(pmRoot, mergedSettings.schema, settingsPath);
|
|
6118
|
+
trackedPathsForFailure = trackedPaths;
|
|
6119
|
+
const signaturesBeforeSchemaLoad = await collectSettingsReadCacheSignatures(trackedPaths);
|
|
5876
6120
|
const schemaScaffold = await ensureRuntimeSchemaFileScaffold(pmRoot, mergedSettings.schema);
|
|
5877
6121
|
const loadedSchemaSections = await loadRuntimeSchemaFromOptionalFiles(pmRoot, mergedSettings.schema);
|
|
6122
|
+
const signaturesAfterSchemaLoad = await collectSettingsReadCacheSignatures(trackedPaths);
|
|
5878
6123
|
const settings = {
|
|
5879
6124
|
...mergedSettings,
|
|
5880
6125
|
item_types: {
|
|
@@ -5886,7 +6131,7 @@ async function readSettingsWithMetadata(pmRoot) {
|
|
|
5886
6131
|
schema: loadedSchemaSections.schema
|
|
5887
6132
|
};
|
|
5888
6133
|
attachSettingsPersistSourceSnapshot(settings, buildSettingsPersistSourceSnapshot(validated.data, settings));
|
|
5889
|
-
|
|
6134
|
+
const result = {
|
|
5890
6135
|
settings,
|
|
5891
6136
|
metadata: {
|
|
5892
6137
|
has_explicit_item_format: hasExplicitItemFormat(parsed)
|
|
@@ -5897,8 +6142,24 @@ async function readSettingsWithMetadata(pmRoot) {
|
|
|
5897
6142
|
...loadedSchemaSections.warnings
|
|
5898
6143
|
]
|
|
5899
6144
|
};
|
|
6145
|
+
if (schemaScaffold.created_paths.length === 0) {
|
|
6146
|
+
if (!settingsReadCacheSignaturesEqual(signaturesBeforeSchemaLoad, signaturesAfterSchemaLoad)) {
|
|
6147
|
+
clearSettingsReadCache(pmRoot);
|
|
6148
|
+
} else {
|
|
6149
|
+
setSettingsReadCacheEntry(pmRoot, {
|
|
6150
|
+
tracked_paths: trackedPaths,
|
|
6151
|
+
signatures: signaturesAfterSchemaLoad,
|
|
6152
|
+
value: cloneSettingsReadResult(result)
|
|
6153
|
+
});
|
|
6154
|
+
}
|
|
6155
|
+
} else {
|
|
6156
|
+
clearSettingsReadCache(pmRoot);
|
|
6157
|
+
}
|
|
6158
|
+
return result;
|
|
5900
6159
|
} catch {
|
|
5901
|
-
|
|
6160
|
+
const fallback = buildFallbackSettingsReadResult("settings_read_merge_failed");
|
|
6161
|
+
await cacheSettingsReadResultSafe(pmRoot, trackedPathsForFailure, fallback);
|
|
6162
|
+
return fallback;
|
|
5902
6163
|
}
|
|
5903
6164
|
}
|
|
5904
6165
|
async function readSettings(pmRoot) {
|
|
@@ -5909,11 +6170,15 @@ async function writeSettings(pmRoot, settings, op = SETTINGS_WRITE_OP) {
|
|
|
5909
6170
|
await writeFileAtomic(settingsPath, serializeSettings(settings, {
|
|
5910
6171
|
persist_source: getSettingsPersistSourceSnapshot(settings)
|
|
5911
6172
|
}));
|
|
5912
|
-
|
|
5913
|
-
|
|
5914
|
-
|
|
5915
|
-
|
|
5916
|
-
|
|
6173
|
+
try {
|
|
6174
|
+
await runActiveOnWriteHooks({
|
|
6175
|
+
path: settingsPath,
|
|
6176
|
+
scope: "project",
|
|
6177
|
+
op
|
|
6178
|
+
});
|
|
6179
|
+
} finally {
|
|
6180
|
+
clearSettingsReadCache(pmRoot);
|
|
6181
|
+
}
|
|
5917
6182
|
}
|
|
5918
6183
|
|
|
5919
6184
|
export {
|
|
@@ -6052,6 +6317,6 @@ export {
|
|
|
6052
6317
|
readSettings,
|
|
6053
6318
|
writeSettings
|
|
6054
6319
|
};
|
|
6055
|
-
//# sourceMappingURL=chunk-
|
|
6320
|
+
//# sourceMappingURL=chunk-A6LXQFO7.js.map
|
|
6056
6321
|
|
|
6057
|
-
//# debugId=
|
|
6322
|
+
//# debugId=3d81dd28-0239-582e-84cb-25d9dea99250
|