mongodb-mcp-server 1.1.0-prerelease.1 → 1.2.0

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 (312) hide show
  1. package/README.md +8 -0
  2. package/dist/cjs/common/atlas/cluster.d.ts +7 -2
  3. package/dist/cjs/common/atlas/cluster.d.ts.map +1 -1
  4. package/dist/cjs/common/atlas/cluster.js +18 -4
  5. package/dist/cjs/common/atlas/cluster.js.map +1 -1
  6. package/dist/cjs/common/atlas/performanceAdvisorUtils.d.ts +2 -0
  7. package/dist/cjs/common/atlas/performanceAdvisorUtils.d.ts.map +1 -1
  8. package/dist/cjs/common/atlas/performanceAdvisorUtils.js +3 -1
  9. package/dist/cjs/common/atlas/performanceAdvisorUtils.js.map +1 -1
  10. package/dist/cjs/common/atlasLocal.d.ts +4 -0
  11. package/dist/cjs/common/atlasLocal.d.ts.map +1 -0
  12. package/dist/cjs/common/atlasLocal.js +57 -0
  13. package/dist/cjs/common/atlasLocal.js.map +1 -0
  14. package/dist/cjs/common/config.d.ts +86 -15
  15. package/dist/cjs/common/config.d.ts.map +1 -1
  16. package/dist/cjs/common/config.js +156 -10
  17. package/dist/cjs/common/config.js.map +1 -1
  18. package/dist/cjs/common/connectionErrorHandler.d.ts.map +1 -1
  19. package/dist/cjs/common/connectionErrorHandler.js +14 -5
  20. package/dist/cjs/common/connectionErrorHandler.js.map +1 -1
  21. package/dist/cjs/common/connectionManager.d.ts +7 -2
  22. package/dist/cjs/common/connectionManager.d.ts.map +1 -1
  23. package/dist/cjs/common/connectionManager.js +29 -12
  24. package/dist/cjs/common/connectionManager.js.map +1 -1
  25. package/dist/cjs/common/errors.d.ts +5 -1
  26. package/dist/cjs/common/errors.d.ts.map +1 -1
  27. package/dist/cjs/common/errors.js +4 -0
  28. package/dist/cjs/common/errors.js.map +1 -1
  29. package/dist/cjs/common/packageInfo.js +1 -1
  30. package/dist/cjs/common/packageInfo.js.map +1 -1
  31. package/dist/cjs/common/search/embeddingsProvider.d.ts +41 -0
  32. package/dist/cjs/common/search/embeddingsProvider.d.ts.map +1 -0
  33. package/dist/cjs/common/search/embeddingsProvider.js +53 -0
  34. package/dist/cjs/common/search/embeddingsProvider.js.map +1 -0
  35. package/dist/cjs/common/search/vectorSearchEmbeddingsManager.d.ts +58 -0
  36. package/dist/cjs/common/search/vectorSearchEmbeddingsManager.d.ts.map +1 -0
  37. package/dist/cjs/common/search/vectorSearchEmbeddingsManager.js +200 -0
  38. package/dist/cjs/common/search/vectorSearchEmbeddingsManager.js.map +1 -0
  39. package/dist/cjs/common/session.d.ts +9 -1
  40. package/dist/cjs/common/session.d.ts.map +1 -1
  41. package/dist/cjs/common/session.js +16 -1
  42. package/dist/cjs/common/session.js.map +1 -1
  43. package/dist/cjs/resources/common/debug.d.ts +1 -1
  44. package/dist/cjs/resources/common/debug.d.ts.map +1 -1
  45. package/dist/cjs/resources/common/debug.js +5 -3
  46. package/dist/cjs/resources/common/debug.js.map +1 -1
  47. package/dist/cjs/resources/resource.d.ts +1 -1
  48. package/dist/cjs/resources/resource.d.ts.map +1 -1
  49. package/dist/cjs/resources/resource.js +2 -2
  50. package/dist/cjs/resources/resource.js.map +1 -1
  51. package/dist/cjs/server.d.ts +2 -1
  52. package/dist/cjs/server.d.ts.map +1 -1
  53. package/dist/cjs/server.js +6 -2
  54. package/dist/cjs/server.js.map +1 -1
  55. package/dist/cjs/telemetry/types.d.ts +1 -0
  56. package/dist/cjs/telemetry/types.d.ts.map +1 -1
  57. package/dist/cjs/tools/args.d.ts +1 -0
  58. package/dist/cjs/tools/args.d.ts.map +1 -1
  59. package/dist/cjs/tools/args.js +1 -0
  60. package/dist/cjs/tools/args.js.map +1 -1
  61. package/dist/cjs/tools/atlas/atlasTool.d.ts +1 -1
  62. package/dist/cjs/tools/atlas/atlasTool.d.ts.map +1 -1
  63. package/dist/cjs/tools/atlas/atlasTool.js +1 -1
  64. package/dist/cjs/tools/atlas/atlasTool.js.map +1 -1
  65. package/dist/cjs/tools/atlas/connect/connectCluster.d.ts +3 -1
  66. package/dist/cjs/tools/atlas/connect/connectCluster.d.ts.map +1 -1
  67. package/dist/cjs/tools/atlas/connect/connectCluster.js +11 -6
  68. package/dist/cjs/tools/atlas/connect/connectCluster.js.map +1 -1
  69. package/dist/cjs/tools/atlas/create/createProject.d.ts +0 -4
  70. package/dist/cjs/tools/atlas/create/createProject.d.ts.map +1 -1
  71. package/dist/cjs/tools/atlas/create/createProject.js +3 -6
  72. package/dist/cjs/tools/atlas/create/createProject.js.map +1 -1
  73. package/dist/cjs/tools/atlas/read/getPerformanceAdvisor.d.ts.map +1 -1
  74. package/dist/cjs/tools/atlas/read/getPerformanceAdvisor.js +2 -2
  75. package/dist/cjs/tools/atlas/read/getPerformanceAdvisor.js.map +1 -1
  76. package/dist/cjs/tools/atlas/read/inspectCluster.js +1 -1
  77. package/dist/cjs/tools/atlas/read/inspectCluster.js.map +1 -1
  78. package/dist/cjs/tools/atlas/read/listClusters.js +1 -1
  79. package/dist/cjs/tools/atlas/read/listClusters.js.map +1 -1
  80. package/dist/cjs/tools/atlas/read/listProjects.d.ts +0 -3
  81. package/dist/cjs/tools/atlas/read/listProjects.d.ts.map +1 -1
  82. package/dist/cjs/tools/atlas/read/listProjects.js +15 -20
  83. package/dist/cjs/tools/atlas/read/listProjects.js.map +1 -1
  84. package/dist/cjs/tools/atlasLocal/atlasLocalTool.d.ts +19 -0
  85. package/dist/cjs/tools/atlasLocal/atlasLocalTool.d.ts.map +1 -0
  86. package/dist/cjs/tools/atlasLocal/atlasLocalTool.js +109 -0
  87. package/dist/cjs/tools/atlasLocal/atlasLocalTool.js.map +1 -0
  88. package/dist/cjs/tools/atlasLocal/connect/connectDeployment.d.ts +14 -0
  89. package/dist/cjs/tools/atlasLocal/connect/connectDeployment.d.ts.map +1 -0
  90. package/dist/cjs/tools/atlasLocal/connect/connectDeployment.js +35 -0
  91. package/dist/cjs/tools/atlasLocal/connect/connectDeployment.js.map +1 -0
  92. package/dist/cjs/tools/atlasLocal/create/createDeployment.d.ts +14 -0
  93. package/dist/cjs/tools/atlasLocal/create/createDeployment.d.ts.map +1 -0
  94. package/dist/cjs/tools/atlasLocal/create/createDeployment.js +41 -0
  95. package/dist/cjs/tools/atlasLocal/create/createDeployment.js.map +1 -0
  96. package/dist/cjs/tools/atlasLocal/delete/deleteDeployment.d.ts +14 -0
  97. package/dist/cjs/tools/atlasLocal/delete/deleteDeployment.d.ts.map +1 -0
  98. package/dist/cjs/tools/atlasLocal/delete/deleteDeployment.js +32 -0
  99. package/dist/cjs/tools/atlasLocal/delete/deleteDeployment.js.map +1 -0
  100. package/dist/cjs/tools/atlasLocal/read/listDeployments.d.ts +13 -0
  101. package/dist/cjs/tools/atlasLocal/read/listDeployments.d.ts.map +1 -0
  102. package/dist/cjs/tools/atlasLocal/read/listDeployments.js +42 -0
  103. package/dist/cjs/tools/atlasLocal/read/listDeployments.js.map +1 -0
  104. package/dist/cjs/tools/atlasLocal/tools.d.ts +6 -0
  105. package/dist/cjs/tools/atlasLocal/tools.d.ts.map +1 -0
  106. package/dist/cjs/tools/atlasLocal/tools.js +9 -0
  107. package/dist/cjs/tools/atlasLocal/tools.js.map +1 -0
  108. package/dist/cjs/tools/mongodb/create/createIndex.d.ts +121 -3
  109. package/dist/cjs/tools/mongodb/create/createIndex.d.ts.map +1 -1
  110. package/dist/cjs/tools/mongodb/create/createIndex.js +87 -9
  111. package/dist/cjs/tools/mongodb/create/createIndex.js.map +1 -1
  112. package/dist/cjs/tools/mongodb/create/insertMany.d.ts +1 -1
  113. package/dist/cjs/tools/mongodb/create/insertMany.d.ts.map +1 -1
  114. package/dist/cjs/tools/mongodb/create/insertMany.js +14 -10
  115. package/dist/cjs/tools/mongodb/create/insertMany.js.map +1 -1
  116. package/dist/cjs/tools/mongodb/delete/dropIndex.d.ts +20 -0
  117. package/dist/cjs/tools/mongodb/delete/dropIndex.d.ts.map +1 -0
  118. package/dist/cjs/tools/mongodb/delete/dropIndex.js +75 -0
  119. package/dist/cjs/tools/mongodb/delete/dropIndex.js.map +1 -0
  120. package/dist/cjs/tools/mongodb/metadata/collectionIndexes.d.ts +15 -0
  121. package/dist/cjs/tools/mongodb/metadata/collectionIndexes.d.ts.map +1 -1
  122. package/dist/cjs/tools/mongodb/metadata/collectionIndexes.js +30 -5
  123. package/dist/cjs/tools/mongodb/metadata/collectionIndexes.js.map +1 -1
  124. package/dist/cjs/tools/mongodb/metadata/explain.d.ts +191 -9
  125. package/dist/cjs/tools/mongodb/metadata/explain.d.ts.map +1 -1
  126. package/dist/cjs/tools/mongodb/metadata/listDatabases.d.ts.map +1 -1
  127. package/dist/cjs/tools/mongodb/metadata/listDatabases.js +1 -3
  128. package/dist/cjs/tools/mongodb/metadata/listDatabases.js.map +1 -1
  129. package/dist/cjs/tools/mongodb/mongodbTool.d.ts +3 -2
  130. package/dist/cjs/tools/mongodb/mongodbTool.d.ts.map +1 -1
  131. package/dist/cjs/tools/mongodb/mongodbTool.js +19 -0
  132. package/dist/cjs/tools/mongodb/mongodbTool.js.map +1 -1
  133. package/dist/cjs/tools/mongodb/read/aggregate.d.ts +215 -2
  134. package/dist/cjs/tools/mongodb/read/aggregate.d.ts.map +1 -1
  135. package/dist/cjs/tools/mongodb/read/aggregate.js +82 -8
  136. package/dist/cjs/tools/mongodb/read/aggregate.js.map +1 -1
  137. package/dist/cjs/tools/mongodb/read/export.d.ts +191 -9
  138. package/dist/cjs/tools/mongodb/read/export.d.ts.map +1 -1
  139. package/dist/cjs/tools/mongodb/read/find.js +1 -1
  140. package/dist/cjs/tools/mongodb/read/find.js.map +1 -1
  141. package/dist/cjs/tools/mongodb/tools.d.ts +2 -2
  142. package/dist/cjs/tools/mongodb/tools.d.ts.map +1 -1
  143. package/dist/cjs/tools/mongodb/tools.js +2 -2
  144. package/dist/cjs/tools/mongodb/tools.js.map +1 -1
  145. package/dist/cjs/tools/tool.d.ts +9 -4
  146. package/dist/cjs/tools/tool.d.ts.map +1 -1
  147. package/dist/cjs/tools/tool.js +17 -5
  148. package/dist/cjs/tools/tool.js.map +1 -1
  149. package/dist/cjs/transports/base.d.ts +4 -1
  150. package/dist/cjs/transports/base.d.ts.map +1 -1
  151. package/dist/cjs/transports/base.js +6 -1
  152. package/dist/cjs/transports/base.js.map +1 -1
  153. package/dist/esm/common/atlas/cluster.d.ts +7 -2
  154. package/dist/esm/common/atlas/cluster.d.ts.map +1 -1
  155. package/dist/esm/common/atlas/cluster.js +17 -4
  156. package/dist/esm/common/atlas/cluster.js.map +1 -1
  157. package/dist/esm/common/atlas/performanceAdvisorUtils.d.ts +2 -0
  158. package/dist/esm/common/atlas/performanceAdvisorUtils.d.ts.map +1 -1
  159. package/dist/esm/common/atlas/performanceAdvisorUtils.js +2 -0
  160. package/dist/esm/common/atlas/performanceAdvisorUtils.js.map +1 -1
  161. package/dist/esm/common/atlasLocal.d.ts +4 -0
  162. package/dist/esm/common/atlasLocal.d.ts.map +1 -0
  163. package/dist/esm/common/atlasLocal.js +20 -0
  164. package/dist/esm/common/atlasLocal.js.map +1 -0
  165. package/dist/esm/common/config.d.ts +86 -15
  166. package/dist/esm/common/config.d.ts.map +1 -1
  167. package/dist/esm/common/config.js +115 -2
  168. package/dist/esm/common/config.js.map +1 -1
  169. package/dist/esm/common/connectionErrorHandler.d.ts.map +1 -1
  170. package/dist/esm/common/connectionErrorHandler.js +14 -5
  171. package/dist/esm/common/connectionErrorHandler.js.map +1 -1
  172. package/dist/esm/common/connectionManager.d.ts +7 -2
  173. package/dist/esm/common/connectionManager.d.ts.map +1 -1
  174. package/dist/esm/common/connectionManager.js +27 -11
  175. package/dist/esm/common/connectionManager.js.map +1 -1
  176. package/dist/esm/common/errors.d.ts +5 -1
  177. package/dist/esm/common/errors.d.ts.map +1 -1
  178. package/dist/esm/common/errors.js +4 -0
  179. package/dist/esm/common/errors.js.map +1 -1
  180. package/dist/esm/common/packageInfo.js +1 -1
  181. package/dist/esm/common/packageInfo.js.map +1 -1
  182. package/dist/esm/common/search/embeddingsProvider.d.ts +41 -0
  183. package/dist/esm/common/search/embeddingsProvider.d.ts.map +1 -0
  184. package/dist/esm/common/search/embeddingsProvider.js +46 -0
  185. package/dist/esm/common/search/embeddingsProvider.js.map +1 -0
  186. package/dist/esm/common/search/vectorSearchEmbeddingsManager.d.ts +58 -0
  187. package/dist/esm/common/search/vectorSearchEmbeddingsManager.d.ts.map +1 -0
  188. package/dist/esm/common/search/vectorSearchEmbeddingsManager.js +193 -0
  189. package/dist/esm/common/search/vectorSearchEmbeddingsManager.js.map +1 -0
  190. package/dist/esm/common/session.d.ts +9 -1
  191. package/dist/esm/common/session.d.ts.map +1 -1
  192. package/dist/esm/common/session.js +16 -1
  193. package/dist/esm/common/session.js.map +1 -1
  194. package/dist/esm/resources/common/debug.d.ts +1 -1
  195. package/dist/esm/resources/common/debug.d.ts.map +1 -1
  196. package/dist/esm/resources/common/debug.js +5 -3
  197. package/dist/esm/resources/common/debug.js.map +1 -1
  198. package/dist/esm/resources/resource.d.ts +1 -1
  199. package/dist/esm/resources/resource.d.ts.map +1 -1
  200. package/dist/esm/resources/resource.js +2 -2
  201. package/dist/esm/resources/resource.js.map +1 -1
  202. package/dist/esm/server.d.ts +2 -1
  203. package/dist/esm/server.d.ts.map +1 -1
  204. package/dist/esm/server.js +5 -1
  205. package/dist/esm/server.js.map +1 -1
  206. package/dist/esm/telemetry/types.d.ts +1 -0
  207. package/dist/esm/telemetry/types.d.ts.map +1 -1
  208. package/dist/esm/tools/args.d.ts +1 -0
  209. package/dist/esm/tools/args.d.ts.map +1 -1
  210. package/dist/esm/tools/args.js +1 -0
  211. package/dist/esm/tools/args.js.map +1 -1
  212. package/dist/esm/tools/atlas/atlasTool.d.ts +1 -1
  213. package/dist/esm/tools/atlas/atlasTool.d.ts.map +1 -1
  214. package/dist/esm/tools/atlas/atlasTool.js +1 -1
  215. package/dist/esm/tools/atlas/atlasTool.js.map +1 -1
  216. package/dist/esm/tools/atlas/connect/connectCluster.d.ts +3 -1
  217. package/dist/esm/tools/atlas/connect/connectCluster.d.ts.map +1 -1
  218. package/dist/esm/tools/atlas/connect/connectCluster.js +12 -7
  219. package/dist/esm/tools/atlas/connect/connectCluster.js.map +1 -1
  220. package/dist/esm/tools/atlas/create/createProject.d.ts +0 -4
  221. package/dist/esm/tools/atlas/create/createProject.d.ts.map +1 -1
  222. package/dist/esm/tools/atlas/create/createProject.js +2 -5
  223. package/dist/esm/tools/atlas/create/createProject.js.map +1 -1
  224. package/dist/esm/tools/atlas/read/getPerformanceAdvisor.d.ts.map +1 -1
  225. package/dist/esm/tools/atlas/read/getPerformanceAdvisor.js +3 -3
  226. package/dist/esm/tools/atlas/read/getPerformanceAdvisor.js.map +1 -1
  227. package/dist/esm/tools/atlas/read/inspectCluster.js +1 -1
  228. package/dist/esm/tools/atlas/read/inspectCluster.js.map +1 -1
  229. package/dist/esm/tools/atlas/read/listClusters.js +1 -1
  230. package/dist/esm/tools/atlas/read/listClusters.js.map +1 -1
  231. package/dist/esm/tools/atlas/read/listProjects.d.ts +0 -3
  232. package/dist/esm/tools/atlas/read/listProjects.d.ts.map +1 -1
  233. package/dist/esm/tools/atlas/read/listProjects.js +14 -19
  234. package/dist/esm/tools/atlas/read/listProjects.js.map +1 -1
  235. package/dist/esm/tools/atlasLocal/atlasLocalTool.d.ts +19 -0
  236. package/dist/esm/tools/atlasLocal/atlasLocalTool.d.ts.map +1 -0
  237. package/dist/esm/tools/atlasLocal/atlasLocalTool.js +105 -0
  238. package/dist/esm/tools/atlasLocal/atlasLocalTool.js.map +1 -0
  239. package/dist/esm/tools/atlasLocal/connect/connectDeployment.d.ts +14 -0
  240. package/dist/esm/tools/atlasLocal/connect/connectDeployment.d.ts.map +1 -0
  241. package/dist/esm/tools/atlasLocal/connect/connectDeployment.js +31 -0
  242. package/dist/esm/tools/atlasLocal/connect/connectDeployment.js.map +1 -0
  243. package/dist/esm/tools/atlasLocal/create/createDeployment.d.ts +14 -0
  244. package/dist/esm/tools/atlasLocal/create/createDeployment.d.ts.map +1 -0
  245. package/dist/esm/tools/atlasLocal/create/createDeployment.js +37 -0
  246. package/dist/esm/tools/atlasLocal/create/createDeployment.js.map +1 -0
  247. package/dist/esm/tools/atlasLocal/delete/deleteDeployment.d.ts +14 -0
  248. package/dist/esm/tools/atlasLocal/delete/deleteDeployment.d.ts.map +1 -0
  249. package/dist/esm/tools/atlasLocal/delete/deleteDeployment.js +28 -0
  250. package/dist/esm/tools/atlasLocal/delete/deleteDeployment.js.map +1 -0
  251. package/dist/esm/tools/atlasLocal/read/listDeployments.d.ts +13 -0
  252. package/dist/esm/tools/atlasLocal/read/listDeployments.d.ts.map +1 -0
  253. package/dist/esm/tools/atlasLocal/read/listDeployments.js +38 -0
  254. package/dist/esm/tools/atlasLocal/read/listDeployments.js.map +1 -0
  255. package/dist/esm/tools/atlasLocal/tools.d.ts +6 -0
  256. package/dist/esm/tools/atlasLocal/tools.d.ts.map +1 -0
  257. package/dist/esm/tools/atlasLocal/tools.js +6 -0
  258. package/dist/esm/tools/atlasLocal/tools.js.map +1 -0
  259. package/dist/esm/tools/mongodb/create/createIndex.d.ts +121 -3
  260. package/dist/esm/tools/mongodb/create/createIndex.d.ts.map +1 -1
  261. package/dist/esm/tools/mongodb/create/createIndex.js +87 -9
  262. package/dist/esm/tools/mongodb/create/createIndex.js.map +1 -1
  263. package/dist/esm/tools/mongodb/create/insertMany.d.ts +1 -1
  264. package/dist/esm/tools/mongodb/create/insertMany.d.ts.map +1 -1
  265. package/dist/esm/tools/mongodb/create/insertMany.js +14 -10
  266. package/dist/esm/tools/mongodb/create/insertMany.js.map +1 -1
  267. package/dist/esm/tools/mongodb/delete/dropIndex.d.ts +20 -0
  268. package/dist/esm/tools/mongodb/delete/dropIndex.d.ts.map +1 -0
  269. package/dist/esm/tools/mongodb/delete/dropIndex.js +68 -0
  270. package/dist/esm/tools/mongodb/delete/dropIndex.js.map +1 -0
  271. package/dist/esm/tools/mongodb/metadata/collectionIndexes.d.ts +15 -0
  272. package/dist/esm/tools/mongodb/metadata/collectionIndexes.d.ts.map +1 -1
  273. package/dist/esm/tools/mongodb/metadata/collectionIndexes.js +30 -5
  274. package/dist/esm/tools/mongodb/metadata/collectionIndexes.js.map +1 -1
  275. package/dist/esm/tools/mongodb/metadata/explain.d.ts +191 -9
  276. package/dist/esm/tools/mongodb/metadata/explain.d.ts.map +1 -1
  277. package/dist/esm/tools/mongodb/metadata/listDatabases.d.ts.map +1 -1
  278. package/dist/esm/tools/mongodb/metadata/listDatabases.js +1 -3
  279. package/dist/esm/tools/mongodb/metadata/listDatabases.js.map +1 -1
  280. package/dist/esm/tools/mongodb/mongodbTool.d.ts +3 -2
  281. package/dist/esm/tools/mongodb/mongodbTool.d.ts.map +1 -1
  282. package/dist/esm/tools/mongodb/mongodbTool.js +19 -0
  283. package/dist/esm/tools/mongodb/mongodbTool.js.map +1 -1
  284. package/dist/esm/tools/mongodb/read/aggregate.d.ts +215 -2
  285. package/dist/esm/tools/mongodb/read/aggregate.d.ts.map +1 -1
  286. package/dist/esm/tools/mongodb/read/aggregate.js +82 -8
  287. package/dist/esm/tools/mongodb/read/aggregate.js.map +1 -1
  288. package/dist/esm/tools/mongodb/read/export.d.ts +191 -9
  289. package/dist/esm/tools/mongodb/read/export.d.ts.map +1 -1
  290. package/dist/esm/tools/mongodb/read/find.js +1 -1
  291. package/dist/esm/tools/mongodb/read/find.js.map +1 -1
  292. package/dist/esm/tools/mongodb/tools.d.ts +2 -2
  293. package/dist/esm/tools/mongodb/tools.d.ts.map +1 -1
  294. package/dist/esm/tools/mongodb/tools.js +2 -2
  295. package/dist/esm/tools/mongodb/tools.js.map +1 -1
  296. package/dist/esm/tools/tool.d.ts +9 -4
  297. package/dist/esm/tools/tool.d.ts.map +1 -1
  298. package/dist/esm/tools/tool.js +17 -5
  299. package/dist/esm/tools/tool.js.map +1 -1
  300. package/dist/esm/transports/base.d.ts +4 -1
  301. package/dist/esm/transports/base.d.ts.map +1 -1
  302. package/dist/esm/transports/base.js +6 -1
  303. package/dist/esm/transports/base.js.map +1 -1
  304. package/package.json +15 -11
  305. package/dist/cjs/tools/mongodb/search/listSearchIndexes.d.ts +0 -30
  306. package/dist/cjs/tools/mongodb/search/listSearchIndexes.d.ts.map +0 -1
  307. package/dist/cjs/tools/mongodb/search/listSearchIndexes.js +0 -65
  308. package/dist/cjs/tools/mongodb/search/listSearchIndexes.js.map +0 -1
  309. package/dist/esm/tools/mongodb/search/listSearchIndexes.d.ts +0 -30
  310. package/dist/esm/tools/mongodb/search/listSearchIndexes.d.ts.map +0 -1
  311. package/dist/esm/tools/mongodb/search/listSearchIndexes.js +0 -61
  312. package/dist/esm/tools/mongodb/search/listSearchIndexes.js.map +0 -1
