@unbrained/pm-cli 2026.6.6 → 2026.6.7

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (546) hide show
  1. package/CHANGELOG.md +37 -0
  2. package/README.md +5 -1
  3. package/dist/cli/commander-usage.js +74 -4
  4. package/dist/cli/commander-usage.js.map +1 -1
  5. package/dist/cli/commands/aggregate.d.ts +8 -0
  6. package/dist/cli/commands/aggregate.js +84 -7
  7. package/dist/cli/commands/aggregate.js.map +1 -1
  8. package/dist/cli/commands/calendar.js +10 -3
  9. package/dist/cli/commands/calendar.js.map +1 -1
  10. package/dist/cli/commands/close-many.js +13 -10
  11. package/dist/cli/commands/close-many.js.map +1 -1
  12. package/dist/cli/commands/close.d.ts +1 -1
  13. package/dist/cli/commands/close.js +20 -10
  14. package/dist/cli/commands/close.js.map +1 -1
  15. package/dist/cli/commands/completion.js +68 -13
  16. package/dist/cli/commands/completion.js.map +1 -1
  17. package/dist/cli/commands/config.d.ts +5 -4
  18. package/dist/cli/commands/config.js +50 -2
  19. package/dist/cli/commands/config.js.map +1 -1
  20. package/dist/cli/commands/contracts.js +4 -3
  21. package/dist/cli/commands/contracts.js.map +1 -1
  22. package/dist/cli/commands/copy.d.ts +14 -0
  23. package/dist/cli/commands/copy.js +153 -0
  24. package/dist/cli/commands/copy.js.map +1 -0
  25. package/dist/cli/commands/extension/doctor.js +62 -2
  26. package/dist/cli/commands/extension/doctor.js.map +1 -1
  27. package/dist/cli/commands/extension/install-sources.d.ts +8 -0
  28. package/dist/cli/commands/extension/install-sources.js +82 -2
  29. package/dist/cli/commands/extension/install-sources.js.map +1 -1
  30. package/dist/cli/commands/extension.d.ts +29 -0
  31. package/dist/cli/commands/extension.js +61 -2
  32. package/dist/cli/commands/extension.js.map +1 -1
  33. package/dist/cli/commands/get.d.ts +9 -0
  34. package/dist/cli/commands/get.js +23 -2
  35. package/dist/cli/commands/get.js.map +1 -1
  36. package/dist/cli/commands/history-compact.d.ts +39 -0
  37. package/dist/cli/commands/history-compact.js +262 -0
  38. package/dist/cli/commands/history-compact.js.map +1 -0
  39. package/dist/cli/commands/index.d.ts +2 -0
  40. package/dist/cli/commands/index.js +4 -2
  41. package/dist/cli/commands/index.js.map +1 -1
  42. package/dist/cli/commands/list.d.ts +2 -0
  43. package/dist/cli/commands/list.js +87 -9
  44. package/dist/cli/commands/list.js.map +1 -1
  45. package/dist/cli/commands/reindex.js +8 -4
  46. package/dist/cli/commands/reindex.js.map +1 -1
  47. package/dist/cli/commands/search.d.ts +1 -0
  48. package/dist/cli/commands/search.js +232 -35
  49. package/dist/cli/commands/search.js.map +1 -1
  50. package/dist/cli/error-guidance.js +26 -2
  51. package/dist/cli/error-guidance.js.map +1 -1
  52. package/dist/cli/extension-command-help.d.ts +1 -0
  53. package/dist/cli/extension-command-help.js +3 -2
  54. package/dist/cli/extension-command-help.js.map +1 -1
  55. package/dist/cli/help-content.js +10 -2
  56. package/dist/cli/help-content.js.map +1 -1
  57. package/dist/cli/main.d.ts +3 -0
  58. package/dist/cli/main.js +13 -21
  59. package/dist/cli/main.js.map +1 -1
  60. package/dist/cli/register-list-query.js +19 -4
  61. package/dist/cli/register-list-query.js.map +1 -1
  62. package/dist/cli/register-mutation.js +52 -17
  63. package/dist/cli/register-mutation.js.map +1 -1
  64. package/dist/cli/register-operations.js +31 -7
  65. package/dist/cli/register-operations.js.map +1 -1
  66. package/dist/cli/register-setup.js +5 -5
  67. package/dist/cli/register-setup.js.map +1 -1
  68. package/dist/cli/registration-helpers.js +21 -3
  69. package/dist/cli/registration-helpers.js.map +1 -1
  70. package/dist/cli-bundle/chunks/activity-5UROHJ3D.js +16 -0
  71. package/dist/cli-bundle/chunks/{activity-JM6DTDND.js → activity-YVB3QRTE.js} +11 -11
  72. package/dist/cli-bundle/chunks/{aggregate-VNAHUNNF.js → aggregate-LH66F75F.js} +87 -17
  73. package/dist/cli-bundle/chunks/aggregate-LH66F75F.js.map +7 -0
  74. package/dist/cli-bundle/chunks/{aggregate-GI7WSZPH.js → aggregate-OHSWFQJM.js} +88 -18
  75. package/dist/cli-bundle/chunks/aggregate-OHSWFQJM.js.map +1 -0
  76. package/dist/cli-bundle/chunks/{append-WMKRXKCE.js → append-2PPYFAG5.js} +8 -8
  77. package/dist/cli-bundle/chunks/{append-7H5N64R2.js → append-AUGT5W6J.js} +8 -8
  78. package/dist/cli-bundle/chunks/{chunk-6P6GGMOG.js → chunk-2IF7WLB7.js} +2 -2
  79. package/dist/cli-bundle/chunks/{chunk-T3LC5LKB.js → chunk-2IXCHCLM.js} +5 -6
  80. package/dist/cli-bundle/chunks/chunk-2IXCHCLM.js.map +7 -0
  81. package/dist/cli-bundle/chunks/{chunk-KAG77BY3.js → chunk-2OJHLWBZ.js} +2 -2
  82. package/dist/cli-bundle/chunks/{chunk-GXSUPCBV.js → chunk-3A2CMEM7.js} +4 -4
  83. package/dist/cli-bundle/chunks/{chunk-UM2GBHS4.js → chunk-3EOBJOF4.js} +4 -4
  84. package/dist/cli-bundle/chunks/{chunk-Q7SPNHLW.js → chunk-42LOFGJS.js} +91 -16
  85. package/dist/cli-bundle/chunks/chunk-42LOFGJS.js.map +7 -0
  86. package/dist/cli-bundle/chunks/{chunk-PRJCELV4.js → chunk-4CHEG6UK.js} +8 -8
  87. package/dist/cli-bundle/chunks/{chunk-4LL6TK5B.js → chunk-4GHZR3BA.js} +56 -28
  88. package/dist/cli-bundle/chunks/chunk-4GHZR3BA.js.map +1 -0
  89. package/dist/cli-bundle/chunks/{chunk-OZ7NSQHL.js → chunk-5AXMRKN5.js} +8 -8
  90. package/dist/cli-bundle/chunks/{chunk-GCOQW437.js → chunk-6J4K6JLA.js} +3 -3
  91. package/dist/cli-bundle/chunks/{chunk-2RSPZI5H.js → chunk-6RZXO5M2.js} +8 -8
  92. package/dist/cli-bundle/chunks/{chunk-KJ33AOCY.js → chunk-AVJD6VTA.js} +3 -3
  93. package/dist/cli-bundle/chunks/{chunk-TCD3R2PF.js → chunk-B2KZGPM2.js} +39 -8
  94. package/dist/cli-bundle/chunks/chunk-B2KZGPM2.js.map +1 -0
  95. package/dist/cli-bundle/chunks/{chunk-I6BNFU5X.js → chunk-B5RF3IP7.js} +3 -3
  96. package/dist/cli-bundle/chunks/{chunk-RZN6VURO.js → chunk-C5W2UH56.js} +3 -3
  97. package/dist/cli-bundle/chunks/{chunk-3LB74A67.js → chunk-CKLBZHS7.js} +6 -6
  98. package/dist/cli-bundle/chunks/{chunk-KWU6HG75.js → chunk-CLD3XNCH.js} +91 -10
  99. package/dist/cli-bundle/chunks/chunk-CLD3XNCH.js.map +1 -0
  100. package/dist/cli-bundle/chunks/{chunk-QO7EBBOM.js → chunk-FHHBD7PN.js} +38 -7
  101. package/dist/cli-bundle/chunks/chunk-FHHBD7PN.js.map +7 -0
  102. package/dist/cli-bundle/chunks/{chunk-3VAM3NNM.js → chunk-FY6Z3FYY.js} +3 -3
  103. package/dist/cli-bundle/chunks/{chunk-RWPSOIEE.js → chunk-GNIUOLZ2.js} +7 -7
  104. package/dist/cli-bundle/chunks/{chunk-MITFDD35.js → chunk-GPXQBR3H.js} +12 -12
  105. package/dist/cli-bundle/chunks/{chunk-2VBQ6ZXS.js → chunk-GUZBNB3G.js} +27 -5
  106. package/dist/cli-bundle/chunks/chunk-GUZBNB3G.js.map +1 -0
  107. package/dist/cli-bundle/chunks/{chunk-I2HSTRJF.js → chunk-H7EO3QA3.js} +5 -5
  108. package/dist/cli-bundle/chunks/{chunk-77GFDHGF.js → chunk-HLC3KTLP.js} +2 -2
  109. package/dist/cli-bundle/chunks/{chunk-OVQCEJPG.js → chunk-HMMMWBK2.js} +2 -2
  110. package/dist/cli-bundle/chunks/{chunk-KJE2FOS4.js → chunk-HRMHZ4RV.js} +26 -4
  111. package/dist/cli-bundle/chunks/chunk-HRMHZ4RV.js.map +7 -0
  112. package/dist/cli-bundle/chunks/{chunk-XLTD2HN3.js → chunk-HV5SSZXF.js} +2 -2
  113. package/dist/cli-bundle/chunks/{chunk-GU2ZJ2VV.js → chunk-IMCJBN2Q.js} +23 -14
  114. package/dist/cli-bundle/chunks/chunk-IMCJBN2Q.js.map +7 -0
  115. package/dist/cli-bundle/chunks/{chunk-2HVRUSQA.js → chunk-KNGVP5WJ.js} +3 -3
  116. package/dist/cli-bundle/chunks/{chunk-ECCMVXGM.js → chunk-KR6R465K.js} +304 -215
  117. package/dist/cli-bundle/chunks/chunk-KR6R465K.js.map +7 -0
  118. package/dist/cli-bundle/chunks/{chunk-3BWOVLTH.js → chunk-LI65XLJR.js} +8 -8
  119. package/dist/cli-bundle/chunks/{chunk-NUZ5HKR4.js → chunk-LIN2BPJ7.js} +2 -2
  120. package/dist/cli-bundle/chunks/chunk-LMTOY5HE.js +112 -0
  121. package/dist/cli-bundle/chunks/chunk-LMTOY5HE.js.map +1 -0
  122. package/dist/cli-bundle/chunks/{chunk-N7ACFE26.js → chunk-LQHBENVW.js} +3 -3
  123. package/dist/cli-bundle/chunks/{chunk-23YFZ3IG.js → chunk-LXO6V66E.js} +14 -14
  124. package/dist/cli-bundle/chunks/{chunk-PDDFYW4X.js → chunk-M2PW7EZU.js} +26 -7
  125. package/dist/cli-bundle/chunks/chunk-M2PW7EZU.js.map +7 -0
  126. package/dist/cli-bundle/chunks/{chunk-PIU6RSL3.js → chunk-MOYM2C3J.js} +9 -9
  127. package/dist/cli-bundle/chunks/{chunk-PROOHX4K.js → chunk-MWRS7Z4P.js} +94 -13
  128. package/dist/cli-bundle/chunks/chunk-MWRS7Z4P.js.map +7 -0
  129. package/dist/cli-bundle/chunks/{chunk-FRAUKRU2.js → chunk-NHR2QXXZ.js} +24 -15
  130. package/dist/cli-bundle/chunks/chunk-NHR2QXXZ.js.map +1 -0
  131. package/dist/cli-bundle/chunks/{chunk-IJGCZSIQ.js → chunk-NQL32HQ5.js} +12 -12
  132. package/dist/cli-bundle/chunks/{chunk-52MAOQ6J.js → chunk-O7HSSFCC.js} +65 -16
  133. package/dist/cli-bundle/chunks/chunk-O7HSSFCC.js.map +7 -0
  134. package/dist/cli-bundle/chunks/{chunk-6ER6DXH5.js → chunk-OKSKJKHX.js} +9 -9
  135. package/dist/cli-bundle/chunks/{chunk-IOR7LGF4.js → chunk-QQL5QSTZ.js} +88 -7
  136. package/dist/cli-bundle/chunks/chunk-QQL5QSTZ.js.map +1 -0
  137. package/dist/cli-bundle/chunks/{chunk-2VVCGBNV.js → chunk-R3V3YCMH.js} +9 -9
  138. package/dist/cli-bundle/chunks/{chunk-UBOPJT3S.js → chunk-RVPTZKBC.js} +9 -9
  139. package/dist/cli-bundle/chunks/{chunk-WKY2IBOQ.js → chunk-SFFVGNHC.js} +3 -3
  140. package/dist/cli-bundle/chunks/{chunk-WSMOSYRD.js → chunk-SQPKRA54.js} +14 -14
  141. package/dist/cli-bundle/chunks/chunk-THDEID2Z.js +115 -0
  142. package/dist/cli-bundle/chunks/chunk-THDEID2Z.js.map +7 -0
  143. package/dist/cli-bundle/chunks/{chunk-W7XABV4H.js → chunk-TINUJMWN.js} +92 -17
  144. package/dist/cli-bundle/chunks/chunk-TINUJMWN.js.map +1 -0
  145. package/dist/cli-bundle/chunks/{chunk-YL2DJGYS.js → chunk-TNPBPNII.js} +7 -7
  146. package/dist/cli-bundle/chunks/{chunk-XTGLRY2Y.js → chunk-TP4DDY27.js} +6 -6
  147. package/dist/cli-bundle/chunks/{chunk-AY43SBIN.js → chunk-TYJJOTUA.js} +6 -6
  148. package/dist/cli-bundle/chunks/{chunk-LCM63IXU.js → chunk-UAQOQ7IE.js} +2 -2
  149. package/dist/cli-bundle/chunks/{chunk-BQHUILZS.js → chunk-UEWA73ZZ.js} +5 -5
  150. package/dist/cli-bundle/chunks/{chunk-PO3GSVFV.js → chunk-UIIQC5YO.js} +2 -2
  151. package/dist/cli-bundle/chunks/{chunk-U5SXYXSY.js → chunk-UJUT6AHZ.js} +241 -35
  152. package/dist/cli-bundle/chunks/chunk-UJUT6AHZ.js.map +7 -0
  153. package/dist/cli-bundle/chunks/{chunk-HZGUAH22.js → chunk-UT6WFXW2.js} +6 -7
  154. package/dist/cli-bundle/chunks/chunk-UT6WFXW2.js.map +1 -0
  155. package/dist/cli-bundle/chunks/{chunk-LB3RUL2N.js → chunk-UYQ7HXH4.js} +10 -6
  156. package/dist/cli-bundle/chunks/chunk-UYQ7HXH4.js.map +1 -0
  157. package/dist/cli-bundle/chunks/{chunk-R6UFP2GE.js → chunk-V6EYFTRL.js} +7 -7
  158. package/dist/cli-bundle/chunks/{chunk-3FI4SEFT.js → chunk-WAA7UI6M.js} +58 -30
  159. package/dist/cli-bundle/chunks/chunk-WAA7UI6M.js.map +7 -0
  160. package/dist/cli-bundle/chunks/{chunk-AO442XLN.js → chunk-WCQZBDDH.js} +10 -6
  161. package/dist/cli-bundle/chunks/{chunk-AO442XLN.js.map → chunk-WCQZBDDH.js.map} +2 -2
  162. package/dist/cli-bundle/chunks/{chunk-SKJWX3QB.js → chunk-WR5567FH.js} +87 -6
  163. package/dist/cli-bundle/chunks/chunk-WR5567FH.js.map +7 -0
  164. package/dist/cli-bundle/chunks/{chunk-XSJCLN2R.js → chunk-WYEXLDDY.js} +3 -3
  165. package/dist/cli-bundle/chunks/{chunk-5SFCOO6B.js → chunk-X4IZKYHP.js} +234 -28
  166. package/dist/cli-bundle/chunks/chunk-X4IZKYHP.js.map +1 -0
  167. package/dist/cli-bundle/chunks/{chunk-E5FJNAZA.js → chunk-X7UHMKPE.js} +3 -3
  168. package/dist/cli-bundle/chunks/{chunk-WOPXVEZP.js → chunk-XS3O2TFJ.js} +27 -8
  169. package/dist/cli-bundle/chunks/chunk-XS3O2TFJ.js.map +1 -0
  170. package/dist/cli-bundle/chunks/{chunk-TPH5XEVD.js → chunk-XYNT7UFP.js} +303 -207
  171. package/dist/cli-bundle/chunks/chunk-XYNT7UFP.js.map +1 -0
  172. package/dist/cli-bundle/chunks/{chunk-GGYWB3Y2.js → chunk-YBZW2QQ7.js} +6 -6
  173. package/dist/cli-bundle/chunks/{chunk-ME2YH6FN.js → chunk-YO3THIJF.js} +7 -7
  174. package/dist/cli-bundle/chunks/{chunk-5FDATVEZ.js → chunk-YPH4ESA2.js} +66 -17
  175. package/dist/cli-bundle/chunks/chunk-YPH4ESA2.js.map +1 -0
  176. package/dist/cli-bundle/chunks/{claim-X2P4IB7J.js → claim-BJ4QMPJC.js} +10 -10
  177. package/dist/cli-bundle/chunks/{claim-4DBF6RVG.js → claim-KW743OSW.js} +10 -10
  178. package/dist/cli-bundle/chunks/close-P4ZBKODL.js +13 -0
  179. package/dist/cli-bundle/chunks/{close-PTYFA45H.js → close-SYHSRZDC.js} +8 -8
  180. package/dist/cli-bundle/chunks/{close-many-7CGIDPTJ.js → close-many-DBLEYFOY.js} +29 -26
  181. package/dist/cli-bundle/chunks/close-many-DBLEYFOY.js.map +7 -0
  182. package/dist/cli-bundle/chunks/{close-many-ERFO6LHR.js → close-many-LAC5VR4G.js} +30 -27
  183. package/dist/cli-bundle/chunks/close-many-LAC5VR4G.js.map +1 -0
  184. package/dist/cli-bundle/chunks/{comments-QKBYCWKD.js → comments-JEO6HHVM.js} +10 -10
  185. package/dist/cli-bundle/chunks/{comments-OONGABK5.js → comments-YT2PQ5DD.js} +10 -10
  186. package/dist/cli-bundle/chunks/{config-6FXCQKIF.js → config-RZRVS3ZV.js} +127 -11
  187. package/dist/cli-bundle/chunks/config-RZRVS3ZV.js.map +1 -0
  188. package/dist/cli-bundle/chunks/{config-U4RZ4CQB.js → config-YJSAAADD.js} +128 -12
  189. package/dist/cli-bundle/chunks/config-YJSAAADD.js.map +7 -0
  190. package/dist/cli-bundle/chunks/{context-FYYJGFWS.js → context-LGYEEKAW.js} +14 -14
  191. package/dist/cli-bundle/chunks/{context-FYYJGFWS.js.map → context-LGYEEKAW.js.map} +2 -2
  192. package/dist/cli-bundle/chunks/{context-YMJ3Z2HQ.js → context-ZUH5IOOI.js} +15 -15
  193. package/dist/cli-bundle/chunks/context-ZUH5IOOI.js.map +1 -0
  194. package/dist/cli-bundle/chunks/{contracts-RFSPGVVJ.js → contracts-YXJ6NXKH.js} +7 -5
  195. package/dist/cli-bundle/chunks/contracts-YXJ6NXKH.js.map +7 -0
  196. package/dist/cli-bundle/chunks/{contracts-QDB6OMLQ.js → contracts-ZIBXROPE.js} +8 -6
  197. package/dist/cli-bundle/chunks/contracts-ZIBXROPE.js.map +1 -0
  198. package/dist/cli-bundle/chunks/copy-BZALX5MQ.js +182 -0
  199. package/dist/cli-bundle/chunks/copy-BZALX5MQ.js.map +1 -0
  200. package/dist/cli-bundle/chunks/copy-YPWEIAPD.js +185 -0
  201. package/dist/cli-bundle/chunks/copy-YPWEIAPD.js.map +7 -0
  202. package/dist/cli-bundle/chunks/create-4DS2QWQC.js +27 -0
  203. package/dist/cli-bundle/chunks/{create-I5L4EYYZ.js → create-CF7EVRX7.js} +13 -13
  204. package/dist/cli-bundle/chunks/{delete-7HPGI4GZ.js → delete-KR4VBWVE.js} +7 -7
  205. package/dist/cli-bundle/chunks/{delete-VXUPH5RS.js → delete-XLZRTRKR.js} +7 -7
  206. package/dist/cli-bundle/chunks/{deps-JSRRWC3Z.js → deps-2YTXD3VM.js} +7 -7
  207. package/dist/cli-bundle/chunks/{deps-SCZIFK2Z.js → deps-GZMFMTGS.js} +7 -7
  208. package/dist/cli-bundle/chunks/{docs-GJK6K4VP.js → docs-SLROFEQ4.js} +9 -9
  209. package/dist/cli-bundle/chunks/{docs-WW4N3MBM.js → docs-ZHISRR2D.js} +9 -9
  210. package/dist/cli-bundle/chunks/{extension-J7IBMFTD.js → extension-3C7OOI4F.js} +8 -6
  211. package/dist/cli-bundle/chunks/{extension-VDY2U33M.js → extension-XYCUXICD.js} +8 -6
  212. package/dist/cli-bundle/chunks/{files-ISZJGILQ.js → files-FUWF2FYJ.js} +9 -9
  213. package/dist/cli-bundle/chunks/{files-WKOD326U.js → files-J4I5IU4O.js} +9 -9
  214. package/dist/cli-bundle/chunks/{gc-JDVJ6OQ2.js → gc-34NXSNSN.js} +3 -3
  215. package/dist/cli-bundle/chunks/{gc-ULPVWMTN.js → gc-SPIIZX3A.js} +3 -3
  216. package/dist/cli-bundle/chunks/{get-RV37HT3G.js → get-SZKNRHMA.js} +34 -12
  217. package/dist/cli-bundle/chunks/get-SZKNRHMA.js.map +1 -0
  218. package/dist/cli-bundle/chunks/{get-WXU6WI5P.js → get-VITKYP6S.js} +33 -11
  219. package/dist/cli-bundle/chunks/get-VITKYP6S.js.map +7 -0
  220. package/dist/cli-bundle/chunks/{health-6L6EH4WR.js → health-4SNTA2TF.js} +12 -11
  221. package/dist/cli-bundle/chunks/{health-6L6EH4WR.js.map → health-4SNTA2TF.js.map} +1 -1
  222. package/dist/cli-bundle/chunks/{health-LOI2HHKB.js → health-7G3EPM57.js} +14 -13
  223. package/dist/cli-bundle/chunks/{health-LOI2HHKB.js.map → health-7G3EPM57.js.map} +1 -1
  224. package/dist/cli-bundle/chunks/{history-PKN67D5O.js → history-SDAWYZR3.js} +10 -10
  225. package/dist/cli-bundle/chunks/history-YDUEILKP.js +20 -0
  226. package/dist/cli-bundle/chunks/history-compact-DMW536VH.js +287 -0
  227. package/dist/cli-bundle/chunks/history-compact-DMW536VH.js.map +1 -0
  228. package/dist/cli-bundle/chunks/history-compact-POTZGG7K.js +290 -0
  229. package/dist/cli-bundle/chunks/history-compact-POTZGG7K.js.map +7 -0
  230. package/dist/cli-bundle/chunks/{history-redact-V4FOJGS7.js → history-redact-EPJ7GENL.js} +11 -11
  231. package/dist/cli-bundle/chunks/history-redact-KASLLPE7.js +19 -0
  232. package/dist/cli-bundle/chunks/{history-repair-SDMHR7JT.js → history-repair-IJ7LLBET.js} +11 -11
  233. package/dist/cli-bundle/chunks/{history-repair-HIBCBIKK.js → history-repair-YNESJRT6.js} +11 -11
  234. package/dist/cli-bundle/chunks/init-IGSS4GNH.js +17 -0
  235. package/dist/cli-bundle/chunks/{init-P56QYWJF.js → init-YHVBTEET.js} +9 -8
  236. package/dist/cli-bundle/chunks/{learnings-GDFRG5J7.js → learnings-4YBMIVCZ.js} +10 -10
  237. package/dist/cli-bundle/chunks/{learnings-MIXSESLK.js → learnings-T4PF24YN.js} +10 -10
  238. package/dist/cli-bundle/chunks/{list-FGOWQMSM.js → list-3KEVBOYW.js} +10 -10
  239. package/dist/cli-bundle/chunks/list-E44O2K64.js +20 -0
  240. package/dist/cli-bundle/chunks/{notes-4XVSH2AZ.js → notes-FLUCNJSH.js} +10 -10
  241. package/dist/cli-bundle/chunks/{notes-5UK3GEH2.js → notes-GJKALVZM.js} +10 -10
  242. package/dist/cli-bundle/chunks/{plan-SLMODHWX.js → plan-T5MMZLI3.js} +13 -13
  243. package/dist/cli-bundle/chunks/{plan-DUMBV3QB.js → plan-YYMIL3HV.js} +13 -13
  244. package/dist/cli-bundle/chunks/{register-list-query-POCFZ5JW.js → register-list-query-I65EZ3HB.js} +29 -25
  245. package/dist/cli-bundle/chunks/register-list-query-I65EZ3HB.js.map +1 -0
  246. package/dist/cli-bundle/chunks/{register-list-query-WST76HSQ.js → register-list-query-OECMHO4G.js} +28 -24
  247. package/dist/cli-bundle/chunks/register-list-query-OECMHO4G.js.map +7 -0
  248. package/dist/cli-bundle/chunks/{register-mutation-N5GSUZJV.js → register-mutation-2FLXORLR.js} +65 -47
  249. package/dist/cli-bundle/chunks/register-mutation-2FLXORLR.js.map +1 -0
  250. package/dist/cli-bundle/chunks/{register-mutation-OA675SOU.js → register-mutation-5GPDEKHR.js} +64 -46
  251. package/dist/cli-bundle/chunks/register-mutation-5GPDEKHR.js.map +7 -0
  252. package/dist/cli-bundle/chunks/{register-operations-GNHBE5I3.js → register-operations-BNGAUMGK.js} +58 -35
  253. package/dist/cli-bundle/chunks/register-operations-BNGAUMGK.js.map +1 -0
  254. package/dist/cli-bundle/chunks/{register-operations-N3PMHXH5.js → register-operations-GQKT35H5.js} +57 -34
  255. package/dist/cli-bundle/chunks/register-operations-GQKT35H5.js.map +7 -0
  256. package/dist/cli-bundle/chunks/{register-setup-JIMPKJKV.js → register-setup-DNDCGZ4O.js} +18 -18
  257. package/dist/cli-bundle/chunks/{register-setup-JIMPKJKV.js.map → register-setup-DNDCGZ4O.js.map} +1 -1
  258. package/dist/cli-bundle/chunks/{register-setup-ZHJI2DI3.js → register-setup-EJY44FPH.js} +17 -17
  259. package/dist/cli-bundle/chunks/{register-setup-ZHJI2DI3.js.map → register-setup-EJY44FPH.js.map} +2 -2
  260. package/dist/cli-bundle/chunks/{restore-PBL6T5TW.js → restore-DDJGVZIN.js} +11 -11
  261. package/dist/cli-bundle/chunks/restore-SJSASGZP.js +17 -0
  262. package/dist/cli-bundle/chunks/{schema-2NOO6NGB.js → schema-B7NQ6XVP.js} +8 -8
  263. package/dist/cli-bundle/chunks/{schema-EBI4NLUO.js → schema-HEGYH6CE.js} +8 -8
  264. package/dist/cli-bundle/chunks/{search-JPUQTVCY.js → search-DVVQ4UO2.js} +421 -42
  265. package/dist/cli-bundle/chunks/search-DVVQ4UO2.js.map +1 -0
  266. package/dist/cli-bundle/chunks/{search-OA6JX27A.js → search-JNEZJV7H.js} +427 -41
  267. package/dist/cli-bundle/chunks/search-JNEZJV7H.js.map +7 -0
  268. package/dist/cli-bundle/chunks/{stats-CV54BAWY.js → stats-7JDIJRDH.js} +7 -7
  269. package/dist/cli-bundle/chunks/{stats-XYB6KTFG.js → stats-SYTJRR4Z.js} +7 -7
  270. package/dist/cli-bundle/chunks/{telemetry-LMJ7PFUO.js → telemetry-4HHWD5Y7.js} +4 -4
  271. package/dist/cli-bundle/chunks/{telemetry-NCMEPJNR.js → telemetry-EGWP7ZUX.js} +4 -4
  272. package/dist/cli-bundle/chunks/{test-WBROAJIE.js → test-IIELLSZX.js} +14 -13
  273. package/dist/cli-bundle/chunks/test-ML5RLWXE.js +32 -0
  274. package/dist/cli-bundle/chunks/{test-all-NTOZ7C3M.js → test-all-7DNCMML7.js} +14 -13
  275. package/dist/cli-bundle/chunks/{test-all-NTOZ7C3M.js.map → test-all-7DNCMML7.js.map} +1 -1
  276. package/dist/cli-bundle/chunks/{test-all-N6NSRDTV.js → test-all-IHTUJRRC.js} +16 -15
  277. package/dist/cli-bundle/chunks/{test-all-N6NSRDTV.js.map → test-all-IHTUJRRC.js.map} +1 -1
  278. package/dist/cli-bundle/chunks/{test-runs-V6A7LPWZ.js → test-runs-5FEMBV3A.js} +5 -5
  279. package/dist/cli-bundle/chunks/{test-runs-WMVTQU3Y.js → test-runs-RNKZ37PS.js} +5 -5
  280. package/dist/cli-bundle/chunks/update-6C67X4KS.js +21 -0
  281. package/dist/cli-bundle/chunks/update-VF26YPT3.js +25 -0
  282. package/dist/cli-bundle/chunks/{update-many-KGGEYABR.js → update-many-BSZZZYXY.js} +22 -22
  283. package/dist/cli-bundle/chunks/{update-many-EM6OXYGO.js → update-many-BWKJJEBF.js} +22 -22
  284. package/dist/cli-bundle/chunks/{upgrade-LXPOQKFV.js → upgrade-RSE5PC44.js} +7 -6
  285. package/dist/cli-bundle/chunks/{upgrade-LXPOQKFV.js.map → upgrade-RSE5PC44.js.map} +1 -1
  286. package/dist/cli-bundle/chunks/{upgrade-BLI7XBAJ.js → upgrade-YWI5DJFA.js} +5 -4
  287. package/dist/cli-bundle/chunks/{upgrade-BLI7XBAJ.js.map → upgrade-YWI5DJFA.js.map} +1 -1
  288. package/dist/cli-bundle/chunks/{validate-AGOAUOVW.js → validate-NK3WKB7C.js} +18 -17
  289. package/dist/cli-bundle/chunks/{validate-AGOAUOVW.js.map → validate-NK3WKB7C.js.map} +1 -1
  290. package/dist/cli-bundle/chunks/{validate-L5J6A7YO.js → validate-UCEOB7S6.js} +20 -19
  291. package/dist/cli-bundle/chunks/{validate-L5J6A7YO.js.map → validate-UCEOB7S6.js.map} +1 -1
  292. package/dist/cli-bundle/main.js +127 -43
  293. package/dist/cli-bundle/main.js.map +3 -3
  294. package/dist/core/config/nested-settings.d.ts +8 -6
  295. package/dist/core/config/nested-settings.js +71 -5
  296. package/dist/core/config/nested-settings.js.map +1 -1
  297. package/dist/core/config/positional-value.js +4 -2
  298. package/dist/core/config/positional-value.js.map +1 -1
  299. package/dist/core/extensions/extension-types.d.ts +36 -0
  300. package/dist/core/extensions/extension-types.js +2 -2
  301. package/dist/core/extensions/extension-types.js.map +1 -1
  302. package/dist/core/extensions/loader.js +46 -5
  303. package/dist/core/extensions/loader.js.map +1 -1
  304. package/dist/core/history/drift-scan.d.ts +3 -4
  305. package/dist/core/history/drift-scan.js +71 -18
  306. package/dist/core/history/drift-scan.js.map +1 -1
  307. package/dist/core/item/id.js +4 -5
  308. package/dist/core/item/id.js.map +1 -1
  309. package/dist/core/item/item-format.js +7 -3
  310. package/dist/core/item/item-format.js.map +1 -1
  311. package/dist/core/item/toon-decode.d.ts +7 -0
  312. package/dist/core/item/toon-decode.js +11 -2
  313. package/dist/core/item/toon-decode.js.map +1 -1
  314. package/dist/core/item/type-registry.js +25 -7
  315. package/dist/core/item/type-registry.js.map +1 -1
  316. package/dist/core/search/cache.js +5 -3
  317. package/dist/core/search/cache.js.map +1 -1
  318. package/dist/core/search/corpus.d.ts +6 -0
  319. package/dist/core/search/corpus.js +22 -9
  320. package/dist/core/search/corpus.js.map +1 -1
  321. package/dist/core/search/embedding-batches.js +10 -7
  322. package/dist/core/search/embedding-batches.js.map +1 -1
  323. package/dist/core/search/relevance.d.ts +29 -0
  324. package/dist/core/search/relevance.js +226 -0
  325. package/dist/core/search/relevance.js.map +1 -0
  326. package/dist/core/search/vector-stores.d.ts +3 -0
  327. package/dist/core/search/vector-stores.js +23 -10
  328. package/dist/core/search/vector-stores.js.map +1 -1
  329. package/dist/core/shared/constants.js +15 -2
  330. package/dist/core/shared/constants.js.map +1 -1
  331. package/dist/core/shared/errors.d.ts +6 -0
  332. package/dist/core/shared/errors.js +2 -2
  333. package/dist/core/shared/errors.js.map +1 -1
  334. package/dist/core/shared/primitives.d.ts +8 -0
  335. package/dist/core/shared/primitives.js +29 -2
  336. package/dist/core/shared/primitives.js.map +1 -1
  337. package/dist/core/shared/time.js +42 -6
  338. package/dist/core/shared/time.js.map +1 -1
  339. package/dist/core/store/paths.js +25 -7
  340. package/dist/core/store/paths.js.map +1 -1
  341. package/dist/core/store/settings-validator.d.ts +11 -0
  342. package/dist/core/store/settings-validator.js +14 -2
  343. package/dist/core/store/settings-validator.js.map +1 -1
  344. package/dist/core/store/settings.js +109 -12
  345. package/dist/core/store/settings.js.map +1 -1
  346. package/dist/core/telemetry/runtime.js +85 -4
  347. package/dist/core/telemetry/runtime.js.map +1 -1
  348. package/dist/mcp/server.js +36 -9
  349. package/dist/mcp/server.js.map +1 -1
  350. package/dist/sdk/cli-contracts/commander-types.d.ts +1 -0
  351. package/dist/sdk/cli-contracts/commander-types.js +13 -2
  352. package/dist/sdk/cli-contracts/commander-types.js.map +1 -1
  353. package/dist/sdk/cli-contracts/enum-contracts.d.ts +2 -2
  354. package/dist/sdk/cli-contracts/enum-contracts.js +6 -2
  355. package/dist/sdk/cli-contracts/enum-contracts.js.map +1 -1
  356. package/dist/sdk/cli-contracts/tool-option-contracts.js +7 -2
  357. package/dist/sdk/cli-contracts/tool-option-contracts.js.map +1 -1
  358. package/dist/sdk/cli-contracts/tool-parameter-tables.js +31 -2
  359. package/dist/sdk/cli-contracts/tool-parameter-tables.js.map +1 -1
  360. package/dist/sdk/cli-contracts.d.ts +3 -1
  361. package/dist/sdk/cli-contracts.js +36 -6
  362. package/dist/sdk/cli-contracts.js.map +1 -1
  363. package/dist/sdk/index.d.ts +2 -2
  364. package/dist/sdk/index.js +3 -3
  365. package/dist/sdk/index.js.map +1 -1
  366. package/dist/sdk/testing.d.ts +51 -1
  367. package/dist/sdk/testing.js +93 -2
  368. package/dist/sdk/testing.js.map +1 -1
  369. package/dist/types.d.ts +14 -0
  370. package/dist/types.js +2 -2
  371. package/dist/types.js.map +1 -1
  372. package/docs/CLAUDE_CODE_PLUGIN.md +2 -2
  373. package/docs/CODEX_PLUGIN.md +1 -1
  374. package/docs/COMMANDS.md +9 -2
  375. package/docs/CONFIGURATION.md +22 -1
  376. package/docs/EXTENSIONS.md +22 -9
  377. package/docs/QUICKSTART.md +1 -1
  378. package/docs/SDK.md +66 -0
  379. package/docs/TESTING.md +14 -0
  380. package/package.json +2 -1
  381. package/packages/pm-governance-audit/README.md +14 -0
  382. package/packages/pm-governance-audit/extensions/governance-audit/index.js +39 -1
  383. package/packages/pm-governance-audit/extensions/governance-audit/index.ts +40 -2
  384. package/packages/pm-governance-audit/extensions/governance-audit/manifest.json +1 -1
  385. package/packages/pm-governance-audit/package.json +4 -2
  386. package/packages/pm-lifecycle-hooks/README.md +21 -0
  387. package/packages/pm-search-advanced/README.md +38 -0
  388. package/packages/pm-search-advanced/extensions/search-advanced/index.js +17 -0
  389. package/packages/pm-search-advanced/extensions/search-advanced/index.ts +17 -0
  390. package/packages/pm-search-advanced/extensions/search-advanced/runtime.js +216 -1
  391. package/packages/pm-search-advanced/extensions/search-advanced/runtime.ts +271 -2
  392. package/plugins/pm-claude/README.md +4 -4
  393. package/plugins/pm-codex/README.md +1 -1
  394. package/dist/cli-bundle/chunks/activity-CVXTCHYY.js +0 -16
  395. package/dist/cli-bundle/chunks/aggregate-GI7WSZPH.js.map +0 -1
  396. package/dist/cli-bundle/chunks/aggregate-VNAHUNNF.js.map +0 -7
  397. package/dist/cli-bundle/chunks/chunk-2VBQ6ZXS.js.map +0 -1
  398. package/dist/cli-bundle/chunks/chunk-3FI4SEFT.js.map +0 -7
  399. package/dist/cli-bundle/chunks/chunk-4LL6TK5B.js.map +0 -1
  400. package/dist/cli-bundle/chunks/chunk-52MAOQ6J.js.map +0 -7
  401. package/dist/cli-bundle/chunks/chunk-5FDATVEZ.js.map +0 -1
  402. package/dist/cli-bundle/chunks/chunk-5SFCOO6B.js.map +0 -1
  403. package/dist/cli-bundle/chunks/chunk-ECCMVXGM.js.map +0 -7
  404. package/dist/cli-bundle/chunks/chunk-FRAUKRU2.js.map +0 -1
  405. package/dist/cli-bundle/chunks/chunk-GU2ZJ2VV.js.map +0 -7
  406. package/dist/cli-bundle/chunks/chunk-HZGUAH22.js.map +0 -1
  407. package/dist/cli-bundle/chunks/chunk-IOR7LGF4.js.map +0 -1
  408. package/dist/cli-bundle/chunks/chunk-KJE2FOS4.js.map +0 -7
  409. package/dist/cli-bundle/chunks/chunk-KWU6HG75.js.map +0 -1
  410. package/dist/cli-bundle/chunks/chunk-LB3RUL2N.js.map +0 -1
  411. package/dist/cli-bundle/chunks/chunk-PDDFYW4X.js.map +0 -7
  412. package/dist/cli-bundle/chunks/chunk-PROOHX4K.js.map +0 -7
  413. package/dist/cli-bundle/chunks/chunk-Q7SPNHLW.js.map +0 -7
  414. package/dist/cli-bundle/chunks/chunk-QO7EBBOM.js.map +0 -7
  415. package/dist/cli-bundle/chunks/chunk-SKJWX3QB.js.map +0 -7
  416. package/dist/cli-bundle/chunks/chunk-T3LC5LKB.js.map +0 -7
  417. package/dist/cli-bundle/chunks/chunk-TCD3R2PF.js.map +0 -1
  418. package/dist/cli-bundle/chunks/chunk-TPH5XEVD.js.map +0 -1
  419. package/dist/cli-bundle/chunks/chunk-U5SXYXSY.js.map +0 -7
  420. package/dist/cli-bundle/chunks/chunk-W7XABV4H.js.map +0 -1
  421. package/dist/cli-bundle/chunks/chunk-WOPXVEZP.js.map +0 -1
  422. package/dist/cli-bundle/chunks/close-3HDWDA3L.js +0 -13
  423. package/dist/cli-bundle/chunks/close-many-7CGIDPTJ.js.map +0 -7
  424. package/dist/cli-bundle/chunks/close-many-ERFO6LHR.js.map +0 -1
  425. package/dist/cli-bundle/chunks/config-6FXCQKIF.js.map +0 -1
  426. package/dist/cli-bundle/chunks/config-U4RZ4CQB.js.map +0 -7
  427. package/dist/cli-bundle/chunks/context-YMJ3Z2HQ.js.map +0 -1
  428. package/dist/cli-bundle/chunks/contracts-QDB6OMLQ.js.map +0 -1
  429. package/dist/cli-bundle/chunks/contracts-RFSPGVVJ.js.map +0 -7
  430. package/dist/cli-bundle/chunks/create-JTZNCTQC.js +0 -27
  431. package/dist/cli-bundle/chunks/get-RV37HT3G.js.map +0 -1
  432. package/dist/cli-bundle/chunks/get-WXU6WI5P.js.map +0 -7
  433. package/dist/cli-bundle/chunks/history-2BA3T5AE.js +0 -20
  434. package/dist/cli-bundle/chunks/history-redact-JBZNXHGR.js +0 -19
  435. package/dist/cli-bundle/chunks/init-HIVSNX3O.js +0 -16
  436. package/dist/cli-bundle/chunks/list-MUSQNMTD.js +0 -20
  437. package/dist/cli-bundle/chunks/register-list-query-POCFZ5JW.js.map +0 -1
  438. package/dist/cli-bundle/chunks/register-list-query-WST76HSQ.js.map +0 -7
  439. package/dist/cli-bundle/chunks/register-mutation-N5GSUZJV.js.map +0 -1
  440. package/dist/cli-bundle/chunks/register-mutation-OA675SOU.js.map +0 -7
  441. package/dist/cli-bundle/chunks/register-operations-GNHBE5I3.js.map +0 -1
  442. package/dist/cli-bundle/chunks/register-operations-N3PMHXH5.js.map +0 -7
  443. package/dist/cli-bundle/chunks/restore-D4RGNX33.js +0 -17
  444. package/dist/cli-bundle/chunks/search-JPUQTVCY.js.map +0 -1
  445. package/dist/cli-bundle/chunks/search-OA6JX27A.js.map +0 -7
  446. package/dist/cli-bundle/chunks/test-MXX3E5JL.js +0 -31
  447. package/dist/cli-bundle/chunks/update-OSV3NAQB.js +0 -25
  448. package/dist/cli-bundle/chunks/update-YRXSUGYQ.js +0 -21
  449. /package/dist/cli-bundle/chunks/{activity-CVXTCHYY.js.map → activity-5UROHJ3D.js.map} +0 -0
  450. /package/dist/cli-bundle/chunks/{activity-JM6DTDND.js.map → activity-YVB3QRTE.js.map} +0 -0
  451. /package/dist/cli-bundle/chunks/{append-WMKRXKCE.js.map → append-2PPYFAG5.js.map} +0 -0
  452. /package/dist/cli-bundle/chunks/{append-7H5N64R2.js.map → append-AUGT5W6J.js.map} +0 -0
  453. /package/dist/cli-bundle/chunks/{chunk-6P6GGMOG.js.map → chunk-2IF7WLB7.js.map} +0 -0
  454. /package/dist/cli-bundle/chunks/{chunk-KAG77BY3.js.map → chunk-2OJHLWBZ.js.map} +0 -0
  455. /package/dist/cli-bundle/chunks/{chunk-GXSUPCBV.js.map → chunk-3A2CMEM7.js.map} +0 -0
  456. /package/dist/cli-bundle/chunks/{chunk-UM2GBHS4.js.map → chunk-3EOBJOF4.js.map} +0 -0
  457. /package/dist/cli-bundle/chunks/{chunk-PRJCELV4.js.map → chunk-4CHEG6UK.js.map} +0 -0
  458. /package/dist/cli-bundle/chunks/{chunk-OZ7NSQHL.js.map → chunk-5AXMRKN5.js.map} +0 -0
  459. /package/dist/cli-bundle/chunks/{chunk-GCOQW437.js.map → chunk-6J4K6JLA.js.map} +0 -0
  460. /package/dist/cli-bundle/chunks/{chunk-2RSPZI5H.js.map → chunk-6RZXO5M2.js.map} +0 -0
  461. /package/dist/cli-bundle/chunks/{chunk-KJ33AOCY.js.map → chunk-AVJD6VTA.js.map} +0 -0
  462. /package/dist/cli-bundle/chunks/{chunk-I6BNFU5X.js.map → chunk-B5RF3IP7.js.map} +0 -0
  463. /package/dist/cli-bundle/chunks/{chunk-RZN6VURO.js.map → chunk-C5W2UH56.js.map} +0 -0
  464. /package/dist/cli-bundle/chunks/{chunk-3LB74A67.js.map → chunk-CKLBZHS7.js.map} +0 -0
  465. /package/dist/cli-bundle/chunks/{chunk-3VAM3NNM.js.map → chunk-FY6Z3FYY.js.map} +0 -0
  466. /package/dist/cli-bundle/chunks/{chunk-RWPSOIEE.js.map → chunk-GNIUOLZ2.js.map} +0 -0
  467. /package/dist/cli-bundle/chunks/{chunk-MITFDD35.js.map → chunk-GPXQBR3H.js.map} +0 -0
  468. /package/dist/cli-bundle/chunks/{chunk-I2HSTRJF.js.map → chunk-H7EO3QA3.js.map} +0 -0
  469. /package/dist/cli-bundle/chunks/{chunk-77GFDHGF.js.map → chunk-HLC3KTLP.js.map} +0 -0
  470. /package/dist/cli-bundle/chunks/{chunk-OVQCEJPG.js.map → chunk-HMMMWBK2.js.map} +0 -0
  471. /package/dist/cli-bundle/chunks/{chunk-XLTD2HN3.js.map → chunk-HV5SSZXF.js.map} +0 -0
  472. /package/dist/cli-bundle/chunks/{chunk-2HVRUSQA.js.map → chunk-KNGVP5WJ.js.map} +0 -0
  473. /package/dist/cli-bundle/chunks/{chunk-3BWOVLTH.js.map → chunk-LI65XLJR.js.map} +0 -0
  474. /package/dist/cli-bundle/chunks/{chunk-NUZ5HKR4.js.map → chunk-LIN2BPJ7.js.map} +0 -0
  475. /package/dist/cli-bundle/chunks/{chunk-N7ACFE26.js.map → chunk-LQHBENVW.js.map} +0 -0
  476. /package/dist/cli-bundle/chunks/{chunk-23YFZ3IG.js.map → chunk-LXO6V66E.js.map} +0 -0
  477. /package/dist/cli-bundle/chunks/{chunk-PIU6RSL3.js.map → chunk-MOYM2C3J.js.map} +0 -0
  478. /package/dist/cli-bundle/chunks/{chunk-IJGCZSIQ.js.map → chunk-NQL32HQ5.js.map} +0 -0
  479. /package/dist/cli-bundle/chunks/{chunk-6ER6DXH5.js.map → chunk-OKSKJKHX.js.map} +0 -0
  480. /package/dist/cli-bundle/chunks/{chunk-2VVCGBNV.js.map → chunk-R3V3YCMH.js.map} +0 -0
  481. /package/dist/cli-bundle/chunks/{chunk-UBOPJT3S.js.map → chunk-RVPTZKBC.js.map} +0 -0
  482. /package/dist/cli-bundle/chunks/{chunk-WKY2IBOQ.js.map → chunk-SFFVGNHC.js.map} +0 -0
  483. /package/dist/cli-bundle/chunks/{chunk-WSMOSYRD.js.map → chunk-SQPKRA54.js.map} +0 -0
  484. /package/dist/cli-bundle/chunks/{chunk-YL2DJGYS.js.map → chunk-TNPBPNII.js.map} +0 -0
  485. /package/dist/cli-bundle/chunks/{chunk-XTGLRY2Y.js.map → chunk-TP4DDY27.js.map} +0 -0
  486. /package/dist/cli-bundle/chunks/{chunk-AY43SBIN.js.map → chunk-TYJJOTUA.js.map} +0 -0
  487. /package/dist/cli-bundle/chunks/{chunk-LCM63IXU.js.map → chunk-UAQOQ7IE.js.map} +0 -0
  488. /package/dist/cli-bundle/chunks/{chunk-BQHUILZS.js.map → chunk-UEWA73ZZ.js.map} +0 -0
  489. /package/dist/cli-bundle/chunks/{chunk-PO3GSVFV.js.map → chunk-UIIQC5YO.js.map} +0 -0
  490. /package/dist/cli-bundle/chunks/{chunk-R6UFP2GE.js.map → chunk-V6EYFTRL.js.map} +0 -0
  491. /package/dist/cli-bundle/chunks/{chunk-XSJCLN2R.js.map → chunk-WYEXLDDY.js.map} +0 -0
  492. /package/dist/cli-bundle/chunks/{chunk-E5FJNAZA.js.map → chunk-X7UHMKPE.js.map} +0 -0
  493. /package/dist/cli-bundle/chunks/{chunk-GGYWB3Y2.js.map → chunk-YBZW2QQ7.js.map} +0 -0
  494. /package/dist/cli-bundle/chunks/{chunk-ME2YH6FN.js.map → chunk-YO3THIJF.js.map} +0 -0
  495. /package/dist/cli-bundle/chunks/{claim-X2P4IB7J.js.map → claim-BJ4QMPJC.js.map} +0 -0
  496. /package/dist/cli-bundle/chunks/{claim-4DBF6RVG.js.map → claim-KW743OSW.js.map} +0 -0
  497. /package/dist/cli-bundle/chunks/{close-3HDWDA3L.js.map → close-P4ZBKODL.js.map} +0 -0
  498. /package/dist/cli-bundle/chunks/{close-PTYFA45H.js.map → close-SYHSRZDC.js.map} +0 -0
  499. /package/dist/cli-bundle/chunks/{comments-QKBYCWKD.js.map → comments-JEO6HHVM.js.map} +0 -0
  500. /package/dist/cli-bundle/chunks/{comments-OONGABK5.js.map → comments-YT2PQ5DD.js.map} +0 -0
  501. /package/dist/cli-bundle/chunks/{create-JTZNCTQC.js.map → create-4DS2QWQC.js.map} +0 -0
  502. /package/dist/cli-bundle/chunks/{create-I5L4EYYZ.js.map → create-CF7EVRX7.js.map} +0 -0
  503. /package/dist/cli-bundle/chunks/{delete-7HPGI4GZ.js.map → delete-KR4VBWVE.js.map} +0 -0
  504. /package/dist/cli-bundle/chunks/{delete-VXUPH5RS.js.map → delete-XLZRTRKR.js.map} +0 -0
  505. /package/dist/cli-bundle/chunks/{deps-JSRRWC3Z.js.map → deps-2YTXD3VM.js.map} +0 -0
  506. /package/dist/cli-bundle/chunks/{deps-SCZIFK2Z.js.map → deps-GZMFMTGS.js.map} +0 -0
  507. /package/dist/cli-bundle/chunks/{docs-GJK6K4VP.js.map → docs-SLROFEQ4.js.map} +0 -0
  508. /package/dist/cli-bundle/chunks/{docs-WW4N3MBM.js.map → docs-ZHISRR2D.js.map} +0 -0
  509. /package/dist/cli-bundle/chunks/{extension-J7IBMFTD.js.map → extension-3C7OOI4F.js.map} +0 -0
  510. /package/dist/cli-bundle/chunks/{extension-VDY2U33M.js.map → extension-XYCUXICD.js.map} +0 -0
  511. /package/dist/cli-bundle/chunks/{files-ISZJGILQ.js.map → files-FUWF2FYJ.js.map} +0 -0
  512. /package/dist/cli-bundle/chunks/{files-WKOD326U.js.map → files-J4I5IU4O.js.map} +0 -0
  513. /package/dist/cli-bundle/chunks/{gc-JDVJ6OQ2.js.map → gc-34NXSNSN.js.map} +0 -0
  514. /package/dist/cli-bundle/chunks/{gc-ULPVWMTN.js.map → gc-SPIIZX3A.js.map} +0 -0
  515. /package/dist/cli-bundle/chunks/{history-PKN67D5O.js.map → history-SDAWYZR3.js.map} +0 -0
  516. /package/dist/cli-bundle/chunks/{history-2BA3T5AE.js.map → history-YDUEILKP.js.map} +0 -0
  517. /package/dist/cli-bundle/chunks/{history-redact-V4FOJGS7.js.map → history-redact-EPJ7GENL.js.map} +0 -0
  518. /package/dist/cli-bundle/chunks/{history-redact-JBZNXHGR.js.map → history-redact-KASLLPE7.js.map} +0 -0
  519. /package/dist/cli-bundle/chunks/{history-repair-SDMHR7JT.js.map → history-repair-IJ7LLBET.js.map} +0 -0
  520. /package/dist/cli-bundle/chunks/{history-repair-HIBCBIKK.js.map → history-repair-YNESJRT6.js.map} +0 -0
  521. /package/dist/cli-bundle/chunks/{init-HIVSNX3O.js.map → init-IGSS4GNH.js.map} +0 -0
  522. /package/dist/cli-bundle/chunks/{init-P56QYWJF.js.map → init-YHVBTEET.js.map} +0 -0
  523. /package/dist/cli-bundle/chunks/{learnings-GDFRG5J7.js.map → learnings-4YBMIVCZ.js.map} +0 -0
  524. /package/dist/cli-bundle/chunks/{learnings-MIXSESLK.js.map → learnings-T4PF24YN.js.map} +0 -0
  525. /package/dist/cli-bundle/chunks/{list-FGOWQMSM.js.map → list-3KEVBOYW.js.map} +0 -0
  526. /package/dist/cli-bundle/chunks/{list-MUSQNMTD.js.map → list-E44O2K64.js.map} +0 -0
  527. /package/dist/cli-bundle/chunks/{notes-4XVSH2AZ.js.map → notes-FLUCNJSH.js.map} +0 -0
  528. /package/dist/cli-bundle/chunks/{notes-5UK3GEH2.js.map → notes-GJKALVZM.js.map} +0 -0
  529. /package/dist/cli-bundle/chunks/{plan-SLMODHWX.js.map → plan-T5MMZLI3.js.map} +0 -0
  530. /package/dist/cli-bundle/chunks/{plan-DUMBV3QB.js.map → plan-YYMIL3HV.js.map} +0 -0
  531. /package/dist/cli-bundle/chunks/{restore-PBL6T5TW.js.map → restore-DDJGVZIN.js.map} +0 -0
  532. /package/dist/cli-bundle/chunks/{restore-D4RGNX33.js.map → restore-SJSASGZP.js.map} +0 -0
  533. /package/dist/cli-bundle/chunks/{schema-2NOO6NGB.js.map → schema-B7NQ6XVP.js.map} +0 -0
  534. /package/dist/cli-bundle/chunks/{schema-EBI4NLUO.js.map → schema-HEGYH6CE.js.map} +0 -0
  535. /package/dist/cli-bundle/chunks/{stats-CV54BAWY.js.map → stats-7JDIJRDH.js.map} +0 -0
  536. /package/dist/cli-bundle/chunks/{stats-XYB6KTFG.js.map → stats-SYTJRR4Z.js.map} +0 -0
  537. /package/dist/cli-bundle/chunks/{telemetry-LMJ7PFUO.js.map → telemetry-4HHWD5Y7.js.map} +0 -0
  538. /package/dist/cli-bundle/chunks/{telemetry-NCMEPJNR.js.map → telemetry-EGWP7ZUX.js.map} +0 -0
  539. /package/dist/cli-bundle/chunks/{test-WBROAJIE.js.map → test-IIELLSZX.js.map} +0 -0
  540. /package/dist/cli-bundle/chunks/{test-MXX3E5JL.js.map → test-ML5RLWXE.js.map} +0 -0
  541. /package/dist/cli-bundle/chunks/{test-runs-V6A7LPWZ.js.map → test-runs-5FEMBV3A.js.map} +0 -0
  542. /package/dist/cli-bundle/chunks/{test-runs-WMVTQU3Y.js.map → test-runs-RNKZ37PS.js.map} +0 -0
  543. /package/dist/cli-bundle/chunks/{update-YRXSUGYQ.js.map → update-6C67X4KS.js.map} +0 -0
  544. /package/dist/cli-bundle/chunks/{update-OSV3NAQB.js.map → update-VF26YPT3.js.map} +0 -0
  545. /package/dist/cli-bundle/chunks/{update-many-KGGEYABR.js.map → update-many-BSZZZYXY.js.map} +0 -0
  546. /package/dist/cli-bundle/chunks/{update-many-EM6OXYGO.js.map → update-many-BWKJJEBF.js.map} +0 -0
