@unbrained/pm-cli 2026.6.8 → 2026.6.10
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +74 -11
- package/dist/cli/bootstrap-args.js +4 -2
- package/dist/cli/bootstrap-args.js.map +1 -1
- package/dist/cli/commands/aggregate.d.ts +7 -0
- package/dist/cli/commands/aggregate.js +53 -12
- package/dist/cli/commands/aggregate.js.map +1 -1
- package/dist/cli/commands/close.d.ts +1 -0
- package/dist/cli/commands/close.js +106 -3
- package/dist/cli/commands/close.js.map +1 -1
- package/dist/cli/commands/completion.js +20 -7
- package/dist/cli/commands/completion.js.map +1 -1
- package/dist/cli/commands/context.d.ts +9 -0
- package/dist/cli/commands/context.js +149 -20
- package/dist/cli/commands/context.js.map +1 -1
- package/dist/cli/commands/create.d.ts +1 -0
- package/dist/cli/commands/create.js +5 -3
- package/dist/cli/commands/create.js.map +1 -1
- package/dist/cli/commands/extension.js +4 -2
- package/dist/cli/commands/extension.js.map +1 -1
- package/dist/cli/commands/health.js +44 -6
- package/dist/cli/commands/health.js.map +1 -1
- package/dist/cli/commands/history.js +6 -5
- package/dist/cli/commands/history.js.map +1 -1
- package/dist/cli/commands/linked-test-parsers.d.ts +1 -0
- package/dist/cli/commands/linked-test-parsers.js +289 -2
- package/dist/cli/commands/linked-test-parsers.js.map +1 -1
- package/dist/cli/commands/reindex.d.ts +1 -0
- package/dist/cli/commands/reindex.js +33 -4
- package/dist/cli/commands/reindex.js.map +1 -1
- package/dist/cli/commands/test.d.ts +6 -0
- package/dist/cli/commands/test.js +46 -5
- package/dist/cli/commands/test.js.map +1 -1
- package/dist/cli/extension-command-help.d.ts +1 -0
- package/dist/cli/extension-command-help.js +42 -2
- package/dist/cli/extension-command-help.js.map +1 -1
- package/dist/cli/extension-command-options.d.ts +2 -0
- package/dist/cli/extension-command-options.js +89 -17
- package/dist/cli/extension-command-options.js.map +1 -1
- package/dist/cli/main.js +26 -26
- package/dist/cli/main.js.map +1 -1
- package/dist/cli/register-list-query.js +3 -2
- package/dist/cli/register-list-query.js.map +1 -1
- package/dist/cli/register-mutation.js +4 -2
- package/dist/cli/register-mutation.js.map +1 -1
- package/dist/cli/register-operations.js +15 -6
- package/dist/cli/register-operations.js.map +1 -1
- package/dist/cli/registration-helpers.js +9 -2
- package/dist/cli/registration-helpers.js.map +1 -1
- package/dist/cli-bundle/chunks/activity-5QLX6DHN.js +16 -0
- package/dist/cli-bundle/chunks/{activity-Q7XMIZIH.js → activity-W6TS5F2L.js} +11 -11
- package/dist/cli-bundle/chunks/{aggregate-GBSHSXOB.js → aggregate-NNJLKGEK.js} +64 -24
- package/dist/cli-bundle/chunks/aggregate-NNJLKGEK.js.map +7 -0
- package/dist/cli-bundle/chunks/{aggregate-HKQJZUBG.js → aggregate-UK2WJ4Z3.js} +65 -25
- package/dist/cli-bundle/chunks/aggregate-UK2WJ4Z3.js.map +1 -0
- package/dist/cli-bundle/chunks/{append-3RFOU7P5.js → append-7BS36Z2L.js} +8 -8
- package/dist/cli-bundle/chunks/{append-OM74OJVT.js → append-DHGTLUZW.js} +8 -8
- package/dist/cli-bundle/chunks/{chunk-SDLEYY6A.js → chunk-2MKBPWMK.js} +6 -8
- package/dist/cli-bundle/chunks/{chunk-SDLEYY6A.js.map → chunk-2MKBPWMK.js.map} +1 -1
- package/dist/cli-bundle/chunks/{chunk-Z2HXAFFH.js → chunk-344GDQTH.js} +2 -2
- package/dist/cli-bundle/chunks/{chunk-AEMKH5WQ.js → chunk-3VTWCBXL.js} +3 -3
- package/dist/cli-bundle/chunks/{chunk-XLSQ3QLT.js → chunk-4CYHWHZU.js} +2 -2
- package/dist/cli-bundle/chunks/{chunk-JS47EKLP.js → chunk-4H2NDEGJ.js} +7 -7
- package/dist/cli-bundle/chunks/{chunk-QF4OPBAG.js → chunk-5HH6QRH5.js} +9 -9
- package/dist/cli-bundle/chunks/{chunk-5NVJA7IW.js → chunk-5OMABP7I.js} +7 -7
- package/dist/cli-bundle/chunks/{chunk-YEFOCDIK.js → chunk-6ADVKPVV.js} +7 -7
- package/dist/cli-bundle/chunks/{chunk-SM3RMWGO.js → chunk-6KQS23TX.js} +8 -8
- package/dist/cli-bundle/chunks/{chunk-ETZZU5QF.js → chunk-6N46IM44.js} +2 -2
- package/dist/cli-bundle/chunks/{chunk-EPWT7BEA.js → chunk-6OSG3EMX.js} +157 -12
- package/dist/cli-bundle/chunks/chunk-6OSG3EMX.js.map +1 -0
- package/dist/cli-bundle/chunks/{chunk-5WO2VKFA.js → chunk-73PSHEMT.js} +8 -8
- package/dist/cli-bundle/chunks/{chunk-J4DKAGTM.js → chunk-7DUVDW7C.js} +3 -3
- package/dist/cli-bundle/chunks/{chunk-2BYKYPWY.js → chunk-7GYMMDDW.js} +2 -2
- package/dist/cli-bundle/chunks/{chunk-QFVASU44.js → chunk-7TW64BS5.js} +2 -2
- package/dist/cli-bundle/chunks/{chunk-VXBUXLVD.js → chunk-A6XVYNQJ.js} +13 -6
- package/dist/cli-bundle/chunks/chunk-A6XVYNQJ.js.map +7 -0
- package/dist/cli-bundle/chunks/{chunk-KP4KIUQT.js → chunk-ANVZCNL5.js} +3 -3
- package/dist/cli-bundle/chunks/{chunk-HOA3GMB6.js → chunk-BE5G7HEL.js} +14 -8
- package/dist/cli-bundle/chunks/chunk-BE5G7HEL.js.map +1 -0
- package/dist/cli-bundle/chunks/{chunk-QWNUDGFQ.js → chunk-CMEHZD6G.js} +163 -11
- package/dist/cli-bundle/chunks/chunk-CMEHZD6G.js.map +7 -0
- package/dist/cli-bundle/chunks/{chunk-7NQIY7Z6.js → chunk-CTW7QAHM.js} +6 -5
- package/dist/cli-bundle/chunks/chunk-CTW7QAHM.js.map +1 -0
- package/dist/cli-bundle/chunks/{chunk-UEXNNF3K.js → chunk-D6JZBUZ6.js} +7 -7
- package/dist/cli-bundle/chunks/{chunk-F33AQIB4.js → chunk-DEYNERFX.js} +19 -7
- package/dist/cli-bundle/chunks/chunk-DEYNERFX.js.map +1 -0
- package/dist/cli-bundle/chunks/{chunk-R4XIE7NQ.js → chunk-DMDEC4QP.js} +6 -6
- package/dist/cli-bundle/chunks/{chunk-KN4WSESY.js → chunk-DTRIVUTN.js} +5 -5
- package/dist/cli-bundle/chunks/{chunk-KS2U7BZ3.js → chunk-EAQLLID6.js} +16 -6
- package/dist/cli-bundle/chunks/chunk-EAQLLID6.js.map +1 -0
- package/dist/cli-bundle/chunks/{chunk-HP35AVFS.js → chunk-EIS32UA4.js} +2 -2
- package/dist/cli-bundle/chunks/chunk-F2PVV7IX.js +528 -0
- package/dist/cli-bundle/chunks/chunk-F2PVV7IX.js.map +7 -0
- package/dist/cli-bundle/chunks/{chunk-DV27WDA7.js → chunk-GF5XIBUH.js} +70 -9
- package/dist/cli-bundle/chunks/chunk-GF5XIBUH.js.map +7 -0
- package/dist/cli-bundle/chunks/{chunk-BFJPMUF5.js → chunk-GP6SHEAI.js} +5 -5
- package/dist/cli-bundle/chunks/{chunk-URJEZOLB.js → chunk-GRHPU6EM.js} +2 -2
- package/dist/cli-bundle/chunks/{chunk-K62SNVVE.js → chunk-I2FM2SMO.js} +2 -2
- package/dist/cli-bundle/chunks/{chunk-F33VC5EX.js → chunk-IEQ3N7WP.js} +12 -5
- package/dist/cli-bundle/chunks/chunk-IEQ3N7WP.js.map +1 -0
- package/dist/cli-bundle/chunks/{chunk-AXBUHLW7.js → chunk-K45NAJV2.js} +9 -9
- package/dist/cli-bundle/chunks/{chunk-NLVCMVC7.js → chunk-K7SXBA75.js} +2 -2
- package/dist/cli-bundle/chunks/{chunk-OVSSE2JP.js → chunk-KHBRV5JU.js} +14 -12
- package/dist/cli-bundle/chunks/chunk-KHBRV5JU.js.map +1 -0
- package/dist/cli-bundle/chunks/{chunk-D7WK2PKB.js → chunk-KMMUDSSB.js} +112 -7
- package/dist/cli-bundle/chunks/chunk-KMMUDSSB.js.map +1 -0
- package/dist/cli-bundle/chunks/{chunk-ALSRBNYB.js → chunk-KRZQGRVL.js} +14 -7
- package/dist/cli-bundle/chunks/chunk-KRZQGRVL.js.map +1 -0
- package/dist/cli-bundle/chunks/{chunk-PQDH3S54.js → chunk-LUJQJR7G.js} +71 -69
- package/dist/cli-bundle/chunks/{chunk-PQDH3S54.js.map → chunk-LUJQJR7G.js.map} +1 -1
- package/dist/cli-bundle/chunks/{chunk-NDSMKB2I.js → chunk-LYL32FT6.js} +3 -3
- package/dist/cli-bundle/chunks/{chunk-ODN53S6H.js → chunk-MF6KSSMF.js} +11 -14
- package/dist/cli-bundle/chunks/chunk-MF6KSSMF.js.map +1 -0
- package/dist/cli-bundle/chunks/{chunk-Z55JACL2.js → chunk-O64EYNHF.js} +6 -6
- package/dist/cli-bundle/chunks/{chunk-3TXWDGPU.js → chunk-OQGJSCZZ.js} +522 -37
- package/dist/cli-bundle/chunks/chunk-OQGJSCZZ.js.map +7 -0
- package/dist/cli-bundle/chunks/{chunk-FO2TYSQZ.js → chunk-OROMGSBP.js} +2 -2
- package/dist/cli-bundle/chunks/{chunk-3E3MDBTB.js → chunk-OSGWBWLK.js} +76 -74
- package/dist/cli-bundle/chunks/{chunk-3E3MDBTB.js.map → chunk-OSGWBWLK.js.map} +3 -3
- package/dist/cli-bundle/chunks/{chunk-7WXGR44E.js → chunk-OVNSQHDG.js} +19 -7
- package/dist/cli-bundle/chunks/chunk-OVNSQHDG.js.map +7 -0
- package/dist/cli-bundle/chunks/{chunk-XZS4MV37.js → chunk-PYULT32I.js} +2 -2
- package/dist/cli-bundle/chunks/{chunk-M7UBTVFT.js → chunk-Q6PSD5DZ.js} +3 -3
- package/dist/cli-bundle/chunks/{chunk-QQPZYP73.js → chunk-QGIWURY3.js} +12 -12
- package/dist/cli-bundle/chunks/{chunk-KCGMABHM.js → chunk-QJ2OIEOC.js} +68 -7
- package/dist/cli-bundle/chunks/chunk-QJ2OIEOC.js.map +1 -0
- package/dist/cli-bundle/chunks/{chunk-XEKZCBCS.js → chunk-SNASEDXB.js} +3 -3
- package/dist/cli-bundle/chunks/{chunk-4WYBLB6J.js → chunk-T6QLB34N.js} +3 -3
- package/dist/cli-bundle/chunks/{chunk-NGEEXR2R.js → chunk-TALBUVWF.js} +2 -2
- package/dist/cli-bundle/chunks/{chunk-FGRJZVXD.js → chunk-TV6FZGVK.js} +3 -3
- package/dist/cli-bundle/chunks/{chunk-MSH23UWO.js → chunk-TXWMLDMG.js} +13 -7
- package/dist/cli-bundle/chunks/chunk-TXWMLDMG.js.map +7 -0
- package/dist/cli-bundle/chunks/{chunk-TXKENAQP.js → chunk-TZLGCTA5.js} +5 -4
- package/dist/cli-bundle/chunks/chunk-TZLGCTA5.js.map +7 -0
- package/dist/cli-bundle/chunks/{chunk-4TI3532H.js → chunk-UDWUDUJI.js} +2 -2
- package/dist/cli-bundle/chunks/{chunk-N4SQZ7L3.js → chunk-UMWF6ZAS.js} +12 -5
- package/dist/cli-bundle/chunks/chunk-UMWF6ZAS.js.map +7 -0
- package/dist/cli-bundle/chunks/{chunk-BKQMJXWY.js → chunk-UNH3KSHG.js} +4 -6
- package/dist/cli-bundle/chunks/{chunk-BKQMJXWY.js.map → chunk-UNH3KSHG.js.map} +1 -1
- package/dist/cli-bundle/chunks/{chunk-CBJXWXI5.js → chunk-UY26RIBR.js} +2 -2
- package/dist/cli-bundle/chunks/{chunk-TBLBEOEX.js → chunk-VSS3CSTF.js} +9 -9
- package/dist/cli-bundle/chunks/{chunk-2YPVCD7T.js → chunk-WBU257Z4.js} +13 -11
- package/dist/cli-bundle/chunks/chunk-WBU257Z4.js.map +7 -0
- package/dist/cli-bundle/chunks/{chunk-YJAKN2N2.js → chunk-WNMRICXH.js} +489 -32
- package/dist/cli-bundle/chunks/chunk-WNMRICXH.js.map +1 -0
- package/dist/cli-bundle/chunks/chunk-WSWOQP3Z.js +518 -0
- package/dist/cli-bundle/chunks/chunk-WSWOQP3Z.js.map +1 -0
- package/dist/cli-bundle/chunks/{chunk-OTY2YEH5.js → chunk-WWEFBBVF.js} +12 -12
- package/dist/cli-bundle/chunks/{chunk-UMMJAJB2.js → chunk-X3IPJU2O.js} +9 -9
- package/dist/cli-bundle/chunks/{chunk-KBKJVXUS.js → chunk-X5YC5DZM.js} +111 -6
- package/dist/cli-bundle/chunks/chunk-X5YC5DZM.js.map +7 -0
- package/dist/cli-bundle/chunks/{chunk-KVXIQDJG.js → chunk-XH6RA5A5.js} +15 -15
- package/dist/cli-bundle/chunks/chunk-XH6RA5A5.js.map +1 -0
- package/dist/cli-bundle/chunks/{chunk-2HMD3JM2.js → chunk-XRE4CTNP.js} +11 -14
- package/dist/cli-bundle/chunks/chunk-XRE4CTNP.js.map +7 -0
- package/dist/cli-bundle/chunks/{chunk-RISLL7XH.js → chunk-XSCGU4WT.js} +15 -5
- package/dist/cli-bundle/chunks/{chunk-RISLL7XH.js.map → chunk-XSCGU4WT.js.map} +2 -2
- package/dist/cli-bundle/chunks/{chunk-L3LYL3ID.js → chunk-ZH7C7ZVX.js} +14 -14
- package/dist/cli-bundle/chunks/chunk-ZH7C7ZVX.js.map +7 -0
- package/dist/cli-bundle/chunks/{claim-NHBIIBOW.js → claim-3TY5LE54.js} +10 -10
- package/dist/cli-bundle/chunks/{claim-RNEBQCOO.js → claim-LM4YY6QQ.js} +10 -10
- package/dist/cli-bundle/chunks/{close-ZMXL2WDS.js → close-CSD4LEMT.js} +8 -8
- package/dist/cli-bundle/chunks/close-SIQCDOBR.js +13 -0
- package/dist/cli-bundle/chunks/{close-many-CDPQGQUB.js → close-many-B5SHDX6W.js} +17 -18
- package/dist/cli-bundle/chunks/{close-many-CDPQGQUB.js.map → close-many-B5SHDX6W.js.map} +1 -1
- package/dist/cli-bundle/chunks/{close-many-IQV5C2SI.js → close-many-WRXB5KVY.js} +15 -16
- package/dist/cli-bundle/chunks/{close-many-IQV5C2SI.js.map → close-many-WRXB5KVY.js.map} +1 -1
- package/dist/cli-bundle/chunks/{comments-J5Q4IJPH.js → comments-A5ALOYTG.js} +10 -10
- package/dist/cli-bundle/chunks/{comments-EFVBHWPT.js → comments-BDDEK3VW.js} +10 -10
- package/dist/cli-bundle/chunks/{config-72253M2O.js → config-W2NHDNQT.js} +8 -8
- package/dist/cli-bundle/chunks/{config-VFYA6BMI.js → config-YUYBMJOW.js} +8 -8
- package/dist/cli-bundle/chunks/{context-AVLO4IFH.js → context-LRJ74NSU.js} +147 -36
- package/dist/cli-bundle/chunks/context-LRJ74NSU.js.map +7 -0
- package/dist/cli-bundle/chunks/{context-WMSI2D65.js → context-R2QLOJCK.js} +148 -37
- package/dist/cli-bundle/chunks/context-R2QLOJCK.js.map +1 -0
- package/dist/cli-bundle/chunks/{contracts-D4BN3VSQ.js → contracts-47X7RYUF.js} +4 -4
- package/dist/cli-bundle/chunks/{contracts-RGPOBLPL.js → contracts-HJHR4NCD.js} +4 -4
- package/dist/cli-bundle/chunks/{copy-H6TXHK7S.js → copy-B7HFOWFB.js} +7 -7
- package/dist/cli-bundle/chunks/{copy-WXE3OOLZ.js → copy-P4UVYZ7M.js} +7 -7
- package/dist/cli-bundle/chunks/{create-PUAIJEZ7.js → create-5ERJF64D.js} +13 -13
- package/dist/cli-bundle/chunks/create-TXNRPS4K.js +27 -0
- package/dist/cli-bundle/chunks/{delete-WBME6WG5.js → delete-LX3LGBCH.js} +7 -7
- package/dist/cli-bundle/chunks/{delete-PKR2JHLH.js → delete-S3WVK6LP.js} +7 -7
- package/dist/cli-bundle/chunks/{deps-4BQEDV4L.js → deps-GWSNH7OZ.js} +7 -7
- package/dist/cli-bundle/chunks/{deps-KWHQRO75.js → deps-YSM4LZQD.js} +7 -7
- package/dist/cli-bundle/chunks/{docs-SCNBUGSV.js → docs-7RYFBHQD.js} +9 -9
- package/dist/cli-bundle/chunks/{docs-364GT3ZR.js → docs-TG6JMVMY.js} +9 -9
- package/dist/cli-bundle/chunks/{extension-KK2UPXJD.js → extension-R3LUKMX7.js} +5 -5
- package/dist/cli-bundle/chunks/{extension-CRE7JM47.js → extension-VNMRKIHI.js} +5 -5
- package/dist/cli-bundle/chunks/{files-66EHM5ZR.js → files-KAKU57OT.js} +9 -9
- package/dist/cli-bundle/chunks/{files-3GESQAWL.js → files-QB3EYPMO.js} +9 -9
- package/dist/cli-bundle/chunks/{gc-MOQDND5J.js → gc-B747VM4M.js} +3 -3
- package/dist/cli-bundle/chunks/{gc-D5IWOKQH.js → gc-KNUPLPSW.js} +3 -3
- package/dist/cli-bundle/chunks/{get-7J2ZCBV5.js → get-GMGLIQ5I.js} +11 -11
- package/dist/cli-bundle/chunks/{get-WXSLXV3K.js → get-SBL6NHYQ.js} +11 -11
- package/dist/cli-bundle/chunks/{health-B6AEM7BV.js → health-IG43Z4KL.js} +47 -19
- package/dist/cli-bundle/chunks/health-IG43Z4KL.js.map +1 -0
- package/dist/cli-bundle/chunks/{health-YMZGOMVX.js → health-WWZJ5KJS.js} +46 -18
- package/dist/cli-bundle/chunks/health-WWZJ5KJS.js.map +7 -0
- package/dist/cli-bundle/chunks/history-6UKSZTRT.js +20 -0
- package/dist/cli-bundle/chunks/{history-TJTO5GCR.js → history-XCWRXBXC.js} +10 -10
- package/dist/cli-bundle/chunks/{history-compact-CKNN6UKW.js → history-compact-IDH7E7VN.js} +11 -11
- package/dist/cli-bundle/chunks/{history-compact-N2Q7IR3T.js → history-compact-KICKUCR7.js} +11 -11
- package/dist/cli-bundle/chunks/history-redact-HKYBTK6X.js +19 -0
- package/dist/cli-bundle/chunks/{history-redact-JUXUOH54.js → history-redact-JJWH3QWK.js} +11 -11
- package/dist/cli-bundle/chunks/{history-repair-TDBBSRVK.js → history-repair-7HWBZKXN.js} +11 -11
- package/dist/cli-bundle/chunks/{history-repair-CCCPBNTF.js → history-repair-N5HXKJOI.js} +11 -11
- package/dist/cli-bundle/chunks/init-27JLDUO2.js +17 -0
- package/dist/cli-bundle/chunks/{init-6ZPKD3YN.js → init-OQA3TWIS.js} +9 -9
- package/dist/cli-bundle/chunks/{learnings-WYNTYQ5T.js → learnings-L7VQUSVI.js} +10 -10
- package/dist/cli-bundle/chunks/{learnings-U7U2FNIO.js → learnings-Z4GAIZQ5.js} +10 -10
- package/dist/cli-bundle/chunks/list-6U3CJVXS.js +19 -0
- package/dist/cli-bundle/chunks/{list-JGP7ODML.js → list-W5ROBC5U.js} +10 -11
- package/dist/cli-bundle/chunks/{notes-P25YVTEG.js → notes-JJDOEDFK.js} +10 -10
- package/dist/cli-bundle/chunks/{notes-QIF6A7XS.js → notes-SDCK7BEN.js} +10 -10
- package/dist/cli-bundle/chunks/{plan-RACB5PI6.js → plan-H5HYHMBB.js} +13 -13
- package/dist/cli-bundle/chunks/{plan-SSBJFWXA.js → plan-W2B5RYR3.js} +13 -13
- package/dist/cli-bundle/chunks/{register-list-query-GQAEIG4K.js → register-list-query-QGRFMDWA.js} +20 -20
- package/dist/cli-bundle/chunks/register-list-query-QGRFMDWA.js.map +7 -0
- package/dist/cli-bundle/chunks/{register-list-query-5IXDPUZ6.js → register-list-query-V4S23735.js} +21 -21
- package/dist/cli-bundle/chunks/register-list-query-V4S23735.js.map +1 -0
- package/dist/cli-bundle/chunks/{register-mutation-FAS4YG63.js → register-mutation-I57PLUHA.js} +36 -35
- package/dist/cli-bundle/chunks/register-mutation-I57PLUHA.js.map +1 -0
- package/dist/cli-bundle/chunks/{register-mutation-YZCUILGO.js → register-mutation-ZPZNJXSA.js} +35 -34
- package/dist/cli-bundle/chunks/register-mutation-ZPZNJXSA.js.map +7 -0
- package/dist/cli-bundle/chunks/{register-operations-S2BOLUPF.js → register-operations-KAMLXAF5.js} +42 -37
- package/dist/cli-bundle/chunks/register-operations-KAMLXAF5.js.map +1 -0
- package/dist/cli-bundle/chunks/{register-operations-IBYWNJN5.js → register-operations-YEN4YEZ2.js} +41 -36
- package/dist/cli-bundle/chunks/register-operations-YEN4YEZ2.js.map +7 -0
- package/dist/cli-bundle/chunks/{register-setup-JRZ4UMWZ.js → register-setup-BZ3TNE3G.js} +15 -15
- package/dist/cli-bundle/chunks/{register-setup-ABA2JPWO.js → register-setup-WLFL3OUF.js} +15 -15
- package/dist/cli-bundle/chunks/restore-GNI2W5CN.js +17 -0
- package/dist/cli-bundle/chunks/{restore-K72ZNPEP.js → restore-RGFSPG4K.js} +11 -11
- package/dist/cli-bundle/chunks/{schema-UL4B2JX5.js → schema-CCDU3RLC.js} +8 -8
- package/dist/cli-bundle/chunks/{schema-3VKRDBLC.js → schema-KZASL323.js} +8 -8
- package/dist/cli-bundle/chunks/{search-632WJ7GO.js → search-7KSOLI2E.js} +10 -11
- package/dist/cli-bundle/chunks/{search-632WJ7GO.js.map → search-7KSOLI2E.js.map} +1 -1
- package/dist/cli-bundle/chunks/{search-EQDHSE4G.js → search-DTL7CO22.js} +12 -13
- package/dist/cli-bundle/chunks/{search-EQDHSE4G.js.map → search-DTL7CO22.js.map} +1 -1
- package/dist/cli-bundle/chunks/{stats-WLJ3XBF5.js → stats-IOXQMGI6.js} +7 -7
- package/dist/cli-bundle/chunks/{stats-O4UTMJMC.js → stats-QNV7B2CE.js} +7 -7
- package/dist/cli-bundle/chunks/{telemetry-EUVHFSQU.js → telemetry-IV5C6JOM.js} +4 -4
- package/dist/cli-bundle/chunks/{telemetry-NRVWX25E.js → telemetry-NHR5RFXT.js} +4 -4
- package/dist/cli-bundle/chunks/test-4Z37CXW4.js +32 -0
- package/dist/cli-bundle/chunks/{test-GXUBQNUC.js → test-PIL2CEEB.js} +14 -14
- package/dist/cli-bundle/chunks/{test-all-UTFXC7S2.js → test-all-GRLYHBNP.js} +14 -14
- package/dist/cli-bundle/chunks/{test-all-XM6OKI3L.js → test-all-MFN4MYCV.js} +14 -14
- package/dist/cli-bundle/chunks/{test-runs-IK6E2HNX.js → test-runs-7LRFWWCA.js} +5 -5
- package/dist/cli-bundle/chunks/{test-runs-7FHCPEA3.js → test-runs-7WCSC3TY.js} +5 -5
- package/dist/cli-bundle/chunks/update-I4G34LKJ.js +21 -0
- package/dist/cli-bundle/chunks/{update-U4B4OMHZ.js → update-VI5DBZ3G.js} +15 -15
- package/dist/cli-bundle/chunks/{update-many-5KD33MKY.js → update-many-LOTAYUTN.js} +22 -23
- package/dist/cli-bundle/chunks/{update-many-5KD33MKY.js.map → update-many-LOTAYUTN.js.map} +1 -1
- package/dist/cli-bundle/chunks/{update-many-N3YTM7K4.js → update-many-UYMTVF42.js} +24 -25
- package/dist/cli-bundle/chunks/{update-many-N3YTM7K4.js.map → update-many-UYMTVF42.js.map} +1 -1
- package/dist/cli-bundle/chunks/{upgrade-FFXGO43H.js → upgrade-LT2MLLPS.js} +5 -5
- package/dist/cli-bundle/chunks/{upgrade-5SRFLUNW.js → upgrade-ZZSC7CLV.js} +5 -5
- package/dist/cli-bundle/chunks/{validate-T3LPWSZG.js → validate-3XRORNMP.js} +16 -16
- package/dist/cli-bundle/chunks/{validate-CRWXZILW.js → validate-IQIQSKUX.js} +16 -16
- package/dist/cli-bundle/main.js +157 -62
- package/dist/cli-bundle/main.js.map +2 -2
- package/dist/core/diagnostics/remediation.js +12 -2
- package/dist/core/diagnostics/remediation.js.map +1 -1
- package/dist/core/extensions/extension-policy.d.ts +14 -1
- package/dist/core/extensions/extension-policy.js +38 -3
- package/dist/core/extensions/extension-policy.js.map +1 -1
- package/dist/core/extensions/extension-types.d.ts +99 -2
- package/dist/core/extensions/extension-types.js +28 -2
- package/dist/core/extensions/extension-types.js.map +1 -1
- package/dist/core/extensions/flag-value-types.d.ts +29 -0
- package/dist/core/extensions/flag-value-types.js +78 -0
- package/dist/core/extensions/flag-value-types.js.map +1 -0
- package/dist/core/extensions/item-field-types.d.ts +22 -0
- package/dist/core/extensions/item-field-types.js +43 -0
- package/dist/core/extensions/item-field-types.js.map +1 -0
- package/dist/core/extensions/item-fields.js +4 -11
- package/dist/core/extensions/item-fields.js.map +1 -1
- package/dist/core/extensions/loader.d.ts +16 -1
- package/dist/core/extensions/loader.js +202 -18
- package/dist/core/extensions/loader.js.map +1 -1
- package/dist/core/history/replay.d.ts +1 -1
- package/dist/core/history/replay.js +13 -4
- package/dist/core/history/replay.js.map +1 -1
- package/dist/core/output/mutation-projection.d.ts +2 -0
- package/dist/core/output/mutation-projection.js +9 -2
- package/dist/core/output/mutation-projection.js.map +1 -1
- package/dist/core/output/output.d.ts +2 -0
- package/dist/core/output/output.js +7 -3
- package/dist/core/output/output.js.map +1 -1
- package/dist/core/packages/manifest.d.ts +1 -1
- package/dist/core/packages/manifest.js +12 -2
- package/dist/core/packages/manifest.js.map +1 -1
- package/dist/core/shared/command-types.d.ts +1 -0
- package/dist/core/shared/command-types.js +2 -2
- package/dist/core/shared/command-types.js.map +1 -1
- package/dist/core/shared/constants.js +7 -4
- package/dist/core/shared/constants.js.map +1 -1
- package/dist/core/store/item-store.d.ts +1 -1
- package/dist/core/store/item-store.js +3 -3
- package/dist/core/store/item-store.js.map +1 -1
- package/dist/core/store/settings-read-cache.d.ts +15 -0
- package/dist/core/store/settings-read-cache.js +72 -0
- package/dist/core/store/settings-read-cache.js.map +1 -0
- package/dist/core/store/settings-validator.d.ts +4 -1
- package/dist/core/store/settings-validator.js +14 -2
- package/dist/core/store/settings-validator.js.map +1 -1
- package/dist/core/store/settings.js +166 -16
- package/dist/core/store/settings.js.map +1 -1
- package/dist/core/telemetry/runtime.d.ts +1 -0
- package/dist/core/telemetry/runtime.js +3 -3
- package/dist/core/telemetry/runtime.js.map +1 -1
- package/dist/core/test/run-selectors.d.ts +27 -0
- package/dist/core/test/run-selectors.js +110 -0
- package/dist/core/test/run-selectors.js.map +1 -0
- package/dist/mcp/server.js +105 -40
- package/dist/mcp/server.js.map +1 -1
- package/dist/sdk/cli-contracts/commander-mutation-options.js +3 -2
- package/dist/sdk/cli-contracts/commander-mutation-options.js.map +1 -1
- package/dist/sdk/cli-contracts/tool-option-contracts.js +3 -2
- package/dist/sdk/cli-contracts/tool-option-contracts.js.map +1 -1
- package/dist/sdk/cli-contracts/tool-parameter-tables.js +29 -2
- package/dist/sdk/cli-contracts/tool-parameter-tables.js.map +1 -1
- package/dist/sdk/cli-contracts.js +37 -5
- package/dist/sdk/cli-contracts.js.map +1 -1
- package/dist/sdk/index.d.ts +7 -2
- package/dist/sdk/index.js +3 -3
- package/dist/sdk/index.js.map +1 -1
- package/dist/sdk/runtime.d.ts +6 -0
- package/dist/sdk/runtime.js +51 -3
- package/dist/sdk/runtime.js.map +1 -1
- package/dist/sdk/testing.d.ts +55 -1
- package/dist/sdk/testing.js +92 -2
- package/dist/sdk/testing.js.map +1 -1
- package/dist/types.d.ts +4 -1
- package/dist/types.js +4 -2
- package/dist/types.js.map +1 -1
- package/docs/AGENT_GUIDE.md +7 -1
- package/docs/ARCHITECTURE.md +7 -0
- package/docs/COMMANDS.md +37 -3
- package/docs/CONFIGURATION.md +1 -1
- package/docs/EXTENSIONS.md +59 -53
- package/docs/SDK.md +104 -0
- package/docs/TESTING.md +60 -0
- package/docs/schemas/extension-manifest.schema.json +120 -0
- package/package.json +2 -2
- package/packages/pm-beads/extensions/beads/manifest.json +10 -0
- package/packages/pm-calendar/extensions/calendar/manifest.json +10 -0
- package/packages/pm-command-kit/README.md +72 -0
- package/packages/pm-command-kit/extensions/command-kit/index.js +181 -0
- package/packages/pm-command-kit/extensions/command-kit/index.ts +176 -0
- package/packages/pm-command-kit/extensions/command-kit/manifest.json +22 -0
- package/packages/pm-command-kit/package.json +53 -0
- package/packages/pm-governance-audit/extensions/governance-audit/manifest.json +10 -0
- package/packages/pm-guide-shell/extensions/guide-shell/manifest.json +10 -0
- package/packages/pm-lifecycle-hooks/extensions/lifecycle-hooks/manifest.json +10 -0
- package/packages/pm-linked-test-adapters/extensions/linked-test-adapters/manifest.json +10 -0
- package/packages/pm-search-advanced/extensions/search-advanced/index.js +6 -0
- package/packages/pm-search-advanced/extensions/search-advanced/index.ts +6 -0
- package/packages/pm-search-advanced/extensions/search-advanced/manifest.json +10 -0
- package/packages/pm-search-advanced/extensions/search-advanced/runtime.js +1 -0
- package/packages/pm-search-advanced/extensions/search-advanced/runtime.ts +1 -0
- package/packages/pm-templates/extensions/templates/manifest.json +10 -0
- package/packages/pm-todos/extensions/todos/manifest.json +10 -0
- package/dist/cli-bundle/chunks/activity-A3QKFSSF.js +0 -16
- package/dist/cli-bundle/chunks/aggregate-GBSHSXOB.js.map +0 -7
- package/dist/cli-bundle/chunks/aggregate-HKQJZUBG.js.map +0 -1
- package/dist/cli-bundle/chunks/chunk-2HMD3JM2.js.map +0 -7
- package/dist/cli-bundle/chunks/chunk-2YPVCD7T.js.map +0 -7
- package/dist/cli-bundle/chunks/chunk-3TXWDGPU.js.map +0 -7
- package/dist/cli-bundle/chunks/chunk-7NQIY7Z6.js.map +0 -1
- package/dist/cli-bundle/chunks/chunk-7WXGR44E.js.map +0 -7
- package/dist/cli-bundle/chunks/chunk-ALSRBNYB.js.map +0 -1
- package/dist/cli-bundle/chunks/chunk-D7WK2PKB.js.map +0 -1
- package/dist/cli-bundle/chunks/chunk-DV27WDA7.js.map +0 -7
- package/dist/cli-bundle/chunks/chunk-EAOG77HM.js +0 -56
- package/dist/cli-bundle/chunks/chunk-EAOG77HM.js.map +0 -7
- package/dist/cli-bundle/chunks/chunk-EPWT7BEA.js.map +0 -1
- package/dist/cli-bundle/chunks/chunk-F33AQIB4.js.map +0 -1
- package/dist/cli-bundle/chunks/chunk-F33VC5EX.js.map +0 -1
- package/dist/cli-bundle/chunks/chunk-HOA3GMB6.js.map +0 -1
- package/dist/cli-bundle/chunks/chunk-KBKJVXUS.js.map +0 -7
- package/dist/cli-bundle/chunks/chunk-KCGMABHM.js.map +0 -1
- package/dist/cli-bundle/chunks/chunk-KS2U7BZ3.js.map +0 -1
- package/dist/cli-bundle/chunks/chunk-KVXIQDJG.js.map +0 -1
- package/dist/cli-bundle/chunks/chunk-L3LYL3ID.js.map +0 -7
- package/dist/cli-bundle/chunks/chunk-MSH23UWO.js.map +0 -7
- package/dist/cli-bundle/chunks/chunk-N4SQZ7L3.js.map +0 -7
- package/dist/cli-bundle/chunks/chunk-NUKHZZNM.js +0 -252
- package/dist/cli-bundle/chunks/chunk-NUKHZZNM.js.map +0 -7
- package/dist/cli-bundle/chunks/chunk-ODN53S6H.js.map +0 -1
- package/dist/cli-bundle/chunks/chunk-OVSSE2JP.js.map +0 -1
- package/dist/cli-bundle/chunks/chunk-QWNUDGFQ.js.map +0 -7
- package/dist/cli-bundle/chunks/chunk-TXKENAQP.js.map +0 -7
- package/dist/cli-bundle/chunks/chunk-VXBUXLVD.js.map +0 -7
- package/dist/cli-bundle/chunks/chunk-XNGMIVQY.js +0 -242
- package/dist/cli-bundle/chunks/chunk-XNGMIVQY.js.map +0 -1
- package/dist/cli-bundle/chunks/chunk-XSLQSXAH.js +0 -53
- package/dist/cli-bundle/chunks/chunk-XSLQSXAH.js.map +0 -1
- package/dist/cli-bundle/chunks/chunk-YJAKN2N2.js.map +0 -1
- package/dist/cli-bundle/chunks/close-UNTFXVM3.js +0 -13
- package/dist/cli-bundle/chunks/context-AVLO4IFH.js.map +0 -7
- package/dist/cli-bundle/chunks/context-WMSI2D65.js.map +0 -1
- package/dist/cli-bundle/chunks/create-EZWAMUKR.js +0 -27
- package/dist/cli-bundle/chunks/health-B6AEM7BV.js.map +0 -1
- package/dist/cli-bundle/chunks/health-YMZGOMVX.js.map +0 -7
- package/dist/cli-bundle/chunks/history-ZERISU2L.js +0 -20
- package/dist/cli-bundle/chunks/history-redact-GODBYT5A.js +0 -19
- package/dist/cli-bundle/chunks/init-CBZHXBR3.js +0 -17
- package/dist/cli-bundle/chunks/list-7MTPPZHC.js +0 -20
- package/dist/cli-bundle/chunks/register-list-query-5IXDPUZ6.js.map +0 -1
- package/dist/cli-bundle/chunks/register-list-query-GQAEIG4K.js.map +0 -7
- package/dist/cli-bundle/chunks/register-mutation-FAS4YG63.js.map +0 -1
- package/dist/cli-bundle/chunks/register-mutation-YZCUILGO.js.map +0 -7
- package/dist/cli-bundle/chunks/register-operations-IBYWNJN5.js.map +0 -7
- package/dist/cli-bundle/chunks/register-operations-S2BOLUPF.js.map +0 -1
- package/dist/cli-bundle/chunks/restore-3JRX27QW.js +0 -17
- package/dist/cli-bundle/chunks/test-XN7RJL5Z.js +0 -32
- package/dist/cli-bundle/chunks/update-LFBSEW3N.js +0 -21
- /package/dist/cli-bundle/chunks/{activity-A3QKFSSF.js.map → activity-5QLX6DHN.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{activity-Q7XMIZIH.js.map → activity-W6TS5F2L.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{append-3RFOU7P5.js.map → append-7BS36Z2L.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{append-OM74OJVT.js.map → append-DHGTLUZW.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-Z2HXAFFH.js.map → chunk-344GDQTH.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-AEMKH5WQ.js.map → chunk-3VTWCBXL.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-XLSQ3QLT.js.map → chunk-4CYHWHZU.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-JS47EKLP.js.map → chunk-4H2NDEGJ.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-QF4OPBAG.js.map → chunk-5HH6QRH5.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-5NVJA7IW.js.map → chunk-5OMABP7I.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-YEFOCDIK.js.map → chunk-6ADVKPVV.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-SM3RMWGO.js.map → chunk-6KQS23TX.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-ETZZU5QF.js.map → chunk-6N46IM44.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-5WO2VKFA.js.map → chunk-73PSHEMT.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-J4DKAGTM.js.map → chunk-7DUVDW7C.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-2BYKYPWY.js.map → chunk-7GYMMDDW.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-QFVASU44.js.map → chunk-7TW64BS5.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-KP4KIUQT.js.map → chunk-ANVZCNL5.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-UEXNNF3K.js.map → chunk-D6JZBUZ6.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-R4XIE7NQ.js.map → chunk-DMDEC4QP.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-KN4WSESY.js.map → chunk-DTRIVUTN.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-HP35AVFS.js.map → chunk-EIS32UA4.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-BFJPMUF5.js.map → chunk-GP6SHEAI.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-URJEZOLB.js.map → chunk-GRHPU6EM.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-K62SNVVE.js.map → chunk-I2FM2SMO.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-AXBUHLW7.js.map → chunk-K45NAJV2.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-NLVCMVC7.js.map → chunk-K7SXBA75.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-NDSMKB2I.js.map → chunk-LYL32FT6.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-Z55JACL2.js.map → chunk-O64EYNHF.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-FO2TYSQZ.js.map → chunk-OROMGSBP.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-XZS4MV37.js.map → chunk-PYULT32I.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-M7UBTVFT.js.map → chunk-Q6PSD5DZ.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-QQPZYP73.js.map → chunk-QGIWURY3.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-XEKZCBCS.js.map → chunk-SNASEDXB.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-4WYBLB6J.js.map → chunk-T6QLB34N.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-NGEEXR2R.js.map → chunk-TALBUVWF.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-FGRJZVXD.js.map → chunk-TV6FZGVK.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-4TI3532H.js.map → chunk-UDWUDUJI.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-CBJXWXI5.js.map → chunk-UY26RIBR.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-TBLBEOEX.js.map → chunk-VSS3CSTF.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-OTY2YEH5.js.map → chunk-WWEFBBVF.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-UMMJAJB2.js.map → chunk-X3IPJU2O.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{claim-NHBIIBOW.js.map → claim-3TY5LE54.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{claim-RNEBQCOO.js.map → claim-LM4YY6QQ.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{close-ZMXL2WDS.js.map → close-CSD4LEMT.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{close-UNTFXVM3.js.map → close-SIQCDOBR.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{comments-J5Q4IJPH.js.map → comments-A5ALOYTG.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{comments-EFVBHWPT.js.map → comments-BDDEK3VW.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{config-72253M2O.js.map → config-W2NHDNQT.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{config-VFYA6BMI.js.map → config-YUYBMJOW.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{contracts-D4BN3VSQ.js.map → contracts-47X7RYUF.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{contracts-RGPOBLPL.js.map → contracts-HJHR4NCD.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{copy-H6TXHK7S.js.map → copy-B7HFOWFB.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{copy-WXE3OOLZ.js.map → copy-P4UVYZ7M.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{create-PUAIJEZ7.js.map → create-5ERJF64D.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{create-EZWAMUKR.js.map → create-TXNRPS4K.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{delete-WBME6WG5.js.map → delete-LX3LGBCH.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{delete-PKR2JHLH.js.map → delete-S3WVK6LP.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{deps-4BQEDV4L.js.map → deps-GWSNH7OZ.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{deps-KWHQRO75.js.map → deps-YSM4LZQD.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{docs-SCNBUGSV.js.map → docs-7RYFBHQD.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{docs-364GT3ZR.js.map → docs-TG6JMVMY.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{extension-KK2UPXJD.js.map → extension-R3LUKMX7.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{extension-CRE7JM47.js.map → extension-VNMRKIHI.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{files-66EHM5ZR.js.map → files-KAKU57OT.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{files-3GESQAWL.js.map → files-QB3EYPMO.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{gc-MOQDND5J.js.map → gc-B747VM4M.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{gc-D5IWOKQH.js.map → gc-KNUPLPSW.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{get-7J2ZCBV5.js.map → get-GMGLIQ5I.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{get-WXSLXV3K.js.map → get-SBL6NHYQ.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{history-ZERISU2L.js.map → history-6UKSZTRT.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{history-TJTO5GCR.js.map → history-XCWRXBXC.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{history-compact-CKNN6UKW.js.map → history-compact-IDH7E7VN.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{history-compact-N2Q7IR3T.js.map → history-compact-KICKUCR7.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{history-redact-GODBYT5A.js.map → history-redact-HKYBTK6X.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{history-redact-JUXUOH54.js.map → history-redact-JJWH3QWK.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{history-repair-TDBBSRVK.js.map → history-repair-7HWBZKXN.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{history-repair-CCCPBNTF.js.map → history-repair-N5HXKJOI.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{init-CBZHXBR3.js.map → init-27JLDUO2.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{init-6ZPKD3YN.js.map → init-OQA3TWIS.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{learnings-WYNTYQ5T.js.map → learnings-L7VQUSVI.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{learnings-U7U2FNIO.js.map → learnings-Z4GAIZQ5.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{list-7MTPPZHC.js.map → list-6U3CJVXS.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{list-JGP7ODML.js.map → list-W5ROBC5U.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{notes-P25YVTEG.js.map → notes-JJDOEDFK.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{notes-QIF6A7XS.js.map → notes-SDCK7BEN.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{plan-RACB5PI6.js.map → plan-H5HYHMBB.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{plan-SSBJFWXA.js.map → plan-W2B5RYR3.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{register-setup-JRZ4UMWZ.js.map → register-setup-BZ3TNE3G.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{register-setup-ABA2JPWO.js.map → register-setup-WLFL3OUF.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{restore-3JRX27QW.js.map → restore-GNI2W5CN.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{restore-K72ZNPEP.js.map → restore-RGFSPG4K.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{schema-UL4B2JX5.js.map → schema-CCDU3RLC.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{schema-3VKRDBLC.js.map → schema-KZASL323.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{stats-WLJ3XBF5.js.map → stats-IOXQMGI6.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{stats-O4UTMJMC.js.map → stats-QNV7B2CE.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{telemetry-EUVHFSQU.js.map → telemetry-IV5C6JOM.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{telemetry-NRVWX25E.js.map → telemetry-NHR5RFXT.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{test-XN7RJL5Z.js.map → test-4Z37CXW4.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{test-GXUBQNUC.js.map → test-PIL2CEEB.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{test-all-UTFXC7S2.js.map → test-all-GRLYHBNP.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{test-all-XM6OKI3L.js.map → test-all-MFN4MYCV.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{test-runs-IK6E2HNX.js.map → test-runs-7LRFWWCA.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{test-runs-7FHCPEA3.js.map → test-runs-7WCSC3TY.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{update-LFBSEW3N.js.map → update-I4G34LKJ.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{update-U4B4OMHZ.js.map → update-VI5DBZ3G.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{upgrade-FFXGO43H.js.map → upgrade-LT2MLLPS.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{upgrade-5SRFLUNW.js.map → upgrade-ZZSC7CLV.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{validate-T3LPWSZG.js.map → validate-3XRORNMP.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{validate-CRWXZILW.js.map → validate-IQIQSKUX.js.map} +0 -0
|
@@ -2,6 +2,6 @@
|
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../../../../../../cli/commands/search.ts", "../../../../../../../../core/extensions/runtime-registrations.ts", "../../../../../../../../core/shared/text-normalization.ts", "../../../../../../../../core/search/relevance.ts"],
|
|
4
4
|
"sourcesContent": ["import fs from \"node:fs/promises\";\nimport path from \"node:path\";\nimport { coerceNumberInRange, toNonEmptyStringOrUndefined } from \"../../core/shared/primitives.js\";\nimport { isPathWithinDirectory } from \"../../core/fs/path-utils.js\";\nimport { getActiveExtensionRegistrations, runActiveOnReadHooks } from \"../../core/extensions/index.js\";\nimport { collectRegisteredItemFieldNames } from \"../../core/extensions/item-fields.js\";\nimport {\n resolveRegisteredSearchProvider,\n resolveRegisteredVectorStoreAdapter,\n} from \"../../core/extensions/runtime-registrations.js\";\nimport { resolveItemTypeRegistry, type ItemTypeRegistry } from \"../../core/item/type-registry.js\";\nimport { parseLimit, parsePriority, parseType } from \"../shared-parsers.js\";\nimport {\n executeEmbeddingRequest,\n resolveEmbeddingProviders,\n type EmbeddingProviderConfig,\n type EmbeddingProviderResolution,\n} from \"../../core/search/providers.js\";\nimport {\n buildDeterministicQueryExpansions,\n mergeQueryExpansions,\n normalizeQueryExpansionOutput,\n normalizeRerankOutput,\n rerankCandidatesWithEmbeddings,\n resolveQueryExpansionConfig,\n resolveRerankConfig,\n type QueryExpansionConfig,\n type RerankCandidate,\n type RerankConfig,\n} from \"../../core/search/relevance.js\";\nimport { resolveSettingsWithSemanticRuntimeDefaults } from \"../../core/search/semantic-defaults.js\";\nimport {\n executeVectorQuery,\n resolveVectorStores,\n type VectorQueryHit,\n type VectorStoreConfig,\n type VectorStoreResolution,\n} from \"../../core/search/vector-stores.js\";\nimport { readVectorizationStatusLedger } from \"../../core/search/cache.js\";\nimport { buildEventCorpus, buildPlanFlatCorpus, buildReminderCorpus } from \"../../core/search/corpus.js\";\nimport { collectStaleVectorizationIds } from \"../../core/search/staleness.js\";\nimport { pathExists } from \"../../core/fs/fs-utils.js\";\nimport { parseItemDocument } from \"../../core/item/item-format.js\";\nimport { toItemRecord } from \"../../core/item/item-record.js\";\nimport { isTerminalStatus } from \"../../core/item/status.js\";\nimport { parseStatusFilterCsv } from \"../../core/item/status-filter.js\";\nimport { collectRuntimeFilterValues, matchesRuntimeFilters } from \"../../core/schema/runtime-field-filters.js\";\nimport {\n resolveRuntimeFieldRegistry,\n resolveRuntimeStatusRegistry,\n type RuntimeFieldRegistry,\n type RuntimeStatusRegistry,\n} from \"../../core/schema/runtime-schema.js\";\nimport { EXIT_CODE } from \"../../core/shared/constants.js\";\nimport type { GlobalOptions } from \"../../core/shared/command-types.js\";\nimport { PmCliError } from \"../../core/shared/errors.js\";\nimport { tokenizeAlphaNumeric } from \"../../core/shared/text-normalization.js\";\nimport { compareTimestampStrings, nowIso, resolveIsoOrRelative } from \"../../core/shared/time.js\";\nimport { listAllDocumentCandidatesCached } from \"../../core/store/front-matter-cache.js\";\nimport { listAllFrontMatter } from \"../../core/store/item-store.js\";\nimport { getItemPath, getSettingsPath, resolveGlobalPmRoot, resolvePmRoot } from \"../../core/store/paths.js\";\nimport { readSettings } from \"../../core/store/settings.js\";\nimport type { ItemDocument, ItemFormat, ItemFrontMatter, ItemStatus, ItemType, PmSettings } from \"../../types/index.js\";\n\nexport interface SearchOptions {\n mode?: string;\n semanticWeight?: string | number;\n includeLinked?: boolean;\n titleExact?: boolean;\n phraseExact?: boolean;\n status?: string;\n type?: string;\n tag?: string;\n priority?: string;\n deadlineBefore?: string;\n deadlineAfter?: string;\n limit?: string;\n compact?: boolean;\n full?: boolean;\n fields?: string;\n [key: string]: unknown;\n}\n\ntype SearchMode = \"keyword\" | \"semantic\" | \"hybrid\";\ntype SearchProjectionMode = \"compact\" | \"full\" | \"fields\";\n\ninterface SearchProjectionConfig {\n mode: SearchProjectionMode;\n fields: string[];\n}\n\nconst DEFAULT_COMPACT_SEARCH_FIELDS = [\n \"id\",\n \"title\",\n \"status\",\n \"type\",\n \"priority\",\n \"updated_at\",\n \"score\",\n \"matched_fields\",\n] as const;\n\nconst SEARCH_HIT_FIELD_KEYS = new Set([\"score\", \"matched_fields\"]);\nconst SEARCH_ITEM_FIELD_KEYS = new Set([\n \"id\",\n \"title\",\n \"description\",\n \"type\",\n \"status\",\n \"priority\",\n \"tags\",\n \"created_at\",\n \"updated_at\",\n \"deadline\",\n \"assignee\",\n \"author\",\n \"estimated_minutes\",\n \"acceptance_criteria\",\n \"dependencies\",\n \"comments\",\n \"notes\",\n \"learnings\",\n \"reminders\",\n \"events\",\n \"files\",\n \"tests\",\n \"docs\",\n \"close_reason\",\n \"parent\",\n \"reviewer\",\n \"risk\",\n \"confidence\",\n \"sprint\",\n \"release\",\n \"blocked_by\",\n \"blocked_reason\",\n \"reporter\",\n \"severity\",\n \"environment\",\n \"repro_steps\",\n \"resolution\",\n \"expected_result\",\n \"actual_result\",\n \"affected_version\",\n \"fixed_version\",\n \"component\",\n \"regression\",\n \"customer_impact\",\n \"definition_of_ready\",\n \"order\",\n \"rank\",\n \"goal\",\n \"objective\",\n \"value\",\n \"impact\",\n \"outcome\",\n \"why_now\",\n \"plan\",\n]);\n\nconst LONG_QUERY_TOKEN_THRESHOLD = 2;\nconst LONG_QUERY_TITLE_EXACT_BONUS = 120;\nconst LONG_QUERY_PHRASE_MULTIPLIER = 6;\nconst IMPLICIT_HYBRID_EMBEDDING_TIMEOUT_MS = 8_000;\nconst IMPLICIT_HYBRID_VECTOR_TIMEOUT_MS = 8_000;\n\nexport interface SearchHit {\n item: ItemFrontMatter;\n score: number;\n matched_fields: string[];\n}\n\nexport type SearchResultItem = SearchHit | Record<string, unknown>;\n\ninterface SearchResultBase {\n query: string;\n mode: SearchMode;\n items: SearchResultItem[];\n count: number;\n warnings?: string[];\n}\n\nexport interface SearchCompactResult extends SearchResultBase {\n filters: Record<string, unknown>;\n projection?: undefined;\n now?: undefined;\n}\n\nexport interface SearchVerboseResult extends SearchResultBase {\n filters: Record<string, unknown>;\n projection: {\n mode: SearchProjectionMode;\n fields: string[] | null;\n };\n now: string;\n}\n\nexport type SearchResult = SearchCompactResult | SearchVerboseResult;\n\nfunction isNonEmptyRecord(value: unknown): value is Record<string, unknown> {\n return typeof value === \"object\" && value !== null && !Array.isArray(value) && Object.keys(value).length > 0;\n}\n\nfunction buildCompactSearchFilterSummary(params: {\n mode: SearchMode;\n options: SearchOptions;\n includeLinked: boolean;\n titleExact: boolean;\n phraseExact: boolean;\n scoreThreshold: number;\n hybridSemanticWeight: number;\n runtimeFieldFilters?: Record<string, unknown>;\n}): Record<string, unknown> {\n const {\n mode,\n options,\n includeLinked,\n titleExact,\n phraseExact,\n scoreThreshold,\n hybridSemanticWeight,\n runtimeFieldFilters,\n } = params;\n const filters: Record<string, unknown> = {};\n if (options.status !== undefined) {\n filters.status = options.status;\n }\n if (options.type !== undefined) {\n filters.type = options.type;\n }\n if (options.tag !== undefined) {\n filters.tag = options.tag;\n }\n if (options.priority !== undefined) {\n filters.priority = options.priority;\n }\n if (options.deadlineBefore !== undefined) {\n filters.deadline_before = options.deadlineBefore;\n }\n if (options.deadlineAfter !== undefined) {\n filters.deadline_after = options.deadlineAfter;\n }\n if (includeLinked) {\n filters.include_linked = true;\n }\n if (titleExact) {\n filters.title_exact = true;\n }\n if (phraseExact) {\n filters.phrase_exact = true;\n }\n if (scoreThreshold > 0) {\n filters.score_threshold = scoreThreshold;\n }\n if (mode === \"hybrid\" && options.semanticWeight !== undefined) {\n filters.hybrid_semantic_weight = hybridSemanticWeight;\n }\n if (options.limit !== undefined) {\n filters.limit = options.limit;\n }\n if (isNonEmptyRecord(runtimeFieldFilters)) {\n filters.runtime_filters = runtimeFieldFilters;\n }\n return filters;\n}\n\ninterface ExtensionSearchProviderContext {\n query: string;\n mode: SearchMode;\n tokens: string[];\n options: SearchOptions;\n settings: PmSettings;\n documents: ItemDocument[];\n}\n\ninterface ExtensionSearchProviderHit {\n id: string;\n score: number;\n matched_fields?: string[];\n}\n\ntype ExtensionSearchProviderQuery = (\n context: ExtensionSearchProviderContext,\n) => Promise<ExtensionSearchProviderHit[] | { hits?: ExtensionSearchProviderHit[] }> | ExtensionSearchProviderHit[] | { hits?: ExtensionSearchProviderHit[] };\n\ninterface ExtensionSearchProviderQueryExpansionContext {\n query: string;\n mode: Exclude<SearchMode, \"keyword\">;\n settings: PmSettings;\n}\n\ntype ExtensionSearchProviderQueryExpansion = (\n context: ExtensionSearchProviderQueryExpansionContext,\n) => Promise<string[] | { queries?: string[] }> | string[] | { queries?: string[] };\n\ninterface ExtensionSearchProviderRerankCandidate {\n id: string;\n text: string;\n score: number;\n}\n\ninterface ExtensionSearchProviderRerankContext {\n query: string;\n mode: \"hybrid\";\n model: string;\n top_k: number;\n settings: PmSettings;\n candidates: ExtensionSearchProviderRerankCandidate[];\n}\n\ntype ExtensionSearchProviderRerank = (\n context: ExtensionSearchProviderRerankContext,\n) => Promise<Array<{ id?: unknown; score?: unknown }> | { hits?: Array<{ id?: unknown; score?: unknown }> }>\n | Array<{ id?: unknown; score?: unknown }>\n | { hits?: Array<{ id?: unknown; score?: unknown }> };\n\ntype ExtensionVectorQuery = (\n context: {\n vector: number[];\n limit: number;\n settings: PmSettings;\n },\n) => Promise<VectorQueryHit[]> | VectorQueryHit[];\n\ntype ExtensionVectorAdapter = {\n query?: ExtensionVectorQuery;\n};\n\n\n\ninterface SearchModeContext {\n hasProvider: boolean;\n hasVectorStore: boolean;\n}\n\ntype ImplicitSemanticFallbackReason = \"timeout\" | \"connection\" | \"error\";\n\n/**\n * Aggregate the `code` strings found along an error's `cause` chain.\n *\n * undici (Node's fetch) collapses connection errors to the generic message\n * \"fetch failed\" and stashes the real syscall code (e.g. `ECONNREFUSED`) on\n * `error.cause.code`. Walking the chain (bounded depth) lets the fallback\n * classifier label a downed/unreachable Ollama backend as \"connection\" rather\n * than the catch-all \"error\".\n */\nexport function collectErrorCauseCodes(error: unknown): string {\n const codes: string[] = [];\n let current: unknown = error;\n for (let depth = 0; depth < 5 && current && typeof current === \"object\"; depth += 1) {\n const code = (current as { code?: unknown }).code;\n if (typeof code === \"string\") {\n codes.push(code.toLowerCase());\n }\n current = (current as { cause?: unknown }).cause;\n }\n return codes.join(\" \");\n}\n\n/**\n * Classify why an implicit/explicit semantic search degraded to keyword mode,\n * inspecting both the error message and the {@link collectErrorCauseCodes} chain\n * so undici's generic \"fetch failed\" is recognised as a connection failure.\n */\nexport function classifyImplicitSemanticFallbackReason(error: unknown): ImplicitSemanticFallbackReason {\n const message = (error instanceof Error ? error.message : String(error)).toLowerCase();\n const causeCodes = collectErrorCauseCodes(error);\n const haystack = `${message} ${causeCodes}`;\n if (haystack.includes(\"timed out\") || haystack.includes(\"timeout\") || haystack.includes(\"etimedout\")) {\n return \"timeout\";\n }\n if (\n haystack.includes(\"econnrefused\") ||\n haystack.includes(\"connection refused\") ||\n haystack.includes(\"connect \") ||\n haystack.includes(\"enotfound\") ||\n haystack.includes(\"eai_again\") ||\n haystack.includes(\"econnreset\") ||\n haystack.includes(\"fetch failed\")\n ) {\n return \"connection\";\n }\n return \"error\";\n}\n\nfunction buildImplicitSemanticFallbackWarning(error: unknown): string {\n const reason = classifyImplicitSemanticFallbackReason(error);\n if (reason === \"timeout\") {\n return \"search_implicit_semantic_fallback:timeout:using_keyword_mode\";\n }\n if (reason === \"connection\") {\n return \"search_implicit_semantic_fallback:connection:using_keyword_mode\";\n }\n return \"search_implicit_semantic_fallback:error:using_keyword_mode\";\n}\n\n// Explicit --semantic/--hybrid searches must never hard-fail an agent when the\n// embedding/vector backend is unreachable or unconfigured: degrade to keyword\n// search and surface a machine-readable warning instead of an unknown_error.\nfunction buildExplicitSemanticFallbackWarning(requestedMode: SearchMode, error: unknown): string {\n const reason = classifyImplicitSemanticFallbackReason(error);\n return `search_${requestedMode}_fallback:${reason}:using_keyword_mode`;\n}\n\n/**\n * Compare the vectorization-status ledger against the filtered corpus and, when\n * the vector index is behind, emit a one-line stderr warning plus a structured\n * `vector_index_stale:N` entry in the JSON warnings array. Best-effort: ledger\n * read failures fall through silently — the existing semantic/hybrid fallback\n * paths cover backend errors.\n */\nasync function maybeEmitVectorIndexStaleWarning(\n pmRoot: string,\n filteredDocuments: ItemDocument[],\n warnings: string[],\n): Promise<void> {\n try {\n const ledger = await readVectorizationStatusLedger(pmRoot);\n if (ledger.warnings.length > 0) {\n warnings.push(...ledger.warnings);\n }\n const staleIds = collectStaleVectorizationIds(\n filteredDocuments.map((document) => ({\n id: document.metadata.id,\n updated_at: document.metadata.updated_at,\n })),\n ledger.entries,\n );\n if (staleIds.length === 0) {\n return;\n }\n warnings.push(`vector_index_stale:${staleIds.length}`);\n process.stderr.write(\n `[pm] warning: ${staleIds.length} item${staleIds.length === 1 ? \" is\" : \"s are\"} new or modified since the last reindex and ${staleIds.length === 1 ? \"is\" : \"are\"} NOT in the semantic index yet — they will be missing from semantic/hybrid results until you run 'pm reindex --mode hybrid'. (Write-time embedding is governed by search.mutation_refresh_policy; staleness means the embed was skipped, failed, or the backend was unreachable.)\\n`,\n );\n } catch {\n // Best-effort: missing/unreadable ledger is not a query-blocking concern.\n }\n}\n\nfunction parseMode(raw: string | undefined, _context: SearchModeContext): SearchMode {\n if (raw === undefined) {\n return \"keyword\";\n }\n const normalized = raw.trim().toLowerCase();\n if (normalized !== \"keyword\" && normalized !== \"semantic\" && normalized !== \"hybrid\") {\n throw new PmCliError(\"Search mode must be one of keyword|semantic|hybrid\", EXIT_CODE.USAGE);\n }\n return normalized;\n}\n\nfunction parseIncludeLinked(raw: boolean | undefined): boolean {\n return raw === true;\n}\n\nfunction parseTitleExact(raw: boolean | undefined): boolean {\n return raw === true;\n}\n\nfunction parsePhraseExact(raw: boolean | undefined): boolean {\n return raw === true;\n}\n\nfunction parseSemanticWeightOverride(raw: unknown): number | undefined {\n return coerceNumberInRange(raw, 0, 1) ?? undefined;\n}\n\nfunction normalizeSearchPhrase(value: string): string {\n return value\n .toLowerCase()\n .replace(/\\s+/g, \" \")\n .trim();\n}\n\nfunction parseDeadline(raw: string | undefined, fieldLabel: string): string | undefined {\n if (raw === undefined) return undefined;\n return resolveIsoOrRelative(raw, new Date(), fieldLabel);\n}\n\nfunction parseFieldSelectors(raw: string | undefined): string[] | undefined {\n if (raw === undefined) {\n return undefined;\n }\n const selectors = raw\n .split(\",\")\n .map((entry) => entry.trim())\n .filter((entry) => entry.length > 0);\n if (selectors.length === 0) {\n throw new PmCliError(\"Search --fields requires a comma-separated list of field names\", EXIT_CODE.USAGE);\n }\n return [...new Set(selectors)];\n}\n\nfunction parseProjectionConfig(options: SearchOptions): SearchProjectionConfig {\n const compactRequested = options.compact === true;\n const fullRequested = options.full === true;\n const fieldSelectors = parseFieldSelectors(options.fields);\n const enabledModes = Number(compactRequested) + Number(fullRequested) + Number(fieldSelectors !== undefined);\n if (enabledModes > 1) {\n throw new PmCliError(\n \"Search projection options are mutually exclusive. Use one of --compact, --full, or --fields.\",\n EXIT_CODE.USAGE,\n );\n }\n if (compactRequested) {\n return {\n mode: \"compact\",\n fields: [...DEFAULT_COMPACT_SEARCH_FIELDS],\n };\n }\n if (fullRequested) {\n return {\n mode: \"full\",\n fields: [],\n };\n }\n if (fieldSelectors) {\n return {\n mode: \"fields\",\n fields: fieldSelectors,\n };\n }\n return {\n mode: \"full\",\n fields: [],\n };\n}\n\nfunction validateSearchProjectionFields(projection: SearchProjectionConfig, runtimeFieldRegistry: RuntimeFieldRegistry): void {\n if (projection.mode !== \"fields\") {\n return;\n }\n const runtimeKeys = new Set(runtimeFieldRegistry.definitions.flatMap((field) => [field.key, field.metadata_key]));\n const unknown = projection.fields.filter((field) => {\n const normalized = field.trim();\n const itemKey = normalized.startsWith(\"item.\") ? normalized.slice(\"item.\".length) : normalized;\n return !SEARCH_HIT_FIELD_KEYS.has(normalized) && !SEARCH_ITEM_FIELD_KEYS.has(itemKey) && !runtimeKeys.has(itemKey);\n });\n if (unknown.length > 0) {\n throw new PmCliError(`Unknown search --fields value(s): ${unknown.join(\", \")}`, EXIT_CODE.USAGE, {\n examples: [\n \"pm search <query> --fields id,title,status,score\",\n \"pm search <query> --fields id,title,item.description,matched_fields\",\n ],\n nextSteps: [\"Use item.<field> for explicit item metadata fields, or run pm search --help for projection examples.\"],\n });\n }\n}\n\nfunction parseTokens(query: string): string[] {\n const normalized = normalizeSearchPhrase(query);\n if (!normalized) {\n throw new PmCliError(\"Search query must not be empty\", EXIT_CODE.USAGE);\n }\n return normalized.split(/\\s+/).filter(Boolean);\n}\n\nfunction stringArray(value: unknown): string[] {\n return Array.isArray(value) ? value.filter((entry): entry is string => typeof entry === \"string\") : [];\n}\n\nfunction textEntries(value: unknown): Array<{ text: string }> {\n return Array.isArray(value)\n ? value.filter((entry): entry is { text: string } =>\n typeof entry === \"object\" && entry !== null && typeof (entry as { text?: unknown }).text === \"string\",\n )\n : [];\n}\n\nfunction dependencyEntries(value: unknown): Array<{ id: string; kind: string }> {\n return Array.isArray(value)\n ? value.filter((entry): entry is { id: string; kind: string } =>\n typeof entry === \"object\" &&\n entry !== null &&\n typeof (entry as { id?: unknown }).id === \"string\" &&\n typeof (entry as { kind?: unknown }).kind === \"string\",\n )\n : [];\n}\n\nfunction collectExactPhraseFields(document: ItemDocument): string[] {\n const item = document.metadata;\n return [\n item.title,\n item.description,\n item.status,\n stringArray(item.tags).join(\" \"),\n document.body,\n textEntries(item.comments).map((entry) => entry.text).join(\" \"),\n textEntries(item.notes).map((entry) => entry.text).join(\" \"),\n textEntries(item.learnings).map((entry) => entry.text).join(\" \"),\n buildReminderCorpus(item).join(\" \"),\n buildEventCorpus(item).join(\" \"),\n dependencyEntries(item.dependencies).map((entry) => `${entry.id} ${entry.kind}`).join(\" \"),\n buildPlanFlatCorpus(item),\n ];\n}\n\nfunction documentContainsExactPhrase(document: ItemDocument, normalizedQuery: string): boolean {\n return collectExactPhraseFields(document).some((fieldValue) =>\n normalizeSearchPhrase(fieldValue).includes(normalizedQuery),\n );\n}\n\nfunction applyExactQueryFilters(\n items: ItemDocument[],\n normalizedQuery: string,\n options: { titleExact: boolean; phraseExact: boolean },\n): ItemDocument[] {\n if (!options.titleExact && !options.phraseExact) {\n return items;\n }\n return items.filter((document) => {\n if (options.titleExact && normalizeSearchPhrase(document.metadata.title) !== normalizedQuery) {\n return false;\n }\n if (options.phraseExact && !documentContainsExactPhrase(document, normalizedQuery)) {\n return false;\n }\n return true;\n });\n}\n\nfunction applyFilters(\n items: ItemDocument[],\n options: SearchOptions,\n typeRegistry: ItemTypeRegistry,\n runtimeFieldFilters: Record<string, unknown>,\n statusFilter: ItemStatus[] | undefined,\n): ItemDocument[] {\n const typeFilter = parseType(options.type, typeRegistry);\n const tagFilter = options.tag?.trim().toLowerCase();\n const priorityFilter = parsePriority(options.priority);\n const deadlineBefore = parseDeadline(options.deadlineBefore, \"deadline-before\");\n const deadlineAfter = parseDeadline(options.deadlineAfter, \"deadline-after\");\n const statusSet = statusFilter && statusFilter.length > 0 ? new Set<ItemStatus>(statusFilter) : undefined;\n\n return items.filter((document) => {\n const item = document.metadata;\n if (statusSet && !statusSet.has(item.status)) return false;\n if (typeFilter && item.type !== typeFilter) return false;\n if (tagFilter && !stringArray(item.tags).includes(tagFilter)) return false;\n if (priorityFilter !== undefined && item.priority !== priorityFilter) return false;\n if (deadlineBefore && (!item.deadline || compareTimestampStrings(item.deadline, deadlineBefore) > 0)) return false;\n if (deadlineAfter && (!item.deadline || compareTimestampStrings(item.deadline, deadlineAfter) < 0)) return false;\n if (!matchesRuntimeFilters(item as Record<string, unknown>, runtimeFieldFilters)) return false;\n return true;\n });\n}\n\nfunction countOccurrences(haystack: string, needle: string): number {\n let count = 0;\n let index = 0;\n while (true) {\n const foundAt = haystack.indexOf(needle, index);\n if (foundAt < 0) {\n return count;\n }\n count += 1;\n index = foundAt + needle.length;\n }\n}\n\nfunction tokenizeForExactTokenMatch(value: string): string[] {\n return tokenizeAlphaNumeric(value);\n}\n\nfunction collectLinkedPaths(item: ItemFrontMatter): Array<{ scope: \"project\" | \"global\"; path: string }> {\n const fromFiles = (item.files ?? []).map((entry) => ({\n scope: entry.scope,\n path: entry.path.trim(),\n }));\n const fromDocs = (item.docs ?? []).map((entry) => ({\n scope: entry.scope,\n path: entry.path.trim(),\n }));\n const fromTests = (item.tests ?? [])\n .filter((entry): entry is typeof entry & { path: string } => typeof entry.path === \"string\" && entry.path.trim().length > 0)\n .map((entry) => ({\n scope: entry.scope,\n path: entry.path.trim(),\n }));\n const sorted = [...fromFiles, ...fromDocs, ...fromTests]\n .filter((entry) => entry.path.length > 0)\n .sort((a, b) => a.scope.localeCompare(b.scope) || a.path.localeCompare(b.path));\n const deduped = new Map<string, { scope: \"project\" | \"global\"; path: string }>();\n for (const entry of sorted) {\n deduped.set(`${entry.scope}:${entry.path}`, entry);\n }\n return [...deduped.values()];\n}\n\ninterface ContainmentRoot {\n resolved: string;\n realpath: string;\n}\n\ninterface LinkedCorpusRoots {\n projectContainmentRoot: ContainmentRoot | null;\n globalContainmentRoot: ContainmentRoot | null;\n}\n\nasync function resolveContainmentRoot(root: string): Promise<ContainmentRoot | null> {\n const resolved = path.resolve(root);\n try {\n const realpathRoot = await fs.realpath(resolved);\n return {\n resolved,\n realpath: realpathRoot,\n };\n } catch {\n return null;\n }\n}\n\nasync function resolveLinkedCorpusRoots(projectRoot: string, globalRoot: string): Promise<LinkedCorpusRoots> {\n const [projectContainmentRoot, globalContainmentRoot] = await Promise.all([\n resolveContainmentRoot(projectRoot),\n resolveContainmentRoot(globalRoot),\n ]);\n return {\n projectContainmentRoot,\n globalContainmentRoot,\n };\n}\n\nasync function loadLinkedCorpus(\n document: ItemDocument,\n roots: LinkedCorpusRoots,\n): Promise<string> {\n const linkedPaths = collectLinkedPaths(document.metadata);\n const chunks: string[] = [];\n for (const linkedPath of linkedPaths) {\n const containmentRoot = linkedPath.scope === \"global\" ? roots.globalContainmentRoot : roots.projectContainmentRoot;\n if (!containmentRoot) {\n continue;\n }\n const resolved = path.resolve(containmentRoot.resolved, linkedPath.path);\n if (!isPathWithinDirectory(containmentRoot.resolved, resolved)) {\n continue;\n }\n let linkedRealpath: string;\n try {\n linkedRealpath = await fs.realpath(resolved);\n } catch {\n continue;\n }\n if (!isPathWithinDirectory(containmentRoot.realpath, linkedRealpath)) {\n continue;\n }\n try {\n await runActiveOnReadHooks({\n path: resolved,\n scope: linkedPath.scope,\n });\n chunks.push(await fs.readFile(resolved, \"utf8\"));\n } catch {\n // Best-effort linked-content indexing: unreadable paths are ignored.\n }\n }\n return chunks.join(\"\\n\");\n}\n\nexport interface SearchTuning {\n title_exact_bonus: number;\n title_weight: number;\n description_weight: number;\n tags_weight: number;\n status_weight: number;\n body_weight: number;\n comments_weight: number;\n notes_weight: number;\n learnings_weight: number;\n reminders_weight: number;\n events_weight: number;\n dependencies_weight: number;\n linked_content_weight: number;\n}\n\nfunction scoreDocument(\n document: ItemDocument,\n tokens: string[],\n normalizedQuery: string,\n linkedCorpus: string,\n tuning: SearchTuning,\n): SearchHit | null {\n const item = document.metadata;\n const titleTokenCounts = new Map<string, number>();\n for (const token of tokenizeForExactTokenMatch(item.title)) {\n titleTokenCounts.set(token, (titleTokenCounts.get(token) ?? 0) + 1);\n }\n const searchableFields: Array<{ name: string; value: string; weight: number }> = [\n { name: \"title\", value: item.title, weight: tuning.title_weight },\n { name: \"description\", value: item.description, weight: tuning.description_weight },\n { name: \"tags\", value: stringArray(item.tags).join(\" \"), weight: tuning.tags_weight },\n { name: \"status\", value: typeof item.status === \"string\" ? item.status : \"\", weight: tuning.status_weight },\n { name: \"body\", value: document.body, weight: tuning.body_weight },\n { name: \"comments\", value: textEntries(item.comments).map((entry) => entry.text).join(\" \"), weight: tuning.comments_weight },\n { name: \"notes\", value: textEntries(item.notes).map((entry) => entry.text).join(\" \"), weight: tuning.notes_weight },\n { name: \"learnings\", value: textEntries(item.learnings).map((entry) => entry.text).join(\" \"), weight: tuning.learnings_weight },\n { name: \"reminders\", value: buildReminderCorpus(item).join(\" \"), weight: tuning.reminders_weight },\n { name: \"events\", value: buildEventCorpus(item).join(\" \"), weight: tuning.events_weight },\n {\n name: \"dependencies\",\n value: dependencyEntries(item.dependencies).map((entry) => `${entry.id} ${entry.kind}`).join(\" \"),\n weight: tuning.dependencies_weight,\n },\n { name: \"plan\", value: buildPlanFlatCorpus(item), weight: tuning.body_weight },\n { name: \"linked_content\", value: linkedCorpus, weight: tuning.linked_content_weight },\n ];\n\n let score = 0;\n const matched = new Set<string>();\n for (const token of tokens) {\n const exactTitleMatches = titleTokenCounts.get(token) ?? 0;\n if (exactTitleMatches > 0) {\n score += exactTitleMatches * tuning.title_exact_bonus;\n matched.add(\"title\");\n }\n for (const field of searchableFields) {\n const fieldValue = field.value.toLowerCase();\n const occurrences = countOccurrences(fieldValue, token);\n if (occurrences > 0) {\n score += occurrences * field.weight;\n matched.add(field.name);\n }\n }\n }\n\n const isLongPhraseQuery = tokens.length >= LONG_QUERY_TOKEN_THRESHOLD && normalizedQuery.includes(\" \");\n if (isLongPhraseQuery) {\n const normalizedTitle = normalizeSearchPhrase(item.title);\n if (normalizedTitle === normalizedQuery) {\n score += LONG_QUERY_TITLE_EXACT_BONUS;\n matched.add(\"title\");\n }\n for (const field of searchableFields) {\n const normalizedField = normalizeSearchPhrase(field.value);\n const phraseOccurrences = countOccurrences(normalizedField, normalizedQuery);\n if (phraseOccurrences > 0) {\n score += phraseOccurrences * field.weight * LONG_QUERY_PHRASE_MULTIPLIER;\n matched.add(field.name);\n }\n }\n }\n\n if (score <= 0) {\n return null;\n }\n\n return {\n item,\n score,\n matched_fields: [...matched].sort((a, b) => a.localeCompare(b)),\n };\n}\n\nfunction sortHits(items: SearchHit[], statusRegistry: RuntimeStatusRegistry): SearchHit[] {\n return [...items].sort((a, b) => {\n const byScore = b.score - a.score;\n if (byScore !== 0) return byScore;\n const aTerminal = isTerminalStatus(a.item.status, statusRegistry);\n const bTerminal = isTerminalStatus(b.item.status, statusRegistry);\n if (aTerminal !== bTerminal) {\n return aTerminal ? 1 : -1;\n }\n const byPriority = a.item.priority - b.item.priority;\n if (byPriority !== 0) return byPriority;\n const byUpdated = compareTimestampStrings(b.item.updated_at, a.item.updated_at);\n if (byUpdated !== 0) return byUpdated;\n return a.item.id.localeCompare(b.item.id);\n });\n}\n\nfunction buildHybridLexicalScore(\n document: ItemDocument,\n tokens: string[],\n normalizedQuery: string,\n includeLinked: boolean,\n linkedCorpusById: Map<string, string>,\n tuning: SearchTuning,\n): SearchHit | null {\n return scoreDocument(\n document,\n tokens,\n normalizedQuery,\n includeLinked ? linkedCorpusById.get(document.metadata.id) ?? \"\" : \"\",\n tuning,\n );\n}\n\nfunction normalizeScoreMap(scoreById: Map<string, number>): Map<string, number> {\n if (scoreById.size === 0) {\n return new Map();\n }\n const values = [...scoreById.values()];\n const minScore = Math.min(...values);\n const maxScore = Math.max(...values);\n if (maxScore === minScore) {\n return new Map([...scoreById.keys()].map((id) => [id, 1]));\n }\n const normalized = new Map<string, number>();\n for (const [id, score] of scoreById) {\n normalized.set(id, (score - minScore) / (maxScore - minScore));\n }\n return normalized;\n}\n\nexport function resolveSearchMaxResults(settings: unknown): number {\n const candidate = (settings as { search?: { max_results?: unknown } }).search?.max_results;\n if (typeof candidate === \"number\" && Number.isFinite(candidate) && candidate > 0) {\n return Math.floor(candidate);\n }\n return 50;\n}\n\nexport function resolveSearchScoreThreshold(settings: unknown): number {\n const candidate = (settings as { search?: { score_threshold?: unknown } }).search?.score_threshold;\n if (typeof candidate === \"number\" && Number.isFinite(candidate)) {\n return candidate;\n }\n return 0;\n}\n\nexport function resolveHybridSemanticWeight(settings: unknown): number {\n const candidate = (settings as { search?: { hybrid_semantic_weight?: unknown } }).search?.hybrid_semantic_weight;\n if (typeof candidate === \"number\" && Number.isFinite(candidate) && candidate >= 0 && candidate <= 1) {\n return candidate;\n }\n return 0.7;\n}\n\nexport function resolveSearchTuning(settings: unknown): SearchTuning {\n const defaults: SearchTuning = {\n title_exact_bonus: 10,\n title_weight: 8,\n description_weight: 5,\n tags_weight: 6,\n status_weight: 2,\n body_weight: 1,\n comments_weight: 1,\n notes_weight: 1,\n learnings_weight: 1,\n reminders_weight: 2,\n events_weight: 2,\n dependencies_weight: 3,\n linked_content_weight: 1,\n };\n const tuning = (settings as { search?: { tuning?: Partial<SearchTuning> } }).search?.tuning;\n if (!tuning) return defaults;\n\n const resolveWeight = (candidate: unknown, fallback: number) => {\n if (typeof candidate === \"number\" && Number.isFinite(candidate) && candidate >= 0) {\n return candidate;\n }\n return fallback;\n };\n\n return {\n title_exact_bonus: resolveWeight(tuning.title_exact_bonus, defaults.title_exact_bonus),\n title_weight: resolveWeight(tuning.title_weight, defaults.title_weight),\n description_weight: resolveWeight(tuning.description_weight, defaults.description_weight),\n tags_weight: resolveWeight(tuning.tags_weight, defaults.tags_weight),\n status_weight: resolveWeight(tuning.status_weight, defaults.status_weight),\n body_weight: resolveWeight(tuning.body_weight, defaults.body_weight),\n comments_weight: resolveWeight(tuning.comments_weight, defaults.comments_weight),\n notes_weight: resolveWeight(tuning.notes_weight, defaults.notes_weight),\n learnings_weight: resolveWeight(tuning.learnings_weight, defaults.learnings_weight),\n reminders_weight: resolveWeight(tuning.reminders_weight, defaults.reminders_weight),\n events_weight: resolveWeight(tuning.events_weight, defaults.events_weight),\n dependencies_weight: resolveWeight(tuning.dependencies_weight, defaults.dependencies_weight),\n linked_content_weight: resolveWeight(tuning.linked_content_weight, defaults.linked_content_weight),\n };\n}\n\nfunction emptySearchResult(\n query: string,\n mode: SearchMode,\n options: SearchOptions,\n includeLinked: boolean,\n scoreThreshold: number,\n hybridSemanticWeight: number,\n queryExpansion: QueryExpansionConfig,\n rerank: RerankConfig,\n projection: SearchProjectionConfig,\n warnings: string[],\n runtimeFieldFilters?: Record<string, unknown>,\n): SearchResult {\n const compactSummaryMode = projection.mode === \"compact\" && options.compact === true;\n if (compactSummaryMode) {\n const compactFilters = buildCompactSearchFilterSummary({\n mode,\n options,\n includeLinked,\n titleExact: options.titleExact === true,\n phraseExact: options.phraseExact === true,\n scoreThreshold,\n hybridSemanticWeight,\n runtimeFieldFilters,\n });\n return {\n query: query.trim(),\n mode,\n items: [],\n count: 0,\n filters: compactFilters,\n ...(warnings.length > 0 ? { warnings } : {}),\n };\n }\n const projectionFields = projection.mode === \"full\" ? null : [...projection.fields];\n return {\n query: query.trim(),\n mode,\n items: [],\n count: 0,\n filters: {\n mode,\n status: options.status ?? null,\n type: options.type ?? null,\n tag: options.tag ?? null,\n priority: options.priority ?? null,\n deadline_before: options.deadlineBefore ?? null,\n deadline_after: options.deadlineAfter ?? null,\n include_linked: includeLinked,\n title_exact: options.titleExact === true,\n phrase_exact: options.phraseExact === true,\n score_threshold: scoreThreshold,\n hybrid_semantic_weight: mode === \"hybrid\" ? hybridSemanticWeight : null,\n query_expansion_enabled: queryExpansion.enabled,\n query_expansion_provider: queryExpansion.provider,\n rerank_enabled: rerank.enabled,\n rerank_model: rerank.model,\n rerank_top_k: rerank.top_k,\n limit: options.limit ?? null,\n },\n projection: {\n mode: projection.mode,\n fields: projectionFields,\n },\n now: nowIso(),\n ...(warnings.length > 0 ? { warnings } : {}),\n };\n}\n\nfunction requireSemanticDependencies(\n requestedMode: Exclude<SearchMode, \"keyword\">,\n providerResolution: EmbeddingProviderResolution,\n vectorResolution: VectorStoreResolution,\n hasExtensionVectorQuery: boolean,\n): { provider: EmbeddingProviderConfig; vectorStore: VectorStoreConfig | null } {\n if (!providerResolution.active) {\n throw new PmCliError(\n `Search mode '${requestedMode}' requires a configured embedding provider in settings.providers.openai or settings.providers.ollama`,\n EXIT_CODE.USAGE,\n );\n }\n if (!vectorResolution.active && !hasExtensionVectorQuery) {\n throw new PmCliError(\n `Search mode '${requestedMode}' requires a configured vector store in settings.vector_store.qdrant/settings.vector_store.lancedb or an extension adapter selected by settings.vector_store.adapter`,\n EXIT_CODE.USAGE,\n );\n }\n return {\n provider: providerResolution.active,\n vectorStore: vectorResolution.active ?? null,\n };\n}\n\nconst toOptionalNonEmptyString = toNonEmptyStringOrUndefined;\n\ninterface ExtensionSearchProviderHooks {\n providerName: string;\n query?: ExtensionSearchProviderQuery;\n queryExpansion?: ExtensionSearchProviderQueryExpansion;\n rerank?: ExtensionSearchProviderRerank;\n}\n\nfunction resolveExtensionSearchProviderByName(providerName: string | undefined): ExtensionSearchProviderHooks | null {\n const registrations = getActiveExtensionRegistrations();\n const resolved = resolveRegisteredSearchProvider(registrations, providerName);\n if (!resolved) {\n return null;\n }\n const runtimeDefinition = resolved.runtime_definition ?? resolved.definition;\n const query = (runtimeDefinition as { query?: unknown }).query;\n const queryExpansion =\n (runtimeDefinition as { queryExpansion?: unknown; query_expansion?: unknown }).queryExpansion ??\n (runtimeDefinition as { queryExpansion?: unknown; query_expansion?: unknown }).query_expansion;\n const rerank = (runtimeDefinition as { rerank?: unknown }).rerank;\n const registeredName =\n toOptionalNonEmptyString((runtimeDefinition as { name?: unknown }).name) ??\n toOptionalNonEmptyString((resolved.definition as { name?: unknown }).name) ??\n providerName;\n if (!registeredName) {\n return null;\n }\n const hooks: ExtensionSearchProviderHooks = {\n providerName: registeredName,\n ...(typeof query === \"function\" ? { query: query as ExtensionSearchProviderQuery } : {}),\n ...(typeof queryExpansion === \"function\"\n ? { queryExpansion: queryExpansion as ExtensionSearchProviderQueryExpansion }\n : {}),\n ...(typeof rerank === \"function\" ? { rerank: rerank as ExtensionSearchProviderRerank } : {}),\n };\n if (!hooks.query && !hooks.queryExpansion && !hooks.rerank) {\n return null;\n }\n return hooks;\n}\n\nfunction resolveExtensionSearchProvider(settings: PmSettings): { providerName: string; query: ExtensionSearchProviderQuery } | null {\n const providerName = toOptionalNonEmptyString((settings.search as { provider?: unknown } | undefined)?.provider);\n const resolved = resolveExtensionSearchProviderByName(providerName);\n if (!resolved?.query) {\n return null;\n }\n return {\n providerName: resolved.providerName,\n query: resolved.query,\n };\n}\n\nfunction resolveExtensionVectorAdapter(settings: PmSettings): ExtensionVectorAdapter | null {\n const registrations = getActiveExtensionRegistrations();\n const adapterName = toOptionalNonEmptyString((settings.vector_store as { adapter?: unknown } | undefined)?.adapter);\n const resolved = resolveRegisteredVectorStoreAdapter(registrations, adapterName);\n if (!resolved) {\n return null;\n }\n const runtimeDefinition = resolved.runtime_definition ?? resolved.definition;\n const query = (runtimeDefinition as { query?: unknown }).query;\n if (typeof query !== \"function\") {\n return null;\n }\n return {\n query: query as ExtensionVectorQuery,\n };\n}\n\nfunction normalizeExtensionProviderHits(\n providerName: string,\n raw: unknown,\n filteredById: Map<string, ItemDocument>,\n): SearchHit[] {\n const rawHits = Array.isArray(raw)\n ? raw\n : (raw as { hits?: unknown } | null | undefined)?.hits;\n if (!Array.isArray(rawHits)) {\n throw new PmCliError(\n `Extension search provider \"${providerName}\" must return an array of hits or { hits: [...] }`,\n EXIT_CODE.GENERIC_FAILURE,\n );\n }\n\n const seen = new Set<string>();\n const hits: SearchHit[] = [];\n for (const rawHit of rawHits) {\n if (typeof rawHit !== \"object\" || rawHit === null) {\n continue;\n }\n const id = toOptionalNonEmptyString((rawHit as { id?: unknown }).id);\n const score = (rawHit as { score?: unknown }).score;\n if (!id || typeof score !== \"number\" || !Number.isFinite(score) || seen.has(id)) {\n continue;\n }\n const document = filteredById.get(id);\n if (!document) {\n continue;\n }\n const matchedFieldsRaw = (rawHit as { matched_fields?: unknown }).matched_fields;\n const matchedFields =\n Array.isArray(matchedFieldsRaw) && matchedFieldsRaw.every((entry) => typeof entry === \"string\")\n ? [...new Set((matchedFieldsRaw as string[]).map((entry) => entry.trim()).filter((entry) => entry.length > 0))].sort((a, b) =>\n a.localeCompare(b),\n )\n : [`provider:${providerName}`];\n seen.add(id);\n hits.push({\n item: document.metadata,\n score,\n matched_fields: matchedFields,\n });\n }\n return hits;\n}\n\nfunction buildSemanticHits(\n vectorHits: VectorQueryHit[],\n filteredById: Map<string, ItemDocument>,\n): { semanticHits: SearchHit[]; semanticScores: Map<string, number> } {\n const semanticHits: SearchHit[] = [];\n const semanticScores = new Map<string, number>();\n for (const vectorHit of vectorHits) {\n if (semanticScores.has(vectorHit.id)) {\n continue;\n }\n const document = filteredById.get(vectorHit.id);\n if (!document) {\n continue;\n }\n semanticScores.set(vectorHit.id, vectorHit.score);\n semanticHits.push({\n item: document.metadata,\n score: vectorHit.score,\n matched_fields: [\"semantic\"],\n });\n }\n return {\n semanticHits,\n semanticScores,\n };\n}\n\nfunction combineHybridHits(\n filteredById: Map<string, ItemDocument>,\n semanticScores: Map<string, number>,\n keywordHits: SearchHit[],\n hybridSemanticWeight: number,\n): SearchHit[] {\n const keywordScores = new Map(keywordHits.map((entry) => [entry.item.id, entry.score]));\n const keywordMatches = new Map(keywordHits.map((entry) => [entry.item.id, entry.matched_fields]));\n const normalizedSemantic = normalizeScoreMap(semanticScores);\n const normalizedKeyword = normalizeScoreMap(keywordScores);\n const candidateIds = new Set<string>([...semanticScores.keys(), ...keywordScores.keys()]);\n const keywordWeight = 1 - hybridSemanticWeight;\n return [...candidateIds]\n .map((id) => {\n const document = filteredById.get(id)!;\n const semanticScore = normalizedSemantic.get(id) ?? 0;\n const keywordScore = normalizedKeyword.get(id) ?? 0;\n const combinedScore = (semanticScore * hybridSemanticWeight) + (keywordScore * keywordWeight);\n if (combinedScore <= 0) {\n return null;\n }\n const matchedFields = new Set<string>();\n if (semanticScores.has(id)) {\n matchedFields.add(\"semantic\");\n }\n for (const field of keywordMatches.get(id) ?? []) {\n matchedFields.add(field);\n }\n return {\n item: document.metadata,\n score: combinedScore,\n matched_fields: [...matchedFields].sort((a, b) => a.localeCompare(b)),\n };\n })\n .filter((entry): entry is SearchHit => entry !== null);\n}\n\ninterface SemanticQueryContext {\n requestedMode: Exclude<SearchMode, \"keyword\">;\n query: string;\n filteredDocuments: ItemDocument[];\n keywordHits: SearchHit[];\n hybridSemanticWeight: number;\n limit: number | undefined;\n maxResults: number;\n provider: EmbeddingProviderConfig;\n vectorStore: VectorStoreConfig | null;\n extensionVectorAdapter: ExtensionVectorAdapter | null;\n queryExpansion: QueryExpansionConfig;\n queryExpansionExtension: { providerName: string; expand: ExtensionSearchProviderQueryExpansion } | null;\n rerank: RerankConfig;\n rerankExtension: { providerName: string; rerank: ExtensionSearchProviderRerank } | null;\n warnings: string[];\n settings: PmSettings;\n embeddingTimeoutMs?: number;\n vectorQueryTimeoutMs?: number;\n}\n\ninterface SemanticQueryResult {\n hits: SearchHit[];\n // Number of documents returned by the vector stage for this query after the\n // current metadata filters. When this is 0 the semantic/hybrid query ran\n // successfully, but vector ranking contributed nothing to the returned hits.\n vectorMatchCount: number;\n}\n\nfunction mergeVectorHitsById(vectorHitGroups: VectorQueryHit[][]): VectorQueryHit[] {\n const bestById = new Map<string, VectorQueryHit>();\n for (const group of vectorHitGroups) {\n for (const hit of group) {\n const existing = bestById.get(hit.id);\n if (!existing || hit.score > existing.score) {\n bestById.set(hit.id, hit);\n }\n }\n }\n const merged = [...bestById.values()];\n merged.sort((left, right) => {\n if (left.score !== right.score) {\n return right.score - left.score;\n }\n return left.id.localeCompare(right.id);\n });\n return merged;\n}\n\nfunction buildRerankCorpus(document: ItemDocument): string {\n const metadata = (document as { metadata?: ItemDocument[\"metadata\"] | null }).metadata;\n const tags = Array.isArray(metadata?.tags) ? metadata.tags.join(\" \") : \"\";\n return [\n metadata?.title,\n metadata?.description,\n metadata?.type,\n metadata?.status,\n tags,\n document.body,\n ]\n .map((entry) => (typeof entry === \"string\" ? entry.trim() : \"\"))\n .filter((entry) => entry.length > 0)\n .join(\"\\n\");\n}\n\nasync function computeSemanticOrHybridHits(context: SemanticQueryContext): Promise<SemanticQueryResult> {\n const semanticLimit = context.limit ?? context.maxResults;\n const embeddingOptions = context.embeddingTimeoutMs !== undefined ? { timeout_ms: context.embeddingTimeoutMs } : {};\n const vectorQueryOptions = context.vectorQueryTimeoutMs !== undefined ? { timeout_ms: context.vectorQueryTimeoutMs } : {};\n const queryTrimmed = context.query.trim();\n const baseExpandedQueries = context.queryExpansion.enabled\n ? buildDeterministicQueryExpansions(queryTrimmed, context.queryExpansion.max_queries)\n : [queryTrimmed];\n let expandedQueries = baseExpandedQueries.length > 0 ? baseExpandedQueries : [queryTrimmed];\n if (context.queryExpansion.enabled) {\n if (context.queryExpansionExtension?.expand) {\n try {\n const rawExpansion = await Promise.resolve(\n context.queryExpansionExtension.expand({\n query: queryTrimmed,\n mode: context.requestedMode,\n settings: context.settings,\n }),\n );\n const extensionExpansion = normalizeQueryExpansionOutput(rawExpansion);\n expandedQueries = mergeQueryExpansions(expandedQueries, extensionExpansion, context.queryExpansion.max_queries);\n } catch {\n context.warnings.push(\n `search_query_expansion_provider_failed:${context.queryExpansionExtension.providerName}:using_builtin`,\n );\n }\n } else if (\n context.queryExpansion.provider &&\n context.queryExpansion.provider !== \"openai\" &&\n context.queryExpansion.provider !== \"ollama\"\n ) {\n context.warnings.push(\n `search_query_expansion_provider_unavailable:${context.queryExpansion.provider}:using_builtin`,\n );\n }\n }\n\n const queryVectors = await executeEmbeddingRequest(context.provider, expandedQueries, embeddingOptions);\n\n const executeVectorQueryWithFallback = async (semanticVector: number[]): Promise<VectorQueryHit[]> => {\n if (context.extensionVectorAdapter?.query) {\n try {\n return await Promise.resolve(\n context.extensionVectorAdapter.query({\n vector: semanticVector,\n limit: semanticLimit,\n settings: context.settings,\n }),\n );\n } catch (error: unknown) {\n if (!context.vectorStore) {\n throw new PmCliError(\n `Extension vector adapter query failed and no built-in fallback store is configured (${error instanceof Error ? error.message : String(error)})`,\n EXIT_CODE.GENERIC_FAILURE,\n );\n }\n return await executeVectorQuery(context.vectorStore, semanticVector, semanticLimit, vectorQueryOptions);\n }\n }\n if (context.vectorStore) {\n return await executeVectorQuery(context.vectorStore, semanticVector, semanticLimit, vectorQueryOptions);\n }\n throw new PmCliError(\n \"Semantic search requires either a configured vector store or an extension vector adapter query handler\",\n EXIT_CODE.USAGE,\n );\n };\n\n const queryVectorGroups = await Promise.all(\n queryVectors.map(async (semanticVector) => await executeVectorQueryWithFallback(semanticVector)),\n );\n const vectorHits = mergeVectorHitsById(queryVectorGroups);\n const filteredById = new Map(context.filteredDocuments.map((document) => [document.metadata.id, document]));\n const { semanticHits, semanticScores } = buildSemanticHits(vectorHits, filteredById);\n const vectorMatchCount = semanticScores.size;\n if (context.requestedMode === \"semantic\") {\n return { hits: semanticHits, vectorMatchCount };\n }\n let hybridHits = combineHybridHits(filteredById, semanticScores, context.keywordHits, context.hybridSemanticWeight);\n if (context.rerank.enabled && hybridHits.length > 1) {\n const sortedForCandidates = [...hybridHits].sort((left, right) => {\n if (left.score !== right.score) {\n return right.score - left.score;\n }\n return left.item.id.localeCompare(right.item.id);\n });\n const candidateHits = sortedForCandidates.slice(0, context.rerank.top_k);\n const candidateContexts = candidateHits\n .map((hit) => {\n const document = filteredById.get(hit.item.id);\n if (!document) {\n return null;\n }\n return { hit, text: buildRerankCorpus(document) };\n })\n .filter((entry): entry is { hit: SearchHit; text: string } => entry !== null);\n const rerankCandidates: RerankCandidate[] = candidateContexts.map((entry) => ({\n id: entry.hit.item.id,\n text: entry.text,\n }));\n let rerankScores: Map<string, number> | null = null;\n if (context.rerankExtension?.rerank) {\n try {\n const rawRerank = await Promise.resolve(\n context.rerankExtension.rerank({\n query: queryTrimmed,\n mode: \"hybrid\",\n model: context.rerank.model,\n top_k: context.rerank.top_k,\n settings: context.settings,\n candidates: candidateContexts.map((entry) => ({\n id: entry.hit.item.id,\n text: entry.text,\n score: entry.hit.score,\n })),\n }),\n );\n const normalizedRerank = normalizeRerankOutput(rawRerank);\n if (normalizedRerank.length > 0) {\n rerankScores = new Map(normalizedRerank.map((entry) => [entry.id, entry.score]));\n } else {\n context.warnings.push(\n `search_rerank_provider_invalid_response:${context.rerankExtension.providerName}:using_builtin`,\n );\n }\n } catch {\n context.warnings.push(`search_rerank_provider_failed:${context.rerankExtension.providerName}:using_builtin`);\n }\n }\n if (!rerankScores) {\n try {\n rerankScores = await rerankCandidatesWithEmbeddings(\n context.provider,\n context.rerank.model,\n queryTrimmed,\n rerankCandidates,\n context.embeddingTimeoutMs,\n );\n } catch {\n context.warnings.push(\"search_rerank_failed:using_hybrid_scores\");\n }\n }\n if (rerankScores && rerankScores.size > 0) {\n const rerankedIds = new Set(rerankScores.keys());\n hybridHits = hybridHits.map((hit) => {\n const rerankScore = rerankScores.get(hit.item.id);\n if (rerankScore === undefined) {\n return hit;\n }\n const matchedFields = new Set(hit.matched_fields);\n matchedFields.add(\"rerank\");\n return {\n ...hit,\n score: rerankScore,\n matched_fields: [...matchedFields].sort((left, right) => left.localeCompare(right)),\n };\n });\n hybridHits.sort((left, right) => {\n const leftWasReranked = rerankedIds.has(left.item.id);\n const rightWasReranked = rerankedIds.has(right.item.id);\n if (leftWasReranked !== rightWasReranked) {\n return leftWasReranked ? -1 : 1;\n }\n if (left.score !== right.score) {\n return right.score - left.score;\n }\n return left.item.id.localeCompare(right.item.id);\n });\n }\n }\n return {\n hits: hybridHits,\n vectorMatchCount,\n };\n}\n\nasync function loadDocuments(\n pmRoot: string,\n itemFormat: ItemFormat,\n typeToFolder: Record<string, string>,\n schema: PmSettings[\"schema\"],\n): Promise<{ documents: ItemDocument[]; warnings: string[] }> {\n const extensionFieldNames = collectRegisteredItemFieldNames(getActiveExtensionRegistrations());\n const readDocumentBody = async (\n metadata: ItemFrontMatter,\n preferredPath: string,\n preferredFormat: ItemFormat,\n ): Promise<string> => {\n const tryRead = async (targetPath: string, format: ItemFormat): Promise<string> => {\n await runActiveOnReadHooks({ path: targetPath, scope: \"project\" });\n const raw = await fs.readFile(targetPath, \"utf8\");\n const parsed = parseItemDocument(raw, {\n format,\n schema,\n extensionFieldNames,\n onWarning: (warning) => listWarnings.push(warning),\n });\n return parsed.body;\n };\n\n try {\n return await tryRead(preferredPath, preferredFormat);\n } catch {\n const alternateFormat: ItemFormat = preferredFormat === \"toon\" ? \"json_markdown\" : \"toon\";\n const alternatePath = getItemPath(pmRoot, metadata.type as ItemType, metadata.id, alternateFormat, typeToFolder);\n try {\n return await tryRead(alternatePath, alternateFormat);\n } catch {\n listWarnings.push(`item_list_item_read_failed:${path.relative(pmRoot, alternatePath)}`);\n return \"\";\n }\n }\n };\n\n const listWarnings: string[] = [];\n const cachedDocuments = await listAllDocumentCandidatesCached(pmRoot, itemFormat, typeToFolder, listWarnings, schema);\n const documents: ItemDocument[] = [];\n if (cachedDocuments.length === 0) {\n const frontMatterDocuments = await listAllFrontMatter(pmRoot, itemFormat, typeToFolder, listWarnings, schema);\n for (const metadata of frontMatterDocuments) {\n const preferredPath = getItemPath(pmRoot, metadata.type as ItemType, metadata.id, itemFormat, typeToFolder);\n const body = await readDocumentBody(metadata, preferredPath, itemFormat);\n documents.push({ metadata, body });\n }\n return {\n documents,\n warnings: [...new Set(listWarnings)].sort((left, right) => left.localeCompare(right)),\n };\n }\n\n for (const cachedDocument of cachedDocuments) {\n if (typeof cachedDocument.body === \"string\") {\n documents.push({\n metadata: cachedDocument.metadata,\n body: cachedDocument.body,\n });\n continue;\n }\n const body = await readDocumentBody(cachedDocument.metadata, cachedDocument.item_path, cachedDocument.item_format);\n documents.push({\n metadata: cachedDocument.metadata,\n body,\n });\n }\n return {\n documents,\n warnings: [...new Set(listWarnings)].sort((left, right) => left.localeCompare(right)),\n };\n}\n\nfunction readSearchFieldValue(hit: SearchHit, field: string): unknown {\n const normalized = field.trim();\n if (normalized.length === 0) {\n return null;\n }\n if (normalized === \"score\") {\n return hit.score;\n }\n if (normalized === \"matched_fields\") {\n return hit.matched_fields;\n }\n if (normalized.startsWith(\"item.\")) {\n const itemKey = normalized.slice(\"item.\".length);\n if (itemKey.length === 0) {\n return null;\n }\n const itemRecord = toItemRecord(hit.item);\n return itemRecord[itemKey] ?? null;\n }\n const hitRecord = hit as unknown as Record<string, unknown>;\n const itemRecord = toItemRecord(hit.item);\n if (Object.prototype.hasOwnProperty.call(itemRecord, normalized)) {\n return itemRecord[normalized] ?? null;\n }\n if (Object.prototype.hasOwnProperty.call(hitRecord, normalized)) {\n return hitRecord[normalized] ?? null;\n }\n return null;\n}\n\nfunction projectSearchHits(hits: SearchHit[], projection: SearchProjectionConfig): SearchResultItem[] {\n if (projection.mode === \"full\") {\n return hits;\n }\n return hits.map((hit) => {\n const projected: Record<string, unknown> = {};\n for (const field of projection.fields) {\n projected[field] = readSearchFieldValue(hit, field);\n }\n return projected;\n });\n}\n\nexport async function runSearch(query: string, options: SearchOptions, global: GlobalOptions): Promise<SearchResult> {\n const includeLinked = parseIncludeLinked(options.includeLinked);\n const titleExact = parseTitleExact(options.titleExact);\n const phraseExact = parsePhraseExact(options.phraseExact);\n const tokens = parseTokens(query);\n const normalizedQuery = normalizeSearchPhrase(query);\n const limit = parseLimit(options.limit);\n const projection = parseProjectionConfig(options);\n const modeWasExplicit = typeof options.mode === \"string\" && options.mode.trim().length > 0;\n const pmRoot = resolvePmRoot(process.cwd(), global.path);\n if (!(await pathExists(getSettingsPath(pmRoot)))) {\n throw new PmCliError(`Tracker is not initialized at ${pmRoot}. Run pm init first.`, EXIT_CODE.NOT_FOUND);\n }\n const storedSettings = await readSettings(pmRoot);\n const runtimeDefaultsResolution = resolveSettingsWithSemanticRuntimeDefaults(storedSettings);\n const settings = runtimeDefaultsResolution.settings;\n const statusRegistry = resolveRuntimeStatusRegistry(settings.schema);\n const runtimeFieldRegistry = resolveRuntimeFieldRegistry(settings.schema);\n validateSearchProjectionFields(projection, runtimeFieldRegistry);\n const runtimeFieldFilters = collectRuntimeFilterValues(options as Record<string, unknown>, runtimeFieldRegistry, \"search\");\n // `pm search --status` resolves strictly (a typo'd status surfaces a\n // did-you-mean hint) so agents can scope retrieval to open work and drop\n // closed-history noise without re-listing. Resolved before the corpus scan so\n // an invalid value fails fast.\n const statusFilter = parseStatusFilterCsv(\n typeof options.status === \"string\" ? options.status : undefined,\n statusRegistry,\n { strict: true },\n );\n const typeRegistry = resolveItemTypeRegistry(settings, getActiveExtensionRegistrations());\n const maxResults = resolveSearchMaxResults(settings);\n const scoreThreshold = resolveSearchScoreThreshold(settings);\n const semanticWeightProvided = options.semanticWeight !== undefined;\n const semanticWeightOverride = parseSemanticWeightOverride(options.semanticWeight);\n const hybridSemanticWeight = semanticWeightOverride ?? resolveHybridSemanticWeight(settings);\n const tuning = resolveSearchTuning(settings);\n const providerResolution = resolveEmbeddingProviders(settings);\n const vectorResolution = resolveVectorStores(settings);\n const extensionSearchProvider = resolveExtensionSearchProvider(settings);\n const extensionVectorAdapter = resolveExtensionVectorAdapter(settings);\n const queryExpansion = resolveQueryExpansionConfig(settings, providerResolution.active?.name ?? null);\n const rerank = resolveRerankConfig(\n settings,\n providerResolution.active?.model ?? toOptionalNonEmptyString(settings.search?.embedding_model) ?? \"text-embedding-3-small\",\n );\n const queryExpansionProvider = resolveExtensionSearchProviderByName(queryExpansion.provider ?? undefined);\n const queryExpansionExtension = queryExpansionProvider?.queryExpansion\n ? { providerName: queryExpansionProvider.providerName, expand: queryExpansionProvider.queryExpansion }\n : null;\n const rerankProvider = resolveExtensionSearchProviderByName(toOptionalNonEmptyString(settings.search?.provider));\n const rerankExtension = rerankProvider?.rerank\n ? { providerName: rerankProvider.providerName, rerank: rerankProvider.rerank }\n : null;\n let effectiveMode = parseMode(options.mode, {\n hasProvider: providerResolution.active !== null || extensionSearchProvider !== null,\n hasVectorStore: vectorResolution.active !== null || extensionVectorAdapter !== null,\n });\n const loadedDocuments = await loadDocuments(\n pmRoot,\n settings.item_format ?? \"toon\",\n typeRegistry.type_to_folder,\n settings.schema,\n );\n const warnings = loadedDocuments.warnings;\n if (effectiveMode === \"hybrid\" && semanticWeightProvided && semanticWeightOverride === undefined) {\n warnings.push(\"search_hybrid_semantic_weight_override_invalid:using_settings_default\");\n }\n const allDocuments = loadedDocuments.documents;\n const metadataFilteredDocuments = applyFilters(allDocuments, options, typeRegistry, runtimeFieldFilters, statusFilter);\n const filteredDocuments = applyExactQueryFilters(metadataFilteredDocuments, normalizedQuery, {\n titleExact,\n phraseExact,\n });\n if (effectiveMode === \"keyword\" && (filteredDocuments.length === 0 || limit === 0)) {\n return emptySearchResult(\n query,\n effectiveMode,\n options,\n includeLinked,\n scoreThreshold,\n hybridSemanticWeight,\n queryExpansion,\n rerank,\n projection,\n warnings,\n runtimeFieldFilters,\n );\n }\n\n const projectRoot = process.cwd();\n const globalRoot = resolveGlobalPmRoot(projectRoot);\n const linkedCorpusById = new Map<string, string>();\n if (includeLinked && (effectiveMode === \"keyword\" || effectiveMode === \"hybrid\")) {\n const linkedCorpusRoots = await resolveLinkedCorpusRoots(projectRoot, globalRoot);\n const linkedCorpusEntries = await Promise.all(\n filteredDocuments.map(async (document) => [document.metadata.id, await loadLinkedCorpus(document, linkedCorpusRoots)] as const),\n );\n for (const [id, corpus] of linkedCorpusEntries) {\n linkedCorpusById.set(id, corpus);\n }\n }\n\n const keywordHits = filteredDocuments\n .map((document) => buildHybridLexicalScore(document, tokens, normalizedQuery, effectiveMode !== \"semantic\", linkedCorpusById, tuning))\n .filter((entry): entry is SearchHit => entry !== null);\n\n let hits = keywordHits;\n if (effectiveMode !== \"keyword\") {\n // Surface vector-index staleness once per query so agents notice when a\n // refresh is overdue. Only emitted when:\n // (1) the user explicitly asked for semantic/hybrid mode (implicit\n // upgrades fall back silently to keyword on any failure path below\n // and shouldn't carry noise), AND\n // (2) the BUILT-IN semantic path is what will run — an extension search\n // provider has its own indexing lifecycle and the local ledger we\n // read is irrelevant to it.\n const builtInSemanticWillRun =\n !extensionSearchProvider &&\n providerResolution.active !== null &&\n (vectorResolution.active !== null || extensionVectorAdapter !== null);\n if (modeWasExplicit && builtInSemanticWillRun) {\n await maybeEmitVectorIndexStaleWarning(pmRoot, filteredDocuments, warnings);\n }\n try {\n if (!extensionSearchProvider) {\n requireSemanticDependencies(effectiveMode, providerResolution, vectorResolution, extensionVectorAdapter !== null);\n }\n if (filteredDocuments.length === 0 || limit === 0) {\n return emptySearchResult(\n query,\n effectiveMode,\n options,\n includeLinked,\n scoreThreshold,\n hybridSemanticWeight,\n queryExpansion,\n rerank,\n projection,\n warnings,\n runtimeFieldFilters,\n );\n }\n const filteredById = new Map(filteredDocuments.map((document) => [document.metadata.id, document]));\n const canUseBuiltInSemantic =\n providerResolution.active !== null && (vectorResolution.active !== null || extensionVectorAdapter !== null);\n if (extensionSearchProvider) {\n try {\n const providerResponse = await Promise.resolve(\n extensionSearchProvider.query({\n query,\n mode: effectiveMode,\n tokens,\n options,\n settings,\n documents: filteredDocuments,\n }),\n );\n hits = normalizeExtensionProviderHits(extensionSearchProvider.providerName, providerResponse, filteredById);\n } catch (error: unknown) {\n if (!canUseBuiltInSemantic) {\n throw new PmCliError(\n `Extension search provider \"${extensionSearchProvider.providerName}\" failed: ${error instanceof Error ? error.message : String(error)}`,\n EXIT_CODE.GENERIC_FAILURE,\n );\n }\n }\n }\n if (hits === keywordHits) {\n const implicitHybridMode = !modeWasExplicit && effectiveMode === \"hybrid\";\n const { provider, vectorStore } = requireSemanticDependencies(\n effectiveMode,\n providerResolution,\n vectorResolution,\n extensionVectorAdapter !== null,\n );\n const semanticResult = await computeSemanticOrHybridHits({\n requestedMode: effectiveMode,\n query,\n filteredDocuments,\n keywordHits,\n hybridSemanticWeight,\n limit,\n maxResults,\n provider,\n vectorStore,\n extensionVectorAdapter,\n queryExpansion,\n queryExpansionExtension,\n rerank,\n rerankExtension,\n warnings,\n settings,\n ...(implicitHybridMode\n ? {\n embeddingTimeoutMs: IMPLICIT_HYBRID_EMBEDDING_TIMEOUT_MS,\n vectorQueryTimeoutMs: IMPLICIT_HYBRID_VECTOR_TIMEOUT_MS,\n }\n : {}),\n });\n hits = semanticResult.hits;\n // The semantic/hybrid query ran without error, but vector ranking\n // contributed no hits for this query/filter set. Pure semantic mode would\n // otherwise return an empty set, so degrade to the locally computed\n // keyword hits (hybrid already blends them in) and warn so agents do not\n // mistake them for true vector ranking. The reported mode is left\n // unchanged; the warning is the signal.\n if (semanticResult.vectorMatchCount === 0) {\n if (effectiveMode === \"semantic\") {\n hits = keywordHits;\n }\n warnings.push(`search_${effectiveMode}_degraded:no_vector_matches:results_are_lexical`);\n }\n }\n } catch (error: unknown) {\n // Any semantic/hybrid attempt that fails (backend down, timeout, or the\n // project is not configured for semantic search) degrades to keyword mode\n // so agents are never blocked. Keyword hits are always computed locally\n // before this point, so the fallback is guaranteed to succeed.\n const fallbackWarning = modeWasExplicit\n ? buildExplicitSemanticFallbackWarning(effectiveMode, error)\n : buildImplicitSemanticFallbackWarning(error);\n effectiveMode = \"keyword\";\n hits = keywordHits;\n warnings.push(fallbackWarning);\n }\n }\n\n const thresholded = hits.filter((entry) => entry.score >= scoreThreshold);\n const sorted = sortHits(thresholded, statusRegistry);\n const resolvedLimit = effectiveMode === \"keyword\" ? limit : (limit ?? maxResults);\n const limited = resolvedLimit === undefined ? sorted : sorted.slice(0, resolvedLimit);\n const projectedItems = projectSearchHits(limited, projection);\n const projectionFields = projection.mode === \"full\" ? null : [...projection.fields];\n const compactSummaryMode = projection.mode === \"compact\" && options.compact === true;\n if (compactSummaryMode) {\n const compactFilters = buildCompactSearchFilterSummary({\n mode: effectiveMode,\n options,\n includeLinked,\n titleExact,\n phraseExact,\n scoreThreshold,\n hybridSemanticWeight,\n runtimeFieldFilters,\n });\n return {\n query: query.trim(),\n mode: effectiveMode,\n items: projectedItems,\n count: projectedItems.length,\n filters: compactFilters,\n ...(warnings.length > 0 ? { warnings } : {}),\n };\n }\n\n return {\n query: query.trim(),\n mode: effectiveMode,\n items: projectedItems,\n count: projectedItems.length,\n filters: {\n mode: effectiveMode,\n status: options.status ?? null,\n type: options.type ?? null,\n tag: options.tag ?? null,\n priority: options.priority ?? null,\n deadline_before: options.deadlineBefore ?? null,\n deadline_after: options.deadlineAfter ?? null,\n include_linked: includeLinked,\n title_exact: titleExact,\n phrase_exact: phraseExact,\n score_threshold: scoreThreshold,\n hybrid_semantic_weight: effectiveMode === \"hybrid\" ? hybridSemanticWeight : null,\n query_expansion_enabled: queryExpansion.enabled,\n query_expansion_provider: queryExpansion.provider,\n rerank_enabled: rerank.enabled,\n rerank_model: rerank.model,\n rerank_top_k: rerank.top_k,\n limit: options.limit ?? null,\n runtime_filters: runtimeFieldFilters,\n },\n projection: {\n mode: projection.mode,\n fields: projectionFields,\n },\n now: nowIso(),\n ...(warnings.length > 0 ? { warnings } : {}),\n };\n}\n", "import type {\n ExtensionRegistrationRegistry,\n RegisteredExtensionSchemaMigrationDefinition,\n RegisteredExtensionSearchProvider,\n RegisteredExtensionVectorStoreAdapter,\n} from \"./loader.js\";\n\nfunction normalizeRegistrationName(value: unknown): string | null {\n if (typeof value !== \"string\") {\n return null;\n }\n const normalized = value.trim().toLowerCase();\n return normalized.length > 0 ? normalized : null;\n}\n\nexport function collectRegisteredItemFields(registrations: ExtensionRegistrationRegistry | null): Array<Record<string, unknown>> {\n if (!registrations) {\n return [];\n }\n const fields: Array<Record<string, unknown>> = [];\n for (const registration of registrations.item_fields) {\n for (const field of registration.fields) {\n fields.push(field);\n }\n }\n return fields;\n}\n\nexport function resolveRegisteredSearchProvider(\n registrations: ExtensionRegistrationRegistry | null,\n configuredProvider: string | undefined,\n): RegisteredExtensionSearchProvider | null {\n const providerName = normalizeRegistrationName(configuredProvider);\n if (!registrations || !providerName) {\n return null;\n }\n const matched = [...registrations.search_providers]\n .reverse()\n .find((registration) => {\n const definitionName =\n normalizeRegistrationName(registration.runtime_definition?.name) ??\n normalizeRegistrationName(registration.definition?.name);\n return definitionName === providerName;\n });\n return matched ?? null;\n}\n\nexport function resolveRegisteredVectorStoreAdapter(\n registrations: ExtensionRegistrationRegistry | null,\n configuredAdapter: string | undefined,\n): RegisteredExtensionVectorStoreAdapter | null {\n const adapterName = normalizeRegistrationName(configuredAdapter);\n if (!registrations || !adapterName) {\n return null;\n }\n const matched = [...registrations.vector_store_adapters]\n .reverse()\n .find((registration) => {\n const definitionName =\n normalizeRegistrationName(registration.runtime_definition?.name) ??\n normalizeRegistrationName(registration.definition?.name);\n return definitionName === adapterName;\n });\n return matched ?? null;\n}\n\nexport function getMigrationRuntimeDefinition(\n migration: RegisteredExtensionSchemaMigrationDefinition,\n): Record<string, unknown> {\n return migration.runtime_definition ?? migration.definition;\n}\n", "export function normalizeLowercaseWhitespace(value: string): string {\n return value\n .trim()\n .toLowerCase()\n .replace(/\\s+/g, \" \");\n}\n\nexport function tokenizeAlphaNumeric(value: string): string[] {\n return normalizeLowercaseWhitespace(value)\n .split(/[^a-z0-9]+/)\n .filter((token) => token.length > 0);\n}\n\nexport function jaccardSimilarity(leftTokens: string[], rightTokens: string[]): number {\n if (leftTokens.length === 0 && rightTokens.length === 0) {\n return 1;\n }\n if (leftTokens.length === 0 || rightTokens.length === 0) {\n return 0;\n }\n const leftSet = new Set(leftTokens);\n const rightSet = new Set(rightTokens);\n let intersection = 0;\n for (const token of leftSet) {\n if (rightSet.has(token)) {\n intersection += 1;\n }\n }\n const union = new Set([...leftSet, ...rightSet]).size;\n return union === 0 ? 0 : intersection / union;\n}\n", "import type { PmSettings } from \"../../types.js\";\nimport { coercePositiveInteger, toNonEmptyString } from \"../shared/primitives.js\";\nimport { tokenizeAlphaNumeric } from \"../shared/text-normalization.js\";\nimport { executeEmbeddingRequest, type EmbeddingProviderConfig } from \"./providers.js\";\n\nexport const DEFAULT_QUERY_EXPANSION_MAX_QUERIES = 4;\nexport const DEFAULT_RERANK_TOP_K = 20;\nconst MAX_RERANK_TOP_K = 200;\n\nconst QUERY_EXPANSION_STOP_WORDS = new Set([\n \"a\",\n \"an\",\n \"and\",\n \"for\",\n \"from\",\n \"in\",\n \"into\",\n \"of\",\n \"on\",\n \"or\",\n \"the\",\n \"to\",\n \"with\",\n]);\n\nexport interface QueryExpansionConfig {\n enabled: boolean;\n provider: string | null;\n max_queries: number;\n}\n\nexport interface RerankConfig {\n enabled: boolean;\n model: string;\n top_k: number;\n}\n\nexport interface RerankCandidate {\n id: string;\n text: string;\n}\n\nexport interface RerankScoredHit {\n id: string;\n score: number;\n}\n\nfunction dedupeQueries(values: string[], limit: number): string[] {\n const deduped: string[] = [];\n const seen = new Set<string>();\n for (const entry of values) {\n const normalized = entry.trim().replaceAll(/\\s+/g, \" \");\n if (normalized.length === 0) {\n continue;\n }\n const dedupeKey = normalized.toLowerCase();\n if (seen.has(dedupeKey)) {\n continue;\n }\n seen.add(dedupeKey);\n deduped.push(normalized);\n if (deduped.length >= limit) {\n break;\n }\n }\n return deduped;\n}\n\nfunction singularizeSimple(token: string): string {\n const normalizedToken = token.toLowerCase();\n if (normalizedToken.length > 4 && normalizedToken.endsWith(\"ies\")) {\n return `${normalizedToken.slice(0, -3)}y`;\n }\n if (\n normalizedToken.length > 4 &&\n (normalizedToken.endsWith(\"ches\") ||\n normalizedToken.endsWith(\"shes\") ||\n normalizedToken.endsWith(\"xes\") ||\n normalizedToken.endsWith(\"zes\") ||\n normalizedToken.endsWith(\"sses\"))\n ) {\n return normalizedToken.slice(0, -2);\n }\n if (\n normalizedToken.length > 3 &&\n normalizedToken.endsWith(\"s\") &&\n !normalizedToken.endsWith(\"ss\") &&\n !normalizedToken.endsWith(\"us\") &&\n !normalizedToken.endsWith(\"is\") &&\n !normalizedToken.endsWith(\"as\")\n ) {\n return normalizedToken.slice(0, -1);\n }\n return normalizedToken;\n}\n\nfunction pluralizeSimple(token: string): string {\n const normalizedToken = token.toLowerCase();\n if (normalizedToken.length > 2 && (!normalizedToken.endsWith(\"s\") || normalizedToken.endsWith(\"ss\"))) {\n if (normalizedToken.endsWith(\"y\") && !/[aeiou]y$/u.test(normalizedToken)) {\n return `${normalizedToken.slice(0, -1)}ies`;\n }\n if (\n normalizedToken.endsWith(\"ch\") ||\n normalizedToken.endsWith(\"sh\") ||\n normalizedToken.endsWith(\"x\") ||\n normalizedToken.endsWith(\"z\") ||\n normalizedToken.endsWith(\"ss\")\n ) {\n return `${normalizedToken}es`;\n }\n return `${normalizedToken}s`;\n }\n return normalizedToken;\n}\n\nexport function buildDeterministicQueryExpansions(\n query: string,\n maxQueries = DEFAULT_QUERY_EXPANSION_MAX_QUERIES,\n): string[] {\n const normalizedQuery = query.trim().replaceAll(/\\s+/g, \" \");\n if (normalizedQuery.length === 0) {\n return [];\n }\n const tokens = tokenizeAlphaNumeric(normalizedQuery);\n if (tokens.length === 0) {\n return [normalizedQuery];\n }\n const contentTokens = tokens.filter((token) => !QUERY_EXPANSION_STOP_WORDS.has(token.toLowerCase()));\n const singularized = tokens.map((token) => singularizeSimple(token));\n const pluralized = contentTokens.map((token) => pluralizeSimple(token));\n return dedupeQueries(\n [\n normalizedQuery,\n tokens.join(\" \"),\n contentTokens.join(\" \"),\n singularized.join(\" \"),\n pluralized.join(\" \"),\n ],\n Math.max(1, maxQueries),\n );\n}\n\nexport function normalizeQueryExpansionOutput(raw: unknown): string[] {\n const rawQueries = Array.isArray(raw)\n ? raw\n : (raw as { queries?: unknown } | null | undefined)?.queries;\n if (!Array.isArray(rawQueries)) {\n return [];\n }\n return dedupeQueries(\n rawQueries.filter((entry): entry is string => typeof entry === \"string\"),\n DEFAULT_QUERY_EXPANSION_MAX_QUERIES,\n );\n}\n\nexport function mergeQueryExpansions(base: string[], extra: string[], maxQueries: number): string[] {\n return dedupeQueries([...base, ...extra], Math.max(1, maxQueries));\n}\n\nexport function resolveQueryExpansionConfig(\n settings: PmSettings,\n fallbackProviderName: string | null,\n): QueryExpansionConfig {\n const search = (settings as { search?: { query_expansion?: { enabled?: unknown; provider?: unknown } } }).search;\n const queryExpansion = search?.query_expansion;\n const configuredProvider = toNonEmptyString(queryExpansion?.provider);\n return {\n enabled: queryExpansion?.enabled === true,\n provider: configuredProvider ?? fallbackProviderName,\n max_queries: DEFAULT_QUERY_EXPANSION_MAX_QUERIES,\n };\n}\n\nexport function resolveRerankConfig(settings: PmSettings, fallbackModel: string): RerankConfig {\n const search = (settings as { search?: { rerank?: { enabled?: unknown; model?: unknown; top_k?: unknown } } }).search;\n const rerank = search?.rerank;\n const configuredModel = toNonEmptyString(rerank?.model);\n const configuredTopK = coercePositiveInteger(rerank?.top_k);\n const normalizedTopK = configuredTopK ?? DEFAULT_RERANK_TOP_K;\n return {\n enabled: rerank?.enabled === true,\n model: configuredModel ?? fallbackModel,\n top_k: Math.min(MAX_RERANK_TOP_K, normalizedTopK),\n };\n}\n\nexport function normalizeRerankOutput(raw: unknown): RerankScoredHit[] {\n const rawHits = Array.isArray(raw)\n ? raw\n : (raw as { hits?: unknown } | null | undefined)?.hits;\n if (!Array.isArray(rawHits)) {\n return [];\n }\n const bestById = new Map<string, number>();\n for (const entry of rawHits) {\n if (typeof entry !== \"object\" || entry === null) {\n continue;\n }\n const id = toNonEmptyString((entry as { id?: unknown }).id);\n const score = (entry as { score?: unknown }).score;\n if (!id || typeof score !== \"number\" || !Number.isFinite(score)) {\n continue;\n }\n const existing = bestById.get(id);\n if (existing === undefined || score > existing) {\n bestById.set(id, score);\n }\n }\n const normalized = [...bestById.entries()].map(([id, score]) => ({ id, score }));\n normalized.sort((left, right) => {\n if (left.score !== right.score) {\n return right.score - left.score;\n }\n return left.id.localeCompare(right.id);\n });\n return normalized;\n}\n\nfunction dotProduct(left: number[], right: number[]): number {\n const size = left.length;\n let result = 0;\n for (let index = 0; index < size; index += 1) {\n result += left[index] * right[index];\n }\n return result;\n}\n\nfunction l2Norm(vector: number[]): number {\n let sumSquares = 0;\n for (let index = 0; index < vector.length; index += 1) {\n sumSquares += vector[index] * vector[index];\n }\n return Math.sqrt(sumSquares);\n}\n\nfunction cosineSimilarityWithKnownLeftNorm(\n left: number[] | null | undefined,\n right: number[] | null | undefined,\n leftNorm: number,\n): number {\n if (!left || !right || left.length === 0 || right.length === 0 || left.length !== right.length) {\n return 0;\n }\n const numerator = dotProduct(left, right);\n const rightNorm = l2Norm(right);\n const denominator = leftNorm * rightNorm;\n if (\n !Number.isFinite(numerator) ||\n !Number.isFinite(leftNorm) ||\n !Number.isFinite(rightNorm) ||\n !Number.isFinite(denominator) ||\n denominator === 0\n ) {\n return 0;\n }\n return Math.max(-1, Math.min(1, numerator / denominator));\n}\n\nexport async function rerankCandidatesWithEmbeddings(\n provider: EmbeddingProviderConfig,\n model: string,\n query: string,\n candidates: RerankCandidate[],\n timeoutMs?: number,\n): Promise<Map<string, number>> {\n if (candidates.length === 0) {\n return new Map();\n }\n const effectiveModel = toNonEmptyString(model) ?? provider.model;\n const rerankProvider: EmbeddingProviderConfig =\n effectiveModel === provider.model ? provider : { ...provider, model: effectiveModel };\n const payload = [query.trim(), ...candidates.map((entry) => entry.text)];\n const vectors = await executeEmbeddingRequest(rerankProvider, payload, timeoutMs ? { timeout_ms: timeoutMs } : {});\n const queryVector = vectors[0];\n if (!queryVector) {\n return new Map();\n }\n const queryNorm = l2Norm(queryVector);\n const scoreById = new Map<string, number>();\n for (let index = 0; index < candidates.length; index += 1) {\n const candidate = candidates[index];\n const candidateVector = vectors[index + 1];\n if (!candidateVector) {\n continue;\n }\n const similarity = cosineSimilarityWithKnownLeftNorm(queryVector, candidateVector, queryNorm);\n scoreById.set(candidate.id, Math.max(0, Math.min(1, (similarity + 1) / 2)));\n }\n return scoreById;\n}\n"],
|
|
5
|
-
"mappings": "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",
|
|
5
|
+
"mappings": "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",
|
|
6
6
|
"names": ["itemRecord", "global"]
|
|
7
7
|
}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
|
|
2
|
-
!function(){try{var e="undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof globalThis?globalThis:"undefined"!=typeof self?self:{},n=(new e.Error).stack;n&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[n]="
|
|
2
|
+
!function(){try{var e="undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof globalThis?globalThis:"undefined"!=typeof self?self:{},n=(new e.Error).stack;n&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[n]="904f16a7-8ddd-5304-9a46-6b414dc54829")}catch(e){}}();
|
|
3
3
|
import {
|
|
4
4
|
collectStaleVectorizationIds
|
|
5
5
|
} from "./chunk-IUV734HF.js";
|
|
@@ -13,37 +13,36 @@ import {
|
|
|
13
13
|
resolveEmbeddingProviders,
|
|
14
14
|
resolveSettingsWithSemanticRuntimeDefaults,
|
|
15
15
|
resolveVectorStores
|
|
16
|
-
} from "./chunk-
|
|
16
|
+
} from "./chunk-LUJQJR7G.js";
|
|
17
17
|
import {
|
|
18
18
|
collectRuntimeFilterValues,
|
|
19
19
|
matchesRuntimeFilters,
|
|
20
20
|
parseStatusFilterCsv
|
|
21
|
-
} from "./chunk-
|
|
21
|
+
} from "./chunk-2MKBPWMK.js";
|
|
22
22
|
import {
|
|
23
23
|
parseLimit,
|
|
24
24
|
parsePriority,
|
|
25
25
|
parseType
|
|
26
|
-
} from "./chunk-
|
|
27
|
-
import "./chunk-XSLQSXAH.js";
|
|
26
|
+
} from "./chunk-LYL32FT6.js";
|
|
28
27
|
import {
|
|
29
28
|
collectRegisteredItemFieldNames,
|
|
30
29
|
listAllDocumentCandidatesCached,
|
|
31
30
|
listAllFrontMatter,
|
|
32
31
|
toItemRecord
|
|
33
|
-
} from "./chunk-
|
|
34
|
-
import "./chunk-
|
|
32
|
+
} from "./chunk-MF6KSSMF.js";
|
|
33
|
+
import "./chunk-UDWUDUJI.js";
|
|
35
34
|
import {
|
|
36
35
|
isTerminalStatus,
|
|
37
36
|
parseItemDocument
|
|
38
|
-
} from "./chunk-
|
|
37
|
+
} from "./chunk-SNASEDXB.js";
|
|
39
38
|
import {
|
|
40
39
|
resolveItemTypeRegistry
|
|
41
|
-
} from "./chunk-
|
|
40
|
+
} from "./chunk-344GDQTH.js";
|
|
42
41
|
import {
|
|
43
42
|
compareTimestampStrings,
|
|
44
43
|
nowIso,
|
|
45
44
|
resolveIsoOrRelative
|
|
46
|
-
} from "./chunk-
|
|
45
|
+
} from "./chunk-PYULT32I.js";
|
|
47
46
|
import {
|
|
48
47
|
EXIT_CODE,
|
|
49
48
|
PmCliError,
|
|
@@ -62,7 +61,7 @@ import {
|
|
|
62
61
|
runActiveOnReadHooks,
|
|
63
62
|
toNonEmptyString,
|
|
64
63
|
toNonEmptyStringOrUndefined
|
|
65
|
-
} from "./chunk-
|
|
64
|
+
} from "./chunk-WNMRICXH.js";
|
|
66
65
|
|
|
67
66
|
// dist/cli/commands/search.js
|
|
68
67
|
import fs from "node:fs/promises";
|
|
@@ -1590,6 +1589,6 @@ export {
|
|
|
1590
1589
|
resolveSearchTuning,
|
|
1591
1590
|
runSearch
|
|
1592
1591
|
};
|
|
1593
|
-
//# sourceMappingURL=search-
|
|
1592
|
+
//# sourceMappingURL=search-DTL7CO22.js.map
|
|
1594
1593
|
|
|
1595
|
-
//# debugId=
|
|
1594
|
+
//# debugId=904f16a7-8ddd-5304-9a46-6b414dc54829
|