@unbrained/pm-cli 2026.6.5 → 2026.6.7
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 +77 -0
- package/CONTRIBUTING.md +1 -0
- package/README.md +17 -5
- package/dist/cli/commander-usage.js +74 -4
- package/dist/cli/commander-usage.js.map +1 -1
- package/dist/cli/commands/aggregate.d.ts +8 -0
- package/dist/cli/commands/aggregate.js +84 -7
- package/dist/cli/commands/aggregate.js.map +1 -1
- package/dist/cli/commands/calendar.js +10 -3
- package/dist/cli/commands/calendar.js.map +1 -1
- package/dist/cli/commands/close-many.js +13 -10
- package/dist/cli/commands/close-many.js.map +1 -1
- package/dist/cli/commands/close.d.ts +1 -1
- package/dist/cli/commands/close.js +20 -10
- package/dist/cli/commands/close.js.map +1 -1
- package/dist/cli/commands/completion.js +87 -18
- package/dist/cli/commands/completion.js.map +1 -1
- package/dist/cli/commands/config.d.ts +5 -4
- package/dist/cli/commands/config.js +50 -2
- package/dist/cli/commands/config.js.map +1 -1
- package/dist/cli/commands/contracts.js +6 -3
- package/dist/cli/commands/contracts.js.map +1 -1
- package/dist/cli/commands/copy.d.ts +14 -0
- package/dist/cli/commands/copy.js +153 -0
- package/dist/cli/commands/copy.js.map +1 -0
- package/dist/cli/commands/extension/doctor.js +62 -2
- package/dist/cli/commands/extension/doctor.js.map +1 -1
- package/dist/cli/commands/extension/install-sources.d.ts +8 -0
- package/dist/cli/commands/extension/install-sources.js +82 -2
- package/dist/cli/commands/extension/install-sources.js.map +1 -1
- package/dist/cli/commands/extension.d.ts +29 -0
- package/dist/cli/commands/extension.js +61 -2
- package/dist/cli/commands/extension.js.map +1 -1
- package/dist/cli/commands/gc.d.ts +8 -1
- package/dist/cli/commands/gc.js +26 -3
- package/dist/cli/commands/gc.js.map +1 -1
- package/dist/cli/commands/get.d.ts +9 -0
- package/dist/cli/commands/get.js +23 -2
- package/dist/cli/commands/get.js.map +1 -1
- package/dist/cli/commands/health.js +15 -2
- package/dist/cli/commands/health.js.map +1 -1
- package/dist/cli/commands/history-compact.d.ts +39 -0
- package/dist/cli/commands/history-compact.js +262 -0
- package/dist/cli/commands/history-compact.js.map +1 -0
- package/dist/cli/commands/history.d.ts +4 -1
- package/dist/cli/commands/history.js +12 -24
- package/dist/cli/commands/history.js.map +1 -1
- package/dist/cli/commands/index.d.ts +3 -0
- package/dist/cli/commands/index.js +5 -2
- package/dist/cli/commands/index.js.map +1 -1
- package/dist/cli/commands/list.d.ts +2 -0
- package/dist/cli/commands/list.js +87 -9
- package/dist/cli/commands/list.js.map +1 -1
- package/dist/cli/commands/reindex.js +8 -4
- package/dist/cli/commands/reindex.js.map +1 -1
- package/dist/cli/commands/search.d.ts +1 -0
- package/dist/cli/commands/search.js +232 -35
- package/dist/cli/commands/search.js.map +1 -1
- package/dist/cli/commands/stats.d.ts +8 -1
- package/dist/cli/commands/stats.js +18 -17
- package/dist/cli/commands/stats.js.map +1 -1
- package/dist/cli/commands/telemetry.d.ts +8 -0
- package/dist/cli/commands/telemetry.js +253 -0
- package/dist/cli/commands/telemetry.js.map +1 -0
- package/dist/cli/error-guidance.js +26 -2
- package/dist/cli/error-guidance.js.map +1 -1
- package/dist/cli/extension-command-help.d.ts +1 -0
- package/dist/cli/extension-command-help.js +3 -2
- package/dist/cli/extension-command-help.js.map +1 -1
- package/dist/cli/help-content.js +19 -2
- package/dist/cli/help-content.js.map +1 -1
- package/dist/cli/main.d.ts +3 -0
- package/dist/cli/main.js +13 -21
- package/dist/cli/main.js.map +1 -1
- package/dist/cli/register-list-query.js +24 -6
- package/dist/cli/register-list-query.js.map +1 -1
- package/dist/cli/register-mutation.js +52 -17
- package/dist/cli/register-mutation.js.map +1 -1
- package/dist/cli/register-operations.js +55 -8
- package/dist/cli/register-operations.js.map +1 -1
- package/dist/cli/register-setup.js +5 -5
- package/dist/cli/register-setup.js.map +1 -1
- package/dist/cli/registration-helpers.js +21 -3
- package/dist/cli/registration-helpers.js.map +1 -1
- package/dist/cli-bundle/chunks/activity-5UROHJ3D.js +16 -0
- package/dist/cli-bundle/chunks/{activity-3RWRRNOW.js → activity-YVB3QRTE.js} +11 -11
- package/dist/cli-bundle/chunks/{aggregate-OOAGKWRG.js → aggregate-LH66F75F.js} +87 -17
- package/dist/cli-bundle/chunks/aggregate-LH66F75F.js.map +7 -0
- package/dist/cli-bundle/chunks/{aggregate-J35K7WZB.js → aggregate-OHSWFQJM.js} +88 -18
- package/dist/cli-bundle/chunks/aggregate-OHSWFQJM.js.map +1 -0
- package/dist/cli-bundle/chunks/{append-PNN6UIBZ.js → append-2PPYFAG5.js} +8 -8
- package/dist/cli-bundle/chunks/{append-5JE3YGXU.js → append-AUGT5W6J.js} +8 -8
- package/dist/cli-bundle/chunks/{chunk-26KTVXJW.js → chunk-2IF7WLB7.js} +2 -2
- package/dist/cli-bundle/chunks/{chunk-KA24HME7.js → chunk-2IXCHCLM.js} +5 -6
- package/dist/cli-bundle/chunks/chunk-2IXCHCLM.js.map +7 -0
- package/dist/cli-bundle/chunks/{chunk-XX5LRINW.js → chunk-2OJHLWBZ.js} +2 -2
- package/dist/cli-bundle/chunks/{chunk-ASQM3IF5.js → chunk-3A2CMEM7.js} +5 -4
- package/dist/cli-bundle/chunks/{chunk-S3CV7JGJ.js → chunk-3EOBJOF4.js} +5 -4
- package/dist/cli-bundle/chunks/{chunk-N5YF3VFN.js → chunk-42LOFGJS.js} +91 -16
- package/dist/cli-bundle/chunks/chunk-42LOFGJS.js.map +7 -0
- package/dist/cli-bundle/chunks/{chunk-WIKR7KFL.js → chunk-4CHEG6UK.js} +108 -21
- package/dist/cli-bundle/chunks/chunk-4CHEG6UK.js.map +7 -0
- package/dist/cli-bundle/chunks/{chunk-4QCR4QW3.js → chunk-4GHZR3BA.js} +56 -28
- package/dist/cli-bundle/chunks/chunk-4GHZR3BA.js.map +1 -0
- package/dist/cli-bundle/chunks/{chunk-B3N4TKNL.js → chunk-5AXMRKN5.js} +8 -8
- package/dist/cli-bundle/chunks/{chunk-JQI2HE55.js → chunk-6J4K6JLA.js} +3 -3
- package/dist/cli-bundle/chunks/{chunk-V3JQ4IPL.js → chunk-6RZXO5M2.js} +102 -22
- package/dist/cli-bundle/chunks/chunk-6RZXO5M2.js.map +1 -0
- package/dist/cli-bundle/chunks/{chunk-BNL6S7QH.js → chunk-AVJD6VTA.js} +3 -3
- package/dist/cli-bundle/chunks/{chunk-NQP3ECKF.js → chunk-B2KZGPM2.js} +39 -8
- package/dist/cli-bundle/chunks/chunk-B2KZGPM2.js.map +1 -0
- package/dist/cli-bundle/chunks/{chunk-RQAWLSUU.js → chunk-B5RF3IP7.js} +3 -3
- package/dist/cli-bundle/chunks/{chunk-UFCG3SWR.js → chunk-C5W2UH56.js} +3 -3
- package/dist/cli-bundle/chunks/{chunk-3OH4DAEB.js → chunk-CKLBZHS7.js} +6 -6
- package/dist/cli-bundle/chunks/{chunk-GNHVV4SY.js → chunk-CLD3XNCH.js} +124 -20
- package/dist/cli-bundle/chunks/chunk-CLD3XNCH.js.map +1 -0
- package/dist/cli-bundle/chunks/{chunk-RANZIID5.js → chunk-FHHBD7PN.js} +38 -7
- package/dist/cli-bundle/chunks/chunk-FHHBD7PN.js.map +7 -0
- package/dist/cli-bundle/chunks/{chunk-GFWHHMVV.js → chunk-FY6Z3FYY.js} +3 -3
- package/dist/cli-bundle/chunks/{chunk-CCUFLH4J.js → chunk-GNIUOLZ2.js} +7 -7
- package/dist/cli-bundle/chunks/{chunk-ZRVSMOMR.js → chunk-GPXQBR3H.js} +12 -12
- package/dist/cli-bundle/chunks/{chunk-SZQCER6S.js → chunk-GUZBNB3G.js} +27 -5
- package/dist/cli-bundle/chunks/chunk-GUZBNB3G.js.map +1 -0
- package/dist/cli-bundle/chunks/{chunk-GPGAYASV.js → chunk-H7EO3QA3.js} +5 -5
- package/dist/cli-bundle/chunks/{chunk-MISYRLEP.js → chunk-HLC3KTLP.js} +2 -2
- package/dist/cli-bundle/chunks/{chunk-KK6YPGH3.js → chunk-HMMMWBK2.js} +2 -2
- package/dist/cli-bundle/chunks/{chunk-4PJQSECJ.js → chunk-HRMHZ4RV.js} +26 -4
- package/dist/cli-bundle/chunks/chunk-HRMHZ4RV.js.map +7 -0
- package/dist/cli-bundle/chunks/{chunk-CJDQB2ED.js → chunk-HV5SSZXF.js} +2 -2
- package/dist/cli-bundle/chunks/{chunk-ATBVS6WW.js → chunk-IMCJBN2Q.js} +23 -14
- package/dist/cli-bundle/chunks/chunk-IMCJBN2Q.js.map +7 -0
- package/dist/cli-bundle/chunks/{chunk-FVXM3GKS.js → chunk-KNGVP5WJ.js} +3 -3
- package/dist/cli-bundle/chunks/{chunk-OIQIXTNB.js → chunk-KR6R465K.js} +304 -215
- package/dist/cli-bundle/chunks/chunk-KR6R465K.js.map +7 -0
- package/dist/cli-bundle/chunks/{chunk-UOVLWB47.js → chunk-LI65XLJR.js} +8 -8
- package/dist/cli-bundle/chunks/{chunk-AXXKLVTW.js → chunk-LIN2BPJ7.js} +2 -2
- package/dist/cli-bundle/chunks/chunk-LMTOY5HE.js +112 -0
- package/dist/cli-bundle/chunks/chunk-LMTOY5HE.js.map +1 -0
- package/dist/cli-bundle/chunks/{chunk-Y2AKE2HS.js → chunk-LQHBENVW.js} +3 -3
- package/dist/cli-bundle/chunks/{chunk-D5X7N6FI.js → chunk-LXO6V66E.js} +14 -14
- package/dist/cli-bundle/chunks/{chunk-TK633IVD.js → chunk-M2PW7EZU.js} +26 -7
- package/dist/cli-bundle/chunks/chunk-M2PW7EZU.js.map +7 -0
- package/dist/cli-bundle/chunks/{chunk-DFIZGAI5.js → chunk-MOYM2C3J.js} +9 -9
- package/dist/cli-bundle/chunks/{chunk-ZQ4F6EC4.js → chunk-MWRS7Z4P.js} +127 -23
- package/dist/cli-bundle/chunks/chunk-MWRS7Z4P.js.map +7 -0
- package/dist/cli-bundle/chunks/{chunk-5PAOPUZX.js → chunk-NHR2QXXZ.js} +24 -15
- package/dist/cli-bundle/chunks/chunk-NHR2QXXZ.js.map +1 -0
- package/dist/cli-bundle/chunks/{chunk-OUF3ARDX.js → chunk-NQL32HQ5.js} +12 -12
- package/dist/cli-bundle/chunks/{chunk-TBQVUNVH.js → chunk-O7HSSFCC.js} +65 -16
- package/dist/cli-bundle/chunks/chunk-O7HSSFCC.js.map +7 -0
- package/dist/cli-bundle/chunks/{chunk-GCAVRLGE.js → chunk-OKSKJKHX.js} +9 -9
- package/dist/cli-bundle/chunks/chunk-QQL5QSTZ.js +1572 -0
- package/dist/cli-bundle/chunks/chunk-QQL5QSTZ.js.map +1 -0
- package/dist/cli-bundle/chunks/{chunk-A6PEXMYN.js → chunk-R3V3YCMH.js} +9 -9
- package/dist/cli-bundle/chunks/{chunk-T2ORWB6D.js → chunk-RVPTZKBC.js} +9 -9
- package/dist/cli-bundle/chunks/{chunk-K47WAYQV.js → chunk-SFFVGNHC.js} +3 -3
- package/dist/cli-bundle/chunks/{chunk-DFUSXJDE.js → chunk-SQPKRA54.js} +14 -14
- package/dist/cli-bundle/chunks/chunk-THDEID2Z.js +115 -0
- package/dist/cli-bundle/chunks/chunk-THDEID2Z.js.map +7 -0
- package/dist/cli-bundle/chunks/{chunk-G5BACLYH.js → chunk-TINUJMWN.js} +92 -17
- package/dist/cli-bundle/chunks/chunk-TINUJMWN.js.map +1 -0
- package/dist/cli-bundle/chunks/{chunk-JB4RGL4V.js → chunk-TNPBPNII.js} +7 -7
- package/dist/cli-bundle/chunks/{chunk-XG7RJYHV.js → chunk-TP4DDY27.js} +6 -6
- package/dist/cli-bundle/chunks/{chunk-ORTLYVA4.js → chunk-TYJJOTUA.js} +6 -6
- package/dist/cli-bundle/chunks/{chunk-HZOS2UG5.js → chunk-UAQOQ7IE.js} +2 -2
- package/dist/cli-bundle/chunks/{chunk-D3WUNETC.js → chunk-UEWA73ZZ.js} +5 -5
- package/dist/cli-bundle/chunks/{chunk-O5IBJE6S.js → chunk-UIIQC5YO.js} +2 -2
- package/dist/cli-bundle/chunks/{chunk-SRVKTWPR.js → chunk-UJUT6AHZ.js} +314 -39
- package/dist/cli-bundle/chunks/chunk-UJUT6AHZ.js.map +7 -0
- package/dist/cli-bundle/chunks/{chunk-SSFMJCPF.js → chunk-UT6WFXW2.js} +6 -7
- package/dist/cli-bundle/chunks/chunk-UT6WFXW2.js.map +1 -0
- package/dist/cli-bundle/chunks/{chunk-KBG47ZOY.js → chunk-UYQ7HXH4.js} +10 -6
- package/dist/cli-bundle/chunks/chunk-UYQ7HXH4.js.map +1 -0
- package/dist/cli-bundle/chunks/{chunk-LDJK7SHN.js → chunk-V6EYFTRL.js} +7 -7
- package/dist/cli-bundle/chunks/{chunk-5IRA6IYD.js → chunk-WAA7UI6M.js} +58 -30
- package/dist/cli-bundle/chunks/chunk-WAA7UI6M.js.map +7 -0
- package/dist/cli-bundle/chunks/{chunk-HPH6X4ZZ.js → chunk-WCQZBDDH.js} +10 -6
- package/dist/cli-bundle/chunks/{chunk-HPH6X4ZZ.js.map → chunk-WCQZBDDH.js.map} +2 -2
- package/dist/cli-bundle/chunks/chunk-WR5567FH.js +1582 -0
- package/dist/cli-bundle/chunks/chunk-WR5567FH.js.map +7 -0
- package/dist/cli-bundle/chunks/{chunk-TQ3ZK6VD.js → chunk-WYEXLDDY.js} +3 -3
- package/dist/cli-bundle/chunks/{chunk-4LTBNUYT.js → chunk-X4IZKYHP.js} +307 -32
- package/dist/cli-bundle/chunks/chunk-X4IZKYHP.js.map +1 -0
- package/dist/cli-bundle/chunks/{chunk-KCMIYKTA.js → chunk-X7UHMKPE.js} +3 -3
- package/dist/cli-bundle/chunks/{chunk-7K24QB23.js → chunk-XS3O2TFJ.js} +27 -8
- package/dist/cli-bundle/chunks/chunk-XS3O2TFJ.js.map +1 -0
- package/dist/cli-bundle/chunks/{chunk-EHXPIKKP.js → chunk-XYNT7UFP.js} +303 -207
- package/dist/cli-bundle/chunks/chunk-XYNT7UFP.js.map +1 -0
- package/dist/cli-bundle/chunks/{chunk-CWT53EYT.js → chunk-YBZW2QQ7.js} +6 -6
- package/dist/cli-bundle/chunks/{chunk-VGO2T3TY.js → chunk-YO3THIJF.js} +7 -7
- package/dist/cli-bundle/chunks/{chunk-5KB4X7YY.js → chunk-YPH4ESA2.js} +66 -17
- package/dist/cli-bundle/chunks/chunk-YPH4ESA2.js.map +1 -0
- package/dist/cli-bundle/chunks/{claim-ZFA7HKU4.js → claim-BJ4QMPJC.js} +10 -10
- package/dist/cli-bundle/chunks/{claim-AZLP7YFO.js → claim-KW743OSW.js} +10 -10
- package/dist/cli-bundle/chunks/close-P4ZBKODL.js +13 -0
- package/dist/cli-bundle/chunks/{close-65DFYAVS.js → close-SYHSRZDC.js} +8 -8
- package/dist/cli-bundle/chunks/{close-many-UKZSQGM7.js → close-many-DBLEYFOY.js} +29 -26
- package/dist/cli-bundle/chunks/close-many-DBLEYFOY.js.map +7 -0
- package/dist/cli-bundle/chunks/{close-many-AKPZNSGI.js → close-many-LAC5VR4G.js} +30 -27
- package/dist/cli-bundle/chunks/close-many-LAC5VR4G.js.map +1 -0
- package/dist/cli-bundle/chunks/{comments-AGBNSJJH.js → comments-JEO6HHVM.js} +10 -10
- package/dist/cli-bundle/chunks/{comments-CJWXQI7X.js → comments-YT2PQ5DD.js} +10 -10
- package/dist/cli-bundle/chunks/{config-DDPYIA6J.js → config-RZRVS3ZV.js} +127 -11
- package/dist/cli-bundle/chunks/config-RZRVS3ZV.js.map +1 -0
- package/dist/cli-bundle/chunks/{config-5ON3ADRH.js → config-YJSAAADD.js} +128 -12
- package/dist/cli-bundle/chunks/config-YJSAAADD.js.map +7 -0
- package/dist/cli-bundle/chunks/{context-E6U3DWVM.js → context-LGYEEKAW.js} +14 -14
- package/dist/cli-bundle/chunks/{context-E6U3DWVM.js.map → context-LGYEEKAW.js.map} +2 -2
- package/dist/cli-bundle/chunks/{context-ZOJEN5VT.js → context-ZUH5IOOI.js} +15 -15
- package/dist/cli-bundle/chunks/context-ZUH5IOOI.js.map +1 -0
- package/dist/cli-bundle/chunks/{contracts-CXSFM45B.js → contracts-YXJ6NXKH.js} +11 -5
- package/dist/cli-bundle/chunks/contracts-YXJ6NXKH.js.map +7 -0
- package/dist/cli-bundle/chunks/{contracts-LCSX5R53.js → contracts-ZIBXROPE.js} +12 -6
- package/dist/cli-bundle/chunks/contracts-ZIBXROPE.js.map +1 -0
- package/dist/cli-bundle/chunks/copy-BZALX5MQ.js +182 -0
- package/dist/cli-bundle/chunks/copy-BZALX5MQ.js.map +1 -0
- package/dist/cli-bundle/chunks/copy-YPWEIAPD.js +185 -0
- package/dist/cli-bundle/chunks/copy-YPWEIAPD.js.map +7 -0
- package/dist/cli-bundle/chunks/create-4DS2QWQC.js +27 -0
- package/dist/cli-bundle/chunks/{create-WYFKN2U4.js → create-CF7EVRX7.js} +13 -13
- package/dist/cli-bundle/chunks/{delete-ZXWC56WO.js → delete-KR4VBWVE.js} +7 -7
- package/dist/cli-bundle/chunks/{delete-RONNH4F4.js → delete-XLZRTRKR.js} +7 -7
- package/dist/cli-bundle/chunks/{deps-WII3O4HB.js → deps-2YTXD3VM.js} +7 -7
- package/dist/cli-bundle/chunks/{deps-EHXIFOZR.js → deps-GZMFMTGS.js} +7 -7
- package/dist/cli-bundle/chunks/{docs-PDREIMLS.js → docs-SLROFEQ4.js} +9 -9
- package/dist/cli-bundle/chunks/{docs-JMVCFNHH.js → docs-ZHISRR2D.js} +9 -9
- package/dist/cli-bundle/chunks/{extension-G6UXSM5S.js → extension-3C7OOI4F.js} +8 -6
- package/dist/cli-bundle/chunks/{extension-B4ROVWJD.js → extension-XYCUXICD.js} +8 -6
- package/dist/cli-bundle/chunks/{files-2PN7UM2D.js → files-FUWF2FYJ.js} +9 -9
- package/dist/cli-bundle/chunks/{files-MXYS5W4M.js → files-J4I5IU4O.js} +9 -9
- package/dist/cli-bundle/chunks/gc-34NXSNSN.js +362 -0
- package/dist/cli-bundle/chunks/gc-34NXSNSN.js.map +1 -0
- package/dist/cli-bundle/chunks/gc-SPIIZX3A.js +372 -0
- package/dist/cli-bundle/chunks/gc-SPIIZX3A.js.map +7 -0
- package/dist/cli-bundle/chunks/{get-WXMLRG7M.js → get-SZKNRHMA.js} +34 -12
- package/dist/cli-bundle/chunks/get-SZKNRHMA.js.map +1 -0
- package/dist/cli-bundle/chunks/{get-CINFEUIY.js → get-VITKYP6S.js} +33 -11
- package/dist/cli-bundle/chunks/get-VITKYP6S.js.map +7 -0
- package/dist/cli-bundle/chunks/{health-IT5DBPRJ.js → health-4SNTA2TF.js} +27 -13
- package/dist/cli-bundle/chunks/health-4SNTA2TF.js.map +7 -0
- package/dist/cli-bundle/chunks/{health-5VPOJQ53.js → health-7G3EPM57.js} +28 -14
- package/dist/cli-bundle/chunks/health-7G3EPM57.js.map +1 -0
- package/dist/cli-bundle/chunks/{history-FLZIP7PM.js → history-SDAWYZR3.js} +10 -10
- package/dist/cli-bundle/chunks/history-YDUEILKP.js +20 -0
- package/dist/cli-bundle/chunks/history-compact-DMW536VH.js +287 -0
- package/dist/cli-bundle/chunks/history-compact-DMW536VH.js.map +1 -0
- package/dist/cli-bundle/chunks/history-compact-POTZGG7K.js +290 -0
- package/dist/cli-bundle/chunks/history-compact-POTZGG7K.js.map +7 -0
- package/dist/cli-bundle/chunks/{history-redact-SSZBAD76.js → history-redact-EPJ7GENL.js} +11 -11
- package/dist/cli-bundle/chunks/history-redact-KASLLPE7.js +19 -0
- package/dist/cli-bundle/chunks/{history-repair-X7CO5JJZ.js → history-repair-IJ7LLBET.js} +11 -11
- package/dist/cli-bundle/chunks/{history-repair-KC5ZOJRZ.js → history-repair-YNESJRT6.js} +11 -11
- package/dist/cli-bundle/chunks/init-IGSS4GNH.js +17 -0
- package/dist/cli-bundle/chunks/{init-6MRFVOLH.js → init-YHVBTEET.js} +9 -8
- package/dist/cli-bundle/chunks/{learnings-DCX55BNX.js → learnings-4YBMIVCZ.js} +10 -10
- package/dist/cli-bundle/chunks/{learnings-A3CLB5CO.js → learnings-T4PF24YN.js} +10 -10
- package/dist/cli-bundle/chunks/{list-DBRECOG4.js → list-3KEVBOYW.js} +10 -10
- package/dist/cli-bundle/chunks/list-E44O2K64.js +20 -0
- package/dist/cli-bundle/chunks/{notes-42LIC3UE.js → notes-FLUCNJSH.js} +10 -10
- package/dist/cli-bundle/chunks/{notes-P5O3VMQ3.js → notes-GJKALVZM.js} +10 -10
- package/dist/cli-bundle/chunks/{plan-HDQXEUKD.js → plan-T5MMZLI3.js} +13 -13
- package/dist/cli-bundle/chunks/{plan-IGTE3WOJ.js → plan-YYMIL3HV.js} +13 -13
- package/dist/cli-bundle/chunks/{register-list-query-EMNSIUO4.js → register-list-query-I65EZ3HB.js} +33 -27
- package/dist/cli-bundle/chunks/register-list-query-I65EZ3HB.js.map +1 -0
- package/dist/cli-bundle/chunks/{register-list-query-AG3XKXWL.js → register-list-query-OECMHO4G.js} +32 -26
- package/dist/cli-bundle/chunks/register-list-query-OECMHO4G.js.map +7 -0
- package/dist/cli-bundle/chunks/{register-mutation-M3YS6XDO.js → register-mutation-2FLXORLR.js} +65 -47
- package/dist/cli-bundle/chunks/register-mutation-2FLXORLR.js.map +1 -0
- package/dist/cli-bundle/chunks/{register-mutation-RSMT6DPK.js → register-mutation-5GPDEKHR.js} +64 -46
- package/dist/cli-bundle/chunks/register-mutation-5GPDEKHR.js.map +7 -0
- package/dist/cli-bundle/chunks/{register-operations-KYUOOOOD.js → register-operations-BNGAUMGK.js} +71 -35
- package/dist/cli-bundle/chunks/register-operations-BNGAUMGK.js.map +1 -0
- package/dist/cli-bundle/chunks/{register-operations-Q54JQZUN.js → register-operations-GQKT35H5.js} +70 -34
- package/dist/cli-bundle/chunks/register-operations-GQKT35H5.js.map +7 -0
- package/dist/cli-bundle/chunks/{register-setup-DI6P7X75.js → register-setup-DNDCGZ4O.js} +18 -18
- package/dist/cli-bundle/chunks/{register-setup-DI6P7X75.js.map → register-setup-DNDCGZ4O.js.map} +1 -1
- package/dist/cli-bundle/chunks/{register-setup-YJKIQRKA.js → register-setup-EJY44FPH.js} +17 -17
- package/dist/cli-bundle/chunks/{register-setup-YJKIQRKA.js.map → register-setup-EJY44FPH.js.map} +2 -2
- package/dist/cli-bundle/chunks/{restore-2XVTBLKQ.js → restore-DDJGVZIN.js} +11 -11
- package/dist/cli-bundle/chunks/restore-SJSASGZP.js +17 -0
- package/dist/cli-bundle/chunks/{schema-V6BX65Q2.js → schema-B7NQ6XVP.js} +8 -8
- package/dist/cli-bundle/chunks/{schema-LVXZWFGY.js → schema-HEGYH6CE.js} +8 -8
- package/dist/cli-bundle/chunks/{search-C7NPB7G7.js → search-DVVQ4UO2.js} +421 -42
- package/dist/cli-bundle/chunks/search-DVVQ4UO2.js.map +1 -0
- package/dist/cli-bundle/chunks/{search-5A3BMFA7.js → search-JNEZJV7H.js} +427 -41
- package/dist/cli-bundle/chunks/search-JNEZJV7H.js.map +7 -0
- package/dist/cli-bundle/chunks/stats-7JDIJRDH.js +202 -0
- package/dist/cli-bundle/chunks/stats-7JDIJRDH.js.map +1 -0
- package/dist/cli-bundle/chunks/stats-SYTJRR4Z.js +212 -0
- package/dist/cli-bundle/chunks/stats-SYTJRR4Z.js.map +7 -0
- package/dist/cli-bundle/chunks/telemetry-4HHWD5Y7.js +251 -0
- package/dist/cli-bundle/chunks/telemetry-4HHWD5Y7.js.map +7 -0
- package/dist/cli-bundle/chunks/telemetry-EGWP7ZUX.js +248 -0
- package/dist/cli-bundle/chunks/telemetry-EGWP7ZUX.js.map +1 -0
- package/dist/cli-bundle/chunks/{test-OFYONO3C.js → test-IIELLSZX.js} +14 -13
- package/dist/cli-bundle/chunks/test-ML5RLWXE.js +32 -0
- package/dist/cli-bundle/chunks/{test-all-EEMKNTGU.js → test-all-7DNCMML7.js} +14 -13
- package/dist/cli-bundle/chunks/{test-all-EEMKNTGU.js.map → test-all-7DNCMML7.js.map} +1 -1
- package/dist/cli-bundle/chunks/{test-all-OJE6CIO7.js → test-all-IHTUJRRC.js} +16 -15
- package/dist/cli-bundle/chunks/{test-all-OJE6CIO7.js.map → test-all-IHTUJRRC.js.map} +1 -1
- package/dist/cli-bundle/chunks/{test-runs-IPOPFOAF.js → test-runs-5FEMBV3A.js} +5 -5
- package/dist/cli-bundle/chunks/{test-runs-L2M7WKH7.js → test-runs-RNKZ37PS.js} +5 -5
- package/dist/cli-bundle/chunks/update-6C67X4KS.js +21 -0
- package/dist/cli-bundle/chunks/update-VF26YPT3.js +25 -0
- package/dist/cli-bundle/chunks/{update-many-322CCH2L.js → update-many-BSZZZYXY.js} +22 -22
- package/dist/cli-bundle/chunks/{update-many-DYWGW57M.js → update-many-BWKJJEBF.js} +22 -22
- package/dist/cli-bundle/chunks/{upgrade-3W3RVSNM.js → upgrade-RSE5PC44.js} +7 -6
- package/dist/cli-bundle/chunks/{upgrade-3W3RVSNM.js.map → upgrade-RSE5PC44.js.map} +1 -1
- package/dist/cli-bundle/chunks/{upgrade-2U727SAM.js → upgrade-YWI5DJFA.js} +5 -4
- package/dist/cli-bundle/chunks/{upgrade-2U727SAM.js.map → upgrade-YWI5DJFA.js.map} +1 -1
- package/dist/cli-bundle/chunks/{validate-ZFVWPEEN.js → validate-NK3WKB7C.js} +18 -17
- package/dist/cli-bundle/chunks/{validate-ZFVWPEEN.js.map → validate-NK3WKB7C.js.map} +1 -1
- package/dist/cli-bundle/chunks/{validate-GZ24NYHO.js → validate-UCEOB7S6.js} +20 -19
- package/dist/cli-bundle/chunks/{validate-GZ24NYHO.js.map → validate-UCEOB7S6.js.map} +1 -1
- package/dist/cli-bundle/main.js +198 -1523
- package/dist/cli-bundle/main.js.map +4 -4
- package/dist/core/config/nested-settings.d.ts +8 -6
- package/dist/core/config/nested-settings.js +71 -5
- package/dist/core/config/nested-settings.js.map +1 -1
- package/dist/core/config/positional-value.js +4 -2
- package/dist/core/config/positional-value.js.map +1 -1
- package/dist/core/extensions/extension-types.d.ts +36 -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 +46 -5
- package/dist/core/extensions/loader.js.map +1 -1
- package/dist/core/history/drift-scan.d.ts +3 -4
- package/dist/core/history/drift-scan.js +71 -18
- package/dist/core/history/drift-scan.js.map +1 -1
- package/dist/core/history/history-diff.d.ts +47 -0
- package/dist/core/history/history-diff.js +152 -0
- package/dist/core/history/history-diff.js.map +1 -0
- package/dist/core/history/history-storage-stats.d.ts +31 -0
- package/dist/core/history/history-storage-stats.js +101 -0
- package/dist/core/history/history-storage-stats.js.map +1 -0
- package/dist/core/item/id.js +4 -5
- package/dist/core/item/id.js.map +1 -1
- package/dist/core/item/item-format.js +7 -3
- package/dist/core/item/item-format.js.map +1 -1
- package/dist/core/item/toon-decode.d.ts +7 -0
- package/dist/core/item/toon-decode.js +11 -2
- package/dist/core/item/toon-decode.js.map +1 -1
- package/dist/core/item/type-registry.js +25 -7
- package/dist/core/item/type-registry.js.map +1 -1
- package/dist/core/lock/lock-gc.d.ts +46 -0
- package/dist/core/lock/lock-gc.js +194 -0
- package/dist/core/lock/lock-gc.js.map +1 -0
- package/dist/core/search/cache.js +5 -3
- package/dist/core/search/cache.js.map +1 -1
- package/dist/core/search/corpus.d.ts +6 -0
- package/dist/core/search/corpus.js +22 -9
- package/dist/core/search/corpus.js.map +1 -1
- package/dist/core/search/embedding-batches.js +10 -7
- package/dist/core/search/embedding-batches.js.map +1 -1
- package/dist/core/search/relevance.d.ts +29 -0
- package/dist/core/search/relevance.js +226 -0
- package/dist/core/search/relevance.js.map +1 -0
- package/dist/core/search/vector-stores.d.ts +3 -0
- package/dist/core/search/vector-stores.js +23 -10
- package/dist/core/search/vector-stores.js.map +1 -1
- package/dist/core/shared/constants.js +15 -2
- package/dist/core/shared/constants.js.map +1 -1
- package/dist/core/shared/errors.d.ts +6 -0
- package/dist/core/shared/errors.js +2 -2
- package/dist/core/shared/errors.js.map +1 -1
- package/dist/core/shared/primitives.d.ts +8 -0
- package/dist/core/shared/primitives.js +29 -2
- package/dist/core/shared/primitives.js.map +1 -1
- package/dist/core/shared/serial-queue.d.ts +12 -0
- package/dist/core/shared/serial-queue.js +43 -0
- package/dist/core/shared/serial-queue.js.map +1 -0
- package/dist/core/shared/time.js +42 -6
- package/dist/core/shared/time.js.map +1 -1
- package/dist/core/store/paths.js +25 -7
- package/dist/core/store/paths.js.map +1 -1
- package/dist/core/store/settings-validator.d.ts +11 -0
- package/dist/core/store/settings-validator.js +14 -2
- package/dist/core/store/settings-validator.js.map +1 -1
- package/dist/core/store/settings.d.ts +19 -1
- package/dist/core/store/settings.js +199 -17
- package/dist/core/store/settings.js.map +1 -1
- package/dist/core/telemetry/observability.js +3 -3
- package/dist/core/telemetry/observability.js.map +1 -1
- package/dist/core/telemetry/runtime.js +99 -6
- package/dist/core/telemetry/runtime.js.map +1 -1
- package/dist/mcp/server.d.ts +1 -0
- package/dist/mcp/server.js +187 -42
- package/dist/mcp/server.js.map +1 -1
- package/dist/sdk/cli-contracts/commander-types.d.ts +1 -0
- package/dist/sdk/cli-contracts/commander-types.js +13 -2
- package/dist/sdk/cli-contracts/commander-types.js.map +1 -1
- package/dist/sdk/cli-contracts/enum-contracts.d.ts +2 -2
- package/dist/sdk/cli-contracts/enum-contracts.js +8 -2
- package/dist/sdk/cli-contracts/enum-contracts.js.map +1 -1
- package/dist/sdk/cli-contracts/tool-option-contracts.js +7 -2
- package/dist/sdk/cli-contracts/tool-option-contracts.js.map +1 -1
- package/dist/sdk/cli-contracts/tool-parameter-tables.js +39 -7
- package/dist/sdk/cli-contracts/tool-parameter-tables.js.map +1 -1
- package/dist/sdk/cli-contracts.d.ts +26 -1
- package/dist/sdk/cli-contracts.js +75 -11
- package/dist/sdk/cli-contracts.js.map +1 -1
- package/dist/sdk/index.d.ts +2 -2
- package/dist/sdk/index.js +3 -3
- package/dist/sdk/index.js.map +1 -1
- package/dist/sdk/testing.d.ts +51 -1
- package/dist/sdk/testing.js +93 -2
- package/dist/sdk/testing.js.map +1 -1
- package/dist/types.d.ts +14 -0
- package/dist/types.js +2 -2
- package/dist/types.js.map +1 -1
- package/docs/AGENT_GUIDE.md +1 -1
- package/docs/ARCHITECTURE.md +11 -1
- package/docs/CLAUDE_CODE_PLUGIN.md +4 -4
- package/docs/CODEX_PLUGIN.md +1 -1
- package/docs/COMMANDS.md +42 -4
- package/docs/CONFIGURATION.md +31 -2
- package/docs/EXTENSIONS.md +28 -8
- package/docs/EXTENSION_AUTHOR_CONTRACTS.md +73 -0
- package/docs/ONBOARDING.md +165 -0
- package/docs/QUICKSTART.md +2 -2
- package/docs/README.md +12 -4
- package/docs/RELEASING.md +36 -1
- package/docs/SDK.md +66 -0
- package/docs/TESTING.md +33 -1
- package/package.json +6 -2
- package/packages/pm-governance-audit/README.md +14 -0
- package/packages/pm-governance-audit/extensions/governance-audit/index.js +39 -1
- package/packages/pm-governance-audit/extensions/governance-audit/index.ts +40 -2
- package/packages/pm-governance-audit/extensions/governance-audit/manifest.json +1 -1
- package/packages/pm-governance-audit/package.json +4 -2
- package/packages/pm-lifecycle-hooks/README.md +21 -0
- package/packages/pm-search-advanced/README.md +38 -0
- package/packages/pm-search-advanced/extensions/search-advanced/index.js +17 -0
- package/packages/pm-search-advanced/extensions/search-advanced/index.ts +17 -0
- package/packages/pm-search-advanced/extensions/search-advanced/runtime.js +216 -1
- package/packages/pm-search-advanced/extensions/search-advanced/runtime.ts +271 -2
- package/plugins/pm-claude/.claude-plugin/plugin.json +1 -1
- package/plugins/pm-claude/README.md +11 -8
- package/plugins/pm-claude/agents/pm-coordinator.md +1 -1
- package/plugins/pm-claude/commands/pm-init.md +1 -1
- package/plugins/pm-codex/README.md +1 -1
- package/dist/cli-bundle/chunks/activity-P5BUMWP3.js +0 -16
- package/dist/cli-bundle/chunks/aggregate-J35K7WZB.js.map +0 -1
- package/dist/cli-bundle/chunks/aggregate-OOAGKWRG.js.map +0 -7
- package/dist/cli-bundle/chunks/chunk-4LTBNUYT.js.map +0 -1
- package/dist/cli-bundle/chunks/chunk-4PJQSECJ.js.map +0 -7
- package/dist/cli-bundle/chunks/chunk-4QCR4QW3.js.map +0 -1
- package/dist/cli-bundle/chunks/chunk-5IRA6IYD.js.map +0 -7
- package/dist/cli-bundle/chunks/chunk-5KB4X7YY.js.map +0 -1
- package/dist/cli-bundle/chunks/chunk-5PAOPUZX.js.map +0 -1
- package/dist/cli-bundle/chunks/chunk-7K24QB23.js.map +0 -1
- package/dist/cli-bundle/chunks/chunk-ATBVS6WW.js.map +0 -7
- package/dist/cli-bundle/chunks/chunk-EHXPIKKP.js.map +0 -1
- package/dist/cli-bundle/chunks/chunk-G5BACLYH.js.map +0 -1
- package/dist/cli-bundle/chunks/chunk-GNHVV4SY.js.map +0 -1
- package/dist/cli-bundle/chunks/chunk-KA24HME7.js.map +0 -7
- package/dist/cli-bundle/chunks/chunk-KBG47ZOY.js.map +0 -1
- package/dist/cli-bundle/chunks/chunk-N5YF3VFN.js.map +0 -7
- package/dist/cli-bundle/chunks/chunk-NQP3ECKF.js.map +0 -1
- package/dist/cli-bundle/chunks/chunk-OIQIXTNB.js.map +0 -7
- package/dist/cli-bundle/chunks/chunk-RANZIID5.js.map +0 -7
- package/dist/cli-bundle/chunks/chunk-SRVKTWPR.js.map +0 -7
- package/dist/cli-bundle/chunks/chunk-SSFMJCPF.js.map +0 -1
- package/dist/cli-bundle/chunks/chunk-SZQCER6S.js.map +0 -1
- package/dist/cli-bundle/chunks/chunk-TBQVUNVH.js.map +0 -7
- package/dist/cli-bundle/chunks/chunk-TK633IVD.js.map +0 -7
- package/dist/cli-bundle/chunks/chunk-V3JQ4IPL.js.map +0 -1
- package/dist/cli-bundle/chunks/chunk-WIKR7KFL.js.map +0 -7
- package/dist/cli-bundle/chunks/chunk-ZQ4F6EC4.js.map +0 -7
- package/dist/cli-bundle/chunks/close-RMHQ3KWH.js +0 -13
- package/dist/cli-bundle/chunks/close-many-AKPZNSGI.js.map +0 -1
- package/dist/cli-bundle/chunks/close-many-UKZSQGM7.js.map +0 -7
- package/dist/cli-bundle/chunks/config-5ON3ADRH.js.map +0 -7
- package/dist/cli-bundle/chunks/config-DDPYIA6J.js.map +0 -1
- package/dist/cli-bundle/chunks/context-ZOJEN5VT.js.map +0 -1
- package/dist/cli-bundle/chunks/contracts-CXSFM45B.js.map +0 -7
- package/dist/cli-bundle/chunks/contracts-LCSX5R53.js.map +0 -1
- package/dist/cli-bundle/chunks/create-ATONSAZW.js +0 -27
- package/dist/cli-bundle/chunks/gc-GT552UJH.js +0 -178
- package/dist/cli-bundle/chunks/gc-GT552UJH.js.map +0 -1
- package/dist/cli-bundle/chunks/gc-QNBRJG6H.js +0 -181
- package/dist/cli-bundle/chunks/gc-QNBRJG6H.js.map +0 -7
- package/dist/cli-bundle/chunks/get-CINFEUIY.js.map +0 -7
- package/dist/cli-bundle/chunks/get-WXMLRG7M.js.map +0 -1
- package/dist/cli-bundle/chunks/health-5VPOJQ53.js.map +0 -1
- package/dist/cli-bundle/chunks/health-IT5DBPRJ.js.map +0 -7
- package/dist/cli-bundle/chunks/history-6FC4H6HI.js +0 -20
- package/dist/cli-bundle/chunks/history-redact-XKYEZDBL.js +0 -19
- package/dist/cli-bundle/chunks/init-KHX3FEEM.js +0 -16
- package/dist/cli-bundle/chunks/list-53LZ2AEO.js +0 -20
- package/dist/cli-bundle/chunks/register-list-query-AG3XKXWL.js.map +0 -7
- package/dist/cli-bundle/chunks/register-list-query-EMNSIUO4.js.map +0 -1
- package/dist/cli-bundle/chunks/register-mutation-M3YS6XDO.js.map +0 -1
- package/dist/cli-bundle/chunks/register-mutation-RSMT6DPK.js.map +0 -7
- package/dist/cli-bundle/chunks/register-operations-KYUOOOOD.js.map +0 -1
- package/dist/cli-bundle/chunks/register-operations-Q54JQZUN.js.map +0 -7
- package/dist/cli-bundle/chunks/restore-JL5QIH7H.js +0 -17
- package/dist/cli-bundle/chunks/search-5A3BMFA7.js.map +0 -7
- package/dist/cli-bundle/chunks/search-C7NPB7G7.js.map +0 -1
- package/dist/cli-bundle/chunks/stats-FNLYVXTB.js +0 -120
- package/dist/cli-bundle/chunks/stats-FNLYVXTB.js.map +0 -1
- package/dist/cli-bundle/chunks/stats-Y2CBTZSL.js +0 -123
- package/dist/cli-bundle/chunks/stats-Y2CBTZSL.js.map +0 -7
- package/dist/cli-bundle/chunks/test-RJ4ZF35X.js +0 -31
- package/dist/cli-bundle/chunks/update-6YEHPVXH.js +0 -25
- package/dist/cli-bundle/chunks/update-PYLVHMRD.js +0 -21
- /package/dist/cli-bundle/chunks/{activity-P5BUMWP3.js.map → activity-5UROHJ3D.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{activity-3RWRRNOW.js.map → activity-YVB3QRTE.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{append-PNN6UIBZ.js.map → append-2PPYFAG5.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{append-5JE3YGXU.js.map → append-AUGT5W6J.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-26KTVXJW.js.map → chunk-2IF7WLB7.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-XX5LRINW.js.map → chunk-2OJHLWBZ.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-ASQM3IF5.js.map → chunk-3A2CMEM7.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-S3CV7JGJ.js.map → chunk-3EOBJOF4.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-B3N4TKNL.js.map → chunk-5AXMRKN5.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-JQI2HE55.js.map → chunk-6J4K6JLA.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-BNL6S7QH.js.map → chunk-AVJD6VTA.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-RQAWLSUU.js.map → chunk-B5RF3IP7.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-UFCG3SWR.js.map → chunk-C5W2UH56.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-3OH4DAEB.js.map → chunk-CKLBZHS7.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-GFWHHMVV.js.map → chunk-FY6Z3FYY.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-CCUFLH4J.js.map → chunk-GNIUOLZ2.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-ZRVSMOMR.js.map → chunk-GPXQBR3H.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-GPGAYASV.js.map → chunk-H7EO3QA3.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-MISYRLEP.js.map → chunk-HLC3KTLP.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-KK6YPGH3.js.map → chunk-HMMMWBK2.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-CJDQB2ED.js.map → chunk-HV5SSZXF.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-FVXM3GKS.js.map → chunk-KNGVP5WJ.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-UOVLWB47.js.map → chunk-LI65XLJR.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-AXXKLVTW.js.map → chunk-LIN2BPJ7.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-Y2AKE2HS.js.map → chunk-LQHBENVW.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-D5X7N6FI.js.map → chunk-LXO6V66E.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-DFIZGAI5.js.map → chunk-MOYM2C3J.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-OUF3ARDX.js.map → chunk-NQL32HQ5.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-GCAVRLGE.js.map → chunk-OKSKJKHX.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-A6PEXMYN.js.map → chunk-R3V3YCMH.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-T2ORWB6D.js.map → chunk-RVPTZKBC.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-K47WAYQV.js.map → chunk-SFFVGNHC.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-DFUSXJDE.js.map → chunk-SQPKRA54.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-JB4RGL4V.js.map → chunk-TNPBPNII.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-XG7RJYHV.js.map → chunk-TP4DDY27.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-ORTLYVA4.js.map → chunk-TYJJOTUA.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-HZOS2UG5.js.map → chunk-UAQOQ7IE.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-D3WUNETC.js.map → chunk-UEWA73ZZ.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-O5IBJE6S.js.map → chunk-UIIQC5YO.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-LDJK7SHN.js.map → chunk-V6EYFTRL.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-TQ3ZK6VD.js.map → chunk-WYEXLDDY.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-KCMIYKTA.js.map → chunk-X7UHMKPE.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-CWT53EYT.js.map → chunk-YBZW2QQ7.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-VGO2T3TY.js.map → chunk-YO3THIJF.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{claim-ZFA7HKU4.js.map → claim-BJ4QMPJC.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{claim-AZLP7YFO.js.map → claim-KW743OSW.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{close-RMHQ3KWH.js.map → close-P4ZBKODL.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{close-65DFYAVS.js.map → close-SYHSRZDC.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{comments-AGBNSJJH.js.map → comments-JEO6HHVM.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{comments-CJWXQI7X.js.map → comments-YT2PQ5DD.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{create-ATONSAZW.js.map → create-4DS2QWQC.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{create-WYFKN2U4.js.map → create-CF7EVRX7.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{delete-ZXWC56WO.js.map → delete-KR4VBWVE.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{delete-RONNH4F4.js.map → delete-XLZRTRKR.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{deps-WII3O4HB.js.map → deps-2YTXD3VM.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{deps-EHXIFOZR.js.map → deps-GZMFMTGS.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{docs-PDREIMLS.js.map → docs-SLROFEQ4.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{docs-JMVCFNHH.js.map → docs-ZHISRR2D.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{extension-G6UXSM5S.js.map → extension-3C7OOI4F.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{extension-B4ROVWJD.js.map → extension-XYCUXICD.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{files-2PN7UM2D.js.map → files-FUWF2FYJ.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{files-MXYS5W4M.js.map → files-J4I5IU4O.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{history-FLZIP7PM.js.map → history-SDAWYZR3.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{history-6FC4H6HI.js.map → history-YDUEILKP.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{history-redact-SSZBAD76.js.map → history-redact-EPJ7GENL.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{history-redact-XKYEZDBL.js.map → history-redact-KASLLPE7.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{history-repair-X7CO5JJZ.js.map → history-repair-IJ7LLBET.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{history-repair-KC5ZOJRZ.js.map → history-repair-YNESJRT6.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{init-KHX3FEEM.js.map → init-IGSS4GNH.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{init-6MRFVOLH.js.map → init-YHVBTEET.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{learnings-DCX55BNX.js.map → learnings-4YBMIVCZ.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{learnings-A3CLB5CO.js.map → learnings-T4PF24YN.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{list-DBRECOG4.js.map → list-3KEVBOYW.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{list-53LZ2AEO.js.map → list-E44O2K64.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{notes-42LIC3UE.js.map → notes-FLUCNJSH.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{notes-P5O3VMQ3.js.map → notes-GJKALVZM.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{plan-HDQXEUKD.js.map → plan-T5MMZLI3.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{plan-IGTE3WOJ.js.map → plan-YYMIL3HV.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{restore-2XVTBLKQ.js.map → restore-DDJGVZIN.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{restore-JL5QIH7H.js.map → restore-SJSASGZP.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{schema-V6BX65Q2.js.map → schema-B7NQ6XVP.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{schema-LVXZWFGY.js.map → schema-HEGYH6CE.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{test-OFYONO3C.js.map → test-IIELLSZX.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{test-RJ4ZF35X.js.map → test-ML5RLWXE.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{test-runs-IPOPFOAF.js.map → test-runs-5FEMBV3A.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{test-runs-L2M7WKH7.js.map → test-runs-RNKZ37PS.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{update-PYLVHMRD.js.map → update-6C67X4KS.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{update-6YEHPVXH.js.map → update-VF26YPT3.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{update-many-322CCH2L.js.map → update-many-BSZZZYXY.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{update-many-DYWGW57M.js.map → update-many-BWKJJEBF.js.map} +0 -0
|
@@ -11,40 +11,42 @@ import {
|
|
|
11
11
|
resolveEmbeddingProviders,
|
|
12
12
|
resolveSettingsWithSemanticRuntimeDefaults,
|
|
13
13
|
resolveVectorStores
|
|
14
|
-
} from "./chunk-
|
|
14
|
+
} from "./chunk-WAA7UI6M.js";
|
|
15
15
|
import {
|
|
16
16
|
collectRuntimeFilterValues,
|
|
17
17
|
matchesRuntimeFilters,
|
|
18
18
|
parseStatusFilterCsv
|
|
19
|
-
} from "./chunk-
|
|
19
|
+
} from "./chunk-B5RF3IP7.js";
|
|
20
20
|
import {
|
|
21
21
|
parseLimit,
|
|
22
22
|
parsePriority,
|
|
23
23
|
parseType
|
|
24
|
-
} from "./chunk-
|
|
24
|
+
} from "./chunk-SFFVGNHC.js";
|
|
25
25
|
import "./chunk-EAOG77HM.js";
|
|
26
26
|
import {
|
|
27
27
|
collectRegisteredItemFieldNames,
|
|
28
28
|
listAllDocumentCandidatesCached,
|
|
29
29
|
listAllFrontMatter,
|
|
30
30
|
toItemRecord
|
|
31
|
-
} from "./chunk-
|
|
32
|
-
import "./chunk-
|
|
31
|
+
} from "./chunk-TP4DDY27.js";
|
|
32
|
+
import "./chunk-2IXCHCLM.js";
|
|
33
33
|
import {
|
|
34
34
|
isTerminalStatus,
|
|
35
35
|
parseItemDocument
|
|
36
|
-
} from "./chunk-
|
|
36
|
+
} from "./chunk-WCQZBDDH.js";
|
|
37
37
|
import {
|
|
38
38
|
resolveItemTypeRegistry
|
|
39
|
-
} from "./chunk-
|
|
39
|
+
} from "./chunk-HRMHZ4RV.js";
|
|
40
40
|
import {
|
|
41
41
|
compareTimestampStrings,
|
|
42
42
|
nowIso,
|
|
43
43
|
resolveIsoOrRelative
|
|
44
|
-
} from "./chunk-
|
|
44
|
+
} from "./chunk-FHHBD7PN.js";
|
|
45
45
|
import {
|
|
46
46
|
EXIT_CODE,
|
|
47
47
|
PmCliError,
|
|
48
|
+
coerceNumberInRange,
|
|
49
|
+
coercePositiveInteger,
|
|
48
50
|
getActiveExtensionRegistrations,
|
|
49
51
|
getItemPath,
|
|
50
52
|
getSettingsPath,
|
|
@@ -56,8 +58,9 @@ import {
|
|
|
56
58
|
resolveRuntimeFieldRegistry,
|
|
57
59
|
resolveRuntimeStatusRegistry,
|
|
58
60
|
runActiveOnReadHooks,
|
|
61
|
+
toNonEmptyString,
|
|
59
62
|
toNonEmptyStringOrUndefined
|
|
60
|
-
} from "./chunk-
|
|
63
|
+
} from "./chunk-UJUT6AHZ.js";
|
|
61
64
|
|
|
62
65
|
// dist/cli/commands/search.js
|
|
63
66
|
import fs from "node:fs/promises";
|
|
@@ -116,11 +119,217 @@ function tokenizeAlphaNumeric(value) {
|
|
|
116
119
|
return normalizeLowercaseWhitespace(value).split(/[^a-z0-9]+/).filter((token) => token.length > 0);
|
|
117
120
|
}
|
|
118
121
|
|
|
122
|
+
// dist/core/search/relevance.js
|
|
123
|
+
!(function() {
|
|
124
|
+
try {
|
|
125
|
+
var e = "undefined" != typeof window ? window : "undefined" != typeof global ? global : "undefined" != typeof globalThis ? globalThis : "undefined" != typeof self ? self : {}, n = new e.Error().stack;
|
|
126
|
+
n && (e._sentryDebugIds = e._sentryDebugIds || {}, e._sentryDebugIds[n] = "62bb2377-76f4-515c-b4ce-9b046f112b79");
|
|
127
|
+
} catch (e2) {
|
|
128
|
+
}
|
|
129
|
+
})();
|
|
130
|
+
var DEFAULT_QUERY_EXPANSION_MAX_QUERIES = 4;
|
|
131
|
+
var DEFAULT_RERANK_TOP_K = 20;
|
|
132
|
+
var MAX_RERANK_TOP_K = 200;
|
|
133
|
+
var QUERY_EXPANSION_STOP_WORDS = /* @__PURE__ */ new Set([
|
|
134
|
+
"a",
|
|
135
|
+
"an",
|
|
136
|
+
"and",
|
|
137
|
+
"for",
|
|
138
|
+
"from",
|
|
139
|
+
"in",
|
|
140
|
+
"into",
|
|
141
|
+
"of",
|
|
142
|
+
"on",
|
|
143
|
+
"or",
|
|
144
|
+
"the",
|
|
145
|
+
"to",
|
|
146
|
+
"with"
|
|
147
|
+
]);
|
|
148
|
+
function dedupeQueries(values, limit) {
|
|
149
|
+
const deduped = [];
|
|
150
|
+
const seen = /* @__PURE__ */ new Set();
|
|
151
|
+
for (const entry of values) {
|
|
152
|
+
const normalized = entry.trim().replaceAll(/\s+/g, " ");
|
|
153
|
+
if (normalized.length === 0) {
|
|
154
|
+
continue;
|
|
155
|
+
}
|
|
156
|
+
const dedupeKey = normalized.toLowerCase();
|
|
157
|
+
if (seen.has(dedupeKey)) {
|
|
158
|
+
continue;
|
|
159
|
+
}
|
|
160
|
+
seen.add(dedupeKey);
|
|
161
|
+
deduped.push(normalized);
|
|
162
|
+
if (deduped.length >= limit) {
|
|
163
|
+
break;
|
|
164
|
+
}
|
|
165
|
+
}
|
|
166
|
+
return deduped;
|
|
167
|
+
}
|
|
168
|
+
function singularizeSimple(token) {
|
|
169
|
+
const normalizedToken = token.toLowerCase();
|
|
170
|
+
if (normalizedToken.length > 4 && normalizedToken.endsWith("ies")) {
|
|
171
|
+
return `${normalizedToken.slice(0, -3)}y`;
|
|
172
|
+
}
|
|
173
|
+
if (normalizedToken.length > 4 && (normalizedToken.endsWith("ches") || normalizedToken.endsWith("shes") || normalizedToken.endsWith("xes") || normalizedToken.endsWith("zes") || normalizedToken.endsWith("sses"))) {
|
|
174
|
+
return normalizedToken.slice(0, -2);
|
|
175
|
+
}
|
|
176
|
+
if (normalizedToken.length > 3 && normalizedToken.endsWith("s") && !normalizedToken.endsWith("ss") && !normalizedToken.endsWith("us") && !normalizedToken.endsWith("is") && !normalizedToken.endsWith("as")) {
|
|
177
|
+
return normalizedToken.slice(0, -1);
|
|
178
|
+
}
|
|
179
|
+
return normalizedToken;
|
|
180
|
+
}
|
|
181
|
+
function pluralizeSimple(token) {
|
|
182
|
+
const normalizedToken = token.toLowerCase();
|
|
183
|
+
if (normalizedToken.length > 2 && (!normalizedToken.endsWith("s") || normalizedToken.endsWith("ss"))) {
|
|
184
|
+
if (normalizedToken.endsWith("y") && !/[aeiou]y$/u.test(normalizedToken)) {
|
|
185
|
+
return `${normalizedToken.slice(0, -1)}ies`;
|
|
186
|
+
}
|
|
187
|
+
if (normalizedToken.endsWith("ch") || normalizedToken.endsWith("sh") || normalizedToken.endsWith("x") || normalizedToken.endsWith("z") || normalizedToken.endsWith("ss")) {
|
|
188
|
+
return `${normalizedToken}es`;
|
|
189
|
+
}
|
|
190
|
+
return `${normalizedToken}s`;
|
|
191
|
+
}
|
|
192
|
+
return normalizedToken;
|
|
193
|
+
}
|
|
194
|
+
function buildDeterministicQueryExpansions(query, maxQueries = DEFAULT_QUERY_EXPANSION_MAX_QUERIES) {
|
|
195
|
+
const normalizedQuery = query.trim().replaceAll(/\s+/g, " ");
|
|
196
|
+
if (normalizedQuery.length === 0) {
|
|
197
|
+
return [];
|
|
198
|
+
}
|
|
199
|
+
const tokens = tokenizeAlphaNumeric(normalizedQuery);
|
|
200
|
+
if (tokens.length === 0) {
|
|
201
|
+
return [normalizedQuery];
|
|
202
|
+
}
|
|
203
|
+
const contentTokens = tokens.filter((token) => !QUERY_EXPANSION_STOP_WORDS.has(token.toLowerCase()));
|
|
204
|
+
const singularized = tokens.map((token) => singularizeSimple(token));
|
|
205
|
+
const pluralized = contentTokens.map((token) => pluralizeSimple(token));
|
|
206
|
+
return dedupeQueries([
|
|
207
|
+
normalizedQuery,
|
|
208
|
+
tokens.join(" "),
|
|
209
|
+
contentTokens.join(" "),
|
|
210
|
+
singularized.join(" "),
|
|
211
|
+
pluralized.join(" ")
|
|
212
|
+
], Math.max(1, maxQueries));
|
|
213
|
+
}
|
|
214
|
+
function normalizeQueryExpansionOutput(raw) {
|
|
215
|
+
const rawQueries = Array.isArray(raw) ? raw : raw?.queries;
|
|
216
|
+
if (!Array.isArray(rawQueries)) {
|
|
217
|
+
return [];
|
|
218
|
+
}
|
|
219
|
+
return dedupeQueries(rawQueries.filter((entry) => typeof entry === "string"), DEFAULT_QUERY_EXPANSION_MAX_QUERIES);
|
|
220
|
+
}
|
|
221
|
+
function mergeQueryExpansions(base, extra, maxQueries) {
|
|
222
|
+
return dedupeQueries([...base, ...extra], Math.max(1, maxQueries));
|
|
223
|
+
}
|
|
224
|
+
function resolveQueryExpansionConfig(settings, fallbackProviderName) {
|
|
225
|
+
const search = settings.search;
|
|
226
|
+
const queryExpansion = search?.query_expansion;
|
|
227
|
+
const configuredProvider = toNonEmptyString(queryExpansion?.provider);
|
|
228
|
+
return {
|
|
229
|
+
enabled: queryExpansion?.enabled === true,
|
|
230
|
+
provider: configuredProvider ?? fallbackProviderName,
|
|
231
|
+
max_queries: DEFAULT_QUERY_EXPANSION_MAX_QUERIES
|
|
232
|
+
};
|
|
233
|
+
}
|
|
234
|
+
function resolveRerankConfig(settings, fallbackModel) {
|
|
235
|
+
const search = settings.search;
|
|
236
|
+
const rerank = search?.rerank;
|
|
237
|
+
const configuredModel = toNonEmptyString(rerank?.model);
|
|
238
|
+
const configuredTopK = coercePositiveInteger(rerank?.top_k);
|
|
239
|
+
const normalizedTopK = configuredTopK ?? DEFAULT_RERANK_TOP_K;
|
|
240
|
+
return {
|
|
241
|
+
enabled: rerank?.enabled === true,
|
|
242
|
+
model: configuredModel ?? fallbackModel,
|
|
243
|
+
top_k: Math.min(MAX_RERANK_TOP_K, normalizedTopK)
|
|
244
|
+
};
|
|
245
|
+
}
|
|
246
|
+
function normalizeRerankOutput(raw) {
|
|
247
|
+
const rawHits = Array.isArray(raw) ? raw : raw?.hits;
|
|
248
|
+
if (!Array.isArray(rawHits)) {
|
|
249
|
+
return [];
|
|
250
|
+
}
|
|
251
|
+
const bestById = /* @__PURE__ */ new Map();
|
|
252
|
+
for (const entry of rawHits) {
|
|
253
|
+
if (typeof entry !== "object" || entry === null) {
|
|
254
|
+
continue;
|
|
255
|
+
}
|
|
256
|
+
const id = toNonEmptyString(entry.id);
|
|
257
|
+
const score = entry.score;
|
|
258
|
+
if (!id || typeof score !== "number" || !Number.isFinite(score)) {
|
|
259
|
+
continue;
|
|
260
|
+
}
|
|
261
|
+
const existing = bestById.get(id);
|
|
262
|
+
if (existing === void 0 || score > existing) {
|
|
263
|
+
bestById.set(id, score);
|
|
264
|
+
}
|
|
265
|
+
}
|
|
266
|
+
const normalized = [...bestById.entries()].map(([id, score]) => ({ id, score }));
|
|
267
|
+
normalized.sort((left, right) => {
|
|
268
|
+
if (left.score !== right.score) {
|
|
269
|
+
return right.score - left.score;
|
|
270
|
+
}
|
|
271
|
+
return left.id.localeCompare(right.id);
|
|
272
|
+
});
|
|
273
|
+
return normalized;
|
|
274
|
+
}
|
|
275
|
+
function dotProduct(left, right) {
|
|
276
|
+
const size = left.length;
|
|
277
|
+
let result = 0;
|
|
278
|
+
for (let index = 0; index < size; index += 1) {
|
|
279
|
+
result += left[index] * right[index];
|
|
280
|
+
}
|
|
281
|
+
return result;
|
|
282
|
+
}
|
|
283
|
+
function l2Norm(vector) {
|
|
284
|
+
let sumSquares = 0;
|
|
285
|
+
for (let index = 0; index < vector.length; index += 1) {
|
|
286
|
+
sumSquares += vector[index] * vector[index];
|
|
287
|
+
}
|
|
288
|
+
return Math.sqrt(sumSquares);
|
|
289
|
+
}
|
|
290
|
+
function cosineSimilarityWithKnownLeftNorm(left, right, leftNorm) {
|
|
291
|
+
if (!left || !right || left.length === 0 || right.length === 0 || left.length !== right.length) {
|
|
292
|
+
return 0;
|
|
293
|
+
}
|
|
294
|
+
const numerator = dotProduct(left, right);
|
|
295
|
+
const rightNorm = l2Norm(right);
|
|
296
|
+
const denominator = leftNorm * rightNorm;
|
|
297
|
+
if (!Number.isFinite(numerator) || !Number.isFinite(leftNorm) || !Number.isFinite(rightNorm) || !Number.isFinite(denominator) || denominator === 0) {
|
|
298
|
+
return 0;
|
|
299
|
+
}
|
|
300
|
+
return Math.max(-1, Math.min(1, numerator / denominator));
|
|
301
|
+
}
|
|
302
|
+
async function rerankCandidatesWithEmbeddings(provider, model, query, candidates, timeoutMs) {
|
|
303
|
+
if (candidates.length === 0) {
|
|
304
|
+
return /* @__PURE__ */ new Map();
|
|
305
|
+
}
|
|
306
|
+
const effectiveModel = toNonEmptyString(model) ?? provider.model;
|
|
307
|
+
const rerankProvider = effectiveModel === provider.model ? provider : { ...provider, model: effectiveModel };
|
|
308
|
+
const payload = [query.trim(), ...candidates.map((entry) => entry.text)];
|
|
309
|
+
const vectors = await executeEmbeddingRequest(rerankProvider, payload, timeoutMs ? { timeout_ms: timeoutMs } : {});
|
|
310
|
+
const queryVector = vectors[0];
|
|
311
|
+
if (!queryVector) {
|
|
312
|
+
return /* @__PURE__ */ new Map();
|
|
313
|
+
}
|
|
314
|
+
const queryNorm = l2Norm(queryVector);
|
|
315
|
+
const scoreById = /* @__PURE__ */ new Map();
|
|
316
|
+
for (let index = 0; index < candidates.length; index += 1) {
|
|
317
|
+
const candidate = candidates[index];
|
|
318
|
+
const candidateVector = vectors[index + 1];
|
|
319
|
+
if (!candidateVector) {
|
|
320
|
+
continue;
|
|
321
|
+
}
|
|
322
|
+
const similarity = cosineSimilarityWithKnownLeftNorm(queryVector, candidateVector, queryNorm);
|
|
323
|
+
scoreById.set(candidate.id, Math.max(0, Math.min(1, (similarity + 1) / 2)));
|
|
324
|
+
}
|
|
325
|
+
return scoreById;
|
|
326
|
+
}
|
|
327
|
+
|
|
119
328
|
// dist/cli/commands/search.js
|
|
120
329
|
!(function() {
|
|
121
330
|
try {
|
|
122
331
|
var e = "undefined" != typeof window ? window : "undefined" != typeof global ? global : "undefined" != typeof globalThis ? globalThis : "undefined" != typeof self ? self : {}, n = new e.Error().stack;
|
|
123
|
-
n && (e._sentryDebugIds = e._sentryDebugIds || {}, e._sentryDebugIds[n] = "
|
|
332
|
+
n && (e._sentryDebugIds = e._sentryDebugIds || {}, e._sentryDebugIds[n] = "29fa7999-bb88-5675-8f5c-d953b2a80e6f");
|
|
124
333
|
} catch (e2) {
|
|
125
334
|
}
|
|
126
335
|
})();
|
|
@@ -272,6 +481,9 @@ function parseTitleExact(raw) {
|
|
|
272
481
|
function parsePhraseExact(raw) {
|
|
273
482
|
return raw === true;
|
|
274
483
|
}
|
|
484
|
+
function parseSemanticWeightOverride(raw) {
|
|
485
|
+
return coerceNumberInRange(raw, 0, 1) ?? void 0;
|
|
486
|
+
}
|
|
275
487
|
function normalizeSearchPhrase(value) {
|
|
276
488
|
return value.toLowerCase().replace(/\s+/g, " ").trim();
|
|
277
489
|
}
|
|
@@ -673,7 +885,7 @@ function resolveSearchTuning(settings) {
|
|
|
673
885
|
linked_content_weight: resolveWeight(tuning.linked_content_weight, defaults.linked_content_weight)
|
|
674
886
|
};
|
|
675
887
|
}
|
|
676
|
-
function emptySearchResult(query, mode, options, includeLinked, scoreThreshold, hybridSemanticWeight, projection, warnings) {
|
|
888
|
+
function emptySearchResult(query, mode, options, includeLinked, scoreThreshold, hybridSemanticWeight, queryExpansion, rerank, projection, warnings) {
|
|
677
889
|
const projectionFields = projection.mode === "full" ? null : [...projection.fields];
|
|
678
890
|
return {
|
|
679
891
|
query: query.trim(),
|
|
@@ -693,6 +905,11 @@ function emptySearchResult(query, mode, options, includeLinked, scoreThreshold,
|
|
|
693
905
|
phrase_exact: options.phraseExact === true,
|
|
694
906
|
score_threshold: scoreThreshold,
|
|
695
907
|
hybrid_semantic_weight: mode === "hybrid" ? hybridSemanticWeight : null,
|
|
908
|
+
query_expansion_enabled: queryExpansion.enabled,
|
|
909
|
+
query_expansion_provider: queryExpansion.provider,
|
|
910
|
+
rerank_enabled: rerank.enabled,
|
|
911
|
+
rerank_model: rerank.model,
|
|
912
|
+
rerank_top_k: rerank.top_k,
|
|
696
913
|
limit: options.limit ?? null
|
|
697
914
|
},
|
|
698
915
|
projection: {
|
|
@@ -716,25 +933,40 @@ function requireSemanticDependencies(requestedMode, providerResolution, vectorRe
|
|
|
716
933
|
};
|
|
717
934
|
}
|
|
718
935
|
var toOptionalNonEmptyString = toNonEmptyStringOrUndefined;
|
|
719
|
-
function
|
|
936
|
+
function resolveExtensionSearchProviderByName(providerName) {
|
|
720
937
|
const registrations = getActiveExtensionRegistrations();
|
|
721
|
-
const providerName = toOptionalNonEmptyString(settings.search?.provider);
|
|
722
938
|
const resolved = resolveRegisteredSearchProvider(registrations, providerName);
|
|
723
939
|
if (!resolved) {
|
|
724
940
|
return null;
|
|
725
941
|
}
|
|
726
942
|
const runtimeDefinition = resolved.runtime_definition ?? resolved.definition;
|
|
727
943
|
const query = runtimeDefinition.query;
|
|
728
|
-
|
|
729
|
-
|
|
730
|
-
}
|
|
944
|
+
const queryExpansion = runtimeDefinition.queryExpansion ?? runtimeDefinition.query_expansion;
|
|
945
|
+
const rerank = runtimeDefinition.rerank;
|
|
731
946
|
const registeredName = toOptionalNonEmptyString(runtimeDefinition.name) ?? toOptionalNonEmptyString(resolved.definition.name) ?? providerName;
|
|
732
947
|
if (!registeredName) {
|
|
733
948
|
return null;
|
|
734
949
|
}
|
|
735
|
-
|
|
950
|
+
const hooks = {
|
|
736
951
|
providerName: registeredName,
|
|
737
|
-
query
|
|
952
|
+
...typeof query === "function" ? { query } : {},
|
|
953
|
+
...typeof queryExpansion === "function" ? { queryExpansion } : {},
|
|
954
|
+
...typeof rerank === "function" ? { rerank } : {}
|
|
955
|
+
};
|
|
956
|
+
if (!hooks.query && !hooks.queryExpansion && !hooks.rerank) {
|
|
957
|
+
return null;
|
|
958
|
+
}
|
|
959
|
+
return hooks;
|
|
960
|
+
}
|
|
961
|
+
function resolveExtensionSearchProvider(settings) {
|
|
962
|
+
const providerName = toOptionalNonEmptyString(settings.search?.provider);
|
|
963
|
+
const resolved = resolveExtensionSearchProviderByName(providerName);
|
|
964
|
+
if (!resolved?.query) {
|
|
965
|
+
return null;
|
|
966
|
+
}
|
|
967
|
+
return {
|
|
968
|
+
providerName: resolved.providerName,
|
|
969
|
+
query: resolved.query
|
|
738
970
|
};
|
|
739
971
|
}
|
|
740
972
|
function resolveExtensionVectorAdapter(settings) {
|
|
@@ -836,39 +1068,172 @@ function combineHybridHits(filteredById, semanticScores, keywordHits, hybridSema
|
|
|
836
1068
|
};
|
|
837
1069
|
}).filter((entry) => entry !== null);
|
|
838
1070
|
}
|
|
1071
|
+
function mergeVectorHitsById(vectorHitGroups) {
|
|
1072
|
+
const bestById = /* @__PURE__ */ new Map();
|
|
1073
|
+
for (const group of vectorHitGroups) {
|
|
1074
|
+
for (const hit of group) {
|
|
1075
|
+
const existing = bestById.get(hit.id);
|
|
1076
|
+
if (!existing || hit.score > existing.score) {
|
|
1077
|
+
bestById.set(hit.id, hit);
|
|
1078
|
+
}
|
|
1079
|
+
}
|
|
1080
|
+
}
|
|
1081
|
+
const merged = [...bestById.values()];
|
|
1082
|
+
merged.sort((left, right) => {
|
|
1083
|
+
if (left.score !== right.score) {
|
|
1084
|
+
return right.score - left.score;
|
|
1085
|
+
}
|
|
1086
|
+
return left.id.localeCompare(right.id);
|
|
1087
|
+
});
|
|
1088
|
+
return merged;
|
|
1089
|
+
}
|
|
1090
|
+
function buildRerankCorpus(document) {
|
|
1091
|
+
const metadata = document.metadata;
|
|
1092
|
+
const tags = Array.isArray(metadata?.tags) ? metadata.tags.join(" ") : "";
|
|
1093
|
+
return [
|
|
1094
|
+
metadata?.title,
|
|
1095
|
+
metadata?.description,
|
|
1096
|
+
metadata?.type,
|
|
1097
|
+
metadata?.status,
|
|
1098
|
+
tags,
|
|
1099
|
+
document.body
|
|
1100
|
+
].map((entry) => typeof entry === "string" ? entry.trim() : "").filter((entry) => entry.length > 0).join("\n");
|
|
1101
|
+
}
|
|
839
1102
|
async function computeSemanticOrHybridHits(context) {
|
|
840
1103
|
const semanticLimit = context.limit ?? context.maxResults;
|
|
841
1104
|
const embeddingOptions = context.embeddingTimeoutMs !== void 0 ? { timeout_ms: context.embeddingTimeoutMs } : {};
|
|
842
1105
|
const vectorQueryOptions = context.vectorQueryTimeoutMs !== void 0 ? { timeout_ms: context.vectorQueryTimeoutMs } : {};
|
|
843
|
-
const
|
|
844
|
-
const
|
|
845
|
-
let
|
|
846
|
-
if (context.
|
|
847
|
-
|
|
848
|
-
|
|
849
|
-
|
|
850
|
-
|
|
851
|
-
|
|
852
|
-
|
|
853
|
-
|
|
854
|
-
|
|
855
|
-
|
|
1106
|
+
const queryTrimmed = context.query.trim();
|
|
1107
|
+
const baseExpandedQueries = context.queryExpansion.enabled ? buildDeterministicQueryExpansions(queryTrimmed, context.queryExpansion.max_queries) : [queryTrimmed];
|
|
1108
|
+
let expandedQueries = baseExpandedQueries.length > 0 ? baseExpandedQueries : [queryTrimmed];
|
|
1109
|
+
if (context.queryExpansion.enabled) {
|
|
1110
|
+
if (context.queryExpansionExtension?.expand) {
|
|
1111
|
+
try {
|
|
1112
|
+
const rawExpansion = await Promise.resolve(context.queryExpansionExtension.expand({
|
|
1113
|
+
query: queryTrimmed,
|
|
1114
|
+
mode: context.requestedMode,
|
|
1115
|
+
settings: context.settings
|
|
1116
|
+
}));
|
|
1117
|
+
const extensionExpansion = normalizeQueryExpansionOutput(rawExpansion);
|
|
1118
|
+
expandedQueries = mergeQueryExpansions(expandedQueries, extensionExpansion, context.queryExpansion.max_queries);
|
|
1119
|
+
} catch {
|
|
1120
|
+
context.warnings.push(`search_query_expansion_provider_failed:${context.queryExpansionExtension.providerName}:using_builtin`);
|
|
856
1121
|
}
|
|
857
|
-
|
|
1122
|
+
} else if (context.queryExpansion.provider && context.queryExpansion.provider !== "openai" && context.queryExpansion.provider !== "ollama") {
|
|
1123
|
+
context.warnings.push(`search_query_expansion_provider_unavailable:${context.queryExpansion.provider}:using_builtin`);
|
|
858
1124
|
}
|
|
859
|
-
} else if (context.vectorStore) {
|
|
860
|
-
vectorHits = await executeVectorQuery(context.vectorStore, semanticVector, semanticLimit, vectorQueryOptions);
|
|
861
|
-
} else {
|
|
862
|
-
throw new PmCliError("Semantic search requires either a configured vector store or an extension vector adapter query handler", EXIT_CODE.USAGE);
|
|
863
1125
|
}
|
|
1126
|
+
const queryVectors = await executeEmbeddingRequest(context.provider, expandedQueries, embeddingOptions);
|
|
1127
|
+
const executeVectorQueryWithFallback = async (semanticVector) => {
|
|
1128
|
+
if (context.extensionVectorAdapter?.query) {
|
|
1129
|
+
try {
|
|
1130
|
+
return await Promise.resolve(context.extensionVectorAdapter.query({
|
|
1131
|
+
vector: semanticVector,
|
|
1132
|
+
limit: semanticLimit,
|
|
1133
|
+
settings: context.settings
|
|
1134
|
+
}));
|
|
1135
|
+
} catch (error) {
|
|
1136
|
+
if (!context.vectorStore) {
|
|
1137
|
+
throw new PmCliError(`Extension vector adapter query failed and no built-in fallback store is configured (${error instanceof Error ? error.message : String(error)})`, EXIT_CODE.GENERIC_FAILURE);
|
|
1138
|
+
}
|
|
1139
|
+
return await executeVectorQuery(context.vectorStore, semanticVector, semanticLimit, vectorQueryOptions);
|
|
1140
|
+
}
|
|
1141
|
+
}
|
|
1142
|
+
if (context.vectorStore) {
|
|
1143
|
+
return await executeVectorQuery(context.vectorStore, semanticVector, semanticLimit, vectorQueryOptions);
|
|
1144
|
+
}
|
|
1145
|
+
throw new PmCliError("Semantic search requires either a configured vector store or an extension vector adapter query handler", EXIT_CODE.USAGE);
|
|
1146
|
+
};
|
|
1147
|
+
const queryVectorGroups = await Promise.all(queryVectors.map(async (semanticVector) => await executeVectorQueryWithFallback(semanticVector)));
|
|
1148
|
+
const vectorHits = mergeVectorHitsById(queryVectorGroups);
|
|
864
1149
|
const filteredById = new Map(context.filteredDocuments.map((document) => [document.metadata.id, document]));
|
|
865
1150
|
const { semanticHits, semanticScores } = buildSemanticHits(vectorHits, filteredById);
|
|
866
1151
|
const vectorMatchCount = semanticScores.size;
|
|
867
1152
|
if (context.requestedMode === "semantic") {
|
|
868
1153
|
return { hits: semanticHits, vectorMatchCount };
|
|
869
1154
|
}
|
|
1155
|
+
let hybridHits = combineHybridHits(filteredById, semanticScores, context.keywordHits, context.hybridSemanticWeight);
|
|
1156
|
+
if (context.rerank.enabled && hybridHits.length > 1) {
|
|
1157
|
+
const sortedForCandidates = [...hybridHits].sort((left, right) => {
|
|
1158
|
+
if (left.score !== right.score) {
|
|
1159
|
+
return right.score - left.score;
|
|
1160
|
+
}
|
|
1161
|
+
return left.item.id.localeCompare(right.item.id);
|
|
1162
|
+
});
|
|
1163
|
+
const candidateHits = sortedForCandidates.slice(0, context.rerank.top_k);
|
|
1164
|
+
const candidateContexts = candidateHits.map((hit) => {
|
|
1165
|
+
const document = filteredById.get(hit.item.id);
|
|
1166
|
+
if (!document) {
|
|
1167
|
+
return null;
|
|
1168
|
+
}
|
|
1169
|
+
return { hit, text: buildRerankCorpus(document) };
|
|
1170
|
+
}).filter((entry) => entry !== null);
|
|
1171
|
+
const rerankCandidates = candidateContexts.map((entry) => ({
|
|
1172
|
+
id: entry.hit.item.id,
|
|
1173
|
+
text: entry.text
|
|
1174
|
+
}));
|
|
1175
|
+
let rerankScores = null;
|
|
1176
|
+
if (context.rerankExtension?.rerank) {
|
|
1177
|
+
try {
|
|
1178
|
+
const rawRerank = await Promise.resolve(context.rerankExtension.rerank({
|
|
1179
|
+
query: queryTrimmed,
|
|
1180
|
+
mode: "hybrid",
|
|
1181
|
+
model: context.rerank.model,
|
|
1182
|
+
top_k: context.rerank.top_k,
|
|
1183
|
+
settings: context.settings,
|
|
1184
|
+
candidates: candidateContexts.map((entry) => ({
|
|
1185
|
+
id: entry.hit.item.id,
|
|
1186
|
+
text: entry.text,
|
|
1187
|
+
score: entry.hit.score
|
|
1188
|
+
}))
|
|
1189
|
+
}));
|
|
1190
|
+
const normalizedRerank = normalizeRerankOutput(rawRerank);
|
|
1191
|
+
if (normalizedRerank.length > 0) {
|
|
1192
|
+
rerankScores = new Map(normalizedRerank.map((entry) => [entry.id, entry.score]));
|
|
1193
|
+
} else {
|
|
1194
|
+
context.warnings.push(`search_rerank_provider_invalid_response:${context.rerankExtension.providerName}:using_builtin`);
|
|
1195
|
+
}
|
|
1196
|
+
} catch {
|
|
1197
|
+
context.warnings.push(`search_rerank_provider_failed:${context.rerankExtension.providerName}:using_builtin`);
|
|
1198
|
+
}
|
|
1199
|
+
}
|
|
1200
|
+
if (!rerankScores) {
|
|
1201
|
+
try {
|
|
1202
|
+
rerankScores = await rerankCandidatesWithEmbeddings(context.provider, context.rerank.model, queryTrimmed, rerankCandidates, context.embeddingTimeoutMs);
|
|
1203
|
+
} catch {
|
|
1204
|
+
context.warnings.push("search_rerank_failed:using_hybrid_scores");
|
|
1205
|
+
}
|
|
1206
|
+
}
|
|
1207
|
+
if (rerankScores && rerankScores.size > 0) {
|
|
1208
|
+
const rerankedIds = new Set(rerankScores.keys());
|
|
1209
|
+
hybridHits = hybridHits.map((hit) => {
|
|
1210
|
+
const rerankScore = rerankScores.get(hit.item.id);
|
|
1211
|
+
if (rerankScore === void 0) {
|
|
1212
|
+
return hit;
|
|
1213
|
+
}
|
|
1214
|
+
const matchedFields = new Set(hit.matched_fields);
|
|
1215
|
+
matchedFields.add("rerank");
|
|
1216
|
+
return {
|
|
1217
|
+
...hit,
|
|
1218
|
+
score: rerankScore,
|
|
1219
|
+
matched_fields: [...matchedFields].sort((left, right) => left.localeCompare(right))
|
|
1220
|
+
};
|
|
1221
|
+
});
|
|
1222
|
+
hybridHits.sort((left, right) => {
|
|
1223
|
+
const leftWasReranked = rerankedIds.has(left.item.id);
|
|
1224
|
+
const rightWasReranked = rerankedIds.has(right.item.id);
|
|
1225
|
+
if (leftWasReranked !== rightWasReranked) {
|
|
1226
|
+
return leftWasReranked ? -1 : 1;
|
|
1227
|
+
}
|
|
1228
|
+
if (left.score !== right.score) {
|
|
1229
|
+
return right.score - left.score;
|
|
1230
|
+
}
|
|
1231
|
+
return left.item.id.localeCompare(right.item.id);
|
|
1232
|
+
});
|
|
1233
|
+
}
|
|
1234
|
+
}
|
|
870
1235
|
return {
|
|
871
|
-
hits:
|
|
1236
|
+
hits: hybridHits,
|
|
872
1237
|
vectorMatchCount
|
|
873
1238
|
};
|
|
874
1239
|
}
|
|
@@ -998,18 +1363,29 @@ async function runSearch(query, options, global2) {
|
|
|
998
1363
|
const typeRegistry = resolveItemTypeRegistry(settings, getActiveExtensionRegistrations());
|
|
999
1364
|
const maxResults = resolveSearchMaxResults(settings);
|
|
1000
1365
|
const scoreThreshold = resolveSearchScoreThreshold(settings);
|
|
1001
|
-
const
|
|
1366
|
+
const semanticWeightProvided = options.semanticWeight !== void 0;
|
|
1367
|
+
const semanticWeightOverride = parseSemanticWeightOverride(options.semanticWeight);
|
|
1368
|
+
const hybridSemanticWeight = semanticWeightOverride ?? resolveHybridSemanticWeight(settings);
|
|
1002
1369
|
const tuning = resolveSearchTuning(settings);
|
|
1003
1370
|
const providerResolution = resolveEmbeddingProviders(settings);
|
|
1004
1371
|
const vectorResolution = resolveVectorStores(settings);
|
|
1005
1372
|
const extensionSearchProvider = resolveExtensionSearchProvider(settings);
|
|
1006
1373
|
const extensionVectorAdapter = resolveExtensionVectorAdapter(settings);
|
|
1374
|
+
const queryExpansion = resolveQueryExpansionConfig(settings, providerResolution.active?.name ?? null);
|
|
1375
|
+
const rerank = resolveRerankConfig(settings, providerResolution.active?.model ?? toOptionalNonEmptyString(settings.search?.embedding_model) ?? "text-embedding-3-small");
|
|
1376
|
+
const queryExpansionProvider = resolveExtensionSearchProviderByName(queryExpansion.provider ?? void 0);
|
|
1377
|
+
const queryExpansionExtension = queryExpansionProvider?.queryExpansion ? { providerName: queryExpansionProvider.providerName, expand: queryExpansionProvider.queryExpansion } : null;
|
|
1378
|
+
const rerankProvider = resolveExtensionSearchProviderByName(toOptionalNonEmptyString(settings.search?.provider));
|
|
1379
|
+
const rerankExtension = rerankProvider?.rerank ? { providerName: rerankProvider.providerName, rerank: rerankProvider.rerank } : null;
|
|
1007
1380
|
let effectiveMode = parseMode(options.mode, {
|
|
1008
1381
|
hasProvider: providerResolution.active !== null || extensionSearchProvider !== null,
|
|
1009
1382
|
hasVectorStore: vectorResolution.active !== null || extensionVectorAdapter !== null
|
|
1010
1383
|
});
|
|
1011
1384
|
const loadedDocuments = await loadDocuments(pmRoot, settings.item_format ?? "toon", typeRegistry.type_to_folder, settings.schema);
|
|
1012
1385
|
const warnings = loadedDocuments.warnings;
|
|
1386
|
+
if (effectiveMode === "hybrid" && semanticWeightProvided && semanticWeightOverride === void 0) {
|
|
1387
|
+
warnings.push("search_hybrid_semantic_weight_override_invalid:using_settings_default");
|
|
1388
|
+
}
|
|
1013
1389
|
const allDocuments = loadedDocuments.documents;
|
|
1014
1390
|
const metadataFilteredDocuments = applyFilters(allDocuments, options, typeRegistry, runtimeFieldFilters, statusFilter);
|
|
1015
1391
|
const filteredDocuments = applyExactQueryFilters(metadataFilteredDocuments, normalizedQuery, {
|
|
@@ -1017,7 +1393,7 @@ async function runSearch(query, options, global2) {
|
|
|
1017
1393
|
phraseExact
|
|
1018
1394
|
});
|
|
1019
1395
|
if (effectiveMode === "keyword" && (filteredDocuments.length === 0 || limit === 0)) {
|
|
1020
|
-
return emptySearchResult(query, effectiveMode, options, includeLinked, scoreThreshold, hybridSemanticWeight, projection, warnings);
|
|
1396
|
+
return emptySearchResult(query, effectiveMode, options, includeLinked, scoreThreshold, hybridSemanticWeight, queryExpansion, rerank, projection, warnings);
|
|
1021
1397
|
}
|
|
1022
1398
|
const projectRoot = process.cwd();
|
|
1023
1399
|
const globalRoot = resolveGlobalPmRoot(projectRoot);
|
|
@@ -1041,7 +1417,7 @@ async function runSearch(query, options, global2) {
|
|
|
1041
1417
|
requireSemanticDependencies(effectiveMode, providerResolution, vectorResolution, extensionVectorAdapter !== null);
|
|
1042
1418
|
}
|
|
1043
1419
|
if (filteredDocuments.length === 0 || limit === 0) {
|
|
1044
|
-
return emptySearchResult(query, effectiveMode, options, includeLinked, scoreThreshold, hybridSemanticWeight, projection, warnings);
|
|
1420
|
+
return emptySearchResult(query, effectiveMode, options, includeLinked, scoreThreshold, hybridSemanticWeight, queryExpansion, rerank, projection, warnings);
|
|
1045
1421
|
}
|
|
1046
1422
|
const filteredById = new Map(filteredDocuments.map((document) => [document.metadata.id, document]));
|
|
1047
1423
|
const canUseBuiltInSemantic = providerResolution.active !== null && (vectorResolution.active !== null || extensionVectorAdapter !== null);
|
|
@@ -1076,6 +1452,11 @@ async function runSearch(query, options, global2) {
|
|
|
1076
1452
|
provider,
|
|
1077
1453
|
vectorStore,
|
|
1078
1454
|
extensionVectorAdapter,
|
|
1455
|
+
queryExpansion,
|
|
1456
|
+
queryExpansionExtension,
|
|
1457
|
+
rerank,
|
|
1458
|
+
rerankExtension,
|
|
1459
|
+
warnings,
|
|
1079
1460
|
settings,
|
|
1080
1461
|
...implicitHybridMode ? {
|
|
1081
1462
|
embeddingTimeoutMs: IMPLICIT_HYBRID_EMBEDDING_TIMEOUT_MS,
|
|
@@ -1121,6 +1502,11 @@ async function runSearch(query, options, global2) {
|
|
|
1121
1502
|
phrase_exact: phraseExact,
|
|
1122
1503
|
score_threshold: scoreThreshold,
|
|
1123
1504
|
hybrid_semantic_weight: effectiveMode === "hybrid" ? hybridSemanticWeight : null,
|
|
1505
|
+
query_expansion_enabled: queryExpansion.enabled,
|
|
1506
|
+
query_expansion_provider: queryExpansion.provider,
|
|
1507
|
+
rerank_enabled: rerank.enabled,
|
|
1508
|
+
rerank_model: rerank.model,
|
|
1509
|
+
rerank_top_k: rerank.top_k,
|
|
1124
1510
|
limit: options.limit ?? null,
|
|
1125
1511
|
runtime_filters: runtimeFieldFilters
|
|
1126
1512
|
},
|
|
@@ -1141,4 +1527,4 @@ export {
|
|
|
1141
1527
|
resolveSearchTuning,
|
|
1142
1528
|
runSearch
|
|
1143
1529
|
};
|
|
1144
|
-
//# sourceMappingURL=search-
|
|
1530
|
+
//# sourceMappingURL=search-JNEZJV7H.js.map
|