@@ -3,14 +3,226 @@ import type { CallToolResult } from "@modelcontextprotocol/sdk/types.js";
3
3
  import { MongoDBToolBase } from "../mongodbTool.js";
4
4
  import type { ToolArgs, OperationType, ToolExecutionContext } from "../../tool.js";
5
5
  export declare const AggregateArgs: {
6
- pipeline: z.ZodArray<z.AnyZodObject, "many">;
6
+ pipeline: z.ZodArray<z.ZodUnion<[z.AnyZodObject, z.ZodObject<{
7
+ $vectorSearch: z.ZodObject<{
8
+ exact: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>;
9
+ index: z.ZodString;
10
+ path: z.ZodString;
11
+ queryVector: z.ZodUnion<[z.ZodString, z.ZodArray<z.ZodNumber, "many">]>;
12
+ numCandidates: z.ZodOptional<z.ZodNumber>;
13
+ limit: z.ZodDefault<z.ZodOptional<z.ZodNumber>>;
14
+ filter: z.ZodOptional<z.AnyZodObject>;
15
+ embeddingParameters: z.ZodOptional<z.ZodObject<{
16
+ outputDimension: z.ZodDefault<z.ZodOptional<z.ZodUnion<[z.ZodLiteral<256>, z.ZodLiteral<512>, z.ZodLiteral<1024>, z.ZodLiteral<2048>, z.ZodLiteral<4096>]>>>;
17
+ outputDType: z.ZodDefault<z.ZodOptional<z.ZodEnum<["float", "int8", "uint8", "binary", "ubinary"]>>>;
18
+ } & {
19
+ model: z.ZodDefault<z.ZodEnum<["voyage-3-large", "voyage-3.5", "voyage-3.5-lite", "voyage-code-3"]>>;
20
+ }, "strip", z.ZodTypeAny, {
21
+ outputDimension: 256 | 512 | 1024 | 2048 | 4096;
22
+ outputDType: "binary" | "float" | "int8" | "uint8" | "ubinary";
23
+ model: "voyage-3-large" | "voyage-3.5" | "voyage-3.5-lite" | "voyage-code-3";
24
+ }, {
25
+ outputDimension?: 256 | 512 | 1024 | 2048 | 4096 | undefined;
26
+ outputDType?: "binary" | "float" | "int8" | "uint8" | "ubinary" | undefined;
27
+ model?: "voyage-3-large" | "voyage-3.5" | "voyage-3.5-lite" | "voyage-code-3" | undefined;
28
+ }>>;
29
+ }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
30
+ exact: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>;
31
+ index: z.ZodString;
32
+ path: z.ZodString;
33
+ queryVector: z.ZodUnion<[z.ZodString, z.ZodArray<z.ZodNumber, "many">]>;
34
+ numCandidates: z.ZodOptional<z.ZodNumber>;
35
+ limit: z.ZodDefault<z.ZodOptional<z.ZodNumber>>;
36
+ filter: z.ZodOptional<z.AnyZodObject>;
37
+ embeddingParameters: z.ZodOptional<z.ZodObject<{
38
+ outputDimension: z.ZodDefault<z.ZodOptional<z.ZodUnion<[z.ZodLiteral<256>, z.ZodLiteral<512>, z.ZodLiteral<1024>, z.ZodLiteral<2048>, z.ZodLiteral<4096>]>>>;
39
+ outputDType: z.ZodDefault<z.ZodOptional<z.ZodEnum<["float", "int8", "uint8", "binary", "ubinary"]>>>;
40
+ } & {
41
+ model: z.ZodDefault<z.ZodEnum<["voyage-3-large", "voyage-3.5", "voyage-3.5-lite", "voyage-code-3"]>>;
42
+ }, "strip", z.ZodTypeAny, {
43
+ outputDimension: 256 | 512 | 1024 | 2048 | 4096;
44
+ outputDType: "binary" | "float" | "int8" | "uint8" | "ubinary";
45
+ model: "voyage-3-large" | "voyage-3.5" | "voyage-3.5-lite" | "voyage-code-3";
46
+ }, {
47
+ outputDimension?: 256 | 512 | 1024 | 2048 | 4096 | undefined;
48
+ outputDType?: "binary" | "float" | "int8" | "uint8" | "ubinary" | undefined;
49
+ model?: "voyage-3-large" | "voyage-3.5" | "voyage-3.5-lite" | "voyage-code-3" | undefined;
50
+ }>>;
51
+ }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
52
+ exact: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>;
53
+ index: z.ZodString;
54
+ path: z.ZodString;
55
+ queryVector: z.ZodUnion<[z.ZodString, z.ZodArray<z.ZodNumber, "many">]>;
56
+ numCandidates: z.ZodOptional<z.ZodNumber>;
57
+ limit: z.ZodDefault<z.ZodOptional<z.ZodNumber>>;
58
+ filter: z.ZodOptional<z.AnyZodObject>;
59
+ embeddingParameters: z.ZodOptional<z.ZodObject<{
60
+ outputDimension: z.ZodDefault<z.ZodOptional<z.ZodUnion<[z.ZodLiteral<256>, z.ZodLiteral<512>, z.ZodLiteral<1024>, z.ZodLiteral<2048>, z.ZodLiteral<4096>]>>>;
61
+ outputDType: z.ZodDefault<z.ZodOptional<z.ZodEnum<["float", "int8", "uint8", "binary", "ubinary"]>>>;
62
+ } & {
63
+ model: z.ZodDefault<z.ZodEnum<["voyage-3-large", "voyage-3.5", "voyage-3.5-lite", "voyage-code-3"]>>;
64
+ }, "strip", z.ZodTypeAny, {
65
+ outputDimension: 256 | 512 | 1024 | 2048 | 4096;
66
+ outputDType: "binary" | "float" | "int8" | "uint8" | "ubinary";
67
+ model: "voyage-3-large" | "voyage-3.5" | "voyage-3.5-lite" | "voyage-code-3";
68
+ }, {
69
+ outputDimension?: 256 | 512 | 1024 | 2048 | 4096 | undefined;
70
+ outputDType?: "binary" | "float" | "int8" | "uint8" | "ubinary" | undefined;
71
+ model?: "voyage-3-large" | "voyage-3.5" | "voyage-3.5-lite" | "voyage-code-3" | undefined;
72
+ }>>;
73
+ }, z.ZodTypeAny, "passthrough">>;
74
+ }, "strip", z.ZodTypeAny, {
75
+ $vectorSearch: {
76
+ path: string;
77
+ exact: boolean;
78
+ index: string;
79
+ limit: number;
80
+ queryVector: string | number[];
81
+ filter?: {
82
+ [x: string]: any;
83
+ } | undefined;
84
+ embeddingParameters?: {
85
+ outputDimension: 256 | 512 | 1024 | 2048 | 4096;
86
+ outputDType: "binary" | "float" | "int8" | "uint8" | "ubinary";
87
+ model: "voyage-3-large" | "voyage-3.5" | "voyage-3.5-lite" | "voyage-code-3";
88
+ } | undefined;
89
+ numCandidates?: number | undefined;
90
+ } & {
91
+ [k: string]: unknown;
92
+ };
93
+ }, {
94
+ $vectorSearch: {
95
+ path: string;
96
+ index: string;
97
+ queryVector: string | number[];
98
+ exact?: boolean | undefined;
99
+ filter?: {
100
+ [x: string]: any;
101
+ } | undefined;
102
+ embeddingParameters?: {
103
+ outputDimension?: 256 | 512 | 1024 | 2048 | 4096 | undefined;
104
+ outputDType?: "binary" | "float" | "int8" | "uint8" | "ubinary" | undefined;
105
+ model?: "voyage-3-large" | "voyage-3.5" | "voyage-3.5-lite" | "voyage-code-3" | undefined;
106
+ } | undefined;
107
+ limit?: number | undefined;
108
+ numCandidates?: number | undefined;
109
+ } & {
110
+ [k: string]: unknown;
111
+ };
112
+ }>]>, "many">;
7
113
  responseBytesLimit: z.ZodDefault<z.ZodOptional<z.ZodNumber>>;
