mongodb-mcp-server 1.2.0 → 1.3.0-pre.2

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 (618) hide show
  1. package/README.md +56 -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/performanceAdvisorUtils.js +2 -2
  9. package/dist/cjs/common/atlas/performanceAdvisorUtils.js.map +1 -1
  10. package/dist/cjs/common/atlas/roles.d.ts +1 -1
  11. package/dist/cjs/common/atlas/roles.d.ts.map +1 -1
  12. package/dist/cjs/common/atlasLocal.d.ts.map +1 -1
  13. package/dist/cjs/common/atlasLocal.js +4 -4
  14. package/dist/cjs/common/atlasLocal.js.map +1 -1
  15. package/dist/cjs/common/config/argsParserOptions.d.ts +12 -0
  16. package/dist/cjs/common/config/argsParserOptions.d.ts.map +1 -0
  17. package/dist/cjs/common/config/argsParserOptions.js +103 -0
  18. package/dist/cjs/common/config/argsParserOptions.js.map +1 -0
  19. package/dist/cjs/common/config/configOverrides.d.ts +30 -0
  20. package/dist/cjs/common/config/configOverrides.d.ts.map +1 -0
  21. package/dist/cjs/common/config/configOverrides.js +145 -0
  22. package/dist/cjs/common/config/configOverrides.js.map +1 -0
  23. package/dist/cjs/common/config/configUtils.d.ts +43 -0
  24. package/dist/cjs/common/config/configUtils.d.ts.map +1 -0
  25. package/dist/cjs/common/config/configUtils.js +178 -0
  26. package/dist/cjs/common/config/configUtils.js.map +1 -0
  27. package/dist/cjs/common/config/createUserConfig.d.ts +10 -0
  28. package/dist/cjs/common/config/createUserConfig.d.ts.map +1 -0
  29. package/dist/cjs/common/config/createUserConfig.js +156 -0
  30. package/dist/cjs/common/config/createUserConfig.js.map +1 -0
  31. package/dist/cjs/common/config/userConfig.d.ts +54 -0
  32. package/dist/cjs/common/config/userConfig.d.ts.map +1 -0
  33. package/dist/cjs/common/config/userConfig.js +180 -0
  34. package/dist/cjs/common/config/userConfig.js.map +1 -0
  35. package/dist/cjs/common/connectionErrorHandler.js +1 -1
  36. package/dist/cjs/common/connectionErrorHandler.js.map +1 -1
  37. package/dist/cjs/common/connectionManager.d.ts +6 -5
  38. package/dist/cjs/common/connectionManager.d.ts.map +1 -1
  39. package/dist/cjs/common/connectionManager.js +24 -15
  40. package/dist/cjs/common/connectionManager.js.map +1 -1
  41. package/dist/cjs/common/errors.d.ts +2 -1
  42. package/dist/cjs/common/errors.d.ts.map +1 -1
  43. package/dist/cjs/common/errors.js +1 -0
  44. package/dist/cjs/common/errors.js.map +1 -1
  45. package/dist/cjs/common/exportsManager.d.ts +1 -1
  46. package/dist/cjs/common/exportsManager.d.ts.map +1 -1
  47. package/dist/cjs/common/logger.d.ts +2 -0
  48. package/dist/cjs/common/logger.d.ts.map +1 -1
  49. package/dist/cjs/common/logger.js +2 -0
  50. package/dist/cjs/common/logger.js.map +1 -1
  51. package/dist/cjs/common/packageInfo.js +1 -1
  52. package/dist/cjs/common/packageInfo.js.map +1 -1
  53. package/dist/cjs/common/schemas.d.ts +5 -0
  54. package/dist/cjs/common/schemas.d.ts.map +1 -0
  55. package/dist/cjs/common/schemas.js +6 -0
  56. package/dist/cjs/common/schemas.js.map +1 -0
  57. package/dist/cjs/common/search/embeddingsProvider.d.ts +3 -34
  58. package/dist/cjs/common/search/embeddingsProvider.d.ts.map +1 -1
  59. package/dist/cjs/common/search/embeddingsProvider.js +8 -16
  60. package/dist/cjs/common/search/embeddingsProvider.js.map +1 -1
  61. package/dist/cjs/common/search/vectorSearchEmbeddingsManager.d.ts +18 -9
  62. package/dist/cjs/common/search/vectorSearchEmbeddingsManager.d.ts.map +1 -1
  63. package/dist/cjs/common/search/vectorSearchEmbeddingsManager.js +68 -80
  64. package/dist/cjs/common/search/vectorSearchEmbeddingsManager.js.map +1 -1
  65. package/dist/cjs/common/session.d.ts +7 -5
  66. package/dist/cjs/common/session.d.ts.map +1 -1
  67. package/dist/cjs/common/session.js +17 -5
  68. package/dist/cjs/common/session.js.map +1 -1
  69. package/dist/cjs/helpers/assertVectorSearchFilterFieldsAreIndexed.d.ts +27 -0
  70. package/dist/cjs/helpers/assertVectorSearchFilterFieldsAreIndexed.d.ts.map +1 -0
  71. package/dist/cjs/helpers/assertVectorSearchFilterFieldsAreIndexed.js +58 -0
  72. package/dist/cjs/helpers/assertVectorSearchFilterFieldsAreIndexed.js.map +1 -0
  73. package/dist/cjs/index.d.ts +2 -1
  74. package/dist/cjs/index.d.ts.map +1 -1
  75. package/dist/cjs/index.js +44 -16
  76. package/dist/cjs/index.js.map +1 -1
  77. package/dist/cjs/lib.d.ts +9 -4
  78. package/dist/cjs/lib.d.ts.map +1 -1
  79. package/dist/cjs/lib.js +18 -4
  80. package/dist/cjs/lib.js.map +1 -1
  81. package/dist/cjs/resources/common/config.d.ts +1 -1
  82. package/dist/cjs/resources/common/config.d.ts.map +1 -1
  83. package/dist/cjs/resources/common/config.js +4 -3
  84. package/dist/cjs/resources/common/config.js.map +1 -1
  85. package/dist/cjs/resources/resource.d.ts +1 -1
  86. package/dist/cjs/resources/resource.d.ts.map +1 -1
  87. package/dist/cjs/server.d.ts +34 -5
  88. package/dist/cjs/server.d.ts.map +1 -1
  89. package/dist/cjs/server.js +6 -24
  90. package/dist/cjs/server.js.map +1 -1
  91. package/dist/cjs/telemetry/telemetry.d.ts +1 -1
  92. package/dist/cjs/telemetry/telemetry.d.ts.map +1 -1
  93. package/dist/cjs/telemetry/types.d.ts +22 -5
  94. package/dist/cjs/telemetry/types.d.ts.map +1 -1
  95. package/dist/cjs/tools/atlas/atlasTool.d.ts +4 -3
  96. package/dist/cjs/tools/atlas/atlasTool.d.ts.map +1 -1
  97. package/dist/cjs/tools/atlas/atlasTool.js +3 -6
  98. package/dist/cjs/tools/atlas/atlasTool.js.map +1 -1
  99. package/dist/cjs/tools/atlas/connect/connectCluster.d.ts +4 -1
  100. package/dist/cjs/tools/atlas/connect/connectCluster.d.ts.map +1 -1
  101. package/dist/cjs/tools/atlas/connect/connectCluster.js +37 -17
  102. package/dist/cjs/tools/atlas/connect/connectCluster.js.map +1 -1
  103. package/dist/cjs/tools/atlas/create/createAccessList.d.ts +1 -1
  104. package/dist/cjs/tools/atlas/create/createAccessList.d.ts.map +1 -1
  105. package/dist/cjs/tools/atlas/create/createAccessList.js +2 -2
  106. package/dist/cjs/tools/atlas/create/createAccessList.js.map +1 -1
  107. package/dist/cjs/tools/atlas/create/createDBUser.d.ts +1 -1
  108. package/dist/cjs/tools/atlas/create/createDBUser.d.ts.map +1 -1
  109. package/dist/cjs/tools/atlas/create/createDBUser.js +1 -1
  110. package/dist/cjs/tools/atlas/create/createDBUser.js.map +1 -1
  111. package/dist/cjs/tools/atlas/create/createFreeCluster.d.ts +1 -1
  112. package/dist/cjs/tools/atlas/create/createFreeCluster.d.ts.map +1 -1
  113. package/dist/cjs/tools/atlas/create/createFreeCluster.js +1 -1
  114. package/dist/cjs/tools/atlas/create/createFreeCluster.js.map +1 -1
  115. package/dist/cjs/tools/atlas/create/createProject.d.ts +1 -1
  116. package/dist/cjs/tools/atlas/create/createProject.d.ts.map +1 -1
  117. package/dist/cjs/tools/atlas/create/createProject.js +3 -3
  118. package/dist/cjs/tools/atlas/create/createProject.js.map +1 -1
  119. package/dist/cjs/tools/atlas/read/getPerformanceAdvisor.d.ts +5 -2
  120. package/dist/cjs/tools/atlas/read/getPerformanceAdvisor.d.ts.map +1 -1
  121. package/dist/cjs/tools/atlas/read/getPerformanceAdvisor.js +8 -2
  122. package/dist/cjs/tools/atlas/read/getPerformanceAdvisor.js.map +1 -1
  123. package/dist/cjs/tools/atlas/read/inspectAccessList.d.ts +1 -1
  124. package/dist/cjs/tools/atlas/read/inspectAccessList.d.ts.map +1 -1
  125. package/dist/cjs/tools/atlas/read/inspectAccessList.js +8 -9
  126. package/dist/cjs/tools/atlas/read/inspectAccessList.js.map +1 -1
  127. package/dist/cjs/tools/atlas/read/inspectCluster.d.ts +1 -1
  128. package/dist/cjs/tools/atlas/read/inspectCluster.d.ts.map +1 -1
  129. package/dist/cjs/tools/atlas/read/inspectCluster.js +10 -4
  130. package/dist/cjs/tools/atlas/read/inspectCluster.js.map +1 -1
  131. package/dist/cjs/tools/atlas/read/listAlerts.d.ts +1 -1
  132. package/dist/cjs/tools/atlas/read/listAlerts.d.ts.map +1 -1
  133. package/dist/cjs/tools/atlas/read/listAlerts.js +10 -14
  134. package/dist/cjs/tools/atlas/read/listAlerts.js.map +1 -1
  135. package/dist/cjs/tools/atlas/read/listClusters.d.ts +1 -1
  136. package/dist/cjs/tools/atlas/read/listClusters.d.ts.map +1 -1
  137. package/dist/cjs/tools/atlas/read/listClusters.js +10 -26
  138. package/dist/cjs/tools/atlas/read/listClusters.js.map +1 -1
  139. package/dist/cjs/tools/atlas/read/listDBUsers.d.ts +1 -1
  140. package/dist/cjs/tools/atlas/read/listDBUsers.d.ts.map +1 -1
  141. package/dist/cjs/tools/atlas/read/listDBUsers.js +14 -24
  142. package/dist/cjs/tools/atlas/read/listDBUsers.js.map +1 -1
  143. package/dist/cjs/tools/atlas/read/listOrgs.d.ts +1 -1
  144. package/dist/cjs/tools/atlas/read/listOrgs.d.ts.map +1 -1
  145. package/dist/cjs/tools/atlas/read/listOrgs.js +7 -12
  146. package/dist/cjs/tools/atlas/read/listOrgs.js.map +1 -1
  147. package/dist/cjs/tools/atlas/read/listProjects.d.ts +1 -1
  148. package/dist/cjs/tools/atlas/read/listProjects.d.ts.map +1 -1
  149. package/dist/cjs/tools/atlas/read/listProjects.js +4 -4
  150. package/dist/cjs/tools/atlas/read/listProjects.js.map +1 -1
  151. package/dist/cjs/tools/atlas/tools.d.ts +13 -14
  152. package/dist/cjs/tools/atlas/tools.d.ts.map +1 -1
  153. package/dist/cjs/tools/atlas/tools.js +27 -29
  154. package/dist/cjs/tools/atlas/tools.js.map +1 -1
  155. package/dist/cjs/tools/atlasLocal/atlasLocalTool.d.ts +4 -3
  156. package/dist/cjs/tools/atlasLocal/atlasLocalTool.d.ts.map +1 -1
  157. package/dist/cjs/tools/atlasLocal/atlasLocalTool.js +2 -5
  158. package/dist/cjs/tools/atlasLocal/atlasLocalTool.js.map +1 -1
  159. package/dist/cjs/tools/atlasLocal/connect/connectDeployment.d.ts +3 -1
  160. package/dist/cjs/tools/atlasLocal/connect/connectDeployment.d.ts.map +1 -1
  161. package/dist/cjs/tools/atlasLocal/connect/connectDeployment.js +4 -1
  162. package/dist/cjs/tools/atlasLocal/connect/connectDeployment.js.map +1 -1
  163. package/dist/cjs/tools/atlasLocal/create/createDeployment.d.ts +1 -1
  164. package/dist/cjs/tools/atlasLocal/create/createDeployment.d.ts.map +1 -1
  165. package/dist/cjs/tools/atlasLocal/create/createDeployment.js +1 -1
  166. package/dist/cjs/tools/atlasLocal/create/createDeployment.js.map +1 -1
  167. package/dist/cjs/tools/atlasLocal/delete/deleteDeployment.d.ts +1 -1
  168. package/dist/cjs/tools/atlasLocal/delete/deleteDeployment.d.ts.map +1 -1
  169. package/dist/cjs/tools/atlasLocal/delete/deleteDeployment.js +1 -1
  170. package/dist/cjs/tools/atlasLocal/delete/deleteDeployment.js.map +1 -1
  171. package/dist/cjs/tools/atlasLocal/read/listDeployments.d.ts +1 -1
  172. package/dist/cjs/tools/atlasLocal/read/listDeployments.d.ts.map +1 -1
  173. package/dist/cjs/tools/atlasLocal/read/listDeployments.js +1 -1
  174. package/dist/cjs/tools/atlasLocal/read/listDeployments.js.map +1 -1
  175. package/dist/cjs/tools/atlasLocal/tools.d.ts +4 -5
  176. package/dist/cjs/tools/atlasLocal/tools.d.ts.map +1 -1
  177. package/dist/cjs/tools/atlasLocal/tools.js +9 -6
  178. package/dist/cjs/tools/atlasLocal/tools.js.map +1 -1
  179. package/dist/cjs/tools/index.d.ts +7 -0
  180. package/dist/cjs/tools/index.d.ts.map +1 -0
  181. package/dist/cjs/tools/index.js +56 -0
  182. package/dist/cjs/tools/index.js.map +1 -0
  183. package/dist/cjs/tools/mongodb/connect/connect.d.ts +6 -12
  184. package/dist/cjs/tools/mongodb/connect/connect.d.ts.map +1 -1
  185. package/dist/cjs/tools/mongodb/connect/connect.js +22 -75
  186. package/dist/cjs/tools/mongodb/connect/connect.js.map +1 -1
  187. package/dist/cjs/tools/mongodb/connect/switchConnection.d.ts +17 -0
  188. package/dist/cjs/tools/mongodb/connect/switchConnection.d.ts.map +1 -0
  189. package/dist/cjs/tools/mongodb/connect/switchConnection.js +52 -0
  190. package/dist/cjs/tools/mongodb/connect/switchConnection.js.map +1 -0
  191. package/dist/cjs/tools/mongodb/create/createCollection.d.ts +1 -1
  192. package/dist/cjs/tools/mongodb/create/createCollection.d.ts.map +1 -1
  193. package/dist/cjs/tools/mongodb/create/createCollection.js +1 -1
  194. package/dist/cjs/tools/mongodb/create/createCollection.js.map +1 -1
  195. package/dist/cjs/tools/mongodb/create/createIndex.d.ts +1 -1
  196. package/dist/cjs/tools/mongodb/create/createIndex.d.ts.map +1 -1
  197. package/dist/cjs/tools/mongodb/create/createIndex.js +6 -4
  198. package/dist/cjs/tools/mongodb/create/createIndex.js.map +1 -1
  199. package/dist/cjs/tools/mongodb/create/insertMany.d.ts +26 -2
  200. package/dist/cjs/tools/mongodb/create/insertMany.d.ts.map +1 -1
  201. package/dist/cjs/tools/mongodb/create/insertMany.js +92 -19
  202. package/dist/cjs/tools/mongodb/create/insertMany.js.map +1 -1
  203. package/dist/cjs/tools/mongodb/delete/deleteMany.d.ts +1 -1
  204. package/dist/cjs/tools/mongodb/delete/deleteMany.d.ts.map +1 -1
  205. package/dist/cjs/tools/mongodb/delete/deleteMany.js +1 -1
  206. package/dist/cjs/tools/mongodb/delete/deleteMany.js.map +1 -1
  207. package/dist/cjs/tools/mongodb/delete/dropCollection.d.ts +1 -1
  208. package/dist/cjs/tools/mongodb/delete/dropCollection.d.ts.map +1 -1
  209. package/dist/cjs/tools/mongodb/delete/dropCollection.js +1 -1
  210. package/dist/cjs/tools/mongodb/delete/dropCollection.js.map +1 -1
  211. package/dist/cjs/tools/mongodb/delete/dropDatabase.d.ts +1 -1
  212. package/dist/cjs/tools/mongodb/delete/dropDatabase.d.ts.map +1 -1
  213. package/dist/cjs/tools/mongodb/delete/dropDatabase.js +1 -1
  214. package/dist/cjs/tools/mongodb/delete/dropDatabase.js.map +1 -1
  215. package/dist/cjs/tools/mongodb/delete/dropIndex.d.ts +1 -1
  216. package/dist/cjs/tools/mongodb/delete/dropIndex.d.ts.map +1 -1
  217. package/dist/cjs/tools/mongodb/delete/dropIndex.js +2 -2
  218. package/dist/cjs/tools/mongodb/delete/dropIndex.js.map +1 -1
  219. package/dist/cjs/tools/mongodb/metadata/collectionIndexes.d.ts +1 -1
  220. package/dist/cjs/tools/mongodb/metadata/collectionIndexes.d.ts.map +1 -1
  221. package/dist/cjs/tools/mongodb/metadata/collectionIndexes.js +2 -2
  222. package/dist/cjs/tools/mongodb/metadata/collectionIndexes.js.map +1 -1
  223. package/dist/cjs/tools/mongodb/metadata/collectionSchema.d.ts +1 -1
  224. package/dist/cjs/tools/mongodb/metadata/collectionSchema.d.ts.map +1 -1
  225. package/dist/cjs/tools/mongodb/metadata/collectionSchema.js +2 -2
  226. package/dist/cjs/tools/mongodb/metadata/collectionSchema.js.map +1 -1
  227. package/dist/cjs/tools/mongodb/metadata/collectionStorageSize.d.ts +1 -1
  228. package/dist/cjs/tools/mongodb/metadata/collectionStorageSize.d.ts.map +1 -1
  229. package/dist/cjs/tools/mongodb/metadata/collectionStorageSize.js +1 -1
  230. package/dist/cjs/tools/mongodb/metadata/collectionStorageSize.js.map +1 -1
  231. package/dist/cjs/tools/mongodb/metadata/dbStats.d.ts +1 -1
  232. package/dist/cjs/tools/mongodb/metadata/dbStats.d.ts.map +1 -1
  233. package/dist/cjs/tools/mongodb/metadata/dbStats.js +1 -1
  234. package/dist/cjs/tools/mongodb/metadata/dbStats.js.map +1 -1
  235. package/dist/cjs/tools/mongodb/metadata/explain.d.ts +45 -45
  236. package/dist/cjs/tools/mongodb/metadata/explain.d.ts.map +1 -1
  237. package/dist/cjs/tools/mongodb/metadata/explain.js +2 -2
  238. package/dist/cjs/tools/mongodb/metadata/explain.js.map +1 -1
  239. package/dist/cjs/tools/mongodb/metadata/listCollections.d.ts +1 -1
  240. package/dist/cjs/tools/mongodb/metadata/listCollections.d.ts.map +1 -1
  241. package/dist/cjs/tools/mongodb/metadata/listCollections.js +1 -1
  242. package/dist/cjs/tools/mongodb/metadata/listCollections.js.map +1 -1
  243. package/dist/cjs/tools/mongodb/metadata/listDatabases.d.ts +1 -1
  244. package/dist/cjs/tools/mongodb/metadata/listDatabases.d.ts.map +1 -1
  245. package/dist/cjs/tools/mongodb/metadata/listDatabases.js +1 -1
  246. package/dist/cjs/tools/mongodb/metadata/listDatabases.js.map +1 -1
  247. package/dist/cjs/tools/mongodb/metadata/logs.d.ts +1 -1
  248. package/dist/cjs/tools/mongodb/metadata/logs.d.ts.map +1 -1
  249. package/dist/cjs/tools/mongodb/metadata/logs.js +1 -1
  250. package/dist/cjs/tools/mongodb/metadata/logs.js.map +1 -1
  251. package/dist/cjs/tools/mongodb/mongodbSchemas.d.ts +155 -0
  252. package/dist/cjs/tools/mongodb/mongodbSchemas.d.ts.map +1 -0
  253. package/dist/cjs/tools/mongodb/mongodbSchemas.js +69 -0
  254. package/dist/cjs/tools/mongodb/mongodbSchemas.js.map +1 -0
  255. package/dist/cjs/tools/mongodb/mongodbTool.d.ts +14 -4
  256. package/dist/cjs/tools/mongodb/mongodbTool.d.ts.map +1 -1
  257. package/dist/cjs/tools/mongodb/mongodbTool.js +14 -16
  258. package/dist/cjs/tools/mongodb/mongodbTool.js.map +1 -1
  259. package/dist/cjs/tools/mongodb/read/aggregate.d.ts +58 -57
  260. package/dist/cjs/tools/mongodb/read/aggregate.d.ts.map +1 -1
  261. package/dist/cjs/tools/mongodb/read/aggregate.js +80 -47
  262. package/dist/cjs/tools/mongodb/read/aggregate.js.map +1 -1
  263. package/dist/cjs/tools/mongodb/read/count.d.ts +1 -1
  264. package/dist/cjs/tools/mongodb/read/count.d.ts.map +1 -1
  265. package/dist/cjs/tools/mongodb/read/count.js +1 -1
  266. package/dist/cjs/tools/mongodb/read/count.js.map +1 -1
  267. package/dist/cjs/tools/mongodb/read/export.d.ts +45 -45
  268. package/dist/cjs/tools/mongodb/read/export.d.ts.map +1 -1
  269. package/dist/cjs/tools/mongodb/read/export.js +4 -2
  270. package/dist/cjs/tools/mongodb/read/export.js.map +1 -1
  271. package/dist/cjs/tools/mongodb/read/find.d.ts +1 -1
  272. package/dist/cjs/tools/mongodb/read/find.d.ts.map +1 -1
  273. package/dist/cjs/tools/mongodb/read/find.js +2 -2
  274. package/dist/cjs/tools/mongodb/read/find.js.map +1 -1
  275. package/dist/cjs/tools/mongodb/tools.d.ts +23 -23
  276. package/dist/cjs/tools/mongodb/tools.d.ts.map +1 -1
  277. package/dist/cjs/tools/mongodb/tools.js +47 -47
  278. package/dist/cjs/tools/mongodb/tools.js.map +1 -1
  279. package/dist/cjs/tools/mongodb/update/renameCollection.d.ts +1 -1
  280. package/dist/cjs/tools/mongodb/update/renameCollection.d.ts.map +1 -1
  281. package/dist/cjs/tools/mongodb/update/renameCollection.js +1 -1
  282. package/dist/cjs/tools/mongodb/update/renameCollection.js.map +1 -1
  283. package/dist/cjs/tools/mongodb/update/updateMany.d.ts +1 -1
  284. package/dist/cjs/tools/mongodb/update/updateMany.d.ts.map +1 -1
  285. package/dist/cjs/tools/mongodb/update/updateMany.js +1 -1
  286. package/dist/cjs/tools/mongodb/update/updateMany.js.map +1 -1
  287. package/dist/cjs/tools/tool.d.ts +343 -25
  288. package/dist/cjs/tools/tool.d.ts.map +1 -1
  289. package/dist/cjs/tools/tool.js +175 -56
  290. package/dist/cjs/tools/tool.js.map +1 -1
  291. package/dist/cjs/transports/base.d.ts +156 -3
  292. package/dist/cjs/transports/base.d.ts.map +1 -1
  293. package/dist/cjs/transports/base.js +37 -11
  294. package/dist/cjs/transports/base.js.map +1 -1
  295. package/dist/cjs/transports/dryModeRunner.d.ts +19 -0
  296. package/dist/cjs/transports/dryModeRunner.d.ts.map +1 -0
  297. package/dist/cjs/transports/dryModeRunner.js +37 -0
  298. package/dist/cjs/transports/dryModeRunner.js.map +1 -0
  299. package/dist/cjs/transports/inMemoryTransport.d.ts +18 -0
  300. package/dist/cjs/transports/inMemoryTransport.d.ts.map +1 -0
  301. package/dist/cjs/transports/inMemoryTransport.js +43 -0
  302. package/dist/cjs/transports/inMemoryTransport.js.map +1 -0
  303. package/dist/cjs/transports/streamableHttp.d.ts.map +1 -1
  304. package/dist/cjs/transports/streamableHttp.js +5 -1
  305. package/dist/cjs/transports/streamableHttp.js.map +1 -1
  306. package/dist/esm/common/atlas/accessListUtils.js +1 -1
  307. package/dist/esm/common/atlas/accessListUtils.js.map +1 -1
  308. package/dist/esm/common/atlas/apiClient.d.ts +30 -26
  309. package/dist/esm/common/atlas/apiClient.d.ts.map +1 -1
  310. package/dist/esm/common/atlas/apiClient.js +12 -12
  311. package/dist/esm/common/atlas/apiClient.js.map +1 -1
  312. package/dist/esm/common/atlas/performanceAdvisorUtils.js +2 -2
  313. package/dist/esm/common/atlas/performanceAdvisorUtils.js.map +1 -1
  314. package/dist/esm/common/atlas/roles.d.ts +1 -1
  315. package/dist/esm/common/atlas/roles.d.ts.map +1 -1
  316. package/dist/esm/common/atlasLocal.d.ts.map +1 -1
  317. package/dist/esm/common/atlasLocal.js +4 -4
  318. package/dist/esm/common/atlasLocal.js.map +1 -1
  319. package/dist/esm/common/config/argsParserOptions.d.ts +12 -0
  320. package/dist/esm/common/config/argsParserOptions.d.ts.map +1 -0
  321. package/dist/esm/common/config/argsParserOptions.js +100 -0
  322. package/dist/esm/common/config/argsParserOptions.js.map +1 -0
  323. package/dist/esm/common/config/configOverrides.d.ts +30 -0
  324. package/dist/esm/common/config/configOverrides.d.ts.map +1 -0
  325. package/dist/esm/common/config/configOverrides.js +139 -0
  326. package/dist/esm/common/config/configOverrides.js.map +1 -0
  327. package/dist/esm/common/config/configUtils.d.ts +43 -0
  328. package/dist/esm/common/config/configUtils.d.ts.map +1 -0
  329. package/dist/esm/common/config/configUtils.js +130 -0
  330. package/dist/esm/common/config/configUtils.js.map +1 -0
  331. package/dist/esm/common/config/createUserConfig.d.ts +10 -0
  332. package/dist/esm/common/config/createUserConfig.d.ts.map +1 -0
  333. package/dist/esm/common/config/createUserConfig.js +149 -0
  334. package/dist/esm/common/config/createUserConfig.js.map +1 -0
  335. package/dist/esm/common/config/userConfig.d.ts +54 -0
  336. package/dist/esm/common/config/userConfig.d.ts.map +1 -0
  337. package/dist/esm/common/config/userConfig.js +177 -0
  338. package/dist/esm/common/config/userConfig.js.map +1 -0
  339. package/dist/esm/common/connectionErrorHandler.js +1 -1
  340. package/dist/esm/common/connectionErrorHandler.js.map +1 -1
  341. package/dist/esm/common/connectionManager.d.ts +6 -5
  342. package/dist/esm/common/connectionManager.d.ts.map +1 -1
  343. package/dist/esm/common/connectionManager.js +23 -14
  344. package/dist/esm/common/connectionManager.js.map +1 -1
  345. package/dist/esm/common/errors.d.ts +2 -1
  346. package/dist/esm/common/errors.d.ts.map +1 -1
  347. package/dist/esm/common/errors.js +1 -0
  348. package/dist/esm/common/errors.js.map +1 -1
  349. package/dist/esm/common/exportsManager.d.ts +1 -1
  350. package/dist/esm/common/exportsManager.d.ts.map +1 -1
  351. package/dist/esm/common/logger.d.ts +2 -0
  352. package/dist/esm/common/logger.d.ts.map +1 -1
  353. package/dist/esm/common/logger.js +2 -0
  354. package/dist/esm/common/logger.js.map +1 -1
  355. package/dist/esm/common/packageInfo.js +1 -1
  356. package/dist/esm/common/packageInfo.js.map +1 -1
  357. package/dist/esm/common/schemas.d.ts +5 -0
  358. package/dist/esm/common/schemas.d.ts.map +1 -0
  359. package/dist/esm/common/schemas.js +3 -0
  360. package/dist/esm/common/schemas.js.map +1 -0
  361. package/dist/esm/common/search/embeddingsProvider.d.ts +3 -34
  362. package/dist/esm/common/search/embeddingsProvider.d.ts.map +1 -1
  363. package/dist/esm/common/search/embeddingsProvider.js +8 -15
  364. package/dist/esm/common/search/embeddingsProvider.js.map +1 -1
  365. package/dist/esm/common/search/vectorSearchEmbeddingsManager.d.ts +18 -9
  366. package/dist/esm/common/search/vectorSearchEmbeddingsManager.d.ts.map +1 -1
  367. package/dist/esm/common/search/vectorSearchEmbeddingsManager.js +67 -79
  368. package/dist/esm/common/search/vectorSearchEmbeddingsManager.js.map +1 -1
  369. package/dist/esm/common/session.d.ts +7 -5
  370. package/dist/esm/common/session.d.ts.map +1 -1
  371. package/dist/esm/common/session.js +17 -5
  372. package/dist/esm/common/session.js.map +1 -1
  373. package/dist/esm/helpers/assertVectorSearchFilterFieldsAreIndexed.d.ts +27 -0
  374. package/dist/esm/helpers/assertVectorSearchFilterFieldsAreIndexed.d.ts.map +1 -0
  375. package/dist/esm/helpers/assertVectorSearchFilterFieldsAreIndexed.js +54 -0
  376. package/dist/esm/helpers/assertVectorSearchFilterFieldsAreIndexed.js.map +1 -0
  377. package/dist/esm/index.d.ts +2 -1
  378. package/dist/esm/index.d.ts.map +1 -1
  379. package/dist/esm/index.js +40 -13
  380. package/dist/esm/index.js.map +1 -1
  381. package/dist/esm/lib.d.ts +9 -4
  382. package/dist/esm/lib.d.ts.map +1 -1
  383. package/dist/esm/lib.js +9 -3
  384. package/dist/esm/lib.js.map +1 -1
  385. package/dist/esm/resources/common/config.d.ts +1 -1
  386. package/dist/esm/resources/common/config.d.ts.map +1 -1
  387. package/dist/esm/resources/common/config.js +4 -3
  388. package/dist/esm/resources/common/config.js.map +1 -1
  389. package/dist/esm/resources/resource.d.ts +1 -1
  390. package/dist/esm/resources/resource.d.ts.map +1 -1
  391. package/dist/esm/server.d.ts +34 -5
  392. package/dist/esm/server.d.ts.map +1 -1
  393. package/dist/esm/server.js +6 -24
  394. package/dist/esm/server.js.map +1 -1
  395. package/dist/esm/telemetry/telemetry.d.ts +1 -1
  396. package/dist/esm/telemetry/telemetry.d.ts.map +1 -1
  397. package/dist/esm/telemetry/types.d.ts +22 -5
  398. package/dist/esm/telemetry/types.d.ts.map +1 -1
  399. package/dist/esm/tools/atlas/atlasTool.d.ts +4 -3
  400. package/dist/esm/tools/atlas/atlasTool.d.ts.map +1 -1
  401. package/dist/esm/tools/atlas/atlasTool.js +3 -6
  402. package/dist/esm/tools/atlas/atlasTool.js.map +1 -1
  403. package/dist/esm/tools/atlas/connect/connectCluster.d.ts +4 -1
  404. package/dist/esm/tools/atlas/connect/connectCluster.d.ts.map +1 -1
  405. package/dist/esm/tools/atlas/connect/connectCluster.js +37 -17
  406. package/dist/esm/tools/atlas/connect/connectCluster.js.map +1 -1
  407. package/dist/esm/tools/atlas/create/createAccessList.d.ts +1 -1
  408. package/dist/esm/tools/atlas/create/createAccessList.d.ts.map +1 -1
  409. package/dist/esm/tools/atlas/create/createAccessList.js +2 -2
  410. package/dist/esm/tools/atlas/create/createAccessList.js.map +1 -1
  411. package/dist/esm/tools/atlas/create/createDBUser.d.ts +1 -1
  412. package/dist/esm/tools/atlas/create/createDBUser.d.ts.map +1 -1
  413. package/dist/esm/tools/atlas/create/createDBUser.js +1 -1
  414. package/dist/esm/tools/atlas/create/createDBUser.js.map +1 -1
  415. package/dist/esm/tools/atlas/create/createFreeCluster.d.ts +1 -1
  416. package/dist/esm/tools/atlas/create/createFreeCluster.d.ts.map +1 -1
  417. package/dist/esm/tools/atlas/create/createFreeCluster.js +1 -1
  418. package/dist/esm/tools/atlas/create/createFreeCluster.js.map +1 -1
  419. package/dist/esm/tools/atlas/create/createProject.d.ts +1 -1
  420. package/dist/esm/tools/atlas/create/createProject.d.ts.map +1 -1
  421. package/dist/esm/tools/atlas/create/createProject.js +3 -3
  422. package/dist/esm/tools/atlas/create/createProject.js.map +1 -1
  423. package/dist/esm/tools/atlas/read/getPerformanceAdvisor.d.ts +5 -2
  424. package/dist/esm/tools/atlas/read/getPerformanceAdvisor.d.ts.map +1 -1
  425. package/dist/esm/tools/atlas/read/getPerformanceAdvisor.js +8 -2
  426. package/dist/esm/tools/atlas/read/getPerformanceAdvisor.js.map +1 -1
  427. package/dist/esm/tools/atlas/read/inspectAccessList.d.ts +1 -1
  428. package/dist/esm/tools/atlas/read/inspectAccessList.d.ts.map +1 -1
  429. package/dist/esm/tools/atlas/read/inspectAccessList.js +8 -9
  430. package/dist/esm/tools/atlas/read/inspectAccessList.js.map +1 -1
  431. package/dist/esm/tools/atlas/read/inspectCluster.d.ts +1 -1
  432. package/dist/esm/tools/atlas/read/inspectCluster.d.ts.map +1 -1
  433. package/dist/esm/tools/atlas/read/inspectCluster.js +10 -4
  434. package/dist/esm/tools/atlas/read/inspectCluster.js.map +1 -1
  435. package/dist/esm/tools/atlas/read/listAlerts.d.ts +1 -1
  436. package/dist/esm/tools/atlas/read/listAlerts.d.ts.map +1 -1
  437. package/dist/esm/tools/atlas/read/listAlerts.js +10 -14
  438. package/dist/esm/tools/atlas/read/listAlerts.js.map +1 -1
  439. package/dist/esm/tools/atlas/read/listClusters.d.ts +1 -1
  440. package/dist/esm/tools/atlas/read/listClusters.d.ts.map +1 -1
  441. package/dist/esm/tools/atlas/read/listClusters.js +10 -26
  442. package/dist/esm/tools/atlas/read/listClusters.js.map +1 -1
  443. package/dist/esm/tools/atlas/read/listDBUsers.d.ts +1 -1
  444. package/dist/esm/tools/atlas/read/listDBUsers.d.ts.map +1 -1
  445. package/dist/esm/tools/atlas/read/listDBUsers.js +14 -24
  446. package/dist/esm/tools/atlas/read/listDBUsers.js.map +1 -1
  447. package/dist/esm/tools/atlas/read/listOrgs.d.ts +1 -1
  448. package/dist/esm/tools/atlas/read/listOrgs.d.ts.map +1 -1
  449. package/dist/esm/tools/atlas/read/listOrgs.js +7 -12
  450. package/dist/esm/tools/atlas/read/listOrgs.js.map +1 -1
  451. package/dist/esm/tools/atlas/read/listProjects.d.ts +1 -1
  452. package/dist/esm/tools/atlas/read/listProjects.d.ts.map +1 -1
  453. package/dist/esm/tools/atlas/read/listProjects.js +4 -4
  454. package/dist/esm/tools/atlas/read/listProjects.js.map +1 -1
  455. package/dist/esm/tools/atlas/tools.d.ts +13 -14
  456. package/dist/esm/tools/atlas/tools.d.ts.map +1 -1
  457. package/dist/esm/tools/atlas/tools.js +13 -28
  458. package/dist/esm/tools/atlas/tools.js.map +1 -1
  459. package/dist/esm/tools/atlasLocal/atlasLocalTool.d.ts +4 -3
  460. package/dist/esm/tools/atlasLocal/atlasLocalTool.d.ts.map +1 -1
  461. package/dist/esm/tools/atlasLocal/atlasLocalTool.js +2 -5
  462. package/dist/esm/tools/atlasLocal/atlasLocalTool.js.map +1 -1
  463. package/dist/esm/tools/atlasLocal/connect/connectDeployment.d.ts +3 -1
  464. package/dist/esm/tools/atlasLocal/connect/connectDeployment.d.ts.map +1 -1
  465. package/dist/esm/tools/atlasLocal/connect/connectDeployment.js +4 -1
  466. package/dist/esm/tools/atlasLocal/connect/connectDeployment.js.map +1 -1
  467. package/dist/esm/tools/atlasLocal/create/createDeployment.d.ts +1 -1
  468. package/dist/esm/tools/atlasLocal/create/createDeployment.d.ts.map +1 -1
  469. package/dist/esm/tools/atlasLocal/create/createDeployment.js +1 -1
  470. package/dist/esm/tools/atlasLocal/create/createDeployment.js.map +1 -1
  471. package/dist/esm/tools/atlasLocal/delete/deleteDeployment.d.ts +1 -1
  472. package/dist/esm/tools/atlasLocal/delete/deleteDeployment.d.ts.map +1 -1
  473. package/dist/esm/tools/atlasLocal/delete/deleteDeployment.js +1 -1
  474. package/dist/esm/tools/atlasLocal/delete/deleteDeployment.js.map +1 -1
  475. package/dist/esm/tools/atlasLocal/read/listDeployments.d.ts +1 -1
  476. package/dist/esm/tools/atlasLocal/read/listDeployments.d.ts.map +1 -1
  477. package/dist/esm/tools/atlasLocal/read/listDeployments.js +1 -1
  478. package/dist/esm/tools/atlasLocal/read/listDeployments.js.map +1 -1
  479. package/dist/esm/tools/atlasLocal/tools.d.ts +4 -5
  480. package/dist/esm/tools/atlasLocal/tools.d.ts.map +1 -1
  481. package/dist/esm/tools/atlasLocal/tools.js +4 -5
  482. package/dist/esm/tools/atlasLocal/tools.js.map +1 -1
  483. package/dist/esm/tools/index.d.ts +7 -0
  484. package/dist/esm/tools/index.d.ts.map +1 -0
  485. package/dist/esm/tools/index.js +16 -0
  486. package/dist/esm/tools/index.js.map +1 -0
  487. package/dist/esm/tools/mongodb/connect/connect.d.ts +6 -12
  488. package/dist/esm/tools/mongodb/connect/connect.d.ts.map +1 -1
  489. package/dist/esm/tools/mongodb/connect/connect.js +22 -72
  490. package/dist/esm/tools/mongodb/connect/connect.js.map +1 -1
  491. package/dist/esm/tools/mongodb/connect/switchConnection.d.ts +17 -0
  492. package/dist/esm/tools/mongodb/connect/switchConnection.d.ts.map +1 -0
  493. package/dist/esm/tools/mongodb/connect/switchConnection.js +45 -0
  494. package/dist/esm/tools/mongodb/connect/switchConnection.js.map +1 -0
  495. package/dist/esm/tools/mongodb/create/createCollection.d.ts +1 -1
  496. package/dist/esm/tools/mongodb/create/createCollection.d.ts.map +1 -1
  497. package/dist/esm/tools/mongodb/create/createCollection.js +1 -1
  498. package/dist/esm/tools/mongodb/create/createCollection.js.map +1 -1
  499. package/dist/esm/tools/mongodb/create/createIndex.d.ts +1 -1
  500. package/dist/esm/tools/mongodb/create/createIndex.d.ts.map +1 -1
  501. package/dist/esm/tools/mongodb/create/createIndex.js +7 -5
  502. package/dist/esm/tools/mongodb/create/createIndex.js.map +1 -1
  503. package/dist/esm/tools/mongodb/create/insertMany.d.ts +26 -2
  504. package/dist/esm/tools/mongodb/create/insertMany.d.ts.map +1 -1
  505. package/dist/esm/tools/mongodb/create/insertMany.js +92 -19
  506. package/dist/esm/tools/mongodb/create/insertMany.js.map +1 -1
  507. package/dist/esm/tools/mongodb/delete/deleteMany.d.ts +1 -1
  508. package/dist/esm/tools/mongodb/delete/deleteMany.d.ts.map +1 -1
  509. package/dist/esm/tools/mongodb/delete/deleteMany.js +1 -1
  510. package/dist/esm/tools/mongodb/delete/deleteMany.js.map +1 -1
  511. package/dist/esm/tools/mongodb/delete/dropCollection.d.ts +1 -1
  512. package/dist/esm/tools/mongodb/delete/dropCollection.d.ts.map +1 -1
  513. package/dist/esm/tools/mongodb/delete/dropCollection.js +1 -1
  514. package/dist/esm/tools/mongodb/delete/dropCollection.js.map +1 -1
  515. package/dist/esm/tools/mongodb/delete/dropDatabase.d.ts +1 -1
  516. package/dist/esm/tools/mongodb/delete/dropDatabase.d.ts.map +1 -1
  517. package/dist/esm/tools/mongodb/delete/dropDatabase.js +1 -1
  518. package/dist/esm/tools/mongodb/delete/dropDatabase.js.map +1 -1
  519. package/dist/esm/tools/mongodb/delete/dropIndex.d.ts +1 -1
  520. package/dist/esm/tools/mongodb/delete/dropIndex.d.ts.map +1 -1
  521. package/dist/esm/tools/mongodb/delete/dropIndex.js +2 -2
  522. package/dist/esm/tools/mongodb/delete/dropIndex.js.map +1 -1
  523. package/dist/esm/tools/mongodb/metadata/collectionIndexes.d.ts +1 -1
  524. package/dist/esm/tools/mongodb/metadata/collectionIndexes.d.ts.map +1 -1
  525. package/dist/esm/tools/mongodb/metadata/collectionIndexes.js +2 -2
  526. package/dist/esm/tools/mongodb/metadata/collectionIndexes.js.map +1 -1
  527. package/dist/esm/tools/mongodb/metadata/collectionSchema.d.ts +1 -1
  528. package/dist/esm/tools/mongodb/metadata/collectionSchema.d.ts.map +1 -1
  529. package/dist/esm/tools/mongodb/metadata/collectionSchema.js +2 -2
  530. package/dist/esm/tools/mongodb/metadata/collectionSchema.js.map +1 -1
  531. package/dist/esm/tools/mongodb/metadata/collectionStorageSize.d.ts +1 -1
  532. package/dist/esm/tools/mongodb/metadata/collectionStorageSize.d.ts.map +1 -1
  533. package/dist/esm/tools/mongodb/metadata/collectionStorageSize.js +1 -1
  534. package/dist/esm/tools/mongodb/metadata/collectionStorageSize.js.map +1 -1
  535. package/dist/esm/tools/mongodb/metadata/dbStats.d.ts +1 -1
  536. package/dist/esm/tools/mongodb/metadata/dbStats.d.ts.map +1 -1
  537. package/dist/esm/tools/mongodb/metadata/dbStats.js +1 -1
  538. package/dist/esm/tools/mongodb/metadata/dbStats.js.map +1 -1
  539. package/dist/esm/tools/mongodb/metadata/explain.d.ts +45 -45
  540. package/dist/esm/tools/mongodb/metadata/explain.d.ts.map +1 -1
  541. package/dist/esm/tools/mongodb/metadata/explain.js +3 -3
  542. package/dist/esm/tools/mongodb/metadata/explain.js.map +1 -1
  543. package/dist/esm/tools/mongodb/metadata/listCollections.d.ts +1 -1
  544. package/dist/esm/tools/mongodb/metadata/listCollections.d.ts.map +1 -1
  545. package/dist/esm/tools/mongodb/metadata/listCollections.js +1 -1
  546. package/dist/esm/tools/mongodb/metadata/listCollections.js.map +1 -1
  547. package/dist/esm/tools/mongodb/metadata/listDatabases.d.ts +1 -1
  548. package/dist/esm/tools/mongodb/metadata/listDatabases.d.ts.map +1 -1
  549. package/dist/esm/tools/mongodb/metadata/listDatabases.js +1 -1
  550. package/dist/esm/tools/mongodb/metadata/listDatabases.js.map +1 -1
  551. package/dist/esm/tools/mongodb/metadata/logs.d.ts +1 -1
  552. package/dist/esm/tools/mongodb/metadata/logs.d.ts.map +1 -1
  553. package/dist/esm/tools/mongodb/metadata/logs.js +1 -1
  554. package/dist/esm/tools/mongodb/metadata/logs.js.map +1 -1
  555. package/dist/esm/tools/mongodb/mongodbSchemas.d.ts +155 -0
  556. package/dist/esm/tools/mongodb/mongodbSchemas.d.ts.map +1 -0
  557. package/dist/esm/tools/mongodb/mongodbSchemas.js +63 -0
  558. package/dist/esm/tools/mongodb/mongodbSchemas.js.map +1 -0
  559. package/dist/esm/tools/mongodb/mongodbTool.d.ts +14 -4
  560. package/dist/esm/tools/mongodb/mongodbTool.d.ts.map +1 -1
  561. package/dist/esm/tools/mongodb/mongodbTool.js +14 -16
  562. package/dist/esm/tools/mongodb/mongodbTool.js.map +1 -1
  563. package/dist/esm/tools/mongodb/read/aggregate.d.ts +58 -57
  564. package/dist/esm/tools/mongodb/read/aggregate.d.ts.map +1 -1
  565. package/dist/esm/tools/mongodb/read/aggregate.js +78 -46
  566. package/dist/esm/tools/mongodb/read/aggregate.js.map +1 -1
  567. package/dist/esm/tools/mongodb/read/count.d.ts +1 -1
  568. package/dist/esm/tools/mongodb/read/count.d.ts.map +1 -1
  569. package/dist/esm/tools/mongodb/read/count.js +1 -1
  570. package/dist/esm/tools/mongodb/read/count.js.map +1 -1
  571. package/dist/esm/tools/mongodb/read/export.d.ts +45 -45
  572. package/dist/esm/tools/mongodb/read/export.d.ts.map +1 -1
  573. package/dist/esm/tools/mongodb/read/export.js +5 -3
  574. package/dist/esm/tools/mongodb/read/export.js.map +1 -1
  575. package/dist/esm/tools/mongodb/read/find.d.ts +1 -1
  576. package/dist/esm/tools/mongodb/read/find.d.ts.map +1 -1
  577. package/dist/esm/tools/mongodb/read/find.js +2 -2
  578. package/dist/esm/tools/mongodb/read/find.js.map +1 -1
  579. package/dist/esm/tools/mongodb/tools.d.ts +23 -23
  580. package/dist/esm/tools/mongodb/tools.d.ts.map +1 -1
  581. package/dist/esm/tools/mongodb/tools.js +23 -46
  582. package/dist/esm/tools/mongodb/tools.js.map +1 -1
  583. package/dist/esm/tools/mongodb/update/renameCollection.d.ts +1 -1
  584. package/dist/esm/tools/mongodb/update/renameCollection.d.ts.map +1 -1
  585. package/dist/esm/tools/mongodb/update/renameCollection.js +1 -1
  586. package/dist/esm/tools/mongodb/update/renameCollection.js.map +1 -1
  587. package/dist/esm/tools/mongodb/update/updateMany.d.ts +1 -1
  588. package/dist/esm/tools/mongodb/update/updateMany.d.ts.map +1 -1
  589. package/dist/esm/tools/mongodb/update/updateMany.js +1 -1
  590. package/dist/esm/tools/mongodb/update/updateMany.js.map +1 -1
  591. package/dist/esm/tools/tool.d.ts +343 -25
  592. package/dist/esm/tools/tool.d.ts.map +1 -1
  593. package/dist/esm/tools/tool.js +175 -56
  594. package/dist/esm/tools/tool.js.map +1 -1
  595. package/dist/esm/transports/base.d.ts +156 -3
  596. package/dist/esm/transports/base.d.ts.map +1 -1
  597. package/dist/esm/transports/base.js +37 -11
  598. package/dist/esm/transports/base.js.map +1 -1
  599. package/dist/esm/transports/dryModeRunner.d.ts +19 -0
  600. package/dist/esm/transports/dryModeRunner.d.ts.map +1 -0
  601. package/dist/esm/transports/dryModeRunner.js +33 -0
  602. package/dist/esm/transports/dryModeRunner.js.map +1 -0
  603. package/dist/esm/transports/inMemoryTransport.d.ts +18 -0
  604. package/dist/esm/transports/inMemoryTransport.d.ts.map +1 -0
  605. package/dist/esm/transports/inMemoryTransport.js +39 -0
  606. package/dist/esm/transports/inMemoryTransport.js.map +1 -0
  607. package/dist/esm/transports/streamableHttp.d.ts.map +1 -1
  608. package/dist/esm/transports/streamableHttp.js +5 -1
  609. package/dist/esm/transports/streamableHttp.js.map +1 -1
  610. package/package.json +53 -36
  611. package/dist/cjs/common/config.d.ts +0 -122
  612. package/dist/cjs/common/config.d.ts.map +0 -1
  613. package/dist/cjs/common/config.js +0 -544
  614. package/dist/cjs/common/config.js.map +0 -1
  615. package/dist/esm/common/config.d.ts +0 -122
  616. package/dist/esm/common/config.d.ts.map +0 -1
  617. package/dist/esm/common/config.js +0 -500
  618. package/dist/esm/common/config.js.map +0 -1
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mongodbSchemas.js","sourceRoot":"","sources":["../../../../src/tools/mongodb/mongodbSchemas.ts"],"names":[],"mappings":"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"}
@@ -1,21 +1,31 @@
1
1
  import { z } from "zod";
