@unbrained/pm-cli 2026.6.8 → 2026.6.10
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +74 -11
- package/dist/cli/bootstrap-args.js +4 -2
- package/dist/cli/bootstrap-args.js.map +1 -1
- package/dist/cli/commands/aggregate.d.ts +7 -0
- package/dist/cli/commands/aggregate.js +53 -12
- package/dist/cli/commands/aggregate.js.map +1 -1
- package/dist/cli/commands/close.d.ts +1 -0
- package/dist/cli/commands/close.js +106 -3
- package/dist/cli/commands/close.js.map +1 -1
- package/dist/cli/commands/completion.js +20 -7
- package/dist/cli/commands/completion.js.map +1 -1
- package/dist/cli/commands/context.d.ts +9 -0
- package/dist/cli/commands/context.js +149 -20
- package/dist/cli/commands/context.js.map +1 -1
- package/dist/cli/commands/create.d.ts +1 -0
- package/dist/cli/commands/create.js +5 -3
- package/dist/cli/commands/create.js.map +1 -1
- package/dist/cli/commands/extension.js +4 -2
- package/dist/cli/commands/extension.js.map +1 -1
- package/dist/cli/commands/health.js +44 -6
- package/dist/cli/commands/health.js.map +1 -1
- package/dist/cli/commands/history.js +6 -5
- package/dist/cli/commands/history.js.map +1 -1
- package/dist/cli/commands/linked-test-parsers.d.ts +1 -0
- package/dist/cli/commands/linked-test-parsers.js +289 -2
- package/dist/cli/commands/linked-test-parsers.js.map +1 -1
- package/dist/cli/commands/reindex.d.ts +1 -0
- package/dist/cli/commands/reindex.js +33 -4
- package/dist/cli/commands/reindex.js.map +1 -1
- package/dist/cli/commands/test.d.ts +6 -0
- package/dist/cli/commands/test.js +46 -5
- package/dist/cli/commands/test.js.map +1 -1
- package/dist/cli/extension-command-help.d.ts +1 -0
- package/dist/cli/extension-command-help.js +42 -2
- package/dist/cli/extension-command-help.js.map +1 -1
- package/dist/cli/extension-command-options.d.ts +2 -0
- package/dist/cli/extension-command-options.js +89 -17
- package/dist/cli/extension-command-options.js.map +1 -1
- package/dist/cli/main.js +26 -26
- package/dist/cli/main.js.map +1 -1
- package/dist/cli/register-list-query.js +3 -2
- package/dist/cli/register-list-query.js.map +1 -1
- package/dist/cli/register-mutation.js +4 -2
- package/dist/cli/register-mutation.js.map +1 -1
- package/dist/cli/register-operations.js +15 -6
- package/dist/cli/register-operations.js.map +1 -1
- package/dist/cli/registration-helpers.js +9 -2
- package/dist/cli/registration-helpers.js.map +1 -1
- package/dist/cli-bundle/chunks/activity-5QLX6DHN.js +16 -0
- package/dist/cli-bundle/chunks/{activity-Q7XMIZIH.js → activity-W6TS5F2L.js} +11 -11
- package/dist/cli-bundle/chunks/{aggregate-GBSHSXOB.js → aggregate-NNJLKGEK.js} +64 -24
- package/dist/cli-bundle/chunks/aggregate-NNJLKGEK.js.map +7 -0
- package/dist/cli-bundle/chunks/{aggregate-HKQJZUBG.js → aggregate-UK2WJ4Z3.js} +65 -25
- package/dist/cli-bundle/chunks/aggregate-UK2WJ4Z3.js.map +1 -0
- package/dist/cli-bundle/chunks/{append-3RFOU7P5.js → append-7BS36Z2L.js} +8 -8
- package/dist/cli-bundle/chunks/{append-OM74OJVT.js → append-DHGTLUZW.js} +8 -8
- package/dist/cli-bundle/chunks/{chunk-SDLEYY6A.js → chunk-2MKBPWMK.js} +6 -8
- package/dist/cli-bundle/chunks/{chunk-SDLEYY6A.js.map → chunk-2MKBPWMK.js.map} +1 -1
- package/dist/cli-bundle/chunks/{chunk-Z2HXAFFH.js → chunk-344GDQTH.js} +2 -2
- package/dist/cli-bundle/chunks/{chunk-AEMKH5WQ.js → chunk-3VTWCBXL.js} +3 -3
- package/dist/cli-bundle/chunks/{chunk-XLSQ3QLT.js → chunk-4CYHWHZU.js} +2 -2
- package/dist/cli-bundle/chunks/{chunk-JS47EKLP.js → chunk-4H2NDEGJ.js} +7 -7
- package/dist/cli-bundle/chunks/{chunk-QF4OPBAG.js → chunk-5HH6QRH5.js} +9 -9
- package/dist/cli-bundle/chunks/{chunk-5NVJA7IW.js → chunk-5OMABP7I.js} +7 -7
- package/dist/cli-bundle/chunks/{chunk-YEFOCDIK.js → chunk-6ADVKPVV.js} +7 -7
- package/dist/cli-bundle/chunks/{chunk-SM3RMWGO.js → chunk-6KQS23TX.js} +8 -8
- package/dist/cli-bundle/chunks/{chunk-ETZZU5QF.js → chunk-6N46IM44.js} +2 -2
- package/dist/cli-bundle/chunks/{chunk-EPWT7BEA.js → chunk-6OSG3EMX.js} +157 -12
- package/dist/cli-bundle/chunks/chunk-6OSG3EMX.js.map +1 -0
- package/dist/cli-bundle/chunks/{chunk-5WO2VKFA.js → chunk-73PSHEMT.js} +8 -8
- package/dist/cli-bundle/chunks/{chunk-J4DKAGTM.js → chunk-7DUVDW7C.js} +3 -3
- package/dist/cli-bundle/chunks/{chunk-2BYKYPWY.js → chunk-7GYMMDDW.js} +2 -2
- package/dist/cli-bundle/chunks/{chunk-QFVASU44.js → chunk-7TW64BS5.js} +2 -2
- package/dist/cli-bundle/chunks/{chunk-VXBUXLVD.js → chunk-A6XVYNQJ.js} +13 -6
- package/dist/cli-bundle/chunks/chunk-A6XVYNQJ.js.map +7 -0
- package/dist/cli-bundle/chunks/{chunk-KP4KIUQT.js → chunk-ANVZCNL5.js} +3 -3
- package/dist/cli-bundle/chunks/{chunk-HOA3GMB6.js → chunk-BE5G7HEL.js} +14 -8
- package/dist/cli-bundle/chunks/chunk-BE5G7HEL.js.map +1 -0
- package/dist/cli-bundle/chunks/{chunk-QWNUDGFQ.js → chunk-CMEHZD6G.js} +163 -11
- package/dist/cli-bundle/chunks/chunk-CMEHZD6G.js.map +7 -0
- package/dist/cli-bundle/chunks/{chunk-7NQIY7Z6.js → chunk-CTW7QAHM.js} +6 -5
- package/dist/cli-bundle/chunks/chunk-CTW7QAHM.js.map +1 -0
- package/dist/cli-bundle/chunks/{chunk-UEXNNF3K.js → chunk-D6JZBUZ6.js} +7 -7
- package/dist/cli-bundle/chunks/{chunk-F33AQIB4.js → chunk-DEYNERFX.js} +19 -7
- package/dist/cli-bundle/chunks/chunk-DEYNERFX.js.map +1 -0
- package/dist/cli-bundle/chunks/{chunk-R4XIE7NQ.js → chunk-DMDEC4QP.js} +6 -6
- package/dist/cli-bundle/chunks/{chunk-KN4WSESY.js → chunk-DTRIVUTN.js} +5 -5
- package/dist/cli-bundle/chunks/{chunk-KS2U7BZ3.js → chunk-EAQLLID6.js} +16 -6
- package/dist/cli-bundle/chunks/chunk-EAQLLID6.js.map +1 -0
- package/dist/cli-bundle/chunks/{chunk-HP35AVFS.js → chunk-EIS32UA4.js} +2 -2
- package/dist/cli-bundle/chunks/chunk-F2PVV7IX.js +528 -0
- package/dist/cli-bundle/chunks/chunk-F2PVV7IX.js.map +7 -0
- package/dist/cli-bundle/chunks/{chunk-DV27WDA7.js → chunk-GF5XIBUH.js} +70 -9
- package/dist/cli-bundle/chunks/chunk-GF5XIBUH.js.map +7 -0
- package/dist/cli-bundle/chunks/{chunk-BFJPMUF5.js → chunk-GP6SHEAI.js} +5 -5
- package/dist/cli-bundle/chunks/{chunk-URJEZOLB.js → chunk-GRHPU6EM.js} +2 -2
- package/dist/cli-bundle/chunks/{chunk-K62SNVVE.js → chunk-I2FM2SMO.js} +2 -2
- package/dist/cli-bundle/chunks/{chunk-F33VC5EX.js → chunk-IEQ3N7WP.js} +12 -5
- package/dist/cli-bundle/chunks/chunk-IEQ3N7WP.js.map +1 -0
- package/dist/cli-bundle/chunks/{chunk-AXBUHLW7.js → chunk-K45NAJV2.js} +9 -9
- package/dist/cli-bundle/chunks/{chunk-NLVCMVC7.js → chunk-K7SXBA75.js} +2 -2
- package/dist/cli-bundle/chunks/{chunk-OVSSE2JP.js → chunk-KHBRV5JU.js} +14 -12
- package/dist/cli-bundle/chunks/chunk-KHBRV5JU.js.map +1 -0
- package/dist/cli-bundle/chunks/{chunk-D7WK2PKB.js → chunk-KMMUDSSB.js} +112 -7
- package/dist/cli-bundle/chunks/chunk-KMMUDSSB.js.map +1 -0
- package/dist/cli-bundle/chunks/{chunk-ALSRBNYB.js → chunk-KRZQGRVL.js} +14 -7
- package/dist/cli-bundle/chunks/chunk-KRZQGRVL.js.map +1 -0
- package/dist/cli-bundle/chunks/{chunk-PQDH3S54.js → chunk-LUJQJR7G.js} +71 -69
- package/dist/cli-bundle/chunks/{chunk-PQDH3S54.js.map → chunk-LUJQJR7G.js.map} +1 -1
- package/dist/cli-bundle/chunks/{chunk-NDSMKB2I.js → chunk-LYL32FT6.js} +3 -3
- package/dist/cli-bundle/chunks/{chunk-ODN53S6H.js → chunk-MF6KSSMF.js} +11 -14
- package/dist/cli-bundle/chunks/chunk-MF6KSSMF.js.map +1 -0
- package/dist/cli-bundle/chunks/{chunk-Z55JACL2.js → chunk-O64EYNHF.js} +6 -6
- package/dist/cli-bundle/chunks/{chunk-3TXWDGPU.js → chunk-OQGJSCZZ.js} +522 -37
- package/dist/cli-bundle/chunks/chunk-OQGJSCZZ.js.map +7 -0
- package/dist/cli-bundle/chunks/{chunk-FO2TYSQZ.js → chunk-OROMGSBP.js} +2 -2
- package/dist/cli-bundle/chunks/{chunk-3E3MDBTB.js → chunk-OSGWBWLK.js} +76 -74
- package/dist/cli-bundle/chunks/{chunk-3E3MDBTB.js.map → chunk-OSGWBWLK.js.map} +3 -3
- package/dist/cli-bundle/chunks/{chunk-7WXGR44E.js → chunk-OVNSQHDG.js} +19 -7
- package/dist/cli-bundle/chunks/chunk-OVNSQHDG.js.map +7 -0
- package/dist/cli-bundle/chunks/{chunk-XZS4MV37.js → chunk-PYULT32I.js} +2 -2
- package/dist/cli-bundle/chunks/{chunk-M7UBTVFT.js → chunk-Q6PSD5DZ.js} +3 -3
- package/dist/cli-bundle/chunks/{chunk-QQPZYP73.js → chunk-QGIWURY3.js} +12 -12
- package/dist/cli-bundle/chunks/{chunk-KCGMABHM.js → chunk-QJ2OIEOC.js} +68 -7
- package/dist/cli-bundle/chunks/chunk-QJ2OIEOC.js.map +1 -0
- package/dist/cli-bundle/chunks/{chunk-XEKZCBCS.js → chunk-SNASEDXB.js} +3 -3
- package/dist/cli-bundle/chunks/{chunk-4WYBLB6J.js → chunk-T6QLB34N.js} +3 -3
- package/dist/cli-bundle/chunks/{chunk-NGEEXR2R.js → chunk-TALBUVWF.js} +2 -2
- package/dist/cli-bundle/chunks/{chunk-FGRJZVXD.js → chunk-TV6FZGVK.js} +3 -3
- package/dist/cli-bundle/chunks/{chunk-MSH23UWO.js → chunk-TXWMLDMG.js} +13 -7
- package/dist/cli-bundle/chunks/chunk-TXWMLDMG.js.map +7 -0
- package/dist/cli-bundle/chunks/{chunk-TXKENAQP.js → chunk-TZLGCTA5.js} +5 -4
- package/dist/cli-bundle/chunks/chunk-TZLGCTA5.js.map +7 -0
- package/dist/cli-bundle/chunks/{chunk-4TI3532H.js → chunk-UDWUDUJI.js} +2 -2
- package/dist/cli-bundle/chunks/{chunk-N4SQZ7L3.js → chunk-UMWF6ZAS.js} +12 -5
- package/dist/cli-bundle/chunks/chunk-UMWF6ZAS.js.map +7 -0
- package/dist/cli-bundle/chunks/{chunk-BKQMJXWY.js → chunk-UNH3KSHG.js} +4 -6
- package/dist/cli-bundle/chunks/{chunk-BKQMJXWY.js.map → chunk-UNH3KSHG.js.map} +1 -1
- package/dist/cli-bundle/chunks/{chunk-CBJXWXI5.js → chunk-UY26RIBR.js} +2 -2
- package/dist/cli-bundle/chunks/{chunk-TBLBEOEX.js → chunk-VSS3CSTF.js} +9 -9
- package/dist/cli-bundle/chunks/{chunk-2YPVCD7T.js → chunk-WBU257Z4.js} +13 -11
- package/dist/cli-bundle/chunks/chunk-WBU257Z4.js.map +7 -0
- package/dist/cli-bundle/chunks/{chunk-YJAKN2N2.js → chunk-WNMRICXH.js} +489 -32
- package/dist/cli-bundle/chunks/chunk-WNMRICXH.js.map +1 -0
- package/dist/cli-bundle/chunks/chunk-WSWOQP3Z.js +518 -0
- package/dist/cli-bundle/chunks/chunk-WSWOQP3Z.js.map +1 -0
- package/dist/cli-bundle/chunks/{chunk-OTY2YEH5.js → chunk-WWEFBBVF.js} +12 -12
- package/dist/cli-bundle/chunks/{chunk-UMMJAJB2.js → chunk-X3IPJU2O.js} +9 -9
- package/dist/cli-bundle/chunks/{chunk-KBKJVXUS.js → chunk-X5YC5DZM.js} +111 -6
- package/dist/cli-bundle/chunks/chunk-X5YC5DZM.js.map +7 -0
- package/dist/cli-bundle/chunks/{chunk-KVXIQDJG.js → chunk-XH6RA5A5.js} +15 -15
- package/dist/cli-bundle/chunks/chunk-XH6RA5A5.js.map +1 -0
- package/dist/cli-bundle/chunks/{chunk-2HMD3JM2.js → chunk-XRE4CTNP.js} +11 -14
- package/dist/cli-bundle/chunks/chunk-XRE4CTNP.js.map +7 -0
- package/dist/cli-bundle/chunks/{chunk-RISLL7XH.js → chunk-XSCGU4WT.js} +15 -5
- package/dist/cli-bundle/chunks/{chunk-RISLL7XH.js.map → chunk-XSCGU4WT.js.map} +2 -2
- package/dist/cli-bundle/chunks/{chunk-L3LYL3ID.js → chunk-ZH7C7ZVX.js} +14 -14
- package/dist/cli-bundle/chunks/chunk-ZH7C7ZVX.js.map +7 -0
- package/dist/cli-bundle/chunks/{claim-NHBIIBOW.js → claim-3TY5LE54.js} +10 -10
- package/dist/cli-bundle/chunks/{claim-RNEBQCOO.js → claim-LM4YY6QQ.js} +10 -10
- package/dist/cli-bundle/chunks/{close-ZMXL2WDS.js → close-CSD4LEMT.js} +8 -8
- package/dist/cli-bundle/chunks/close-SIQCDOBR.js +13 -0
- package/dist/cli-bundle/chunks/{close-many-CDPQGQUB.js → close-many-B5SHDX6W.js} +17 -18
- package/dist/cli-bundle/chunks/{close-many-CDPQGQUB.js.map → close-many-B5SHDX6W.js.map} +1 -1
- package/dist/cli-bundle/chunks/{close-many-IQV5C2SI.js → close-many-WRXB5KVY.js} +15 -16
- package/dist/cli-bundle/chunks/{close-many-IQV5C2SI.js.map → close-many-WRXB5KVY.js.map} +1 -1
- package/dist/cli-bundle/chunks/{comments-J5Q4IJPH.js → comments-A5ALOYTG.js} +10 -10
- package/dist/cli-bundle/chunks/{comments-EFVBHWPT.js → comments-BDDEK3VW.js} +10 -10
- package/dist/cli-bundle/chunks/{config-72253M2O.js → config-W2NHDNQT.js} +8 -8
- package/dist/cli-bundle/chunks/{config-VFYA6BMI.js → config-YUYBMJOW.js} +8 -8
- package/dist/cli-bundle/chunks/{context-AVLO4IFH.js → context-LRJ74NSU.js} +147 -36
- package/dist/cli-bundle/chunks/context-LRJ74NSU.js.map +7 -0
- package/dist/cli-bundle/chunks/{context-WMSI2D65.js → context-R2QLOJCK.js} +148 -37
- package/dist/cli-bundle/chunks/context-R2QLOJCK.js.map +1 -0
- package/dist/cli-bundle/chunks/{contracts-D4BN3VSQ.js → contracts-47X7RYUF.js} +4 -4
- package/dist/cli-bundle/chunks/{contracts-RGPOBLPL.js → contracts-HJHR4NCD.js} +4 -4
- package/dist/cli-bundle/chunks/{copy-H6TXHK7S.js → copy-B7HFOWFB.js} +7 -7
- package/dist/cli-bundle/chunks/{copy-WXE3OOLZ.js → copy-P4UVYZ7M.js} +7 -7
- package/dist/cli-bundle/chunks/{create-PUAIJEZ7.js → create-5ERJF64D.js} +13 -13
- package/dist/cli-bundle/chunks/create-TXNRPS4K.js +27 -0
- package/dist/cli-bundle/chunks/{delete-WBME6WG5.js → delete-LX3LGBCH.js} +7 -7
- package/dist/cli-bundle/chunks/{delete-PKR2JHLH.js → delete-S3WVK6LP.js} +7 -7
- package/dist/cli-bundle/chunks/{deps-4BQEDV4L.js → deps-GWSNH7OZ.js} +7 -7
- package/dist/cli-bundle/chunks/{deps-KWHQRO75.js → deps-YSM4LZQD.js} +7 -7
- package/dist/cli-bundle/chunks/{docs-SCNBUGSV.js → docs-7RYFBHQD.js} +9 -9
- package/dist/cli-bundle/chunks/{docs-364GT3ZR.js → docs-TG6JMVMY.js} +9 -9
- package/dist/cli-bundle/chunks/{extension-KK2UPXJD.js → extension-R3LUKMX7.js} +5 -5
- package/dist/cli-bundle/chunks/{extension-CRE7JM47.js → extension-VNMRKIHI.js} +5 -5
- package/dist/cli-bundle/chunks/{files-66EHM5ZR.js → files-KAKU57OT.js} +9 -9
- package/dist/cli-bundle/chunks/{files-3GESQAWL.js → files-QB3EYPMO.js} +9 -9
- package/dist/cli-bundle/chunks/{gc-MOQDND5J.js → gc-B747VM4M.js} +3 -3
- package/dist/cli-bundle/chunks/{gc-D5IWOKQH.js → gc-KNUPLPSW.js} +3 -3
- package/dist/cli-bundle/chunks/{get-7J2ZCBV5.js → get-GMGLIQ5I.js} +11 -11
- package/dist/cli-bundle/chunks/{get-WXSLXV3K.js → get-SBL6NHYQ.js} +11 -11
- package/dist/cli-bundle/chunks/{health-B6AEM7BV.js → health-IG43Z4KL.js} +47 -19
- package/dist/cli-bundle/chunks/health-IG43Z4KL.js.map +1 -0
- package/dist/cli-bundle/chunks/{health-YMZGOMVX.js → health-WWZJ5KJS.js} +46 -18
- package/dist/cli-bundle/chunks/health-WWZJ5KJS.js.map +7 -0
- package/dist/cli-bundle/chunks/history-6UKSZTRT.js +20 -0
- package/dist/cli-bundle/chunks/{history-TJTO5GCR.js → history-XCWRXBXC.js} +10 -10
- package/dist/cli-bundle/chunks/{history-compact-CKNN6UKW.js → history-compact-IDH7E7VN.js} +11 -11
- package/dist/cli-bundle/chunks/{history-compact-N2Q7IR3T.js → history-compact-KICKUCR7.js} +11 -11
- package/dist/cli-bundle/chunks/history-redact-HKYBTK6X.js +19 -0
- package/dist/cli-bundle/chunks/{history-redact-JUXUOH54.js → history-redact-JJWH3QWK.js} +11 -11
- package/dist/cli-bundle/chunks/{history-repair-TDBBSRVK.js → history-repair-7HWBZKXN.js} +11 -11
- package/dist/cli-bundle/chunks/{history-repair-CCCPBNTF.js → history-repair-N5HXKJOI.js} +11 -11
- package/dist/cli-bundle/chunks/init-27JLDUO2.js +17 -0
- package/dist/cli-bundle/chunks/{init-6ZPKD3YN.js → init-OQA3TWIS.js} +9 -9
- package/dist/cli-bundle/chunks/{learnings-WYNTYQ5T.js → learnings-L7VQUSVI.js} +10 -10
- package/dist/cli-bundle/chunks/{learnings-U7U2FNIO.js → learnings-Z4GAIZQ5.js} +10 -10
- package/dist/cli-bundle/chunks/list-6U3CJVXS.js +19 -0
- package/dist/cli-bundle/chunks/{list-JGP7ODML.js → list-W5ROBC5U.js} +10 -11
- package/dist/cli-bundle/chunks/{notes-P25YVTEG.js → notes-JJDOEDFK.js} +10 -10
- package/dist/cli-bundle/chunks/{notes-QIF6A7XS.js → notes-SDCK7BEN.js} +10 -10
- package/dist/cli-bundle/chunks/{plan-RACB5PI6.js → plan-H5HYHMBB.js} +13 -13
- package/dist/cli-bundle/chunks/{plan-SSBJFWXA.js → plan-W2B5RYR3.js} +13 -13
- package/dist/cli-bundle/chunks/{register-list-query-GQAEIG4K.js → register-list-query-QGRFMDWA.js} +20 -20
- package/dist/cli-bundle/chunks/register-list-query-QGRFMDWA.js.map +7 -0
- package/dist/cli-bundle/chunks/{register-list-query-5IXDPUZ6.js → register-list-query-V4S23735.js} +21 -21
- package/dist/cli-bundle/chunks/register-list-query-V4S23735.js.map +1 -0
- package/dist/cli-bundle/chunks/{register-mutation-FAS4YG63.js → register-mutation-I57PLUHA.js} +36 -35
- package/dist/cli-bundle/chunks/register-mutation-I57PLUHA.js.map +1 -0
- package/dist/cli-bundle/chunks/{register-mutation-YZCUILGO.js → register-mutation-ZPZNJXSA.js} +35 -34
- package/dist/cli-bundle/chunks/register-mutation-ZPZNJXSA.js.map +7 -0
- package/dist/cli-bundle/chunks/{register-operations-S2BOLUPF.js → register-operations-KAMLXAF5.js} +42 -37
- package/dist/cli-bundle/chunks/register-operations-KAMLXAF5.js.map +1 -0
- package/dist/cli-bundle/chunks/{register-operations-IBYWNJN5.js → register-operations-YEN4YEZ2.js} +41 -36
- package/dist/cli-bundle/chunks/register-operations-YEN4YEZ2.js.map +7 -0
- package/dist/cli-bundle/chunks/{register-setup-JRZ4UMWZ.js → register-setup-BZ3TNE3G.js} +15 -15
- package/dist/cli-bundle/chunks/{register-setup-ABA2JPWO.js → register-setup-WLFL3OUF.js} +15 -15
- package/dist/cli-bundle/chunks/restore-GNI2W5CN.js +17 -0
- package/dist/cli-bundle/chunks/{restore-K72ZNPEP.js → restore-RGFSPG4K.js} +11 -11
- package/dist/cli-bundle/chunks/{schema-UL4B2JX5.js → schema-CCDU3RLC.js} +8 -8
- package/dist/cli-bundle/chunks/{schema-3VKRDBLC.js → schema-KZASL323.js} +8 -8
- package/dist/cli-bundle/chunks/{search-632WJ7GO.js → search-7KSOLI2E.js} +10 -11
- package/dist/cli-bundle/chunks/{search-632WJ7GO.js.map → search-7KSOLI2E.js.map} +1 -1
- package/dist/cli-bundle/chunks/{search-EQDHSE4G.js → search-DTL7CO22.js} +12 -13
- package/dist/cli-bundle/chunks/{search-EQDHSE4G.js.map → search-DTL7CO22.js.map} +1 -1
- package/dist/cli-bundle/chunks/{stats-WLJ3XBF5.js → stats-IOXQMGI6.js} +7 -7
- package/dist/cli-bundle/chunks/{stats-O4UTMJMC.js → stats-QNV7B2CE.js} +7 -7
- package/dist/cli-bundle/chunks/{telemetry-EUVHFSQU.js → telemetry-IV5C6JOM.js} +4 -4
- package/dist/cli-bundle/chunks/{telemetry-NRVWX25E.js → telemetry-NHR5RFXT.js} +4 -4
- package/dist/cli-bundle/chunks/test-4Z37CXW4.js +32 -0
- package/dist/cli-bundle/chunks/{test-GXUBQNUC.js → test-PIL2CEEB.js} +14 -14
- package/dist/cli-bundle/chunks/{test-all-UTFXC7S2.js → test-all-GRLYHBNP.js} +14 -14
- package/dist/cli-bundle/chunks/{test-all-XM6OKI3L.js → test-all-MFN4MYCV.js} +14 -14
- package/dist/cli-bundle/chunks/{test-runs-IK6E2HNX.js → test-runs-7LRFWWCA.js} +5 -5
- package/dist/cli-bundle/chunks/{test-runs-7FHCPEA3.js → test-runs-7WCSC3TY.js} +5 -5
- package/dist/cli-bundle/chunks/update-I4G34LKJ.js +21 -0
- package/dist/cli-bundle/chunks/{update-U4B4OMHZ.js → update-VI5DBZ3G.js} +15 -15
- package/dist/cli-bundle/chunks/{update-many-5KD33MKY.js → update-many-LOTAYUTN.js} +22 -23
- package/dist/cli-bundle/chunks/{update-many-5KD33MKY.js.map → update-many-LOTAYUTN.js.map} +1 -1
- package/dist/cli-bundle/chunks/{update-many-N3YTM7K4.js → update-many-UYMTVF42.js} +24 -25
- package/dist/cli-bundle/chunks/{update-many-N3YTM7K4.js.map → update-many-UYMTVF42.js.map} +1 -1
- package/dist/cli-bundle/chunks/{upgrade-FFXGO43H.js → upgrade-LT2MLLPS.js} +5 -5
- package/dist/cli-bundle/chunks/{upgrade-5SRFLUNW.js → upgrade-ZZSC7CLV.js} +5 -5
- package/dist/cli-bundle/chunks/{validate-T3LPWSZG.js → validate-3XRORNMP.js} +16 -16
- package/dist/cli-bundle/chunks/{validate-CRWXZILW.js → validate-IQIQSKUX.js} +16 -16
- package/dist/cli-bundle/main.js +157 -62
- 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 +99 -2
- package/dist/core/extensions/extension-types.js +28 -2
- package/dist/core/extensions/extension-types.js.map +1 -1
- package/dist/core/extensions/flag-value-types.d.ts +29 -0
- package/dist/core/extensions/flag-value-types.js +78 -0
- package/dist/core/extensions/flag-value-types.js.map +1 -0
- package/dist/core/extensions/item-field-types.d.ts +22 -0
- package/dist/core/extensions/item-field-types.js +43 -0
- package/dist/core/extensions/item-field-types.js.map +1 -0
- package/dist/core/extensions/item-fields.js +4 -11
- package/dist/core/extensions/item-fields.js.map +1 -1
- package/dist/core/extensions/loader.d.ts +16 -1
- package/dist/core/extensions/loader.js +202 -18
- 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/packages/manifest.d.ts +1 -1
- package/dist/core/packages/manifest.js +12 -2
- package/dist/core/packages/manifest.js.map +1 -1
- package/dist/core/shared/command-types.d.ts +1 -0
- package/dist/core/shared/command-types.js +2 -2
- package/dist/core/shared/command-types.js.map +1 -1
- package/dist/core/shared/constants.js +7 -4
- package/dist/core/shared/constants.js.map +1 -1
- package/dist/core/store/item-store.d.ts +1 -1
- package/dist/core/store/item-store.js +3 -3
- package/dist/core/store/item-store.js.map +1 -1
- package/dist/core/store/settings-read-cache.d.ts +15 -0
- package/dist/core/store/settings-read-cache.js +72 -0
- package/dist/core/store/settings-read-cache.js.map +1 -0
- package/dist/core/store/settings-validator.d.ts +4 -1
- package/dist/core/store/settings-validator.js +14 -2
- package/dist/core/store/settings-validator.js.map +1 -1
- package/dist/core/store/settings.js +166 -16
- package/dist/core/store/settings.js.map +1 -1
- package/dist/core/telemetry/runtime.d.ts +1 -0
- package/dist/core/telemetry/runtime.js +3 -3
- package/dist/core/telemetry/runtime.js.map +1 -1
- package/dist/core/test/run-selectors.d.ts +27 -0
- package/dist/core/test/run-selectors.js +110 -0
- package/dist/core/test/run-selectors.js.map +1 -0
- package/dist/mcp/server.js +105 -40
- package/dist/mcp/server.js.map +1 -1
- package/dist/sdk/cli-contracts/commander-mutation-options.js +3 -2
- package/dist/sdk/cli-contracts/commander-mutation-options.js.map +1 -1
- package/dist/sdk/cli-contracts/tool-option-contracts.js +3 -2
- package/dist/sdk/cli-contracts/tool-option-contracts.js.map +1 -1
- package/dist/sdk/cli-contracts/tool-parameter-tables.js +29 -2
- package/dist/sdk/cli-contracts/tool-parameter-tables.js.map +1 -1
- package/dist/sdk/cli-contracts.js +37 -5
- package/dist/sdk/cli-contracts.js.map +1 -1
- package/dist/sdk/index.d.ts +7 -2
- package/dist/sdk/index.js +3 -3
- 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/sdk/testing.d.ts +55 -1
- package/dist/sdk/testing.js +92 -2
- package/dist/sdk/testing.js.map +1 -1
- package/dist/types.d.ts +4 -1
- package/dist/types.js +4 -2
- package/dist/types.js.map +1 -1
- package/docs/AGENT_GUIDE.md +7 -1
- package/docs/ARCHITECTURE.md +7 -0
- package/docs/COMMANDS.md +37 -3
- package/docs/CONFIGURATION.md +1 -1
- package/docs/EXTENSIONS.md +59 -53
- package/docs/SDK.md +104 -0
- package/docs/TESTING.md +60 -0
- package/docs/schemas/extension-manifest.schema.json +120 -0
- package/package.json +2 -2
- package/packages/pm-beads/extensions/beads/manifest.json +10 -0
- package/packages/pm-calendar/extensions/calendar/manifest.json +10 -0
- package/packages/pm-command-kit/README.md +72 -0
- package/packages/pm-command-kit/extensions/command-kit/index.js +181 -0
- package/packages/pm-command-kit/extensions/command-kit/index.ts +176 -0
- package/packages/pm-command-kit/extensions/command-kit/manifest.json +22 -0
- package/packages/pm-command-kit/package.json +53 -0
- package/packages/pm-governance-audit/extensions/governance-audit/manifest.json +10 -0
- package/packages/pm-guide-shell/extensions/guide-shell/manifest.json +10 -0
- package/packages/pm-lifecycle-hooks/extensions/lifecycle-hooks/manifest.json +10 -0
- package/packages/pm-linked-test-adapters/extensions/linked-test-adapters/manifest.json +10 -0
- package/packages/pm-search-advanced/extensions/search-advanced/index.js +6 -0
- package/packages/pm-search-advanced/extensions/search-advanced/index.ts +6 -0
- package/packages/pm-search-advanced/extensions/search-advanced/manifest.json +10 -0
- package/packages/pm-search-advanced/extensions/search-advanced/runtime.js +1 -0
- package/packages/pm-search-advanced/extensions/search-advanced/runtime.ts +1 -0
- package/packages/pm-templates/extensions/templates/manifest.json +10 -0
- package/packages/pm-todos/extensions/todos/manifest.json +10 -0
- package/dist/cli-bundle/chunks/activity-A3QKFSSF.js +0 -16
- package/dist/cli-bundle/chunks/aggregate-GBSHSXOB.js.map +0 -7
- package/dist/cli-bundle/chunks/aggregate-HKQJZUBG.js.map +0 -1
- package/dist/cli-bundle/chunks/chunk-2HMD3JM2.js.map +0 -7
- package/dist/cli-bundle/chunks/chunk-2YPVCD7T.js.map +0 -7
- package/dist/cli-bundle/chunks/chunk-3TXWDGPU.js.map +0 -7
- package/dist/cli-bundle/chunks/chunk-7NQIY7Z6.js.map +0 -1
- package/dist/cli-bundle/chunks/chunk-7WXGR44E.js.map +0 -7
- package/dist/cli-bundle/chunks/chunk-ALSRBNYB.js.map +0 -1
- package/dist/cli-bundle/chunks/chunk-D7WK2PKB.js.map +0 -1
- package/dist/cli-bundle/chunks/chunk-DV27WDA7.js.map +0 -7
- package/dist/cli-bundle/chunks/chunk-EAOG77HM.js +0 -56
- package/dist/cli-bundle/chunks/chunk-EAOG77HM.js.map +0 -7
- package/dist/cli-bundle/chunks/chunk-EPWT7BEA.js.map +0 -1
- package/dist/cli-bundle/chunks/chunk-F33AQIB4.js.map +0 -1
- package/dist/cli-bundle/chunks/chunk-F33VC5EX.js.map +0 -1
- package/dist/cli-bundle/chunks/chunk-HOA3GMB6.js.map +0 -1
- package/dist/cli-bundle/chunks/chunk-KBKJVXUS.js.map +0 -7
- package/dist/cli-bundle/chunks/chunk-KCGMABHM.js.map +0 -1
- package/dist/cli-bundle/chunks/chunk-KS2U7BZ3.js.map +0 -1
- package/dist/cli-bundle/chunks/chunk-KVXIQDJG.js.map +0 -1
- package/dist/cli-bundle/chunks/chunk-L3LYL3ID.js.map +0 -7
- package/dist/cli-bundle/chunks/chunk-MSH23UWO.js.map +0 -7
- package/dist/cli-bundle/chunks/chunk-N4SQZ7L3.js.map +0 -7
- package/dist/cli-bundle/chunks/chunk-NUKHZZNM.js +0 -252
- package/dist/cli-bundle/chunks/chunk-NUKHZZNM.js.map +0 -7
- package/dist/cli-bundle/chunks/chunk-ODN53S6H.js.map +0 -1
- package/dist/cli-bundle/chunks/chunk-OVSSE2JP.js.map +0 -1
- package/dist/cli-bundle/chunks/chunk-QWNUDGFQ.js.map +0 -7
- package/dist/cli-bundle/chunks/chunk-TXKENAQP.js.map +0 -7
- package/dist/cli-bundle/chunks/chunk-VXBUXLVD.js.map +0 -7
- package/dist/cli-bundle/chunks/chunk-XNGMIVQY.js +0 -242
- package/dist/cli-bundle/chunks/chunk-XNGMIVQY.js.map +0 -1
- package/dist/cli-bundle/chunks/chunk-XSLQSXAH.js +0 -53
- package/dist/cli-bundle/chunks/chunk-XSLQSXAH.js.map +0 -1
- package/dist/cli-bundle/chunks/chunk-YJAKN2N2.js.map +0 -1
- package/dist/cli-bundle/chunks/close-UNTFXVM3.js +0 -13
- package/dist/cli-bundle/chunks/context-AVLO4IFH.js.map +0 -7
- package/dist/cli-bundle/chunks/context-WMSI2D65.js.map +0 -1
- package/dist/cli-bundle/chunks/create-EZWAMUKR.js +0 -27
- package/dist/cli-bundle/chunks/health-B6AEM7BV.js.map +0 -1
- package/dist/cli-bundle/chunks/health-YMZGOMVX.js.map +0 -7
- package/dist/cli-bundle/chunks/history-ZERISU2L.js +0 -20
- package/dist/cli-bundle/chunks/history-redact-GODBYT5A.js +0 -19
- package/dist/cli-bundle/chunks/init-CBZHXBR3.js +0 -17
- package/dist/cli-bundle/chunks/list-7MTPPZHC.js +0 -20
- package/dist/cli-bundle/chunks/register-list-query-5IXDPUZ6.js.map +0 -1
- package/dist/cli-bundle/chunks/register-list-query-GQAEIG4K.js.map +0 -7
- package/dist/cli-bundle/chunks/register-mutation-FAS4YG63.js.map +0 -1
- package/dist/cli-bundle/chunks/register-mutation-YZCUILGO.js.map +0 -7
- package/dist/cli-bundle/chunks/register-operations-IBYWNJN5.js.map +0 -7
- package/dist/cli-bundle/chunks/register-operations-S2BOLUPF.js.map +0 -1
- package/dist/cli-bundle/chunks/restore-3JRX27QW.js +0 -17
- package/dist/cli-bundle/chunks/test-XN7RJL5Z.js +0 -32
- package/dist/cli-bundle/chunks/update-LFBSEW3N.js +0 -21
- /package/dist/cli-bundle/chunks/{activity-A3QKFSSF.js.map → activity-5QLX6DHN.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{activity-Q7XMIZIH.js.map → activity-W6TS5F2L.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{append-3RFOU7P5.js.map → append-7BS36Z2L.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{append-OM74OJVT.js.map → append-DHGTLUZW.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-Z2HXAFFH.js.map → chunk-344GDQTH.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-AEMKH5WQ.js.map → chunk-3VTWCBXL.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-XLSQ3QLT.js.map → chunk-4CYHWHZU.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-JS47EKLP.js.map → chunk-4H2NDEGJ.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-QF4OPBAG.js.map → chunk-5HH6QRH5.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-5NVJA7IW.js.map → chunk-5OMABP7I.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-YEFOCDIK.js.map → chunk-6ADVKPVV.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-SM3RMWGO.js.map → chunk-6KQS23TX.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-ETZZU5QF.js.map → chunk-6N46IM44.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-5WO2VKFA.js.map → chunk-73PSHEMT.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-J4DKAGTM.js.map → chunk-7DUVDW7C.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-2BYKYPWY.js.map → chunk-7GYMMDDW.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-QFVASU44.js.map → chunk-7TW64BS5.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-KP4KIUQT.js.map → chunk-ANVZCNL5.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-UEXNNF3K.js.map → chunk-D6JZBUZ6.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-R4XIE7NQ.js.map → chunk-DMDEC4QP.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-KN4WSESY.js.map → chunk-DTRIVUTN.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-HP35AVFS.js.map → chunk-EIS32UA4.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-BFJPMUF5.js.map → chunk-GP6SHEAI.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-URJEZOLB.js.map → chunk-GRHPU6EM.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-K62SNVVE.js.map → chunk-I2FM2SMO.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-AXBUHLW7.js.map → chunk-K45NAJV2.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-NLVCMVC7.js.map → chunk-K7SXBA75.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-NDSMKB2I.js.map → chunk-LYL32FT6.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-Z55JACL2.js.map → chunk-O64EYNHF.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-FO2TYSQZ.js.map → chunk-OROMGSBP.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-XZS4MV37.js.map → chunk-PYULT32I.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-M7UBTVFT.js.map → chunk-Q6PSD5DZ.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-QQPZYP73.js.map → chunk-QGIWURY3.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-XEKZCBCS.js.map → chunk-SNASEDXB.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-4WYBLB6J.js.map → chunk-T6QLB34N.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-NGEEXR2R.js.map → chunk-TALBUVWF.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-FGRJZVXD.js.map → chunk-TV6FZGVK.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-4TI3532H.js.map → chunk-UDWUDUJI.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-CBJXWXI5.js.map → chunk-UY26RIBR.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-TBLBEOEX.js.map → chunk-VSS3CSTF.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-OTY2YEH5.js.map → chunk-WWEFBBVF.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-UMMJAJB2.js.map → chunk-X3IPJU2O.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{claim-NHBIIBOW.js.map → claim-3TY5LE54.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{claim-RNEBQCOO.js.map → claim-LM4YY6QQ.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{close-ZMXL2WDS.js.map → close-CSD4LEMT.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{close-UNTFXVM3.js.map → close-SIQCDOBR.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{comments-J5Q4IJPH.js.map → comments-A5ALOYTG.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{comments-EFVBHWPT.js.map → comments-BDDEK3VW.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{config-72253M2O.js.map → config-W2NHDNQT.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{config-VFYA6BMI.js.map → config-YUYBMJOW.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{contracts-D4BN3VSQ.js.map → contracts-47X7RYUF.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{contracts-RGPOBLPL.js.map → contracts-HJHR4NCD.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{copy-H6TXHK7S.js.map → copy-B7HFOWFB.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{copy-WXE3OOLZ.js.map → copy-P4UVYZ7M.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{create-PUAIJEZ7.js.map → create-5ERJF64D.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{create-EZWAMUKR.js.map → create-TXNRPS4K.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{delete-WBME6WG5.js.map → delete-LX3LGBCH.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{delete-PKR2JHLH.js.map → delete-S3WVK6LP.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{deps-4BQEDV4L.js.map → deps-GWSNH7OZ.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{deps-KWHQRO75.js.map → deps-YSM4LZQD.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{docs-SCNBUGSV.js.map → docs-7RYFBHQD.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{docs-364GT3ZR.js.map → docs-TG6JMVMY.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{extension-KK2UPXJD.js.map → extension-R3LUKMX7.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{extension-CRE7JM47.js.map → extension-VNMRKIHI.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{files-66EHM5ZR.js.map → files-KAKU57OT.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{files-3GESQAWL.js.map → files-QB3EYPMO.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{gc-MOQDND5J.js.map → gc-B747VM4M.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{gc-D5IWOKQH.js.map → gc-KNUPLPSW.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{get-7J2ZCBV5.js.map → get-GMGLIQ5I.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{get-WXSLXV3K.js.map → get-SBL6NHYQ.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{history-ZERISU2L.js.map → history-6UKSZTRT.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{history-TJTO5GCR.js.map → history-XCWRXBXC.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{history-compact-CKNN6UKW.js.map → history-compact-IDH7E7VN.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{history-compact-N2Q7IR3T.js.map → history-compact-KICKUCR7.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{history-redact-GODBYT5A.js.map → history-redact-HKYBTK6X.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{history-redact-JUXUOH54.js.map → history-redact-JJWH3QWK.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{history-repair-TDBBSRVK.js.map → history-repair-7HWBZKXN.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{history-repair-CCCPBNTF.js.map → history-repair-N5HXKJOI.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{init-CBZHXBR3.js.map → init-27JLDUO2.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{init-6ZPKD3YN.js.map → init-OQA3TWIS.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{learnings-WYNTYQ5T.js.map → learnings-L7VQUSVI.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{learnings-U7U2FNIO.js.map → learnings-Z4GAIZQ5.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{list-7MTPPZHC.js.map → list-6U3CJVXS.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{list-JGP7ODML.js.map → list-W5ROBC5U.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{notes-P25YVTEG.js.map → notes-JJDOEDFK.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{notes-QIF6A7XS.js.map → notes-SDCK7BEN.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{plan-RACB5PI6.js.map → plan-H5HYHMBB.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{plan-SSBJFWXA.js.map → plan-W2B5RYR3.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{register-setup-JRZ4UMWZ.js.map → register-setup-BZ3TNE3G.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{register-setup-ABA2JPWO.js.map → register-setup-WLFL3OUF.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{restore-3JRX27QW.js.map → restore-GNI2W5CN.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{restore-K72ZNPEP.js.map → restore-RGFSPG4K.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{schema-UL4B2JX5.js.map → schema-CCDU3RLC.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{schema-3VKRDBLC.js.map → schema-KZASL323.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{stats-WLJ3XBF5.js.map → stats-IOXQMGI6.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{stats-O4UTMJMC.js.map → stats-QNV7B2CE.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{telemetry-EUVHFSQU.js.map → telemetry-IV5C6JOM.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{telemetry-NRVWX25E.js.map → telemetry-NHR5RFXT.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{test-XN7RJL5Z.js.map → test-4Z37CXW4.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{test-GXUBQNUC.js.map → test-PIL2CEEB.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{test-all-UTFXC7S2.js.map → test-all-GRLYHBNP.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{test-all-XM6OKI3L.js.map → test-all-MFN4MYCV.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{test-runs-IK6E2HNX.js.map → test-runs-7LRFWWCA.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{test-runs-7FHCPEA3.js.map → test-runs-7WCSC3TY.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{update-LFBSEW3N.js.map → update-I4G34LKJ.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{update-U4B4OMHZ.js.map → update-VI5DBZ3G.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{upgrade-FFXGO43H.js.map → upgrade-LT2MLLPS.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{upgrade-5SRFLUNW.js.map → upgrade-ZZSC7CLV.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{validate-T3LPWSZG.js.map → validate-3XRORNMP.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{validate-CRWXZILW.js.map → validate-IQIQSKUX.js.map} +0 -0
|
@@ -156,7 +156,7 @@ function resolvePmCliVersion(metaUrl, fallbackRelativeSegments = []) {
|
|
|
156
156
|
!(function() {
|
|
157
157
|
try {
|
|
158
158
|
var e = "undefined" != typeof window ? window : "undefined" != typeof global ? global : "undefined" != typeof globalThis ? globalThis : "undefined" != typeof self ? self : {}, n = new e.Error().stack;
|
|
159
|
-
n && (e._sentryDebugIds = e._sentryDebugIds || {}, e._sentryDebugIds[n] = "
|
|
159
|
+
n && (e._sentryDebugIds = e._sentryDebugIds || {}, e._sentryDebugIds[n] = "96f92147-d769-57ff-a0e3-387c90152c9e");
|
|
160
160
|
} catch (e2) {
|
|
161
161
|
}
|
|
162
162
|
})();
|
|
@@ -184,6 +184,7 @@ var EXTENSION_CAPABILITY_CONTRACT = Object.freeze({
|
|
|
184
184
|
var KNOWN_EXTENSION_POLICY_MODES = ["off", "warn", "enforce"];
|
|
185
185
|
var KNOWN_EXTENSION_TRUST_MODES = ["off", "warn", "enforce"];
|
|
186
186
|
var KNOWN_EXTENSION_SANDBOX_PROFILES = ["none", "restricted", "strict"];
|
|
187
|
+
var KNOWN_PM_MAX_VERSION_EXCEEDED_MODES = ["block", "warn"];
|
|
187
188
|
var KNOWN_EXTENSION_POLICY_SURFACES = [
|
|
188
189
|
"commands.override",
|
|
189
190
|
"commands.handler",
|
|
@@ -237,12 +238,29 @@ function createDefaultExtensionGovernancePolicy() {
|
|
|
237
238
|
extension_overrides: []
|
|
238
239
|
};
|
|
239
240
|
}
|
|
241
|
+
var KNOWN_EXTENSION_MANIFEST_FIELDS = Object.freeze([
|
|
242
|
+
"$schema",
|
|
243
|
+
"name",
|
|
244
|
+
"version",
|
|
245
|
+
"entry",
|
|
246
|
+
"priority",
|
|
247
|
+
"manifest_version",
|
|
248
|
+
"pm_min_version",
|
|
249
|
+
"pm_max_version",
|
|
250
|
+
"engines",
|
|
251
|
+
"trusted",
|
|
252
|
+
"provenance",
|
|
253
|
+
"sandbox_profile",
|
|
254
|
+
"permissions",
|
|
255
|
+
"capabilities",
|
|
256
|
+
"activation"
|
|
257
|
+
]);
|
|
240
258
|
|
|
241
259
|
// dist/core/shared/constants.js
|
|
242
260
|
!(function() {
|
|
243
261
|
try {
|
|
244
262
|
var e = "undefined" != typeof window ? window : "undefined" != typeof global ? global : "undefined" != typeof globalThis ? globalThis : "undefined" != typeof self ? self : {}, n = new e.Error().stack;
|
|
245
|
-
n && (e._sentryDebugIds = e._sentryDebugIds || {}, e._sentryDebugIds[n] = "
|
|
263
|
+
n && (e._sentryDebugIds = e._sentryDebugIds || {}, e._sentryDebugIds[n] = "e3d8f708-ea81-58a5-920a-ee9f27c436ab");
|
|
246
264
|
} catch (e2) {
|
|
247
265
|
}
|
|
248
266
|
})();
|
|
@@ -380,6 +398,7 @@ var FRONT_MATTER_KEY_ORDER = [
|
|
|
380
398
|
"test_runs",
|
|
381
399
|
"docs",
|
|
382
400
|
"close_reason",
|
|
401
|
+
"duplicate_of",
|
|
383
402
|
"plan_mode",
|
|
384
403
|
"plan_scope",
|
|
385
404
|
"plan_harness",
|
|
@@ -395,7 +414,7 @@ var GOVERNANCE_PRESET_DEFAULTS = {
|
|
|
395
414
|
create_mode_default: "progressive",
|
|
396
415
|
close_validation_default: "off",
|
|
397
416
|
require_close_reason: true,
|
|
398
|
-
parent_reference: "
|
|
417
|
+
parent_reference: "strict_error",
|
|
399
418
|
metadata_profile: "core",
|
|
400
419
|
force_required_for_stale_lock: false
|
|
401
420
|
},
|
|
@@ -404,7 +423,7 @@ var GOVERNANCE_PRESET_DEFAULTS = {
|
|
|
404
423
|
create_mode_default: "progressive",
|
|
405
424
|
close_validation_default: "warn",
|
|
406
425
|
require_close_reason: true,
|
|
407
|
-
parent_reference: "
|
|
426
|
+
parent_reference: "strict_error",
|
|
408
427
|
metadata_profile: "core",
|
|
409
428
|
force_required_for_stale_lock: true
|
|
410
429
|
},
|
|
@@ -549,6 +568,8 @@ var SETTINGS_DEFAULTS = {
|
|
|
549
568
|
hierarchy: true,
|
|
550
569
|
activity: true,
|
|
551
570
|
progress: true,
|
|
571
|
+
recently_created: true,
|
|
572
|
+
unparented: true,
|
|
552
573
|
blockers: true,
|
|
553
574
|
files: true,
|
|
554
575
|
workload: true,
|
|
@@ -1479,11 +1500,154 @@ import fs3 from "node:fs/promises";
|
|
|
1479
1500
|
import path5 from "node:path";
|
|
1480
1501
|
import { pathToFileURL } from "node:url";
|
|
1481
1502
|
|
|
1503
|
+
// dist/core/extensions/flag-value-types.js
|
|
1504
|
+
!(function() {
|
|
1505
|
+
try {
|
|
1506
|
+
var e = "undefined" != typeof window ? window : "undefined" != typeof global ? global : "undefined" != typeof globalThis ? globalThis : "undefined" != typeof self ? self : {}, n = new e.Error().stack;
|
|
1507
|
+
n && (e._sentryDebugIds = e._sentryDebugIds || {}, e._sentryDebugIds[n] = "63f541d2-f7f5-50d9-afbe-4ce8659063f8");
|
|
1508
|
+
} catch (e2) {
|
|
1509
|
+
}
|
|
1510
|
+
})();
|
|
1511
|
+
var FLAG_VALUE_KIND_BY_ALIAS = Object.freeze({
|
|
1512
|
+
string: "string",
|
|
1513
|
+
number: "number",
|
|
1514
|
+
int: "number",
|
|
1515
|
+
integer: "number",
|
|
1516
|
+
float: "number",
|
|
1517
|
+
boolean: "boolean",
|
|
1518
|
+
bool: "boolean"
|
|
1519
|
+
});
|
|
1520
|
+
function resolveFlagValueKind(raw) {
|
|
1521
|
+
if (typeof raw !== "string") {
|
|
1522
|
+
return null;
|
|
1523
|
+
}
|
|
1524
|
+
return FLAG_VALUE_KIND_BY_ALIAS[raw.trim().toLowerCase()] ?? null;
|
|
1525
|
+
}
|
|
1526
|
+
function flattenFlagListValue(value) {
|
|
1527
|
+
const entries = [];
|
|
1528
|
+
const collect = (input) => {
|
|
1529
|
+
if (Array.isArray(input)) {
|
|
1530
|
+
for (const item of input) {
|
|
1531
|
+
collect(item);
|
|
1532
|
+
}
|
|
1533
|
+
return;
|
|
1534
|
+
}
|
|
1535
|
+
if (typeof input === "string") {
|
|
1536
|
+
for (const part of input.split(",")) {
|
|
1537
|
+
const trimmed = part.trim();
|
|
1538
|
+
if (trimmed.length > 0) {
|
|
1539
|
+
entries.push(trimmed);
|
|
1540
|
+
}
|
|
1541
|
+
}
|
|
1542
|
+
return;
|
|
1543
|
+
}
|
|
1544
|
+
if (input !== void 0 && input !== null) {
|
|
1545
|
+
entries.push(input);
|
|
1546
|
+
}
|
|
1547
|
+
};
|
|
1548
|
+
collect(value);
|
|
1549
|
+
return entries;
|
|
1550
|
+
}
|
|
1551
|
+
function isFlagDefaultValueCoercible(value, kind) {
|
|
1552
|
+
if (kind === "string") {
|
|
1553
|
+
return true;
|
|
1554
|
+
}
|
|
1555
|
+
if (kind === "number") {
|
|
1556
|
+
if (typeof value === "number") {
|
|
1557
|
+
return Number.isFinite(value);
|
|
1558
|
+
}
|
|
1559
|
+
return typeof value === "string" && value.trim().length > 0 && Number.isFinite(Number(value));
|
|
1560
|
+
}
|
|
1561
|
+
if (typeof value === "boolean") {
|
|
1562
|
+
return true;
|
|
1563
|
+
}
|
|
1564
|
+
return typeof value === "string" && ["true", "false", "1", "0"].includes(value.trim().toLowerCase());
|
|
1565
|
+
}
|
|
1566
|
+
|
|
1567
|
+
// dist/core/shared/levenshtein.js
|
|
1568
|
+
!(function() {
|
|
1569
|
+
try {
|
|
1570
|
+
var e = "undefined" != typeof window ? window : "undefined" != typeof global ? global : "undefined" != typeof globalThis ? globalThis : "undefined" != typeof self ? self : {}, n = new e.Error().stack;
|
|
1571
|
+
n && (e._sentryDebugIds = e._sentryDebugIds || {}, e._sentryDebugIds[n] = "6f3e0977-8505-552c-b2ff-862f2a5d5a91");
|
|
1572
|
+
} catch (e2) {
|
|
1573
|
+
}
|
|
1574
|
+
})();
|
|
1575
|
+
function levenshteinDistanceWithinLimit(left, right, limit) {
|
|
1576
|
+
if (left === right) {
|
|
1577
|
+
return 0;
|
|
1578
|
+
}
|
|
1579
|
+
if (Math.abs(left.length - right.length) > limit) {
|
|
1580
|
+
return null;
|
|
1581
|
+
}
|
|
1582
|
+
const width = right.length + 1;
|
|
1583
|
+
const beforePrevious = new Array(width);
|
|
1584
|
+
const previous = new Array(width);
|
|
1585
|
+
const current = new Array(width);
|
|
1586
|
+
for (let column = 0; column < width; column += 1) {
|
|
1587
|
+
beforePrevious[column] = 0;
|
|
1588
|
+
previous[column] = column;
|
|
1589
|
+
}
|
|
1590
|
+
for (let row = 1; row <= left.length; row += 1) {
|
|
1591
|
+
current[0] = row;
|
|
1592
|
+
let rowMin = current[0];
|
|
1593
|
+
for (let column = 1; column <= right.length; column += 1) {
|
|
1594
|
+
const cost = left[row - 1] === right[column - 1] ? 0 : 1;
|
|
1595
|
+
const substitution = previous[column - 1] + cost;
|
|
1596
|
+
const insertion = current[column - 1] + 1;
|
|
1597
|
+
const deletion = previous[column] + 1;
|
|
1598
|
+
let candidate = Math.min(substitution, insertion, deletion);
|
|
1599
|
+
if (row > 1 && column > 1 && left[row - 1] === right[column - 2] && left[row - 2] === right[column - 1]) {
|
|
1600
|
+
candidate = Math.min(candidate, beforePrevious[column - 2] + 1);
|
|
1601
|
+
}
|
|
1602
|
+
current[column] = candidate;
|
|
1603
|
+
if (candidate < rowMin) {
|
|
1604
|
+
rowMin = candidate;
|
|
1605
|
+
}
|
|
1606
|
+
}
|
|
1607
|
+
if (rowMin > limit) {
|
|
1608
|
+
return null;
|
|
1609
|
+
}
|
|
1610
|
+
for (let column = 0; column < width; column += 1) {
|
|
1611
|
+
beforePrevious[column] = previous[column];
|
|
1612
|
+
previous[column] = current[column];
|
|
1613
|
+
}
|
|
1614
|
+
}
|
|
1615
|
+
const result = previous[right.length];
|
|
1616
|
+
return result <= limit ? result : null;
|
|
1617
|
+
}
|
|
1618
|
+
|
|
1619
|
+
// dist/core/extensions/item-field-types.js
|
|
1620
|
+
!(function() {
|
|
1621
|
+
try {
|
|
1622
|
+
var e = "undefined" != typeof window ? window : "undefined" != typeof global ? global : "undefined" != typeof globalThis ? globalThis : "undefined" != typeof self ? self : {}, n = new e.Error().stack;
|
|
1623
|
+
n && (e._sentryDebugIds = e._sentryDebugIds || {}, e._sentryDebugIds[n] = "557146c8-cf60-5bbf-a59a-606928c536de");
|
|
1624
|
+
} catch (e2) {
|
|
1625
|
+
}
|
|
1626
|
+
})();
|
|
1627
|
+
var KNOWN_ITEM_FIELD_TYPES = ["string", "number", "boolean", "array", "object"];
|
|
1628
|
+
function normalizeItemFieldType(value) {
|
|
1629
|
+
const normalized = value.trim().toLowerCase();
|
|
1630
|
+
return KNOWN_ITEM_FIELD_TYPES.includes(normalized) ? normalized : null;
|
|
1631
|
+
}
|
|
1632
|
+
function suggestKnownItemFieldType(value) {
|
|
1633
|
+
const normalized = value.trim().toLowerCase();
|
|
1634
|
+
if (normalized.length === 0) {
|
|
1635
|
+
return null;
|
|
1636
|
+
}
|
|
1637
|
+
const limit = Math.max(1, Math.floor(normalized.length * 0.34));
|
|
1638
|
+
for (const candidate of KNOWN_ITEM_FIELD_TYPES) {
|
|
1639
|
+
if (levenshteinDistanceWithinLimit(normalized, candidate, limit) !== null) {
|
|
1640
|
+
return candidate;
|
|
1641
|
+
}
|
|
1642
|
+
}
|
|
1643
|
+
return null;
|
|
1644
|
+
}
|
|
1645
|
+
|
|
1482
1646
|
// dist/core/extensions/extension-policy.js
|
|
1483
1647
|
!(function() {
|
|
1484
1648
|
try {
|
|
1485
1649
|
var e = "undefined" != typeof window ? window : "undefined" != typeof global ? global : "undefined" != typeof globalThis ? globalThis : "undefined" != typeof self ? self : {}, n = new e.Error().stack;
|
|
1486
|
-
n && (e._sentryDebugIds = e._sentryDebugIds || {}, e._sentryDebugIds[n] = "
|
|
1650
|
+
n && (e._sentryDebugIds = e._sentryDebugIds || {}, e._sentryDebugIds[n] = "5f65a8a3-c45a-5178-918a-32153c97cce6");
|
|
1487
1651
|
} catch (e2) {
|
|
1488
1652
|
}
|
|
1489
1653
|
})();
|
|
@@ -1534,6 +1698,29 @@ function normalizePolicySandboxProfile(value) {
|
|
|
1534
1698
|
}
|
|
1535
1699
|
return "none";
|
|
1536
1700
|
}
|
|
1701
|
+
function normalizePmMaxVersionExceededModeValue(value) {
|
|
1702
|
+
if (typeof value !== "string") {
|
|
1703
|
+
return void 0;
|
|
1704
|
+
}
|
|
1705
|
+
const normalized = value.trim().toLowerCase();
|
|
1706
|
+
return KNOWN_PM_MAX_VERSION_EXCEEDED_MODES.includes(normalized) ? normalized : void 0;
|
|
1707
|
+
}
|
|
1708
|
+
function normalizePmMaxVersionExceededMode(value) {
|
|
1709
|
+
if (typeof value === "string") {
|
|
1710
|
+
const mode = normalizePmMaxVersionExceededModeValue(value) ?? "block";
|
|
1711
|
+
return { global: mode, project: mode };
|
|
1712
|
+
}
|
|
1713
|
+
if (typeof value === "object" && value !== null && !Array.isArray(value)) {
|
|
1714
|
+
return {
|
|
1715
|
+
global: normalizePmMaxVersionExceededModeValue(value.global) ?? "block",
|
|
1716
|
+
project: normalizePmMaxVersionExceededModeValue(value.project) ?? "block"
|
|
1717
|
+
};
|
|
1718
|
+
}
|
|
1719
|
+
return { global: "block", project: "block" };
|
|
1720
|
+
}
|
|
1721
|
+
function serializePmMaxVersionExceededMode(mode) {
|
|
1722
|
+
return mode.global === mode.project ? mode.global : { global: mode.global, project: mode.project };
|
|
1723
|
+
}
|
|
1537
1724
|
function toSortedList(values) {
|
|
1538
1725
|
return [...new Set(values)].sort((left, right) => left.localeCompare(right));
|
|
1539
1726
|
}
|
|
@@ -1577,6 +1764,7 @@ function normalizeExtensionPolicy(settings) {
|
|
|
1577
1764
|
const policy = settings.extensions.policy;
|
|
1578
1765
|
const mode = normalizePolicyMode(policy?.mode);
|
|
1579
1766
|
const trustMode = normalizePolicyTrustMode(policy?.trust_mode);
|
|
1767
|
+
const pmMaxVersionExceededMode2 = normalizePmMaxVersionExceededMode(policy?.pm_max_version_exceeded_mode);
|
|
1580
1768
|
const requireProvenance = policy?.require_provenance === true;
|
|
1581
1769
|
const trustedExtensions = normalizePolicyStringSet(policy?.trusted_extensions);
|
|
1582
1770
|
const defaultSandboxProfile = normalizePolicySandboxProfile(policy?.default_sandbox_profile);
|
|
@@ -1622,6 +1810,7 @@ function normalizeExtensionPolicy(settings) {
|
|
|
1622
1810
|
return {
|
|
1623
1811
|
mode,
|
|
1624
1812
|
trustMode,
|
|
1813
|
+
pmMaxVersionExceededMode: pmMaxVersionExceededMode2,
|
|
1625
1814
|
requireProvenance,
|
|
1626
1815
|
trustedExtensions,
|
|
1627
1816
|
defaultSandboxProfile,
|
|
@@ -1662,6 +1851,7 @@ function serializeExtensionPolicy(policy) {
|
|
|
1662
1851
|
return {
|
|
1663
1852
|
mode: policy.mode,
|
|
1664
1853
|
trust_mode: policy.trustMode,
|
|
1854
|
+
pm_max_version_exceeded_mode: serializePmMaxVersionExceededMode(policy.pmMaxVersionExceededMode),
|
|
1665
1855
|
require_provenance: policy.requireProvenance,
|
|
1666
1856
|
trusted_extensions: toSortedList(policy.trustedExtensions),
|
|
1667
1857
|
default_sandbox_profile: policy.defaultSandboxProfile,
|
|
@@ -1685,6 +1875,7 @@ function hydrateExtensionPolicy(policy) {
|
|
|
1685
1875
|
return {
|
|
1686
1876
|
mode: normalizePolicyMode(policy.mode),
|
|
1687
1877
|
trustMode: normalizePolicyTrustMode(policy.trust_mode),
|
|
1878
|
+
pmMaxVersionExceededMode: normalizePmMaxVersionExceededMode(policy.pm_max_version_exceeded_mode),
|
|
1688
1879
|
requireProvenance: policy.require_provenance === true,
|
|
1689
1880
|
trustedExtensions: normalizePolicyStringSet(policy.trusted_extensions),
|
|
1690
1881
|
defaultSandboxProfile: normalizePolicySandboxProfile(policy.default_sandbox_profile),
|
|
@@ -1952,7 +2143,7 @@ function evaluateExtensionPolicyForRegistration(policy, extension, surface, meth
|
|
|
1952
2143
|
!(function() {
|
|
1953
2144
|
try {
|
|
1954
2145
|
var e = "undefined" != typeof window ? window : "undefined" != typeof global ? global : "undefined" != typeof globalThis ? globalThis : "undefined" != typeof self ? self : {}, n = new e.Error().stack;
|
|
1955
|
-
n && (e._sentryDebugIds = e._sentryDebugIds || {}, e._sentryDebugIds[n] = "
|
|
2146
|
+
n && (e._sentryDebugIds = e._sentryDebugIds || {}, e._sentryDebugIds[n] = "19026387-34f8-5e8e-b936-4fc13489f244");
|
|
1956
2147
|
} catch (e2) {
|
|
1957
2148
|
}
|
|
1958
2149
|
})();
|
|
@@ -2265,14 +2456,14 @@ function buildEffectiveExtensions(globalCandidates, projectCandidates) {
|
|
|
2265
2456
|
}
|
|
2266
2457
|
return effective;
|
|
2267
2458
|
}
|
|
2268
|
-
async function scanExtensionLayer(layer, extensionsRoot, enabled, disabled) {
|
|
2459
|
+
async function scanExtensionLayer(layer, extensionsRoot, enabled, disabled, pmMaxVersionExceededMode2) {
|
|
2269
2460
|
const diagnostics = [];
|
|
2270
2461
|
const warnings = [];
|
|
2271
2462
|
const candidates = [];
|
|
2272
2463
|
const directories = await listExtensionDirectories(extensionsRoot);
|
|
2273
2464
|
const managedSourcePackages = await readManagedExtensionSourcePackages(extensionsRoot);
|
|
2274
2465
|
for (const directory of directories) {
|
|
2275
|
-
const scanned = await scanExtensionDirectory(layer, extensionsRoot, directory, enabled, disabled, managedSourcePackages);
|
|
2466
|
+
const scanned = await scanExtensionDirectory(layer, extensionsRoot, directory, enabled, disabled, managedSourcePackages, pmMaxVersionExceededMode2);
|
|
2276
2467
|
diagnostics.push(scanned.diagnostic);
|
|
2277
2468
|
warnings.push(...scanned.warnings);
|
|
2278
2469
|
if (scanned.candidate) {
|
|
@@ -2281,7 +2472,7 @@ async function scanExtensionLayer(layer, extensionsRoot, enabled, disabled) {
|
|
|
2281
2472
|
}
|
|
2282
2473
|
return { diagnostics, warnings, candidates };
|
|
2283
2474
|
}
|
|
2284
|
-
async function scanExtensionDirectory(layer, extensionsRoot, directory, enabled, disabled, managedSourcePackages) {
|
|
2475
|
+
async function scanExtensionDirectory(layer, extensionsRoot, directory, enabled, disabled, managedSourcePackages, pmMaxVersionExceededMode2) {
|
|
2285
2476
|
const extensionDir = path5.join(extensionsRoot, directory);
|
|
2286
2477
|
const manifestPath = path5.join(extensionDir, "manifest.json");
|
|
2287
2478
|
if (!await pathExists(manifestPath)) {
|
|
@@ -2348,7 +2539,7 @@ async function scanExtensionDirectory(layer, extensionsRoot, directory, enabled,
|
|
|
2348
2539
|
if (pmVersionCompatibility.warning) {
|
|
2349
2540
|
extensionWarnings.push(pmVersionCompatibility.warning);
|
|
2350
2541
|
}
|
|
2351
|
-
const pmMaxVersionCompatibility = await evaluatePmMaxVersionCompatibility(layer, manifest);
|
|
2542
|
+
const pmMaxVersionCompatibility = await evaluatePmMaxVersionCompatibility(layer, manifest, pmMaxVersionExceededMode2);
|
|
2352
2543
|
if (pmMaxVersionCompatibility.warning) {
|
|
2353
2544
|
extensionWarnings.push(pmMaxVersionCompatibility.warning);
|
|
2354
2545
|
}
|
|
@@ -2398,8 +2589,8 @@ async function discoverExtensions(options) {
|
|
|
2398
2589
|
}
|
|
2399
2590
|
const enabled = new Set(configured_enabled);
|
|
2400
2591
|
const disabled = new Set(configured_disabled);
|
|
2401
|
-
const globalScan = await scanExtensionLayer("global", roots.global, enabled, disabled);
|
|
2402
|
-
const projectScan = await scanExtensionLayer("project", roots.project, enabled, disabled);
|
|
2592
|
+
const globalScan = await scanExtensionLayer("global", roots.global, enabled, disabled, policy.pmMaxVersionExceededMode.global);
|
|
2593
|
+
const projectScan = await scanExtensionLayer("project", roots.project, enabled, disabled, policy.pmMaxVersionExceededMode.project);
|
|
2403
2594
|
const policyWarnings = [...policy.warnings];
|
|
2404
2595
|
const effectiveCandidates = buildEffectiveExtensions(globalScan.candidates, projectScan.candidates);
|
|
2405
2596
|
const effective = [];
|
|
@@ -2524,7 +2715,7 @@ async function evaluatePmMinVersionCompatibility(layer, manifest) {
|
|
|
2524
2715
|
}
|
|
2525
2716
|
return { allowed: true };
|
|
2526
2717
|
}
|
|
2527
|
-
async function evaluatePmMaxVersionCompatibility(layer, manifest) {
|
|
2718
|
+
async function evaluatePmMaxVersionCompatibility(layer, manifest, exceededMode) {
|
|
2528
2719
|
if (typeof manifest.pm_max_version !== "string" || manifest.pm_max_version.trim().length === 0) {
|
|
2529
2720
|
return { allowed: true };
|
|
2530
2721
|
}
|
|
@@ -2555,6 +2746,12 @@ async function evaluatePmMaxVersionCompatibility(layer, manifest) {
|
|
|
2555
2746
|
};
|
|
2556
2747
|
}
|
|
2557
2748
|
if (comparison > 0) {
|
|
2749
|
+
if (exceededMode === "warn") {
|
|
2750
|
+
return {
|
|
2751
|
+
allowed: true,
|
|
2752
|
+
warning: `extension_pm_max_version_exceeded_warn:${layer}:${manifest.name}:allowed=${manifest.pm_max_version}:current=${currentVersion}`
|
|
2753
|
+
};
|
|
2754
|
+
}
|
|
2558
2755
|
return {
|
|
2559
2756
|
allowed: false,
|
|
2560
2757
|
warning: `extension_pm_max_version_exceeded:${layer}:${manifest.name}:allowed=${manifest.pm_max_version}:current=${currentVersion}`
|
|
@@ -2624,21 +2821,28 @@ async function loadExtensions(options) {
|
|
|
2624
2821
|
failed
|
|
2625
2822
|
};
|
|
2626
2823
|
}
|
|
2824
|
+
function toActivatableExtension(source) {
|
|
2825
|
+
const activate = source.activate;
|
|
2826
|
+
const activatable = {
|
|
2827
|
+
activate: activate.bind(source)
|
|
2828
|
+
};
|
|
2829
|
+
if (typeof source.deactivate === "function") {
|
|
2830
|
+
const deactivate = source.deactivate;
|
|
2831
|
+
activatable.deactivate = deactivate.bind(source);
|
|
2832
|
+
}
|
|
2833
|
+
return activatable;
|
|
2834
|
+
}
|
|
2627
2835
|
function resolveActivatableExtension(module) {
|
|
2628
2836
|
const moduleRecord = asRecordLoose(module);
|
|
2629
2837
|
if (!moduleRecord) {
|
|
2630
2838
|
return null;
|
|
2631
2839
|
}
|
|
2632
2840
|
if (typeof moduleRecord.activate === "function") {
|
|
2633
|
-
return
|
|
2634
|
-
activate: moduleRecord.activate
|
|
2635
|
-
};
|
|
2841
|
+
return toActivatableExtension(moduleRecord);
|
|
2636
2842
|
}
|
|
2637
2843
|
const defaultExport = asRecordLoose(moduleRecord.default);
|
|
2638
2844
|
if (defaultExport && typeof defaultExport.activate === "function") {
|
|
2639
|
-
return
|
|
2640
|
-
activate: defaultExport.activate
|
|
2641
|
-
};
|
|
2845
|
+
return toActivatableExtension(defaultExport);
|
|
2642
2846
|
}
|
|
2643
2847
|
return null;
|
|
2644
2848
|
}
|
|
@@ -2765,6 +2969,25 @@ function assertOptionalStringField(name, value) {
|
|
|
2765
2969
|
throw new TypeError(`${name} must be a non-empty string when provided`);
|
|
2766
2970
|
}
|
|
2767
2971
|
}
|
|
2972
|
+
function isFlagDefaultScalar(value) {
|
|
2973
|
+
return typeof value === "string" || typeof value === "number" || typeof value === "boolean";
|
|
2974
|
+
}
|
|
2975
|
+
function assertOptionalFlagDefaultField(name, value) {
|
|
2976
|
+
if (value === void 0) {
|
|
2977
|
+
return;
|
|
2978
|
+
}
|
|
2979
|
+
if (Array.isArray(value)) {
|
|
2980
|
+
for (const [index, item] of value.entries()) {
|
|
2981
|
+
if (!isFlagDefaultScalar(item)) {
|
|
2982
|
+
throw new TypeError(`${name}[${index}] must be a string, number, or boolean`);
|
|
2983
|
+
}
|
|
2984
|
+
}
|
|
2985
|
+
return;
|
|
2986
|
+
}
|
|
2987
|
+
if (!isFlagDefaultScalar(value)) {
|
|
2988
|
+
throw new TypeError(`${name} must be a string, number, or boolean, or an array of these when provided`);
|
|
2989
|
+
}
|
|
2990
|
+
}
|
|
2768
2991
|
function assertOptionalStringArrayField(name, value) {
|
|
2769
2992
|
if (value === void 0) {
|
|
2770
2993
|
return;
|
|
@@ -2878,6 +3101,32 @@ function validateFlagDefinitions(flags) {
|
|
|
2878
3101
|
assertOptionalBooleanField(`registerFlags flags[${index}].required`, record.required);
|
|
2879
3102
|
assertOptionalBooleanField(`registerFlags flags[${index}].enabled`, record.enabled);
|
|
2880
3103
|
assertOptionalBooleanField(`registerFlags flags[${index}].visible`, record.visible);
|
|
3104
|
+
assertOptionalBooleanField(`registerFlags flags[${index}].list`, record.list);
|
|
3105
|
+
assertOptionalFlagDefaultField(`registerFlags flags[${index}].default`, record.default);
|
|
3106
|
+
if (Array.isArray(record.default) && record.list !== true) {
|
|
3107
|
+
throw new TypeError(`registerFlags flags[${index}].default cannot be an array unless list is true.`);
|
|
3108
|
+
}
|
|
3109
|
+
assertFlagValueTypeAndDefault(`registerFlags flags[${index}]`, record);
|
|
3110
|
+
}
|
|
3111
|
+
}
|
|
3112
|
+
function assertFlagValueTypeAndDefault(label, record) {
|
|
3113
|
+
const declaredType = (typeof record.value_type === "string" ? record.value_type : void 0) ?? (typeof record.type === "string" ? record.type : void 0);
|
|
3114
|
+
if (declaredType === void 0) {
|
|
3115
|
+
return;
|
|
3116
|
+
}
|
|
3117
|
+
const kind = resolveFlagValueKind(declaredType);
|
|
3118
|
+
if (kind === null) {
|
|
3119
|
+
throw new TypeError(`${label} value_type "${declaredType}" is not a known flag value type (expected one of: string, number, boolean).`);
|
|
3120
|
+
}
|
|
3121
|
+
if (record.default === void 0) {
|
|
3122
|
+
return;
|
|
3123
|
+
}
|
|
3124
|
+
const defaults = record.list === true ? flattenFlagListValue(record.default) : [record.default];
|
|
3125
|
+
for (const [defaultIndex, defaultValue] of defaults.entries()) {
|
|
3126
|
+
if (!isFlagDefaultValueCoercible(defaultValue, kind)) {
|
|
3127
|
+
const suffix = defaults.length > 1 ? `default[${defaultIndex}]` : "default";
|
|
3128
|
+
throw new TypeError(`${label}.${suffix} (${JSON.stringify(defaultValue)}) is not coercible to ${kind}.`);
|
|
3129
|
+
}
|
|
2881
3130
|
}
|
|
2882
3131
|
}
|
|
2883
3132
|
function validateItemFieldDefinitions(fields) {
|
|
@@ -2887,7 +3136,12 @@ function validateItemFieldDefinitions(fields) {
|
|
|
2887
3136
|
for (const [index, raw] of fields.entries()) {
|
|
2888
3137
|
const record = asRegistrationRecord(`registerItemFields fields[${index}]`, raw);
|
|
2889
3138
|
assertNonEmptyString(`registerItemFields fields[${index}].name`, record.name);
|
|
2890
|
-
assertNonEmptyString(`registerItemFields fields[${index}].type`, record.type);
|
|
3139
|
+
const fieldType = assertNonEmptyString(`registerItemFields fields[${index}].type`, record.type);
|
|
3140
|
+
if (normalizeItemFieldType(fieldType) === null) {
|
|
3141
|
+
const suggestion = suggestKnownItemFieldType(fieldType);
|
|
3142
|
+
const hint = suggestion ? ` Did you mean "${suggestion}"?` : "";
|
|
3143
|
+
throw new TypeError(`registerItemFields fields[${index}].type "${fieldType}" is not a known field type (expected one of: ${KNOWN_ITEM_FIELD_TYPES.join(", ")}).${hint}`);
|
|
3144
|
+
}
|
|
2891
3145
|
assertOptionalBooleanField(`registerItemFields fields[${index}].optional`, record.optional);
|
|
2892
3146
|
}
|
|
2893
3147
|
}
|
|
@@ -2985,6 +3239,15 @@ function assertExtensionCapability(extension, capability, method) {
|
|
|
2985
3239
|
}
|
|
2986
3240
|
}
|
|
2987
3241
|
function createExtensionApi(extension, hooks, commands, parsers, preflight, services, renderers, registrations, activationWarnings, policy) {
|
|
3242
|
+
const selfIdentity = Object.freeze({
|
|
3243
|
+
name: extension.name,
|
|
3244
|
+
layer: extension.layer,
|
|
3245
|
+
version: extension.version,
|
|
3246
|
+
capabilities: Object.freeze((extension.capabilities ?? []).filter((capability) => KNOWN_EXTENSION_CAPABILITIES.includes(capability))),
|
|
3247
|
+
pm_min_version: extension.pm_min_version,
|
|
3248
|
+
pm_max_version: extension.pm_max_version,
|
|
3249
|
+
source_package: extension.source_package
|
|
3250
|
+
});
|
|
2988
3251
|
const extensionRef = {
|
|
2989
3252
|
layer: extension.layer,
|
|
2990
3253
|
name: extension.name,
|
|
@@ -3426,6 +3689,7 @@ function createExtensionApi(extension, hooks, commands, parsers, preflight, serv
|
|
|
3426
3689
|
});
|
|
3427
3690
|
};
|
|
3428
3691
|
return {
|
|
3692
|
+
extension: selfIdentity,
|
|
3429
3693
|
registerCommand,
|
|
3430
3694
|
registerParser,
|
|
3431
3695
|
registerPreflight,
|
|
@@ -3890,7 +4154,7 @@ function runActiveServiceOverrideSync(service, payload) {
|
|
|
3890
4154
|
!(function() {
|
|
3891
4155
|
try {
|
|
3892
4156
|
var e = "undefined" != typeof window ? window : "undefined" != typeof global ? global : "undefined" != typeof globalThis ? globalThis : "undefined" != typeof self ? self : {}, n = new e.Error().stack;
|
|
3893
|
-
n && (e._sentryDebugIds = e._sentryDebugIds || {}, e._sentryDebugIds[n] = "
|
|
4157
|
+
n && (e._sentryDebugIds = e._sentryDebugIds || {}, e._sentryDebugIds[n] = "a6694379-22e4-5b33-9691-cca9ad16865c");
|
|
3894
4158
|
} catch (e2) {
|
|
3895
4159
|
}
|
|
3896
4160
|
})();
|
|
@@ -3989,6 +4253,8 @@ var CONTEXT_SECTION_VALUES = [
|
|
|
3989
4253
|
"hierarchy",
|
|
3990
4254
|
"activity",
|
|
3991
4255
|
"progress",
|
|
4256
|
+
"recently_created",
|
|
4257
|
+
"unparented",
|
|
3992
4258
|
"blockers",
|
|
3993
4259
|
"files",
|
|
3994
4260
|
"workload",
|
|
@@ -4758,7 +5024,7 @@ function orderObject(value, keyOrder) {
|
|
|
4758
5024
|
!(function() {
|
|
4759
5025
|
try {
|
|
4760
5026
|
var e = "undefined" != typeof window ? window : "undefined" != typeof global ? global : "undefined" != typeof globalThis ? globalThis : "undefined" != typeof self ? self : {}, n = new e.Error().stack;
|
|
4761
|
-
n && (e._sentryDebugIds = e._sentryDebugIds || {}, e._sentryDebugIds[n] = "
|
|
5027
|
+
n && (e._sentryDebugIds = e._sentryDebugIds || {}, e._sentryDebugIds[n] = "145fe5b4-69da-571d-9982-6ad77c6291b7");
|
|
4762
5028
|
} catch (e2) {
|
|
4763
5029
|
}
|
|
4764
5030
|
})();
|
|
@@ -4933,9 +5199,15 @@ var extensionPolicyOverride = vObject({
|
|
|
4933
5199
|
allowed_services: vOptional(vArray(vString)),
|
|
4934
5200
|
blocked_services: vOptional(vArray(vString))
|
|
4935
5201
|
});
|
|
5202
|
+
var pmMaxVersionExceededModeLiteral = vLiteral("block", "warn");
|
|
5203
|
+
var pmMaxVersionExceededMode = (input) => typeof input === "string" ? pmMaxVersionExceededModeLiteral(input) : vObject({
|
|
5204
|
+
global: vOptional(pmMaxVersionExceededModeLiteral),
|
|
5205
|
+
project: vOptional(pmMaxVersionExceededModeLiteral)
|
|
5206
|
+
})(input);
|
|
4936
5207
|
var extensionPolicy = vOptional(vObject({
|
|
4937
5208
|
mode: vOptional(vLiteral("off", "warn", "enforce")),
|
|
4938
5209
|
trust_mode: vOptional(vLiteral("off", "warn", "enforce")),
|
|
5210
|
+
pm_max_version_exceeded_mode: vOptional(pmMaxVersionExceededMode),
|
|
4939
5211
|
require_provenance: vOptional(vBoolean),
|
|
4940
5212
|
trusted_extensions: vOptional(vArray(vString)),
|
|
4941
5213
|
default_sandbox_profile: vOptional(vLiteral("none", "restricted", "strict")),
|
|
@@ -4999,6 +5271,8 @@ var settingsCheck = vObject({
|
|
|
4999
5271
|
hierarchy: vOptional(vBoolean),
|
|
5000
5272
|
activity: vOptional(vBoolean),
|
|
5001
5273
|
progress: vOptional(vBoolean),
|
|
5274
|
+
recently_created: vOptional(vBoolean),
|
|
5275
|
+
unparented: vOptional(vBoolean),
|
|
5002
5276
|
blockers: vOptional(vBoolean),
|
|
5003
5277
|
files: vOptional(vBoolean),
|
|
5004
5278
|
workload: vOptional(vBoolean),
|
|
@@ -5139,11 +5413,83 @@ function normalizeItemTypeDefinition(definition, options = {}) {
|
|
|
5139
5413
|
};
|
|
5140
5414
|
}
|
|
5141
5415
|
|
|
5416
|
+
// dist/core/store/settings-read-cache.js
|
|
5417
|
+
import { stat } from "node:fs/promises";
|
|
5418
|
+
!(function() {
|
|
5419
|
+
try {
|
|
5420
|
+
var e = "undefined" != typeof window ? window : "undefined" != typeof global ? global : "undefined" != typeof globalThis ? globalThis : "undefined" != typeof self ? self : {}, n = new e.Error().stack;
|
|
5421
|
+
n && (e._sentryDebugIds = e._sentryDebugIds || {}, e._sentryDebugIds[n] = "f4f0977b-c8d8-52d8-9da0-7b3f6d49ecac");
|
|
5422
|
+
} catch (e2) {
|
|
5423
|
+
}
|
|
5424
|
+
})();
|
|
5425
|
+
var settingsReadCacheByRoot = /* @__PURE__ */ new Map();
|
|
5426
|
+
function normalizeTrackedPaths(paths) {
|
|
5427
|
+
return [...new Set(paths.map((pathValue) => pathValue.trim()).filter((pathValue) => pathValue.length > 0))].sort((left, right) => left.localeCompare(right));
|
|
5428
|
+
}
|
|
5429
|
+
async function readPathSignature(targetPath) {
|
|
5430
|
+
try {
|
|
5431
|
+
const targetStats = await stat(targetPath);
|
|
5432
|
+
return {
|
|
5433
|
+
path: targetPath,
|
|
5434
|
+
mtime_ms: targetStats.mtimeMs,
|
|
5435
|
+
size: targetStats.size
|
|
5436
|
+
};
|
|
5437
|
+
} catch {
|
|
5438
|
+
return {
|
|
5439
|
+
path: targetPath,
|
|
5440
|
+
mtime_ms: null,
|
|
5441
|
+
size: null
|
|
5442
|
+
};
|
|
5443
|
+
}
|
|
5444
|
+
}
|
|
5445
|
+
async function collectSettingsReadCacheSignatures(paths) {
|
|
5446
|
+
const normalizedPaths = normalizeTrackedPaths(paths);
|
|
5447
|
+
const signatures = await Promise.all(normalizedPaths.map((targetPath) => readPathSignature(targetPath)));
|
|
5448
|
+
signatures.sort((left, right) => left.path.localeCompare(right.path));
|
|
5449
|
+
return signatures;
|
|
5450
|
+
}
|
|
5451
|
+
function settingsReadCacheSignaturesEqual(left, right) {
|
|
5452
|
+
if (left.length !== right.length) {
|
|
5453
|
+
return false;
|
|
5454
|
+
}
|
|
5455
|
+
for (let index = 0; index < left.length; index += 1) {
|
|
5456
|
+
const leftEntry = left[index];
|
|
5457
|
+
const rightEntry = right[index];
|
|
5458
|
+
if (leftEntry.path !== rightEntry.path || leftEntry.mtime_ms !== rightEntry.mtime_ms || leftEntry.size !== rightEntry.size) {
|
|
5459
|
+
return false;
|
|
5460
|
+
}
|
|
5461
|
+
}
|
|
5462
|
+
return true;
|
|
5463
|
+
}
|
|
5464
|
+
function getSettingsReadCacheEntry(pmRoot) {
|
|
5465
|
+
return settingsReadCacheByRoot.get(pmRoot);
|
|
5466
|
+
}
|
|
5467
|
+
function setSettingsReadCacheEntry(pmRoot, entry) {
|
|
5468
|
+
const normalizedTrackedPaths = normalizeTrackedPaths(entry.tracked_paths);
|
|
5469
|
+
const normalizedSignatures = [...entry.signatures].map((signature) => ({
|
|
5470
|
+
path: signature.path,
|
|
5471
|
+
mtime_ms: signature.mtime_ms,
|
|
5472
|
+
size: signature.size
|
|
5473
|
+
})).sort((left, right) => left.path.localeCompare(right.path));
|
|
5474
|
+
settingsReadCacheByRoot.set(pmRoot, {
|
|
5475
|
+
tracked_paths: normalizedTrackedPaths,
|
|
5476
|
+
signatures: normalizedSignatures,
|
|
5477
|
+
value: entry.value
|
|
5478
|
+
});
|
|
5479
|
+
}
|
|
5480
|
+
function clearSettingsReadCache(pmRoot) {
|
|
5481
|
+
if (pmRoot) {
|
|
5482
|
+
settingsReadCacheByRoot.delete(pmRoot);
|
|
5483
|
+
return;
|
|
5484
|
+
}
|
|
5485
|
+
settingsReadCacheByRoot.clear();
|
|
5486
|
+
}
|
|
5487
|
+
|
|
5142
5488
|
// dist/core/store/settings.js
|
|
5143
5489
|
!(function() {
|
|
5144
5490
|
try {
|
|
5145
5491
|
var e = "undefined" != typeof window ? window : "undefined" != typeof global ? global : "undefined" != typeof globalThis ? globalThis : "undefined" != typeof self ? self : {}, n = new e.Error().stack;
|
|
5146
|
-
n && (e._sentryDebugIds = e._sentryDebugIds || {}, e._sentryDebugIds[n] = "
|
|
5492
|
+
n && (e._sentryDebugIds = e._sentryDebugIds || {}, e._sentryDebugIds[n] = "759b1285-3075-5bd2-a0d7-9eab54fc1093");
|
|
5147
5493
|
} catch (e2) {
|
|
5148
5494
|
}
|
|
5149
5495
|
})();
|
|
@@ -5312,6 +5658,74 @@ function getSettingsPersistSourceSnapshot(settings) {
|
|
|
5312
5658
|
}
|
|
5313
5659
|
return candidate;
|
|
5314
5660
|
}
|
|
5661
|
+
function cloneSettingsReadResult(result) {
|
|
5662
|
+
const clonedSettings = structuredClone(result.settings);
|
|
5663
|
+
const persistSource = getSettingsPersistSourceSnapshot(result.settings);
|
|
5664
|
+
if (persistSource) {
|
|
5665
|
+
attachSettingsPersistSourceSnapshot(clonedSettings, structuredClone(persistSource));
|
|
5666
|
+
}
|
|
5667
|
+
return {
|
|
5668
|
+
settings: clonedSettings,
|
|
5669
|
+
metadata: {
|
|
5670
|
+
has_explicit_item_format: result.metadata.has_explicit_item_format
|
|
5671
|
+
},
|
|
5672
|
+
warnings: [...result.warnings]
|
|
5673
|
+
};
|
|
5674
|
+
}
|
|
5675
|
+
function resolveSettingsReadTrackedPaths(pmRoot, schema, settingsPath) {
|
|
5676
|
+
const normalizedSchema = normalizeRuntimeSchemaSettings(schema);
|
|
5677
|
+
return [
|
|
5678
|
+
settingsPath,
|
|
5679
|
+
filePathForSchemaSection(pmRoot, normalizedSchema.files.types, DEFAULT_RUNTIME_SCHEMA_FILE_PATHS.types),
|
|
5680
|
+
filePathForSchemaSection(pmRoot, normalizedSchema.files.statuses, DEFAULT_RUNTIME_SCHEMA_FILE_PATHS.statuses),
|
|
5681
|
+
filePathForSchemaSection(pmRoot, normalizedSchema.files.fields, DEFAULT_RUNTIME_SCHEMA_FILE_PATHS.fields),
|
|
5682
|
+
filePathForSchemaSection(pmRoot, normalizedSchema.files.workflows, DEFAULT_RUNTIME_SCHEMA_FILE_PATHS.workflows)
|
|
5683
|
+
];
|
|
5684
|
+
}
|
|
5685
|
+
async function cacheSettingsReadResult(pmRoot, trackedPaths, result) {
|
|
5686
|
+
const signatures = await collectSettingsReadCacheSignatures(trackedPaths);
|
|
5687
|
+
setSettingsReadCacheEntry(pmRoot, {
|
|
5688
|
+
tracked_paths: trackedPaths,
|
|
5689
|
+
signatures,
|
|
5690
|
+
value: cloneSettingsReadResult(result)
|
|
5691
|
+
});
|
|
5692
|
+
}
|
|
5693
|
+
async function cacheSettingsReadResultSafe(pmRoot, trackedPaths, result) {
|
|
5694
|
+
try {
|
|
5695
|
+
await cacheSettingsReadResult(pmRoot, trackedPaths, result);
|
|
5696
|
+
} catch {
|
|
5697
|
+
clearSettingsReadCache(pmRoot);
|
|
5698
|
+
}
|
|
5699
|
+
}
|
|
5700
|
+
function findSettingsReadCacheSignature(signatures, targetPath) {
|
|
5701
|
+
return signatures.find((signature) => signature.path === targetPath);
|
|
5702
|
+
}
|
|
5703
|
+
function selectedSettingsReadCacheSignaturesEqual(before, after, targetPaths) {
|
|
5704
|
+
for (const targetPath of targetPaths) {
|
|
5705
|
+
const beforeSignature = findSettingsReadCacheSignature(before, targetPath);
|
|
5706
|
+
const afterSignature = findSettingsReadCacheSignature(after, targetPath);
|
|
5707
|
+
if (!beforeSignature || !afterSignature || !settingsReadCacheSignaturesEqual([beforeSignature], [afterSignature])) {
|
|
5708
|
+
return false;
|
|
5709
|
+
}
|
|
5710
|
+
}
|
|
5711
|
+
return true;
|
|
5712
|
+
}
|
|
5713
|
+
async function cacheSettingsReadResultIfStable(pmRoot, trackedPaths, result, stableSignatures, stablePaths) {
|
|
5714
|
+
try {
|
|
5715
|
+
const currentSignatures = await collectSettingsReadCacheSignatures(trackedPaths);
|
|
5716
|
+
if (!selectedSettingsReadCacheSignaturesEqual(stableSignatures, currentSignatures, stablePaths)) {
|
|
5717
|
+
clearSettingsReadCache(pmRoot);
|
|
5718
|
+
return;
|
|
5719
|
+
}
|
|
5720
|
+
setSettingsReadCacheEntry(pmRoot, {
|
|
5721
|
+
tracked_paths: trackedPaths,
|
|
5722
|
+
signatures: currentSignatures,
|
|
5723
|
+
value: cloneSettingsReadResult(result)
|
|
5724
|
+
});
|
|
5725
|
+
} catch {
|
|
5726
|
+
clearSettingsReadCache(pmRoot);
|
|
5727
|
+
}
|
|
5728
|
+
}
|
|
5315
5729
|
function resolvePersistedFileBackedSchemaSections(settings, source) {
|
|
5316
5730
|
const normalizedSchema = normalizeRuntimeSchemaSettings(settings.schema);
|
|
5317
5731
|
const currentItemTypeDefinitions = normalizeItemTypeDefinitions(settings.item_types?.definitions);
|
|
@@ -5459,11 +5873,33 @@ function normalizeExtensionPolicyOverrides(overrides) {
|
|
|
5459
5873
|
}
|
|
5460
5874
|
return [...dedupedByName.values()].sort((left, right) => left.name.localeCompare(right.name));
|
|
5461
5875
|
}
|
|
5876
|
+
function normalizePmMaxVersionExceededModeValue2(value) {
|
|
5877
|
+
return value === "block" || value === "warn" ? value : void 0;
|
|
5878
|
+
}
|
|
5879
|
+
function normalizePmMaxVersionExceededModeSetting(value) {
|
|
5880
|
+
if (typeof value === "string") {
|
|
5881
|
+
return normalizePmMaxVersionExceededModeValue2(value);
|
|
5882
|
+
}
|
|
5883
|
+
if (typeof value === "object" && value !== null && !Array.isArray(value)) {
|
|
5884
|
+
const global2 = normalizePmMaxVersionExceededModeValue2(value.global);
|
|
5885
|
+
const project = normalizePmMaxVersionExceededModeValue2(value.project);
|
|
5886
|
+
if (global2 === void 0 && project === void 0) {
|
|
5887
|
+
return void 0;
|
|
5888
|
+
}
|
|
5889
|
+
return {
|
|
5890
|
+
...global2 !== void 0 ? { global: global2 } : {},
|
|
5891
|
+
...project !== void 0 ? { project } : {}
|
|
5892
|
+
};
|
|
5893
|
+
}
|
|
5894
|
+
return void 0;
|
|
5895
|
+
}
|
|
5462
5896
|
function normalizeExtensionPolicySettings(policy) {
|
|
5463
5897
|
const defaults = SETTINGS_DEFAULTS.extensions.policy;
|
|
5898
|
+
const pmMaxVersionExceededMode2 = normalizePmMaxVersionExceededModeSetting(policy?.pm_max_version_exceeded_mode);
|
|
5464
5899
|
return {
|
|
5465
5900
|
mode: normalizeExtensionPolicyMode(policy?.mode),
|
|
5466
5901
|
trust_mode: normalizeExtensionTrustMode(policy?.trust_mode),
|
|
5902
|
+
...pmMaxVersionExceededMode2 !== void 0 ? { pm_max_version_exceeded_mode: pmMaxVersionExceededMode2 } : {},
|
|
5467
5903
|
require_provenance: policy?.require_provenance === true,
|
|
5468
5904
|
trusted_extensions: normalizeLowerStringList(policy?.trusted_extensions ?? defaults.trusted_extensions),
|
|
5469
5905
|
default_sandbox_profile: normalizeExtensionSandboxProfile(policy?.default_sandbox_profile),
|
|
@@ -5752,6 +6188,7 @@ function serializeSettings(settings, options = {}) {
|
|
|
5752
6188
|
ordered.extensions.policy = orderObject(ordered.extensions.policy ?? {}, [
|
|
5753
6189
|
"mode",
|
|
5754
6190
|
"trust_mode",
|
|
6191
|
+
"pm_max_version_exceeded_mode",
|
|
5755
6192
|
"require_provenance",
|
|
5756
6193
|
"trusted_extensions",
|
|
5757
6194
|
"default_sandbox_profile",
|
|
@@ -5818,28 +6255,52 @@ function serializeSettings(settings, options = {}) {
|
|
|
5818
6255
|
}
|
|
5819
6256
|
async function readSettingsWithMetadata(pmRoot) {
|
|
5820
6257
|
const settingsPath = getSettingsPath(pmRoot);
|
|
5821
|
-
|
|
5822
|
-
if (raw === null) {
|
|
5823
|
-
return buildFallbackSettingsReadResult();
|
|
5824
|
-
}
|
|
6258
|
+
let trackedPathsForFailure = [settingsPath];
|
|
5825
6259
|
await runActiveOnReadHooks({
|
|
5826
6260
|
path: settingsPath,
|
|
5827
6261
|
scope: "project"
|
|
5828
6262
|
});
|
|
6263
|
+
const cachedResult = getSettingsReadCacheEntry(pmRoot);
|
|
6264
|
+
if (cachedResult) {
|
|
6265
|
+
const currentSignatures = await collectSettingsReadCacheSignatures(cachedResult.tracked_paths);
|
|
6266
|
+
if (settingsReadCacheSignaturesEqual(currentSignatures, cachedResult.signatures)) {
|
|
6267
|
+
return cloneSettingsReadResult(cachedResult.value);
|
|
6268
|
+
}
|
|
6269
|
+
}
|
|
6270
|
+
const settingsOnlySignatures = await collectSettingsReadCacheSignatures([settingsPath]);
|
|
6271
|
+
const raw = await readFileIfExists(settingsPath);
|
|
6272
|
+
if (raw === null) {
|
|
6273
|
+
const fallback = buildFallbackSettingsReadResult();
|
|
6274
|
+
await cacheSettingsReadResultIfStable(pmRoot, [settingsPath], fallback, settingsOnlySignatures, [settingsPath]);
|
|
6275
|
+
return fallback;
|
|
6276
|
+
}
|
|
6277
|
+
const settingsSignaturesAfterRead = await collectSettingsReadCacheSignatures([settingsPath]);
|
|
6278
|
+
if (!settingsReadCacheSignaturesEqual(settingsOnlySignatures, settingsSignaturesAfterRead)) {
|
|
6279
|
+
clearSettingsReadCache(pmRoot);
|
|
6280
|
+
return readSettingsWithMetadata(pmRoot);
|
|
6281
|
+
}
|
|
5829
6282
|
let parsed;
|
|
5830
6283
|
try {
|
|
5831
6284
|
parsed = JSON.parse(raw);
|
|
5832
6285
|
} catch {
|
|
5833
|
-
|
|
6286
|
+
const fallback = buildFallbackSettingsReadResult("settings_read_invalid_json");
|
|
6287
|
+
await cacheSettingsReadResultIfStable(pmRoot, [settingsPath], fallback, settingsSignaturesAfterRead, [settingsPath]);
|
|
6288
|
+
return fallback;
|
|
5834
6289
|
}
|
|
5835
6290
|
const validated = validateSettings(parsed);
|
|
5836
6291
|
if (!validated.success) {
|
|
5837
|
-
|
|
6292
|
+
const fallback = buildFallbackSettingsReadResult("settings_read_invalid_schema");
|
|
6293
|
+
await cacheSettingsReadResultIfStable(pmRoot, [settingsPath], fallback, settingsSignaturesAfterRead, [settingsPath]);
|
|
6294
|
+
return fallback;
|
|
5838
6295
|
}
|
|
5839
6296
|
try {
|
|
5840
6297
|
const mergedSettings = mergeSettings(validated.data);
|
|
6298
|
+
const trackedPaths = resolveSettingsReadTrackedPaths(pmRoot, mergedSettings.schema, settingsPath);
|
|
6299
|
+
trackedPathsForFailure = trackedPaths;
|
|
6300
|
+
const signaturesBeforeSchemaLoad = await collectSettingsReadCacheSignatures(trackedPaths);
|
|
5841
6301
|
const schemaScaffold = await ensureRuntimeSchemaFileScaffold(pmRoot, mergedSettings.schema);
|
|
5842
6302
|
const loadedSchemaSections = await loadRuntimeSchemaFromOptionalFiles(pmRoot, mergedSettings.schema);
|
|
6303
|
+
const signaturesAfterSchemaLoad = await collectSettingsReadCacheSignatures(trackedPaths);
|
|
5843
6304
|
const settings = {
|
|
5844
6305
|
...mergedSettings,
|
|
5845
6306
|
item_types: {
|
|
@@ -5851,7 +6312,7 @@ async function readSettingsWithMetadata(pmRoot) {
|
|
|
5851
6312
|
schema: loadedSchemaSections.schema
|
|
5852
6313
|
};
|
|
5853
6314
|
attachSettingsPersistSourceSnapshot(settings, buildSettingsPersistSourceSnapshot(validated.data, settings));
|
|
5854
|
-
|
|
6315
|
+
const result = {
|
|
5855
6316
|
settings,
|
|
5856
6317
|
metadata: {
|
|
5857
6318
|
has_explicit_item_format: hasExplicitItemFormat(parsed)
|
|
@@ -5862,8 +6323,24 @@ async function readSettingsWithMetadata(pmRoot) {
|
|
|
5862
6323
|
...loadedSchemaSections.warnings
|
|
5863
6324
|
]
|
|
5864
6325
|
};
|
|
6326
|
+
if (schemaScaffold.created_paths.length === 0) {
|
|
6327
|
+
if (!settingsReadCacheSignaturesEqual(signaturesBeforeSchemaLoad, signaturesAfterSchemaLoad)) {
|
|
6328
|
+
clearSettingsReadCache(pmRoot);
|
|
6329
|
+
} else {
|
|
6330
|
+
setSettingsReadCacheEntry(pmRoot, {
|
|
6331
|
+
tracked_paths: trackedPaths,
|
|
6332
|
+
signatures: signaturesAfterSchemaLoad,
|
|
6333
|
+
value: cloneSettingsReadResult(result)
|
|
6334
|
+
});
|
|
6335
|
+
}
|
|
6336
|
+
} else {
|
|
6337
|
+
clearSettingsReadCache(pmRoot);
|
|
6338
|
+
}
|
|
6339
|
+
return result;
|
|
5865
6340
|
} catch {
|
|
5866
|
-
|
|
6341
|
+
const fallback = buildFallbackSettingsReadResult("settings_read_merge_failed");
|
|
6342
|
+
await cacheSettingsReadResultSafe(pmRoot, trackedPathsForFailure, fallback);
|
|
6343
|
+
return fallback;
|
|
5867
6344
|
}
|
|
5868
6345
|
}
|
|
5869
6346
|
async function readSettings(pmRoot) {
|
|
@@ -5874,11 +6351,15 @@ async function writeSettings(pmRoot, settings, op = SETTINGS_WRITE_OP) {
|
|
|
5874
6351
|
await writeFileAtomic(settingsPath, serializeSettings(settings, {
|
|
5875
6352
|
persist_source: getSettingsPersistSourceSnapshot(settings)
|
|
5876
6353
|
}));
|
|
5877
|
-
|
|
5878
|
-
|
|
5879
|
-
|
|
5880
|
-
|
|
5881
|
-
|
|
6354
|
+
try {
|
|
6355
|
+
await runActiveOnWriteHooks({
|
|
6356
|
+
path: settingsPath,
|
|
6357
|
+
scope: "project",
|
|
6358
|
+
op
|
|
6359
|
+
});
|
|
6360
|
+
} finally {
|
|
6361
|
+
clearSettingsReadCache(pmRoot);
|
|
6362
|
+
}
|
|
5882
6363
|
}
|
|
5883
6364
|
|
|
5884
6365
|
export {
|
|
@@ -5936,6 +6417,10 @@ export {
|
|
|
5936
6417
|
coercePositiveInteger,
|
|
5937
6418
|
coerceNumberInRange,
|
|
5938
6419
|
asRecordOrNull,
|
|
6420
|
+
resolveFlagValueKind,
|
|
6421
|
+
flattenFlagListValue,
|
|
6422
|
+
levenshteinDistanceWithinLimit,
|
|
6423
|
+
normalizeItemFieldType,
|
|
5939
6424
|
parseUnknownExtensionCapabilityWarning,
|
|
5940
6425
|
parseLegacyExtensionCapabilityAliasWarning,
|
|
5941
6426
|
createEmptyExtensionRegistrationRegistry,
|
|
@@ -6013,4 +6498,4 @@ export {
|
|
|
6013
6498
|
readSettings,
|
|
6014
6499
|
writeSettings
|
|
6015
6500
|
};
|
|
6016
|
-
//# sourceMappingURL=chunk-
|
|
6501
|
+
//# sourceMappingURL=chunk-OQGJSCZZ.js.map
|