8
114
  };
9
115
  export declare class AggregateTool extends MongoDBToolBase {
10
116
  name: string;
11
117
  protected description: string;
12
118
  protected argsShape: {
13
- pipeline: z.ZodArray<z.AnyZodObject, "many">;
119
+ pipeline: z.ZodArray<z.ZodUnion<[z.AnyZodObject, z.ZodObject<{
120
+ $vectorSearch: z.ZodObject<{
121
+ exact: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>;
122
+ index: z.ZodString;
123
+ path: z.ZodString;
124
+ queryVector: z.ZodUnion<[z.ZodString, z.ZodArray<z.ZodNumber, "many">]>;
125
+ numCandidates: z.ZodOptional<z.ZodNumber>;
126
+ limit: z.ZodDefault<z.ZodOptional<z.ZodNumber>>;
127
+ filter: z.ZodOptional<z.AnyZodObject>;
128
+ embeddingParameters: z.ZodOptional<z.ZodObject<{
129
+ outputDimension: z.ZodDefault<z.ZodOptional<z.ZodUnion<[z.ZodLiteral<256>, z.ZodLiteral<512>, z.ZodLiteral<1024>, z.ZodLiteral<2048>, z.ZodLiteral<4096>]>>>;
130
+ outputDType: z.ZodDefault<z.ZodOptional<z.ZodEnum<["float", "int8", "uint8", "binary", "ubinary"]>>>;
131
+ } & {
132
+ model: z.ZodDefault<z.ZodEnum<["voyage-3-large", "voyage-3.5", "voyage-3.5-lite", "voyage-code-3"]>>;
133
+ }, "strip", z.ZodTypeAny, {
134
+ outputDimension: 256 | 512 | 1024 | 2048 | 4096;
135
+ outputDType: "binary" | "float" | "int8" | "uint8" | "ubinary";
136
+ model: "voyage-3-large" | "voyage-3.5" | "voyage-3.5-lite" | "voyage-code-3";
137
+ }, {
138
+ outputDimension?: 256 | 512 | 1024 | 2048 | 4096 | undefined;
139
+ outputDType?: "binary" | "float" | "int8" | "uint8" | "ubinary" | undefined;
140
+ model?: "voyage-3-large" | "voyage-3.5" | "voyage-3.5-lite" | "voyage-code-3" | undefined;
141
+ }>>;
142
+ }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
143
+ exact: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>;
144
+ index: z.ZodString;
145
+ path: z.ZodString;
146
+ queryVector: z.ZodUnion<[z.ZodString, z.ZodArray<z.ZodNumber, "many">]>;
147
+ numCandidates: z.ZodOptional<z.ZodNumber>;
148
+ limit: z.ZodDefault<z.ZodOptional<z.ZodNumber>>;
149
+ filter: z.ZodOptional<z.AnyZodObject>;
150
+ embeddingParameters: z.ZodOptional<z.ZodObject<{
151
+ outputDimension: z.ZodDefault<z.ZodOptional<z.ZodUnion<[z.ZodLiteral<256>, z.ZodLiteral<512>, z.ZodLiteral<1024>, z.ZodLiteral<2048>, z.ZodLiteral<4096>]>>>;
152
+ outputDType: z.ZodDefault<z.ZodOptional<z.ZodEnum<["float", "int8", "uint8", "binary", "ubinary"]>>>;
153
+ } & {
154
+ model: z.ZodDefault<z.ZodEnum<["voyage-3-large", "voyage-3.5", "voyage-3.5-lite", "voyage-code-3"]>>;
155
+ }, "strip", z.ZodTypeAny, {
156
+ outputDimension: 256 | 512 | 1024 | 2048 | 4096;
157
+ outputDType: "binary" | "float" | "int8" | "uint8" | "ubinary";
158
+ model: "voyage-3-large" | "voyage-3.5" | "voyage-3.5-lite" | "voyage-code-3";
159
+ }, {
160
+ outputDimension?: 256 | 512 | 1024 | 2048 | 4096 | undefined;
161
+ outputDType?: "binary" | "float" | "int8" | "uint8" | "ubinary" | undefined;
162
+ model?: "voyage-3-large" | "voyage-3.5" | "voyage-3.5-lite" | "voyage-code-3" | undefined;
163
+ }>>;
164
+ }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
165
+ exact: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>;
166
+ index: z.ZodString;
167
+ path: z.ZodString;
168
+ queryVector: z.ZodUnion<[z.ZodString, z.ZodArray<z.ZodNumber, "many">]>;
169
+ numCandidates: z.ZodOptional<z.ZodNumber>;
170
+ limit: z.ZodDefault<z.ZodOptional<z.ZodNumber>>;
171
+ filter: z.ZodOptional<z.AnyZodObject>;
172
+ embeddingParameters: z.ZodOptional<z.ZodObject<{
173
+ outputDimension: z.ZodDefault<z.ZodOptional<z.ZodUnion<[z.ZodLiteral<256>, z.ZodLiteral<512>, z.ZodLiteral<1024>, z.ZodLiteral<2048>, z.ZodLiteral<4096>]>>>;
174
+ outputDType: z.ZodDefault<z.ZodOptional<z.ZodEnum<["float", "int8", "uint8", "binary", "ubinary"]>>>;
175
+ } & {
176
+ model: z.ZodDefault<z.ZodEnum<["voyage-3-large", "voyage-3.5", "voyage-3.5-lite", "voyage-code-3"]>>;
177
+ }, "strip", z.ZodTypeAny, {
178
+ outputDimension: 256 | 512 | 1024 | 2048 | 4096;
179
+ outputDType: "binary" | "float" | "int8" | "uint8" | "ubinary";
180
+ model: "voyage-3-large" | "voyage-3.5" | "voyage-3.5-lite" | "voyage-code-3";
181
+ }, {
182
+ outputDimension?: 256 | 512 | 1024 | 2048 | 4096 | undefined;
183
+ outputDType?: "binary" | "float" | "int8" | "uint8" | "ubinary" | undefined;
184
+ model?: "voyage-3-large" | "voyage-3.5" | "voyage-3.5-lite" | "voyage-code-3" | undefined;
185
+ }>>;
186
+ }, z.ZodTypeAny, "passthrough">>;
187
+ }, "strip", z.ZodTypeAny, {
188
+ $vectorSearch: {
189
+ path: string;
190
+ exact: boolean;
191
+ index: string;
192
+ limit: number;
193
+ queryVector: string | number[];
194
+ filter?: {
195
+ [x: string]: any;
196
+ } | undefined;
197
+ embeddingParameters?: {
198
+ outputDimension: 256 | 512 | 1024 | 2048 | 4096;
199
+ outputDType: "binary" | "float" | "int8" | "uint8" | "ubinary";
200
+ model: "voyage-3-large" | "voyage-3.5" | "voyage-3.5-lite" | "voyage-code-3";
201
+ } | undefined;
202
+ numCandidates?: number | undefined;
203
+ } & {
204
+ [k: string]: unknown;
205
+ };
206
+ }, {
207
+ $vectorSearch: {
208
+ path: string;
209
+ index: string;
210
+ queryVector: string | number[];
211
+ exact?: boolean | undefined;
212
+ filter?: {
213
+ [x: string]: any;
214
+ } | undefined;
215
+ embeddingParameters?: {
216
+ outputDimension?: 256 | 512 | 1024 | 2048 | 4096 | undefined;
217
+ outputDType?: "binary" | "float" | "int8" | "uint8" | "ubinary" | undefined;
218
+ model?: "voyage-3-large" | "voyage-3.5" | "voyage-3.5-lite" | "voyage-code-3" | undefined;
219
+ } | undefined;
220
+ limit?: number | undefined;
221
+ numCandidates?: number | undefined;
222
+ } & {
223
+ [k: string]: unknown;
224
+ };
225
+ }>]>, "many">;
14
226
  responseBytesLimit: z.ZodDefault<z.ZodOptional<z.ZodNumber>>;
