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
@@ -1 +1 @@
1
- {"version":3,"file":"createIndex.js","sourceRoot":"","sources":["../../../../../src/tools/mongodb/create/createIndex.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,EAAE,eAAe,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AAIrE,MAAM,OAAO,eAAgB,SAAQ,eAAe;IAApD;;QACW,SAAI,GAAG,cAAc,CAAC;QACnB,gBAAW,GAAG,kCAAkC,CAAC;QACjD,cAAS,GAAG;YAClB,GAAG,eAAe;YAClB,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,EAAkB,CAAC,CAAC,QAAQ,CAAC,sBAAsB,CAAC;YACxF,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,uBAAuB,CAAC;SAChE,CAAC;QAEK,kBAAa,GAAkB,QAAQ,CAAC;IAyBnD,CAAC;IAvBa,KAAK,CAAC,OAAO,CAAC,EACpB,QAAQ,EACR,UAAU,EACV,IAAI,EACJ,IAAI,GAC0B;QAC9B,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,eAAe,EAAE,CAAC;QAC9C,MAAM,OAAO,GAAG,MAAM,QAAQ,CAAC,aAAa,CAAC,QAAQ,EAAE,UAAU,EAAE;YAC/D;gBACI,GAAG,EAAE,IAAI;gBACT,IAAI;aACP;SACJ,CAAC,CAAC;QAEH,OAAO;YACH,OAAO,EAAE;gBACL;oBACI,IAAI,EAAE,sBAAsB,OAAO,CAAC,CAAC,CAAC,oBAAoB,UAAU,kBAAkB,QAAQ,GAAG;oBACjG,IAAI,EAAE,MAAM;iBACf;aACJ;SACJ,CAAC;IACN,CAAC;CACJ"}
1
+ {"version":3,"file":"createIndex.js","sourceRoot":"","sources":["../../../../../src/tools/mongodb/create/createIndex.ts"],"names":[],"mappings":"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"}
@@ -1,7 +1,7 @@
1
1
  import { z } from "zod";
2
2
  import type { CallToolResult } from "@modelcontextprotocol/sdk/types.js";
3
3
  import { MongoDBToolBase } from "../mongodbTool.js";
4
- import type { ToolArgs, OperationType } from "../../tool.js";
4
+ import { type ToolArgs, type OperationType } from "../../tool.js";
5
5
  export declare class InsertManyTool extends MongoDBToolBase {
6
6
  name: string;
7
7
  protected description: string;
@@ -1 +1 @@
1
- {"version":3,"file":"insertMany.d.ts","sourceRoot":"","sources":["../../../../../src/tools/mongodb/create/insertMany.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,oCAAoC,CAAC;AACzE,OAAO,EAAmB,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACrE,OAAO,KAAK,EAAE,QAAQ,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AAG7D,qBAAa,cAAe,SAAQ,eAAe;IACxC,IAAI,SAAiB;IAC5B,SAAS,CAAC,WAAW,SAA4D;IACjF,SAAS,CAAC,SAAS;;;;MAOjB;IACK,aAAa,EAAE,aAAa,CAAY;cAE/B,OAAO,CAAC,EACpB,QAAQ,EACR,UAAU,EACV,SAAS,GACZ,EAAE,QAAQ,CAAC,OAAO,IAAI,CAAC,SAAS,CAAC,GAAG,OAAO,CAAC,cAAc,CAAC;CAiB/D"}
1
+ {"version":3,"file":"insertMany.d.ts","sourceRoot":"","sources":["../../../../../src/tools/mongodb/create/insertMany.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,oCAAoC,CAAC;AACzE,OAAO,EAAmB,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACrE,OAAO,EAAE,KAAK,QAAQ,EAAE,KAAK,aAAa,EAAuB,MAAM,eAAe,CAAC;AAGvF,qBAAa,cAAe,SAAQ,eAAe;IACxC,IAAI,SAAiB;IAC5B,SAAS,CAAC,WAAW,SAA4D;IACjF,SAAS,CAAC,SAAS;;;;MAOjB;IACK,aAAa,EAAE,aAAa,CAAY;cAE/B,OAAO,CAAC,EACpB,QAAQ,EACR,UAAU,EACV,SAAS,GACZ,EAAE,QAAQ,CAAC,OAAO,IAAI,CAAC,SAAS,CAAC,GAAG,OAAO,CAAC,cAAc,CAAC;CA0C/D"}
@@ -1,5 +1,6 @@
1
1
  import { z } from "zod";
2
2
  import { DbOperationArgs, MongoDBToolBase } from "../mongodbTool.js";
3
+ import { formatUntrustedData } from "../../tool.js";
3
4
  import { zEJSON } from "../../args.js";
4
5
  export class InsertManyTool extends MongoDBToolBase {
5
6
  constructor() {
@@ -16,18 +17,21 @@ export class InsertManyTool extends MongoDBToolBase {
16
17
  }
17
18
  async execute({ database, collection, documents, }) {
18
19
  const provider = await this.ensureConnected();
20
+ const embeddingValidations = new Set(...(await Promise.all(documents.flatMap((document) => this.session.vectorSearchEmbeddingsManager.findFieldsWithWrongEmbeddings({ database, collection }, document)))));
21
+ if (embeddingValidations.size > 0) {
22
+ // tell the LLM what happened
23
+ const embeddingValidationMessages = [...embeddingValidations].map((validation) => `- Field ${validation.path} is an embedding with ${validation.expectedNumDimensions} dimensions and ${validation.expectedQuantization}` +
24
+ ` quantization, and the provided value is not compatible. Actual dimensions: ${validation.actualNumDimensions}, ` +
25
+ `actual quantization: ${validation.actualQuantization}. Error: ${validation.error}`);
26
+ return {
27
+ content: formatUntrustedData("There were errors when inserting documents. No document was inserted.", ...embeddingValidationMessages),
28
+ isError: true,
29
+ };
30
+ }
19
31
  const result = await provider.insertMany(database, collection, documents);
32
+ const content = formatUntrustedData("Documents were inserted successfully.", `Inserted \`${result.insertedCount}\` document(s) into ${database}.${collection}.`, `Inserted IDs: ${Object.values(result.insertedIds).join(", ")}`);
20
33
  return {
21
- content: [
22
- {
23
- text: `Inserted \`${result.insertedCount}\` document(s) into collection "${collection}"`,
24
- type: "text",
25
- },
26
- {
27
- text: `Inserted IDs: ${Object.values(result.insertedIds).join(", ")}`,
28
- type: "text",
29
- },
30
- ],
34
+ content,
31
35
  };
32
36
  }
33
37
  }
@@ -1 +1 @@
1
- {"version":3,"file":"insertMany.js","sourceRoot":"","sources":["../../../../../src/tools/mongodb/create/insertMany.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,EAAE,eAAe,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AAErE,OAAO,EAAE,MAAM,EAAE,MAAM,eAAe,CAAC;AAEvC,MAAM,OAAO,cAAe,SAAQ,eAAe;IAAnD;;QACW,SAAI,GAAG,aAAa,CAAC;QAClB,gBAAW,GAAG,wDAAwD,CAAC;QACvE,cAAS,GAAG;YAClB,GAAG,eAAe;YAClB,SAAS,EAAE,CAAC;iBACP,KAAK,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,gCAAgC,CAAC,CAAC;iBAC1D,QAAQ,CACL,8GAA8G,CACjH;SACR,CAAC;QACK,kBAAa,GAAkB,QAAQ,CAAC;IAuBnD,CAAC;IArBa,KAAK,CAAC,OAAO,CAAC,EACpB,QAAQ,EACR,UAAU,EACV,SAAS,GACqB;QAC9B,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,eAAe,EAAE,CAAC;QAC9C,MAAM,MAAM,GAAG,MAAM,QAAQ,CAAC,UAAU,CAAC,QAAQ,EAAE,UAAU,EAAE,SAAS,CAAC,CAAC;QAE1E,OAAO;YACH,OAAO,EAAE;gBACL;oBACI,IAAI,EAAE,cAAc,MAAM,CAAC,aAAa,mCAAmC,UAAU,GAAG;oBACxF,IAAI,EAAE,MAAM;iBACf;gBACD;oBACI,IAAI,EAAE,iBAAiB,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE;oBACrE,IAAI,EAAE,MAAM;iBACf;aACJ;SACJ,CAAC;IACN,CAAC;CACJ"}
1
+ {"version":3,"file":"insertMany.js","sourceRoot":"","sources":["../../../../../src/tools/mongodb/create/insertMany.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,EAAE,eAAe,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACrE,OAAO,EAAqC,mBAAmB,EAAE,MAAM,eAAe,CAAC;AACvF,OAAO,EAAE,MAAM,EAAE,MAAM,eAAe,CAAC;AAEvC,MAAM,OAAO,cAAe,SAAQ,eAAe;IAAnD;;QACW,SAAI,GAAG,aAAa,CAAC;QAClB,gBAAW,GAAG,wDAAwD,CAAC;QACvE,cAAS,GAAG;YAClB,GAAG,eAAe;YAClB,SAAS,EAAE,CAAC;iBACP,KAAK,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,gCAAgC,CAAC,CAAC;iBAC1D,QAAQ,CACL,8GAA8G,CACjH;SACR,CAAC;QACK,kBAAa,GAAkB,QAAQ,CAAC;IAgDnD,CAAC;IA9Ca,KAAK,CAAC,OAAO,CAAC,EACpB,QAAQ,EACR,UAAU,EACV,SAAS,GACqB;QAC9B,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,eAAe,EAAE,CAAC;QAE9C,MAAM,oBAAoB,GAAG,IAAI,GAAG,CAChC,GAAG,CAAC,MAAM,OAAO,CAAC,GAAG,CACjB,SAAS,CAAC,OAAO,CAAC,CAAC,QAAQ,EAAE,EAAE,CAC3B,IAAI,CAAC,OAAO,CAAC,6BAA6B,CAAC,6BAA6B,CACpE,EAAE,QAAQ,EAAE,UAAU,EAAE,EACxB,QAAQ,CACX,CACJ,CACJ,CAAC,CACL,CAAC;QAEF,IAAI,oBAAoB,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC;YAChC,6BAA6B;YAC7B,MAAM,2BAA2B,GAAG,CAAC,GAAG,oBAAoB,CAAC,CAAC,GAAG,CAC7D,CAAC,UAAU,EAAE,EAAE,CACX,WAAW,UAAU,CAAC,IAAI,yBAAyB,UAAU,CAAC,qBAAqB,mBAAmB,UAAU,CAAC,oBAAoB,EAAE;gBACvI,+EAA+E,UAAU,CAAC,mBAAmB,IAAI;gBACjH,wBAAwB,UAAU,CAAC,kBAAkB,YAAY,UAAU,CAAC,KAAK,EAAE,CAC1F,CAAC;YAEF,OAAO;gBACH,OAAO,EAAE,mBAAmB,CACxB,uEAAuE,EACvE,GAAG,2BAA2B,CACjC;gBACD,OAAO,EAAE,IAAI;aAChB,CAAC;QACN,CAAC;QAED,MAAM,MAAM,GAAG,MAAM,QAAQ,CAAC,UAAU,CAAC,QAAQ,EAAE,UAAU,EAAE,SAAS,CAAC,CAAC;QAC1E,MAAM,OAAO,GAAG,mBAAmB,CAC/B,uCAAuC,EACvC,cAAc,MAAM,CAAC,aAAa,uBAAuB,QAAQ,IAAI,UAAU,GAAG,EAClF,iBAAiB,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAClE,CAAC;QACF,OAAO;YACH,OAAO;SACV,CAAC;IACN,CAAC;CACJ"}
@@ -0,0 +1,20 @@
1
+ import z from "zod";
2
+ import type { CallToolResult } from "@modelcontextprotocol/sdk/types.js";
3
+ import { MongoDBToolBase } from "../mongodbTool.js";
4
+ import { type ToolArgs, type OperationType } from "../../tool.js";
5
+ export declare class DropIndexTool extends MongoDBToolBase {
6
+ name: string;
7
+ protected description: string;
8
+ protected argsShape: {
9
+ indexName: z.ZodString;
10
+ type: z.ZodDefault<z.ZodLiteral<"classic">> | z.ZodEnum<["classic", "search"]>;
11
+ database: z.ZodString;
12
+ collection: z.ZodString;
13
+ };
14
+ operationType: OperationType;
15
+ protected execute(toolArgs: ToolArgs<typeof this.argsShape>): Promise<CallToolResult>;
16
+ private dropClassicIndex;
17
+ private dropSearchIndex;
18
+ protected getConfirmationMessage({ database, collection, indexName, type, }: ToolArgs<typeof this.argsShape>): string;
19
+ }
20
+ //# sourceMappingURL=dropIndex.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"dropIndex.d.ts","sourceRoot":"","sources":["../../../../../src/tools/mongodb/delete/dropIndex.ts"],"names":[],"mappings":"AAAA,OAAO,CAAC,MAAM,KAAK,CAAC;AACpB,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,oCAAoC,CAAC;AAEzE,OAAO,EAAmB,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACrE,OAAO,EAAE,KAAK,QAAQ,EAAE,KAAK,aAAa,EAAqC,MAAM,eAAe,CAAC;AAErG,qBAAa,aAAc,SAAQ,eAAe;IACvC,IAAI,SAAgB;IAC3B,SAAS,CAAC,WAAW,SAA6D;IAClF,SAAS,CAAC,SAAS;;;;;MAajB;IACK,aAAa,EAAE,aAAa,CAAY;cAE/B,OAAO,CAAC,QAAQ,EAAE,QAAQ,CAAC,OAAO,IAAI,CAAC,SAAS,CAAC,GAAG,OAAO,CAAC,cAAc,CAAC;YAU7E,gBAAgB;YAqBhB,eAAe;IA4B7B,SAAS,CAAC,sBAAsB,CAAC,EAC7B,QAAQ,EACR,UAAU,EACV,SAAS,EACT,IAAI,GACP,EAAE,QAAQ,CAAC,OAAO,IAAI,CAAC,SAAS,CAAC,GAAG,MAAM;CAO9C"}
@@ -0,0 +1,68 @@
1
+ import z from "zod";
2
+ import { DbOperationArgs, MongoDBToolBase } from "../mongodbTool.js";
3
+ import { formatUntrustedData } from "../../tool.js";
4
+ export class DropIndexTool extends MongoDBToolBase {
5
+ constructor() {
6
+ super(...arguments);
7
+ this.name = "drop-index";
8
+ this.description = "Drop an index for the provided database and collection.";
9
+ this.argsShape = {
10
+ ...DbOperationArgs,
11
+ indexName: z.string().nonempty().describe("The name of the index to be dropped."),
12
+ type: this.isFeatureFlagEnabled("vectorSearch" /* FeatureFlags.VectorSearch */)
13
+ ? z
14
+ .enum(["classic", "search"])
15
+ .describe("The type of index to be deleted. Use 'classic' for standard indexes and 'search' for atlas search and vector search indexes.")
16
+ : z
17
+ .literal("classic")
18
+ .default("classic")
19
+ .describe("The type of index to be deleted. Is always set to 'classic'."),
20
+ };
21
+ this.operationType = "delete";
22
+ }
23
+ async execute(toolArgs) {
24
+ const provider = await this.ensureConnected();
25
+ switch (toolArgs.type) {
26
+ case "classic":
27
+ return this.dropClassicIndex(provider, toolArgs);
28
+ case "search":
29
+ return this.dropSearchIndex(provider, toolArgs);
30
+ }
31
+ }
32
+ async dropClassicIndex(provider, { database, collection, indexName }) {
33
+ const result = await provider.runCommand(database, {
34
+ dropIndexes: collection,
35
+ index: indexName,
36
+ });
37
+ return {
38
+ content: formatUntrustedData(`${result.ok ? "Successfully dropped" : "Failed to drop"} the index from the provided namespace.`, JSON.stringify({
39
+ indexName,
40
+ namespace: `${database}.${collection}`,
41
+ })),
42
+ isError: result.ok ? undefined : true,
43
+ };
44
+ }
45
+ async dropSearchIndex(provider, { database, collection, indexName }) {
46
+ await this.ensureSearchIsSupported();
47
+ const indexes = await provider.getSearchIndexes(database, collection, indexName);
48
+ if (indexes.length === 0) {
49
+ return {
50
+ content: formatUntrustedData("Index does not exist in the provided namespace.", JSON.stringify({ indexName, namespace: `${database}.${collection}` })),
51
+ isError: true,
52
+ };
53
+ }
54
+ await provider.dropSearchIndex(database, collection, indexName);
55
+ return {
56
+ content: formatUntrustedData("Successfully dropped the index from the provided namespace.", JSON.stringify({
57
+ indexName,
58
+ namespace: `${database}.${collection}`,
59
+ })),
60
+ };
61
+ }
62
+ getConfirmationMessage({ database, collection, indexName, type, }) {
63
+ return (`You are about to drop the ${type === "search" ? "search index" : "index"} named \`${indexName}\` from the \`${database}.${collection}\` namespace:\n\n` +
64
+ "This operation will permanently remove the index and might affect the performance of queries relying on this index.\n\n" +
65
+ "**Do you confirm the execution of the action?**");
66
+ }
67
+ }
68
+ //# sourceMappingURL=dropIndex.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"dropIndex.js","sourceRoot":"","sources":["../../../../../src/tools/mongodb/delete/dropIndex.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,13 @@
1
1
  import type { CallToolResult } from "@modelcontextprotocol/sdk/types.js";
2
2
  import { DbOperationArgs, MongoDBToolBase } from "../mongodbTool.js";
3
3
  import type { ToolArgs, OperationType } from "../../tool.js";
4
+ type SearchIndexStatus = {
5
+ name: string;
6
+ type: string;
7
+ status: string;
8
+ queryable: boolean;
9
+ latestDefinition: Document;
10
+ };
4
11
  export declare class CollectionIndexesTool extends MongoDBToolBase {
5
12
  name: string;
6
13
  protected description: string;
@@ -11,5 +18,13 @@ export declare class CollectionIndexesTool extends MongoDBToolBase {
11
18
  operationType: OperationType;
12
19
  protected execute({ database, collection }: ToolArgs<typeof DbOperationArgs>): Promise<CallToolResult>;
13
20
  protected handleError(error: unknown, args: ToolArgs<typeof this.argsShape>): Promise<CallToolResult> | CallToolResult;
21
+ /**
22
+ * Atlas Search index status contains a lot of information that is not relevant for the agent at this stage.
23
+ * Like for example, the status on each of the dedicated nodes. We only care about the main status, if it's
24
+ * queryable and the index name. We are also picking the index definition as it can be used by the agent to
25
+ * understand which fields are available for searching.
26
+ **/
27
+ protected extractSearchIndexDetails(indexes: Record<string, unknown>[]): SearchIndexStatus[];
14
28
  }
29
+ export {};
15
30
  //# sourceMappingURL=collectionIndexes.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"collectionIndexes.d.ts","sourceRoot":"","sources":["../../../../../src/tools/mongodb/metadata/collectionIndexes.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,oCAAoC,CAAC;AACzE,OAAO,EAAE,eAAe,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACrE,OAAO,KAAK,EAAE,QAAQ,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AAG7D,qBAAa,qBAAsB,SAAQ,eAAe;IAC/C,IAAI,SAAwB;IACnC,SAAS,CAAC,WAAW,SAA2C;IAChE,SAAS,CAAC,SAAS;;;MAAmB;IAC/B,aAAa,EAAE,aAAa,CAAc;cAEjC,OAAO,CAAC,EAAE,QAAQ,EAAE,UAAU,EAAE,EAAE,QAAQ,CAAC,OAAO,eAAe,CAAC,GAAG,OAAO,CAAC,cAAc,CAAC;IAgB5G,SAAS,CAAC,WAAW,CACjB,KAAK,EAAE,OAAO,EACd,IAAI,EAAE,QAAQ,CAAC,OAAO,IAAI,CAAC,SAAS,CAAC,GACtC,OAAO,CAAC,cAAc,CAAC,GAAG,cAAc;CAe9C"}
1
+ {"version":3,"file":"collectionIndexes.d.ts","sourceRoot":"","sources":["../../../../../src/tools/mongodb/metadata/collectionIndexes.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,oCAAoC,CAAC;AACzE,OAAO,EAAE,eAAe,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACrE,OAAO,KAAK,EAAE,QAAQ,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AAG7D,KAAK,iBAAiB,GAAG;IACrB,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,EAAE,OAAO,CAAC;IACnB,gBAAgB,EAAE,QAAQ,CAAC;CAC9B,CAAC;AAOF,qBAAa,qBAAsB,SAAQ,eAAe;IAC/C,IAAI,SAAwB;IACnC,SAAS,CAAC,WAAW,SAA2C;IAChE,SAAS,CAAC,SAAS;;;MAAmB;IAC/B,aAAa,EAAE,aAAa,CAAc;cAEjC,OAAO,CAAC,EAAE,QAAQ,EAAE,UAAU,EAAE,EAAE,QAAQ,CAAC,OAAO,eAAe,CAAC,GAAG,OAAO,CAAC,cAAc,CAAC;IA8B5G,SAAS,CAAC,WAAW,CACjB,KAAK,EAAE,OAAO,EACd,IAAI,EAAE,QAAQ,CAAC,OAAO,IAAI,CAAC,SAAS,CAAC,GACtC,OAAO,CAAC,cAAc,CAAC,GAAG,cAAc;IAgB3C;;;;;QAKI;IACJ,SAAS,CAAC,yBAAyB,CAAC,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,GAAG,iBAAiB,EAAE;CAS/F"}
@@ -11,12 +11,22 @@ export class CollectionIndexesTool extends MongoDBToolBase {
11
11
  async execute({ database, collection }) {
12
12
  const provider = await this.ensureConnected();
13
13
  const indexes = await provider.getIndexes(database, collection);
14
+ const indexDefinitions = indexes.map((index) => ({
15
+ name: index.name,
16
+ key: index.key,
17
+ }));
18
+ const searchIndexDefinitions = [];
19
+ if (this.isFeatureFlagEnabled("vectorSearch" /* FeatureFlags.VectorSearch */) && (await this.session.isSearchSupported())) {
20
+ const searchIndexes = await provider.getSearchIndexes(database, collection);
21
+ searchIndexDefinitions.push(...this.extractSearchIndexDetails(searchIndexes));
22
+ }
14
23
  return {
15
- content: formatUntrustedData(`Found ${indexes.length} indexes in the collection "${collection}":`, indexes.length > 0
16
- ? indexes
17
- .map((index) => `Name: "${index.name}", definition: ${JSON.stringify(index.key)}`)
18
- .join("\n")
19
- : undefined),
24
+ content: [
25
+ ...formatUntrustedData(`Found ${indexDefinitions.length} indexes in the collection "${collection}":`, ...indexDefinitions.map((i) => JSON.stringify(i))),
26
+ ...(searchIndexDefinitions.length > 0
27
+ ? formatUntrustedData(`Found ${searchIndexDefinitions.length} search and vector search indexes in the collection "${collection}":`, ...searchIndexDefinitions.map((i) => JSON.stringify(i)))
28
+ : []),
29
+ ],
20
30
  };
21
31
  }
22
32
  handleError(error, args) {
@@ -33,5 +43,20 @@ export class CollectionIndexesTool extends MongoDBToolBase {
33
43
  }
34
44
  return super.handleError(error, args);
35
45
  }
46
+ /**
47
+ * Atlas Search index status contains a lot of information that is not relevant for the agent at this stage.
48
+ * Like for example, the status on each of the dedicated nodes. We only care about the main status, if it's
49
+ * queryable and the index name. We are also picking the index definition as it can be used by the agent to
50
+ * understand which fields are available for searching.
51
+ **/
52
+ extractSearchIndexDetails(indexes) {
53
+ return indexes.map((index) => ({
54
+ name: (index["name"] ?? "default"),
55
+ type: (index["type"] ?? "UNKNOWN"),
56
+ status: (index["status"] ?? "UNKNOWN"),
57
+ queryable: (index["queryable"] ?? false),
58
+ latestDefinition: index["latestDefinition"],
59
+ }));
60
+ }
36
61
  }
37
62
  //# sourceMappingURL=collectionIndexes.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"collectionIndexes.js","sourceRoot":"","sources":["../../../../../src/tools/mongodb/metadata/collectionIndexes.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,eAAe,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AAErE,OAAO,EAAE,mBAAmB,EAAE,MAAM,eAAe,CAAC;AAEpD,MAAM,OAAO,qBAAsB,SAAQ,eAAe;IAA1D;;QACW,SAAI,GAAG,oBAAoB,CAAC;QACzB,gBAAW,GAAG,uCAAuC,CAAC;QACtD,cAAS,GAAG,eAAe,CAAC;QAC/B,kBAAa,GAAkB,UAAU,CAAC;IAoCrD,CAAC;IAlCa,KAAK,CAAC,OAAO,CAAC,EAAE,QAAQ,EAAE,UAAU,EAAoC;QAC9E,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,eAAe,EAAE,CAAC;QAC9C,MAAM,OAAO,GAAG,MAAM,QAAQ,CAAC,UAAU,CAAC,QAAQ,EAAE,UAAU,CAAC,CAAC;QAEhE,OAAO;YACH,OAAO,EAAE,mBAAmB,CACxB,SAAS,OAAO,CAAC,MAAM,+BAA+B,UAAU,IAAI,EACpE,OAAO,CAAC,MAAM,GAAG,CAAC;gBACd,CAAC,CAAC,OAAO;qBACF,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,UAAU,KAAK,CAAC,IAAI,kBAAkB,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC;qBACjF,IAAI,CAAC,IAAI,CAAC;gBACjB,CAAC,CAAC,SAAS,CAClB;SACJ,CAAC;IACN,CAAC;IAES,WAAW,CACjB,KAAc,EACd,IAAqC;QAErC,IAAI,KAAK,YAAY,KAAK,IAAI,UAAU,IAAI,KAAK,IAAI,KAAK,CAAC,QAAQ,KAAK,mBAAmB,EAAE,CAAC;YAC1F,OAAO;gBACH,OAAO,EAAE;oBACL;wBACI,IAAI,EAAE,oBAAoB,IAAI,CAAC,QAAQ,IAAI,IAAI,CAAC,UAAU,+DAA+D;wBACzH,IAAI,EAAE,MAAM;qBACf;iBACJ;gBACD,OAAO,EAAE,IAAI;aAChB,CAAC;QACN,CAAC;QAED,OAAO,KAAK,CAAC,WAAW,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;IAC1C,CAAC;CACJ"}
1
+ {"version":3,"file":"collectionIndexes.js","sourceRoot":"","sources":["../../../../../src/tools/mongodb/metadata/collectionIndexes.ts"],"names":[],"mappings":"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"}
@@ -9,33 +9,215 @@ export declare class ExplainTool extends MongoDBToolBase {
9
9
  method: z.ZodArray<z.ZodDiscriminatedUnion<"name", [z.ZodObject<{
10
10
  name: z.ZodLiteral<"aggregate">;
11
11
  arguments: z.ZodObject<{
12
- pipeline: z.ZodArray<z.AnyZodObject, "many">;
12
+ pipeline: z.ZodArray<z.ZodUnion<[z.AnyZodObject, z.ZodObject<{
13
+ $vectorSearch: z.ZodObject<{
14
+ exact: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>;
15
+ index: z.ZodString;
16
+ path: z.ZodString;
17
+ queryVector: z.ZodUnion<[z.ZodString, z.ZodArray<z.ZodNumber, "many">]>;
18
+ numCandidates: z.ZodOptional<z.ZodNumber>;
19
+ limit: z.ZodDefault<z.ZodOptional<z.ZodNumber>>;
20
+ filter: z.ZodOptional<z.AnyZodObject>;
21
+ embeddingParameters: z.ZodOptional<z.ZodObject<{
22
+ outputDimension: z.ZodDefault<z.ZodOptional<z.ZodUnion<[z.ZodLiteral<256>, z.ZodLiteral<512>, z.ZodLiteral<1024>, z.ZodLiteral<2048>, z.ZodLiteral<4096>]>>>;
23
+ outputDType: z.ZodDefault<z.ZodOptional<z.ZodEnum<["float", "int8", "uint8", "binary", "ubinary"]>>>;
24
+ } & {
25
+ model: z.ZodDefault<z.ZodEnum<["voyage-3-large", "voyage-3.5", "voyage-3.5-lite", "voyage-code-3"]>>;
26
+ }, "strip", z.ZodTypeAny, {
27
+ outputDimension: 256 | 512 | 1024 | 2048 | 4096;
28
+ outputDType: "binary" | "float" | "int8" | "uint8" | "ubinary";
29
+ model: "voyage-3-large" | "voyage-3.5" | "voyage-3.5-lite" | "voyage-code-3";
30
+ }, {
31
+ outputDimension?: 256 | 512 | 1024 | 2048 | 4096 | undefined;
32
+ outputDType?: "binary" | "float" | "int8" | "uint8" | "ubinary" | undefined;
33
+ model?: "voyage-3-large" | "voyage-3.5" | "voyage-3.5-lite" | "voyage-code-3" | undefined;
34
+ }>>;
35
+ }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
36
+ exact: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>;
37
+ index: z.ZodString;
38
+ path: z.ZodString;
39
+ queryVector: z.ZodUnion<[z.ZodString, z.ZodArray<z.ZodNumber, "many">]>;
40
+ numCandidates: z.ZodOptional<z.ZodNumber>;
41
+ limit: z.ZodDefault<z.ZodOptional<z.ZodNumber>>;
42
+ filter: z.ZodOptional<z.AnyZodObject>;
43
+ embeddingParameters: z.ZodOptional<z.ZodObject<{
44
+ outputDimension: z.ZodDefault<z.ZodOptional<z.ZodUnion<[z.ZodLiteral<256>, z.ZodLiteral<512>, z.ZodLiteral<1024>, z.ZodLiteral<2048>, z.ZodLiteral<4096>]>>>;
45
+ outputDType: z.ZodDefault<z.ZodOptional<z.ZodEnum<["float", "int8", "uint8", "binary", "ubinary"]>>>;
46
+ } & {
47
+ model: z.ZodDefault<z.ZodEnum<["voyage-3-large", "voyage-3.5", "voyage-3.5-lite", "voyage-code-3"]>>;
48
+ }, "strip", z.ZodTypeAny, {
49
+ outputDimension: 256 | 512 | 1024 | 2048 | 4096;
50
+ outputDType: "binary" | "float" | "int8" | "uint8" | "ubinary";
51
+ model: "voyage-3-large" | "voyage-3.5" | "voyage-3.5-lite" | "voyage-code-3";
52
+ }, {
53
+ outputDimension?: 256 | 512 | 1024 | 2048 | 4096 | undefined;
54
+ outputDType?: "binary" | "float" | "int8" | "uint8" | "ubinary" | undefined;
55
+ model?: "voyage-3-large" | "voyage-3.5" | "voyage-3.5-lite" | "voyage-code-3" | undefined;
56
+ }>>;
57
+ }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
58
+ exact: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>;
59
+ index: z.ZodString;
60
+ path: z.ZodString;
61
+ queryVector: z.ZodUnion<[z.ZodString, z.ZodArray<z.ZodNumber, "many">]>;
62
+ numCandidates: z.ZodOptional<z.ZodNumber>;
63
+ limit: z.ZodDefault<z.ZodOptional<z.ZodNumber>>;
64
+ filter: z.ZodOptional<z.AnyZodObject>;
65
+ embeddingParameters: z.ZodOptional<z.ZodObject<{
66
+ outputDimension: z.ZodDefault<z.ZodOptional<z.ZodUnion<[z.ZodLiteral<256>, z.ZodLiteral<512>, z.ZodLiteral<1024>, z.ZodLiteral<2048>, z.ZodLiteral<4096>]>>>;
67
+ outputDType: z.ZodDefault<z.ZodOptional<z.ZodEnum<["float", "int8", "uint8", "binary", "ubinary"]>>>;
68
+ } & {
69
+ model: z.ZodDefault<z.ZodEnum<["voyage-3-large", "voyage-3.5", "voyage-3.5-lite", "voyage-code-3"]>>;
70
+ }, "strip", z.ZodTypeAny, {
71
+ outputDimension: 256 | 512 | 1024 | 2048 | 4096;
72
+ outputDType: "binary" | "float" | "int8" | "uint8" | "ubinary";
73
+ model: "voyage-3-large" | "voyage-3.5" | "voyage-3.5-lite" | "voyage-code-3";
74
+ }, {
75
+ outputDimension?: 256 | 512 | 1024 | 2048 | 4096 | undefined;
76
+ outputDType?: "binary" | "float" | "int8" | "uint8" | "ubinary" | undefined;
77
+ model?: "voyage-3-large" | "voyage-3.5" | "voyage-3.5-lite" | "voyage-code-3" | undefined;
78
+ }>>;
79
+ }, z.ZodTypeAny, "passthrough">>;
80
+ }, "strip", z.ZodTypeAny, {
81
+ $vectorSearch: {
82
+ path: string;
83
+ exact: boolean;
84
+ index: string;
85
+ limit: number;
86
+ queryVector: string | number[];
87
+ filter?: {
88
+ [x: string]: any;
89
+ } | undefined;
90
+ embeddingParameters?: {
91
+ outputDimension: 256 | 512 | 1024 | 2048 | 4096;
92
+ outputDType: "binary" | "float" | "int8" | "uint8" | "ubinary";
93
+ model: "voyage-3-large" | "voyage-3.5" | "voyage-3.5-lite" | "voyage-code-3";
94
+ } | undefined;
95
+ numCandidates?: number | undefined;
96
+ } & {
97
+ [k: string]: unknown;
98
+ };
99
+ }, {
100
+ $vectorSearch: {
101
+ path: string;
102
+ index: string;
103
+ queryVector: string | number[];
104
+ exact?: boolean | undefined;
105
+ filter?: {
106
+ [x: string]: any;
107
+ } | undefined;
108
+ embeddingParameters?: {
109
+ outputDimension?: 256 | 512 | 1024 | 2048 | 4096 | undefined;
110
+ outputDType?: "binary" | "float" | "int8" | "uint8" | "ubinary" | undefined;
111
+ model?: "voyage-3-large" | "voyage-3.5" | "voyage-3.5-lite" | "voyage-code-3" | undefined;
112
+ } | undefined;
113
+ limit?: number | undefined;
114
+ numCandidates?: number | undefined;
115
+ } & {
116
+ [k: string]: unknown;
117
+ };
118
+ }>]>, "many">;
13
119
  responseBytesLimit: z.ZodDefault<z.ZodOptional<z.ZodNumber>>;
14
120
  }, "strip", z.ZodTypeAny, {
15
121
  responseBytesLimit: number;
16
- pipeline: {
122
+ pipeline: ({
17
123
  [x: string]: any;
18
- }[];
124
+ } | {
125
+ $vectorSearch: {
126
+ path: string;
127
+ exact: boolean;
128
+ index: string;
129
+ limit: number;
130
+ queryVector: string | number[];
131
+ filter?: {
132
+ [x: string]: any;
133
+ } | undefined;
134
+ embeddingParameters?: {
135
+ outputDimension: 256 | 512 | 1024 | 2048 | 4096;
136
+ outputDType: "binary" | "float" | "int8" | "uint8" | "ubinary";
137
+ model: "voyage-3-large" | "voyage-3.5" | "voyage-3.5-lite" | "voyage-code-3";
138
+ } | undefined;
139
+ numCandidates?: number | undefined;
140
+ } & {
141
+ [k: string]: unknown;
142
+ };
143
+ })[];
19
144
  }, {
20
- pipeline: {
145
+ pipeline: ({
21
146
  [x: string]: any;
22
- }[];
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
+ })[];
23
167
  responseBytesLimit?: number | undefined;
24
168
  }>;
25
169
  }, "strip", z.ZodTypeAny, {
26
170
  name: "aggregate";
27
171
  arguments: {
28
172
  responseBytesLimit: number;
29
- pipeline: {
173
+ pipeline: ({
30
174
  [x: string]: any;
31
- }[];
175
+ } | {
176
+ $vectorSearch: {
177
+ path: string;
178
+ exact: boolean;
179
+ index: string;
180
+ limit: number;
181
+ queryVector: string | number[];
182
+ filter?: {
183
+ [x: string]: any;
184
+ } | undefined;
185
+ embeddingParameters?: {
186
+ outputDimension: 256 | 512 | 1024 | 2048 | 4096;
187
+ outputDType: "binary" | "float" | "int8" | "uint8" | "ubinary";
188
+ model: "voyage-3-large" | "voyage-3.5" | "voyage-3.5-lite" | "voyage-code-3";
189
+ } | undefined;
190
+ numCandidates?: number | undefined;
191
+ } & {
192
+ [k: string]: unknown;
193
+ };
194
+ })[];
32
195
  };
33
196
  }, {
34
197
  name: "aggregate";
35
198
  arguments: {
36
- pipeline: {
199
+ pipeline: ({
37
200
  [x: string]: any;
38
- }[];
201
+ } | {
202
+ $vectorSearch: {
203
+ path: string;
204
+ index: string;
205
+ queryVector: string | number[];
206
+ exact?: boolean | undefined;
207
+ filter?: {
208
+ [x: string]: any;
209
+ } | undefined;
210
+ embeddingParameters?: {
211
+ outputDimension?: 256 | 512 | 1024 | 2048 | 4096 | undefined;
212
+ outputDType?: "binary" | "float" | "int8" | "uint8" | "ubinary" | undefined;
213
+ model?: "voyage-3-large" | "voyage-3.5" | "voyage-3.5-lite" | "voyage-code-3" | undefined;
214
+ } | undefined;
215
+ limit?: number | undefined;
216
+ numCandidates?: number | undefined;
217
+ } & {
218
+ [k: string]: unknown;
219
+ };
220
+ })[];
39
221
  responseBytesLimit?: number | undefined;
40
222
  };
41
223
  }>, z.ZodObject<{
@@ -1 +1 @@
1
- {"version":3,"file":"explain.d.ts","sourceRoot":"","sources":["../../../../../src/tools/mongodb/metadata/explain.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,oCAAoC,CAAC;AACzE,OAAO,EAAmB,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACrE,OAAO,KAAK,EAAE,QAAQ,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AAE7D,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAMxB,qBAAa,WAAY,SAAQ,eAAe;IACrC,IAAI,SAAa;IACxB,SAAS,CAAC,WAAW,SACwG;IAE7H,SAAS,CAAC,SAAS;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;MA2BjB;IAEK,aAAa,EAAE,aAAa,CAAc;cAEjC,OAAO,CAAC,EACpB,QAAQ,EACR,UAAU,EACV,MAAM,EAAE,OAAO,EACf,SAAS,GACZ,EAAE,QAAQ,CAAC,OAAO,IAAI,CAAC,SAAS,CAAC,GAAG,OAAO,CAAC,cAAc,CAAC;CAkD/D"}
1
+ {"version":3,"file":"explain.d.ts","sourceRoot":"","sources":["../../../../../src/tools/mongodb/metadata/explain.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,oCAAoC,CAAC;AACzE,OAAO,EAAmB,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACrE,OAAO,KAAK,EAAE,QAAQ,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AAE7D,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAMxB,qBAAa,WAAY,SAAQ,eAAe;IACrC,IAAI,SAAa;IACxB,SAAS,CAAC,WAAW,SACwG;IAE7H,SAAS,CAAC,SAAS;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;MA2BjB;IAEK,aAAa,EAAE,aAAa,CAAc;cAEjC,OAAO,CAAC,EACpB,QAAQ,EACR,UAAU,EACV,MAAM,EAAE,OAAO,EACf,SAAS,GACZ,EAAE,QAAQ,CAAC,OAAO,IAAI,CAAC,SAAS,CAAC,GAAG,OAAO,CAAC,cAAc,CAAC;CAkD/D"}
@@ -1 +1 @@
1
- {"version":3,"file":"listDatabases.d.ts","sourceRoot":"","sources":["../../../../../src/tools/mongodb/metadata/listDatabases.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,oCAAoC,CAAC;AACzE,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AAEpD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AAGnD,qBAAa,iBAAkB,SAAQ,eAAe;IAC3C,IAAI,SAAoB;IAC/B,SAAS,CAAC,WAAW,SAAiD;IACtE,SAAS,CAAC,SAAS,KAAM;IAClB,aAAa,EAAE,aAAa,CAAc;cAEjC,OAAO,IAAI,OAAO,CAAC,cAAc,CAAC;CAarD"}
1
+ {"version":3,"file":"listDatabases.d.ts","sourceRoot":"","sources":["../../../../../src/tools/mongodb/metadata/listDatabases.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,oCAAoC,CAAC;AACzE,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AAEpD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AAGnD,qBAAa,iBAAkB,SAAQ,eAAe;IAC3C,IAAI,SAAoB;IAC/B,SAAS,CAAC,WAAW,SAAiD;IACtE,SAAS,CAAC,SAAS,KAAM;IAClB,aAAa,EAAE,aAAa,CAAc;cAEjC,OAAO,IAAI,OAAO,CAAC,cAAc,CAAC;CAWrD"}
@@ -12,9 +12,7 @@ export class ListDatabasesTool extends MongoDBToolBase {
12
12
  const provider = await this.ensureConnected();
13
13
  const dbs = (await provider.listDatabases("")).databases;
14
14
  return {
15
- content: formatUntrustedData(`Found ${dbs.length} databases`, dbs.length > 0
16
- ? dbs.map((db) => `Name: ${db.name}, Size: ${db.sizeOnDisk.toString()} bytes`).join("\n")
17
- : undefined),
15
+ content: formatUntrustedData(`Found ${dbs.length} databases`, ...dbs.map((db) => `Name: ${db.name}, Size: ${db.sizeOnDisk.toString()} bytes`)),
18
16
  };
19
17
  }
20
18
  }
@@ -1 +1 @@
1
- {"version":3,"file":"listDatabases.js","sourceRoot":"","sources":["../../../../../src/tools/mongodb/metadata/listDatabases.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AAGpD,OAAO,EAAE,mBAAmB,EAAE,MAAM,eAAe,CAAC;AAEpD,MAAM,OAAO,iBAAkB,SAAQ,eAAe;IAAtD;;QACW,SAAI,GAAG,gBAAgB,CAAC;QACrB,gBAAW,GAAG,6CAA6C,CAAC;QAC5D,cAAS,GAAG,EAAE,CAAC;QAClB,kBAAa,GAAkB,UAAU,CAAC;IAerD,CAAC;IAba,KAAK,CAAC,OAAO;QACnB,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,eAAe,EAAE,CAAC;QAC9C,MAAM,GAAG,GAAG,CAAC,MAAM,QAAQ,CAAC,aAAa,CAAC,EAAE,CAAC,CAAC,CAAC,SAAsD,CAAC;QAEtG,OAAO;YACH,OAAO,EAAE,mBAAmB,CACxB,SAAS,GAAG,CAAC,MAAM,YAAY,EAC/B,GAAG,CAAC,MAAM,GAAG,CAAC;gBACV,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,SAAS,EAAE,CAAC,IAAI,WAAW,EAAE,CAAC,UAAU,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC;gBACzF,CAAC,CAAC,SAAS,CAClB;SACJ,CAAC;IACN,CAAC;CACJ"}
1
+ {"version":3,"file":"listDatabases.js","sourceRoot":"","sources":["../../../../../src/tools/mongodb/metadata/listDatabases.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AAGpD,OAAO,EAAE,mBAAmB,EAAE,MAAM,eAAe,CAAC;AAEpD,MAAM,OAAO,iBAAkB,SAAQ,eAAe;IAAtD;;QACW,SAAI,GAAG,gBAAgB,CAAC;QACrB,gBAAW,GAAG,6CAA6C,CAAC;QAC5D,cAAS,GAAG,EAAE,CAAC;QAClB,kBAAa,GAAkB,UAAU,CAAC;IAarD,CAAC;IAXa,KAAK,CAAC,OAAO;QACnB,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,eAAe,EAAE,CAAC;QAC9C,MAAM,GAAG,GAAG,CAAC,MAAM,QAAQ,CAAC,aAAa,CAAC,EAAE,CAAC,CAAC,CAAC,SAAsD,CAAC;QAEtG,OAAO;YACH,OAAO,EAAE,mBAAmB,CACxB,SAAS,GAAG,CAAC,MAAM,YAAY,EAC/B,GAAG,GAAG,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,SAAS,EAAE,CAAC,IAAI,WAAW,EAAE,CAAC,UAAU,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAClF;SACJ,CAAC;IACN,CAAC;CACJ"}
@@ -9,12 +9,13 @@ export declare const DbOperationArgs: {
9
9
  collection: z.ZodString;
10
10
  };
11
11
  export declare abstract class MongoDBToolBase extends ToolBase {
12
- private server?;
12
+ protected server?: Server;
13
13
  category: ToolCategory;
14
14
  protected ensureConnected(): Promise<NodeDriverServiceProvider>;
15
+ protected ensureSearchIsSupported(): Promise<void>;
15
16
  register(server: Server): boolean;
16
17
  protected handleError(error: unknown, args: ToolArgs<typeof this.argsShape>): Promise<CallToolResult> | CallToolResult;
17
18
  protected connectToMongoDB(connectionString: string): Promise<void>;
18
- protected resolveTelemetryMetadata(args: ToolArgs<typeof this.argsShape>): TelemetryToolMetadata;
19
+ protected resolveTelemetryMetadata(result: CallToolResult, args: ToolArgs<typeof this.argsShape>): TelemetryToolMetadata;
19
20
  }
20
21
  //# sourceMappingURL=mongodbTool.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"mongodbTool.d.ts","sourceRoot":"","sources":["../../../../src/tools/mongodb/mongodbTool.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,KAAK,EAAE,QAAQ,EAAE,YAAY,EAAE,qBAAqB,EAAE,MAAM,YAAY,CAAC;AAChF,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AACtC,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,uCAAuC,CAAC;AACvF,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,oCAAoC,CAAC;AAGzE,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,iBAAiB,CAAC;AAE9C,eAAO,MAAM,eAAe;;;CAG3B,CAAC;AAEF,8BAAsB,eAAgB,SAAQ,QAAQ;IAClD,OAAO,CAAC,MAAM,CAAC,CAAS;IACjB,QAAQ,EAAE,YAAY,CAAa;cAE1B,eAAe,IAAI,OAAO,CAAC,yBAAyB,CAAC;IA8B9D,QAAQ,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO;IAKxC,SAAS,CAAC,WAAW,CACjB,KAAK,EAAE,OAAO,EACd,IAAI,EAAE,QAAQ,CAAC,OAAO,IAAI,CAAC,SAAS,CAAC,GACtC,OAAO,CAAC,cAAc,CAAC,GAAG,cAAc;IAkC3C,SAAS,CAAC,gBAAgB,CAAC,gBAAgB,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAInE,SAAS,CAAC,wBAAwB,CAE9B,IAAI,EAAE,QAAQ,CAAC,OAAO,IAAI,CAAC,SAAS,CAAC,GACtC,qBAAqB;CAU3B"}
1
+ {"version":3,"file":"mongodbTool.d.ts","sourceRoot":"","sources":["../../../../src/tools/mongodb/mongodbTool.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,KAAK,EAAE,QAAQ,EAAE,YAAY,EAAE,qBAAqB,EAAE,MAAM,YAAY,CAAC;AAChF,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AACtC,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,uCAAuC,CAAC;AACvF,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,oCAAoC,CAAC;AAGzE,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,iBAAiB,CAAC;AAE9C,eAAO,MAAM,eAAe;;;CAG3B,CAAC;AAEF,8BAAsB,eAAgB,SAAQ,QAAQ;IAClD,SAAS,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC;IACnB,QAAQ,EAAE,YAAY,CAAa;cAE1B,eAAe,IAAI,OAAO,CAAC,yBAAyB,CAAC;IA8BrE,SAAS,CAAC,uBAAuB,IAAI,OAAO,CAAC,IAAI,CAAC;IAI3C,QAAQ,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO;IAKxC,SAAS,CAAC,WAAW,CACjB,KAAK,EAAE,OAAO,EACd,IAAI,EAAE,QAAQ,CAAC,OAAO,IAAI,CAAC,SAAS,CAAC,GACtC,OAAO,CAAC,cAAc,CAAC,GAAG,cAAc;IAgD3C,SAAS,CAAC,gBAAgB,CAAC,gBAAgB,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAInE,SAAS,CAAC,wBAAwB,CAE9B,MAAM,EAAE,cAAc,EAEtB,IAAI,EAAE,QAAQ,CAAC,OAAO,IAAI,CAAC,SAAS,CAAC,GACtC,qBAAqB;CAU3B"}
@@ -35,6 +35,9 @@ export class MongoDBToolBase extends ToolBase {
35
35
  }
36
36
  return this.session.serviceProvider;
37
37
  }
38
+ ensureSearchIsSupported() {
39
+ return this.session.assertSearchSupported();
40
+ }
38
41
  register(server) {
39
42
  this.server = server;
40
43
  return super.register(server);
@@ -64,6 +67,20 @@ export class MongoDBToolBase extends ToolBase {
64
67
  ],
65
68
  isError: true,
66
69
  };
70
+ case ErrorCodes.AtlasSearchNotSupported: {
71
+ const CTA = this.server?.isToolCategoryAvailable("atlas-local")
72
+ ? "`atlas-local` tools"
73
+ : "Atlas CLI";
74
+ return {
75
+ content: [
76
+ {
77
+ text: `The connected MongoDB deployment does not support vector search indexes. Either connect to a MongoDB Atlas cluster or use the ${CTA} to create and manage a local Atlas deployment.`,
78
+ type: "text",
79
+ },
80
+ ],
81
+ isError: true,
82
+ };
83
+ }
67
84
  }
68
85
  }
69
86
  return super.handleError(error, args);
@@ -73,6 +90,8 @@ export class MongoDBToolBase extends ToolBase {
73
90
  }
74
91
  resolveTelemetryMetadata(
75
92
  // eslint-disable-next-line @typescript-eslint/no-unused-vars
93
+ result,
94
+ // eslint-disable-next-line @typescript-eslint/no-unused-vars
76
95
  args) {
77
96
  const metadata = {};
78
97
  // Add projectId to the metadata if running a MongoDB operation to an Atlas cluster
@@ -1 +1 @@
1
- {"version":3,"file":"mongodbTool.js","sourceRoot":"","sources":["../../../../src/tools/mongodb/mongodbTool.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"mongodbTool.js","sourceRoot":"","sources":["../../../../src/tools/mongodb/mongodbTool.ts"],"names":[],"mappings":"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"}