@@ -9,19 +9,19 @@ import {
9
9
  removeItemType,
10
10
  serializeItemTypesFile,
11
11
  upsertItemType
12
- } from "./chunk-6P6GGMOG.js";
12
+ } from "./chunk-2IF7WLB7.js";
13
13
  import {
14
14
  acquireLock,
15
15
  listAllFrontMatterLight
16
- } from "./chunk-GGYWB3Y2.js";
17
- import "./chunk-HZGUAH22.js";
18
- import "./chunk-LB3RUL2N.js";
16
+ } from "./chunk-YBZW2QQ7.js";
17
+ import "./chunk-UT6WFXW2.js";
18
+ import "./chunk-UYQ7HXH4.js";
19
19
  import {
20
20
  resolveItemTypeRegistry
21
- } from "./chunk-2VBQ6ZXS.js";
21
+ } from "./chunk-GUZBNB3G.js";
22
22
  import {
23
23
  nowIso
24
- } from "./chunk-TCD3R2PF.js";
24
+ } from "./chunk-B2KZGPM2.js";
25
25
  import {
26
26
  DEFAULT_RUNTIME_SCHEMA_FILE_PATHS,
27
27
  DEFAULT_RUNTIME_STATUS_DEFINITIONS,
@@ -40,7 +40,7 @@ import {
40
40
  resolveRuntimeStatusRegistry,
41
41
  runActiveOnWriteHooks,
42
42
  writeFileAtomic
43
- } from "./chunk-5SFCOO6B.js";
43
+ } from "./chunk-X4IZKYHP.js";
44
44
 