15
227
  database: z.ZodString;
16
228
  collection: z.ZodString;
@@ -20,6 +232,7 @@ export declare class AggregateTool extends MongoDBToolBase {
20
232
  private safeCloseCursor;
21
233
  private assertOnlyUsesPermittedStages;
22
234
  private countAggregationResultDocuments;
235
+ private replaceRawValuesWithEmbeddingsIfNecessary;
23
236
  private generateMessage;
24
237
  }
25
238
  //# sourceMappingURL=aggregate.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"aggregate.d.ts","sourceRoot":"","sources":["../../../../../src/tools/mongodb/read/aggregate.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,oCAAoC,CAAC;AAEzE,OAAO,EAAmB,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACrE,OAAO,KAAK,EAAE,QAAQ,EAAE,aAAa,EAAE,oBAAoB,EAAE,MAAM,eAAe,CAAC;AAWnF,eAAO,MAAM,aAAa;;;CAMzB,CAAC;AAEF,qBAAa,aAAc,SAAQ,eAAe;IACvC,IAAI,SAAe;IAC1B,SAAS,CAAC,WAAW,SAAqD;IAC1E,SAAS,CAAC,SAAS;;;;;MAGjB;IACK,aAAa,EAAE,aAAa,CAAU;cAE7B,OAAO,CACnB,EAAE,QAAQ,EAAE,UAAU,EAAE,QAAQ,EAAE,kBAAkB,EAAE,EAAE,QAAQ,CAAC,OAAO,IAAI,CAAC,SAAS,CAAC,EACvF,EAAE,MAAM,EAAE,EAAE,oBAAoB,GACjC,OAAO,CAAC,cAAc,CAAC;YA6DZ,eAAe;IAY7B,OAAO,CAAC,6BAA6B;YAsBvB,+BAA+B;IA+B7C,OAAO,CAAC,eAAe;CAqB1B"}