2
- import type { ToolArgs, ToolCategory, TelemetryToolMetadata } from "../tool.js";
2
+ import type { ToolArgs, ToolCategory } from "../tool.js";
3
3
  import { ToolBase } from "../tool.js";
4
4
  import type { NodeDriverServiceProvider } from "@mongosh/service-provider-node-driver";
5
5
  import type { CallToolResult } from "@modelcontextprotocol/sdk/types.js";
6
6
  import type { Server } from "../../server.js";
7
+ import type { ConnectionMetadata } from "../../telemetry/types.js";
8
+ import type { ToolCallback } from "@modelcontextprotocol/sdk/server/mcp.js";
7
9
  export declare const DbOperationArgs: {
8
10
  database: z.ZodString;
9
11
  collection: z.ZodString;
10
12
  };
11
13
  export declare abstract class MongoDBToolBase extends ToolBase {
12
14
  protected server?: Server;
13
- category: ToolCategory;
15
+ static category: ToolCategory;
14
16
  protected ensureConnected(): Promise<NodeDriverServiceProvider>;
15
17
  protected ensureSearchIsSupported(): Promise<void>;
16
18
  register(server: Server): boolean;
17
19
  protected handleError(error: unknown, args: ToolArgs<typeof this.argsShape>): Promise<CallToolResult> | CallToolResult;
18
- protected connectToMongoDB(connectionString: string): Promise<void>;
19
- protected resolveTelemetryMetadata(result: CallToolResult, args: ToolArgs<typeof this.argsShape>): TelemetryToolMetadata;
20
+ /**
21
+ * Resolves the tool metadata from the arguments passed to the mongoDB tools.
22
+ *
23
+ * Since MongoDB tools are executed against a MongoDB instance, the tool calls will always have the connection information.
24
+ *
25
+ * @param result - The result of the tool call.
26
+ * @param args - The arguments passed to the tool
27
+ * @returns The tool metadata
28
+ */
29
+ protected resolveTelemetryMetadata(_result: CallToolResult, _args: Parameters<ToolCallback<typeof this.argsShape>>): ConnectionMetadata;
20
30
  }