45
45
  // dist/core/schema/status-defs-file.js
46
46
  var RUNTIME_STATUS_ROLE_SET = new Set(RUNTIME_STATUS_ROLE_VALUES);
@@ -765,6 +765,6 @@ export {
765
765
  runSchemaRemoveType,
766
766
  runSchemaShow
767
767
  };
768
- //# sourceMappingURL=schema-EBI4NLUO.js.map
768
+ //# sourceMappingURL=schema-HEGYH6CE.js.map
769
769
 
770
770
  //# debugId=f2ffb908-84bd-5d5d-85a9-27eb226d4d5d
@@ -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]="b58cad50-da5e-5276-b71a-3499854f773b")}catch(e){}}();
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]="c352201f-1648-5016-8c6e-57fcc69d54de")}catch(e){}}();
3
3
  import {
4
4
  collectStaleVectorizationIds
5
5
  } from "./chunk-IUV734HF.js";
@@ -13,40 +13,42 @@ import {
13
13
  resolveEmbeddingProviders,
14
14
  resolveSettingsWithSemanticRuntimeDefaults,
15
15
  resolveVectorStores
16
- } from "./chunk-4LL6TK5B.js";
16
+ } from "./chunk-4GHZR3BA.js";
17
17
  import {
18
18
  collectRuntimeFilterValues,
19
19
  matchesRuntimeFilters,
20
20
  parseStatusFilterCsv
21
- } from "./chunk-GCOQW437.js";
21
+ } from "./chunk-6J4K6JLA.js";
22
22
  import {
23
23
  parseLimit,
24
24
  parsePriority,
25
25
  parseType
26
- } from "./chunk-3VAM3NNM.js";
26
+ } from "./chunk-FY6Z3FYY.js";
27
27
  import "./chunk-XSLQSXAH.js";
