mongodb-mcp-server 1.1.0 → 1.3.0-pre.1

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 (506) hide show
  1. package/README.md +64 -28
  2. package/dist/cjs/common/atlas/accessListUtils.js +1 -1
  3. package/dist/cjs/common/atlas/accessListUtils.js.map +1 -1
  4. package/dist/cjs/common/atlas/apiClient.d.ts +30 -26
  5. package/dist/cjs/common/atlas/apiClient.d.ts.map +1 -1
  6. package/dist/cjs/common/atlas/apiClient.js +12 -12
  7. package/dist/cjs/common/atlas/apiClient.js.map +1 -1
  8. package/dist/cjs/common/atlas/cluster.d.ts +7 -2
  9. package/dist/cjs/common/atlas/cluster.d.ts.map +1 -1
  10. package/dist/cjs/common/atlas/cluster.js +18 -4
  11. package/dist/cjs/common/atlas/cluster.js.map +1 -1
  12. package/dist/cjs/common/atlas/performanceAdvisorUtils.js +2 -2
  13. package/dist/cjs/common/atlas/performanceAdvisorUtils.js.map +1 -1
  14. package/dist/cjs/common/atlas/roles.d.ts +1 -1
  15. package/dist/cjs/common/atlas/roles.d.ts.map +1 -1
  16. package/dist/cjs/common/atlasLocal.d.ts +4 -0
  17. package/dist/cjs/common/atlasLocal.d.ts.map +1 -0
  18. package/dist/cjs/common/atlasLocal.js +57 -0
  19. package/dist/cjs/common/atlasLocal.js.map +1 -0
  20. package/dist/cjs/common/config/argsParserOptions.d.ts +12 -0
  21. package/dist/cjs/common/config/argsParserOptions.d.ts.map +1 -0
  22. package/dist/cjs/common/config/argsParserOptions.js +103 -0
  23. package/dist/cjs/common/config/argsParserOptions.js.map +1 -0
  24. package/dist/cjs/common/config/configOverrides.d.ts +30 -0
  25. package/dist/cjs/common/config/configOverrides.d.ts.map +1 -0
  26. package/dist/cjs/common/config/configOverrides.js +145 -0
  27. package/dist/cjs/common/config/configOverrides.js.map +1 -0
  28. package/dist/cjs/common/config/configUtils.d.ts +43 -0
  29. package/dist/cjs/common/config/configUtils.d.ts.map +1 -0
  30. package/dist/cjs/common/config/configUtils.js +178 -0
  31. package/dist/cjs/common/config/configUtils.js.map +1 -0
  32. package/dist/cjs/common/config/createUserConfig.d.ts +10 -0
  33. package/dist/cjs/common/config/createUserConfig.d.ts.map +1 -0
  34. package/dist/cjs/common/config/createUserConfig.js +156 -0
  35. package/dist/cjs/common/config/createUserConfig.js.map +1 -0
  36. package/dist/cjs/common/config/userConfig.d.ts +54 -0
  37. package/dist/cjs/common/config/userConfig.d.ts.map +1 -0
  38. package/dist/cjs/common/config/userConfig.js +180 -0
  39. package/dist/cjs/common/config/userConfig.js.map +1 -0
  40. package/dist/cjs/common/connectionErrorHandler.d.ts.map +1 -1
  41. package/dist/cjs/common/connectionErrorHandler.js +15 -6
  42. package/dist/cjs/common/connectionErrorHandler.js.map +1 -1
  43. package/dist/cjs/common/connectionManager.d.ts +6 -5
  44. package/dist/cjs/common/connectionManager.d.ts.map +1 -1
  45. package/dist/cjs/common/connectionManager.js +29 -19
  46. package/dist/cjs/common/connectionManager.js.map +1 -1
  47. package/dist/cjs/common/errors.d.ts +6 -1
  48. package/dist/cjs/common/errors.d.ts.map +1 -1
  49. package/dist/cjs/common/errors.js +5 -0
  50. package/dist/cjs/common/errors.js.map +1 -1
  51. package/dist/cjs/common/exportsManager.d.ts +1 -1
  52. package/dist/cjs/common/exportsManager.d.ts.map +1 -1
  53. package/dist/cjs/common/logger.d.ts +2 -0
  54. package/dist/cjs/common/logger.d.ts.map +1 -1
  55. package/dist/cjs/common/logger.js +2 -0
  56. package/dist/cjs/common/logger.js.map +1 -1
  57. package/dist/cjs/common/packageInfo.js +1 -1
  58. package/dist/cjs/common/packageInfo.js.map +1 -1
  59. package/dist/cjs/common/schemas.d.ts +5 -0
  60. package/dist/cjs/common/schemas.d.ts.map +1 -0
  61. package/dist/cjs/common/schemas.js +6 -0
  62. package/dist/cjs/common/schemas.js.map +1 -0
  63. package/dist/cjs/common/search/embeddingsProvider.d.ts +10 -0
  64. package/dist/cjs/common/search/embeddingsProvider.d.ts.map +1 -0
  65. package/dist/cjs/common/search/embeddingsProvider.js +45 -0
  66. package/dist/cjs/common/search/embeddingsProvider.js.map +1 -0
  67. package/dist/cjs/common/search/vectorSearchEmbeddingsManager.d.ts +67 -0
  68. package/dist/cjs/common/search/vectorSearchEmbeddingsManager.d.ts.map +1 -0
  69. package/dist/cjs/common/search/vectorSearchEmbeddingsManager.js +188 -0
  70. package/dist/cjs/common/search/vectorSearchEmbeddingsManager.js.map +1 -0
  71. package/dist/cjs/common/session.d.ts +14 -5
  72. package/dist/cjs/common/session.d.ts.map +1 -1
  73. package/dist/cjs/common/session.js +28 -8
  74. package/dist/cjs/common/session.js.map +1 -1
  75. package/dist/cjs/helpers/assertVectorSearchFilterFieldsAreIndexed.d.ts +27 -0
  76. package/dist/cjs/helpers/assertVectorSearchFilterFieldsAreIndexed.d.ts.map +1 -0
  77. package/dist/cjs/helpers/assertVectorSearchFilterFieldsAreIndexed.js +58 -0
  78. package/dist/cjs/helpers/assertVectorSearchFilterFieldsAreIndexed.js.map +1 -0
  79. package/dist/cjs/index.d.ts +2 -1
  80. package/dist/cjs/index.d.ts.map +1 -1
  81. package/dist/cjs/index.js +44 -16
  82. package/dist/cjs/index.js.map +1 -1
  83. package/dist/cjs/lib.d.ts +6 -2
  84. package/dist/cjs/lib.d.ts.map +1 -1
  85. package/dist/cjs/lib.js +10 -4
  86. package/dist/cjs/lib.js.map +1 -1
  87. package/dist/cjs/resources/common/config.d.ts +1 -1
  88. package/dist/cjs/resources/common/config.d.ts.map +1 -1
  89. package/dist/cjs/resources/common/config.js +4 -3
  90. package/dist/cjs/resources/common/config.js.map +1 -1
  91. package/dist/cjs/resources/resource.d.ts +1 -1
  92. package/dist/cjs/resources/resource.d.ts.map +1 -1
  93. package/dist/cjs/server.d.ts +26 -5
  94. package/dist/cjs/server.d.ts.map +1 -1
  95. package/dist/cjs/server.js +7 -23
  96. package/dist/cjs/server.js.map +1 -1
  97. package/dist/cjs/telemetry/telemetry.d.ts +1 -1
  98. package/dist/cjs/telemetry/telemetry.d.ts.map +1 -1
  99. package/dist/cjs/telemetry/types.d.ts +22 -4
  100. package/dist/cjs/telemetry/types.d.ts.map +1 -1
  101. package/dist/cjs/tools/args.d.ts +1 -0
  102. package/dist/cjs/tools/args.d.ts.map +1 -1
  103. package/dist/cjs/tools/args.js +1 -0
  104. package/dist/cjs/tools/args.js.map +1 -1
  105. package/dist/cjs/tools/atlas/atlasTool.d.ts +3 -2
  106. package/dist/cjs/tools/atlas/atlasTool.d.ts.map +1 -1
  107. package/dist/cjs/tools/atlas/atlasTool.js +3 -3
  108. package/dist/cjs/tools/atlas/atlasTool.js.map +1 -1
  109. package/dist/cjs/tools/atlas/connect/connectCluster.d.ts +6 -1
  110. package/dist/cjs/tools/atlas/connect/connectCluster.d.ts.map +1 -1
  111. package/dist/cjs/tools/atlas/connect/connectCluster.js +46 -21
  112. package/dist/cjs/tools/atlas/connect/connectCluster.js.map +1 -1
  113. package/dist/cjs/tools/atlas/create/createAccessList.js +1 -1
  114. package/dist/cjs/tools/atlas/create/createAccessList.js.map +1 -1
  115. package/dist/cjs/tools/atlas/create/createProject.d.ts +0 -4
  116. package/dist/cjs/tools/atlas/create/createProject.d.ts.map +1 -1
  117. package/dist/cjs/tools/atlas/create/createProject.js +5 -8
  118. package/dist/cjs/tools/atlas/create/createProject.js.map +1 -1
  119. package/dist/cjs/tools/atlas/read/getPerformanceAdvisor.d.ts +4 -1
  120. package/dist/cjs/tools/atlas/read/getPerformanceAdvisor.d.ts.map +1 -1
  121. package/dist/cjs/tools/atlas/read/getPerformanceAdvisor.js +7 -1
  122. package/dist/cjs/tools/atlas/read/getPerformanceAdvisor.js.map +1 -1
  123. package/dist/cjs/tools/atlas/read/inspectAccessList.d.ts.map +1 -1
  124. package/dist/cjs/tools/atlas/read/inspectAccessList.js +7 -8
  125. package/dist/cjs/tools/atlas/read/inspectAccessList.js.map +1 -1
  126. package/dist/cjs/tools/atlas/read/inspectCluster.d.ts.map +1 -1
  127. package/dist/cjs/tools/atlas/read/inspectCluster.js +9 -3
  128. package/dist/cjs/tools/atlas/read/inspectCluster.js.map +1 -1
  129. package/dist/cjs/tools/atlas/read/listAlerts.d.ts.map +1 -1
  130. package/dist/cjs/tools/atlas/read/listAlerts.js +9 -13
  131. package/dist/cjs/tools/atlas/read/listAlerts.js.map +1 -1
  132. package/dist/cjs/tools/atlas/read/listClusters.d.ts.map +1 -1
  133. package/dist/cjs/tools/atlas/read/listClusters.js +9 -25
  134. package/dist/cjs/tools/atlas/read/listClusters.js.map +1 -1
  135. package/dist/cjs/tools/atlas/read/listDBUsers.d.ts.map +1 -1
  136. package/dist/cjs/tools/atlas/read/listDBUsers.js +13 -23
  137. package/dist/cjs/tools/atlas/read/listDBUsers.js.map +1 -1
  138. package/dist/cjs/tools/atlas/read/listOrgs.d.ts.map +1 -1
  139. package/dist/cjs/tools/atlas/read/listOrgs.js +6 -11
  140. package/dist/cjs/tools/atlas/read/listOrgs.js.map +1 -1
  141. package/dist/cjs/tools/atlas/read/listProjects.d.ts +0 -3
  142. package/dist/cjs/tools/atlas/read/listProjects.d.ts.map +1 -1
  143. package/dist/cjs/tools/atlas/read/listProjects.js +18 -23
  144. package/dist/cjs/tools/atlas/read/listProjects.js.map +1 -1
  145. package/dist/cjs/tools/atlasLocal/atlasLocalTool.d.ts +20 -0
  146. package/dist/cjs/tools/atlasLocal/atlasLocalTool.d.ts.map +1 -0
  147. package/dist/cjs/tools/atlasLocal/atlasLocalTool.js +109 -0
  148. package/dist/cjs/tools/atlasLocal/atlasLocalTool.js.map +1 -0
  149. package/dist/cjs/tools/atlasLocal/connect/connectDeployment.d.ts +16 -0
  150. package/dist/cjs/tools/atlasLocal/connect/connectDeployment.d.ts.map +1 -0
  151. package/dist/cjs/tools/atlasLocal/connect/connectDeployment.js +38 -0
  152. package/dist/cjs/tools/atlasLocal/connect/connectDeployment.js.map +1 -0
  153. package/dist/cjs/tools/atlasLocal/create/createDeployment.d.ts +14 -0
  154. package/dist/cjs/tools/atlasLocal/create/createDeployment.d.ts.map +1 -0
  155. package/dist/cjs/tools/atlasLocal/create/createDeployment.js +41 -0
  156. package/dist/cjs/tools/atlasLocal/create/createDeployment.js.map +1 -0
  157. package/dist/cjs/tools/atlasLocal/delete/deleteDeployment.d.ts +14 -0
  158. package/dist/cjs/tools/atlasLocal/delete/deleteDeployment.d.ts.map +1 -0
  159. package/dist/cjs/tools/atlasLocal/delete/deleteDeployment.js +32 -0
  160. package/dist/cjs/tools/atlasLocal/delete/deleteDeployment.js.map +1 -0
  161. package/dist/cjs/tools/atlasLocal/read/listDeployments.d.ts +13 -0
  162. package/dist/cjs/tools/atlasLocal/read/listDeployments.d.ts.map +1 -0
  163. package/dist/cjs/tools/atlasLocal/read/listDeployments.js +42 -0
  164. package/dist/cjs/tools/atlasLocal/read/listDeployments.js.map +1 -0
  165. package/dist/cjs/tools/atlasLocal/tools.d.ts +6 -0
  166. package/dist/cjs/tools/atlasLocal/tools.d.ts.map +1 -0
  167. package/dist/cjs/tools/atlasLocal/tools.js +9 -0
  168. package/dist/cjs/tools/atlasLocal/tools.js.map +1 -0
  169. package/dist/cjs/tools/index.d.ts +7 -0
  170. package/dist/cjs/tools/index.d.ts.map +1 -0
  171. package/dist/cjs/tools/index.js +14 -0
  172. package/dist/cjs/tools/index.js.map +1 -0
  173. package/dist/cjs/tools/mongodb/connect/connect.d.ts +4 -10
  174. package/dist/cjs/tools/mongodb/connect/connect.d.ts.map +1 -1
  175. package/dist/cjs/tools/mongodb/connect/connect.js +17 -70
  176. package/dist/cjs/tools/mongodb/connect/connect.js.map +1 -1
  177. package/dist/cjs/tools/mongodb/connect/switchConnection.d.ts +17 -0
  178. package/dist/cjs/tools/mongodb/connect/switchConnection.d.ts.map +1 -0
  179. package/dist/cjs/tools/mongodb/connect/switchConnection.js +52 -0
  180. package/dist/cjs/tools/mongodb/connect/switchConnection.js.map +1 -0
  181. package/dist/cjs/tools/mongodb/create/createIndex.d.ts +1 -1
  182. package/dist/cjs/tools/mongodb/create/createIndex.d.ts.map +1 -1
  183. package/dist/cjs/tools/mongodb/create/createIndex.js +9 -22
  184. package/dist/cjs/tools/mongodb/create/createIndex.js.map +1 -1
  185. package/dist/cjs/tools/mongodb/create/insertMany.d.ts +22 -2
  186. package/dist/cjs/tools/mongodb/create/insertMany.d.ts.map +1 -1
  187. package/dist/cjs/tools/mongodb/create/insertMany.js +88 -12
  188. package/dist/cjs/tools/mongodb/create/insertMany.js.map +1 -1
  189. package/dist/cjs/tools/mongodb/delete/dropIndex.d.ts +5 -2
  190. package/dist/cjs/tools/mongodb/delete/dropIndex.d.ts.map +1 -1
  191. package/dist/cjs/tools/mongodb/delete/dropIndex.js +36 -3
  192. package/dist/cjs/tools/mongodb/delete/dropIndex.js.map +1 -1
  193. package/dist/cjs/tools/mongodb/metadata/collectionIndexes.d.ts +15 -0
  194. package/dist/cjs/tools/mongodb/metadata/collectionIndexes.d.ts.map +1 -1
  195. package/dist/cjs/tools/mongodb/metadata/collectionIndexes.js +30 -5
  196. package/dist/cjs/tools/mongodb/metadata/collectionIndexes.js.map +1 -1
  197. package/dist/cjs/tools/mongodb/metadata/collectionSchema.js +1 -1
  198. package/dist/cjs/tools/mongodb/metadata/explain.d.ts +192 -10
  199. package/dist/cjs/tools/mongodb/metadata/explain.d.ts.map +1 -1
  200. package/dist/cjs/tools/mongodb/metadata/explain.js +1 -1
  201. package/dist/cjs/tools/mongodb/metadata/explain.js.map +1 -1
  202. package/dist/cjs/tools/mongodb/metadata/listDatabases.d.ts.map +1 -1
  203. package/dist/cjs/tools/mongodb/metadata/listDatabases.js +1 -3
  204. package/dist/cjs/tools/mongodb/metadata/listDatabases.js.map +1 -1
  205. package/dist/cjs/tools/mongodb/mongodbSchemas.d.ts +155 -0
  206. package/dist/cjs/tools/mongodb/mongodbSchemas.d.ts.map +1 -0
  207. package/dist/cjs/tools/mongodb/mongodbSchemas.js +69 -0
  208. package/dist/cjs/tools/mongodb/mongodbSchemas.js.map +1 -0
  209. package/dist/cjs/tools/mongodb/mongodbTool.d.ts +14 -3
  210. package/dist/cjs/tools/mongodb/mongodbTool.d.ts.map +1 -1
  211. package/dist/cjs/tools/mongodb/mongodbTool.js +31 -11
  212. package/dist/cjs/tools/mongodb/mongodbTool.js.map +1 -1
  213. package/dist/cjs/tools/mongodb/read/aggregate.d.ts +218 -4
  214. package/dist/cjs/tools/mongodb/read/aggregate.d.ts.map +1 -1
  215. package/dist/cjs/tools/mongodb/read/aggregate.js +125 -18
  216. package/dist/cjs/tools/mongodb/read/aggregate.js.map +1 -1
  217. package/dist/cjs/tools/mongodb/read/export.d.ts +192 -10
  218. package/dist/cjs/tools/mongodb/read/export.d.ts.map +1 -1
  219. package/dist/cjs/tools/mongodb/read/export.js +3 -1
  220. package/dist/cjs/tools/mongodb/read/export.js.map +1 -1
  221. package/dist/cjs/tools/mongodb/read/find.js +2 -2
  222. package/dist/cjs/tools/mongodb/read/find.js.map +1 -1
  223. package/dist/cjs/tools/mongodb/tools.d.ts +2 -2
  224. package/dist/cjs/tools/mongodb/tools.d.ts.map +1 -1
  225. package/dist/cjs/tools/mongodb/tools.js +2 -2
  226. package/dist/cjs/tools/mongodb/tools.js.map +1 -1
  227. package/dist/cjs/tools/tool.d.ts +14 -24
  228. package/dist/cjs/tools/tool.d.ts.map +1 -1
  229. package/dist/cjs/tools/tool.js +44 -54
  230. package/dist/cjs/tools/tool.js.map +1 -1
  231. package/dist/cjs/transports/base.d.ts +25 -3
  232. package/dist/cjs/transports/base.d.ts.map +1 -1
  233. package/dist/cjs/transports/base.js +41 -10
  234. package/dist/cjs/transports/base.js.map +1 -1
  235. package/dist/cjs/transports/dryModeRunner.d.ts +19 -0
  236. package/dist/cjs/transports/dryModeRunner.d.ts.map +1 -0
  237. package/dist/cjs/transports/dryModeRunner.js +37 -0
  238. package/dist/cjs/transports/dryModeRunner.js.map +1 -0
  239. package/dist/cjs/transports/inMemoryTransport.d.ts +18 -0
  240. package/dist/cjs/transports/inMemoryTransport.d.ts.map +1 -0
  241. package/dist/cjs/transports/inMemoryTransport.js +43 -0
  242. package/dist/cjs/transports/inMemoryTransport.js.map +1 -0
  243. package/dist/cjs/transports/streamableHttp.d.ts.map +1 -1
  244. package/dist/cjs/transports/streamableHttp.js +5 -1
  245. package/dist/cjs/transports/streamableHttp.js.map +1 -1
  246. package/dist/esm/common/atlas/accessListUtils.js +1 -1
  247. package/dist/esm/common/atlas/accessListUtils.js.map +1 -1
  248. package/dist/esm/common/atlas/apiClient.d.ts +30 -26
  249. package/dist/esm/common/atlas/apiClient.d.ts.map +1 -1
  250. package/dist/esm/common/atlas/apiClient.js +12 -12
  251. package/dist/esm/common/atlas/apiClient.js.map +1 -1
  252. package/dist/esm/common/atlas/cluster.d.ts +7 -2
  253. package/dist/esm/common/atlas/cluster.d.ts.map +1 -1
  254. package/dist/esm/common/atlas/cluster.js +17 -4
  255. package/dist/esm/common/atlas/cluster.js.map +1 -1
  256. package/dist/esm/common/atlas/performanceAdvisorUtils.js +2 -2
  257. package/dist/esm/common/atlas/performanceAdvisorUtils.js.map +1 -1
  258. package/dist/esm/common/atlas/roles.d.ts +1 -1
  259. package/dist/esm/common/atlas/roles.d.ts.map +1 -1
  260. package/dist/esm/common/atlasLocal.d.ts +4 -0
  261. package/dist/esm/common/atlasLocal.d.ts.map +1 -0
  262. package/dist/esm/common/atlasLocal.js +20 -0
  263. package/dist/esm/common/atlasLocal.js.map +1 -0
  264. package/dist/esm/common/config/argsParserOptions.d.ts +12 -0
  265. package/dist/esm/common/config/argsParserOptions.d.ts.map +1 -0
  266. package/dist/esm/common/config/argsParserOptions.js +100 -0
  267. package/dist/esm/common/config/argsParserOptions.js.map +1 -0
  268. package/dist/esm/common/config/configOverrides.d.ts +30 -0
  269. package/dist/esm/common/config/configOverrides.d.ts.map +1 -0
  270. package/dist/esm/common/config/configOverrides.js +139 -0
  271. package/dist/esm/common/config/configOverrides.js.map +1 -0
  272. package/dist/esm/common/config/configUtils.d.ts +43 -0
  273. package/dist/esm/common/config/configUtils.d.ts.map +1 -0
  274. package/dist/esm/common/config/configUtils.js +130 -0
  275. package/dist/esm/common/config/configUtils.js.map +1 -0
  276. package/dist/esm/common/config/createUserConfig.d.ts +10 -0
  277. package/dist/esm/common/config/createUserConfig.d.ts.map +1 -0
  278. package/dist/esm/common/config/createUserConfig.js +149 -0
  279. package/dist/esm/common/config/createUserConfig.js.map +1 -0
  280. package/dist/esm/common/config/userConfig.d.ts +54 -0
  281. package/dist/esm/common/config/userConfig.d.ts.map +1 -0
  282. package/dist/esm/common/config/userConfig.js +177 -0
  283. package/dist/esm/common/config/userConfig.js.map +1 -0
  284. package/dist/esm/common/connectionErrorHandler.d.ts.map +1 -1
  285. package/dist/esm/common/connectionErrorHandler.js +15 -6
  286. package/dist/esm/common/connectionErrorHandler.js.map +1 -1
  287. package/dist/esm/common/connectionManager.d.ts +6 -5
  288. package/dist/esm/common/connectionManager.d.ts.map +1 -1
  289. package/dist/esm/common/connectionManager.js +28 -18
  290. package/dist/esm/common/connectionManager.js.map +1 -1
  291. package/dist/esm/common/errors.d.ts +6 -1
  292. package/dist/esm/common/errors.d.ts.map +1 -1
  293. package/dist/esm/common/errors.js +5 -0
  294. package/dist/esm/common/errors.js.map +1 -1
  295. package/dist/esm/common/exportsManager.d.ts +1 -1
  296. package/dist/esm/common/exportsManager.d.ts.map +1 -1
  297. package/dist/esm/common/logger.d.ts +2 -0
  298. package/dist/esm/common/logger.d.ts.map +1 -1
  299. package/dist/esm/common/logger.js +2 -0
  300. package/dist/esm/common/logger.js.map +1 -1
  301. package/dist/esm/common/packageInfo.js +1 -1
  302. package/dist/esm/common/packageInfo.js.map +1 -1
  303. package/dist/esm/common/schemas.d.ts +5 -0
  304. package/dist/esm/common/schemas.d.ts.map +1 -0
  305. package/dist/esm/common/schemas.js +3 -0
  306. package/dist/esm/common/schemas.js.map +1 -0
  307. package/dist/esm/common/search/embeddingsProvider.d.ts +10 -0
  308. package/dist/esm/common/search/embeddingsProvider.d.ts.map +1 -0
  309. package/dist/esm/common/search/embeddingsProvider.js +39 -0
  310. package/dist/esm/common/search/embeddingsProvider.js.map +1 -0
  311. package/dist/esm/common/search/vectorSearchEmbeddingsManager.d.ts +67 -0
  312. package/dist/esm/common/search/vectorSearchEmbeddingsManager.d.ts.map +1 -0
  313. package/dist/esm/common/search/vectorSearchEmbeddingsManager.js +181 -0
  314. package/dist/esm/common/search/vectorSearchEmbeddingsManager.js.map +1 -0
  315. package/dist/esm/common/session.d.ts +14 -5
  316. package/dist/esm/common/session.d.ts.map +1 -1
  317. package/dist/esm/common/session.js +28 -8
  318. package/dist/esm/common/session.js.map +1 -1
  319. package/dist/esm/helpers/assertVectorSearchFilterFieldsAreIndexed.d.ts +27 -0
  320. package/dist/esm/helpers/assertVectorSearchFilterFieldsAreIndexed.d.ts.map +1 -0
  321. package/dist/esm/helpers/assertVectorSearchFilterFieldsAreIndexed.js +54 -0
  322. package/dist/esm/helpers/assertVectorSearchFilterFieldsAreIndexed.js.map +1 -0
  323. package/dist/esm/index.d.ts +2 -1
  324. package/dist/esm/index.d.ts.map +1 -1
  325. package/dist/esm/index.js +40 -13
  326. package/dist/esm/index.js.map +1 -1
  327. package/dist/esm/lib.d.ts +6 -2
  328. package/dist/esm/lib.d.ts.map +1 -1
  329. package/dist/esm/lib.js +5 -2
  330. package/dist/esm/lib.js.map +1 -1
  331. package/dist/esm/resources/common/config.d.ts +1 -1
  332. package/dist/esm/resources/common/config.d.ts.map +1 -1
  333. package/dist/esm/resources/common/config.js +4 -3
  334. package/dist/esm/resources/common/config.js.map +1 -1
  335. package/dist/esm/resources/resource.d.ts +1 -1
  336. package/dist/esm/resources/resource.d.ts.map +1 -1
  337. package/dist/esm/server.d.ts +26 -5
  338. package/dist/esm/server.d.ts.map +1 -1
  339. package/dist/esm/server.js +7 -23
  340. package/dist/esm/server.js.map +1 -1
  341. package/dist/esm/telemetry/telemetry.d.ts +1 -1
  342. package/dist/esm/telemetry/telemetry.d.ts.map +1 -1
  343. package/dist/esm/telemetry/types.d.ts +22 -4
  344. package/dist/esm/telemetry/types.d.ts.map +1 -1
  345. package/dist/esm/tools/args.d.ts +1 -0
  346. package/dist/esm/tools/args.d.ts.map +1 -1
  347. package/dist/esm/tools/args.js +1 -0
  348. package/dist/esm/tools/args.js.map +1 -1
  349. package/dist/esm/tools/atlas/atlasTool.d.ts +3 -2
  350. package/dist/esm/tools/atlas/atlasTool.d.ts.map +1 -1
  351. package/dist/esm/tools/atlas/atlasTool.js +3 -3
  352. package/dist/esm/tools/atlas/atlasTool.js.map +1 -1
  353. package/dist/esm/tools/atlas/connect/connectCluster.d.ts +6 -1
  354. package/dist/esm/tools/atlas/connect/connectCluster.d.ts.map +1 -1
  355. package/dist/esm/tools/atlas/connect/connectCluster.js +47 -22
  356. package/dist/esm/tools/atlas/connect/connectCluster.js.map +1 -1
  357. package/dist/esm/tools/atlas/create/createAccessList.js +1 -1
  358. package/dist/esm/tools/atlas/create/createAccessList.js.map +1 -1
  359. package/dist/esm/tools/atlas/create/createProject.d.ts +0 -4
  360. package/dist/esm/tools/atlas/create/createProject.d.ts.map +1 -1
  361. package/dist/esm/tools/atlas/create/createProject.js +4 -7
  362. package/dist/esm/tools/atlas/create/createProject.js.map +1 -1
  363. package/dist/esm/tools/atlas/read/getPerformanceAdvisor.d.ts +4 -1
  364. package/dist/esm/tools/atlas/read/getPerformanceAdvisor.d.ts.map +1 -1
  365. package/dist/esm/tools/atlas/read/getPerformanceAdvisor.js +7 -1
  366. package/dist/esm/tools/atlas/read/getPerformanceAdvisor.js.map +1 -1
  367. package/dist/esm/tools/atlas/read/inspectAccessList.d.ts.map +1 -1
  368. package/dist/esm/tools/atlas/read/inspectAccessList.js +7 -8
  369. package/dist/esm/tools/atlas/read/inspectAccessList.js.map +1 -1
  370. package/dist/esm/tools/atlas/read/inspectCluster.d.ts.map +1 -1
  371. package/dist/esm/tools/atlas/read/inspectCluster.js +9 -3
  372. package/dist/esm/tools/atlas/read/inspectCluster.js.map +1 -1
  373. package/dist/esm/tools/atlas/read/listAlerts.d.ts.map +1 -1
  374. package/dist/esm/tools/atlas/read/listAlerts.js +9 -13
  375. package/dist/esm/tools/atlas/read/listAlerts.js.map +1 -1
  376. package/dist/esm/tools/atlas/read/listClusters.d.ts.map +1 -1
  377. package/dist/esm/tools/atlas/read/listClusters.js +9 -25
  378. package/dist/esm/tools/atlas/read/listClusters.js.map +1 -1
  379. package/dist/esm/tools/atlas/read/listDBUsers.d.ts.map +1 -1
  380. package/dist/esm/tools/atlas/read/listDBUsers.js +13 -23
  381. package/dist/esm/tools/atlas/read/listDBUsers.js.map +1 -1
  382. package/dist/esm/tools/atlas/read/listOrgs.d.ts.map +1 -1
  383. package/dist/esm/tools/atlas/read/listOrgs.js +6 -11
  384. package/dist/esm/tools/atlas/read/listOrgs.js.map +1 -1
  385. package/dist/esm/tools/atlas/read/listProjects.d.ts +0 -3
  386. package/dist/esm/tools/atlas/read/listProjects.d.ts.map +1 -1
  387. package/dist/esm/tools/atlas/read/listProjects.js +17 -22
  388. package/dist/esm/tools/atlas/read/listProjects.js.map +1 -1
  389. package/dist/esm/tools/atlasLocal/atlasLocalTool.d.ts +20 -0
  390. package/dist/esm/tools/atlasLocal/atlasLocalTool.d.ts.map +1 -0
  391. package/dist/esm/tools/atlasLocal/atlasLocalTool.js +105 -0
  392. package/dist/esm/tools/atlasLocal/atlasLocalTool.js.map +1 -0
  393. package/dist/esm/tools/atlasLocal/connect/connectDeployment.d.ts +16 -0
  394. package/dist/esm/tools/atlasLocal/connect/connectDeployment.d.ts.map +1 -0
  395. package/dist/esm/tools/atlasLocal/connect/connectDeployment.js +34 -0
  396. package/dist/esm/tools/atlasLocal/connect/connectDeployment.js.map +1 -0
  397. package/dist/esm/tools/atlasLocal/create/createDeployment.d.ts +14 -0
  398. package/dist/esm/tools/atlasLocal/create/createDeployment.d.ts.map +1 -0
  399. package/dist/esm/tools/atlasLocal/create/createDeployment.js +37 -0
  400. package/dist/esm/tools/atlasLocal/create/createDeployment.js.map +1 -0
  401. package/dist/esm/tools/atlasLocal/delete/deleteDeployment.d.ts +14 -0
  402. package/dist/esm/tools/atlasLocal/delete/deleteDeployment.d.ts.map +1 -0
  403. package/dist/esm/tools/atlasLocal/delete/deleteDeployment.js +28 -0
  404. package/dist/esm/tools/atlasLocal/delete/deleteDeployment.js.map +1 -0
  405. package/dist/esm/tools/atlasLocal/read/listDeployments.d.ts +13 -0
  406. package/dist/esm/tools/atlasLocal/read/listDeployments.d.ts.map +1 -0
  407. package/dist/esm/tools/atlasLocal/read/listDeployments.js +38 -0
  408. package/dist/esm/tools/atlasLocal/read/listDeployments.js.map +1 -0
  409. package/dist/esm/tools/atlasLocal/tools.d.ts +6 -0
  410. package/dist/esm/tools/atlasLocal/tools.d.ts.map +1 -0
  411. package/dist/esm/tools/atlasLocal/tools.js +6 -0
  412. package/dist/esm/tools/atlasLocal/tools.js.map +1 -0
  413. package/dist/esm/tools/index.d.ts +7 -0
  414. package/dist/esm/tools/index.d.ts.map +1 -0
  415. package/dist/esm/tools/index.js +7 -0
  416. package/dist/esm/tools/index.js.map +1 -0
  417. package/dist/esm/tools/mongodb/connect/connect.d.ts +4 -10
  418. package/dist/esm/tools/mongodb/connect/connect.d.ts.map +1 -1
  419. package/dist/esm/tools/mongodb/connect/connect.js +17 -67
  420. package/dist/esm/tools/mongodb/connect/connect.js.map +1 -1
  421. package/dist/esm/tools/mongodb/connect/switchConnection.d.ts +17 -0
  422. package/dist/esm/tools/mongodb/connect/switchConnection.d.ts.map +1 -0
  423. package/dist/esm/tools/mongodb/connect/switchConnection.js +45 -0
  424. package/dist/esm/tools/mongodb/connect/switchConnection.js.map +1 -0
  425. package/dist/esm/tools/mongodb/create/createIndex.d.ts +1 -1
  426. package/dist/esm/tools/mongodb/create/createIndex.d.ts.map +1 -1
  427. package/dist/esm/tools/mongodb/create/createIndex.js +9 -22
  428. package/dist/esm/tools/mongodb/create/createIndex.js.map +1 -1
  429. package/dist/esm/tools/mongodb/create/insertMany.d.ts +22 -2
  430. package/dist/esm/tools/mongodb/create/insertMany.d.ts.map +1 -1
  431. package/dist/esm/tools/mongodb/create/insertMany.js +88 -12
  432. package/dist/esm/tools/mongodb/create/insertMany.js.map +1 -1
  433. package/dist/esm/tools/mongodb/delete/dropIndex.d.ts +5 -2
  434. package/dist/esm/tools/mongodb/delete/dropIndex.d.ts.map +1 -1
  435. package/dist/esm/tools/mongodb/delete/dropIndex.js +36 -3
  436. package/dist/esm/tools/mongodb/delete/dropIndex.js.map +1 -1
  437. package/dist/esm/tools/mongodb/metadata/collectionIndexes.d.ts +15 -0
  438. package/dist/esm/tools/mongodb/metadata/collectionIndexes.d.ts.map +1 -1
  439. package/dist/esm/tools/mongodb/metadata/collectionIndexes.js +30 -5
  440. package/dist/esm/tools/mongodb/metadata/collectionIndexes.js.map +1 -1
  441. package/dist/esm/tools/mongodb/metadata/collectionSchema.js +1 -1
  442. package/dist/esm/tools/mongodb/metadata/explain.d.ts +192 -10
  443. package/dist/esm/tools/mongodb/metadata/explain.d.ts.map +1 -1
  444. package/dist/esm/tools/mongodb/metadata/explain.js +2 -2
  445. package/dist/esm/tools/mongodb/metadata/explain.js.map +1 -1
  446. package/dist/esm/tools/mongodb/metadata/listDatabases.d.ts.map +1 -1
  447. package/dist/esm/tools/mongodb/metadata/listDatabases.js +1 -3
  448. package/dist/esm/tools/mongodb/metadata/listDatabases.js.map +1 -1
  449. package/dist/esm/tools/mongodb/mongodbSchemas.d.ts +155 -0
  450. package/dist/esm/tools/mongodb/mongodbSchemas.d.ts.map +1 -0
  451. package/dist/esm/tools/mongodb/mongodbSchemas.js +63 -0
  452. package/dist/esm/tools/mongodb/mongodbSchemas.js.map +1 -0
  453. package/dist/esm/tools/mongodb/mongodbTool.d.ts +14 -3
  454. package/dist/esm/tools/mongodb/mongodbTool.d.ts.map +1 -1
  455. package/dist/esm/tools/mongodb/mongodbTool.js +31 -11
  456. package/dist/esm/tools/mongodb/mongodbTool.js.map +1 -1
  457. package/dist/esm/tools/mongodb/read/aggregate.d.ts +218 -4
  458. package/dist/esm/tools/mongodb/read/aggregate.d.ts.map +1 -1
  459. package/dist/esm/tools/mongodb/read/aggregate.js +123 -17
  460. package/dist/esm/tools/mongodb/read/aggregate.js.map +1 -1
  461. package/dist/esm/tools/mongodb/read/export.d.ts +192 -10
  462. package/dist/esm/tools/mongodb/read/export.d.ts.map +1 -1
  463. package/dist/esm/tools/mongodb/read/export.js +4 -2
  464. package/dist/esm/tools/mongodb/read/export.js.map +1 -1
  465. package/dist/esm/tools/mongodb/read/find.js +2 -2
  466. package/dist/esm/tools/mongodb/read/find.js.map +1 -1
  467. package/dist/esm/tools/mongodb/tools.d.ts +2 -2
  468. package/dist/esm/tools/mongodb/tools.d.ts.map +1 -1
  469. package/dist/esm/tools/mongodb/tools.js +2 -2
  470. package/dist/esm/tools/mongodb/tools.js.map +1 -1
  471. package/dist/esm/tools/tool.d.ts +14 -24
  472. package/dist/esm/tools/tool.d.ts.map +1 -1
  473. package/dist/esm/tools/tool.js +44 -54
  474. package/dist/esm/tools/tool.js.map +1 -1
  475. package/dist/esm/transports/base.d.ts +25 -3
  476. package/dist/esm/transports/base.d.ts.map +1 -1
  477. package/dist/esm/transports/base.js +41 -10
  478. package/dist/esm/transports/base.js.map +1 -1
  479. package/dist/esm/transports/dryModeRunner.d.ts +19 -0
  480. package/dist/esm/transports/dryModeRunner.d.ts.map +1 -0
  481. package/dist/esm/transports/dryModeRunner.js +33 -0
  482. package/dist/esm/transports/dryModeRunner.js.map +1 -0
  483. package/dist/esm/transports/inMemoryTransport.d.ts +18 -0
  484. package/dist/esm/transports/inMemoryTransport.d.ts.map +1 -0
  485. package/dist/esm/transports/inMemoryTransport.js +39 -0
  486. package/dist/esm/transports/inMemoryTransport.js.map +1 -0
  487. package/dist/esm/transports/streamableHttp.d.ts.map +1 -1
  488. package/dist/esm/transports/streamableHttp.js +5 -1
  489. package/dist/esm/transports/streamableHttp.js.map +1 -1
  490. package/package.json +60 -39
  491. package/dist/cjs/common/config.d.ts +0 -53
  492. package/dist/cjs/common/config.d.ts.map +0 -1
  493. package/dist/cjs/common/config.js +0 -401
  494. package/dist/cjs/common/config.js.map +0 -1
  495. package/dist/cjs/tools/mongodb/search/listSearchIndexes.d.ts +0 -30
  496. package/dist/cjs/tools/mongodb/search/listSearchIndexes.d.ts.map +0 -1
  497. package/dist/cjs/tools/mongodb/search/listSearchIndexes.js +0 -65
  498. package/dist/cjs/tools/mongodb/search/listSearchIndexes.js.map +0 -1
  499. package/dist/esm/common/config.d.ts +0 -53
  500. package/dist/esm/common/config.d.ts.map +0 -1
  501. package/dist/esm/common/config.js +0 -390
  502. package/dist/esm/common/config.js.map +0 -1
  503. package/dist/esm/tools/mongodb/search/listSearchIndexes.d.ts +0 -30
  504. package/dist/esm/tools/mongodb/search/listSearchIndexes.d.ts.map +0 -1
  505. package/dist/esm/tools/mongodb/search/listSearchIndexes.js +0 -61
  506. package/dist/esm/tools/mongodb/search/listSearchIndexes.js.map +0 -1