21
31
  //# 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,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"}
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,MAAM,YAAY,CAAC;AACzD,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;AAC9C,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,0BAA0B,CAAC;AACnE,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,yCAAyC,CAAC;AAE5E,eAAO,MAAM,eAAe;;;CAG3B,CAAC;AAEF,8BAAsB,eAAgB,SAAQ,QAAQ;IAClD,SAAS,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC;IAC1B,MAAM,CAAC,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;;;;;;;;OAQG;IACH,SAAS,CAAC,wBAAwB,CAE9B,OAAO,EAAE,cAAc,EAEvB,KAAK,EAAE,UAAU,CAAC,YAAY,CAAC,OAAO,IAAI,CAAC,SAAS,CAAC,CAAC,GACvD,kBAAkB;CAGxB"}
@@ -10,10 +10,6 @@ exports.DbOperationArgs = {
10
10
  collection: zod_1.z.string().describe("Collection name"),
11
11
  };
12
12
  class MongoDBToolBase extends tool_js_1.ToolBase {
13
- constructor() {
14
- super(...arguments);
15
- this.category = "mongodb";
16
- }
17
13
  async ensureConnected() {
18
14
  if (!this.session.isConnectedToMongoDB) {
19
15
  if (this.session.connectedAtlasCluster) {
@@ -21,7 +17,7 @@ class MongoDBToolBase extends tool_js_1.ToolBase {
21
17
  }
22
18
  if (this.config.connectionString) {
23
19
  try {
24
- await this.connectToMongoDB(this.config.connectionString);
20
+ await this.session.connectToConfiguredConnection();
25
21
  }
26
22
  catch (error) {
27
23
  this.session.logger.error({
@@ -88,21 +84,23 @@ class MongoDBToolBase extends tool_js_1.ToolBase {
88
84
  }
89
85
  return super.handleError(error, args);
90
86
  }
91
- connectToMongoDB(connectionString) {
92
- return this.session.connectToMongoDB({ connectionString });
93
- }
87
+ /**
88
+ * Resolves the tool metadata from the arguments passed to the mongoDB tools.
89
+ *
90
+ * Since MongoDB tools are executed against a MongoDB instance, the tool calls will always have the connection information.
91
+ *
92
+ * @param result - The result of the tool call.
93
+ * @param args - The arguments passed to the tool
94
+ * @returns The tool metadata
95
+ */
94
96
  resolveTelemetryMetadata(
95
97
  // eslint-disable-next-line @typescript-eslint/no-unused-vars
96
- result,
98
+ _result,
97
99
  // eslint-disable-next-line @typescript-eslint/no-unused-vars
98
- args) {
99
- const metadata = {};
100
- // Add projectId to the metadata if running a MongoDB operation to an Atlas cluster
101
- if (this.session.connectedAtlasCluster?.projectId) {
102
- metadata.projectId = this.session.connectedAtlasCluster.projectId;
103
- }
104
- return metadata;
100
+ _args) {
101
+ return this.getConnectionInfoMetadata();
105
102
  }
106
103
  }
107
104
  exports.MongoDBToolBase = MongoDBToolBase;
105
+ MongoDBToolBase.category = "mongodb";
108
106
  //# sourceMappingURL=mongodbTool.js.map
@@ -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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"}
@@ -2,8 +2,8 @@ import { z } from "zod";
2
2
  import type { CallToolResult } from "@modelcontextprotocol/sdk/types.js";
3
3
  import { MongoDBToolBase } from "../mongodbTool.js";
4
4
  import type { ToolArgs, OperationType, ToolExecutionContext } from "../../tool.js";
5
- export declare const AggregateArgs: {
6
- pipeline: z.ZodArray<z.ZodUnion<[z.AnyZodObject, z.ZodObject<{
5
+ export declare const getAggregateArgs: (vectorSearchEnabled: boolean) => {
6
+ readonly pipeline: z.ZodArray<z.AnyZodObject | z.ZodUnion<[z.AnyZodObject, z.ZodObject<{
7
7
  $vectorSearch: z.ZodObject<{
8
8
  exact: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>;
9
9
  index: z.ZodString;
@@ -13,17 +13,17 @@ export declare const AggregateArgs: {
13
13
  limit: z.ZodDefault<z.ZodOptional<z.ZodNumber>>;
14
14
  filter: z.ZodOptional<z.AnyZodObject>;
15
15
  embeddingParameters: z.ZodOptional<z.ZodObject<{
16
- outputDimension: z.ZodDefault<z.ZodOptional<z.ZodUnion<[z.ZodLiteral<256>, z.ZodLiteral<512>, z.ZodLiteral<1024>, z.ZodLiteral<2048>, z.ZodLiteral<4096>]>>>;
17
- outputDType: z.ZodDefault<z.ZodOptional<z.ZodEnum<["float", "int8", "uint8", "binary", "ubinary"]>>>;
16
+ 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>>;
17
+ outputDtype: z.ZodDefault<z.ZodOptional<z.ZodEnum<["float", "int8", "uint8", "binary", "ubinary"]>>>;
18
18
  } & {
19
19
  model: z.ZodDefault<z.ZodEnum<["voyage-3-large", "voyage-3.5", "voyage-3.5-lite", "voyage-code-3"]>>;
20
20
  }, "strip", z.ZodTypeAny, {
21
- outputDimension: 256 | 512 | 1024 | 2048 | 4096;
22
- outputDType: "binary" | "float" | "int8" | "uint8" | "ubinary";
21
+ outputDtype: "binary" | "float" | "int8" | "uint8" | "ubinary";
23
22
  model: "voyage-3-large" | "voyage-3.5" | "voyage-3.5-lite" | "voyage-code-3";
23
+ outputDimension?: number | undefined;
24
24
  }, {
25
- outputDimension?: 256 | 512 | 1024 | 2048 | 4096 | undefined;
26
- outputDType?: "binary" | "float" | "int8" | "uint8" | "ubinary" | undefined;
25
+ outputDimension?: "256" | "512" | "1024" | "2048" | "4096" | undefined;
26
+ outputDtype?: "binary" | "float" | "int8" | "uint8" | "ubinary" | undefined;
27
27
  model?: "voyage-3-large" | "voyage-3.5" | "voyage-3.5-lite" | "voyage-code-3" | undefined;
28
28
  }>>;
29
29
  }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
@@ -35,17 +35,17 @@ export declare const AggregateArgs: {
35
35
  limit: z.ZodDefault<z.ZodOptional<z.ZodNumber>>;
36
36
  filter: z.ZodOptional<z.AnyZodObject>;
37
37
  embeddingParameters: z.ZodOptional<z.ZodObject<{
38
- outputDimension: z.ZodDefault<z.ZodOptional<z.ZodUnion<[z.ZodLiteral<256>, z.ZodLiteral<512>, z.ZodLiteral<1024>, z.ZodLiteral<2048>, z.ZodLiteral<4096>]>>>;
39
- outputDType: z.ZodDefault<z.ZodOptional<z.ZodEnum<["float", "int8", "uint8", "binary", "ubinary"]>>>;
38
+ 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>>;
39
+ outputDtype: z.ZodDefault<z.ZodOptional<z.ZodEnum<["float", "int8", "uint8", "binary", "ubinary"]>>>;
40
40
  } & {
41
41
  model: z.ZodDefault<z.ZodEnum<["voyage-3-large", "voyage-3.5", "voyage-3.5-lite", "voyage-code-3"]>>;
42
42
  }, "strip", z.ZodTypeAny, {
43
- outputDimension: 256 | 512 | 1024 | 2048 | 4096;
44
- outputDType: "binary" | "float" | "int8" | "uint8" | "ubinary";
43
+ outputDtype: "binary" | "float" | "int8" | "uint8" | "ubinary";
45
44
  model: "voyage-3-large" | "voyage-3.5" | "voyage-3.5-lite" | "voyage-code-3";
45
+ outputDimension?: number | undefined;
46
46
  }, {
47
- outputDimension?: 256 | 512 | 1024 | 2048 | 4096 | undefined;
48
- outputDType?: "binary" | "float" | "int8" | "uint8" | "ubinary" | undefined;
47
+ outputDimension?: "256" | "512" | "1024" | "2048" | "4096" | undefined;
48
+ outputDtype?: "binary" | "float" | "int8" | "uint8" | "ubinary" | undefined;
49
49
  model?: "voyage-3-large" | "voyage-3.5" | "voyage-3.5-lite" | "voyage-code-3" | undefined;
50
50
  }>>;
51
51
  }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
@@ -57,17 +57,17 @@ export declare const AggregateArgs: {
57
57
  limit: z.ZodDefault<z.ZodOptional<z.ZodNumber>>;
58
58
  filter: z.ZodOptional<z.AnyZodObject>;
59
59
  embeddingParameters: z.ZodOptional<z.ZodObject<{
60
- outputDimension: z.ZodDefault<z.ZodOptional<z.ZodUnion<[z.ZodLiteral<256>, z.ZodLiteral<512>, z.ZodLiteral<1024>, z.ZodLiteral<2048>, z.ZodLiteral<4096>]>>>;
61
- outputDType: z.ZodDefault<z.ZodOptional<z.ZodEnum<["float", "int8", "uint8", "binary", "ubinary"]>>>;
60
+ 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>>;
61
+ outputDtype: z.ZodDefault<z.ZodOptional<z.ZodEnum<["float", "int8", "uint8", "binary", "ubinary"]>>>;
62
62
  } & {
63
63
  model: z.ZodDefault<z.ZodEnum<["voyage-3-large", "voyage-3.5", "voyage-3.5-lite", "voyage-code-3"]>>;
64
64
  }, "strip", z.ZodTypeAny, {
65
- outputDimension: 256 | 512 | 1024 | 2048 | 4096;
66
- outputDType: "binary" | "float" | "int8" | "uint8" | "ubinary";
65
+ outputDtype: "binary" | "float" | "int8" | "uint8" | "ubinary";
67
66
  model: "voyage-3-large" | "voyage-3.5" | "voyage-3.5-lite" | "voyage-code-3";
67
+ outputDimension?: number | undefined;
68
68
  }, {
69
- outputDimension?: 256 | 512 | 1024 | 2048 | 4096 | undefined;
70
- outputDType?: "binary" | "float" | "int8" | "uint8" | "ubinary" | undefined;
69
+ outputDimension?: "256" | "512" | "1024" | "2048" | "4096" | undefined;
70
+ outputDtype?: "binary" | "float" | "int8" | "uint8" | "ubinary" | undefined;
71
71
  model?: "voyage-3-large" | "voyage-3.5" | "voyage-3.5-lite" | "voyage-code-3" | undefined;
72
72
  }>>;
73
73
  }, z.ZodTypeAny, "passthrough">>;
@@ -76,17 +76,17 @@ export declare const AggregateArgs: {
76
76
  path: string;
77
77
  exact: boolean;
78
78
  index: string;
79
- limit: number;
80
79
  queryVector: string | number[];
80
+ limit: number;
81
81
  filter?: {
82
82
  [x: string]: any;
83
83
  } | undefined;
84
+ numCandidates?: number | undefined;
84
85
  embeddingParameters?: {
85
- outputDimension: 256 | 512 | 1024 | 2048 | 4096;
86
- outputDType: "binary" | "float" | "int8" | "uint8" | "ubinary";
86
+ outputDtype: "binary" | "float" | "int8" | "uint8" | "ubinary";
87
87
  model: "voyage-3-large" | "voyage-3.5" | "voyage-3.5-lite" | "voyage-code-3";
88
+ outputDimension?: number | undefined;
88
89
  } | undefined;
89
- numCandidates?: number | undefined;
90
90
  } & {
91
91
  [k: string]: unknown;
92
92
  };
@@ -99,24 +99,24 @@ export declare const AggregateArgs: {
99
99
  filter?: {
100
100
  [x: string]: any;
101
101
  } | undefined;
102
+ numCandidates?: number | undefined;
103
+ limit?: number | undefined;
102
104
  embeddingParameters?: {
103
- outputDimension?: 256 | 512 | 1024 | 2048 | 4096 | undefined;
104
- outputDType?: "binary" | "float" | "int8" | "uint8" | "ubinary" | undefined;
105
+ outputDimension?: "256" | "512" | "1024" | "2048" | "4096" | undefined;
106
+ outputDtype?: "binary" | "float" | "int8" | "uint8" | "ubinary" | undefined;
105
107
  model?: "voyage-3-large" | "voyage-3.5" | "voyage-3.5-lite" | "voyage-code-3" | undefined;
106
108
  } | undefined;
107
- limit?: number | undefined;
108
- numCandidates?: number | undefined;
109
109
  } & {
110
110
  [k: string]: unknown;
111
111
  };
112
112
  }>]>, "many">;
113
- responseBytesLimit: z.ZodDefault<z.ZodOptional<z.ZodNumber>>;
113
+ readonly responseBytesLimit: z.ZodDefault<z.ZodOptional<z.ZodNumber>>;
114
114
  };
115
115
  export declare class AggregateTool extends MongoDBToolBase {
116
116
  name: string;
117
117
  protected description: string;
118
118
  protected argsShape: {
119
- pipeline: z.ZodArray<z.ZodUnion<[z.AnyZodObject, z.ZodObject<{
119
+ pipeline: z.ZodArray<z.AnyZodObject | z.ZodUnion<[z.AnyZodObject, z.ZodObject<{
120
120
  $vectorSearch: z.ZodObject<{
121
121
  exact: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>;
122
122
  index: z.ZodString;
@@ -126,17 +126,17 @@ export declare class AggregateTool extends MongoDBToolBase {
126
126
  limit: z.ZodDefault<z.ZodOptional<z.ZodNumber>>;
127
127
  filter: z.ZodOptional<z.AnyZodObject>;
128
128
  embeddingParameters: z.ZodOptional<z.ZodObject<{
129
- outputDimension: z.ZodDefault<z.ZodOptional<z.ZodUnion<[z.ZodLiteral<256>, z.ZodLiteral<512>, z.ZodLiteral<1024>, z.ZodLiteral<2048>, z.ZodLiteral<4096>]>>>;
130
- outputDType: z.ZodDefault<z.ZodOptional<z.ZodEnum<["float", "int8", "uint8", "binary", "ubinary"]>>>;
129
+ 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>>;
130
+ outputDtype: z.ZodDefault<z.ZodOptional<z.ZodEnum<["float", "int8", "uint8", "binary", "ubinary"]>>>;
131
131
  } & {
132
132
  model: z.ZodDefault<z.ZodEnum<["voyage-3-large", "voyage-3.5", "voyage-3.5-lite", "voyage-code-3"]>>;
133
133
  }, "strip", z.ZodTypeAny, {
134
- outputDimension: 256 | 512 | 1024 | 2048 | 4096;
135
- outputDType: "binary" | "float" | "int8" | "uint8" | "ubinary";
134
+ outputDtype: "binary" | "float" | "int8" | "uint8" | "ubinary";
136
135
  model: "voyage-3-large" | "voyage-3.5" | "voyage-3.5-lite" | "voyage-code-3";
136
+ outputDimension?: number | undefined;
137
137
  }, {
138
- outputDimension?: 256 | 512 | 1024 | 2048 | 4096 | undefined;
139
- outputDType?: "binary" | "float" | "int8" | "uint8" | "ubinary" | undefined;
138
+ outputDimension?: "256" | "512" | "1024" | "2048" | "4096" | undefined;
139
+ outputDtype?: "binary" | "float" | "int8" | "uint8" | "ubinary" | undefined;
140
140
  model?: "voyage-3-large" | "voyage-3.5" | "voyage-3.5-lite" | "voyage-code-3" | undefined;
141
141
  }>>;
142
142
  }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
@@ -148,17 +148,17 @@ export declare class AggregateTool extends MongoDBToolBase {
148
148
  limit: z.ZodDefault<z.ZodOptional<z.ZodNumber>>;
149
149
  filter: z.ZodOptional<z.AnyZodObject>;
150
150
  embeddingParameters: z.ZodOptional<z.ZodObject<{
151
- outputDimension: z.ZodDefault<z.ZodOptional<z.ZodUnion<[z.ZodLiteral<256>, z.ZodLiteral<512>, z.ZodLiteral<1024>, z.ZodLiteral<2048>, z.ZodLiteral<4096>]>>>;
152
- outputDType: z.ZodDefault<z.ZodOptional<z.ZodEnum<["float", "int8", "uint8", "binary", "ubinary"]>>>;
151
+ 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>>;
152
+ outputDtype: z.ZodDefault<z.ZodOptional<z.ZodEnum<["float", "int8", "uint8", "binary", "ubinary"]>>>;
153
153
  } & {
154
154
  model: z.ZodDefault<z.ZodEnum<["voyage-3-large", "voyage-3.5", "voyage-3.5-lite", "voyage-code-3"]>>;
155
155
  }, "strip", z.ZodTypeAny, {
156
- outputDimension: 256 | 512 | 1024 | 2048 | 4096;
157
- outputDType: "binary" | "float" | "int8" | "uint8" | "ubinary";
156
+ outputDtype: "binary" | "float" | "int8" | "uint8" | "ubinary";
158
157
  model: "voyage-3-large" | "voyage-3.5" | "voyage-3.5-lite" | "voyage-code-3";
158
+ outputDimension?: number | undefined;
159
159
  }, {
160
- outputDimension?: 256 | 512 | 1024 | 2048 | 4096 | undefined;
161
- outputDType?: "binary" | "float" | "int8" | "uint8" | "ubinary" | undefined;
160
+ outputDimension?: "256" | "512" | "1024" | "2048" | "4096" | undefined;
161
+ outputDtype?: "binary" | "float" | "int8" | "uint8" | "ubinary" | undefined;
162
162
  model?: "voyage-3-large" | "voyage-3.5" | "voyage-3.5-lite" | "voyage-code-3" | undefined;
163
163
  }>>;
164
164
  }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
@@ -170,17 +170,17 @@ export declare class AggregateTool extends MongoDBToolBase {
170
170
  limit: z.ZodDefault<z.ZodOptional<z.ZodNumber>>;
171
171
  filter: z.ZodOptional<z.AnyZodObject>;
172
172
  embeddingParameters: z.ZodOptional<z.ZodObject<{
173
- outputDimension: z.ZodDefault<z.ZodOptional<z.ZodUnion<[z.ZodLiteral<256>, z.ZodLiteral<512>, z.ZodLiteral<1024>, z.ZodLiteral<2048>, z.ZodLiteral<4096>]>>>;
174
- outputDType: z.ZodDefault<z.ZodOptional<z.ZodEnum<["float", "int8", "uint8", "binary", "ubinary"]>>>;
173
+ 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>>;
174
+ outputDtype: z.ZodDefault<z.ZodOptional<z.ZodEnum<["float", "int8", "uint8", "binary", "ubinary"]>>>;
175
175
  } & {
176
176
  model: z.ZodDefault<z.ZodEnum<["voyage-3-large", "voyage-3.5", "voyage-3.5-lite", "voyage-code-3"]>>;
177
177
  }, "strip", z.ZodTypeAny, {
178
- outputDimension: 256 | 512 | 1024 | 2048 | 4096;
179
- outputDType: "binary" | "float" | "int8" | "uint8" | "ubinary";
178
+ outputDtype: "binary" | "float" | "int8" | "uint8" | "ubinary";
180
179
  model: "voyage-3-large" | "voyage-3.5" | "voyage-3.5-lite" | "voyage-code-3";
180
+ outputDimension?: number | undefined;
181
181
  }, {
182
- outputDimension?: 256 | 512 | 1024 | 2048 | 4096 | undefined;
183
- outputDType?: "binary" | "float" | "int8" | "uint8" | "ubinary" | undefined;
182
+ outputDimension?: "256" | "512" | "1024" | "2048" | "4096" | undefined;
183
+ outputDtype?: "binary" | "float" | "int8" | "uint8" | "ubinary" | undefined;
184
184
  model?: "voyage-3-large" | "voyage-3.5" | "voyage-3.5-lite" | "voyage-code-3" | undefined;
185
185
  }>>;
186
186
  }, z.ZodTypeAny, "passthrough">>;
@@ -189,17 +189,17 @@ export declare class AggregateTool extends MongoDBToolBase {
189
189
  path: string;
190
190
  exact: boolean;
191
191
  index: string;
192
- limit: number;
193
192
  queryVector: string | number[];
193
+ limit: number;
194
194
  filter?: {
195
195
  [x: string]: any;
196
196
  } | undefined;
197
+ numCandidates?: number | undefined;
197
198
  embeddingParameters?: {
198
- outputDimension: 256 | 512 | 1024 | 2048 | 4096;
199
- outputDType: "binary" | "float" | "int8" | "uint8" | "ubinary";
199
+ outputDtype: "binary" | "float" | "int8" | "uint8" | "ubinary";
200
200
  model: "voyage-3-large" | "voyage-3.5" | "voyage-3.5-lite" | "voyage-code-3";
201
+ outputDimension?: number | undefined;
201
202
  } | undefined;
202
- numCandidates?: number | undefined;
203
203
  } & {
204
204
  [k: string]: unknown;
205
205
  };
@@ -212,13 +212,13 @@ export declare class AggregateTool extends MongoDBToolBase {
212
212
  filter?: {
213
213
  [x: string]: any;
214
214
  } | undefined;
215
+ numCandidates?: number | undefined;
216
+ limit?: number | undefined;
215
217
  embeddingParameters?: {
216
- outputDimension?: 256 | 512 | 1024 | 2048 | 4096 | undefined;
217
- outputDType?: "binary" | "float" | "int8" | "uint8" | "ubinary" | undefined;
218
+ outputDimension?: "256" | "512" | "1024" | "2048" | "4096" | undefined;
219
+ outputDtype?: "binary" | "float" | "int8" | "uint8" | "ubinary" | undefined;
218
220
  model?: "voyage-3-large" | "voyage-3.5" | "voyage-3.5-lite" | "voyage-code-3" | undefined;
219
221
  } | undefined;
220
- limit?: number | undefined;
221
- numCandidates?: number | undefined;
222
222
  } & {
223
223
  [k: string]: unknown;
224
224
  };
@@ -227,12 +227,13 @@ export declare class AggregateTool extends MongoDBToolBase {
227
227
  database: z.ZodString;
228
228
  collection: z.ZodString;
229
229
  };
230
- operationType: OperationType;
230
+ static operationType: OperationType;
231
231
  protected execute({ database, collection, pipeline, responseBytesLimit }: ToolArgs<typeof this.argsShape>, { signal }: ToolExecutionContext): Promise<CallToolResult>;
232
232
  private safeCloseCursor;
233
233
  private assertOnlyUsesPermittedStages;
234
234
  private countAggregationResultDocuments;
235
235
  private replaceRawValuesWithEmbeddingsIfNecessary;
236
+ private isVectorSearchIndexUsed;
236
237
  private generateMessage;
237
238
  }
238
239
  //# sourceMappingURL=aggregate.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"aggregate.d.ts","sourceRoot":"","sources":["../../../../../src/tools/mongodb/read/aggregate.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,oCAAoC,CAAC;AAEzE,OAAO,EAAmB,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACrE,OAAO,KAAK,EAAE,QAAQ,EAAE,aAAa,EAAE,oBAAoB,EAAE,MAAM,eAAe,CAAC;AAuDnF,eAAO,MAAM,aAAa;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAUzB,CAAC;AAEF,qBAAa,aAAc,SAAQ,eAAe;IACvC,IAAI,SAAe;IAC1B,SAAS,CAAC,WAAW,SAAqD;IAC1E,SAAS,CAAC,SAAS;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;MAGjB;IACK,aAAa,EAAE,aAAa,CAAU;cAE7B,OAAO,CACnB,EAAE,QAAQ,EAAE,UAAU,EAAE,QAAQ,EAAE,kBAAkB,EAAE,EAAE,QAAQ,CAAC,OAAO,IAAI,CAAC,SAAS,CAAC,EACvF,EAAE,MAAM,EAAE,EAAE,oBAAoB,GACjC,OAAO,CAAC,cAAc,CAAC;YAkEZ,eAAe;YAYf,6BAA6B;YAgC7B,+BAA+B;YA+B/B,yCAAyC;IA8CvD,OAAO,CAAC,eAAe;CAqB1B"}
1
+ {"version":3,"file":"aggregate.d.ts","sourceRoot":"","sources":["../../../../../src/tools/mongodb/read/aggregate.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,oCAAoC,CAAC;AAEzE,OAAO,EAAmB,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACrE,OAAO,KAAK,EAAE,QAAQ,EAAE,aAAa,EAAE,oBAAoB,EAAE,MAAM,eAAe,CAAC;AAiCnF,eAAO,MAAM,gBAAgB,GAAI,qBAAqB,OAAO;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAS9C,CAAC;AAEhB,qBAAa,aAAc,SAAQ,eAAe;IACvC,IAAI,SAAe;IAC1B,SAAS,CAAC,WAAW,SAAqD;IAC1E,SAAS,CAAC,SAAS;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;MAGjB;IACF,MAAM,CAAC,aAAa,EAAE,aAAa,CAAU;cAE7B,OAAO,CACnB,EAAE,QAAQ,EAAE,UAAU,EAAE,QAAQ,EAAE,kBAAkB,EAAE,EAAE,QAAQ,CAAC,OAAO,IAAI,CAAC,SAAS,CAAC,EACvF,EAAE,MAAM,EAAE,EAAE,oBAAoB,GACjC,OAAO,CAAC,cAAc,CAAC;YAyFZ,eAAe;YAYf,6BAA6B;YAgC7B,+BAA+B;YA+B/B,yCAAyC;YA6DzC,uBAAuB;IAmCrC,OAAO,CAAC,eAAe;CAqB1B"}
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.AggregateTool = exports.AggregateArgs = void 0;
3
+ exports.AggregateTool = exports.getAggregateArgs = void 0;
4
4
  const zod_1 = require("zod");
5
5
  const mongodbTool_js_1 = require("../mongodbTool.js");
6
6
  const tool_js_1 = require("../../tool.js");
@@ -10,50 +10,35 @@ const errors_js_1 = require("../../../common/errors.js");
10
10
  const collectCursorUntilMaxBytes_js_1 = require("../../../helpers/collectCursorUntilMaxBytes.js");
11
11
  const operationWithFallback_js_1 = require("../../../helpers/operationWithFallback.js");
12
12
  const constants_js_1 = require("../../../helpers/constants.js");
13
- const args_js_1 = require("../../args.js");
14
13
  const logger_js_1 = require("../../../common/logger.js");
15
- const embeddingsProvider_js_1 = require("../../../common/search/embeddingsProvider.js");
16
- const AnyStage = (0, args_js_1.zEJSON)();
17
- const VectorSearchStage = zod_1.z.object({
18
- $vectorSearch: zod_1.z
19
- .object({
20
- exact: zod_1.z
21
- .boolean()
22
- .optional()
23
- .default(false)
24
- .describe("When true, uses an ENN algorithm, otherwise uses ANN. Using ENN is not compatible with numCandidates, in that case, numCandidates must be left empty."),
25
- index: zod_1.z.string().describe("Name of the index, as retrieved from the `collection-indexes` tool."),
26
- path: zod_1.z
27
- .string()
28
- .describe("Field, in dot notation, where to search. There must be a vector search index for that field. Note to LLM: When unsure, use the 'collection-indexes' tool to validate that the field is indexed with a vector search index."),
29
- queryVector: zod_1.z
30
- .union([zod_1.z.string(), zod_1.z.array(zod_1.z.number())])
31
- .describe("The content to search for. The embeddingParameters field is mandatory if the queryVector is a string, in that case, the tool generates the embedding automatically using the provided configuration."),
32
- numCandidates: zod_1.z
33
- .number()
34
- .int()
35
- .positive()
36
- .optional()
37
- .describe("Number of candidates for the ANN algorithm. Mandatory when exact is false."),
38
- limit: zod_1.z.number().int().positive().optional().default(10),
39
- filter: (0, args_js_1.zEJSON)()
40
- .optional()
41
- .describe("MQL filter that can only use pre-filter fields from the index definition. Note to LLM: If unsure, use the `collection-indexes` tool to learn which fields can be used for pre-filtering."),
42
- embeddingParameters: embeddingsProvider_js_1.zSupportedEmbeddingParameters
43
- .optional()
44
- .describe("The embedding model and its parameters to use to generate embeddings before searching. It is mandatory if queryVector is a string value. Note to LLM: If unsure, ask the user before providing one."),
45
- })
46
- .passthrough(),
47
- });
48
- exports.AggregateArgs = {
14
+ const mongodbSchemas_js_1 = require("../mongodbSchemas.js");
15
+ const assertVectorSearchFilterFieldsAreIndexed_js_1 = require("../../../helpers/assertVectorSearchFilterFieldsAreIndexed.js");
16
+ const pipelineDescriptionWithVectorSearch = `\
17
+ An array of aggregation stages to execute.
18
+ \`$vectorSearch\` **MUST** be the first stage of the pipeline, or the first stage of a \`$unionWith\` subpipeline.
19
+ ### Usage Rules for \`$vectorSearch\`
20
+ - **Unset embeddings:**
21
+ Unless the user explicitly requests the embeddings, add an \`$unset\` stage **at the end of the pipeline** to remove the embedding field and avoid context limits. **The $unset stage in this situation is mandatory**.
22
+ - **Pre-filtering:**
23
+ If the user requests additional filtering, include filters in \`$vectorSearch.filter\` only for pre-filter fields in the vector index.
24
+ NEVER include fields in $vectorSearch.filter that are not part of the vector index.
25
+ - **Post-filtering:**
26
+ For all remaining filters, add a $match stage after $vectorSearch.
27
+ ### Note to LLM
28
+ - If unsure which fields are filterable, use the collection-indexes tool to determine valid prefilter fields.
29
+ - If no requested filters are valid prefilters, omit the filter key from $vectorSearch.\
30
+ `;
31
+ const genericPipelineDescription = "An array of aggregation stages to execute.";
32
+ const getAggregateArgs = (vectorSearchEnabled) => ({
49
33
  pipeline: zod_1.z
50
- .array(zod_1.z.union([AnyStage, VectorSearchStage]))
51
- .describe("An array of aggregation stages to execute. $vectorSearch can only appear as the first stage of the aggregation pipeline or as the first stage of a $unionWith subpipeline. When using $vectorSearch, unless the user explicitly asks for the embeddings, $unset any embedding field to avoid reaching context limits."),
34
+ .array(vectorSearchEnabled ? zod_1.z.union([mongodbSchemas_js_1.AnyAggregateStage, mongodbSchemas_js_1.VectorSearchStage]) : mongodbSchemas_js_1.AnyAggregateStage)
35
+ .describe(vectorSearchEnabled ? pipelineDescriptionWithVectorSearch : genericPipelineDescription),
52
36
  responseBytesLimit: zod_1.z.number().optional().default(constants_js_1.ONE_MB).describe(`\
53
- The maximum number of bytes to return in the response. This value is capped by the servers configured maxBytesPerQuery and cannot be exceeded. \
37
+ The maximum number of bytes to return in the response. This value is capped by the server's configured maxBytesPerQuery and cannot be exceeded. \
54
38
  Note to LLM: If the entire aggregation result is required, use the "export" tool instead of increasing this limit.\
55
39
  `),
56
- };
40
+ });
41
+ exports.getAggregateArgs = getAggregateArgs;
57
42
  class AggregateTool extends mongodbTool_js_1.MongoDBToolBase {
58
43
  constructor() {
59
44
  super(...arguments);
@@ -61,22 +46,41 @@ class AggregateTool extends mongodbTool_js_1.MongoDBToolBase {
61
46
  this.description = "Run an aggregation against a MongoDB collection";
62
47
  this.argsShape = {
63
48
  ...mongodbTool_js_1.DbOperationArgs,
64
- ...exports.AggregateArgs,
49
+ ...(0, exports.getAggregateArgs)(this.isFeatureEnabled("search")),
65
50
  };
66
- this.operationType = "read";
67
51
  }
68
52
  async execute({ database, collection, pipeline, responseBytesLimit }, { signal }) {
69
53
  let aggregationCursor = undefined;
70
54
  try {
71
55
  const provider = await this.ensureConnected();
72
56
  await this.assertOnlyUsesPermittedStages(pipeline);
57
+ if (await this.session.isSearchSupported()) {
58
+ (0, assertVectorSearchFilterFieldsAreIndexed_js_1.assertVectorSearchFilterFieldsAreIndexed)({
59
+ searchIndexes: (await provider.getSearchIndexes(database, collection)),
60
+ pipeline,
61
+ logger: this.session.logger,
62
+ });
63
+ }
73
64
  // Check if aggregate operation uses an index if enabled
74
65
  if (this.config.indexCheck) {
75
- await (0, indexCheck_js_1.checkIndexUsage)(provider, database, collection, "aggregate", async () => {
76
- return provider
77
- .aggregate(database, collection, pipeline, {}, { writeConcern: undefined })
78
- .explain("queryPlanner");
66
+ const [usesVectorSearchIndex, indexName] = await this.isVectorSearchIndexUsed({
67
+ database,
68
+ collection,
69
+ pipeline,
79
70
  });
71
+ switch (usesVectorSearchIndex) {
72
+ case "not-vector-search-query":
73
+ await (0, indexCheck_js_1.checkIndexUsage)(provider, database, collection, "aggregate", async () => {
74
+ return provider
75
+ .aggregate(database, collection, pipeline, {}, { writeConcern: undefined })
76
+ .explain("queryPlanner");
77
+ });
78
+ break;
79
+ case "non-existent-index":
80
+ throw new errors_js_1.MongoDBError(errors_js_1.ErrorCodes.AtlasVectorSearchIndexNotFound, `Could not find an index with name "${indexName}" in namespace "${database}.${collection}".`);
81
+ case "valid-index":
82
+ // nothing to do, everything is correct so ready to run the query
83
+ }
80
84
  }
81
85
  pipeline = await this.replaceRawValuesWithEmbeddingsIfNecessary({
82
86
  database,
@@ -187,22 +191,50 @@ class AggregateTool extends mongodbTool_js_1.MongoDBToolBase {
187
191
  }
188
192
  const embeddingParameters = vectorSearchStage.embeddingParameters;
189
193
  delete vectorSearchStage.embeddingParameters;
190
- const [embeddings] = await this.session.vectorSearchEmbeddingsManager.generateEmbeddings({
194
+ await this.session.vectorSearchEmbeddingsManager.assertVectorSearchIndexExists({
191
195
  database,
192
196
  collection,
193
197
  path: vectorSearchStage.path,
198
+ });
199
+ const [embeddings] = await this.session.vectorSearchEmbeddingsManager.generateEmbeddings({
194
200
  rawValues: [vectorSearchStage.queryVector],
195
201
  embeddingParameters,
196
202
  inputType: "query",
197
203
  });
204
+ if (!embeddings) {
205
+ throw new errors_js_1.MongoDBError(errors_js_1.ErrorCodes.AtlasVectorSearchInvalidQuery, "Failed to generate embeddings for the query vector.");
206
+ }
198
207
  // $vectorSearch.queryVector can be a BSON.Binary: that it's not either number or an array.
199
208
  // It's not exactly valid from the LLM perspective (they can't provide binaries).
200
209
  // That's why we overwrite the stage in an untyped way, as what we expose and what LLMs can use is different.
201
210
  vectorSearchStage.queryVector = embeddings;
202
211
  }
203
212
  }
213
+ await this.session.vectorSearchEmbeddingsManager.assertFieldsHaveCorrectEmbeddings({ database, collection }, pipeline);
204
214
  return pipeline;
205
215
  }
216
+ async isVectorSearchIndexUsed({ database, collection, pipeline, }) {
217
+ // check if the pipeline contains a $vectorSearch stage
218
+ let usesVectorSearch = false;
219
+ let indexName = "default";
220
+ for (const stage of pipeline) {
221
+ if ("$vectorSearch" in stage) {
222
+ const { $vectorSearch: vectorSearchStage } = stage;
223
+ usesVectorSearch = true;
224
+ indexName = vectorSearchStage.index;
225
+ break;
226
+ }
227
+ }
228
+ if (!usesVectorSearch) {
229
+ return ["not-vector-search-query"];
230
+ }
231
+ const indexExists = await this.session.vectorSearchEmbeddingsManager.indexExists({
232
+ database,
233
+ collection,
234
+ indexName,
235
+ });
236
+ return [indexExists ? "valid-index" : "non-existent-index", indexName];
237
+ }
206
238
  generateMessage({ aggResultsCount, documents, appliedLimits, }) {
207
239
  const appliedLimitText = appliedLimits.length
208
240
  ? `\
@@ -217,4 +249,5 @@ Returning ${documents.length} documents${appliedLimitText ? ` ${appliedLimitText
217
249
  }
218
250
  }
219
251
  exports.AggregateTool = AggregateTool;
252
+ AggregateTool.operationType = "read";
220
253
  //# sourceMappingURL=aggregate.js.map