28
28
  import {
29
29
  collectRegisteredItemFieldNames,
30
30
  listAllDocumentCandidatesCached,
31
31
  listAllFrontMatter,
32
32
  toItemRecord
33
- } from "./chunk-GGYWB3Y2.js";
34
- import "./chunk-HZGUAH22.js";
33
+ } from "./chunk-YBZW2QQ7.js";
34
+ import "./chunk-UT6WFXW2.js";
35
35
  import {
36
36
  isTerminalStatus,
37
37
  parseItemDocument
38
- } from "./chunk-LB3RUL2N.js";
38
+ } from "./chunk-UYQ7HXH4.js";
39
39
  import {
40
40
  resolveItemTypeRegistry
41
- } from "./chunk-2VBQ6ZXS.js";
41
+ } from "./chunk-GUZBNB3G.js";
42
42
  import {
43
43
  compareTimestampStrings,
44
44
  nowIso,
45
45
  resolveIsoOrRelative
46
- } from "./chunk-TCD3R2PF.js";
46
+ } from "./chunk-B2KZGPM2.js";
47
47
  import {
48
48
  EXIT_CODE,
49
49
  PmCliError,
50
+ coerceNumberInRange,
51
+ coercePositiveInteger,
50
52
  getActiveExtensionRegistrations,
51
53
  getItemPath,
52
54
  getSettingsPath,
@@ -58,8 +60,9 @@ import {
58
60
  resolveRuntimeFieldRegistry,
59
61
  resolveRuntimeStatusRegistry,
60
62
  runActiveOnReadHooks,
63
+ toNonEmptyString,
61
64
  toNonEmptyStringOrUndefined
62
- } from "./chunk-5SFCOO6B.js";
65
+ } from "./chunk-X4IZKYHP.js";
63
66
 