@@ -3,7 +3,15 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.InsertManyTool = void 0;
4
4
  const zod_1 = require("zod");
5
5
  const mongodbTool_js_1 = require("../mongodbTool.js");
6
+ const tool_js_1 = require("../../tool.js");
6
7
  const args_js_1 = require("../../args.js");
8
+ const mongodbSchemas_js_1 = require("../mongodbSchemas.js");
9
+ const errors_js_1 = require("../../../common/errors.js");
10
+ const zSupportedEmbeddingParametersWithInput = mongodbSchemas_js_1.zSupportedEmbeddingParameters.extend({
11
+ input: zod_1.z
12
+ .array(zod_1.z.object({}).passthrough())
13
+ .describe("Array of objects with vector search index fields as keys (in dot notation) and the raw text values to generate embeddings for as values. The index of each object corresponds to the index of the document in the documents array."),
14
+ });
7
15
  class InsertManyTool extends mongodbTool_js_1.MongoDBToolBase {
8
16
  constructor() {
9
17
  super(...arguments);
@@ -13,26 +21,94 @@ class InsertManyTool extends mongodbTool_js_1.MongoDBToolBase {
13
21
  ...mongodbTool_js_1.DbOperationArgs,
14
22
  documents: zod_1.z
15
23
  .array((0, args_js_1.zEJSON)().describe("An individual MongoDB document"))
16
- .describe("The array of documents to insert, matching the syntax of the document argument of db.collection.insertMany()"),
24
+ .describe("The array of documents to insert, matching the syntax of the document argument of db.collection.insertMany()."),
25
+ ...(this.isFeatureEnabled("search")
26
+ ? {
27
+ embeddingParameters: zSupportedEmbeddingParametersWithInput
28
+ .optional()
29
+ .describe("The embedding model and its parameters to use to generate embeddings for fields with vector search indexes. Note to LLM: If unsure which embedding model to use, ask the user before providing one."),
30
+ }
31
+ : {}),
17
32
  };
18
33
  this.operationType = "create";
19
34
  }
20
- async execute({ database, collection, documents, }) {
35
+ async execute({ database, collection, documents, embeddingParameters: providedEmbeddingParameters, }) {
21
36
  const provider = await this.ensureConnected();
37
+ const embeddingParameters = this.isFeatureEnabled("search")
38
+ ? providedEmbeddingParameters
39
+ : undefined;
40
+ // Process documents to replace raw string values with generated embeddings
41
+ documents = await this.replaceRawValuesWithEmbeddingsIfNecessary({
42
+ database,
43
+ collection,
44
+ documents,
45
+ embeddingParameters,
46
+ });
47
+ await this.session.vectorSearchEmbeddingsManager.assertFieldsHaveCorrectEmbeddings({ database, collection }, documents);
22
48
  const result = await provider.insertMany(database, collection, documents);
49
+ const content = (0, tool_js_1.formatUntrustedData)("Documents were inserted successfully.", `Inserted \`${result.insertedCount}\` document(s) into ${database}.${collection}.`, `Inserted IDs: ${Object.values(result.insertedIds).join(", ")}`);
23
50
  return {
24
- content: [
25
- {
26
- text: `Inserted \`${result.insertedCount}\` document(s) into collection "${collection}"`,
27
- type: "text",
28
- },
29
- {
30
- text: `Inserted IDs: ${Object.values(result.insertedIds).join(", ")}`,
31
- type: "text",
32
- },
33
- ],
51
+ content,
34
52
  };
35
53
  }
54
+ async replaceRawValuesWithEmbeddingsIfNecessary({ database, collection, documents, embeddingParameters, }) {
55
+ // If no embedding parameters or no input specified, return documents as-is
56
+ if (!embeddingParameters?.input || embeddingParameters.input.length === 0) {
57
+ return documents;
58
+ }
59
+ // Get vector search indexes for the collection
60
+ const vectorIndexes = await this.session.vectorSearchEmbeddingsManager.embeddingsForNamespace({
61
+ database,
62
+ collection,
63
+ });
64
+ // Ensure for inputted fields, the vector search index exists.
65
+ for (const input of embeddingParameters.input) {
66
+ for (const fieldPath of Object.keys(input)) {
67
+ if (!vectorIndexes.some((index) => index.path === fieldPath)) {
68
+ throw new errors_js_1.MongoDBError(errors_js_1.ErrorCodes.AtlasVectorSearchInvalidQuery, `Field '${fieldPath}' does not have a vector search index in collection ${database}.${collection}. Only fields with vector search indexes can have embeddings generated.`);
69
+ }
70
+ }
71
+ }
72
+ // We make one call to generate embeddings for all documents at once to avoid making too many API calls.
73
+ const flattenedEmbeddingsInput = embeddingParameters.input.flatMap((documentInput, index) => Object.entries(documentInput).map(([fieldPath, rawTextValue]) => ({
74
+ fieldPath,
75
+ rawTextValue,
76
+ documentIndex: index,
77
+ })));
78
+ const generatedEmbeddings = await this.session.vectorSearchEmbeddingsManager.generateEmbeddings({
79
+ rawValues: flattenedEmbeddingsInput.map(({ rawTextValue }) => rawTextValue),
80
+ embeddingParameters,
81
+ inputType: "document",
82
+ });
83
+ const processedDocuments = [...documents];
84
+ for (const [index, { fieldPath, documentIndex }] of flattenedEmbeddingsInput.entries()) {
85
+ if (!processedDocuments[documentIndex]) {
86
+ throw new errors_js_1.MongoDBError(errors_js_1.ErrorCodes.Unexpected, `Document at index ${documentIndex} does not exist.`);
87
+ }
88
+ // Ensure no nested fields are present in the field path.
89
+ this.deleteFieldPath(processedDocuments[documentIndex], fieldPath);
90
+ processedDocuments[documentIndex][fieldPath] = generatedEmbeddings[index];
91
+ }
92
+ return processedDocuments;
93
+ }
94
+ // Delete a specified field path from a document using dot notation.
95
+ deleteFieldPath(document, fieldPath) {
96
+ const parts = fieldPath.split(".");
97
+ let current = document;
98
+ for (let i = 0; i < parts.length; i++) {
99
+ const part = parts[i];
100
+ const key = part;
101
+ if (!current[key]) {
102
+ return;
103
+ }
104
+ else if (i === parts.length - 1) {
105
+ delete current[key];
106
+ }
107
+ else {
108
+ current = current[key];
109
+ }
110
+ }
111
+ }
36
112
  }
37
113
  exports.InsertManyTool = InsertManyTool;
38
114
  //# sourceMappingURL=insertMany.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"insertMany.js","sourceRoot":"","sources":["../../../../../src/tools/mongodb/create/insertMany.ts"],"names":[],"mappings":";;;AAAA,6BAAwB;AAExB,sDAAqE;AAErE,2CAAuC;AAEvC,MAAa,cAAe,SAAQ,gCAAe;IAAnD;;QACW,SAAI,GAAG,aAAa,CAAC;QAClB,gBAAW,GAAG,wDAAwD,CAAC;QACvE,cAAS,GAAG;YAClB,GAAG,gCAAe;YAClB,SAAS,EAAE,OAAC;iBACP,KAAK,CAAC,IAAA,gBAAM,GAAE,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;AAlCD,wCAkCC"}
1
+ {"version":3,"file":"insertMany.js","sourceRoot":"","sources":["../../../../../src/tools/mongodb/create/insertMany.ts"],"names":[],"mappings":"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"}
@@ -7,11 +7,14 @@ export declare class DropIndexTool extends MongoDBToolBase {
7
7
  protected description: string;
8
8
  protected argsShape: {
9
9
  indexName: z.ZodString;
10
+ type: z.ZodDefault<z.ZodLiteral<"classic">> | z.ZodEnum<["classic", "search"]>;
10
11
  database: z.ZodString;
11
12
  collection: z.ZodString;
12
13
  };
13
14
  operationType: OperationType;
14
- protected execute({ database, collection, indexName, }: ToolArgs<typeof this.argsShape>): Promise<CallToolResult>;
15
- protected getConfirmationMessage({ database, collection, indexName }: ToolArgs<typeof this.argsShape>): string;
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;
16
19
  }
17
20
  //# sourceMappingURL=dropIndex.d.ts.map
@@ -1 +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;AACzE,OAAO,EAAmB,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACrE,OAAO,EAAE,KAAK,QAAQ,EAAE,KAAK,aAAa,EAAuB,MAAM,eAAe,CAAC;AAEvF,qBAAa,aAAc,SAAQ,eAAe;IACvC,IAAI,SAAgB;IAC3B,SAAS,CAAC,WAAW,SAA6D;IAClF,SAAS,CAAC,SAAS;;;;MAGjB;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;IAmB5D,SAAS,CAAC,sBAAsB,CAAC,EAAE,QAAQ,EAAE,UAAU,EAAE,SAAS,EAAE,EAAE,QAAQ,CAAC,OAAO,IAAI,CAAC,SAAS,CAAC,GAAG,MAAM;CAOjH"}
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,EAAuB,MAAM,eAAe,CAAC;AAEvF,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"}
@@ -15,11 +15,27 @@ class DropIndexTool extends mongodbTool_js_1.MongoDBToolBase {
15
15
  this.argsShape = {
16
16
  ...mongodbTool_js_1.DbOperationArgs,
17
17
  indexName: zod_1.default.string().nonempty().describe("The name of the index to be dropped."),
18
+ type: this.isFeatureEnabled("search")
19
+ ? zod_1.default
20
+ .enum(["classic", "search"])
21
+ .describe("The type of index to be deleted. Use 'classic' for standard indexes and 'search' for atlas search and vector search indexes.")
22
+ : zod_1.default
23
+ .literal("classic")
24
+ .default("classic")
25
+ .describe("The type of index to be deleted. Is always set to 'classic'."),
18
26
  };
19
27
  this.operationType = "delete";
20
28
  }
21
- async execute({ database, collection, indexName, }) {
29
+ async execute(toolArgs) {
22
30
  const provider = await this.ensureConnected();
31
+ switch (toolArgs.type) {
32
+ case "classic":
33
+ return this.dropClassicIndex(provider, toolArgs);
34
+ case "search":
35
+ return this.dropSearchIndex(provider, toolArgs);
36
+ }
37
+ }
38
+ async dropClassicIndex(provider, { database, collection, indexName }) {
23
39
  const result = await provider.runCommand(database, {
24
40
  dropIndexes: collection,
25
41
  index: indexName,
@@ -32,8 +48,25 @@ class DropIndexTool extends mongodbTool_js_1.MongoDBToolBase {
32
48
  isError: result.ok ? undefined : true,
33
49
  };
34
50
  }
35
- getConfirmationMessage({ database, collection, indexName }) {
36
- return (`You are about to drop the \`${indexName}\` index from the \`${database}.${collection}\` namespace:\n\n` +
51
+ async dropSearchIndex(provider, { database, collection, indexName }) {
52
+ await this.ensureSearchIsSupported();
53
+ const indexes = await provider.getSearchIndexes(database, collection, indexName);
54
+ if (indexes.length === 0) {
55
+ return {
56
+ content: (0, tool_js_1.formatUntrustedData)("Index does not exist in the provided namespace.", JSON.stringify({ indexName, namespace: `${database}.${collection}` })),
57
+ isError: true,
58
+ };
59
+ }
60
+ await provider.dropSearchIndex(database, collection, indexName);
61
+ return {
62
+ content: (0, tool_js_1.formatUntrustedData)("Successfully dropped the index from the provided namespace.", JSON.stringify({
63
+ indexName,
64
+ namespace: `${database}.${collection}`,
65
+ })),
66
+ };
67
+ }
68
+ getConfirmationMessage({ database, collection, indexName, type, }) {
69
+ return (`You are about to drop the ${type === "search" ? "search index" : "index"} named \`${indexName}\` from the \`${database}.${collection}\` namespace:\n\n` +
37
70
  "This operation will permanently remove the index and might affect the performance of queries relying on this index.\n\n" +
38
71
  "**Do you confirm the execution of the action?**");
39
72
  }
@@ -1 +1 @@
1
- {"version":3,"file":"dropIndex.js","sourceRoot":"","sources":["../../../../../src/tools/mongodb/delete/dropIndex.ts"],"names":[],"mappings":";;;;;;AAAA,8CAAoB;AAEpB,sDAAqE;AACrE,2CAAuF;AAEvF,MAAa,aAAc,SAAQ,gCAAe;IAAlD;;QACW,SAAI,GAAG,YAAY,CAAC;QACjB,gBAAW,GAAG,yDAAyD,CAAC;QACxE,cAAS,GAAG;YAClB,GAAG,gCAAe;YAClB,SAAS,EAAE,aAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,sCAAsC,CAAC;SACpF,CAAC;QACK,kBAAa,GAAkB,QAAQ,CAAC;IAgCnD,CAAC;IA9Ba,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;YAC/C,WAAW,EAAE,UAAU;YACvB,KAAK,EAAE,SAAS;SACnB,CAAC,CAAC;QAEH,OAAO;YACH,OAAO,EAAE,IAAA,6BAAmB,EACxB,GAAG,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,sBAAsB,CAAC,CAAC,CAAC,gBAAgB,yCAAyC,EACjG,IAAI,CAAC,SAAS,CAAC;gBACX,SAAS;gBACT,SAAS,EAAE,GAAG,QAAQ,IAAI,UAAU,EAAE;aACzC,CAAC,CACL;YACD,OAAO,EAAE,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI;SACxC,CAAC;IACN,CAAC;IAES,sBAAsB,CAAC,EAAE,QAAQ,EAAE,UAAU,EAAE,SAAS,EAAmC;QACjG,OAAO,CACH,+BAA+B,SAAS,uBAAuB,QAAQ,IAAI,UAAU,mBAAmB;YACxG,yHAAyH;YACzH,iDAAiD,CACpD,CAAC;IACN,CAAC;CACJ;AAvCD,sCAuCC"}
1
+ {"version":3,"file":"dropIndex.js","sourceRoot":"","sources":["../../../../../src/tools/mongodb/delete/dropIndex.ts"],"names":[],"mappings":";;;;;;AAAA,8CAAoB;AAGpB,sDAAqE;AACrE,2CAAuF;AAEvF,MAAa,aAAc,SAAQ,gCAAe;IAAlD;;QACW,SAAI,GAAG,YAAY,CAAC;QACjB,gBAAW,GAAG,yDAAyD,CAAC;QACxE,cAAS,GAAG;YAClB,GAAG,gCAAe;YAClB,SAAS,EAAE,aAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,sCAAsC,CAAC;YACjF,IAAI,EAAE,IAAI,CAAC,gBAAgB,CAAC,QAAQ,CAAC;gBACjC,CAAC,CAAC,aAAC;qBACI,IAAI,CAAC,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAC;qBAC3B,QAAQ,CACL,8HAA8H,CACjI;gBACP,CAAC,CAAC,aAAC;qBACI,OAAO,CAAC,SAAS,CAAC;qBAClB,OAAO,CAAC,SAAS,CAAC;qBAClB,QAAQ,CAAC,8DAA8D,CAAC;SACtF,CAAC;QACK,kBAAa,GAAkB,QAAQ,CAAC;IAyEnD,CAAC;IAvEa,KAAK,CAAC,OAAO,CAAC,QAAyC;QAC7D,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,eAAe,EAAE,CAAC;QAC9C,QAAQ,QAAQ,CAAC,IAAI,EAAE,CAAC;YACpB,KAAK,SAAS;gBACV,OAAO,IAAI,CAAC,gBAAgB,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC;YACrD,KAAK,QAAQ;gBACT,OAAO,IAAI,CAAC,eAAe,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC;QACxD,CAAC;IACL,CAAC;IAEO,KAAK,CAAC,gBAAgB,CAC1B,QAAmC,EACnC,EAAE,QAAQ,EAAE,UAAU,EAAE,SAAS,EAAmC;QAEpE,MAAM,MAAM,GAAG,MAAM,QAAQ,CAAC,UAAU,CAAC,QAAQ,EAAE;YAC/C,WAAW,EAAE,UAAU;YACvB,KAAK,EAAE,SAAS;SACnB,CAAC,CAAC;QAEH,OAAO;YACH,OAAO,EAAE,IAAA,6BAAmB,EACxB,GAAG,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,sBAAsB,CAAC,CAAC,CAAC,gBAAgB,yCAAyC,EACjG,IAAI,CAAC,SAAS,CAAC;gBACX,SAAS;gBACT,SAAS,EAAE,GAAG,QAAQ,IAAI,UAAU,EAAE;aACzC,CAAC,CACL;YACD,OAAO,EAAE,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI;SACxC,CAAC;IACN,CAAC;IAEO,KAAK,CAAC,eAAe,CACzB,QAAmC,EACnC,EAAE,QAAQ,EAAE,UAAU,EAAE,SAAS,EAAmC;QAEpE,MAAM,IAAI,CAAC,uBAAuB,EAAE,CAAC;QACrC,MAAM,OAAO,GAAG,MAAM,QAAQ,CAAC,gBAAgB,CAAC,QAAQ,EAAE,UAAU,EAAE,SAAS,CAAC,CAAC;QACjF,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACvB,OAAO;gBACH,OAAO,EAAE,IAAA,6BAAmB,EACxB,iDAAiD,EACjD,IAAI,CAAC,SAAS,CAAC,EAAE,SAAS,EAAE,SAAS,EAAE,GAAG,QAAQ,IAAI,UAAU,EAAE,EAAE,CAAC,CACxE;gBACD,OAAO,EAAE,IAAI;aAChB,CAAC;QACN,CAAC;QAED,MAAM,QAAQ,CAAC,eAAe,CAAC,QAAQ,EAAE,UAAU,EAAE,SAAS,CAAC,CAAC;QAChE,OAAO;YACH,OAAO,EAAE,IAAA,6BAAmB,EACxB,6DAA6D,EAC7D,IAAI,CAAC,SAAS,CAAC;gBACX,SAAS;gBACT,SAAS,EAAE,GAAG,QAAQ,IAAI,UAAU,EAAE;aACzC,CAAC,CACL;SACJ,CAAC;IACN,CAAC;IAES,sBAAsB,CAAC,EAC7B,QAAQ,EACR,UAAU,EACV,SAAS,EACT,IAAI,GAC0B;QAC9B,OAAO,CACH,6BAA6B,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,OAAO,YAAY,SAAS,iBAAiB,QAAQ,IAAI,UAAU,mBAAmB;YACxJ,yHAAyH;YACzH,iDAAiD,CACpD,CAAC;IACN,CAAC;CACJ;AA1FD,sCA0FC"}
@@ -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"}
@@ -14,12 +14,22 @@ class CollectionIndexesTool extends mongodbTool_js_1.MongoDBToolBase {
14
14
  async execute({ database, collection }) {
15
15
  const provider = await this.ensureConnected();
16
16
  const indexes = await provider.getIndexes(database, collection);
17
+ const indexDefinitions = indexes.map((index) => ({
18
+ name: index.name,
19
+ key: index.key,
20
+ }));
21
+ const searchIndexDefinitions = [];
22
+ if (this.isFeatureEnabled("search") && (await this.session.isSearchSupported())) {
23
+ const searchIndexes = await provider.getSearchIndexes(database, collection);
24
+ searchIndexDefinitions.push(...this.extractSearchIndexDetails(searchIndexes));
25
+ }
17
26
  return {
18
- content: (0, tool_js_1.formatUntrustedData)(`Found ${indexes.length} indexes in the collection "${collection}":`, indexes.length > 0
19
- ? indexes
20
- .map((index) => `Name: "${index.name}", definition: ${JSON.stringify(index.key)}`)
21
- .join("\n")
22
- : undefined),
27
+ content: [
28
+ ...(0, tool_js_1.formatUntrustedData)(`Found ${indexDefinitions.length} indexes in the collection "${collection}":`, ...indexDefinitions.map((i) => JSON.stringify(i))),
29
+ ...(searchIndexDefinitions.length > 0
30
+ ? (0, tool_js_1.formatUntrustedData)(`Found ${searchIndexDefinitions.length} search and vector search indexes in the collection "${collection}":`, ...searchIndexDefinitions.map((i) => JSON.stringify(i)))
31
+ : []),
32
+ ],
23
33
  };
24
34
  }
25
35
  handleError(error, args) {
@@ -36,6 +46,21 @@ class CollectionIndexesTool extends mongodbTool_js_1.MongoDBToolBase {
36
46
  }
37
47
  return super.handleError(error, args);
38
48
  }
49
+ /**
50
+ * Atlas Search index status contains a lot of information that is not relevant for the agent at this stage.
51
+ * Like for example, the status on each of the dedicated nodes. We only care about the main status, if it's
52
+ * queryable and the index name. We are also picking the index definition as it can be used by the agent to
53
+ * understand which fields are available for searching.
54
+ **/
55
+ extractSearchIndexDetails(indexes) {
56
+ return indexes.map((index) => ({
57
+ name: (index["name"] ?? "default"),
58
+ type: (index["type"] ?? "UNKNOWN"),
59
+ status: (index["status"] ?? "UNKNOWN"),
60
+ queryable: (index["queryable"] ?? false),
61
+ latestDefinition: index["latestDefinition"],
62
+ }));
63
+ }
39
64
  }
40
65
  exports.CollectionIndexesTool = CollectionIndexesTool;
41
66
  //# sourceMappingURL=collectionIndexes.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"collectionIndexes.js","sourceRoot":"","sources":["../../../../../src/tools/mongodb/metadata/collectionIndexes.ts"],"names":[],"mappings":";;;AACA,sDAAqE;AAErE,2CAAoD;AAEpD,MAAa,qBAAsB,SAAQ,gCAAe;IAA1D;;QACW,SAAI,GAAG,oBAAoB,CAAC;QACzB,gBAAW,GAAG,uCAAuC,CAAC;QACtD,cAAS,GAAG,gCAAe,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,IAAA,6BAAmB,EACxB,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;AAxCD,sDAwCC"}
1
+ {"version":3,"file":"collectionIndexes.js","sourceRoot":"","sources":["../../../../../src/tools/mongodb/metadata/collectionIndexes.ts"],"names":[],"mappings":";;;AACA,sDAAqE;AAErE,2CAAoD;AAepD,MAAa,qBAAsB,SAAQ,gCAAe;IAA1D;;QACW,SAAI,GAAG,oBAAoB,CAAC;QACzB,gBAAW,GAAG,uCAAuC,CAAC;QACtD,cAAS,GAAG,gCAAe,CAAC;QAC/B,kBAAa,GAAkB,UAAU,CAAC;IAkErD,CAAC;IAhEa,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;QAChE,MAAM,gBAAgB,GAAkB,OAAO,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;YAC5D,IAAI,EAAE,KAAK,CAAC,IAAc;YAC1B,GAAG,EAAE,KAAK,CAAC,GAAe;SAC7B,CAAC,CAAC,CAAC;QAEJ,MAAM,sBAAsB,GAAwB,EAAE,CAAC;QACvD,IAAI,IAAI,CAAC,gBAAgB,CAAC,QAAQ,CAAC,IAAI,CAAC,MAAM,IAAI,CAAC,OAAO,CAAC,iBAAiB,EAAE,CAAC,EAAE,CAAC;YAC9E,MAAM,aAAa,GAAG,MAAM,QAAQ,CAAC,gBAAgB,CAAC,QAAQ,EAAE,UAAU,CAAC,CAAC;YAC5E,sBAAsB,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,yBAAyB,CAAC,aAAa,CAAC,CAAC,CAAC;QAClF,CAAC;QAED,OAAO;YACH,OAAO,EAAE;gBACL,GAAG,IAAA,6BAAmB,EAClB,SAAS,gBAAgB,CAAC,MAAM,+BAA+B,UAAU,IAAI,EAC7E,GAAG,gBAAgB,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CACpD;gBACD,GAAG,CAAC,sBAAsB,CAAC,MAAM,GAAG,CAAC;oBACjC,CAAC,CAAC,IAAA,6BAAmB,EACf,SAAS,sBAAsB,CAAC,MAAM,wDAAwD,UAAU,IAAI,EAC5G,GAAG,sBAAsB,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAC1D;oBACH,CAAC,CAAC,EAAE,CAAC;aACZ;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;IAED;;;;;QAKI;IACM,yBAAyB,CAAC,OAAkC;QAClE,OAAO,OAAO,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;YAC3B,IAAI,EAAE,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,SAAS,CAAW;YAC5C,IAAI,EAAE,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,SAAS,CAAW;YAC5C,MAAM,EAAE,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAI,SAAS,CAAW;YAChD,SAAS,EAAE,CAAC,KAAK,CAAC,WAAW,CAAC,IAAI,KAAK,CAAY;YACnD,gBAAgB,EAAE,KAAK,CAAC,kBAAkB,CAAa;SAC1D,CAAC,CAAC,CAAC;IACR,CAAC;CACJ;AAtED,sDAsEC"}
@@ -24,7 +24,7 @@ class CollectionSchemaTool extends mongodbTool_js_1.MongoDBToolBase {
24
24
  .number()
25
25
  .optional()
26
26
  .default(constants_js_1.ONE_MB)
27
- .describe(`The maximum number of bytes to return in the response. This value is capped by the servers configured maxBytesPerQuery and cannot be exceeded.`),
27
+ .describe(`The maximum number of bytes to return in the response. This value is capped by the server's configured maxBytesPerQuery and cannot be exceeded.`),
28
28
  };
29
29
  this.operationType = "metadata";
30
30
  }
@@ -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">;
13
- responseBytesLimit: z.ZodDefault<z.ZodOptional<z.ZodNumber>>;
12
+ readonly pipeline: z.ZodArray<z.AnyZodObject | 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.ZodOptional<z.ZodEffects<z.ZodDefault<z.ZodUnion<[z.ZodLiteral<"256">, z.ZodLiteral<"512">, z.ZodLiteral<"1024">, z.ZodLiteral<"2048">, z.ZodLiteral<"4096">]>>, number, "256" | "512" | "1024" | "2048" | "4096" | undefined>>;
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
+ outputDtype: "binary" | "float" | "int8" | "uint8" | "ubinary";
28
+ model: "voyage-3-large" | "voyage-3.5" | "voyage-3.5-lite" | "voyage-code-3";
29
+ outputDimension?: number | undefined;
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.ZodOptional<z.ZodEffects<z.ZodDefault<z.ZodUnion<[z.ZodLiteral<"256">, z.ZodLiteral<"512">, z.ZodLiteral<"1024">, z.ZodLiteral<"2048">, z.ZodLiteral<"4096">]>>, number, "256" | "512" | "1024" | "2048" | "4096" | undefined>>;
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
+ outputDtype: "binary" | "float" | "int8" | "uint8" | "ubinary";
50
+ model: "voyage-3-large" | "voyage-3.5" | "voyage-3.5-lite" | "voyage-code-3";
51
+ outputDimension?: number | undefined;
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.ZodOptional<z.ZodEffects<z.ZodDefault<z.ZodUnion<[z.ZodLiteral<"256">, z.ZodLiteral<"512">, z.ZodLiteral<"1024">, z.ZodLiteral<"2048">, z.ZodLiteral<"4096">]>>, number, "256" | "512" | "1024" | "2048" | "4096" | undefined>>;
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
+ outputDtype: "binary" | "float" | "int8" | "uint8" | "ubinary";
72
+ model: "voyage-3-large" | "voyage-3.5" | "voyage-3.5-lite" | "voyage-code-3";
73
+ outputDimension?: number | undefined;
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
+ queryVector: string | number[];
86
+ limit: number;
87
+ filter?: {
88
+ [x: string]: any;
89
+ } | undefined;
90
+ numCandidates?: number | undefined;
91
+ embeddingParameters?: {
92
+ outputDtype: "binary" | "float" | "int8" | "uint8" | "ubinary";
93
+ model: "voyage-3-large" | "voyage-3.5" | "voyage-3.5-lite" | "voyage-code-3";
94
+ outputDimension?: number | undefined;
95
+ } | 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
+ numCandidates?: number | undefined;
109
+ limit?: number | undefined;
110
+ embeddingParameters?: {
111
+ outputDimension?: "256" | "512" | "1024" | "2048" | "4096" | undefined;
112
+ outputDtype?: "binary" | "float" | "int8" | "uint8" | "ubinary" | undefined;
113
+ model?: "voyage-3-large" | "voyage-3.5" | "voyage-3.5-lite" | "voyage-code-3" | undefined;
114
+ } | undefined;
115
+ } & {
116
+ [k: string]: unknown;
117
+ };
118
+ }>]>, "many">;
119
+ readonly 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
+ queryVector: string | number[];
130
+ limit: number;
131
+ filter?: {
132
+ [x: string]: any;
133
+ } | undefined;
134
+ numCandidates?: number | undefined;
135
+ embeddingParameters?: {
136
+ outputDtype: "binary" | "float" | "int8" | "uint8" | "ubinary";
137
+ model: "voyage-3-large" | "voyage-3.5" | "voyage-3.5-lite" | "voyage-code-3";
138
+ outputDimension?: number | undefined;
139
+ } | 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
+ numCandidates?: number | undefined;
157
+ limit?: number | undefined;
158
+ embeddingParameters?: {
159
+ outputDimension?: "256" | "512" | "1024" | "2048" | "4096" | undefined;
160
+ outputDtype?: "binary" | "float" | "int8" | "uint8" | "ubinary" | undefined;
161
+ model?: "voyage-3-large" | "voyage-3.5" | "voyage-3.5-lite" | "voyage-code-3" | undefined;
162
+ } | 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
+ queryVector: string | number[];
181
+ limit: number;
182
+ filter?: {
183
+ [x: string]: any;
184
+ } | undefined;
185
+ numCandidates?: number | undefined;
186
+ embeddingParameters?: {
187
+ outputDtype: "binary" | "float" | "int8" | "uint8" | "ubinary";
188
+ model: "voyage-3-large" | "voyage-3.5" | "voyage-3.5-lite" | "voyage-code-3";
189
+ outputDimension?: number | undefined;
190
+ } | 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
+ numCandidates?: number | undefined;
211
+ limit?: number | undefined;
212
+ embeddingParameters?: {
213
+ outputDimension?: "256" | "512" | "1024" | "2048" | "4096" | undefined;
214
+ outputDtype?: "binary" | "float" | "int8" | "uint8" | "ubinary" | undefined;
215
+ model?: "voyage-3-large" | "voyage-3.5" | "voyage-3.5-lite" | "voyage-code-3" | undefined;
216
+ } | 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"}
@@ -18,7 +18,7 @@ class ExplainTool extends mongodbTool_js_1.MongoDBToolBase {
18
18
  .array(zod_1.z.discriminatedUnion("name", [
19
19
  zod_1.z.object({
20
20
  name: zod_1.z.literal("aggregate"),
21
- arguments: zod_1.z.object(aggregate_js_1.AggregateArgs),
21
+ arguments: zod_1.z.object((0, aggregate_js_1.getAggregateArgs)(this.isFeatureEnabled("search"))),
22
22
  }),
23
23
  zod_1.z.object({
24
24
  name: zod_1.z.literal("find"),
@@ -1 +1 @@
1
- {"version":3,"file":"explain.js","sourceRoot":"","sources":["../../../../../src/tools/mongodb/metadata/explain.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"explain.js","sourceRoot":"","sources":["../../../../../src/tools/mongodb/metadata/explain.ts"],"names":[],"mappings":"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"}
@@ -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"}
@@ -15,9 +15,7 @@ class ListDatabasesTool extends mongodbTool_js_1.MongoDBToolBase {
15
15
  const provider = await this.ensureConnected();
16
16
  const dbs = (await provider.listDatabases("")).databases;
17
17
  return {
18
- content: (0, tool_js_1.formatUntrustedData)(`Found ${dbs.length} databases`, dbs.length > 0
19
- ? dbs.map((db) => `Name: ${db.name}, Size: ${db.sizeOnDisk.toString()} bytes`).join("\n")
20
- : undefined),
18
+ content: (0, tool_js_1.formatUntrustedData)(`Found ${dbs.length} databases`, ...dbs.map((db) => `Name: ${db.name}, Size: ${db.sizeOnDisk.toString()} bytes`)),
21
19
  };
22
20
  }
23
21
  }
@@ -1 +1 @@
1
- {"version":3,"file":"listDatabases.js","sourceRoot":"","sources":["../../../../../src/tools/mongodb/metadata/listDatabases.ts"],"names":[],"mappings":";;;AACA,sDAAoD;AAGpD,2CAAoD;AAEpD,MAAa,iBAAkB,SAAQ,gCAAe;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,IAAA,6BAAmB,EACxB,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;AAnBD,8CAmBC"}
1
+ {"version":3,"file":"listDatabases.js","sourceRoot":"","sources":["../../../../../src/tools/mongodb/metadata/listDatabases.ts"],"names":[],"mappings":";;;AACA,sDAAoD;AAGpD,2CAAoD;AAEpD,MAAa,iBAAkB,SAAQ,gCAAe;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,IAAA,6BAAmB,EACxB,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;AAjBD,8CAiBC"}