1
+ {"version":3,"file":"aggregate.d.ts","sourceRoot":"","sources":["../../../../../src/tools/mongodb/read/aggregate.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,oCAAoC,CAAC;AAEzE,OAAO,EAAmB,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACrE,OAAO,KAAK,EAAE,QAAQ,EAAE,aAAa,EAAE,oBAAoB,EAAE,MAAM,eAAe,CAAC;AAuDnF,eAAO,MAAM,aAAa;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAUzB,CAAC;AAEF,qBAAa,aAAc,SAAQ,eAAe;IACvC,IAAI,SAAe;IAC1B,SAAS,CAAC,WAAW,SAAqD;IAC1E,SAAS,CAAC,SAAS;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;MAGjB;IACK,aAAa,EAAE,aAAa,CAAU;cAE7B,OAAO,CACnB,EAAE,QAAQ,EAAE,UAAU,EAAE,QAAQ,EAAE,kBAAkB,EAAE,EAAE,QAAQ,CAAC,OAAO,IAAI,CAAC,SAAS,CAAC,EACvF,EAAE,MAAM,EAAE,EAAE,oBAAoB,GACjC,OAAO,CAAC,cAAc,CAAC;YAkEZ,eAAe;YAYf,6BAA6B;YAgC7B,+BAA+B;YA+B/B,yCAAyC;IA8CvD,OAAO,CAAC,eAAe;CAqB1B"}
@@ -12,8 +12,43 @@ const operationWithFallback_js_1 = require("../../../helpers/operationWithFallba
12
12
  const constants_js_1 = require("../../../helpers/constants.js");
13
13
  const args_js_1 = require("../../args.js");
14
14
  const logger_js_1 = require("../../../common/logger.js");
15
+ const embeddingsProvider_js_1 = require("../../../common/search/embeddingsProvider.js");
16
+ const AnyStage = (0, args_js_1.zEJSON)();
17
+ const VectorSearchStage = zod_1.z.object({
18
+ $vectorSearch: zod_1.z
19
+ .object({
20
+ exact: zod_1.z
21
+ .boolean()
22
+ .optional()
23
+ .default(false)
24
+ .describe("When true, uses an ENN algorithm, otherwise uses ANN. Using ENN is not compatible with numCandidates, in that case, numCandidates must be left empty."),
25
+ index: zod_1.z.string().describe("Name of the index, as retrieved from the `collection-indexes` tool."),
26
+ path: zod_1.z
27
+ .string()
28
+ .describe("Field, in dot notation, where to search. There must be a vector search index for that field. Note to LLM: When unsure, use the 'collection-indexes' tool to validate that the field is indexed with a vector search index."),
29
+ queryVector: zod_1.z
30
+ .union([zod_1.z.string(), zod_1.z.array(zod_1.z.number())])
31
+ .describe("The content to search for. The embeddingParameters field is mandatory if the queryVector is a string, in that case, the tool generates the embedding automatically using the provided configuration."),
32
+ numCandidates: zod_1.z
33
+ .number()
34
+ .int()
35
+ .positive()
36
+ .optional()
37
+ .describe("Number of candidates for the ANN algorithm. Mandatory when exact is false."),
38
+ limit: zod_1.z.number().int().positive().optional().default(10),
39
+ filter: (0, args_js_1.zEJSON)()
40
+ .optional()
41
+ .describe("MQL filter that can only use pre-filter fields from the index definition. Note to LLM: If unsure, use the `collection-indexes` tool to learn which fields can be used for pre-filtering."),
42
+ embeddingParameters: embeddingsProvider_js_1.zSupportedEmbeddingParameters
43
+ .optional()
44
+ .describe("The embedding model and its parameters to use to generate embeddings before searching. It is mandatory if queryVector is a string value. Note to LLM: If unsure, ask the user before providing one."),
45
+ })
46
+ .passthrough(),
47
+ });
15
48
  exports.AggregateArgs = {
16
- pipeline: zod_1.z.array((0, args_js_1.zEJSON)()).describe("An array of aggregation stages to execute"),
49
+ pipeline: zod_1.z
50
+ .array(zod_1.z.union([AnyStage, VectorSearchStage]))
51
+ .describe("An array of aggregation stages to execute. $vectorSearch can only appear as the first stage of the aggregation pipeline or as the first stage of a $unionWith subpipeline. When using $vectorSearch, unless the user explicitly asks for the embeddings, $unset any embedding field to avoid reaching context limits."),
17
52
  responseBytesLimit: zod_1.z.number().optional().default(constants_js_1.ONE_MB).describe(`\
18
53
  The maximum number of bytes to return in the response. This value is capped by the server’s configured maxBytesPerQuery and cannot be exceeded. \
19
54
  Note to LLM: If the entire aggregation result is required, use the "export" tool instead of increasing this limit.\
@@ -34,7 +69,7 @@ class AggregateTool extends mongodbTool_js_1.MongoDBToolBase {
34
69
  let aggregationCursor = undefined;
35
70
  try {
36
71
  const provider = await this.ensureConnected();
37
- this.assertOnlyUsesPermittedStages(pipeline);
72
+ await this.assertOnlyUsesPermittedStages(pipeline);
38
73
  // Check if aggregate operation uses an index if enabled
39
74
  if (this.config.indexCheck) {
40
75
  await (0, indexCheck_js_1.checkIndexUsage)(provider, database, collection, "aggregate", async () => {
@@ -43,6 +78,11 @@ class AggregateTool extends mongodbTool_js_1.MongoDBToolBase {
43
78
  .explain("queryPlanner");
44
79
  });
45
80
  }
81
+ pipeline = await this.replaceRawValuesWithEmbeddingsIfNecessary({
82
+ database,
83
+ collection,
84
+ pipeline,
85
+ });
46
86
  const cappedResultsPipeline = [...pipeline];
47
87
  if (this.config.maxDocumentsPerQuery > 0) {
48
88
  cappedResultsPipeline.push({ $limit: this.config.maxDocumentsPerQuery });
@@ -72,7 +112,7 @@ class AggregateTool extends mongodbTool_js_1.MongoDBToolBase {
72
112
  aggregationResultsCappedByMaxDocumentsLimit ? "config.maxDocumentsPerQuery" : undefined,
73
113
  cursorResults.cappedBy,
74
114
  ].filter((limit) => !!limit),
75
- }), cursorResults.documents.length > 0 ? bson_1.EJSON.stringify(cursorResults.documents) : undefined),
115
+ }), ...(cursorResults.documents.length > 0 ? [bson_1.EJSON.stringify(cursorResults.documents)] : [])),
76
116
  };
77
117
  }
78
118
  finally {
@@ -93,8 +133,9 @@ class AggregateTool extends mongodbTool_js_1.MongoDBToolBase {
93
133
  });
94
134
  }
95
135
  }
96
- assertOnlyUsesPermittedStages(pipeline) {
136
+ async assertOnlyUsesPermittedStages(pipeline) {
97
137
  const writeOperations = ["update", "create", "delete"];
138
+ const isSearchSupported = await this.session.isSearchSupported();
98
139
  let writeStageForbiddenError = "";
99
140
  if (this.config.readOnly) {
100
141
  writeStageForbiddenError = "In readOnly mode you can not run pipelines with $out or $merge stages.";
@@ -103,13 +144,18 @@ class AggregateTool extends mongodbTool_js_1.MongoDBToolBase {
103
144
  writeStageForbiddenError =
104
145
  "When 'create', 'update', or 'delete' operations are disabled, you can not run pipelines with $out or $merge stages.";
105
146
  }
106
- if (!writeStageForbiddenError) {
107
- return;
108
- }
109
147
  for (const stage of pipeline) {
110
- if (stage.$out || stage.$merge) {
148
+ // This validates that in readOnly mode or "write" operations are disabled, we can't use $out or $merge.
149
+ // This is really important because aggregates are the only "multi-faceted" tool in the MQL, where you
150
+ // can both read and write.
151
+ if ((stage.$out || stage.$merge) && writeStageForbiddenError) {
111
152
  throw new errors_js_1.MongoDBError(errors_js_1.ErrorCodes.ForbiddenWriteOperation, writeStageForbiddenError);
112
153
  }
154
+ // This ensure that you can't use $vectorSearch if the cluster does not support MongoDB Search
155
+ // either in Atlas or in a local cluster.
156
+ if (stage.$vectorSearch && !isSearchSupported) {
157
+ throw new errors_js_1.MongoDBError(errors_js_1.ErrorCodes.AtlasSearchNotSupported, "Atlas Search is not supported in this cluster.");
158
+ }
113
159
  }
114
160
  }
115
161
  async countAggregationResultDocuments({ provider, database, collection, pipeline, }) {
@@ -129,6 +175,34 @@ class AggregateTool extends mongodbTool_js_1.MongoDBToolBase {
129
175
  return totalDocuments;
130
176
  }, undefined);
131
177
  }
178
+ async replaceRawValuesWithEmbeddingsIfNecessary({ database, collection, pipeline, }) {
179
+ for (const stage of pipeline) {
180
+ if ("$vectorSearch" in stage) {
181
+ const { $vectorSearch: vectorSearchStage } = stage;
182
+ if (Array.isArray(vectorSearchStage.queryVector)) {
183
+ continue;
184
+ }
185
+ if (!vectorSearchStage.embeddingParameters) {
186
+ throw new errors_js_1.MongoDBError(errors_js_1.ErrorCodes.AtlasVectorSearchInvalidQuery, "embeddingModel is mandatory if queryVector is a raw string.");
187
+ }
188
+ const embeddingParameters = vectorSearchStage.embeddingParameters;
189
+ delete vectorSearchStage.embeddingParameters;
190
+ const [embeddings] = await this.session.vectorSearchEmbeddingsManager.generateEmbeddings({
191
+ database,
192
+ collection,
193
+ path: vectorSearchStage.path,
194
+ rawValues: [vectorSearchStage.queryVector],
195
+ embeddingParameters,
196
+ inputType: "query",
197
+ });
198
+ // $vectorSearch.queryVector can be a BSON.Binary: that it's not either number or an array.
199
+ // It's not exactly valid from the LLM perspective (they can't provide binaries).
200
+ // That's why we overwrite the stage in an untyped way, as what we expose and what LLMs can use is different.
201
+ vectorSearchStage.queryVector = embeddings;
202
+ }
203
+ }
204
+ return pipeline;
205
+ }
132
206
  generateMessage({ aggResultsCount, documents, appliedLimits, }) {
133
207
  const appliedLimitText = appliedLimits.length
134
208
  ? `\
@@ -1 +1 @@
1
- {"version":3,"file":"aggregate.js","sourceRoot":"","sources":["../../../../../src/tools/mongodb/read/aggregate.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"aggregate.js","sourceRoot":"","sources":["../../../../../src/tools/mongodb/read/aggregate.ts"],"names":[],"mappings":"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"}
@@ -57,33 +57,215 @@ export declare class ExportTool extends MongoDBToolBase {
57
57
  }>, z.ZodObject<{
58
58
  name: z.ZodLiteral<"aggregate">;
59
59
  arguments: z.ZodObject<{
60
- pipeline: z.ZodArray<z.AnyZodObject, "many">;
60
+ pipeline: z.ZodArray<z.ZodUnion<[z.AnyZodObject, z.ZodObject<{
61
+ $vectorSearch: z.ZodObject<{
62
+ exact: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>;
63
+ index: z.ZodString;
64
+ path: z.ZodString;
65
+ queryVector: z.ZodUnion<[z.ZodString, z.ZodArray<z.ZodNumber, "many">]>;
66
+ numCandidates: z.ZodOptional<z.ZodNumber>;
67
+ limit: z.ZodDefault<z.ZodOptional<z.ZodNumber>>;
68
+ filter: z.ZodOptional<z.AnyZodObject>;
69
+ embeddingParameters: z.ZodOptional<z.ZodObject<{
70
+ outputDimension: z.ZodDefault<z.ZodOptional<z.ZodUnion<[z.ZodLiteral<256>, z.ZodLiteral<512>, z.ZodLiteral<1024>, z.ZodLiteral<2048>, z.ZodLiteral<4096>]>>>;
71
+ outputDType: z.ZodDefault<z.ZodOptional<z.ZodEnum<["float", "int8", "uint8", "binary", "ubinary"]>>>;
72
+ } & {
73
+ model: z.ZodDefault<z.ZodEnum<["voyage-3-large", "voyage-3.5", "voyage-3.5-lite", "voyage-code-3"]>>;
74
+ }, "strip", z.ZodTypeAny, {
75
+ outputDimension: 256 | 512 | 1024 | 2048 | 4096;
76
+ outputDType: "binary" | "float" | "int8" | "uint8" | "ubinary";
77
+ model: "voyage-3-large" | "voyage-3.5" | "voyage-3.5-lite" | "voyage-code-3";
78
+ }, {
79
+ outputDimension?: 256 | 512 | 1024 | 2048 | 4096 | undefined;
80
+ outputDType?: "binary" | "float" | "int8" | "uint8" | "ubinary" | undefined;
81
+ model?: "voyage-3-large" | "voyage-3.5" | "voyage-3.5-lite" | "voyage-code-3" | undefined;
82
+ }>>;
83
+ }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
84
+ exact: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>;
85
+ index: z.ZodString;
86
+ path: z.ZodString;
87
+ queryVector: z.ZodUnion<[z.ZodString, z.ZodArray<z.ZodNumber, "many">]>;
88
+ numCandidates: z.ZodOptional<z.ZodNumber>;
89
+ limit: z.ZodDefault<z.ZodOptional<z.ZodNumber>>;
90
+ filter: z.ZodOptional<z.AnyZodObject>;
91
+ embeddingParameters: z.ZodOptional<z.ZodObject<{
92
+ outputDimension: z.ZodDefault<z.ZodOptional<z.ZodUnion<[z.ZodLiteral<256>, z.ZodLiteral<512>, z.ZodLiteral<1024>, z.ZodLiteral<2048>, z.ZodLiteral<4096>]>>>;
93
+ outputDType: z.ZodDefault<z.ZodOptional<z.ZodEnum<["float", "int8", "uint8", "binary", "ubinary"]>>>;
94
+ } & {
95
+ model: z.ZodDefault<z.ZodEnum<["voyage-3-large", "voyage-3.5", "voyage-3.5-lite", "voyage-code-3"]>>;
96
+ }, "strip", z.ZodTypeAny, {
97
+ outputDimension: 256 | 512 | 1024 | 2048 | 4096;
98
+ outputDType: "binary" | "float" | "int8" | "uint8" | "ubinary";
99
+ model: "voyage-3-large" | "voyage-3.5" | "voyage-3.5-lite" | "voyage-code-3";
100
+ }, {
101
+ outputDimension?: 256 | 512 | 1024 | 2048 | 4096 | undefined;
102
+ outputDType?: "binary" | "float" | "int8" | "uint8" | "ubinary" | undefined;
103
+ model?: "voyage-3-large" | "voyage-3.5" | "voyage-3.5-lite" | "voyage-code-3" | undefined;
104
+ }>>;
105
+ }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
106
+ exact: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>;
107
+ index: z.ZodString;
108
+ path: z.ZodString;
109
+ queryVector: z.ZodUnion<[z.ZodString, z.ZodArray<z.ZodNumber, "many">]>;
110
+ numCandidates: z.ZodOptional<z.ZodNumber>;
111
+ limit: z.ZodDefault<z.ZodOptional<z.ZodNumber>>;
112
+ filter: z.ZodOptional<z.AnyZodObject>;
113
+ embeddingParameters: z.ZodOptional<z.ZodObject<{
114
+ outputDimension: z.ZodDefault<z.ZodOptional<z.ZodUnion<[z.ZodLiteral<256>, z.ZodLiteral<512>, z.ZodLiteral<1024>, z.ZodLiteral<2048>, z.ZodLiteral<4096>]>>>;
115
+ outputDType: z.ZodDefault<z.ZodOptional<z.ZodEnum<["float", "int8", "uint8", "binary", "ubinary"]>>>;
116
+ } & {
117
+ model: z.ZodDefault<z.ZodEnum<["voyage-3-large", "voyage-3.5", "voyage-3.5-lite", "voyage-code-3"]>>;
118
+ }, "strip", z.ZodTypeAny, {
119
+ outputDimension: 256 | 512 | 1024 | 2048 | 4096;
120
+ outputDType: "binary" | "float" | "int8" | "uint8" | "ubinary";
121
+ model: "voyage-3-large" | "voyage-3.5" | "voyage-3.5-lite" | "voyage-code-3";
122
+ }, {
123
+ outputDimension?: 256 | 512 | 1024 | 2048 | 4096 | undefined;
124
+ outputDType?: "binary" | "float" | "int8" | "uint8" | "ubinary" | undefined;
125
+ model?: "voyage-3-large" | "voyage-3.5" | "voyage-3.5-lite" | "voyage-code-3" | undefined;
126
+ }>>;
127
+ }, z.ZodTypeAny, "passthrough">>;
128
+ }, "strip", z.ZodTypeAny, {
129
+ $vectorSearch: {
130
+ path: string;
131
+ exact: boolean;
132
+ index: string;
133
+ limit: number;
134
+ queryVector: string | number[];
135
+ filter?: {
136
+ [x: string]: any;
137
+ } | undefined;
138
+ embeddingParameters?: {
139
+ outputDimension: 256 | 512 | 1024 | 2048 | 4096;
140
+ outputDType: "binary" | "float" | "int8" | "uint8" | "ubinary";
141
+ model: "voyage-3-large" | "voyage-3.5" | "voyage-3.5-lite" | "voyage-code-3";
142
+ } | undefined;
143
+ numCandidates?: number | undefined;
144
+ } & {
145
+ [k: string]: unknown;
146
+ };
147
+ }, {
148
+ $vectorSearch: {
149
+ path: string;
150
+ index: string;
151
+ queryVector: string | number[];
152
+ exact?: boolean | undefined;
153
+ filter?: {
154
+ [x: string]: any;
155
+ } | undefined;
156
+ embeddingParameters?: {
157
+ outputDimension?: 256 | 512 | 1024 | 2048 | 4096 | undefined;
158
+ outputDType?: "binary" | "float" | "int8" | "uint8" | "ubinary" | undefined;
159
+ model?: "voyage-3-large" | "voyage-3.5" | "voyage-3.5-lite" | "voyage-code-3" | undefined;
160
+ } | undefined;
161
+ limit?: number | undefined;
162
+ numCandidates?: number | undefined;
163
+ } & {
164
+ [k: string]: unknown;
165
+ };
166
+ }>]>, "many">;
61
167
  responseBytesLimit: z.ZodDefault<z.ZodOptional<z.ZodNumber>>;
62
168
  }, "strip", z.ZodTypeAny, {
63
169
  responseBytesLimit: number;
64
- pipeline: {
170
+ pipeline: ({
65
171
  [x: string]: any;
66
- }[];
172
+ } | {
173
+ $vectorSearch: {
174
+ path: string;
175
+ exact: boolean;
176
+ index: string;
177
+ limit: number;
178
+ queryVector: string | number[];
179
+ filter?: {
180
+ [x: string]: any;
181
+ } | undefined;
182
+ embeddingParameters?: {
183
+ outputDimension: 256 | 512 | 1024 | 2048 | 4096;
184
+ outputDType: "binary" | "float" | "int8" | "uint8" | "ubinary";
185
+ model: "voyage-3-large" | "voyage-3.5" | "voyage-3.5-lite" | "voyage-code-3";
186
+ } | undefined;
187
+ numCandidates?: number | undefined;
188
+ } & {
189
+ [k: string]: unknown;
190
+ };
191
+ })[];
67
192
  }, {
68
- pipeline: {
193
+ pipeline: ({
69
194
  [x: string]: any;
70
- }[];
195
+ } | {
196
+ $vectorSearch: {
197
+ path: string;
198
+ index: string;
199
+ queryVector: string | number[];
200
+ exact?: boolean | undefined;
201
+ filter?: {
202
+ [x: string]: any;
203
+ } | undefined;
204
+ embeddingParameters?: {
205
+ outputDimension?: 256 | 512 | 1024 | 2048 | 4096 | undefined;
206
+ outputDType?: "binary" | "float" | "int8" | "uint8" | "ubinary" | undefined;
207
+ model?: "voyage-3-large" | "voyage-3.5" | "voyage-3.5-lite" | "voyage-code-3" | undefined;
208
+ } | undefined;
209
+ limit?: number | undefined;
210
+ numCandidates?: number | undefined;
211
+ } & {
212
+ [k: string]: unknown;
213
+ };
214
+ })[];
71
215
  responseBytesLimit?: number | undefined;
72
216
  }>;
73
217
  }, "strip", z.ZodTypeAny, {
74
218
  name: "aggregate";
75
219
  arguments: {
76
220
  responseBytesLimit: number;
77
- pipeline: {
221
+ pipeline: ({
78
222
  [x: string]: any;
79
- }[];
223
+ } | {
224
+ $vectorSearch: {
225
+ path: string;
226
+ exact: boolean;
227
+ index: string;
228
+ limit: number;
229
+ queryVector: string | number[];
230
+ filter?: {
231
+ [x: string]: any;
232
+ } | undefined;
233
+ embeddingParameters?: {
234
+ outputDimension: 256 | 512 | 1024 | 2048 | 4096;
235
+ outputDType: "binary" | "float" | "int8" | "uint8" | "ubinary";
236
+ model: "voyage-3-large" | "voyage-3.5" | "voyage-3.5-lite" | "voyage-code-3";
237
+ } | undefined;
238
+ numCandidates?: number | undefined;
239
+ } & {
240
+ [k: string]: unknown;
241
+ };
242
+ })[];
80
243
  };
81
244
  }, {
82
245
  name: "aggregate";
83
246
  arguments: {
84
- pipeline: {
247
+ pipeline: ({
85
248
  [x: string]: any;
86
- }[];
249
+ } | {
250
+ $vectorSearch: {
251
+ path: string;
252
+ index: string;
253
+ queryVector: string | number[];
254
+ exact?: boolean | undefined;
255
+ filter?: {
256
+ [x: string]: any;
257
+ } | undefined;
258
+ embeddingParameters?: {
259
+ outputDimension?: 256 | 512 | 1024 | 2048 | 4096 | undefined;
260
+ outputDType?: "binary" | "float" | "int8" | "uint8" | "ubinary" | undefined;
261
+ model?: "voyage-3-large" | "voyage-3.5" | "voyage-3.5-lite" | "voyage-code-3" | undefined;
262
+ } | undefined;
263
+ limit?: number | undefined;
264
+ numCandidates?: number | undefined;
265
+ } & {
266
+ [k: string]: unknown;
267
+ };
268
+ })[];
87
269
  responseBytesLimit?: number | undefined;
88
270
  };
89
271
  }>]>, "many">;