64
67
  // dist/cli/commands/search.js
65
68
  import fs from "node:fs/promises";
@@ -104,6 +107,205 @@ function tokenizeAlphaNumeric(value) {
104
107
  return normalizeLowercaseWhitespace(value).split(/[^a-z0-9]+/).filter((token) => token.length > 0);
105
108
  }
106
109
 
110
+ // dist/core/search/relevance.js
111
+ var DEFAULT_QUERY_EXPANSION_MAX_QUERIES = 4;
112
+ var DEFAULT_RERANK_TOP_K = 20;
113
+ var MAX_RERANK_TOP_K = 200;
114
+ var QUERY_EXPANSION_STOP_WORDS = /* @__PURE__ */ new Set([
115
+ "a",
116
+ "an",
117
+ "and",
118
+ "for",
119
+ "from",
120
+ "in",
121
+ "into",
122
+ "of",
123
+ "on",
124
+ "or",
125
+ "the",
126
+ "to",
127
+ "with"
128
+ ]);
129
+ function dedupeQueries(values, limit) {
130
+ const deduped = [];
131
+ const seen = /* @__PURE__ */ new Set();
132
+ for (const entry of values) {
133
+ const normalized = entry.trim().replaceAll(/\s+/g, " ");
134
+ if (normalized.length === 0) {
135
+ continue;
136
+ }
137
+ const dedupeKey = normalized.toLowerCase();
138
+ if (seen.has(dedupeKey)) {
139
+ continue;
140
+ }
141
+ seen.add(dedupeKey);
142
+ deduped.push(normalized);
143
+ if (deduped.length >= limit) {
144
+ break;
145
+ }
146
+ }
147
+ return deduped;
148
+ }
149
+ function singularizeSimple(token) {
150
+ const normalizedToken = token.toLowerCase();
151
+ if (normalizedToken.length > 4 && normalizedToken.endsWith("ies")) {
152
+ return `${normalizedToken.slice(0, -3)}y`;
153
+ }
154
+ if (normalizedToken.length > 4 && (normalizedToken.endsWith("ches") || normalizedToken.endsWith("shes") || normalizedToken.endsWith("xes") || normalizedToken.endsWith("zes") || normalizedToken.endsWith("sses"))) {
155
+ return normalizedToken.slice(0, -2);
156
+ }
157
+ if (normalizedToken.length > 3 && normalizedToken.endsWith("s") && !normalizedToken.endsWith("ss") && !normalizedToken.endsWith("us") && !normalizedToken.endsWith("is") && !normalizedToken.endsWith("as")) {
158
+ return normalizedToken.slice(0, -1);
159
+ }
160
+ return normalizedToken;
161
+ }
162
+ function pluralizeSimple(token) {
163
+ const normalizedToken = token.toLowerCase();
164
+ if (normalizedToken.length > 2 && (!normalizedToken.endsWith("s") || normalizedToken.endsWith("ss"))) {
165
+ if (normalizedToken.endsWith("y") && !/[aeiou]y$/u.test(normalizedToken)) {
166
+ return `${normalizedToken.slice(0, -1)}ies`;
167
+ }
168
+ if (normalizedToken.endsWith("ch") || normalizedToken.endsWith("sh") || normalizedToken.endsWith("x") || normalizedToken.endsWith("z") || normalizedToken.endsWith("ss")) {
169
+ return `${normalizedToken}es`;
170
+ }
171
+ return `${normalizedToken}s`;
172
+ }
173
+ return normalizedToken;
174
+ }
175
+ function buildDeterministicQueryExpansions(query, maxQueries = DEFAULT_QUERY_EXPANSION_MAX_QUERIES) {
176
+ const normalizedQuery = query.trim().replaceAll(/\s+/g, " ");
177
+ if (normalizedQuery.length === 0) {
178
+ return [];
179
+ }
180
+ const tokens = tokenizeAlphaNumeric(normalizedQuery);
181
+ if (tokens.length === 0) {
182
+ return [normalizedQuery];
183
+ }
184
+ const contentTokens = tokens.filter((token) => !QUERY_EXPANSION_STOP_WORDS.has(token.toLowerCase()));
185
+ const singularized = tokens.map((token) => singularizeSimple(token));
186
+ const pluralized = contentTokens.map((token) => pluralizeSimple(token));
187
+ return dedupeQueries([
188
+ normalizedQuery,
189
+ tokens.join(" "),
190
+ contentTokens.join(" "),
191
+ singularized.join(" "),
192
+ pluralized.join(" ")
193
+ ], Math.max(1, maxQueries));
194
+ }
195
+ function normalizeQueryExpansionOutput(raw) {
196
+ const rawQueries = Array.isArray(raw) ? raw : raw?.queries;
197
+ if (!Array.isArray(rawQueries)) {
198
+ return [];
199
+ }
200
+ return dedupeQueries(rawQueries.filter((entry) => typeof entry === "string"), DEFAULT_QUERY_EXPANSION_MAX_QUERIES);
201
+ }
202
+ function mergeQueryExpansions(base, extra, maxQueries) {
203
+ return dedupeQueries([...base, ...extra], Math.max(1, maxQueries));
204
+ }
205
+ function resolveQueryExpansionConfig(settings, fallbackProviderName) {
206
+ const search = settings.search;
207
+ const queryExpansion = search?.query_expansion;
208
+ const configuredProvider = toNonEmptyString(queryExpansion?.provider);
209
+ return {
210
+ enabled: queryExpansion?.enabled === true,
211
+ provider: configuredProvider ?? fallbackProviderName,
212
+ max_queries: DEFAULT_QUERY_EXPANSION_MAX_QUERIES
213
+ };
214
+ }
215
+ function resolveRerankConfig(settings, fallbackModel) {
216
+ const search = settings.search;
217
+ const rerank = search?.rerank;
218
+ const configuredModel = toNonEmptyString(rerank?.model);
219
+ const configuredTopK = coercePositiveInteger(rerank?.top_k);
220
+ const normalizedTopK = configuredTopK ?? DEFAULT_RERANK_TOP_K;
221
+ return {
222
+ enabled: rerank?.enabled === true,
223
+ model: configuredModel ?? fallbackModel,
224
+ top_k: Math.min(MAX_RERANK_TOP_K, normalizedTopK)
225
+ };
226
+ }
227
+ function normalizeRerankOutput(raw) {
228
+ const rawHits = Array.isArray(raw) ? raw : raw?.hits;
229
+ if (!Array.isArray(rawHits)) {
230
+ return [];
231
+ }
232
+ const bestById = /* @__PURE__ */ new Map();
233
+ for (const entry of rawHits) {
234
+ if (typeof entry !== "object" || entry === null) {
235
+ continue;
236
+ }
237
+ const id = toNonEmptyString(entry.id);
238
+ const score = entry.score;
239
+ if (!id || typeof score !== "number" || !Number.isFinite(score)) {
240
+ continue;
241
+ }
242
+ const existing = bestById.get(id);
243
+ if (existing === void 0 || score > existing) {
244
+ bestById.set(id, score);
245
+ }
246
+ }
247
+ const normalized = [...bestById.entries()].map(([id, score]) => ({ id, score }));
248
+ normalized.sort((left, right) => {
249
+ if (left.score !== right.score) {
250
+ return right.score - left.score;
251
+ }
252
+ return left.id.localeCompare(right.id);
253
+ });
254
+ return normalized;
255
+ }
256
+ function dotProduct(left, right) {
257
+ const size = left.length;
258
+ let result = 0;
259
+ for (let index = 0; index < size; index += 1) {
260
+ result += left[index] * right[index];
261
+ }
262
+ return result;
263
+ }
264
+ function l2Norm(vector) {
265
+ let sumSquares = 0;
266
+ for (let index = 0; index < vector.length; index += 1) {
267
+ sumSquares += vector[index] * vector[index];
268
+ }
269
+ return Math.sqrt(sumSquares);
270
+ }
271
+ function cosineSimilarityWithKnownLeftNorm(left, right, leftNorm) {
272
+ if (!left || !right || left.length === 0 || right.length === 0 || left.length !== right.length) {
273
+ return 0;
274
+ }
275
+ const numerator = dotProduct(left, right);
276
+ const rightNorm = l2Norm(right);
277
+ const denominator = leftNorm * rightNorm;
278
+ if (!Number.isFinite(numerator) || !Number.isFinite(leftNorm) || !Number.isFinite(rightNorm) || !Number.isFinite(denominator) || denominator === 0) {
279
+ return 0;
280
+ }
281
+ return Math.max(-1, Math.min(1, numerator / denominator));
282
+ }
283
+ async function rerankCandidatesWithEmbeddings(provider, model, query, candidates, timeoutMs) {
284
+ if (candidates.length === 0) {
285
+ return /* @__PURE__ */ new Map();
286
+ }
287
+ const effectiveModel = toNonEmptyString(model) ?? provider.model;
288
+ const rerankProvider = effectiveModel === provider.model ? provider : { ...provider, model: effectiveModel };
289
+ const payload = [query.trim(), ...candidates.map((entry) => entry.text)];
290
+ const vectors = await executeEmbeddingRequest(rerankProvider, payload, timeoutMs ? { timeout_ms: timeoutMs } : {});
291
+ const queryVector = vectors[0];
292
+ if (!queryVector) {
293
+ return /* @__PURE__ */ new Map();
294
+ }
295
+ const queryNorm = l2Norm(queryVector);
296
+ const scoreById = /* @__PURE__ */ new Map();
297
+ for (let index = 0; index < candidates.length; index += 1) {
298
+ const candidate = candidates[index];
299
+ const candidateVector = vectors[index + 1];
300
+ if (!candidateVector) {
301
+ continue;
302
+ }
303
+ const similarity = cosineSimilarityWithKnownLeftNorm(queryVector, candidateVector, queryNorm);
304
+ scoreById.set(candidate.id, Math.max(0, Math.min(1, (similarity + 1) / 2)));
305
+ }
306
+ return scoreById;
307
+ }
308
+
107
309
  // dist/cli/commands/search.js
