@unbrained/pm-cli 2026.7.7 → 2026.7.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 +25 -0
- package/README.md +1 -0
- package/dist/cli/commands/close.js +5 -2
- package/dist/cli/commands/close.js.map +1 -1
- package/dist/cli/commands/completion.js +16 -2
- package/dist/cli/commands/completion.js.map +1 -1
- package/dist/cli/commands/context.d.ts +1 -0
- package/dist/cli/commands/context.js +4 -4
- package/dist/cli/commands/context.js.map +1 -1
- package/dist/cli/commands/contracts.d.ts +11 -0
- package/dist/cli/commands/contracts.js +112 -15
- package/dist/cli/commands/contracts.js.map +1 -1
- package/dist/cli/commands/create.js +4 -2
- package/dist/cli/commands/create.js.map +1 -1
- package/dist/cli/commands/extension.d.ts +23 -19
- package/dist/cli/commands/extension.js +167 -57
- package/dist/cli/commands/extension.js.map +1 -1
- package/dist/cli/commands/list.d.ts +4 -0
- package/dist/cli/commands/list.js +32 -3
- package/dist/cli/commands/list.js.map +1 -1
- package/dist/cli/commands/search.js +3 -3
- package/dist/cli/commands/search.js.map +1 -1
- package/dist/cli/commands/update.d.ts +32 -1
- package/dist/cli/commands/update.js +19 -2
- package/dist/cli/commands/update.js.map +1 -1
- package/dist/cli/help-content.js +28 -2
- package/dist/cli/help-content.js.map +1 -1
- package/dist/cli/register-list-query.js +5 -2
- package/dist/cli/register-list-query.js.map +1 -1
- package/dist/cli/register-operations.js +4 -2
- package/dist/cli/register-operations.js.map +1 -1
- package/dist/cli/register-setup.js +8 -2
- package/dist/cli/register-setup.js.map +1 -1
- package/dist/cli/registration-helpers.js +4 -2
- package/dist/cli/registration-helpers.js.map +1 -1
- package/dist/cli-bundle/chunks/append-CDPAYYSB.js +11 -0
- package/dist/cli-bundle/chunks/{append-PVCTBVJG.js → append-RSPHC423.js} +5 -5
- package/dist/cli-bundle/chunks/{chunk-6G6O3OPQ.js → chunk-26MFLA7K.js} +7 -7
- package/dist/cli-bundle/chunks/{chunk-LCFJ7XAM.js → chunk-2BVD4ZD2.js} +267 -232
- package/dist/cli-bundle/chunks/chunk-2BVD4ZD2.js.map +7 -0
- package/dist/cli-bundle/chunks/{chunk-7ML7JONU.js → chunk-2FKIIQMJ.js} +14 -14
- package/dist/cli-bundle/chunks/chunk-2FKIIQMJ.js.map +1 -0
- package/dist/cli-bundle/chunks/{chunk-H2SMKL2N.js → chunk-3FUXM574.js} +4 -4
- package/dist/cli-bundle/chunks/{chunk-DR2V5OIV.js → chunk-3SHDAKMF.js} +3 -3
- package/dist/cli-bundle/chunks/{chunk-MRFWUSVA.js → chunk-3UXIMY62.js} +3 -3
- package/dist/cli-bundle/chunks/{chunk-WCWVEXGA.js → chunk-3V5C7PUH.js} +2 -2
- package/dist/cli-bundle/chunks/{chunk-43YSKY75.js → chunk-3YJDIJIE.js} +3 -3
- package/dist/cli-bundle/chunks/{chunk-HX6QXV5P.js → chunk-4I7KS5ES.js} +2 -2
- package/dist/cli-bundle/chunks/{chunk-XHCVAZGM.js → chunk-4OCWJ2AP.js} +7 -7
- package/dist/cli-bundle/chunks/{chunk-C5ACVMOI.js → chunk-5RJ4LFD3.js} +34 -7
- package/dist/cli-bundle/chunks/chunk-5RJ4LFD3.js.map +7 -0
- package/dist/cli-bundle/chunks/{chunk-3TYOW6RR.js → chunk-5STY7NVM.js} +4 -4
- package/dist/cli-bundle/chunks/{chunk-7VQ3JJN5.js → chunk-5VAZHYVQ.js} +2 -2
- package/dist/cli-bundle/chunks/{chunk-4IQKDKGE.js → chunk-5ZMZF53A.js} +7 -7
- package/dist/cli-bundle/chunks/{chunk-6LCJRGPD.js → chunk-63PZJCKO.js} +10 -7
- package/dist/cli-bundle/chunks/chunk-63PZJCKO.js.map +1 -0
- package/dist/cli-bundle/chunks/{chunk-MCEUKJKW.js → chunk-6FU5BVRB.js} +4 -4
- package/dist/cli-bundle/chunks/{chunk-AJUON7E6.js → chunk-6RR4XM5H.js} +3 -3
- package/dist/cli-bundle/chunks/{chunk-TEISGNSH.js → chunk-6TD5QGIB.js} +4 -4
- package/dist/cli-bundle/chunks/{chunk-565WYS5W.js → chunk-6WCXSC5V.js} +5 -5
- package/dist/cli-bundle/chunks/{chunk-NWWL22C7.js → chunk-6ZKDMEVT.js} +3 -3
- package/dist/cli-bundle/chunks/{chunk-VLEA2UTQ.js → chunk-7QKSLAHB.js} +2 -2
- package/dist/cli-bundle/chunks/{chunk-S6VC2A2K.js → chunk-7TBUV7XS.js} +4 -4
- package/dist/cli-bundle/chunks/{chunk-YPMZMKN7.js → chunk-7UCBLJDF.js} +2 -2
- package/dist/cli-bundle/chunks/{chunk-4MZOKTI2.js → chunk-AEOFBBWO.js} +3 -3
- package/dist/cli-bundle/chunks/{chunk-QFBSP3NI.js → chunk-ASSVI7FP.js} +12 -10
- package/dist/cli-bundle/chunks/{chunk-QFBSP3NI.js.map → chunk-ASSVI7FP.js.map} +1 -1
- package/dist/cli-bundle/chunks/{chunk-ZO7CLOY2.js → chunk-BFNFTHWQ.js} +3 -3
- package/dist/cli-bundle/chunks/{chunk-YNCFP5AR.js → chunk-BPJ5NYSJ.js} +2 -2
- package/dist/cli-bundle/chunks/{chunk-J2VGADNG.js → chunk-BPYVKTZE.js} +122 -27
- package/dist/cli-bundle/chunks/chunk-BPYVKTZE.js.map +1 -0
- package/dist/cli-bundle/chunks/{chunk-P3MJJW7P.js → chunk-C3YU3TXX.js} +2 -2
- package/dist/cli-bundle/chunks/{chunk-SY75LYXR.js → chunk-C6XSTACC.js} +3 -3
- package/dist/cli-bundle/chunks/{chunk-S547WBYG.js → chunk-CEX2DQXZ.js} +600 -96
- package/dist/cli-bundle/chunks/chunk-CEX2DQXZ.js.map +7 -0
- package/dist/cli-bundle/chunks/{chunk-2TILG6F2.js → chunk-CGDUIPJL.js} +3 -3
- package/dist/cli-bundle/chunks/{chunk-LZQU6XJG.js → chunk-CHSXGTWF.js} +23 -9
- package/dist/cli-bundle/chunks/{chunk-LZQU6XJG.js.map → chunk-CHSXGTWF.js.map} +2 -2
- package/dist/cli-bundle/chunks/{chunk-J7BOLHAV.js → chunk-CXH7EMSB.js} +3 -3
- package/dist/cli-bundle/chunks/{chunk-W5HXHC7C.js → chunk-D6J5673C.js} +4 -4
- package/dist/cli-bundle/chunks/{chunk-XZWL7VNE.js → chunk-DBV5A7FT.js} +9 -7
- package/dist/cli-bundle/chunks/chunk-DBV5A7FT.js.map +1 -0
- package/dist/cli-bundle/chunks/{chunk-ARKHKYYS.js → chunk-DQLP22K2.js} +7 -7
- package/dist/cli-bundle/chunks/{chunk-YPD7SQ5P.js → chunk-EEJKHF7M.js} +5 -5
- package/dist/cli-bundle/chunks/{chunk-EDO7VXSO.js → chunk-EP2CKDS7.js} +2 -2
- package/dist/cli-bundle/chunks/{chunk-SIM5JDON.js → chunk-F5DDGY6R.js} +3 -3
- package/dist/cli-bundle/chunks/{chunk-I74FMIWA.js → chunk-FFB3WITE.js} +3 -3
- package/dist/cli-bundle/chunks/{chunk-43UQN754.js → chunk-FJR2S7S4.js} +7 -7
- package/dist/cli-bundle/chunks/{chunk-CJQM7O7R.js → chunk-FOJEBRDD.js} +5 -5
- package/dist/cli-bundle/chunks/{chunk-E3YQFSFE.js → chunk-GLMJLBLR.js} +3 -3
- package/dist/cli-bundle/chunks/{chunk-KTGJ2CBU.js → chunk-GO2X6ZRB.js} +3 -3
- package/dist/cli-bundle/chunks/{chunk-DDDWVPID.js → chunk-GSQVQINP.js} +4 -4
- package/dist/cli-bundle/chunks/{chunk-EVEPHNXJ.js → chunk-GZ365M6E.js} +4 -4
- package/dist/cli-bundle/chunks/{chunk-VGO73OCK.js → chunk-HZZ3AC27.js} +3 -3
- package/dist/cli-bundle/chunks/{chunk-7Y5N34HX.js → chunk-IINCZYM3.js} +3 -3
- package/dist/cli-bundle/chunks/{chunk-GLS6VMWI.js → chunk-INOWVPUD.js} +5 -5
- package/dist/cli-bundle/chunks/{chunk-PDXJXEZJ.js → chunk-J6AD3GWC.js} +2 -2
- package/dist/cli-bundle/chunks/{chunk-52NS7JDP.js → chunk-JH5XDDYS.js} +5 -5
- package/dist/cli-bundle/chunks/{chunk-GPIDUMMN.js → chunk-JYVPLGOW.js} +4 -4
- package/dist/cli-bundle/chunks/{chunk-XC3X7BQR.js → chunk-K2OKKYSO.js} +11 -9
- package/dist/cli-bundle/chunks/{chunk-XC3X7BQR.js.map → chunk-K2OKKYSO.js.map} +2 -2
- package/dist/cli-bundle/chunks/{chunk-YCVWWIKY.js → chunk-K4NMHZR3.js} +111 -24
- package/dist/cli-bundle/chunks/chunk-K4NMHZR3.js.map +7 -0
- package/dist/cli-bundle/chunks/{chunk-EIUBK2LT.js → chunk-K52C6YPA.js} +5 -5
- package/dist/cli-bundle/chunks/{chunk-IDIBF4E2.js → chunk-KAJNWMBE.js} +8 -8
- package/dist/cli-bundle/chunks/{chunk-2LEJGRQ7.js → chunk-KFL3XHMA.js} +2 -2
- package/dist/cli-bundle/chunks/{chunk-XS2TMNXR.js → chunk-LD2NBQ5T.js} +3 -3
- package/dist/cli-bundle/chunks/{chunk-II7R6KD4.js → chunk-LG4N6YOK.js} +5 -5
- package/dist/cli-bundle/chunks/{chunk-M62RO3XK.js → chunk-LHDHS4Z6.js} +5 -5
- package/dist/cli-bundle/chunks/{chunk-YTD5GICJ.js → chunk-MBLHA6LR.js} +4 -4
- package/dist/cli-bundle/chunks/{chunk-F6MT7KKE.js → chunk-MCH6IKK7.js} +3 -3
- package/dist/cli-bundle/chunks/{chunk-7PNQA24K.js → chunk-MCZK7LY6.js} +24 -10
- package/dist/cli-bundle/chunks/{chunk-7PNQA24K.js.map → chunk-MCZK7LY6.js.map} +1 -1
- package/dist/cli-bundle/chunks/{chunk-UO7XAZK6.js → chunk-MFLLULHU.js} +267 -232
- package/dist/cli-bundle/chunks/chunk-MFLLULHU.js.map +1 -0
- package/dist/cli-bundle/chunks/{chunk-FILL6BB2.js → chunk-N4S7BV43.js} +14 -14
- package/dist/cli-bundle/chunks/chunk-N4S7BV43.js.map +7 -0
- package/dist/cli-bundle/chunks/{chunk-2APXX4TZ.js → chunk-NBJCIAVV.js} +108 -21
- package/dist/cli-bundle/chunks/chunk-NBJCIAVV.js.map +1 -0
- package/dist/cli-bundle/chunks/{chunk-Y7KYVCZM.js → chunk-NGBWEYNY.js} +5 -5
- package/dist/cli-bundle/chunks/{chunk-RB3KLPAH.js → chunk-NRMDT4OV.js} +4 -4
- package/dist/cli-bundle/chunks/{chunk-TZLYO4PP.js → chunk-NRYZ4QLH.js} +121 -26
- package/dist/cli-bundle/chunks/chunk-NRYZ4QLH.js.map +7 -0
- package/dist/cli-bundle/chunks/{chunk-F6YC2A6X.js → chunk-NSPSJWGL.js} +9 -6
- package/dist/cli-bundle/chunks/chunk-NSPSJWGL.js.map +7 -0
- package/dist/cli-bundle/chunks/{chunk-GH73UOSJ.js → chunk-NTOOEVJ4.js} +2 -2
- package/dist/cli-bundle/chunks/{chunk-6XTSYPPO.js → chunk-ONADVBMD.js} +8 -6
- package/dist/cli-bundle/chunks/chunk-ONADVBMD.js.map +7 -0
- package/dist/cli-bundle/chunks/{chunk-Y5IKRUEM.js → chunk-P5SUMCU5.js} +167 -65
- package/dist/cli-bundle/chunks/chunk-P5SUMCU5.js.map +1 -0
- package/dist/cli-bundle/chunks/{chunk-EMXPI36L.js → chunk-PAWPLIWW.js} +5 -5
- package/dist/cli-bundle/chunks/{chunk-AGAVEDIE.js → chunk-PCBZ2VJD.js} +4 -4
- package/dist/cli-bundle/chunks/{chunk-MHNMCDWR.js → chunk-PPY3GXFK.js} +600 -96
- package/dist/cli-bundle/chunks/chunk-PPY3GXFK.js.map +1 -0
- package/dist/cli-bundle/chunks/{chunk-3X542TEY.js → chunk-Q3CFSOQZ.js} +4 -4
- package/dist/cli-bundle/chunks/{chunk-4BKDAEDF.js → chunk-QJZM5WO5.js} +3 -3
- package/dist/cli-bundle/chunks/{chunk-HHEWQXPD.js → chunk-QLEH6FTQ.js} +4 -4
- package/dist/cli-bundle/chunks/{chunk-D2DCTFTL.js → chunk-QYZMZD4L.js} +4 -4
- package/dist/cli-bundle/chunks/{chunk-6UQCNWFV.js → chunk-RFHLRMLQ.js} +3 -3
- package/dist/cli-bundle/chunks/{chunk-Q64AYQYW.js → chunk-RL24NAUX.js} +4 -4
- package/dist/cli-bundle/chunks/{chunk-QDABF2RB.js → chunk-S7J3GEHL.js} +10 -10
- package/dist/cli-bundle/chunks/{chunk-5FIQ4EX3.js → chunk-SCJPFQQT.js} +3 -3
- package/dist/cli-bundle/chunks/{chunk-42LXP4VO.js → chunk-SIQGG335.js} +7 -7
- package/dist/cli-bundle/chunks/{chunk-RY7PTTUB.js → chunk-TI7QSUFK.js} +35 -8
- package/dist/cli-bundle/chunks/chunk-TI7QSUFK.js.map +1 -0
- package/dist/cli-bundle/chunks/{chunk-43SIHQND.js → chunk-TKWTJGD6.js} +5 -5
- package/dist/cli-bundle/chunks/{chunk-EOUVR7JN.js → chunk-U72GF3I2.js} +3 -3
- package/dist/cli-bundle/chunks/{chunk-FN6SB4HU.js → chunk-UEATYUZW.js} +2 -2
- package/dist/cli-bundle/chunks/{chunk-V5ZWKJNY.js → chunk-UFNFHCAC.js} +2 -2
- package/dist/cli-bundle/chunks/{chunk-XBX5CBRQ.js → chunk-UH6VFRV6.js} +3 -3
- package/dist/cli-bundle/chunks/{chunk-GTM5HQL4.js → chunk-UIHDZS6X.js} +7 -7
- package/dist/cli-bundle/chunks/{chunk-TGUK6XN6.js → chunk-UURYLDDC.js} +5 -5
- package/dist/cli-bundle/chunks/{chunk-S5BNGFN5.js → chunk-VCGHRLJU.js} +10 -10
- package/dist/cli-bundle/chunks/{chunk-3G6UMXT3.js → chunk-W2VFNVSJ.js} +3 -3
- package/dist/cli-bundle/chunks/{chunk-ZNEG2UDO.js → chunk-WDNPNW22.js} +7 -7
- package/dist/cli-bundle/chunks/{chunk-DG6BSXZ7.js → chunk-WVEMZZCR.js} +3 -3
- package/dist/cli-bundle/chunks/{chunk-TNC6MZUD.js → chunk-XXN2B2MJ.js} +4 -4
- package/dist/cli-bundle/chunks/{chunk-YH5NBDFA.js → chunk-Y2736PT5.js} +8 -8
- package/dist/cli-bundle/chunks/{chunk-X47MKQXU.js → chunk-YHKXNGLA.js} +166 -64
- package/dist/cli-bundle/chunks/chunk-YHKXNGLA.js.map +7 -0
- package/dist/cli-bundle/chunks/{chunk-XXIYUTLK.js → chunk-YPE5MFPJ.js} +4 -4
- package/dist/cli-bundle/chunks/{chunk-XPMXPR7K.js → chunk-YSRXFGNV.js} +3 -3
- package/dist/cli-bundle/chunks/{chunk-N6ZHDLUY.js → chunk-YUMNZS3X.js} +3 -3
- package/dist/cli-bundle/chunks/{chunk-TEKZOS7M.js → chunk-Z2JQH2MG.js} +2 -2
- package/dist/cli-bundle/chunks/{chunk-E3LWJUGF.js → chunk-Z6RLSNUX.js} +3 -3
- package/dist/cli-bundle/chunks/close-5WY6QO5F.js +12 -0
- package/dist/cli-bundle/chunks/{close-3YYQ5OG2.js → close-TKTFRL7N.js} +5 -5
- package/dist/cli-bundle/chunks/{close-many-D366FTIG.js → close-many-HEPL66EG.js} +13 -13
- package/dist/cli-bundle/chunks/close-many-U2KLQ3NL.js +22 -0
- package/dist/cli-bundle/chunks/{comments-54XDJNFE.js → comments-PLFK5ZKK.js} +7 -7
- package/dist/cli-bundle/chunks/comments-ZNOD5PTV.js +13 -0
- package/dist/cli-bundle/chunks/copy-F7BUFY4J.js +9 -0
- package/dist/cli-bundle/chunks/{copy-44RT5GDW.js → copy-VH3L4MN2.js} +4 -4
- package/dist/cli-bundle/chunks/create-KCQM6UYM.js +25 -0
- package/dist/cli-bundle/chunks/{create-4GWJWPXG.js → create-LD4SEUD6.js} +9 -9
- package/dist/cli-bundle/chunks/delete-6KQHZYIP.js +10 -0
- package/dist/cli-bundle/chunks/{delete-YQ2VPXNF.js → delete-ZNXUNCZR.js} +4 -4
- package/dist/cli-bundle/chunks/{deps-FMANWFRP.js → deps-CVDY7FFK.js} +4 -4
- package/dist/cli-bundle/chunks/{deps-BU5EBJDU.js → deps-SZXQHV73.js} +4 -4
- package/dist/cli-bundle/chunks/{docs-OQBSJNIA.js → docs-DR74ITCD.js} +6 -6
- package/dist/cli-bundle/chunks/docs-WCVYY6I7.js +14 -0
- package/dist/cli-bundle/chunks/{files-72HZEBOE.js → files-H5YCA74Z.js} +6 -6
- package/dist/cli-bundle/chunks/{files-HTSB2KJG.js → files-QEFQ2M3H.js} +6 -6
- package/dist/cli-bundle/chunks/{focus-FOG4ALC2.js → focus-55TRYSNA.js} +5 -5
- package/dist/cli-bundle/chunks/focus-N2QGNS5D.js +10 -0
- package/dist/cli-bundle/chunks/history-compact-GWQ4UOEI.js +21 -0
- package/dist/cli-bundle/chunks/{history-compact-M6IFAMBP.js → history-compact-JJZ4EFL3.js} +9 -9
- package/dist/cli-bundle/chunks/history-redact-4GJOLXCM.js +17 -0
- package/dist/cli-bundle/chunks/{history-redact-NQX3OGZP.js → history-redact-TPPUT3A5.js} +7 -7
- package/dist/cli-bundle/chunks/history-repair-HVCVCGUF.js +19 -0
- package/dist/cli-bundle/chunks/{history-repair-NHOJG7WO.js → history-repair-J7PIZ6ZP.js} +9 -9
- package/dist/cli-bundle/chunks/{learnings-T63JGKKN.js → learnings-KB6BT4NR.js} +7 -7
- package/dist/cli-bundle/chunks/learnings-YYY3U2Y7.js +13 -0
- package/dist/cli-bundle/chunks/notes-BGG7VL72.js +13 -0
- package/dist/cli-bundle/chunks/{notes-U7L6HQQ2.js → notes-ZTHXVOKM.js} +7 -7
- package/dist/cli-bundle/chunks/plan-B42KBMX7.js +24 -0
- package/dist/cli-bundle/chunks/{plan-TN537L24.js → plan-LUR7C24X.js} +10 -10
- package/dist/cli-bundle/chunks/{profile-TIGLAKJ7.js → profile-5F75MO5O.js} +9 -9
- package/dist/cli-bundle/chunks/{profile-MHAMXMHQ.js → profile-JRDMDGT5.js} +9 -9
- package/dist/cli-bundle/chunks/{register-list-query-ZCRABAPN.js → register-list-query-GZYRZLQZ.js} +17 -16
- package/dist/cli-bundle/chunks/register-list-query-GZYRZLQZ.js.map +1 -0
- package/dist/cli-bundle/chunks/{register-list-query-OHXD7G5N.js → register-list-query-W2W7RQJJ.js} +16 -15
- package/dist/cli-bundle/chunks/register-list-query-W2W7RQJJ.js.map +7 -0
- package/dist/cli-bundle/chunks/{register-mutation-XX4H56PE.js → register-mutation-5UDT3WL3.js} +29 -29
- package/dist/cli-bundle/chunks/{register-mutation-P3G4XP6Q.js → register-mutation-7DMOYDPC.js} +29 -29
- package/dist/cli-bundle/chunks/{register-operations-V6VKTG54.js → register-operations-NW43IUPE.js} +29 -28
- package/dist/cli-bundle/chunks/register-operations-NW43IUPE.js.map +7 -0
- package/dist/cli-bundle/chunks/{register-operations-V6PIYEDU.js → register-operations-Y4E32W4D.js} +30 -29
- package/dist/cli-bundle/chunks/register-operations-Y4E32W4D.js.map +1 -0
- package/dist/cli-bundle/chunks/{register-setup-6YVUSQYD.js → register-setup-3GVJ7XPE.js} +21 -19
- package/dist/cli-bundle/chunks/register-setup-3GVJ7XPE.js.map +1 -0
- package/dist/cli-bundle/chunks/{register-setup-6RVAWT6W.js → register-setup-MPTTS52V.js} +20 -18
- package/dist/cli-bundle/chunks/register-setup-MPTTS52V.js.map +7 -0
- package/dist/cli-bundle/chunks/{restore-HC3YSWF7.js → restore-BTBEZ5CK.js} +7 -7
- package/dist/cli-bundle/chunks/restore-EX4UUZL6.js +15 -0
- package/dist/cli-bundle/chunks/{schema-DAGSYO6E.js → schema-DGSTYYQB.js} +6 -6
- package/dist/cli-bundle/chunks/{schema-UBXJCQAC.js → schema-HAIBEE24.js} +6 -6
- package/dist/cli-bundle/chunks/update-76CRUMC7.js +21 -0
- package/dist/cli-bundle/chunks/{update-LKD64AFP.js → update-ZMYVXM77.js} +12 -12
- package/dist/cli-bundle/chunks/update-many-QYQRGNPU.js +31 -0
- package/dist/cli-bundle/chunks/update-many-U4CEQWI4.js +35 -0
- package/dist/cli-bundle/main.js +39 -13
- package/dist/cli-bundle/main.js.map +2 -2
- package/dist/cli-bundle/sdk-runtime.js +149 -53
- package/dist/cli-bundle/sdk-testing.js +6 -6
- package/dist/cli-bundle/sdk.js +153 -57
- package/dist/cli-bundle/sdk.js.map +3 -3
- package/dist/core/extensions/extension-types.d.ts +1 -0
- package/dist/core/extensions/extension-types.js +2 -2
- package/dist/core/extensions/extension-types.js.map +1 -1
- package/dist/core/extensions/loader.js +268 -231
- package/dist/core/extensions/loader.js.map +1 -1
- package/dist/sdk/cli-contracts/commander-types.js +3 -3
- package/dist/sdk/cli-contracts/commander-types.js.map +1 -1
- package/dist/sdk/cli-contracts/flag-contracts.js +10 -3
- package/dist/sdk/cli-contracts/flag-contracts.js.map +1 -1
- package/dist/sdk/cli-contracts/tool-option-contracts.js +10 -5
- package/dist/sdk/cli-contracts/tool-option-contracts.js.map +1 -1
- package/dist/sdk/cli-contracts/tool-parameter-tables.js +20 -4
- package/dist/sdk/cli-contracts/tool-parameter-tables.js.map +1 -1
- package/dist/sdk/cli-contracts/tool-schema.d.ts +4 -0
- package/dist/sdk/cli-contracts/tool-schema.js +71 -12
- package/dist/sdk/cli-contracts/tool-schema.js.map +1 -1
- package/dist/sdk/index.d.ts +1 -1
- package/dist/sdk/index.js +3 -3
- package/dist/sdk/index.js.map +1 -1
- package/dist/sdk/runtime.d.ts +471 -25
- package/dist/sdk/runtime.js +611 -25
- package/dist/sdk/runtime.js.map +1 -1
- package/docs/AGENT_GUIDE.md +3 -0
- package/docs/COMMANDS.md +10 -1
- package/docs/EXTENSIONS.md +7 -20
- package/docs/RELEASING.md +6 -0
- package/docs/SDK.md +67 -0
- package/package.json +2 -1
- package/dist/cli-bundle/chunks/append-F7WPGIQL.js +0 -11
- package/dist/cli-bundle/chunks/chunk-2APXX4TZ.js.map +0 -1
- package/dist/cli-bundle/chunks/chunk-6LCJRGPD.js.map +0 -1
- package/dist/cli-bundle/chunks/chunk-6XTSYPPO.js.map +0 -7
- package/dist/cli-bundle/chunks/chunk-7ML7JONU.js.map +0 -1
- package/dist/cli-bundle/chunks/chunk-C5ACVMOI.js.map +0 -7
- package/dist/cli-bundle/chunks/chunk-F6YC2A6X.js.map +0 -7
- package/dist/cli-bundle/chunks/chunk-FILL6BB2.js.map +0 -7
- package/dist/cli-bundle/chunks/chunk-J2VGADNG.js.map +0 -1
- package/dist/cli-bundle/chunks/chunk-LCFJ7XAM.js.map +0 -7
- package/dist/cli-bundle/chunks/chunk-MHNMCDWR.js.map +0 -1
- package/dist/cli-bundle/chunks/chunk-RY7PTTUB.js.map +0 -1
- package/dist/cli-bundle/chunks/chunk-S547WBYG.js.map +0 -7
- package/dist/cli-bundle/chunks/chunk-TZLYO4PP.js.map +0 -7
- package/dist/cli-bundle/chunks/chunk-UO7XAZK6.js.map +0 -1
- package/dist/cli-bundle/chunks/chunk-X47MKQXU.js.map +0 -7
- package/dist/cli-bundle/chunks/chunk-XZWL7VNE.js.map +0 -1
- package/dist/cli-bundle/chunks/chunk-Y5IKRUEM.js.map +0 -1
- package/dist/cli-bundle/chunks/chunk-YCVWWIKY.js.map +0 -7
- package/dist/cli-bundle/chunks/close-Z3Q4U7TS.js +0 -12
- package/dist/cli-bundle/chunks/close-many-3L2RXH3M.js +0 -22
- package/dist/cli-bundle/chunks/comments-HGHC2PN6.js +0 -13
- package/dist/cli-bundle/chunks/copy-UGMUGHZA.js +0 -9
- package/dist/cli-bundle/chunks/create-AZXCUYKP.js +0 -25
- package/dist/cli-bundle/chunks/delete-Y6SXIQ4X.js +0 -10
- package/dist/cli-bundle/chunks/docs-VNPBZXEL.js +0 -14
- package/dist/cli-bundle/chunks/focus-SUTMKXGX.js +0 -10
- package/dist/cli-bundle/chunks/history-compact-NEXRPP2O.js +0 -21
- package/dist/cli-bundle/chunks/history-redact-WQJBZ3PX.js +0 -17
- package/dist/cli-bundle/chunks/history-repair-CBHMHAJO.js +0 -19
- package/dist/cli-bundle/chunks/learnings-M64NTSOR.js +0 -13
- package/dist/cli-bundle/chunks/notes-73WE2UV2.js +0 -13
- package/dist/cli-bundle/chunks/plan-OSCNYFGC.js +0 -24
- package/dist/cli-bundle/chunks/register-list-query-OHXD7G5N.js.map +0 -7
- package/dist/cli-bundle/chunks/register-list-query-ZCRABAPN.js.map +0 -1
- package/dist/cli-bundle/chunks/register-operations-V6PIYEDU.js.map +0 -1
- package/dist/cli-bundle/chunks/register-operations-V6VKTG54.js.map +0 -7
- package/dist/cli-bundle/chunks/register-setup-6RVAWT6W.js.map +0 -7
- package/dist/cli-bundle/chunks/register-setup-6YVUSQYD.js.map +0 -1
- package/dist/cli-bundle/chunks/restore-LFAMMRYZ.js +0 -15
- package/dist/cli-bundle/chunks/update-CJGG5WMV.js +0 -21
- package/dist/cli-bundle/chunks/update-many-G4SM7BHC.js +0 -31
- package/dist/cli-bundle/chunks/update-many-VLIV3D7R.js +0 -35
- /package/dist/cli-bundle/chunks/{append-F7WPGIQL.js.map → append-CDPAYYSB.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{append-PVCTBVJG.js.map → append-RSPHC423.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-6G6O3OPQ.js.map → chunk-26MFLA7K.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-H2SMKL2N.js.map → chunk-3FUXM574.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-DR2V5OIV.js.map → chunk-3SHDAKMF.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-MRFWUSVA.js.map → chunk-3UXIMY62.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-WCWVEXGA.js.map → chunk-3V5C7PUH.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-43YSKY75.js.map → chunk-3YJDIJIE.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-HX6QXV5P.js.map → chunk-4I7KS5ES.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-XHCVAZGM.js.map → chunk-4OCWJ2AP.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-3TYOW6RR.js.map → chunk-5STY7NVM.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-7VQ3JJN5.js.map → chunk-5VAZHYVQ.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-4IQKDKGE.js.map → chunk-5ZMZF53A.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-MCEUKJKW.js.map → chunk-6FU5BVRB.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-AJUON7E6.js.map → chunk-6RR4XM5H.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-TEISGNSH.js.map → chunk-6TD5QGIB.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-565WYS5W.js.map → chunk-6WCXSC5V.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-NWWL22C7.js.map → chunk-6ZKDMEVT.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-VLEA2UTQ.js.map → chunk-7QKSLAHB.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-S6VC2A2K.js.map → chunk-7TBUV7XS.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-YPMZMKN7.js.map → chunk-7UCBLJDF.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-4MZOKTI2.js.map → chunk-AEOFBBWO.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-ZO7CLOY2.js.map → chunk-BFNFTHWQ.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-YNCFP5AR.js.map → chunk-BPJ5NYSJ.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-P3MJJW7P.js.map → chunk-C3YU3TXX.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-SY75LYXR.js.map → chunk-C6XSTACC.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-2TILG6F2.js.map → chunk-CGDUIPJL.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-J7BOLHAV.js.map → chunk-CXH7EMSB.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-W5HXHC7C.js.map → chunk-D6J5673C.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-ARKHKYYS.js.map → chunk-DQLP22K2.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-YPD7SQ5P.js.map → chunk-EEJKHF7M.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-EDO7VXSO.js.map → chunk-EP2CKDS7.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-SIM5JDON.js.map → chunk-F5DDGY6R.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-I74FMIWA.js.map → chunk-FFB3WITE.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-43UQN754.js.map → chunk-FJR2S7S4.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-CJQM7O7R.js.map → chunk-FOJEBRDD.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-E3YQFSFE.js.map → chunk-GLMJLBLR.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-KTGJ2CBU.js.map → chunk-GO2X6ZRB.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-DDDWVPID.js.map → chunk-GSQVQINP.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-EVEPHNXJ.js.map → chunk-GZ365M6E.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-VGO73OCK.js.map → chunk-HZZ3AC27.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-7Y5N34HX.js.map → chunk-IINCZYM3.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-GLS6VMWI.js.map → chunk-INOWVPUD.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-PDXJXEZJ.js.map → chunk-J6AD3GWC.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-52NS7JDP.js.map → chunk-JH5XDDYS.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-GPIDUMMN.js.map → chunk-JYVPLGOW.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-EIUBK2LT.js.map → chunk-K52C6YPA.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-IDIBF4E2.js.map → chunk-KAJNWMBE.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-2LEJGRQ7.js.map → chunk-KFL3XHMA.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-XS2TMNXR.js.map → chunk-LD2NBQ5T.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-II7R6KD4.js.map → chunk-LG4N6YOK.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-M62RO3XK.js.map → chunk-LHDHS4Z6.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-YTD5GICJ.js.map → chunk-MBLHA6LR.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-F6MT7KKE.js.map → chunk-MCH6IKK7.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-Y7KYVCZM.js.map → chunk-NGBWEYNY.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-RB3KLPAH.js.map → chunk-NRMDT4OV.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-GH73UOSJ.js.map → chunk-NTOOEVJ4.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-EMXPI36L.js.map → chunk-PAWPLIWW.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-AGAVEDIE.js.map → chunk-PCBZ2VJD.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-3X542TEY.js.map → chunk-Q3CFSOQZ.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-4BKDAEDF.js.map → chunk-QJZM5WO5.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-HHEWQXPD.js.map → chunk-QLEH6FTQ.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-D2DCTFTL.js.map → chunk-QYZMZD4L.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-6UQCNWFV.js.map → chunk-RFHLRMLQ.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-Q64AYQYW.js.map → chunk-RL24NAUX.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-QDABF2RB.js.map → chunk-S7J3GEHL.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-5FIQ4EX3.js.map → chunk-SCJPFQQT.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-42LXP4VO.js.map → chunk-SIQGG335.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-43SIHQND.js.map → chunk-TKWTJGD6.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-EOUVR7JN.js.map → chunk-U72GF3I2.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-FN6SB4HU.js.map → chunk-UEATYUZW.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-V5ZWKJNY.js.map → chunk-UFNFHCAC.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-XBX5CBRQ.js.map → chunk-UH6VFRV6.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-GTM5HQL4.js.map → chunk-UIHDZS6X.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-TGUK6XN6.js.map → chunk-UURYLDDC.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-S5BNGFN5.js.map → chunk-VCGHRLJU.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-3G6UMXT3.js.map → chunk-W2VFNVSJ.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-ZNEG2UDO.js.map → chunk-WDNPNW22.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-DG6BSXZ7.js.map → chunk-WVEMZZCR.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-TNC6MZUD.js.map → chunk-XXN2B2MJ.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-YH5NBDFA.js.map → chunk-Y2736PT5.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-XXIYUTLK.js.map → chunk-YPE5MFPJ.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-XPMXPR7K.js.map → chunk-YSRXFGNV.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-N6ZHDLUY.js.map → chunk-YUMNZS3X.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-TEKZOS7M.js.map → chunk-Z2JQH2MG.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-E3LWJUGF.js.map → chunk-Z6RLSNUX.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{close-Z3Q4U7TS.js.map → close-5WY6QO5F.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{close-3YYQ5OG2.js.map → close-TKTFRL7N.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{close-many-D366FTIG.js.map → close-many-HEPL66EG.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{close-many-3L2RXH3M.js.map → close-many-U2KLQ3NL.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{comments-54XDJNFE.js.map → comments-PLFK5ZKK.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{comments-HGHC2PN6.js.map → comments-ZNOD5PTV.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{copy-UGMUGHZA.js.map → copy-F7BUFY4J.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{copy-44RT5GDW.js.map → copy-VH3L4MN2.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{create-AZXCUYKP.js.map → create-KCQM6UYM.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{create-4GWJWPXG.js.map → create-LD4SEUD6.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{delete-Y6SXIQ4X.js.map → delete-6KQHZYIP.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{delete-YQ2VPXNF.js.map → delete-ZNXUNCZR.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{deps-FMANWFRP.js.map → deps-CVDY7FFK.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{deps-BU5EBJDU.js.map → deps-SZXQHV73.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{docs-OQBSJNIA.js.map → docs-DR74ITCD.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{docs-VNPBZXEL.js.map → docs-WCVYY6I7.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{files-72HZEBOE.js.map → files-H5YCA74Z.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{files-HTSB2KJG.js.map → files-QEFQ2M3H.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{focus-FOG4ALC2.js.map → focus-55TRYSNA.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{focus-SUTMKXGX.js.map → focus-N2QGNS5D.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{history-compact-NEXRPP2O.js.map → history-compact-GWQ4UOEI.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{history-compact-M6IFAMBP.js.map → history-compact-JJZ4EFL3.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{history-redact-WQJBZ3PX.js.map → history-redact-4GJOLXCM.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{history-redact-NQX3OGZP.js.map → history-redact-TPPUT3A5.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{history-repair-CBHMHAJO.js.map → history-repair-HVCVCGUF.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{history-repair-NHOJG7WO.js.map → history-repair-J7PIZ6ZP.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{learnings-T63JGKKN.js.map → learnings-KB6BT4NR.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{learnings-M64NTSOR.js.map → learnings-YYY3U2Y7.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{notes-73WE2UV2.js.map → notes-BGG7VL72.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{notes-U7L6HQQ2.js.map → notes-ZTHXVOKM.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{plan-OSCNYFGC.js.map → plan-B42KBMX7.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{plan-TN537L24.js.map → plan-LUR7C24X.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{profile-TIGLAKJ7.js.map → profile-5F75MO5O.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{profile-MHAMXMHQ.js.map → profile-JRDMDGT5.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{register-mutation-XX4H56PE.js.map → register-mutation-5UDT3WL3.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{register-mutation-P3G4XP6Q.js.map → register-mutation-7DMOYDPC.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{restore-HC3YSWF7.js.map → restore-BTBEZ5CK.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{restore-LFAMMRYZ.js.map → restore-EX4UUZL6.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{schema-DAGSYO6E.js.map → schema-DGSTYYQB.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{schema-UBXJCQAC.js.map → schema-HAIBEE24.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{update-CJGG5WMV.js.map → update-76CRUMC7.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{update-LKD64AFP.js.map → update-ZMYVXM77.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{update-many-G4SM7BHC.js.map → update-many-QYQRGNPU.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{update-many-VLIV3D7R.js.map → update-many-U4CEQWI4.js.map} +0 -0
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
* Implements extension runtime contracts and governance for Loader.
|
|
5
5
|
*/
|
|
6
6
|
|
|
7
|
-
!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]="
|
|
7
|
+
!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]="b7735a57-30b2-58a3-9d53-6805e011fd12")}catch(e){}}();
|
|
8
8
|
import fs from "node:fs/promises";
|
|
9
9
|
import path from "node:path";
|
|
10
10
|
import { pathToFileURL } from "node:url";
|
|
@@ -448,6 +448,9 @@ async function scanExtensionLayer(layer, extensionsRoot, enabled, disabled, pmMa
|
|
|
448
448
|
}
|
|
449
449
|
return { diagnostics, warnings, candidates };
|
|
450
450
|
}
|
|
451
|
+
function emptyExtensionLayerScan() {
|
|
452
|
+
return { diagnostics: [], warnings: [], candidates: [] };
|
|
453
|
+
}
|
|
451
454
|
/**
|
|
452
455
|
* Build the `warn`-status scan result for a directory whose manifest is missing
|
|
453
456
|
* or unparseable, carrying the supplied diagnostic warning and no candidate.
|
|
@@ -579,7 +582,9 @@ export async function discoverExtensions(options) {
|
|
|
579
582
|
}
|
|
580
583
|
const enabled = new Set(configured_enabled);
|
|
581
584
|
const disabled = new Set(configured_disabled);
|
|
582
|
-
const globalScan =
|
|
585
|
+
const globalScan = options.ignoreGlobalExtensions === true
|
|
586
|
+
? emptyExtensionLayerScan()
|
|
587
|
+
: await scanExtensionLayer("global", roots.global, enabled, disabled, policy.pmMaxVersionExceededMode.global);
|
|
583
588
|
const projectScan = await scanExtensionLayer("project", roots.project, enabled, disabled, policy.pmMaxVersionExceededMode.project);
|
|
584
589
|
const policyWarnings = [...policy.warnings];
|
|
585
590
|
const effectiveCandidates = buildEffectiveExtensions(globalScan.candidates, projectScan.candidates);
|
|
@@ -1390,8 +1395,8 @@ function assertExtensionCapability(extension, capability, method) {
|
|
|
1390
1395
|
});
|
|
1391
1396
|
}
|
|
1392
1397
|
}
|
|
1393
|
-
function
|
|
1394
|
-
|
|
1398
|
+
function buildExtensionSelfIdentity(extension) {
|
|
1399
|
+
return Object.freeze({
|
|
1395
1400
|
name: extension.name,
|
|
1396
1401
|
layer: extension.layer,
|
|
1397
1402
|
version: extension.version,
|
|
@@ -1400,7 +1405,9 @@ function createExtensionApi(extension, hooks, commands, parsers, preflight, serv
|
|
|
1400
1405
|
pm_max_version: extension.pm_max_version,
|
|
1401
1406
|
source_package: extension.source_package,
|
|
1402
1407
|
});
|
|
1403
|
-
|
|
1408
|
+
}
|
|
1409
|
+
function buildPolicyExtensionRef(extension) {
|
|
1410
|
+
return {
|
|
1404
1411
|
layer: extension.layer,
|
|
1405
1412
|
name: extension.name,
|
|
1406
1413
|
trusted: extension.trusted === true,
|
|
@@ -1417,65 +1424,114 @@ function createExtensionApi(extension, hooks, commands, parsers, preflight, serv
|
|
|
1417
1424
|
}
|
|
1418
1425
|
: undefined,
|
|
1419
1426
|
};
|
|
1420
|
-
|
|
1421
|
-
|
|
1422
|
-
|
|
1427
|
+
}
|
|
1428
|
+
class ExtensionApiRegistrar {
|
|
1429
|
+
extension;
|
|
1430
|
+
hooks;
|
|
1431
|
+
#loadedExtension;
|
|
1432
|
+
#extensionRef;
|
|
1433
|
+
#hookRegistry;
|
|
1434
|
+
#commandRegistry;
|
|
1435
|
+
#parserRegistry;
|
|
1436
|
+
#preflightRegistry;
|
|
1437
|
+
#serviceRegistry;
|
|
1438
|
+
#rendererRegistry;
|
|
1439
|
+
#registrationRegistry;
|
|
1440
|
+
#activationWarnings;
|
|
1441
|
+
#policy;
|
|
1442
|
+
constructor(extension, hooks, commands, parsers, preflight, services, renderers, registrations, activationWarnings, policy) {
|
|
1443
|
+
this.#loadedExtension = extension;
|
|
1444
|
+
this.extension = buildExtensionSelfIdentity(extension);
|
|
1445
|
+
this.#extensionRef = buildPolicyExtensionRef(extension);
|
|
1446
|
+
this.#hookRegistry = hooks;
|
|
1447
|
+
this.#commandRegistry = commands;
|
|
1448
|
+
this.#parserRegistry = parsers;
|
|
1449
|
+
this.#preflightRegistry = preflight;
|
|
1450
|
+
this.#serviceRegistry = services;
|
|
1451
|
+
this.#rendererRegistry = renderers;
|
|
1452
|
+
this.#registrationRegistry = registrations;
|
|
1453
|
+
this.#activationWarnings = activationWarnings;
|
|
1454
|
+
this.#policy = policy;
|
|
1455
|
+
this.registerCommand = this.registerCommand.bind(this);
|
|
1456
|
+
this.registerParser = this.registerParser.bind(this);
|
|
1457
|
+
this.registerPreflight = this.registerPreflight.bind(this);
|
|
1458
|
+
this.registerService = this.registerService.bind(this);
|
|
1459
|
+
this.registerFlags = this.registerFlags.bind(this);
|
|
1460
|
+
this.registerItemFields = this.registerItemFields.bind(this);
|
|
1461
|
+
this.registerItemTypes = this.registerItemTypes.bind(this);
|
|
1462
|
+
this.registerMigration = this.registerMigration.bind(this);
|
|
1463
|
+
this.registerProfile = this.registerProfile.bind(this);
|
|
1464
|
+
this.registerRenderer = this.registerRenderer.bind(this);
|
|
1465
|
+
this.registerImporter = this.registerImporter.bind(this);
|
|
1466
|
+
this.registerExporter = this.registerExporter.bind(this);
|
|
1467
|
+
this.registerSearchProvider = this.registerSearchProvider.bind(this);
|
|
1468
|
+
this.registerVectorStoreAdapter = this.registerVectorStoreAdapter.bind(this);
|
|
1469
|
+
this.hooks = {
|
|
1470
|
+
beforeCommand: (hook) => this.registerBeforeCommand(hook),
|
|
1471
|
+
afterCommand: (hook) => this.registerAfterCommand(hook),
|
|
1472
|
+
onWrite: (hook) => this.registerOnWrite(hook),
|
|
1473
|
+
onRead: (hook) => this.registerOnRead(hook),
|
|
1474
|
+
onIndex: (hook) => this.registerOnIndex(hook),
|
|
1475
|
+
};
|
|
1476
|
+
}
|
|
1477
|
+
allowRegistration(surface, method, capability, details) {
|
|
1478
|
+
const decision = evaluateExtensionPolicyForRegistration(this.#policy, this.#extensionRef, surface, method, capability, details);
|
|
1479
|
+
if (decision.warning) {
|
|
1480
|
+
this.#activationWarnings.push(decision.warning);
|
|
1423
1481
|
}
|
|
1424
|
-
};
|
|
1425
|
-
const allowRegistration = (surface, method, capability, details) => {
|
|
1426
|
-
const decision = evaluateExtensionPolicyForRegistration(policy, extensionRef, surface, method, capability, details);
|
|
1427
|
-
pushPolicyWarning(decision.warning);
|
|
1428
1482
|
return decision.allowed;
|
|
1429
|
-
}
|
|
1430
|
-
|
|
1431
|
-
|
|
1432
|
-
|
|
1433
|
-
|
|
1434
|
-
|
|
1435
|
-
|
|
1436
|
-
|
|
1437
|
-
|
|
1438
|
-
|
|
1483
|
+
}
|
|
1484
|
+
registerCommandTrace(mode, command, expectedSchema, received, hint) {
|
|
1485
|
+
return {
|
|
1486
|
+
method: "registerCommand",
|
|
1487
|
+
registration_index: mode === "override" ? this.#commandRegistry.overrides.length : this.#commandRegistry.handlers.length,
|
|
1488
|
+
command,
|
|
1489
|
+
expected_schema: expectedSchema,
|
|
1490
|
+
received: sanitizeRegistrationValue(received),
|
|
1491
|
+
hint,
|
|
1492
|
+
};
|
|
1493
|
+
}
|
|
1494
|
+
registerCommandOverride(command, override) {
|
|
1439
1495
|
const normalizedCommand = normalizeCommandName(command);
|
|
1440
1496
|
if (normalizedCommand.length === 0) {
|
|
1441
|
-
throw createRegistrationValidationError("registerCommand requires a non-empty command name", registerCommandTrace("override", command, 'registerCommand("<command>", (context) => unknown)', command, "Provide a non-empty command path as the first argument."));
|
|
1497
|
+
throw createRegistrationValidationError("registerCommand requires a non-empty command name", this.registerCommandTrace("override", command, 'registerCommand("<command>", (context) => unknown)', command, "Provide a non-empty command path as the first argument."));
|
|
1442
1498
|
}
|
|
1443
1499
|
if (typeof override !== "function") {
|
|
1444
|
-
const trace = registerCommandTrace("override", normalizedCommand, 'registerCommand("<command>", (context) => unknown)',
|
|
1500
|
+
const trace = this.registerCommandTrace("override", normalizedCommand, 'registerCommand("<command>", (context) => unknown)', override, "Provide a function as the second registerCommand argument.");
|
|
1445
1501
|
throw createRegistrationValidationError(`registerCommand requires an override function when command name is provided (command="${normalizedCommand}", registration_index=${trace.registration_index})`, trace);
|
|
1446
1502
|
}
|
|
1447
|
-
if (!allowRegistration("commands.override", "registerCommand", "commands", { command: normalizedCommand })) {
|
|
1503
|
+
if (!this.allowRegistration("commands.override", "registerCommand", "commands", { command: normalizedCommand })) {
|
|
1448
1504
|
return;
|
|
1449
1505
|
}
|
|
1450
|
-
|
|
1451
|
-
layer:
|
|
1452
|
-
name:
|
|
1506
|
+
this.#commandRegistry.overrides.push({
|
|
1507
|
+
layer: this.#loadedExtension.layer,
|
|
1508
|
+
name: this.#loadedExtension.name,
|
|
1453
1509
|
command: normalizedCommand,
|
|
1454
1510
|
run: override,
|
|
1455
1511
|
});
|
|
1456
|
-
}
|
|
1457
|
-
|
|
1512
|
+
}
|
|
1513
|
+
resolveCommandDefinitionRunHandler(definition, normalizedCommand) {
|
|
1458
1514
|
const runHandler = typeof definition.run === "function" ? definition.run : undefined;
|
|
1459
1515
|
const legacyHandler = typeof definition.handler === "function" ? definition.handler : undefined;
|
|
1460
1516
|
if (!runHandler && legacyHandler) {
|
|
1461
|
-
activationWarnings.push(`extension_command_definition_legacy_handler_alias:${
|
|
1517
|
+
this.#activationWarnings.push(`extension_command_definition_legacy_handler_alias:${this.#loadedExtension.layer}:${this.#loadedExtension.name}:${normalizedCommand}`);
|
|
1462
1518
|
}
|
|
1463
1519
|
return runHandler ?? legacyHandler;
|
|
1464
|
-
}
|
|
1465
|
-
|
|
1520
|
+
}
|
|
1521
|
+
registerCommandDefinition(definition) {
|
|
1466
1522
|
if (typeof definition !== "object" || definition === null) {
|
|
1467
|
-
throw createRegistrationValidationError("registerCommand requires a command definition object", registerCommandTrace("definition", undefined, "{ name: string; run: (context) => unknown; }", definition, "Use registerCommand({ name: \"command path\", run: (context) => ... })."));
|
|
1523
|
+
throw createRegistrationValidationError("registerCommand requires a command definition object", this.registerCommandTrace("definition", undefined, "{ name: string; run: (context) => unknown; }", definition, "Use registerCommand({ name: \"command path\", run: (context) => ... })."));
|
|
1468
1524
|
}
|
|
1469
1525
|
if (typeof definition.name !== "string") {
|
|
1470
|
-
throw createRegistrationValidationError("registerCommand requires a command definition name", registerCommandTrace("definition", undefined, "{ name: string; run: (context) => unknown; }", definition, "Set command definition.name to a non-empty string command path."));
|
|
1526
|
+
throw createRegistrationValidationError("registerCommand requires a command definition name", this.registerCommandTrace("definition", undefined, "{ name: string; run: (context) => unknown; }", definition, "Set command definition.name to a non-empty string command path."));
|
|
1471
1527
|
}
|
|
1472
1528
|
const normalizedCommand = normalizeCommandName(definition.name);
|
|
1473
1529
|
if (normalizedCommand.length === 0) {
|
|
1474
|
-
throw createRegistrationValidationError("registerCommand requires a non-empty command definition name", registerCommandTrace("definition", definition.name, "{ name: string; run: (context) => unknown; }", definition, "Ensure command definition.name contains a non-empty command path."));
|
|
1530
|
+
throw createRegistrationValidationError("registerCommand requires a non-empty command definition name", this.registerCommandTrace("definition", definition.name, "{ name: string; run: (context) => unknown; }", definition, "Ensure command definition.name contains a non-empty command path."));
|
|
1475
1531
|
}
|
|
1476
|
-
const resolvedHandler = resolveCommandDefinitionRunHandler(definition, normalizedCommand);
|
|
1532
|
+
const resolvedHandler = this.resolveCommandDefinitionRunHandler(definition, normalizedCommand);
|
|
1477
1533
|
if (typeof resolvedHandler !== "function") {
|
|
1478
|
-
const trace = registerCommandTrace("definition", normalizedCommand, "{ name: string; run: (context) => unknown; }",
|
|
1534
|
+
const trace = this.registerCommandTrace("definition", normalizedCommand, "{ name: string; run: (context) => unknown; }", resolvedHandler, "Define command definition.run as a function.");
|
|
1479
1535
|
throw createRegistrationValidationError(`registerCommand requires a command definition run handler (command="${normalizedCommand}", registration_index=${trace.registration_index})`, trace);
|
|
1480
1536
|
}
|
|
1481
1537
|
try {
|
|
@@ -1483,7 +1539,7 @@ function createExtensionApi(extension, hooks, commands, parsers, preflight, serv
|
|
|
1483
1539
|
assertOptionalStringField("registerCommand definition.description", definition.description);
|
|
1484
1540
|
assertOptionalStringField("registerCommand definition.intent", definition.intent);
|
|
1485
1541
|
const action = resolveCommandDefinitionAction(normalizedCommand, definition.action);
|
|
1486
|
-
if (!allowRegistration("commands.handler", "registerCommand", "commands", { command: normalizedCommand, action })) {
|
|
1542
|
+
if (!this.allowRegistration("commands.handler", "registerCommand", "commands", { command: normalizedCommand, action })) {
|
|
1487
1543
|
return;
|
|
1488
1544
|
}
|
|
1489
1545
|
const description = definition.description?.trim();
|
|
@@ -1492,19 +1548,21 @@ function createExtensionApi(extension, hooks, commands, parsers, preflight, serv
|
|
|
1492
1548
|
const failureHints = normalizeOptionalStringArrayField("registerCommand definition.failure_hints", definition.failure_hints);
|
|
1493
1549
|
const argumentsDefinition = normalizeCommandDefinitionArguments(definition.arguments);
|
|
1494
1550
|
if (definition.flags !== undefined) {
|
|
1495
|
-
assertExtensionCapability(
|
|
1496
|
-
|
|
1497
|
-
|
|
1498
|
-
|
|
1499
|
-
|
|
1500
|
-
|
|
1501
|
-
|
|
1502
|
-
|
|
1551
|
+
assertExtensionCapability(this.#loadedExtension, "schema", "registerCommand flags");
|
|
1552
|
+
if (this.allowRegistration("schema.flags", "registerCommand flags", "schema")) {
|
|
1553
|
+
validateFlagDefinitions(definition.flags);
|
|
1554
|
+
this.#registrationRegistry.flags.push({
|
|
1555
|
+
layer: this.#loadedExtension.layer,
|
|
1556
|
+
name: this.#loadedExtension.name,
|
|
1557
|
+
target_command: normalizedCommand,
|
|
1558
|
+
flags: normalizeRegistrationRecordList("registerCommand definition.flags", definition.flags),
|
|
1559
|
+
});
|
|
1560
|
+
}
|
|
1503
1561
|
}
|
|
1504
1562
|
const registration = {
|
|
1505
|
-
layer:
|
|
1506
|
-
name:
|
|
1507
|
-
source_package:
|
|
1563
|
+
layer: this.#loadedExtension.layer,
|
|
1564
|
+
name: this.#loadedExtension.name,
|
|
1565
|
+
source_package: this.#loadedExtension.source_package,
|
|
1508
1566
|
command: normalizedCommand,
|
|
1509
1567
|
action,
|
|
1510
1568
|
examples,
|
|
@@ -1517,74 +1575,74 @@ function createExtensionApi(extension, hooks, commands, parsers, preflight, serv
|
|
|
1517
1575
|
if (intent) {
|
|
1518
1576
|
registration.intent = intent;
|
|
1519
1577
|
}
|
|
1520
|
-
|
|
1578
|
+
this.#registrationRegistry.commands.push(registration);
|
|
1521
1579
|
}
|
|
1522
1580
|
catch (error) {
|
|
1523
1581
|
const reason = formatUnknownError(error);
|
|
1524
|
-
const trace = registerCommandTrace("definition", normalizedCommand, "{ name: string; run: (context) => unknown; action?: string; arguments?: object[]; flags?: object[]; }", definition,
|
|
1582
|
+
const trace = this.registerCommandTrace("definition", normalizedCommand, "{ name: string; run: (context) => unknown; action?: string; arguments?: object[]; flags?: object[]; }", definition, reason);
|
|
1525
1583
|
throw createRegistrationValidationError(`registerCommand definition metadata invalid (command="${normalizedCommand}", registration_index=${trace.registration_index}): ${reason}`, trace);
|
|
1526
1584
|
}
|
|
1527
|
-
|
|
1528
|
-
layer:
|
|
1529
|
-
name:
|
|
1585
|
+
this.#commandRegistry.handlers.push({
|
|
1586
|
+
layer: this.#loadedExtension.layer,
|
|
1587
|
+
name: this.#loadedExtension.name,
|
|
1530
1588
|
command: normalizedCommand,
|
|
1531
1589
|
run: resolvedHandler,
|
|
1532
1590
|
});
|
|
1533
|
-
}
|
|
1534
|
-
|
|
1535
|
-
assertExtensionCapability(
|
|
1591
|
+
}
|
|
1592
|
+
registerCommand(commandOrDefinition, override) {
|
|
1593
|
+
assertExtensionCapability(this.#loadedExtension, "commands", "registerCommand");
|
|
1536
1594
|
if (typeof commandOrDefinition === "string") {
|
|
1537
|
-
registerCommandOverride(commandOrDefinition, override);
|
|
1595
|
+
this.registerCommandOverride(commandOrDefinition, override);
|
|
1538
1596
|
return;
|
|
1539
1597
|
}
|
|
1540
|
-
registerCommandDefinition(commandOrDefinition);
|
|
1541
|
-
}
|
|
1542
|
-
|
|
1543
|
-
assertExtensionCapability(
|
|
1544
|
-
if (!allowRegistration("parser.override", "registerParser", "parser")) {
|
|
1598
|
+
this.registerCommandDefinition(commandOrDefinition);
|
|
1599
|
+
}
|
|
1600
|
+
registerParser(command, override) {
|
|
1601
|
+
assertExtensionCapability(this.#loadedExtension, "parser", "registerParser");
|
|
1602
|
+
if (!this.allowRegistration("parser.override", "registerParser", "parser")) {
|
|
1545
1603
|
return;
|
|
1546
1604
|
}
|
|
1547
1605
|
const normalizedCommand = normalizeCommandName(assertNonEmptyString("registerParser command", command));
|
|
1548
1606
|
assertFunctionHandler("registerParser override", override);
|
|
1549
|
-
|
|
1550
|
-
layer:
|
|
1551
|
-
name:
|
|
1607
|
+
this.#parserRegistry.overrides.push({
|
|
1608
|
+
layer: this.#loadedExtension.layer,
|
|
1609
|
+
name: this.#loadedExtension.name,
|
|
1552
1610
|
command: normalizedCommand,
|
|
1553
1611
|
run: override,
|
|
1554
1612
|
});
|
|
1555
|
-
}
|
|
1556
|
-
|
|
1557
|
-
assertExtensionCapability(
|
|
1558
|
-
if (!allowRegistration("preflight.override", "registerPreflight", "preflight")) {
|
|
1613
|
+
}
|
|
1614
|
+
registerPreflight(override) {
|
|
1615
|
+
assertExtensionCapability(this.#loadedExtension, "preflight", "registerPreflight");
|
|
1616
|
+
if (!this.allowRegistration("preflight.override", "registerPreflight", "preflight")) {
|
|
1559
1617
|
return;
|
|
1560
1618
|
}
|
|
1561
1619
|
assertFunctionHandler("registerPreflight override", override);
|
|
1562
|
-
|
|
1563
|
-
layer:
|
|
1564
|
-
name:
|
|
1620
|
+
this.#preflightRegistry.overrides.push({
|
|
1621
|
+
layer: this.#loadedExtension.layer,
|
|
1622
|
+
name: this.#loadedExtension.name,
|
|
1565
1623
|
run: override,
|
|
1566
1624
|
});
|
|
1567
|
-
}
|
|
1568
|
-
|
|
1569
|
-
assertExtensionCapability(
|
|
1625
|
+
}
|
|
1626
|
+
registerService(service, override) {
|
|
1627
|
+
assertExtensionCapability(this.#loadedExtension, "services", "registerService");
|
|
1570
1628
|
const normalizedService = String(service).trim().toLowerCase();
|
|
1571
1629
|
if (!isExtensionServiceName(normalizedService)) {
|
|
1572
1630
|
throw new TypeError(`registerService service must be one of: ${KNOWN_EXTENSION_SERVICE_NAMES.join(", ")}`);
|
|
1573
1631
|
}
|
|
1574
|
-
if (!allowRegistration("services.override", "registerService", "services", { service: normalizedService })) {
|
|
1632
|
+
if (!this.allowRegistration("services.override", "registerService", "services", { service: normalizedService })) {
|
|
1575
1633
|
return;
|
|
1576
1634
|
}
|
|
1577
1635
|
assertFunctionHandler("registerService override", override);
|
|
1578
|
-
|
|
1579
|
-
layer:
|
|
1580
|
-
name:
|
|
1636
|
+
this.#serviceRegistry.overrides.push({
|
|
1637
|
+
layer: this.#loadedExtension.layer,
|
|
1638
|
+
name: this.#loadedExtension.name,
|
|
1581
1639
|
service: normalizedService,
|
|
1582
1640
|
run: override,
|
|
1583
1641
|
});
|
|
1584
|
-
}
|
|
1585
|
-
|
|
1586
|
-
assertExtensionCapability(
|
|
1587
|
-
if (!allowRegistration("renderers.override", "registerRenderer", "renderers")) {
|
|
1642
|
+
}
|
|
1643
|
+
registerRenderer(format, renderer) {
|
|
1644
|
+
assertExtensionCapability(this.#loadedExtension, "renderers", "registerRenderer");
|
|
1645
|
+
if (!this.allowRegistration("renderers.override", "registerRenderer", "renderers")) {
|
|
1588
1646
|
return;
|
|
1589
1647
|
}
|
|
1590
1648
|
if (typeof renderer !== "function") {
|
|
@@ -1594,16 +1652,16 @@ function createExtensionApi(extension, hooks, commands, parsers, preflight, serv
|
|
|
1594
1652
|
if (!isOutputRendererFormat(normalizedFormat)) {
|
|
1595
1653
|
throw new Error(`registerRenderer format must be toon|json, received: ${String(format)}`);
|
|
1596
1654
|
}
|
|
1597
|
-
|
|
1598
|
-
layer:
|
|
1599
|
-
name:
|
|
1655
|
+
this.#rendererRegistry.overrides.push({
|
|
1656
|
+
layer: this.#loadedExtension.layer,
|
|
1657
|
+
name: this.#loadedExtension.name,
|
|
1600
1658
|
format: normalizedFormat,
|
|
1601
1659
|
run: renderer,
|
|
1602
1660
|
});
|
|
1603
|
-
}
|
|
1604
|
-
|
|
1605
|
-
assertExtensionCapability(
|
|
1606
|
-
if (!allowRegistration("schema.flags", "registerFlags", "schema")) {
|
|
1661
|
+
}
|
|
1662
|
+
registerFlags(targetCommand, flags) {
|
|
1663
|
+
assertExtensionCapability(this.#loadedExtension, "schema", "registerFlags");
|
|
1664
|
+
if (!this.allowRegistration("schema.flags", "registerFlags", "schema")) {
|
|
1607
1665
|
return;
|
|
1608
1666
|
}
|
|
1609
1667
|
const normalizedTargetCommand = normalizeCommandName(assertNonEmptyString("registerFlags targetCommand", targetCommand));
|
|
@@ -1612,16 +1670,16 @@ function createExtensionApi(extension, hooks, commands, parsers, preflight, serv
|
|
|
1612
1670
|
if (normalizedFlags.length === 0) {
|
|
1613
1671
|
throw new TypeError("registerFlags requires at least one flag definition");
|
|
1614
1672
|
}
|
|
1615
|
-
|
|
1616
|
-
layer:
|
|
1617
|
-
name:
|
|
1673
|
+
this.#registrationRegistry.flags.push({
|
|
1674
|
+
layer: this.#loadedExtension.layer,
|
|
1675
|
+
name: this.#loadedExtension.name,
|
|
1618
1676
|
target_command: normalizedTargetCommand,
|
|
1619
1677
|
flags: normalizedFlags,
|
|
1620
1678
|
});
|
|
1621
|
-
}
|
|
1622
|
-
|
|
1623
|
-
assertExtensionCapability(
|
|
1624
|
-
if (!allowRegistration("schema.itemfields", "registerItemFields", "schema")) {
|
|
1679
|
+
}
|
|
1680
|
+
registerItemFields(fields) {
|
|
1681
|
+
assertExtensionCapability(this.#loadedExtension, "schema", "registerItemFields");
|
|
1682
|
+
if (!this.allowRegistration("schema.itemfields", "registerItemFields", "schema")) {
|
|
1625
1683
|
return;
|
|
1626
1684
|
}
|
|
1627
1685
|
validateItemFieldDefinitions(fields);
|
|
@@ -1629,15 +1687,15 @@ function createExtensionApi(extension, hooks, commands, parsers, preflight, serv
|
|
|
1629
1687
|
if (normalizedFields.length === 0) {
|
|
1630
1688
|
throw new TypeError("registerItemFields requires at least one field definition");
|
|
1631
1689
|
}
|
|
1632
|
-
|
|
1633
|
-
layer:
|
|
1634
|
-
name:
|
|
1690
|
+
this.#registrationRegistry.item_fields.push({
|
|
1691
|
+
layer: this.#loadedExtension.layer,
|
|
1692
|
+
name: this.#loadedExtension.name,
|
|
1635
1693
|
fields: normalizedFields,
|
|
1636
1694
|
});
|
|
1637
|
-
}
|
|
1638
|
-
|
|
1639
|
-
assertExtensionCapability(
|
|
1640
|
-
if (!allowRegistration("schema.itemtypes", "registerItemTypes", "schema")) {
|
|
1695
|
+
}
|
|
1696
|
+
registerItemTypes(types) {
|
|
1697
|
+
assertExtensionCapability(this.#loadedExtension, "schema", "registerItemTypes");
|
|
1698
|
+
if (!this.allowRegistration("schema.itemtypes", "registerItemTypes", "schema")) {
|
|
1641
1699
|
return;
|
|
1642
1700
|
}
|
|
1643
1701
|
validateItemTypeDefinitions(types);
|
|
@@ -1645,28 +1703,28 @@ function createExtensionApi(extension, hooks, commands, parsers, preflight, serv
|
|
|
1645
1703
|
if (normalizedTypes.length === 0) {
|
|
1646
1704
|
throw new TypeError("registerItemTypes requires at least one type definition");
|
|
1647
1705
|
}
|
|
1648
|
-
|
|
1649
|
-
layer:
|
|
1650
|
-
name:
|
|
1706
|
+
this.#registrationRegistry.item_types.push({
|
|
1707
|
+
layer: this.#loadedExtension.layer,
|
|
1708
|
+
name: this.#loadedExtension.name,
|
|
1651
1709
|
types: normalizedTypes,
|
|
1652
1710
|
});
|
|
1653
|
-
}
|
|
1654
|
-
|
|
1655
|
-
assertExtensionCapability(
|
|
1656
|
-
if (!allowRegistration("schema.migrations", "registerMigration", "schema")) {
|
|
1711
|
+
}
|
|
1712
|
+
registerMigration(definition) {
|
|
1713
|
+
assertExtensionCapability(this.#loadedExtension, "schema", "registerMigration");
|
|
1714
|
+
if (!this.allowRegistration("schema.migrations", "registerMigration", "schema")) {
|
|
1657
1715
|
return;
|
|
1658
1716
|
}
|
|
1659
1717
|
validateMigrationDefinition(definition);
|
|
1660
1718
|
const runtimeDefinition = normalizeRuntimeRegistrationRecord("registerMigration definition", definition);
|
|
1661
|
-
|
|
1662
|
-
layer:
|
|
1663
|
-
name:
|
|
1719
|
+
this.#registrationRegistry.migrations.push(attachRuntimeDefinition({
|
|
1720
|
+
layer: this.#loadedExtension.layer,
|
|
1721
|
+
name: this.#loadedExtension.name,
|
|
1664
1722
|
definition: normalizeRegistrationRecord("registerMigration definition", definition),
|
|
1665
1723
|
}, runtimeDefinition));
|
|
1666
|
-
}
|
|
1667
|
-
|
|
1668
|
-
assertExtensionCapability(
|
|
1669
|
-
if (!allowRegistration("schema.profiles", "registerProfile", "schema")) {
|
|
1724
|
+
}
|
|
1725
|
+
registerProfile(profile) {
|
|
1726
|
+
assertExtensionCapability(this.#loadedExtension, "schema", "registerProfile");
|
|
1727
|
+
if (!this.allowRegistration("schema.profiles", "registerProfile", "schema")) {
|
|
1670
1728
|
return;
|
|
1671
1729
|
}
|
|
1672
1730
|
// Snapshot first, then validate and default the snapshot: cloning resolves
|
|
@@ -1676,13 +1734,13 @@ function createExtensionApi(extension, hooks, commands, parsers, preflight, serv
|
|
|
1676
1734
|
// only after validation, so an invalid type is rejected, not silently coerced.
|
|
1677
1735
|
const snapshot = cloneRuntimeRegistrationValue(profile);
|
|
1678
1736
|
validateProjectProfileDefinition(snapshot);
|
|
1679
|
-
|
|
1680
|
-
layer:
|
|
1681
|
-
name:
|
|
1737
|
+
this.#registrationRegistry.profiles.push({
|
|
1738
|
+
layer: this.#loadedExtension.layer,
|
|
1739
|
+
name: this.#loadedExtension.name,
|
|
1682
1740
|
profile: applyProjectProfileDefaults(snapshot),
|
|
1683
1741
|
});
|
|
1684
|
-
}
|
|
1685
|
-
|
|
1742
|
+
}
|
|
1743
|
+
applyImportExportCommandMetadata(method, commandPath, options) {
|
|
1686
1744
|
if (options === undefined) {
|
|
1687
1745
|
return;
|
|
1688
1746
|
}
|
|
@@ -1697,23 +1755,23 @@ function createExtensionApi(extension, hooks, commands, parsers, preflight, serv
|
|
|
1697
1755
|
const failureHints = normalizeOptionalStringArrayField(`${method} options.failure_hints`, options.failure_hints);
|
|
1698
1756
|
const argumentsDefinition = normalizeCommandDefinitionArguments(options.arguments);
|
|
1699
1757
|
if (options.flags !== undefined) {
|
|
1700
|
-
assertExtensionCapability(
|
|
1758
|
+
assertExtensionCapability(this.#loadedExtension, "schema", `${method} options.flags`);
|
|
1701
1759
|
// Route metadata flags through the same surface-policy gate as registerFlags so
|
|
1702
1760
|
// enforce-mode policies blocking schema.flags are honored even when importers are allowed.
|
|
1703
|
-
if (allowRegistration("schema.flags", `${method} options.flags`, "schema")) {
|
|
1761
|
+
if (this.allowRegistration("schema.flags", `${method} options.flags`, "schema")) {
|
|
1704
1762
|
validateFlagDefinitions(options.flags);
|
|
1705
|
-
|
|
1706
|
-
layer:
|
|
1707
|
-
name:
|
|
1763
|
+
this.#registrationRegistry.flags.push({
|
|
1764
|
+
layer: this.#loadedExtension.layer,
|
|
1765
|
+
name: this.#loadedExtension.name,
|
|
1708
1766
|
target_command: commandPath,
|
|
1709
1767
|
flags: normalizeRegistrationRecordList(`${method} options.flags`, options.flags),
|
|
1710
1768
|
});
|
|
1711
1769
|
}
|
|
1712
1770
|
}
|
|
1713
1771
|
const registration = {
|
|
1714
|
-
layer:
|
|
1715
|
-
name:
|
|
1716
|
-
source_package:
|
|
1772
|
+
layer: this.#loadedExtension.layer,
|
|
1773
|
+
name: this.#loadedExtension.name,
|
|
1774
|
+
source_package: this.#loadedExtension.source_package,
|
|
1717
1775
|
command: commandPath,
|
|
1718
1776
|
action,
|
|
1719
1777
|
examples,
|
|
@@ -1728,11 +1786,11 @@ function createExtensionApi(extension, hooks, commands, parsers, preflight, serv
|
|
|
1728
1786
|
if (intent) {
|
|
1729
1787
|
registration.intent = intent;
|
|
1730
1788
|
}
|
|
1731
|
-
|
|
1732
|
-
}
|
|
1733
|
-
|
|
1734
|
-
assertExtensionCapability(
|
|
1735
|
-
if (!allowRegistration("importers.importer", "registerImporter", "importers")) {
|
|
1789
|
+
this.#registrationRegistry.commands.push(registration);
|
|
1790
|
+
}
|
|
1791
|
+
registerImporter(name, importer, options) {
|
|
1792
|
+
assertExtensionCapability(this.#loadedExtension, "importers", "registerImporter");
|
|
1793
|
+
if (!this.allowRegistration("importers.importer", "registerImporter", "importers")) {
|
|
1736
1794
|
return;
|
|
1737
1795
|
}
|
|
1738
1796
|
const normalizedName = normalizeRegistrationName(assertNonEmptyString("registerImporter name", name));
|
|
@@ -1740,15 +1798,15 @@ function createExtensionApi(extension, hooks, commands, parsers, preflight, serv
|
|
|
1740
1798
|
const commandPath = toRegistrationCommandPath(normalizedName, "import");
|
|
1741
1799
|
// Validate and register optional command metadata before mutating the registry
|
|
1742
1800
|
// so an invalid options object leaves no partial importer registration.
|
|
1743
|
-
applyImportExportCommandMetadata("registerImporter", commandPath, options);
|
|
1744
|
-
|
|
1745
|
-
layer:
|
|
1746
|
-
name:
|
|
1801
|
+
this.applyImportExportCommandMetadata("registerImporter", commandPath, options);
|
|
1802
|
+
this.#registrationRegistry.importers.push({
|
|
1803
|
+
layer: this.#loadedExtension.layer,
|
|
1804
|
+
name: this.#loadedExtension.name,
|
|
1747
1805
|
importer: normalizedName,
|
|
1748
1806
|
});
|
|
1749
|
-
|
|
1750
|
-
layer:
|
|
1751
|
-
name:
|
|
1807
|
+
this.#commandRegistry.handlers.push({
|
|
1808
|
+
layer: this.#loadedExtension.layer,
|
|
1809
|
+
name: this.#loadedExtension.name,
|
|
1752
1810
|
command: commandPath,
|
|
1753
1811
|
run: async (context) => importer({
|
|
1754
1812
|
registration: normalizedName,
|
|
@@ -1760,10 +1818,10 @@ function createExtensionApi(extension, hooks, commands, parsers, preflight, serv
|
|
|
1760
1818
|
pm_root: context.pm_root,
|
|
1761
1819
|
}),
|
|
1762
1820
|
});
|
|
1763
|
-
}
|
|
1764
|
-
|
|
1765
|
-
assertExtensionCapability(
|
|
1766
|
-
if (!allowRegistration("importers.exporter", "registerExporter", "importers")) {
|
|
1821
|
+
}
|
|
1822
|
+
registerExporter(name, exporter, options) {
|
|
1823
|
+
assertExtensionCapability(this.#loadedExtension, "importers", "registerExporter");
|
|
1824
|
+
if (!this.allowRegistration("importers.exporter", "registerExporter", "importers")) {
|
|
1767
1825
|
return;
|
|
1768
1826
|
}
|
|
1769
1827
|
const normalizedName = normalizeRegistrationName(assertNonEmptyString("registerExporter name", name));
|
|
@@ -1771,15 +1829,15 @@ function createExtensionApi(extension, hooks, commands, parsers, preflight, serv
|
|
|
1771
1829
|
const commandPath = toRegistrationCommandPath(normalizedName, "export");
|
|
1772
1830
|
// Validate and register optional command metadata before mutating the registry
|
|
1773
1831
|
// so an invalid options object leaves no partial exporter registration.
|
|
1774
|
-
applyImportExportCommandMetadata("registerExporter", commandPath, options);
|
|
1775
|
-
|
|
1776
|
-
layer:
|
|
1777
|
-
name:
|
|
1832
|
+
this.applyImportExportCommandMetadata("registerExporter", commandPath, options);
|
|
1833
|
+
this.#registrationRegistry.exporters.push({
|
|
1834
|
+
layer: this.#loadedExtension.layer,
|
|
1835
|
+
name: this.#loadedExtension.name,
|
|
1778
1836
|
exporter: normalizedName,
|
|
1779
1837
|
});
|
|
1780
|
-
|
|
1781
|
-
layer:
|
|
1782
|
-
name:
|
|
1838
|
+
this.#commandRegistry.handlers.push({
|
|
1839
|
+
layer: this.#loadedExtension.layer,
|
|
1840
|
+
name: this.#loadedExtension.name,
|
|
1783
1841
|
command: commandPath,
|
|
1784
1842
|
run: async (context) => exporter({
|
|
1785
1843
|
registration: normalizedName,
|
|
@@ -1791,115 +1849,94 @@ function createExtensionApi(extension, hooks, commands, parsers, preflight, serv
|
|
|
1791
1849
|
pm_root: context.pm_root,
|
|
1792
1850
|
}),
|
|
1793
1851
|
});
|
|
1794
|
-
}
|
|
1795
|
-
|
|
1796
|
-
assertExtensionCapability(
|
|
1797
|
-
if (!allowRegistration("search.provider", "registerSearchProvider", "search")) {
|
|
1852
|
+
}
|
|
1853
|
+
registerSearchProvider(provider) {
|
|
1854
|
+
assertExtensionCapability(this.#loadedExtension, "search", "registerSearchProvider");
|
|
1855
|
+
if (!this.allowRegistration("search.provider", "registerSearchProvider", "search")) {
|
|
1798
1856
|
return;
|
|
1799
1857
|
}
|
|
1800
1858
|
const runtimeDefinition = normalizeRuntimeRegistrationRecord("registerSearchProvider provider", provider);
|
|
1801
|
-
|
|
1802
|
-
layer:
|
|
1803
|
-
name:
|
|
1859
|
+
this.#registrationRegistry.search_providers.push(attachRuntimeDefinition({
|
|
1860
|
+
layer: this.#loadedExtension.layer,
|
|
1861
|
+
name: this.#loadedExtension.name,
|
|
1804
1862
|
definition: normalizeRegistrationRecord("registerSearchProvider provider", provider),
|
|
1805
1863
|
}, runtimeDefinition));
|
|
1806
|
-
}
|
|
1807
|
-
|
|
1808
|
-
assertExtensionCapability(
|
|
1809
|
-
if (!allowRegistration("search.vectorstore", "registerVectorStoreAdapter", "search")) {
|
|
1864
|
+
}
|
|
1865
|
+
registerVectorStoreAdapter(adapter) {
|
|
1866
|
+
assertExtensionCapability(this.#loadedExtension, "search", "registerVectorStoreAdapter");
|
|
1867
|
+
if (!this.allowRegistration("search.vectorstore", "registerVectorStoreAdapter", "search")) {
|
|
1810
1868
|
return;
|
|
1811
1869
|
}
|
|
1812
1870
|
const runtimeDefinition = normalizeRuntimeRegistrationRecord("registerVectorStoreAdapter adapter", adapter);
|
|
1813
|
-
|
|
1814
|
-
layer:
|
|
1815
|
-
name:
|
|
1871
|
+
this.#registrationRegistry.vector_store_adapters.push(attachRuntimeDefinition({
|
|
1872
|
+
layer: this.#loadedExtension.layer,
|
|
1873
|
+
name: this.#loadedExtension.name,
|
|
1816
1874
|
definition: normalizeRegistrationRecord("registerVectorStoreAdapter adapter", adapter),
|
|
1817
1875
|
}, runtimeDefinition));
|
|
1818
|
-
}
|
|
1819
|
-
|
|
1820
|
-
assertExtensionCapability(
|
|
1821
|
-
if (!allowRegistration("hooks.beforecommand", "api.hooks.beforeCommand", "hooks")) {
|
|
1876
|
+
}
|
|
1877
|
+
registerBeforeCommand(hook) {
|
|
1878
|
+
assertExtensionCapability(this.#loadedExtension, "hooks", "api.hooks.beforeCommand");
|
|
1879
|
+
if (!this.allowRegistration("hooks.beforecommand", "api.hooks.beforeCommand", "hooks")) {
|
|
1822
1880
|
return;
|
|
1823
1881
|
}
|
|
1824
1882
|
assertHookHandler("beforeCommand", hook);
|
|
1825
|
-
|
|
1826
|
-
layer:
|
|
1827
|
-
name:
|
|
1883
|
+
this.#hookRegistry.beforeCommand.push({
|
|
1884
|
+
layer: this.#loadedExtension.layer,
|
|
1885
|
+
name: this.#loadedExtension.name,
|
|
1828
1886
|
run: hook,
|
|
1829
1887
|
});
|
|
1830
|
-
}
|
|
1831
|
-
|
|
1832
|
-
assertExtensionCapability(
|
|
1833
|
-
if (!allowRegistration("hooks.aftercommand", "api.hooks.afterCommand", "hooks")) {
|
|
1888
|
+
}
|
|
1889
|
+
registerAfterCommand(hook) {
|
|
1890
|
+
assertExtensionCapability(this.#loadedExtension, "hooks", "api.hooks.afterCommand");
|
|
1891
|
+
if (!this.allowRegistration("hooks.aftercommand", "api.hooks.afterCommand", "hooks")) {
|
|
1834
1892
|
return;
|
|
1835
1893
|
}
|
|
1836
1894
|
assertHookHandler("afterCommand", hook);
|
|
1837
|
-
|
|
1838
|
-
layer:
|
|
1839
|
-
name:
|
|
1895
|
+
this.#hookRegistry.afterCommand.push({
|
|
1896
|
+
layer: this.#loadedExtension.layer,
|
|
1897
|
+
name: this.#loadedExtension.name,
|
|
1840
1898
|
run: hook,
|
|
1841
1899
|
});
|
|
1842
|
-
}
|
|
1843
|
-
|
|
1844
|
-
assertExtensionCapability(
|
|
1845
|
-
if (!allowRegistration("hooks.onwrite", "api.hooks.onWrite", "hooks")) {
|
|
1900
|
+
}
|
|
1901
|
+
registerOnWrite(hook) {
|
|
1902
|
+
assertExtensionCapability(this.#loadedExtension, "hooks", "api.hooks.onWrite");
|
|
1903
|
+
if (!this.allowRegistration("hooks.onwrite", "api.hooks.onWrite", "hooks")) {
|
|
1846
1904
|
return;
|
|
1847
1905
|
}
|
|
1848
1906
|
assertHookHandler("onWrite", hook);
|
|
1849
|
-
|
|
1850
|
-
layer:
|
|
1851
|
-
name:
|
|
1907
|
+
this.#hookRegistry.onWrite.push({
|
|
1908
|
+
layer: this.#loadedExtension.layer,
|
|
1909
|
+
name: this.#loadedExtension.name,
|
|
1852
1910
|
run: hook,
|
|
1853
1911
|
});
|
|
1854
|
-
}
|
|
1855
|
-
|
|
1856
|
-
assertExtensionCapability(
|
|
1857
|
-
if (!allowRegistration("hooks.onread", "api.hooks.onRead", "hooks")) {
|
|
1912
|
+
}
|
|
1913
|
+
registerOnRead(hook) {
|
|
1914
|
+
assertExtensionCapability(this.#loadedExtension, "hooks", "api.hooks.onRead");
|
|
1915
|
+
if (!this.allowRegistration("hooks.onread", "api.hooks.onRead", "hooks")) {
|
|
1858
1916
|
return;
|
|
1859
1917
|
}
|
|
1860
1918
|
assertHookHandler("onRead", hook);
|
|
1861
|
-
|
|
1862
|
-
layer:
|
|
1863
|
-
name:
|
|
1919
|
+
this.#hookRegistry.onRead.push({
|
|
1920
|
+
layer: this.#loadedExtension.layer,
|
|
1921
|
+
name: this.#loadedExtension.name,
|
|
1864
1922
|
run: hook,
|
|
1865
1923
|
});
|
|
1866
|
-
}
|
|
1867
|
-
|
|
1868
|
-
assertExtensionCapability(
|
|
1869
|
-
if (!allowRegistration("hooks.onindex", "api.hooks.onIndex", "hooks")) {
|
|
1924
|
+
}
|
|
1925
|
+
registerOnIndex(hook) {
|
|
1926
|
+
assertExtensionCapability(this.#loadedExtension, "hooks", "api.hooks.onIndex");
|
|
1927
|
+
if (!this.allowRegistration("hooks.onindex", "api.hooks.onIndex", "hooks")) {
|
|
1870
1928
|
return;
|
|
1871
1929
|
}
|
|
1872
1930
|
assertHookHandler("onIndex", hook);
|
|
1873
|
-
|
|
1874
|
-
layer:
|
|
1875
|
-
name:
|
|
1931
|
+
this.#hookRegistry.onIndex.push({
|
|
1932
|
+
layer: this.#loadedExtension.layer,
|
|
1933
|
+
name: this.#loadedExtension.name,
|
|
1876
1934
|
run: hook,
|
|
1877
1935
|
});
|
|
1878
|
-
}
|
|
1879
|
-
|
|
1880
|
-
|
|
1881
|
-
|
|
1882
|
-
registerParser,
|
|
1883
|
-
registerPreflight,
|
|
1884
|
-
registerService,
|
|
1885
|
-
registerFlags,
|
|
1886
|
-
registerItemFields,
|
|
1887
|
-
registerItemTypes,
|
|
1888
|
-
registerMigration,
|
|
1889
|
-
registerProfile,
|
|
1890
|
-
registerRenderer,
|
|
1891
|
-
registerImporter,
|
|
1892
|
-
registerExporter,
|
|
1893
|
-
registerSearchProvider,
|
|
1894
|
-
registerVectorStoreAdapter,
|
|
1895
|
-
hooks: {
|
|
1896
|
-
beforeCommand: registerBeforeCommand,
|
|
1897
|
-
afterCommand: registerAfterCommand,
|
|
1898
|
-
onWrite: registerOnWrite,
|
|
1899
|
-
onRead: registerOnRead,
|
|
1900
|
-
onIndex: registerOnIndex,
|
|
1901
|
-
},
|
|
1902
|
-
};
|
|
1936
|
+
}
|
|
1937
|
+
}
|
|
1938
|
+
function createExtensionApi(extension, hooks, commands, parsers, preflight, services, renderers, registrations, activationWarnings, policy) {
|
|
1939
|
+
return new ExtensionApiRegistrar(extension, hooks, commands, parsers, preflight, services, renderers, registrations, activationWarnings, policy);
|
|
1903
1940
|
}
|
|
1904
1941
|
function getRegistrationCounts(registrations) {
|
|
1905
1942
|
const commandCount = registrations.commands.length;
|
|
@@ -2133,4 +2170,4 @@ export const _testOnlyLoader = {
|
|
|
2133
2170
|
},
|
|
2134
2171
|
};
|
|
2135
2172
|
//# sourceMappingURL=loader.js.map
|
|
2136
|
-
//# debugId=
|
|
2173
|
+
//# debugId=b7735a57-30b2-58a3-9d53-6805e011fd12
|