@unbrained/pm-cli 2026.6.8 → 2026.6.9
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 +31 -11
- package/dist/cli/extension-command-options.js +40 -17
- package/dist/cli/extension-command-options.js.map +1 -1
- package/dist/cli-bundle/chunks/activity-HF3VJYKH.js +16 -0
- package/dist/cli-bundle/chunks/{activity-Q7XMIZIH.js → activity-RUJATACW.js} +11 -11
- package/dist/cli-bundle/chunks/{aggregate-GBSHSXOB.js → aggregate-IQ27NFBI.js} +10 -11
- package/dist/cli-bundle/chunks/{aggregate-GBSHSXOB.js.map → aggregate-IQ27NFBI.js.map} +1 -1
- package/dist/cli-bundle/chunks/{aggregate-HKQJZUBG.js → aggregate-TT7OCHHT.js} +12 -13
- package/dist/cli-bundle/chunks/{aggregate-HKQJZUBG.js.map → aggregate-TT7OCHHT.js.map} +1 -1
- package/dist/cli-bundle/chunks/{append-3RFOU7P5.js → append-CWQZBUWV.js} +8 -8
- package/dist/cli-bundle/chunks/{append-OM74OJVT.js → append-E7AJ5RTR.js} +8 -8
- package/dist/cli-bundle/chunks/{chunk-NLVCMVC7.js → chunk-23WNCJBA.js} +2 -2
- package/dist/cli-bundle/chunks/{chunk-KVXIQDJG.js → chunk-3RHE76G6.js} +12 -12
- package/dist/cli-bundle/chunks/{chunk-Z2HXAFFH.js → chunk-42IULX44.js} +2 -2
- package/dist/cli-bundle/chunks/{chunk-FO2TYSQZ.js → chunk-44JP4PYY.js} +2 -2
- package/dist/cli-bundle/chunks/{chunk-DV27WDA7.js → chunk-4LRVXVJK.js} +2 -2
- package/dist/cli-bundle/chunks/{chunk-CBJXWXI5.js → chunk-4TJWRPIH.js} +2 -2
- package/dist/cli-bundle/chunks/{chunk-XEKZCBCS.js → chunk-5ATRWEZO.js} +3 -3
- package/dist/cli-bundle/chunks/{chunk-YJAKN2N2.js → chunk-5JF76OJF.js} +203 -10
- package/dist/cli-bundle/chunks/chunk-5JF76OJF.js.map +1 -0
- package/dist/cli-bundle/chunks/{chunk-AEMKH5WQ.js → chunk-5MMLINZB.js} +3 -3
- package/dist/cli-bundle/chunks/{chunk-NGEEXR2R.js → chunk-6IGTNFE3.js} +2 -2
- package/dist/cli-bundle/chunks/{chunk-4TI3532H.js → chunk-7CR4GAYN.js} +2 -2
- package/dist/cli-bundle/chunks/{chunk-D7WK2PKB.js → chunk-7YTWXGE3.js} +5 -5
- package/dist/cli-bundle/chunks/{chunk-QQPZYP73.js → chunk-A5342JVL.js} +12 -12
- package/dist/cli-bundle/chunks/{chunk-KN4WSESY.js → chunk-AM2AXVFS.js} +5 -5
- package/dist/cli-bundle/chunks/{chunk-F33VC5EX.js → chunk-ANKG2JKL.js} +2 -2
- package/dist/cli-bundle/chunks/{chunk-ODN53S6H.js → chunk-AVGOVJGV.js} +10 -13
- package/dist/cli-bundle/chunks/chunk-AVGOVJGV.js.map +1 -0
- package/dist/cli-bundle/chunks/{chunk-PQDH3S54.js → chunk-BACSNVWE.js} +5 -5
- package/dist/cli-bundle/chunks/{chunk-L3LYL3ID.js → chunk-BIRVSIM2.js} +12 -12
- package/dist/cli-bundle/chunks/{chunk-3TXWDGPU.js → chunk-C72IQIBT.js} +224 -10
- package/dist/cli-bundle/chunks/chunk-C72IQIBT.js.map +7 -0
- package/dist/cli-bundle/chunks/{chunk-5WO2VKFA.js → chunk-CAXUGAAF.js} +8 -8
- package/dist/cli-bundle/chunks/{chunk-7NQIY7Z6.js → chunk-D5D7VKIC.js} +3 -3
- package/dist/cli-bundle/chunks/{chunk-KP4KIUQT.js → chunk-E7LOIIFP.js} +3 -3
- package/dist/cli-bundle/chunks/{chunk-SM3RMWGO.js → chunk-EFRHTZO4.js} +8 -8
- package/dist/cli-bundle/chunks/{chunk-OTY2YEH5.js → chunk-ENCVPOID.js} +12 -12
- package/dist/cli-bundle/chunks/{chunk-2YPVCD7T.js → chunk-EQ6N6IDR.js} +8 -8
- package/dist/cli-bundle/chunks/{chunk-BKQMJXWY.js → chunk-F2REA7VW.js} +4 -6
- package/dist/cli-bundle/chunks/{chunk-BKQMJXWY.js.map → chunk-F2REA7VW.js.map} +1 -1
- package/dist/cli-bundle/chunks/{chunk-SDLEYY6A.js → chunk-FHUI7AXS.js} +6 -8
- package/dist/cli-bundle/chunks/{chunk-SDLEYY6A.js.map → chunk-FHUI7AXS.js.map} +1 -1
- package/dist/cli-bundle/chunks/{chunk-OVSSE2JP.js → chunk-FJNJEWU4.js} +8 -8
- package/dist/cli-bundle/chunks/{chunk-QF4OPBAG.js → chunk-FKH7K6YP.js} +9 -9
- package/dist/cli-bundle/chunks/{chunk-KCGMABHM.js → chunk-GPOSGWCN.js} +2 -2
- package/dist/cli-bundle/chunks/{chunk-MSH23UWO.js → chunk-H37YPWLM.js} +4 -4
- package/dist/cli-bundle/chunks/{chunk-F33AQIB4.js → chunk-I26E6XA7.js} +17 -7
- package/dist/cli-bundle/chunks/chunk-I26E6XA7.js.map +1 -0
- package/dist/cli-bundle/chunks/{chunk-URJEZOLB.js → chunk-I3UILOUU.js} +2 -2
- package/dist/cli-bundle/chunks/{chunk-KS2U7BZ3.js → chunk-I4FGL3K2.js} +4 -4
- package/dist/cli-bundle/chunks/{chunk-HP35AVFS.js → chunk-JEGFLKSI.js} +2 -2
- package/dist/cli-bundle/chunks/{chunk-AXBUHLW7.js → chunk-JN3BT7UY.js} +9 -9
- package/dist/cli-bundle/chunks/{chunk-ALSRBNYB.js → chunk-JVMAOD54.js} +5 -5
- package/dist/cli-bundle/chunks/{chunk-4WYBLB6J.js → chunk-KDX6VC3P.js} +3 -3
- package/dist/cli-bundle/chunks/{chunk-UEXNNF3K.js → chunk-KTVXLI54.js} +7 -7
- package/dist/cli-bundle/chunks/{chunk-2HMD3JM2.js → chunk-LF2VNLEZ.js} +9 -12
- package/dist/cli-bundle/chunks/chunk-LF2VNLEZ.js.map +7 -0
- package/dist/cli-bundle/chunks/{chunk-XNGMIVQY.js → chunk-LU2HE272.js} +3 -3
- package/dist/cli-bundle/chunks/{chunk-3E3MDBTB.js → chunk-LU54Z4QI.js} +5 -5
- package/dist/cli-bundle/chunks/{chunk-TBLBEOEX.js → chunk-MNXJ6YDO.js} +9 -9
- package/dist/cli-bundle/chunks/{chunk-M7UBTVFT.js → chunk-NHRZSYAA.js} +3 -3
- package/dist/cli-bundle/chunks/{chunk-HOA3GMB6.js → chunk-NJRZIJ4N.js} +4 -4
- package/dist/cli-bundle/chunks/{chunk-XLSQ3QLT.js → chunk-NUGAWYEN.js} +2 -2
- package/dist/cli-bundle/chunks/{chunk-NUKHZZNM.js → chunk-O4L7Z6LB.js} +3 -3
- package/dist/cli-bundle/chunks/{chunk-5NVJA7IW.js → chunk-OPYA2HIU.js} +7 -7
- package/dist/cli-bundle/chunks/{chunk-7WXGR44E.js → chunk-OT6XAMO5.js} +16 -6
- package/dist/cli-bundle/chunks/chunk-OT6XAMO5.js.map +7 -0
- package/dist/cli-bundle/chunks/{chunk-NDSMKB2I.js → chunk-P2NVFE4L.js} +3 -3
- package/dist/cli-bundle/chunks/{chunk-BFJPMUF5.js → chunk-PUSOAQCR.js} +5 -5
- package/dist/cli-bundle/chunks/{chunk-XZS4MV37.js → chunk-PW7C262O.js} +2 -2
- package/dist/cli-bundle/chunks/{chunk-J4DKAGTM.js → chunk-RE2JQJZJ.js} +3 -3
- package/dist/cli-bundle/chunks/{chunk-YEFOCDIK.js → chunk-RKCJ2JMA.js} +7 -7
- package/dist/cli-bundle/chunks/{chunk-QWNUDGFQ.js → chunk-RLVI7KDW.js} +8 -8
- package/dist/cli-bundle/chunks/{chunk-KBKJVXUS.js → chunk-RMTI5R76.js} +5 -5
- package/dist/cli-bundle/chunks/{chunk-QFVASU44.js → chunk-SAUXUI6U.js} +2 -2
- package/dist/cli-bundle/chunks/{chunk-RISLL7XH.js → chunk-SD6H3RLA.js} +4 -4
- package/dist/cli-bundle/chunks/{chunk-VXBUXLVD.js → chunk-T7B5VAKD.js} +5 -5
- package/dist/cli-bundle/chunks/{chunk-JS47EKLP.js → chunk-T7NWFVOA.js} +7 -7
- package/dist/cli-bundle/chunks/{chunk-TXKENAQP.js → chunk-TLD3UYGY.js} +3 -3
- package/dist/cli-bundle/chunks/{chunk-2BYKYPWY.js → chunk-U3Z4OCZC.js} +2 -2
- package/dist/cli-bundle/chunks/{chunk-FGRJZVXD.js → chunk-VDVVOLR6.js} +3 -3
- package/dist/cli-bundle/chunks/{chunk-K62SNVVE.js → chunk-WCWIDJII.js} +2 -2
- package/dist/cli-bundle/chunks/{chunk-EPWT7BEA.js → chunk-WQZCEEQN.js} +8 -8
- package/dist/cli-bundle/chunks/{chunk-UMMJAJB2.js → chunk-XEOO6K5J.js} +9 -9
- package/dist/cli-bundle/chunks/{chunk-R4XIE7NQ.js → chunk-YI6W2DBN.js} +6 -6
- package/dist/cli-bundle/chunks/{chunk-N4SQZ7L3.js → chunk-YSANBZAE.js} +2 -2
- package/dist/cli-bundle/chunks/{chunk-ETZZU5QF.js → chunk-YX5LAKFJ.js} +2 -2
- package/dist/cli-bundle/chunks/{chunk-Z55JACL2.js → chunk-ZPXDD6RQ.js} +6 -6
- package/dist/cli-bundle/chunks/{claim-RNEBQCOO.js → claim-RV6WYUF7.js} +10 -10
- package/dist/cli-bundle/chunks/{claim-NHBIIBOW.js → claim-UXFGCF3P.js} +10 -10
- package/dist/cli-bundle/chunks/close-JTTGW7TS.js +13 -0
- package/dist/cli-bundle/chunks/{close-ZMXL2WDS.js → close-O4JK2JKD.js} +8 -8
- package/dist/cli-bundle/chunks/{close-many-CDPQGQUB.js → close-many-EQO4TPIE.js} +17 -18
- package/dist/cli-bundle/chunks/{close-many-CDPQGQUB.js.map → close-many-EQO4TPIE.js.map} +1 -1
- package/dist/cli-bundle/chunks/{close-many-IQV5C2SI.js → close-many-SRDBV3SI.js} +15 -16
- package/dist/cli-bundle/chunks/{close-many-IQV5C2SI.js.map → close-many-SRDBV3SI.js.map} +1 -1
- package/dist/cli-bundle/chunks/{comments-J5Q4IJPH.js → comments-OMB7YE27.js} +10 -10
- package/dist/cli-bundle/chunks/{comments-EFVBHWPT.js → comments-TTZUIB2O.js} +10 -10
- package/dist/cli-bundle/chunks/{config-72253M2O.js → config-5VPR42A6.js} +8 -8
- package/dist/cli-bundle/chunks/{config-VFYA6BMI.js → config-NNLXVGVC.js} +8 -8
- package/dist/cli-bundle/chunks/{context-WMSI2D65.js → context-4N7GYTVQ.js} +16 -18
- package/dist/cli-bundle/chunks/{context-WMSI2D65.js.map → context-4N7GYTVQ.js.map} +1 -1
- package/dist/cli-bundle/chunks/{context-AVLO4IFH.js → context-4QK6GRXO.js} +14 -16
- package/dist/cli-bundle/chunks/{context-AVLO4IFH.js.map → context-4QK6GRXO.js.map} +1 -1
- package/dist/cli-bundle/chunks/{contracts-D4BN3VSQ.js → contracts-AOBNEBVT.js} +4 -4
- package/dist/cli-bundle/chunks/{contracts-RGPOBLPL.js → contracts-DXCWXOSP.js} +4 -4
- package/dist/cli-bundle/chunks/{copy-WXE3OOLZ.js → copy-5NM3SVJA.js} +7 -7
- package/dist/cli-bundle/chunks/{copy-H6TXHK7S.js → copy-XSYEQTLA.js} +7 -7
- package/dist/cli-bundle/chunks/{create-PUAIJEZ7.js → create-FCCAATQV.js} +13 -13
- package/dist/cli-bundle/chunks/create-JAPLFDGJ.js +27 -0
- package/dist/cli-bundle/chunks/{delete-WBME6WG5.js → delete-5JFP6OG7.js} +7 -7
- package/dist/cli-bundle/chunks/{delete-PKR2JHLH.js → delete-PQXJQXQ7.js} +7 -7
- package/dist/cli-bundle/chunks/{deps-KWHQRO75.js → deps-S5322EOQ.js} +7 -7
- package/dist/cli-bundle/chunks/{deps-4BQEDV4L.js → deps-XXKBOQUA.js} +7 -7
- package/dist/cli-bundle/chunks/{docs-364GT3ZR.js → docs-C7CCVWAJ.js} +9 -9
- package/dist/cli-bundle/chunks/{docs-SCNBUGSV.js → docs-DZRPAW5S.js} +9 -9
- package/dist/cli-bundle/chunks/{extension-KK2UPXJD.js → extension-CSHP6FZX.js} +5 -5
- package/dist/cli-bundle/chunks/{extension-CRE7JM47.js → extension-XNNVUVAY.js} +5 -5
- package/dist/cli-bundle/chunks/{files-66EHM5ZR.js → files-OBWYYPKM.js} +9 -9
- package/dist/cli-bundle/chunks/{files-3GESQAWL.js → files-UPCNKEIZ.js} +9 -9
- package/dist/cli-bundle/chunks/{gc-D5IWOKQH.js → gc-FA2ONELT.js} +3 -3
- package/dist/cli-bundle/chunks/{gc-MOQDND5J.js → gc-KXK6KBRN.js} +3 -3
- package/dist/cli-bundle/chunks/{get-WXSLXV3K.js → get-FLHYTOBA.js} +11 -11
- package/dist/cli-bundle/chunks/{get-7J2ZCBV5.js → get-PNTSONGB.js} +11 -11
- package/dist/cli-bundle/chunks/{health-B6AEM7BV.js → health-CS5RNTJX.js} +13 -13
- package/dist/cli-bundle/chunks/{health-YMZGOMVX.js → health-KCRVYIYY.js} +13 -13
- package/dist/cli-bundle/chunks/history-6624XISO.js +20 -0
- package/dist/cli-bundle/chunks/{history-TJTO5GCR.js → history-COQTPBEU.js} +10 -10
- package/dist/cli-bundle/chunks/{history-compact-CKNN6UKW.js → history-compact-66PSRYL3.js} +11 -11
- package/dist/cli-bundle/chunks/{history-compact-N2Q7IR3T.js → history-compact-PVS2A3FS.js} +11 -11
- package/dist/cli-bundle/chunks/{history-redact-JUXUOH54.js → history-redact-DCXAWGTF.js} +11 -11
- package/dist/cli-bundle/chunks/history-redact-ZRQTI7NB.js +19 -0
- package/dist/cli-bundle/chunks/{history-repair-CCCPBNTF.js → history-repair-SEQDFTGW.js} +11 -11
- package/dist/cli-bundle/chunks/{history-repair-TDBBSRVK.js → history-repair-TA3NRIFO.js} +11 -11
- package/dist/cli-bundle/chunks/{init-6ZPKD3YN.js → init-IQJE3EKJ.js} +9 -9
- package/dist/cli-bundle/chunks/init-ZVE2HMKK.js +17 -0
- package/dist/cli-bundle/chunks/{learnings-U7U2FNIO.js → learnings-RJPGH2ME.js} +10 -10
- package/dist/cli-bundle/chunks/{learnings-WYNTYQ5T.js → learnings-XC6EMW5E.js} +10 -10
- package/dist/cli-bundle/chunks/{list-JGP7ODML.js → list-NJV6WBT4.js} +10 -11
- package/dist/cli-bundle/chunks/list-OO5P472O.js +19 -0
- package/dist/cli-bundle/chunks/{notes-P25YVTEG.js → notes-2KWHADK3.js} +10 -10
- package/dist/cli-bundle/chunks/{notes-QIF6A7XS.js → notes-FNCDMZW2.js} +10 -10
- package/dist/cli-bundle/chunks/{plan-SSBJFWXA.js → plan-CYK2P5PD.js} +13 -13
- package/dist/cli-bundle/chunks/{plan-RACB5PI6.js → plan-MQO5JTSV.js} +13 -13
- package/dist/cli-bundle/chunks/{register-list-query-5IXDPUZ6.js → register-list-query-6RA24SIZ.js} +18 -18
- package/dist/cli-bundle/chunks/{register-list-query-GQAEIG4K.js → register-list-query-IO3RR5K6.js} +18 -18
- package/dist/cli-bundle/chunks/{register-mutation-YZCUILGO.js → register-mutation-KVFUXCAZ.js} +32 -32
- package/dist/cli-bundle/chunks/{register-mutation-FAS4YG63.js → register-mutation-VV2SC2KL.js} +32 -32
- package/dist/cli-bundle/chunks/{register-operations-S2BOLUPF.js → register-operations-DFNVRSJ5.js} +30 -30
- package/dist/cli-bundle/chunks/{register-operations-IBYWNJN5.js → register-operations-TAUUTRJ4.js} +30 -30
- package/dist/cli-bundle/chunks/{register-setup-JRZ4UMWZ.js → register-setup-GAQZZRUA.js} +15 -15
- package/dist/cli-bundle/chunks/{register-setup-ABA2JPWO.js → register-setup-X2R5CFDV.js} +15 -15
- package/dist/cli-bundle/chunks/{restore-K72ZNPEP.js → restore-E3GZKRRK.js} +11 -11
- package/dist/cli-bundle/chunks/restore-F4ALFV4D.js +17 -0
- package/dist/cli-bundle/chunks/{schema-UL4B2JX5.js → schema-3CPFLDAY.js} +8 -8
- package/dist/cli-bundle/chunks/{schema-3VKRDBLC.js → schema-7EHBPNXM.js} +8 -8
- package/dist/cli-bundle/chunks/{search-EQDHSE4G.js → search-2T3NCCUR.js} +12 -13
- package/dist/cli-bundle/chunks/{search-EQDHSE4G.js.map → search-2T3NCCUR.js.map} +1 -1
- package/dist/cli-bundle/chunks/{search-632WJ7GO.js → search-OBZVYJJ2.js} +10 -11
- package/dist/cli-bundle/chunks/{search-632WJ7GO.js.map → search-OBZVYJJ2.js.map} +1 -1
- package/dist/cli-bundle/chunks/{stats-O4UTMJMC.js → stats-6LVK4JER.js} +7 -7
- package/dist/cli-bundle/chunks/{stats-WLJ3XBF5.js → stats-ULGQACF7.js} +7 -7
- package/dist/cli-bundle/chunks/{telemetry-EUVHFSQU.js → telemetry-6G27FLCP.js} +4 -4
- package/dist/cli-bundle/chunks/{telemetry-NRVWX25E.js → telemetry-HHKRTMZA.js} +4 -4
- package/dist/cli-bundle/chunks/{test-GXUBQNUC.js → test-2PP4YBV6.js} +14 -14
- package/dist/cli-bundle/chunks/test-PPOLRIBA.js +32 -0
- package/dist/cli-bundle/chunks/{test-all-XM6OKI3L.js → test-all-6Z272JRI.js} +14 -14
- package/dist/cli-bundle/chunks/{test-all-UTFXC7S2.js → test-all-NETGVNM6.js} +14 -14
- package/dist/cli-bundle/chunks/{test-runs-IK6E2HNX.js → test-runs-CRPQVMMG.js} +5 -5
- package/dist/cli-bundle/chunks/{test-runs-7FHCPEA3.js → test-runs-M24WA6TI.js} +5 -5
- package/dist/cli-bundle/chunks/update-MCPCPMHV.js +25 -0
- package/dist/cli-bundle/chunks/update-O7TBOUVQ.js +21 -0
- package/dist/cli-bundle/chunks/{update-many-5KD33MKY.js → update-many-JSRF5EH5.js} +22 -23
- package/dist/cli-bundle/chunks/{update-many-5KD33MKY.js.map → update-many-JSRF5EH5.js.map} +1 -1
- package/dist/cli-bundle/chunks/{update-many-N3YTM7K4.js → update-many-Y3HOL7WA.js} +24 -25
- package/dist/cli-bundle/chunks/{update-many-N3YTM7K4.js.map → update-many-Y3HOL7WA.js.map} +1 -1
- package/dist/cli-bundle/chunks/{upgrade-5SRFLUNW.js → upgrade-5RTQVKKE.js} +5 -5
- package/dist/cli-bundle/chunks/{upgrade-FFXGO43H.js → upgrade-ECB6GH3M.js} +5 -5
- package/dist/cli-bundle/chunks/{validate-T3LPWSZG.js → validate-J6Q444SD.js} +16 -16
- package/dist/cli-bundle/chunks/{validate-CRWXZILW.js → validate-MCNMAXVA.js} +16 -16
- package/dist/cli-bundle/main.js +43 -36
- package/dist/cli-bundle/main.js.map +2 -2
- package/dist/core/extensions/extension-types.d.ts +59 -1
- package/dist/core/extensions/extension-types.js +2 -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 +14 -1
- package/dist/core/extensions/loader.js +141 -10
- package/dist/core/extensions/loader.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/mcp/server.js +57 -31
- package/dist/mcp/server.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/testing.d.ts +55 -1
- package/dist/sdk/testing.js +92 -2
- package/dist/sdk/testing.js.map +1 -1
- package/docs/EXTENSIONS.md +7 -3
- package/docs/SDK.md +98 -0
- package/package.json +1 -1
- package/dist/cli-bundle/chunks/activity-A3QKFSSF.js +0 -16
- package/dist/cli-bundle/chunks/chunk-2HMD3JM2.js.map +0 -7
- package/dist/cli-bundle/chunks/chunk-3TXWDGPU.js.map +0 -7
- package/dist/cli-bundle/chunks/chunk-7WXGR44E.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-F33AQIB4.js.map +0 -1
- package/dist/cli-bundle/chunks/chunk-ODN53S6H.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/create-EZWAMUKR.js +0 -27
- 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/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/update-U4B4OMHZ.js +0 -25
- /package/dist/cli-bundle/chunks/{activity-A3QKFSSF.js.map → activity-HF3VJYKH.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{activity-Q7XMIZIH.js.map → activity-RUJATACW.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{append-3RFOU7P5.js.map → append-CWQZBUWV.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{append-OM74OJVT.js.map → append-E7AJ5RTR.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-NLVCMVC7.js.map → chunk-23WNCJBA.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-KVXIQDJG.js.map → chunk-3RHE76G6.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-Z2HXAFFH.js.map → chunk-42IULX44.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-FO2TYSQZ.js.map → chunk-44JP4PYY.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-DV27WDA7.js.map → chunk-4LRVXVJK.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-CBJXWXI5.js.map → chunk-4TJWRPIH.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-XEKZCBCS.js.map → chunk-5ATRWEZO.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-AEMKH5WQ.js.map → chunk-5MMLINZB.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-NGEEXR2R.js.map → chunk-6IGTNFE3.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-4TI3532H.js.map → chunk-7CR4GAYN.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-D7WK2PKB.js.map → chunk-7YTWXGE3.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-QQPZYP73.js.map → chunk-A5342JVL.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-KN4WSESY.js.map → chunk-AM2AXVFS.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-F33VC5EX.js.map → chunk-ANKG2JKL.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-PQDH3S54.js.map → chunk-BACSNVWE.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-L3LYL3ID.js.map → chunk-BIRVSIM2.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-5WO2VKFA.js.map → chunk-CAXUGAAF.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-7NQIY7Z6.js.map → chunk-D5D7VKIC.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-KP4KIUQT.js.map → chunk-E7LOIIFP.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-SM3RMWGO.js.map → chunk-EFRHTZO4.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-OTY2YEH5.js.map → chunk-ENCVPOID.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-2YPVCD7T.js.map → chunk-EQ6N6IDR.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-OVSSE2JP.js.map → chunk-FJNJEWU4.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-QF4OPBAG.js.map → chunk-FKH7K6YP.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-KCGMABHM.js.map → chunk-GPOSGWCN.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-MSH23UWO.js.map → chunk-H37YPWLM.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-URJEZOLB.js.map → chunk-I3UILOUU.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-KS2U7BZ3.js.map → chunk-I4FGL3K2.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-HP35AVFS.js.map → chunk-JEGFLKSI.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-AXBUHLW7.js.map → chunk-JN3BT7UY.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-ALSRBNYB.js.map → chunk-JVMAOD54.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-4WYBLB6J.js.map → chunk-KDX6VC3P.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-UEXNNF3K.js.map → chunk-KTVXLI54.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-XNGMIVQY.js.map → chunk-LU2HE272.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-3E3MDBTB.js.map → chunk-LU54Z4QI.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-TBLBEOEX.js.map → chunk-MNXJ6YDO.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-M7UBTVFT.js.map → chunk-NHRZSYAA.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-HOA3GMB6.js.map → chunk-NJRZIJ4N.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-XLSQ3QLT.js.map → chunk-NUGAWYEN.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-NUKHZZNM.js.map → chunk-O4L7Z6LB.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-5NVJA7IW.js.map → chunk-OPYA2HIU.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-NDSMKB2I.js.map → chunk-P2NVFE4L.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-BFJPMUF5.js.map → chunk-PUSOAQCR.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-XZS4MV37.js.map → chunk-PW7C262O.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-J4DKAGTM.js.map → chunk-RE2JQJZJ.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-YEFOCDIK.js.map → chunk-RKCJ2JMA.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-QWNUDGFQ.js.map → chunk-RLVI7KDW.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-KBKJVXUS.js.map → chunk-RMTI5R76.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-QFVASU44.js.map → chunk-SAUXUI6U.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-RISLL7XH.js.map → chunk-SD6H3RLA.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-VXBUXLVD.js.map → chunk-T7B5VAKD.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-JS47EKLP.js.map → chunk-T7NWFVOA.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-TXKENAQP.js.map → chunk-TLD3UYGY.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-2BYKYPWY.js.map → chunk-U3Z4OCZC.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-FGRJZVXD.js.map → chunk-VDVVOLR6.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-K62SNVVE.js.map → chunk-WCWIDJII.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-EPWT7BEA.js.map → chunk-WQZCEEQN.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-UMMJAJB2.js.map → chunk-XEOO6K5J.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-R4XIE7NQ.js.map → chunk-YI6W2DBN.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-N4SQZ7L3.js.map → chunk-YSANBZAE.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-ETZZU5QF.js.map → chunk-YX5LAKFJ.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-Z55JACL2.js.map → chunk-ZPXDD6RQ.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{claim-RNEBQCOO.js.map → claim-RV6WYUF7.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{claim-NHBIIBOW.js.map → claim-UXFGCF3P.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{close-UNTFXVM3.js.map → close-JTTGW7TS.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{close-ZMXL2WDS.js.map → close-O4JK2JKD.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{comments-J5Q4IJPH.js.map → comments-OMB7YE27.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{comments-EFVBHWPT.js.map → comments-TTZUIB2O.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{config-72253M2O.js.map → config-5VPR42A6.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{config-VFYA6BMI.js.map → config-NNLXVGVC.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{contracts-D4BN3VSQ.js.map → contracts-AOBNEBVT.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{contracts-RGPOBLPL.js.map → contracts-DXCWXOSP.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{copy-WXE3OOLZ.js.map → copy-5NM3SVJA.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{copy-H6TXHK7S.js.map → copy-XSYEQTLA.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{create-PUAIJEZ7.js.map → create-FCCAATQV.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{create-EZWAMUKR.js.map → create-JAPLFDGJ.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{delete-WBME6WG5.js.map → delete-5JFP6OG7.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{delete-PKR2JHLH.js.map → delete-PQXJQXQ7.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{deps-KWHQRO75.js.map → deps-S5322EOQ.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{deps-4BQEDV4L.js.map → deps-XXKBOQUA.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{docs-364GT3ZR.js.map → docs-C7CCVWAJ.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{docs-SCNBUGSV.js.map → docs-DZRPAW5S.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{extension-KK2UPXJD.js.map → extension-CSHP6FZX.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{extension-CRE7JM47.js.map → extension-XNNVUVAY.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{files-66EHM5ZR.js.map → files-OBWYYPKM.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{files-3GESQAWL.js.map → files-UPCNKEIZ.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{gc-D5IWOKQH.js.map → gc-FA2ONELT.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{gc-MOQDND5J.js.map → gc-KXK6KBRN.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{get-WXSLXV3K.js.map → get-FLHYTOBA.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{get-7J2ZCBV5.js.map → get-PNTSONGB.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{health-B6AEM7BV.js.map → health-CS5RNTJX.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{health-YMZGOMVX.js.map → health-KCRVYIYY.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{history-ZERISU2L.js.map → history-6624XISO.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{history-TJTO5GCR.js.map → history-COQTPBEU.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{history-compact-CKNN6UKW.js.map → history-compact-66PSRYL3.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{history-compact-N2Q7IR3T.js.map → history-compact-PVS2A3FS.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{history-redact-JUXUOH54.js.map → history-redact-DCXAWGTF.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{history-redact-GODBYT5A.js.map → history-redact-ZRQTI7NB.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{history-repair-CCCPBNTF.js.map → history-repair-SEQDFTGW.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{history-repair-TDBBSRVK.js.map → history-repair-TA3NRIFO.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{init-6ZPKD3YN.js.map → init-IQJE3EKJ.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{init-CBZHXBR3.js.map → init-ZVE2HMKK.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{learnings-U7U2FNIO.js.map → learnings-RJPGH2ME.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{learnings-WYNTYQ5T.js.map → learnings-XC6EMW5E.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{list-JGP7ODML.js.map → list-NJV6WBT4.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{list-7MTPPZHC.js.map → list-OO5P472O.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{notes-P25YVTEG.js.map → notes-2KWHADK3.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{notes-QIF6A7XS.js.map → notes-FNCDMZW2.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{plan-SSBJFWXA.js.map → plan-CYK2P5PD.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{plan-RACB5PI6.js.map → plan-MQO5JTSV.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{register-list-query-5IXDPUZ6.js.map → register-list-query-6RA24SIZ.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{register-list-query-GQAEIG4K.js.map → register-list-query-IO3RR5K6.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{register-mutation-YZCUILGO.js.map → register-mutation-KVFUXCAZ.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{register-mutation-FAS4YG63.js.map → register-mutation-VV2SC2KL.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{register-operations-S2BOLUPF.js.map → register-operations-DFNVRSJ5.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{register-operations-IBYWNJN5.js.map → register-operations-TAUUTRJ4.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{register-setup-JRZ4UMWZ.js.map → register-setup-GAQZZRUA.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{register-setup-ABA2JPWO.js.map → register-setup-X2R5CFDV.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{restore-K72ZNPEP.js.map → restore-E3GZKRRK.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{restore-3JRX27QW.js.map → restore-F4ALFV4D.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{schema-UL4B2JX5.js.map → schema-3CPFLDAY.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{schema-3VKRDBLC.js.map → schema-7EHBPNXM.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{stats-O4UTMJMC.js.map → stats-6LVK4JER.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{stats-WLJ3XBF5.js.map → stats-ULGQACF7.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{telemetry-EUVHFSQU.js.map → telemetry-6G27FLCP.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{telemetry-NRVWX25E.js.map → telemetry-HHKRTMZA.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{test-GXUBQNUC.js.map → test-2PP4YBV6.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{test-XN7RJL5Z.js.map → test-PPOLRIBA.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{test-all-XM6OKI3L.js.map → test-all-6Z272JRI.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{test-all-UTFXC7S2.js.map → test-all-NETGVNM6.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{test-runs-IK6E2HNX.js.map → test-runs-CRPQVMMG.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{test-runs-7FHCPEA3.js.map → test-runs-M24WA6TI.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{update-U4B4OMHZ.js.map → update-MCPCPMHV.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{update-LFBSEW3N.js.map → update-O7TBOUVQ.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{upgrade-5SRFLUNW.js.map → upgrade-5RTQVKKE.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{upgrade-FFXGO43H.js.map → upgrade-ECB6GH3M.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{validate-T3LPWSZG.js.map → validate-J6Q444SD.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{validate-CRWXZILW.js.map → validate-MCNMAXVA.js.map} +0 -0
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
|
|
2
|
-
!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]="
|
|
2
|
+
!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]="e5c4c469-142a-5854-82ca-a920130d2104")}catch(e){}}();
|
|
3
3
|
import fs from "node:fs/promises";
|
|
4
4
|
import path from "node:path";
|
|
5
5
|
import { pathToFileURL } from "node:url";
|
|
@@ -8,6 +8,8 @@ import { isPathWithinDirectory } from "../fs/path-utils.js";
|
|
|
8
8
|
import { resolvePmPackageRootFromModule } from "../packages/root.js";
|
|
9
9
|
import { resolveGlobalPmRoot } from "../store/paths.js";
|
|
10
10
|
import { asRecordLoose } from "../shared/primitives.js";
|
|
11
|
+
import { flattenFlagListValue, isFlagDefaultValueCoercible, resolveFlagValueKind } from "./flag-value-types.js";
|
|
12
|
+
import { KNOWN_ITEM_FIELD_TYPES, normalizeItemFieldType, suggestKnownItemFieldType } from "./item-field-types.js";
|
|
11
13
|
// Cohesive helper groups now live in sibling modules. They are imported for the
|
|
12
14
|
// discovery/activation code that stays here and re-exported below so existing
|
|
13
15
|
// import sites (sdk/index.ts, commands/extension.ts, health.ts, tests, …) keep
|
|
@@ -19,7 +21,7 @@ import { normalizeCommandName, cloneContextSnapshot, } from "./extension-runtime
|
|
|
19
21
|
export { parseUnknownExtensionCapabilityWarning, parseLegacyExtensionCapabilityAliasWarning, } from "./extension-capability-aliases.js";
|
|
20
22
|
export { createEmptyExtensionHookRegistry, createEmptyExtensionCommandRegistry, createEmptyExtensionParserRegistry, createEmptyExtensionPreflightRegistry, createEmptyExtensionServiceRegistry, createEmptyExtensionRendererRegistry, createEmptyExtensionRegistrationRegistry, } from "./extension-registries.js";
|
|
21
23
|
export { runBeforeCommandHooks, runAfterCommandHooks, runOnWriteHooks, runOnReadHooks, runOnIndexHooks, runCommandHandler, runParserOverride, runPreflightOverride, runServiceOverrideSync, runServiceOverride, runCommandOverride, runRendererOverride, } from "./extension-hook-runtime.js";
|
|
22
|
-
import { KNOWN_EXTENSION_SERVICE_NAMES, createDefaultExtensionGovernancePolicy, } from "./extension-types.js";
|
|
24
|
+
import { KNOWN_EXTENSION_CAPABILITIES, KNOWN_EXTENSION_SERVICE_NAMES, createDefaultExtensionGovernancePolicy, } from "./extension-types.js";
|
|
23
25
|
export * from "./extension-types.js";
|
|
24
26
|
const DEFAULT_EXTENSION_PRIORITY = 100;
|
|
25
27
|
let currentPmCliVersionPromise = null;
|
|
@@ -727,24 +729,82 @@ export async function loadExtensions(options) {
|
|
|
727
729
|
failed,
|
|
728
730
|
};
|
|
729
731
|
}
|
|
732
|
+
function toActivatableExtension(source) {
|
|
733
|
+
// Bind to `source` so a module/default-export authored with methods (or a class
|
|
734
|
+
// instance) keeps its `this` across both lifecycle calls — `activate` is a
|
|
735
|
+
// method call on a fresh object and `deactivate` is invoked bare, so without
|
|
736
|
+
// binding the two would see different (or undefined) `this`.
|
|
737
|
+
const activate = source.activate;
|
|
738
|
+
const activatable = {
|
|
739
|
+
activate: activate.bind(source),
|
|
740
|
+
};
|
|
741
|
+
if (typeof source.deactivate === "function") {
|
|
742
|
+
const deactivate = source.deactivate;
|
|
743
|
+
activatable.deactivate = deactivate.bind(source);
|
|
744
|
+
}
|
|
745
|
+
return activatable;
|
|
746
|
+
}
|
|
730
747
|
function resolveActivatableExtension(module) {
|
|
731
748
|
const moduleRecord = asRecordLoose(module);
|
|
732
749
|
if (!moduleRecord) {
|
|
733
750
|
return null;
|
|
734
751
|
}
|
|
735
752
|
if (typeof moduleRecord.activate === "function") {
|
|
736
|
-
return
|
|
737
|
-
activate: moduleRecord.activate,
|
|
738
|
-
};
|
|
753
|
+
return toActivatableExtension(moduleRecord);
|
|
739
754
|
}
|
|
740
755
|
const defaultExport = asRecordLoose(moduleRecord.default);
|
|
741
756
|
if (defaultExport && typeof defaultExport.activate === "function") {
|
|
742
|
-
return
|
|
743
|
-
activate: defaultExport.activate,
|
|
744
|
-
};
|
|
757
|
+
return toActivatableExtension(defaultExport);
|
|
745
758
|
}
|
|
746
759
|
return null;
|
|
747
760
|
}
|
|
761
|
+
/**
|
|
762
|
+
* Run the optional `deactivate` teardown hook for every loaded extension that
|
|
763
|
+
* exports one. Best-effort: a throwing teardown is captured as a warning and a
|
|
764
|
+
* failure entry rather than propagated, so one extension cannot block another's
|
|
765
|
+
* cleanup. Hosts call this on shutdown/reload (e.g. the MCP server between
|
|
766
|
+
* native-action requests) to release resources opened during `activate`.
|
|
767
|
+
*
|
|
768
|
+
* Pass the `activationResult` to skip extensions whose `activate` failed — they
|
|
769
|
+
* never fully initialized, so (VS Code-style) their `deactivate` must not run.
|
|
770
|
+
* Teardowns run concurrently so one slow hook cannot serialize the rest; the
|
|
771
|
+
* returned warnings/failures preserve loaded order.
|
|
772
|
+
*/
|
|
773
|
+
export async function deactivateExtensions(loadResult, activationResult) {
|
|
774
|
+
const failedActivationKeys = new Set((activationResult?.failed ?? []).map((entry) => `${entry.layer}:${entry.name}`));
|
|
775
|
+
const targets = [];
|
|
776
|
+
for (const extension of loadResult.loaded) {
|
|
777
|
+
if (failedActivationKeys.has(`${extension.layer}:${extension.name}`)) {
|
|
778
|
+
continue;
|
|
779
|
+
}
|
|
780
|
+
const activatable = resolveActivatableExtension(extension.module);
|
|
781
|
+
if (!activatable || typeof activatable.deactivate !== "function") {
|
|
782
|
+
continue;
|
|
783
|
+
}
|
|
784
|
+
targets.push({ extension, deactivate: activatable.deactivate });
|
|
785
|
+
}
|
|
786
|
+
const outcomes = await Promise.all(targets.map(async ({ extension, deactivate }) => {
|
|
787
|
+
try {
|
|
788
|
+
await deactivate();
|
|
789
|
+
return { ok: true };
|
|
790
|
+
}
|
|
791
|
+
catch (error) {
|
|
792
|
+
return { ok: false, layer: extension.layer, name: extension.name, error: formatUnknownError(error) };
|
|
793
|
+
}
|
|
794
|
+
}));
|
|
795
|
+
const warnings = [];
|
|
796
|
+
const failed = [];
|
|
797
|
+
let deactivated = 0;
|
|
798
|
+
for (const outcome of outcomes) {
|
|
799
|
+
if (outcome.ok) {
|
|
800
|
+
deactivated += 1;
|
|
801
|
+
continue;
|
|
802
|
+
}
|
|
803
|
+
warnings.push(`extension_deactivate_failed:${outcome.layer}:${outcome.name}`);
|
|
804
|
+
failed.push({ layer: outcome.layer, name: outcome.name, error: outcome.error });
|
|
805
|
+
}
|
|
806
|
+
return { deactivated, warnings, failed };
|
|
807
|
+
}
|
|
748
808
|
function isOutputRendererFormat(value) {
|
|
749
809
|
return value === "toon" || value === "json";
|
|
750
810
|
}
|
|
@@ -873,6 +933,25 @@ function assertOptionalStringField(name, value) {
|
|
|
873
933
|
throw new TypeError(`${name} must be a non-empty string when provided`);
|
|
874
934
|
}
|
|
875
935
|
}
|
|
936
|
+
function isFlagDefaultScalar(value) {
|
|
937
|
+
return typeof value === "string" || typeof value === "number" || typeof value === "boolean";
|
|
938
|
+
}
|
|
939
|
+
function assertOptionalFlagDefaultField(name, value) {
|
|
940
|
+
if (value === undefined) {
|
|
941
|
+
return;
|
|
942
|
+
}
|
|
943
|
+
if (Array.isArray(value)) {
|
|
944
|
+
for (const [index, item] of value.entries()) {
|
|
945
|
+
if (!isFlagDefaultScalar(item)) {
|
|
946
|
+
throw new TypeError(`${name}[${index}] must be a string, number, or boolean`);
|
|
947
|
+
}
|
|
948
|
+
}
|
|
949
|
+
return;
|
|
950
|
+
}
|
|
951
|
+
if (!isFlagDefaultScalar(value)) {
|
|
952
|
+
throw new TypeError(`${name} must be a string, number, or boolean, or an array of these when provided`);
|
|
953
|
+
}
|
|
954
|
+
}
|
|
876
955
|
function assertOptionalStringArrayField(name, value) {
|
|
877
956
|
if (value === undefined) {
|
|
878
957
|
return;
|
|
@@ -992,6 +1071,42 @@ function validateFlagDefinitions(flags) {
|
|
|
992
1071
|
assertOptionalBooleanField(`registerFlags flags[${index}].required`, record.required);
|
|
993
1072
|
assertOptionalBooleanField(`registerFlags flags[${index}].enabled`, record.enabled);
|
|
994
1073
|
assertOptionalBooleanField(`registerFlags flags[${index}].visible`, record.visible);
|
|
1074
|
+
assertOptionalBooleanField(`registerFlags flags[${index}].list`, record.list);
|
|
1075
|
+
assertOptionalFlagDefaultField(`registerFlags flags[${index}].default`, record.default);
|
|
1076
|
+
if (Array.isArray(record.default) && record.list !== true) {
|
|
1077
|
+
throw new TypeError(`registerFlags flags[${index}].default cannot be an array unless list is true.`);
|
|
1078
|
+
}
|
|
1079
|
+
assertFlagValueTypeAndDefault(`registerFlags flags[${index}]`, record);
|
|
1080
|
+
}
|
|
1081
|
+
}
|
|
1082
|
+
/**
|
|
1083
|
+
* Reject a declared `value_type`/`type` that is not a known flag value kind, and
|
|
1084
|
+
* a `default` whose value(s) would not cleanly coerce under that kind — so the
|
|
1085
|
+
* typed-flag contract is enforced at registration instead of silently leaving
|
|
1086
|
+
* an untyped value to surface at use time.
|
|
1087
|
+
*/
|
|
1088
|
+
function assertFlagValueTypeAndDefault(label, record) {
|
|
1089
|
+
const declaredType = (typeof record.value_type === "string" ? record.value_type : undefined) ??
|
|
1090
|
+
(typeof record.type === "string" ? record.type : undefined);
|
|
1091
|
+
if (declaredType === undefined) {
|
|
1092
|
+
return;
|
|
1093
|
+
}
|
|
1094
|
+
const kind = resolveFlagValueKind(declaredType);
|
|
1095
|
+
if (kind === null) {
|
|
1096
|
+
throw new TypeError(`${label} value_type "${declaredType}" is not a known flag value type (expected one of: string, number, boolean).`);
|
|
1097
|
+
}
|
|
1098
|
+
if (record.default === undefined) {
|
|
1099
|
+
return;
|
|
1100
|
+
}
|
|
1101
|
+
// For list flags, validate the default exactly as the runtime will see it —
|
|
1102
|
+
// comma-joined strings and nested arrays are flattened first — so a valid
|
|
1103
|
+
// default like `value_type: "number", default: "10,20"` is not wrongly rejected.
|
|
1104
|
+
const defaults = record.list === true ? flattenFlagListValue(record.default) : [record.default];
|
|
1105
|
+
for (const [defaultIndex, defaultValue] of defaults.entries()) {
|
|
1106
|
+
if (!isFlagDefaultValueCoercible(defaultValue, kind)) {
|
|
1107
|
+
const suffix = defaults.length > 1 ? `default[${defaultIndex}]` : "default";
|
|
1108
|
+
throw new TypeError(`${label}.${suffix} (${JSON.stringify(defaultValue)}) is not coercible to ${kind}.`);
|
|
1109
|
+
}
|
|
995
1110
|
}
|
|
996
1111
|
}
|
|
997
1112
|
function validateItemFieldDefinitions(fields) {
|
|
@@ -1001,7 +1116,13 @@ function validateItemFieldDefinitions(fields) {
|
|
|
1001
1116
|
for (const [index, raw] of fields.entries()) {
|
|
1002
1117
|
const record = asRegistrationRecord(`registerItemFields fields[${index}]`, raw);
|
|
1003
1118
|
assertNonEmptyString(`registerItemFields fields[${index}].name`, record.name);
|
|
1004
|
-
assertNonEmptyString(`registerItemFields fields[${index}].type`, record.type);
|
|
1119
|
+
const fieldType = assertNonEmptyString(`registerItemFields fields[${index}].type`, record.type);
|
|
1120
|
+
if (normalizeItemFieldType(fieldType) === null) {
|
|
1121
|
+
const suggestion = suggestKnownItemFieldType(fieldType);
|
|
1122
|
+
const hint = suggestion ? ` Did you mean "${suggestion}"?` : "";
|
|
1123
|
+
throw new TypeError(`registerItemFields fields[${index}].type "${fieldType}" is not a known field type ` +
|
|
1124
|
+
`(expected one of: ${KNOWN_ITEM_FIELD_TYPES.join(", ")}).${hint}`);
|
|
1125
|
+
}
|
|
1005
1126
|
assertOptionalBooleanField(`registerItemFields fields[${index}].optional`, record.optional);
|
|
1006
1127
|
}
|
|
1007
1128
|
}
|
|
@@ -1102,6 +1223,15 @@ function assertExtensionCapability(extension, capability, method) {
|
|
|
1102
1223
|
}
|
|
1103
1224
|
}
|
|
1104
1225
|
function createExtensionApi(extension, hooks, commands, parsers, preflight, services, renderers, registrations, activationWarnings, policy) {
|
|
1226
|
+
const selfIdentity = Object.freeze({
|
|
1227
|
+
name: extension.name,
|
|
1228
|
+
layer: extension.layer,
|
|
1229
|
+
version: extension.version,
|
|
1230
|
+
capabilities: Object.freeze((extension.capabilities ?? []).filter((capability) => KNOWN_EXTENSION_CAPABILITIES.includes(capability))),
|
|
1231
|
+
pm_min_version: extension.pm_min_version,
|
|
1232
|
+
pm_max_version: extension.pm_max_version,
|
|
1233
|
+
source_package: extension.source_package,
|
|
1234
|
+
});
|
|
1105
1235
|
const extensionRef = {
|
|
1106
1236
|
layer: extension.layer,
|
|
1107
1237
|
name: extension.name,
|
|
@@ -1552,6 +1682,7 @@ function createExtensionApi(extension, hooks, commands, parsers, preflight, serv
|
|
|
1552
1682
|
});
|
|
1553
1683
|
};
|
|
1554
1684
|
return {
|
|
1685
|
+
extension: selfIdentity,
|
|
1555
1686
|
registerCommand,
|
|
1556
1687
|
registerParser,
|
|
1557
1688
|
registerPreflight,
|
|
@@ -1769,4 +1900,4 @@ export async function activateExtensions(loadResult) {
|
|
|
1769
1900
|
};
|
|
1770
1901
|
}
|
|
1771
1902
|
//# sourceMappingURL=loader.js.map
|
|
1772
|
-
//# debugId=
|
|
1903
|
+
//# debugId=e5c4c469-142a-5854-82ca-a920130d2104
|