108
310
  var DEFAULT_COMPACT_SEARCH_FIELDS = [
109
311
  "id",
@@ -253,6 +455,9 @@ function parseTitleExact(raw) {
253
455
  function parsePhraseExact(raw) {
254
456
  return raw === true;
255
457
  }
458
+ function parseSemanticWeightOverride(raw) {
459
+ return coerceNumberInRange(raw, 0, 1) ?? void 0;
460
+ }
256
461
  function normalizeSearchPhrase(value) {
257
462
  return value.toLowerCase().replace(/\s+/g, " ").trim();
258
463
  }
@@ -654,7 +859,7 @@ function resolveSearchTuning(settings) {
654
859
  linked_content_weight: resolveWeight(tuning.linked_content_weight, defaults.linked_content_weight)
655
860
  };
656
861
  }
657
- function emptySearchResult(query, mode, options, includeLinked, scoreThreshold, hybridSemanticWeight, projection, warnings) {
862
+ function emptySearchResult(query, mode, options, includeLinked, scoreThreshold, hybridSemanticWeight, queryExpansion, rerank, projection, warnings) {
658
863
  const projectionFields = projection.mode === "full" ? null : [...projection.fields];
659
864
  return {
660
865
  query: query.trim(),
@@ -674,6 +879,11 @@ function emptySearchResult(query, mode, options, includeLinked, scoreThreshold,
674
879
  phrase_exact: options.phraseExact === true,
675
880
  score_threshold: scoreThreshold,
676
881
  hybrid_semantic_weight: mode === "hybrid" ? hybridSemanticWeight : null,
882
+ query_expansion_enabled: queryExpansion.enabled,
883
+ query_expansion_provider: queryExpansion.provider,
884
+ rerank_enabled: rerank.enabled,
885
+ rerank_model: rerank.model,
886
+ rerank_top_k: rerank.top_k,
677
887
  limit: options.limit ?? null
678
888
  },
679
889
  projection: {
@@ -697,25 +907,40 @@ function requireSemanticDependencies(requestedMode, providerResolution, vectorRe
697
907
  };
698
908
  }
699
909
  var toOptionalNonEmptyString = toNonEmptyStringOrUndefined;
700
- function resolveExtensionSearchProvider(settings) {
910
+ function resolveExtensionSearchProviderByName(providerName) {
701
911
  const registrations = getActiveExtensionRegistrations();
702
- const providerName = toOptionalNonEmptyString(settings.search?.provider);
703
912
  const resolved = resolveRegisteredSearchProvider(registrations, providerName);
704
913
  if (!resolved) {
705
914
  return null;
706
915
  }
707
916
  const runtimeDefinition = resolved.runtime_definition ?? resolved.definition;
708
917
  const query = runtimeDefinition.query;
709
- if (typeof query !== "function") {
710
- return null;
711
- }
918
+ const queryExpansion = runtimeDefinition.queryExpansion ?? runtimeDefinition.query_expansion;
919
+ const rerank = runtimeDefinition.rerank;
712
920
  const registeredName = toOptionalNonEmptyString(runtimeDefinition.name) ?? toOptionalNonEmptyString(resolved.definition.name) ?? providerName;
713
921
  if (!registeredName) {
714
922
  return null;
715
923
  }
716
- return {
924
+ const hooks = {
717
925
  providerName: registeredName,
718
- query
926
+ ...typeof query === "function" ? { query } : {},
927
+ ...typeof queryExpansion === "function" ? { queryExpansion } : {},
928
+ ...typeof rerank === "function" ? { rerank } : {}
929
+ };
930
+ if (!hooks.query && !hooks.queryExpansion && !hooks.rerank) {
931
+ return null;
932
+ }
933
+ return hooks;
934
+ }
935
+ function resolveExtensionSearchProvider(settings) {
936
+ const providerName = toOptionalNonEmptyString(settings.search?.provider);
937
+ const resolved = resolveExtensionSearchProviderByName(providerName);
938
+ if (!resolved?.query) {
939
+ return null;
940
+ }
941
+ return {
942
+ providerName: resolved.providerName,
943
+ query: resolved.query
719
944
  };
720
945
  }
721
946
  function resolveExtensionVectorAdapter(settings) {
@@ -817,39 +1042,172 @@ function combineHybridHits(filteredById, semanticScores, keywordHits, hybridSema
817
1042
  };
818
1043
  }).filter((entry) => entry !== null);
819
1044
  }
1045
+ function mergeVectorHitsById(vectorHitGroups) {
1046
+ const bestById = /* @__PURE__ */ new Map();
1047
+ for (const group of vectorHitGroups) {
1048
+ for (const hit of group) {
1049
+ const existing = bestById.get(hit.id);
1050
+ if (!existing || hit.score > existing.score) {
1051
+ bestById.set(hit.id, hit);
1052
+ }
1053
+ }
1054
+ }
1055
+ const merged = [...bestById.values()];
1056
+ merged.sort((left, right) => {
1057
+ if (left.score !== right.score) {
1058
+ return right.score - left.score;
1059
+ }
1060
+ return left.id.localeCompare(right.id);
1061
+ });
1062
+ return merged;
1063
+ }
1064
+ function buildRerankCorpus(document) {
1065
+ const metadata = document.metadata;
1066
+ const tags = Array.isArray(metadata?.tags) ? metadata.tags.join(" ") : "";
1067
+ return [
1068
+ metadata?.title,
1069
+ metadata?.description,
1070
+ metadata?.type,
1071
+ metadata?.status,
1072
+ tags,
1073
+ document.body
1074
+ ].map((entry) => typeof entry === "string" ? entry.trim() : "").filter((entry) => entry.length > 0).join("\n");
1075
+ }
820
1076
  async function computeSemanticOrHybridHits(context) {
821
1077
  const semanticLimit = context.limit ?? context.maxResults;
822
1078
  const embeddingOptions = context.embeddingTimeoutMs !== void 0 ? { timeout_ms: context.embeddingTimeoutMs } : {};
823
1079
  const vectorQueryOptions = context.vectorQueryTimeoutMs !== void 0 ? { timeout_ms: context.vectorQueryTimeoutMs } : {};
824
- const queryVectors = await executeEmbeddingRequest(context.provider, context.query.trim(), embeddingOptions);
825
- const semanticVector = queryVectors[0];
826
- let vectorHits;
827
- if (context.extensionVectorAdapter?.query) {
828
- try {
829
- vectorHits = await Promise.resolve(context.extensionVectorAdapter.query({
830
- vector: semanticVector,
831
- limit: semanticLimit,
832
- settings: context.settings
833
- }));
834
- } catch (error) {
835
- if (!context.vectorStore) {
836
- throw new PmCliError(`Extension vector adapter query failed and no built-in fallback store is configured (${error instanceof Error ? error.message : String(error)})`, EXIT_CODE.GENERIC_FAILURE);
1080
+ const queryTrimmed = context.query.trim();
1081
+ const baseExpandedQueries = context.queryExpansion.enabled ? buildDeterministicQueryExpansions(queryTrimmed, context.queryExpansion.max_queries) : [queryTrimmed];
1082
+ let expandedQueries = baseExpandedQueries.length > 0 ? baseExpandedQueries : [queryTrimmed];
1083
+ if (context.queryExpansion.enabled) {
1084
+ if (context.queryExpansionExtension?.expand) {
1085
+ try {
1086
+ const rawExpansion = await Promise.resolve(context.queryExpansionExtension.expand({
1087
+ query: queryTrimmed,
1088
+ mode: context.requestedMode,
1089
+ settings: context.settings
1090
+ }));
1091
+ const extensionExpansion = normalizeQueryExpansionOutput(rawExpansion);
1092
+ expandedQueries = mergeQueryExpansions(expandedQueries, extensionExpansion, context.queryExpansion.max_queries);
1093
+ } catch {
1094
+ context.warnings.push(`search_query_expansion_provider_failed:${context.queryExpansionExtension.providerName}:using_builtin`);
837
1095
  }
838
- vectorHits = await executeVectorQuery(context.vectorStore, semanticVector, semanticLimit, vectorQueryOptions);
1096
+ } else if (context.queryExpansion.provider && context.queryExpansion.provider !== "openai" && context.queryExpansion.provider !== "ollama") {
1097
+ context.warnings.push(`search_query_expansion_provider_unavailable:${context.queryExpansion.provider}:using_builtin`);
839
1098
  }
840
- } else if (context.vectorStore) {
841
- vectorHits = await executeVectorQuery(context.vectorStore, semanticVector, semanticLimit, vectorQueryOptions);
842
- } else {
843
- throw new PmCliError("Semantic search requires either a configured vector store or an extension vector adapter query handler", EXIT_CODE.USAGE);
844
1099
  }
1100
+ const queryVectors = await executeEmbeddingRequest(context.provider, expandedQueries, embeddingOptions);
1101
+ const executeVectorQueryWithFallback = async (semanticVector) => {
1102
+ if (context.extensionVectorAdapter?.query) {
1103
+ try {
1104
+ return await Promise.resolve(context.extensionVectorAdapter.query({
1105
+ vector: semanticVector,
1106
+ limit: semanticLimit,
1107
+ settings: context.settings
1108
+ }));
1109
+ } catch (error) {
1110
+ if (!context.vectorStore) {
1111
+ throw new PmCliError(`Extension vector adapter query failed and no built-in fallback store is configured (${error instanceof Error ? error.message : String(error)})`, EXIT_CODE.GENERIC_FAILURE);
1112
+ }
1113
+ return await executeVectorQuery(context.vectorStore, semanticVector, semanticLimit, vectorQueryOptions);
1114
+ }
1115
+ }
1116
+ if (context.vectorStore) {
1117
+ return await executeVectorQuery(context.vectorStore, semanticVector, semanticLimit, vectorQueryOptions);
1118
+ }
1119
+ throw new PmCliError("Semantic search requires either a configured vector store or an extension vector adapter query handler", EXIT_CODE.USAGE);
1120
+ };
1121
+ const queryVectorGroups = await Promise.all(queryVectors.map(async (semanticVector) => await executeVectorQueryWithFallback(semanticVector)));
1122
+ const vectorHits = mergeVectorHitsById(queryVectorGroups);
845
1123
  const filteredById = new Map(context.filteredDocuments.map((document) => [document.metadata.id, document]));
846
1124
  const { semanticHits, semanticScores } = buildSemanticHits(vectorHits, filteredById);
847
1125
  const vectorMatchCount = semanticScores.size;
848
1126
  if (context.requestedMode === "semantic") {
849
1127
  return { hits: semanticHits, vectorMatchCount };
850
1128
  }
1129
+ let hybridHits = combineHybridHits(filteredById, semanticScores, context.keywordHits, context.hybridSemanticWeight);
1130
+ if (context.rerank.enabled && hybridHits.length > 1) {
1131
+ const sortedForCandidates = [...hybridHits].sort((left, right) => {
1132
+ if (left.score !== right.score) {
1133
+ return right.score - left.score;
1134
+ }
1135
+ return left.item.id.localeCompare(right.item.id);
1136
+ });
1137
+ const candidateHits = sortedForCandidates.slice(0, context.rerank.top_k);
1138
+ const candidateContexts = candidateHits.map((hit) => {
1139
+ const document = filteredById.get(hit.item.id);
1140
+ if (!document) {
1141
+ return null;
1142
+ }
1143
+ return { hit, text: buildRerankCorpus(document) };
1144
+ }).filter((entry) => entry !== null);
1145
+ const rerankCandidates = candidateContexts.map((entry) => ({
1146
+ id: entry.hit.item.id,
1147
+ text: entry.text
1148
+ }));
1149
+ let rerankScores = null;
1150
+ if (context.rerankExtension?.rerank) {
1151
+ try {
1152
+ const rawRerank = await Promise.resolve(context.rerankExtension.rerank({
1153
+ query: queryTrimmed,
1154
+ mode: "hybrid",
1155
+ model: context.rerank.model,
1156
+ top_k: context.rerank.top_k,
1157
+ settings: context.settings,
1158
+ candidates: candidateContexts.map((entry) => ({
1159
+ id: entry.hit.item.id,
1160
+ text: entry.text,
1161
+ score: entry.hit.score
1162
+ }))
1163
+ }));
1164
+ const normalizedRerank = normalizeRerankOutput(rawRerank);
1165
+ if (normalizedRerank.length > 0) {
1166
+ rerankScores = new Map(normalizedRerank.map((entry) => [entry.id, entry.score]));
1167
+ } else {
1168
+ context.warnings.push(`search_rerank_provider_invalid_response:${context.rerankExtension.providerName}:using_builtin`);
1169
+ }
1170
+ } catch {
1171
+ context.warnings.push(`search_rerank_provider_failed:${context.rerankExtension.providerName}:using_builtin`);
1172
+ }
1173
+ }
1174
+ if (!rerankScores) {
1175
+ try {
1176
+ rerankScores = await rerankCandidatesWithEmbeddings(context.provider, context.rerank.model, queryTrimmed, rerankCandidates, context.embeddingTimeoutMs);
1177
+ } catch {
1178
+ context.warnings.push("search_rerank_failed:using_hybrid_scores");
1179
+ }
1180
+ }
1181
+ if (rerankScores && rerankScores.size > 0) {
1182
+ const rerankedIds = new Set(rerankScores.keys());
1183
+ hybridHits = hybridHits.map((hit) => {
1184
+ const rerankScore = rerankScores.get(hit.item.id);
1185
+ if (rerankScore === void 0) {
1186
+ return hit;
1187
+ }
1188
+ const matchedFields = new Set(hit.matched_fields);
1189
+ matchedFields.add("rerank");
1190
+ return {
1191
+ ...hit,
1192
+ score: rerankScore,
1193
+ matched_fields: [...matchedFields].sort((left, right) => left.localeCompare(right))
1194
+ };
1195
+ });
1196
+ hybridHits.sort((left, right) => {
1197
+ const leftWasReranked = rerankedIds.has(left.item.id);
1198
+ const rightWasReranked = rerankedIds.has(right.item.id);
1199
+ if (leftWasReranked !== rightWasReranked) {
1200
+ return leftWasReranked ? -1 : 1;
1201
+ }
1202
+ if (left.score !== right.score) {
1203
+ return right.score - left.score;
1204
+ }
1205
+ return left.item.id.localeCompare(right.item.id);
1206
+ });
1207
+ }
1208
+ }
851
1209
  return {
852
- hits: combineHybridHits(filteredById, semanticScores, context.keywordHits, context.hybridSemanticWeight),
1210
+ hits: hybridHits,
853
1211
  vectorMatchCount
854
1212
  };
855
1213
  }
@@ -979,18 +1337,29 @@ async function runSearch(query, options, global) {
979
1337
  const typeRegistry = resolveItemTypeRegistry(settings, getActiveExtensionRegistrations());
980
1338
  const maxResults = resolveSearchMaxResults(settings);
981
1339
  const scoreThreshold = resolveSearchScoreThreshold(settings);
982
- const hybridSemanticWeight = resolveHybridSemanticWeight(settings);
1340
+ const semanticWeightProvided = options.semanticWeight !== void 0;
1341
+ const semanticWeightOverride = parseSemanticWeightOverride(options.semanticWeight);
1342
+ const hybridSemanticWeight = semanticWeightOverride ?? resolveHybridSemanticWeight(settings);
983
1343
  const tuning = resolveSearchTuning(settings);
984
1344
  const providerResolution = resolveEmbeddingProviders(settings);
985
1345
  const vectorResolution = resolveVectorStores(settings);
986
1346
  const extensionSearchProvider = resolveExtensionSearchProvider(settings);
987
1347
  const extensionVectorAdapter = resolveExtensionVectorAdapter(settings);
1348
+ const queryExpansion = resolveQueryExpansionConfig(settings, providerResolution.active?.name ?? null);
1349
+ const rerank = resolveRerankConfig(settings, providerResolution.active?.model ?? toOptionalNonEmptyString(settings.search?.embedding_model) ?? "text-embedding-3-small");
1350
+ const queryExpansionProvider = resolveExtensionSearchProviderByName(queryExpansion.provider ?? void 0);
1351
+ const queryExpansionExtension = queryExpansionProvider?.queryExpansion ? { providerName: queryExpansionProvider.providerName, expand: queryExpansionProvider.queryExpansion } : null;
1352
+ const rerankProvider = resolveExtensionSearchProviderByName(toOptionalNonEmptyString(settings.search?.provider));
1353
+ const rerankExtension = rerankProvider?.rerank ? { providerName: rerankProvider.providerName, rerank: rerankProvider.rerank } : null;
988
1354
  let effectiveMode = parseMode(options.mode, {
989
1355
  hasProvider: providerResolution.active !== null || extensionSearchProvider !== null,
990
1356
  hasVectorStore: vectorResolution.active !== null || extensionVectorAdapter !== null
991
1357
  });
992
1358
  const loadedDocuments = await loadDocuments(pmRoot, settings.item_format ?? "toon", typeRegistry.type_to_folder, settings.schema);
993
1359
  const warnings = loadedDocuments.warnings;
1360
+ if (effectiveMode === "hybrid" && semanticWeightProvided && semanticWeightOverride === void 0) {
1361
+ warnings.push("search_hybrid_semantic_weight_override_invalid:using_settings_default");
1362
+ }
994
1363
  const allDocuments = loadedDocuments.documents;
995
1364
  const metadataFilteredDocuments = applyFilters(allDocuments, options, typeRegistry, runtimeFieldFilters, statusFilter);
996
1365
  const filteredDocuments = applyExactQueryFilters(metadataFilteredDocuments, normalizedQuery, {
@@ -998,7 +1367,7 @@ async function runSearch(query, options, global) {
998
1367
  phraseExact
999
1368
  });
1000
1369
  if (effectiveMode === "keyword" && (filteredDocuments.length === 0 || limit === 0)) {
1001
- return emptySearchResult(query, effectiveMode, options, includeLinked, scoreThreshold, hybridSemanticWeight, projection, warnings);
1370
+ return emptySearchResult(query, effectiveMode, options, includeLinked, scoreThreshold, hybridSemanticWeight, queryExpansion, rerank, projection, warnings);
1002
1371
  }
1003
1372
  const projectRoot = process.cwd();
1004
1373
  const globalRoot = resolveGlobalPmRoot(projectRoot);
@@ -1022,7 +1391,7 @@ async function runSearch(query, options, global) {
1022
1391
  requireSemanticDependencies(effectiveMode, providerResolution, vectorResolution, extensionVectorAdapter !== null);
1023
1392
  }
1024
1393
  if (filteredDocuments.length === 0 || limit === 0) {
1025
- return emptySearchResult(query, effectiveMode, options, includeLinked, scoreThreshold, hybridSemanticWeight, projection, warnings);
1394
+ return emptySearchResult(query, effectiveMode, options, includeLinked, scoreThreshold, hybridSemanticWeight, queryExpansion, rerank, projection, warnings);
1026
1395
  }
1027
1396
  const filteredById = new Map(filteredDocuments.map((document) => [document.metadata.id, document]));
1028
1397
  const canUseBuiltInSemantic = providerResolution.active !== null && (vectorResolution.active !== null || extensionVectorAdapter !== null);
@@ -1057,6 +1426,11 @@ async function runSearch(query, options, global) {
1057
1426
  provider,
1058
1427
  vectorStore,
1059
1428
  extensionVectorAdapter,
1429
+ queryExpansion,
1430
+ queryExpansionExtension,
1431
+ rerank,
1432
+ rerankExtension,
1433
+ warnings,
1060
1434
  settings,
1061
1435
  ...implicitHybridMode ? {
1062
1436
  embeddingTimeoutMs: IMPLICIT_HYBRID_EMBEDDING_TIMEOUT_MS,
@@ -1102,6 +1476,11 @@ async function runSearch(query, options, global) {
1102
1476
  phrase_exact: phraseExact,
1103
1477
  score_threshold: scoreThreshold,
1104
1478
  hybrid_semantic_weight: effectiveMode === "hybrid" ? hybridSemanticWeight : null,
1479
+ query_expansion_enabled: queryExpansion.enabled,
1480
+ query_expansion_provider: queryExpansion.provider,
1481
+ rerank_enabled: rerank.enabled,
1482
+ rerank_model: rerank.model,
1483
+ rerank_top_k: rerank.top_k,
1105
1484
  limit: options.limit ?? null,
1106
1485
  runtime_filters: runtimeFieldFilters
1107
1486
  },
@@ -1122,6 +1501,6 @@ export {
1122
1501
  resolveSearchTuning,
1123
1502
  runSearch
1124
1503
  };
1125
- //# sourceMappingURL=search-JPUQTVCY.js.map
1504
+ //# sourceMappingURL=search-DVVQ4UO2.js.map
1126
1505
 
1127
- //# debugId=b58cad50-da5e-5276-b71a-3499854f773b
1506
+ //# debugId=c352201f-1648-5016-8c6e-57fcc69d54de