mongodb-mcp-server 0.2.0 → 0.3.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (862) hide show
  1. package/README.md +53 -23
  2. package/dist/cjs/common/atlas/accessListUtils.d.ts +15 -0
  3. package/dist/cjs/common/atlas/accessListUtils.d.ts.map +1 -0
  4. package/dist/cjs/common/atlas/accessListUtils.js +53 -0
  5. package/dist/cjs/common/atlas/accessListUtils.js.map +1 -0
  6. package/dist/cjs/common/atlas/apiClient.d.ts +235 -0
  7. package/dist/cjs/common/atlas/apiClient.d.ts.map +1 -0
  8. package/dist/cjs/common/atlas/apiClient.js +439 -0
  9. package/dist/cjs/common/atlas/apiClient.js.map +1 -0
  10. package/dist/cjs/common/atlas/apiClientError.d.ts +11 -0
  11. package/dist/cjs/common/atlas/apiClientError.d.ts.map +1 -0
  12. package/dist/cjs/common/atlas/apiClientError.js +54 -0
  13. package/dist/cjs/common/atlas/apiClientError.js.map +1 -0
  14. package/dist/cjs/common/atlas/cluster.d.ts +14 -0
  15. package/dist/cjs/common/atlas/cluster.d.ts.map +1 -0
  16. package/dist/cjs/common/atlas/cluster.js +75 -0
  17. package/dist/cjs/common/atlas/cluster.js.map +1 -0
  18. package/dist/cjs/common/atlas/roles.d.ts +8 -0
  19. package/dist/cjs/common/atlas/roles.d.ts.map +1 -0
  20. package/dist/cjs/common/atlas/roles.js +28 -0
  21. package/dist/cjs/common/atlas/roles.js.map +1 -0
  22. package/dist/cjs/common/config.d.ts +37 -0
  23. package/dist/cjs/common/config.d.ts.map +1 -0
  24. package/dist/cjs/common/config.js +282 -0
  25. package/dist/cjs/common/config.js.map +1 -0
  26. package/dist/cjs/common/connectionManager.d.ts +74 -0
  27. package/dist/cjs/common/connectionManager.d.ts.map +1 -0
  28. package/dist/cjs/common/connectionManager.js +225 -0
  29. package/dist/cjs/common/connectionManager.js.map +1 -0
  30. package/dist/cjs/common/errors.d.ts +10 -0
  31. package/dist/cjs/common/errors.d.ts.map +1 -0
  32. package/dist/cjs/common/errors.js +17 -0
  33. package/dist/cjs/common/errors.js.map +1 -0
  34. package/dist/cjs/common/exportsManager.d.ts +86 -0
  35. package/dist/cjs/common/exportsManager.d.ts.map +1 -0
  36. package/dist/cjs/common/exportsManager.js +288 -0
  37. package/dist/cjs/common/exportsManager.js.map +1 -0
  38. package/dist/cjs/common/logger.d.ts +118 -0
  39. package/dist/cjs/common/logger.d.ts.map +1 -0
  40. package/dist/cjs/common/logger.js +267 -0
  41. package/dist/cjs/common/logger.js.map +1 -0
  42. package/dist/cjs/common/managedTimeout.d.ts +6 -0
  43. package/dist/cjs/common/managedTimeout.d.ts.map +1 -0
  44. package/dist/cjs/common/managedTimeout.js +23 -0
  45. package/dist/cjs/common/managedTimeout.js.map +1 -0
  46. package/dist/cjs/common/packageInfo.d.ts +5 -0
  47. package/dist/cjs/common/packageInfo.d.ts.map +1 -0
  48. package/dist/cjs/common/packageInfo.js +9 -0
  49. package/dist/cjs/common/packageInfo.js.map +1 -0
  50. package/dist/cjs/common/session.d.ts +42 -0
  51. package/dist/cjs/common/session.d.ts.map +1 -0
  52. package/dist/cjs/common/session.js +106 -0
  53. package/dist/cjs/common/session.js.map +1 -0
  54. package/dist/cjs/common/sessionStore.d.ts +16 -0
  55. package/dist/cjs/common/sessionStore.d.ts.map +1 -0
  56. package/dist/cjs/common/sessionStore.js +99 -0
  57. package/dist/cjs/common/sessionStore.js.map +1 -0
  58. package/dist/cjs/helpers/connectionOptions.d.ts +25 -0
  59. package/dist/cjs/helpers/connectionOptions.d.ts.map +1 -0
  60. package/dist/cjs/helpers/connectionOptions.js +46 -0
  61. package/dist/cjs/helpers/connectionOptions.js.map +1 -0
  62. package/dist/cjs/helpers/container.d.ts +2 -0
  63. package/dist/cjs/helpers/container.d.ts.map +1 -0
  64. package/dist/cjs/helpers/container.js +34 -0
  65. package/dist/cjs/helpers/container.js.map +1 -0
  66. package/dist/cjs/helpers/deviceId.d.ts +24 -0
  67. package/dist/cjs/helpers/deviceId.d.ts.map +1 -0
  68. package/dist/cjs/helpers/deviceId.js +106 -0
  69. package/dist/cjs/helpers/deviceId.js.map +1 -0
  70. package/dist/cjs/helpers/generatePassword.d.ts +2 -0
  71. package/dist/cjs/helpers/generatePassword.d.ts.map +1 -0
  72. package/dist/cjs/helpers/generatePassword.js +12 -0
  73. package/dist/cjs/helpers/generatePassword.js.map +1 -0
  74. package/dist/cjs/helpers/indexCheck.d.ts +17 -0
  75. package/dist/cjs/helpers/indexCheck.d.ts.map +1 -0
  76. package/dist/cjs/helpers/indexCheck.js +68 -0
  77. package/dist/cjs/helpers/indexCheck.js.map +1 -0
  78. package/dist/cjs/index.d.ts +3 -0
  79. package/dist/cjs/index.d.ts.map +1 -0
  80. package/dist/cjs/index.js +133 -0
  81. package/dist/cjs/index.js.map +1 -0
  82. package/dist/cjs/lib.d.ts +8 -0
  83. package/dist/cjs/lib.d.ts.map +1 -0
  84. package/dist/cjs/lib.js +16 -0
  85. package/dist/cjs/lib.js.map +1 -0
  86. package/dist/cjs/package.json +1 -0
  87. package/dist/cjs/resources/common/config.d.ts +10 -0
  88. package/dist/cjs/resources/common/config.d.ts.map +1 -0
  89. package/dist/cjs/resources/common/config.js +46 -0
  90. package/dist/cjs/resources/common/config.js.map +1 -0
  91. package/dist/cjs/resources/common/debug.d.ts +17 -0
  92. package/dist/cjs/resources/common/debug.d.ts.map +1 -0
  93. package/dist/cjs/resources/common/debug.js +67 -0
  94. package/dist/cjs/resources/common/debug.js.map +1 -0
  95. package/dist/cjs/resources/common/exportedData.d.ts +15 -0
  96. package/dist/cjs/resources/common/exportedData.d.ts.map +1 -0
  97. package/dist/cjs/resources/common/exportedData.js +103 -0
  98. package/dist/cjs/resources/common/exportedData.js.map +1 -0
  99. package/dist/cjs/resources/resource.d.ts +44 -0
  100. package/dist/cjs/resources/resource.d.ts.map +1 -0
  101. package/dist/cjs/resources/resource.js +56 -0
  102. package/dist/cjs/resources/resource.js.map +1 -0
  103. package/dist/cjs/resources/resources.d.ts +5 -0
  104. package/dist/cjs/resources/resources.d.ts.map +1 -0
  105. package/dist/cjs/resources/resources.js +8 -0
  106. package/dist/cjs/resources/resources.js.map +1 -0
  107. package/dist/cjs/server.d.ts +40 -0
  108. package/dist/cjs/server.d.ts.map +1 -0
  109. package/dist/cjs/server.js +192 -0
  110. package/dist/cjs/server.js.map +1 -0
  111. package/dist/cjs/telemetry/constants.d.ts +6 -0
  112. package/dist/cjs/telemetry/constants.d.ts.map +1 -0
  113. package/dist/cjs/telemetry/constants.js +16 -0
  114. package/dist/cjs/telemetry/constants.js.map +1 -0
  115. package/dist/cjs/telemetry/eventCache.d.ts +34 -0
  116. package/dist/cjs/telemetry/eventCache.d.ts.map +1 -0
  117. package/dist/cjs/telemetry/eventCache.js +57 -0
  118. package/dist/cjs/telemetry/eventCache.js.map +1 -0
  119. package/dist/cjs/telemetry/telemetry.d.ts +50 -0
  120. package/dist/cjs/telemetry/telemetry.d.ts.map +1 -0
  121. package/dist/cjs/telemetry/telemetry.js +145 -0
  122. package/dist/cjs/telemetry/telemetry.js.map +1 -0
  123. package/dist/cjs/telemetry/types.d.ts +70 -0
  124. package/dist/cjs/telemetry/types.d.ts.map +1 -0
  125. package/dist/cjs/telemetry/types.js +3 -0
  126. package/dist/cjs/telemetry/types.js.map +1 -0
  127. package/dist/cjs/tools/atlas/atlasTool.d.ts +18 -0
  128. package/dist/cjs/tools/atlas/atlasTool.d.ts.map +1 -0
  129. package/dist/cjs/tools/atlas/atlasTool.js +92 -0
  130. package/dist/cjs/tools/atlas/atlasTool.js.map +1 -0
  131. package/dist/cjs/tools/atlas/connect/connectCluster.d.ts +18 -0
  132. package/dist/cjs/tools/atlas/connect/connectCluster.d.ts.map +1 -0
  133. package/dist/cjs/tools/atlas/connect/connectCluster.js +215 -0
  134. package/dist/cjs/tools/atlas/connect/connectCluster.js.map +1 -0
  135. package/dist/cjs/tools/atlas/create/createAccessList.d.ts +18 -0
  136. package/dist/cjs/tools/atlas/create/createAccessList.d.ts.map +1 -0
  137. package/dist/cjs/tools/atlas/create/createAccessList.js +66 -0
  138. package/dist/cjs/tools/atlas/create/createAccessList.js.map +1 -0
  139. package/dist/cjs/tools/atlas/create/createDBUser.d.ts +30 -0
  140. package/dist/cjs/tools/atlas/create/createDBUser.d.ts.map +1 -0
  141. package/dist/cjs/tools/atlas/create/createDBUser.js +80 -0
  142. package/dist/cjs/tools/atlas/create/createDBUser.js.map +1 -0
  143. package/dist/cjs/tools/atlas/create/createFreeCluster.d.ts +16 -0
  144. package/dist/cjs/tools/atlas/create/createFreeCluster.d.ts.map +1 -0
  145. package/dist/cjs/tools/atlas/create/createFreeCluster.js +59 -0
  146. package/dist/cjs/tools/atlas/create/createFreeCluster.js.map +1 -0
  147. package/dist/cjs/tools/atlas/create/createProject.d.ts +15 -0
  148. package/dist/cjs/tools/atlas/create/createProject.d.ts.map +1 -0
  149. package/dist/cjs/tools/atlas/create/createProject.js +60 -0
  150. package/dist/cjs/tools/atlas/create/createProject.js.map +1 -0
  151. package/dist/cjs/tools/atlas/read/inspectAccessList.d.ts +14 -0
  152. package/dist/cjs/tools/atlas/read/inspectAccessList.d.ts.map +1 -0
  153. package/dist/cjs/tools/atlas/read/inspectAccessList.js +43 -0
  154. package/dist/cjs/tools/atlas/read/inspectAccessList.js.map +1 -0
  155. package/dist/cjs/tools/atlas/read/inspectCluster.d.ts +16 -0
  156. package/dist/cjs/tools/atlas/read/inspectCluster.d.ts.map +1 -0
  157. package/dist/cjs/tools/atlas/read/inspectCluster.js +32 -0
  158. package/dist/cjs/tools/atlas/read/inspectCluster.js.map +1 -0
  159. package/dist/cjs/tools/atlas/read/listAlerts.d.ts +14 -0
  160. package/dist/cjs/tools/atlas/read/listAlerts.d.ts.map +1 -0
  161. package/dist/cjs/tools/atlas/read/listAlerts.js +46 -0
  162. package/dist/cjs/tools/atlas/read/listAlerts.js.map +1 -0
  163. package/dist/cjs/tools/atlas/read/listClusters.d.ts +16 -0
  164. package/dist/cjs/tools/atlas/read/listClusters.d.ts.map +1 -0
  165. package/dist/cjs/tools/atlas/read/listClusters.js +96 -0
  166. package/dist/cjs/tools/atlas/read/listClusters.js.map +1 -0
  167. package/dist/cjs/tools/atlas/read/listDBUsers.d.ts +14 -0
  168. package/dist/cjs/tools/atlas/read/listDBUsers.d.ts.map +1 -0
  169. package/dist/cjs/tools/atlas/read/listDBUsers.js +58 -0
  170. package/dist/cjs/tools/atlas/read/listDBUsers.js.map +1 -0
  171. package/dist/cjs/tools/atlas/read/listOrgs.d.ts +11 -0
  172. package/dist/cjs/tools/atlas/read/listOrgs.d.ts.map +1 -0
  173. package/dist/cjs/tools/atlas/read/listOrgs.js +36 -0
  174. package/dist/cjs/tools/atlas/read/listOrgs.js.map +1 -0
  175. package/dist/cjs/tools/atlas/read/listProjects.d.ts +15 -0
  176. package/dist/cjs/tools/atlas/read/listProjects.d.ts.map +1 -0
  177. package/dist/cjs/tools/atlas/read/listProjects.js +59 -0
  178. package/dist/cjs/tools/atlas/read/listProjects.js.map +1 -0
  179. package/dist/cjs/tools/atlas/tools.d.ts +14 -0
  180. package/dist/cjs/tools/atlas/tools.d.ts.map +1 -0
  181. package/dist/cjs/tools/atlas/tools.js +30 -0
  182. package/dist/cjs/tools/atlas/tools.js.map +1 -0
  183. package/dist/cjs/tools/mongodb/connect/connect.d.ts +26 -0
  184. package/dist/cjs/tools/mongodb/connect/connect.d.ts.map +1 -0
  185. package/dist/cjs/tools/mongodb/connect/connect.js +86 -0
  186. package/dist/cjs/tools/mongodb/connect/connect.js.map +1 -0
  187. package/dist/cjs/tools/mongodb/create/createCollection.d.ts +14 -0
  188. package/dist/cjs/tools/mongodb/create/createCollection.d.ts.map +1 -0
  189. package/dist/cjs/tools/mongodb/create/createCollection.js +27 -0
  190. package/dist/cjs/tools/mongodb/create/createCollection.js.map +1 -0
  191. package/dist/cjs/tools/mongodb/create/createIndex.d.ts +18 -0
  192. package/dist/cjs/tools/mongodb/create/createIndex.d.ts.map +1 -0
  193. package/dist/cjs/tools/mongodb/create/createIndex.js +37 -0
  194. package/dist/cjs/tools/mongodb/create/createIndex.js.map +1 -0
  195. package/dist/cjs/tools/mongodb/create/insertMany.d.ts +16 -0
  196. package/dist/cjs/tools/mongodb/create/insertMany.d.ts.map +1 -0
  197. package/dist/cjs/tools/mongodb/create/insertMany.js +37 -0
  198. package/dist/cjs/tools/mongodb/create/insertMany.js.map +1 -0
  199. package/dist/cjs/tools/mongodb/delete/deleteMany.d.ts +16 -0
  200. package/dist/cjs/tools/mongodb/delete/deleteMany.d.ts.map +1 -0
  201. package/dist/cjs/tools/mongodb/delete/deleteMany.js +53 -0
  202. package/dist/cjs/tools/mongodb/delete/deleteMany.js.map +1 -0
  203. package/dist/cjs/tools/mongodb/delete/dropCollection.d.ts +14 -0
  204. package/dist/cjs/tools/mongodb/delete/dropCollection.d.ts.map +1 -0
  205. package/dist/cjs/tools/mongodb/delete/dropCollection.js +29 -0
  206. package/dist/cjs/tools/mongodb/delete/dropCollection.js.map +1 -0
  207. package/dist/cjs/tools/mongodb/delete/dropDatabase.d.ts +13 -0
  208. package/dist/cjs/tools/mongodb/delete/dropDatabase.d.ts.map +1 -0
  209. package/dist/cjs/tools/mongodb/delete/dropDatabase.js +29 -0
  210. package/dist/cjs/tools/mongodb/delete/dropDatabase.js.map +1 -0
  211. package/dist/cjs/tools/mongodb/metadata/collectionSchema.d.ts +14 -0
  212. package/dist/cjs/tools/mongodb/metadata/collectionSchema.d.ts.map +1 -0
  213. package/dist/cjs/tools/mongodb/metadata/collectionSchema.js +36 -0
  214. package/dist/cjs/tools/mongodb/metadata/collectionSchema.js.map +1 -0
  215. package/dist/cjs/tools/mongodb/metadata/collectionStorageSize.d.ts +16 -0
  216. package/dist/cjs/tools/mongodb/metadata/collectionStorageSize.d.ts.map +1 -0
  217. package/dist/cjs/tools/mongodb/metadata/collectionStorageSize.js +61 -0
  218. package/dist/cjs/tools/mongodb/metadata/collectionStorageSize.js.map +1 -0
  219. package/dist/cjs/tools/mongodb/metadata/dbStats.d.ts +13 -0
  220. package/dist/cjs/tools/mongodb/metadata/dbStats.d.ts.map +1 -0
  221. package/dist/cjs/tools/mongodb/metadata/dbStats.js +29 -0
  222. package/dist/cjs/tools/mongodb/metadata/dbStats.js.map +1 -0
  223. package/dist/cjs/tools/mongodb/metadata/explain.d.ts +89 -0
  224. package/dist/cjs/tools/mongodb/metadata/explain.d.ts.map +1 -0
  225. package/dist/cjs/tools/mongodb/metadata/explain.js +80 -0
  226. package/dist/cjs/tools/mongodb/metadata/explain.js.map +1 -0
  227. package/dist/cjs/tools/mongodb/metadata/listCollections.d.ts +13 -0
  228. package/dist/cjs/tools/mongodb/metadata/listCollections.d.ts.map +1 -0
  229. package/dist/cjs/tools/mongodb/metadata/listCollections.js +35 -0
  230. package/dist/cjs/tools/mongodb/metadata/listCollections.js.map +1 -0
  231. package/dist/cjs/tools/mongodb/metadata/listDatabases.d.ts +11 -0
  232. package/dist/cjs/tools/mongodb/metadata/listDatabases.d.ts.map +1 -0
  233. package/dist/cjs/tools/mongodb/metadata/listDatabases.js +25 -0
  234. package/dist/cjs/tools/mongodb/metadata/listDatabases.js.map +1 -0
  235. package/dist/cjs/tools/mongodb/metadata/logs.d.ts +15 -0
  236. package/dist/cjs/tools/mongodb/metadata/logs.d.ts.map +1 -0
  237. package/dist/cjs/tools/mongodb/metadata/logs.js +49 -0
  238. package/dist/cjs/tools/mongodb/metadata/logs.js.map +1 -0
  239. package/dist/cjs/tools/mongodb/mongodbTool.d.ts +20 -0
  240. package/dist/cjs/tools/mongodb/mongodbTool.d.ts.map +1 -0
  241. package/dist/cjs/tools/mongodb/mongodbTool.js +130 -0
  242. package/dist/cjs/tools/mongodb/mongodbTool.js.map +1 -0
  243. package/dist/cjs/tools/mongodb/read/aggregate.d.ts +19 -0
  244. package/dist/cjs/tools/mongodb/read/aggregate.d.ts.map +1 -0
  245. package/dist/cjs/tools/mongodb/read/aggregate.js +40 -0
  246. package/dist/cjs/tools/mongodb/read/aggregate.js.map +1 -0
  247. package/dist/cjs/tools/mongodb/read/collectionIndexes.d.ts +15 -0
  248. package/dist/cjs/tools/mongodb/read/collectionIndexes.d.ts.map +1 -0
  249. package/dist/cjs/tools/mongodb/read/collectionIndexes.js +40 -0
  250. package/dist/cjs/tools/mongodb/read/collectionIndexes.js.map +1 -0
  251. package/dist/cjs/tools/mongodb/read/count.d.ts +19 -0
  252. package/dist/cjs/tools/mongodb/read/count.d.ts.map +1 -0
  253. package/dist/cjs/tools/mongodb/read/count.js +51 -0
  254. package/dist/cjs/tools/mongodb/read/count.js.map +1 -0
  255. package/dist/cjs/tools/mongodb/read/export.d.ts +72 -0
  256. package/dist/cjs/tools/mongodb/read/export.d.ts.map +1 -0
  257. package/dist/cjs/tools/mongodb/read/export.js +119 -0
  258. package/dist/cjs/tools/mongodb/read/export.js.map +1 -0
  259. package/dist/cjs/tools/mongodb/read/find.d.ts +26 -0
  260. package/dist/cjs/tools/mongodb/read/find.d.ts.map +1 -0
  261. package/dist/cjs/tools/mongodb/read/find.js +53 -0
  262. package/dist/cjs/tools/mongodb/read/find.js.map +1 -0
  263. package/dist/cjs/tools/mongodb/tools.d.ts +23 -0
  264. package/dist/cjs/tools/mongodb/tools.d.ts.map +1 -0
  265. package/dist/cjs/tools/mongodb/tools.js +48 -0
  266. package/dist/cjs/tools/mongodb/tools.js.map +1 -0
  267. package/dist/cjs/tools/mongodb/update/renameCollection.d.ts +18 -0
  268. package/dist/cjs/tools/mongodb/update/renameCollection.d.ts.map +1 -0
  269. package/dist/cjs/tools/mongodb/update/renameCollection.js +59 -0
  270. package/dist/cjs/tools/mongodb/update/renameCollection.js.map +1 -0
  271. package/dist/cjs/tools/mongodb/update/updateMany.d.ts +18 -0
  272. package/dist/cjs/tools/mongodb/update/updateMany.d.ts.map +1 -0
  273. package/dist/cjs/tools/mongodb/update/updateMany.js +78 -0
  274. package/dist/cjs/tools/mongodb/update/updateMany.js.map +1 -0
  275. package/dist/cjs/tools/tool.d.ts +49 -0
  276. package/dist/cjs/tools/tool.d.ts.map +1 -0
  277. package/dist/cjs/tools/tool.js +201 -0
  278. package/dist/cjs/tools/tool.js.map +1 -0
  279. package/dist/cjs/transports/base.d.ts +16 -0
  280. package/dist/cjs/transports/base.d.ts.map +1 -0
  281. package/dist/cjs/transports/base.js +71 -0
  282. package/dist/cjs/transports/base.js.map +1 -0
  283. package/dist/cjs/transports/stdio.d.ts +19 -0
  284. package/dist/cjs/transports/stdio.d.ts.map +1 -0
  285. package/dist/cjs/transports/stdio.js +69 -0
  286. package/dist/cjs/transports/stdio.js.map +1 -0
  287. package/dist/cjs/transports/streamableHttp.d.ts +13 -0
  288. package/dist/cjs/transports/streamableHttp.d.ts.map +1 -0
  289. package/dist/cjs/transports/streamableHttp.js +220 -0
  290. package/dist/cjs/transports/streamableHttp.js.map +1 -0
  291. package/dist/esm/common/atlas/accessListUtils.d.ts +15 -0
  292. package/dist/esm/common/atlas/accessListUtils.d.ts.map +1 -0
  293. package/dist/esm/common/atlas/accessListUtils.js +48 -0
  294. package/dist/esm/common/atlas/accessListUtils.js.map +1 -0
  295. package/dist/esm/common/atlas/apiClient.d.ts +235 -0
  296. package/dist/esm/common/atlas/apiClient.d.ts.map +1 -0
  297. package/dist/esm/common/atlas/apiClient.js +399 -0
  298. package/dist/esm/common/atlas/apiClient.js.map +1 -0
  299. package/dist/esm/common/atlas/apiClientError.d.ts +11 -0
  300. package/dist/esm/common/atlas/apiClientError.d.ts.map +1 -0
  301. package/dist/esm/common/atlas/apiClientError.js.map +1 -0
  302. package/dist/esm/common/atlas/cluster.d.ts +14 -0
  303. package/dist/esm/common/atlas/cluster.d.ts.map +1 -0
  304. package/dist/esm/common/atlas/cluster.js +70 -0
  305. package/dist/esm/common/atlas/cluster.js.map +1 -0
  306. package/dist/esm/common/atlas/roles.d.ts +8 -0
  307. package/dist/esm/common/atlas/roles.d.ts.map +1 -0
  308. package/dist/esm/common/atlas/roles.js +25 -0
  309. package/dist/esm/common/atlas/roles.js.map +1 -0
  310. package/dist/esm/common/config.d.ts +37 -0
  311. package/dist/esm/common/config.d.ts.map +1 -0
  312. package/dist/esm/common/config.js +274 -0
  313. package/dist/esm/common/config.js.map +1 -0
  314. package/dist/esm/common/connectionManager.d.ts +74 -0
  315. package/dist/esm/common/connectionManager.d.ts.map +1 -0
  316. package/dist/esm/common/connectionManager.js +218 -0
  317. package/dist/esm/common/connectionManager.js.map +1 -0
  318. package/dist/esm/common/errors.d.ts +10 -0
  319. package/dist/esm/common/errors.d.ts.map +1 -0
  320. package/dist/esm/common/errors.js.map +1 -0
  321. package/dist/esm/common/exportsManager.d.ts +86 -0
  322. package/dist/esm/common/exportsManager.d.ts.map +1 -0
  323. package/dist/esm/common/exportsManager.js +278 -0
  324. package/dist/esm/common/exportsManager.js.map +1 -0
  325. package/dist/esm/common/logger.d.ts +118 -0
  326. package/dist/esm/common/logger.d.ts.map +1 -0
  327. package/dist/esm/common/logger.js +255 -0
  328. package/dist/esm/common/logger.js.map +1 -0
  329. package/dist/esm/common/managedTimeout.d.ts +6 -0
  330. package/dist/esm/common/managedTimeout.d.ts.map +1 -0
  331. package/dist/esm/common/managedTimeout.js.map +1 -0
  332. package/dist/esm/common/packageInfo.d.ts +5 -0
  333. package/dist/esm/common/packageInfo.d.ts.map +1 -0
  334. package/dist/esm/common/packageInfo.js +6 -0
  335. package/dist/esm/common/packageInfo.js.map +1 -0
  336. package/dist/esm/common/session.d.ts +42 -0
  337. package/dist/esm/common/session.d.ts.map +1 -0
  338. package/dist/esm/common/session.js +99 -0
  339. package/dist/esm/common/session.js.map +1 -0
  340. package/dist/esm/common/sessionStore.d.ts +16 -0
  341. package/dist/esm/common/sessionStore.d.ts.map +1 -0
  342. package/dist/esm/common/sessionStore.js +95 -0
  343. package/dist/esm/common/sessionStore.js.map +1 -0
  344. package/dist/esm/helpers/connectionOptions.d.ts +25 -0
  345. package/dist/esm/helpers/connectionOptions.d.ts.map +1 -0
  346. package/dist/esm/helpers/connectionOptions.js +39 -0
  347. package/dist/esm/helpers/connectionOptions.js.map +1 -0
  348. package/dist/esm/helpers/container.d.ts +2 -0
  349. package/dist/esm/helpers/container.d.ts.map +1 -0
  350. package/dist/esm/helpers/container.js.map +1 -0
  351. package/dist/esm/helpers/deviceId.d.ts +24 -0
  352. package/dist/esm/helpers/deviceId.d.ts.map +1 -0
  353. package/dist/esm/helpers/deviceId.js +69 -0
  354. package/dist/esm/helpers/deviceId.js.map +1 -0
  355. package/dist/esm/helpers/generatePassword.d.ts +2 -0
  356. package/dist/esm/helpers/generatePassword.d.ts.map +1 -0
  357. package/dist/esm/helpers/generatePassword.js.map +1 -0
  358. package/dist/esm/helpers/indexCheck.d.ts +17 -0
  359. package/dist/esm/helpers/indexCheck.d.ts.map +1 -0
  360. package/dist/esm/helpers/indexCheck.js.map +1 -0
  361. package/dist/esm/index.d.ts +3 -0
  362. package/dist/esm/index.d.ts.map +1 -0
  363. package/dist/esm/index.js +128 -0
  364. package/dist/esm/index.js.map +1 -0
  365. package/dist/esm/lib.d.ts +8 -0
  366. package/dist/esm/lib.d.ts.map +1 -0
  367. package/dist/esm/lib.js +7 -0
  368. package/dist/esm/lib.js.map +1 -0
  369. package/dist/esm/package.json +1 -0
  370. package/dist/esm/resources/common/config.d.ts +10 -0
  371. package/dist/esm/resources/common/config.d.ts.map +1 -0
  372. package/dist/esm/resources/common/config.js +42 -0
  373. package/dist/esm/resources/common/config.js.map +1 -0
  374. package/dist/esm/resources/common/debug.d.ts +17 -0
  375. package/dist/esm/resources/common/debug.d.ts.map +1 -0
  376. package/dist/esm/resources/common/debug.js +63 -0
  377. package/dist/esm/resources/common/debug.js.map +1 -0
  378. package/dist/esm/resources/common/exportedData.d.ts +15 -0
  379. package/dist/esm/resources/common/exportedData.d.ts.map +1 -0
  380. package/dist/esm/resources/common/exportedData.js +99 -0
  381. package/dist/esm/resources/common/exportedData.js.map +1 -0
  382. package/dist/esm/resources/resource.d.ts +44 -0
  383. package/dist/esm/resources/resource.d.ts.map +1 -0
  384. package/dist/esm/resources/resource.js +52 -0
  385. package/dist/esm/resources/resource.js.map +1 -0
  386. package/dist/esm/resources/resources.d.ts +5 -0
  387. package/dist/esm/resources/resources.d.ts.map +1 -0
  388. package/dist/esm/resources/resources.js +5 -0
  389. package/dist/esm/resources/resources.js.map +1 -0
  390. package/dist/esm/server.d.ts +40 -0
  391. package/dist/esm/server.d.ts.map +1 -0
  392. package/dist/esm/server.js +185 -0
  393. package/dist/esm/server.js.map +1 -0
  394. package/dist/esm/telemetry/constants.d.ts +6 -0
  395. package/dist/esm/telemetry/constants.d.ts.map +1 -0
  396. package/dist/esm/telemetry/constants.js.map +1 -0
  397. package/dist/esm/telemetry/eventCache.d.ts +34 -0
  398. package/dist/esm/telemetry/eventCache.d.ts.map +1 -0
  399. package/dist/esm/telemetry/eventCache.js.map +1 -0
  400. package/dist/esm/telemetry/telemetry.d.ts +50 -0
  401. package/dist/esm/telemetry/telemetry.d.ts.map +1 -0
  402. package/dist/esm/telemetry/telemetry.js +141 -0
  403. package/dist/esm/telemetry/telemetry.js.map +1 -0
  404. package/dist/esm/telemetry/types.d.ts +70 -0
  405. package/dist/esm/telemetry/types.d.ts.map +1 -0
  406. package/dist/esm/telemetry/types.js.map +1 -0
  407. package/dist/esm/tools/atlas/atlasTool.d.ts +18 -0
  408. package/dist/esm/tools/atlas/atlasTool.d.ts.map +1 -0
  409. package/dist/esm/tools/atlas/atlasTool.js +88 -0
  410. package/dist/esm/tools/atlas/atlasTool.js.map +1 -0
  411. package/dist/esm/tools/atlas/connect/connectCluster.d.ts +18 -0
  412. package/dist/esm/tools/atlas/connect/connectCluster.d.ts.map +1 -0
  413. package/dist/esm/tools/atlas/connect/connectCluster.js +211 -0
  414. package/dist/esm/tools/atlas/connect/connectCluster.js.map +1 -0
  415. package/dist/esm/tools/atlas/create/createAccessList.d.ts +18 -0
  416. package/dist/esm/tools/atlas/create/createAccessList.d.ts.map +1 -0
  417. package/dist/esm/tools/atlas/create/createAccessList.js.map +1 -0
  418. package/dist/esm/tools/atlas/create/createDBUser.d.ts +30 -0
  419. package/dist/esm/tools/atlas/create/createDBUser.d.ts.map +1 -0
  420. package/dist/esm/tools/atlas/create/createDBUser.js +76 -0
  421. package/dist/esm/tools/atlas/create/createDBUser.js.map +1 -0
  422. package/dist/esm/tools/atlas/create/createFreeCluster.d.ts +16 -0
  423. package/dist/esm/tools/atlas/create/createFreeCluster.d.ts.map +1 -0
  424. package/dist/esm/tools/atlas/create/createFreeCluster.js.map +1 -0
  425. package/dist/esm/tools/atlas/create/createProject.d.ts +15 -0
  426. package/dist/esm/tools/atlas/create/createProject.d.ts.map +1 -0
  427. package/dist/esm/tools/atlas/create/createProject.js.map +1 -0
  428. package/dist/esm/tools/atlas/read/inspectAccessList.d.ts +14 -0
  429. package/dist/esm/tools/atlas/read/inspectAccessList.d.ts.map +1 -0
  430. package/dist/esm/tools/atlas/read/inspectAccessList.js +39 -0
  431. package/dist/esm/tools/atlas/read/inspectAccessList.js.map +1 -0
  432. package/dist/esm/tools/atlas/read/inspectCluster.d.ts +16 -0
  433. package/dist/esm/tools/atlas/read/inspectCluster.d.ts.map +1 -0
  434. package/dist/esm/tools/atlas/read/inspectCluster.js +28 -0
  435. package/dist/esm/tools/atlas/read/inspectCluster.js.map +1 -0
  436. package/dist/esm/tools/atlas/read/listAlerts.d.ts +14 -0
  437. package/dist/esm/tools/atlas/read/listAlerts.d.ts.map +1 -0
  438. package/dist/esm/tools/atlas/read/listAlerts.js +42 -0
  439. package/dist/esm/tools/atlas/read/listAlerts.js.map +1 -0
  440. package/dist/esm/tools/atlas/read/listClusters.d.ts +16 -0
  441. package/dist/esm/tools/atlas/read/listClusters.d.ts.map +1 -0
  442. package/dist/esm/tools/atlas/read/listClusters.js +92 -0
  443. package/dist/esm/tools/atlas/read/listClusters.js.map +1 -0
  444. package/dist/esm/tools/atlas/read/listDBUsers.d.ts +14 -0
  445. package/dist/esm/tools/atlas/read/listDBUsers.d.ts.map +1 -0
  446. package/dist/esm/tools/atlas/read/listDBUsers.js +54 -0
  447. package/dist/esm/tools/atlas/read/listDBUsers.js.map +1 -0
  448. package/dist/esm/tools/atlas/read/listOrgs.d.ts +11 -0
  449. package/dist/esm/tools/atlas/read/listOrgs.d.ts.map +1 -0
  450. package/dist/esm/tools/atlas/read/listOrgs.js +32 -0
  451. package/dist/esm/tools/atlas/read/listOrgs.js.map +1 -0
  452. package/dist/esm/tools/atlas/read/listProjects.d.ts +15 -0
  453. package/dist/esm/tools/atlas/read/listProjects.d.ts.map +1 -0
  454. package/dist/esm/tools/atlas/read/listProjects.js +55 -0
  455. package/dist/esm/tools/atlas/read/listProjects.js.map +1 -0
  456. package/dist/esm/tools/atlas/tools.d.ts +14 -0
  457. package/dist/esm/tools/atlas/tools.d.ts.map +1 -0
  458. package/dist/esm/tools/atlas/tools.js.map +1 -0
  459. package/dist/esm/tools/mongodb/connect/connect.d.ts +26 -0
  460. package/dist/esm/tools/mongodb/connect/connect.d.ts.map +1 -0
  461. package/dist/esm/tools/mongodb/connect/connect.js +79 -0
  462. package/dist/esm/tools/mongodb/connect/connect.js.map +1 -0
  463. package/dist/esm/tools/mongodb/create/createCollection.d.ts +14 -0
  464. package/dist/esm/tools/mongodb/create/createCollection.d.ts.map +1 -0
  465. package/dist/esm/tools/mongodb/create/createCollection.js.map +1 -0
  466. package/dist/esm/tools/mongodb/create/createIndex.d.ts +18 -0
  467. package/dist/esm/tools/mongodb/create/createIndex.d.ts.map +1 -0
  468. package/dist/esm/tools/mongodb/create/createIndex.js.map +1 -0
  469. package/dist/esm/tools/mongodb/create/insertMany.d.ts +16 -0
  470. package/dist/esm/tools/mongodb/create/insertMany.d.ts.map +1 -0
  471. package/dist/esm/tools/mongodb/create/insertMany.js.map +1 -0
  472. package/dist/esm/tools/mongodb/delete/deleteMany.d.ts +16 -0
  473. package/dist/esm/tools/mongodb/delete/deleteMany.d.ts.map +1 -0
  474. package/dist/esm/tools/mongodb/delete/deleteMany.js.map +1 -0
  475. package/dist/esm/tools/mongodb/delete/dropCollection.d.ts +14 -0
  476. package/dist/esm/tools/mongodb/delete/dropCollection.d.ts.map +1 -0
  477. package/dist/esm/tools/mongodb/delete/dropCollection.js.map +1 -0
  478. package/dist/esm/tools/mongodb/delete/dropDatabase.d.ts +13 -0
  479. package/dist/esm/tools/mongodb/delete/dropDatabase.d.ts.map +1 -0
  480. package/dist/esm/tools/mongodb/delete/dropDatabase.js.map +1 -0
  481. package/dist/esm/tools/mongodb/metadata/collectionSchema.d.ts +14 -0
  482. package/dist/esm/tools/mongodb/metadata/collectionSchema.d.ts.map +1 -0
  483. package/dist/esm/tools/mongodb/metadata/collectionSchema.js +32 -0
  484. package/dist/esm/tools/mongodb/metadata/collectionSchema.js.map +1 -0
  485. package/dist/esm/tools/mongodb/metadata/collectionStorageSize.d.ts +16 -0
  486. package/dist/esm/tools/mongodb/metadata/collectionStorageSize.d.ts.map +1 -0
  487. package/dist/esm/tools/mongodb/metadata/collectionStorageSize.js.map +1 -0
  488. package/dist/esm/tools/mongodb/metadata/dbStats.d.ts +13 -0
  489. package/dist/esm/tools/mongodb/metadata/dbStats.d.ts.map +1 -0
  490. package/dist/esm/tools/mongodb/metadata/dbStats.js +25 -0
  491. package/dist/esm/tools/mongodb/metadata/dbStats.js.map +1 -0
  492. package/dist/esm/tools/mongodb/metadata/explain.d.ts +89 -0
  493. package/dist/esm/tools/mongodb/metadata/explain.d.ts.map +1 -0
  494. package/dist/esm/tools/mongodb/metadata/explain.js +76 -0
  495. package/dist/esm/tools/mongodb/metadata/explain.js.map +1 -0
  496. package/dist/esm/tools/mongodb/metadata/listCollections.d.ts +13 -0
  497. package/dist/esm/tools/mongodb/metadata/listCollections.d.ts.map +1 -0
  498. package/dist/esm/tools/mongodb/metadata/listCollections.js +31 -0
  499. package/dist/esm/tools/mongodb/metadata/listCollections.js.map +1 -0
  500. package/dist/esm/tools/mongodb/metadata/listDatabases.d.ts +11 -0
  501. package/dist/esm/tools/mongodb/metadata/listDatabases.d.ts.map +1 -0
  502. package/dist/esm/tools/mongodb/metadata/listDatabases.js +21 -0
  503. package/dist/esm/tools/mongodb/metadata/listDatabases.js.map +1 -0
  504. package/dist/esm/tools/mongodb/metadata/logs.d.ts +15 -0
  505. package/dist/esm/tools/mongodb/metadata/logs.d.ts.map +1 -0
  506. package/dist/esm/tools/mongodb/metadata/logs.js.map +1 -0
  507. package/dist/esm/tools/mongodb/mongodbTool.d.ts +20 -0
  508. package/dist/esm/tools/mongodb/mongodbTool.d.ts.map +1 -0
  509. package/dist/esm/tools/mongodb/mongodbTool.js +126 -0
  510. package/dist/esm/tools/mongodb/mongodbTool.js.map +1 -0
  511. package/dist/esm/tools/mongodb/read/aggregate.d.ts +19 -0
  512. package/dist/esm/tools/mongodb/read/aggregate.d.ts.map +1 -0
  513. package/dist/esm/tools/mongodb/read/aggregate.js +36 -0
  514. package/dist/esm/tools/mongodb/read/aggregate.js.map +1 -0
  515. package/dist/esm/tools/mongodb/read/collectionIndexes.d.ts +15 -0
  516. package/dist/esm/tools/mongodb/read/collectionIndexes.d.ts.map +1 -0
  517. package/dist/esm/tools/mongodb/read/collectionIndexes.js +36 -0
  518. package/dist/esm/tools/mongodb/read/collectionIndexes.js.map +1 -0
  519. package/dist/esm/tools/mongodb/read/count.d.ts +19 -0
  520. package/dist/esm/tools/mongodb/read/count.d.ts.map +1 -0
  521. package/dist/esm/tools/mongodb/read/count.js.map +1 -0
  522. package/dist/esm/tools/mongodb/read/export.d.ts +72 -0
  523. package/dist/esm/tools/mongodb/read/export.d.ts.map +1 -0
  524. package/dist/esm/tools/mongodb/read/export.js +112 -0
  525. package/dist/esm/tools/mongodb/read/export.js.map +1 -0
  526. package/dist/esm/tools/mongodb/read/find.d.ts +26 -0
  527. package/dist/esm/tools/mongodb/read/find.d.ts.map +1 -0
  528. package/dist/esm/tools/mongodb/read/find.js +49 -0
  529. package/dist/esm/tools/mongodb/read/find.js.map +1 -0
  530. package/dist/esm/tools/mongodb/tools.d.ts +23 -0
  531. package/dist/esm/tools/mongodb/tools.d.ts.map +1 -0
  532. package/dist/esm/tools/mongodb/tools.js +45 -0
  533. package/dist/esm/tools/mongodb/tools.js.map +1 -0
  534. package/dist/esm/tools/mongodb/update/renameCollection.d.ts +18 -0
  535. package/dist/esm/tools/mongodb/update/renameCollection.d.ts.map +1 -0
  536. package/dist/esm/tools/mongodb/update/renameCollection.js.map +1 -0
  537. package/dist/esm/tools/mongodb/update/updateMany.d.ts +18 -0
  538. package/dist/esm/tools/mongodb/update/updateMany.d.ts.map +1 -0
  539. package/dist/esm/tools/mongodb/update/updateMany.js.map +1 -0
  540. package/dist/esm/tools/tool.d.ts +49 -0
  541. package/dist/esm/tools/tool.d.ts.map +1 -0
  542. package/dist/esm/tools/tool.js +196 -0
  543. package/dist/esm/tools/tool.js.map +1 -0
  544. package/dist/esm/transports/base.d.ts +16 -0
  545. package/dist/esm/transports/base.d.ts.map +1 -0
  546. package/dist/esm/transports/base.js +67 -0
  547. package/dist/esm/transports/base.js.map +1 -0
  548. package/dist/esm/transports/stdio.d.ts +19 -0
  549. package/dist/esm/transports/stdio.d.ts.map +1 -0
  550. package/dist/esm/transports/stdio.js +63 -0
  551. package/dist/esm/transports/stdio.js.map +1 -0
  552. package/dist/esm/transports/streamableHttp.d.ts +13 -0
  553. package/dist/esm/transports/streamableHttp.d.ts.map +1 -0
  554. package/dist/esm/transports/streamableHttp.js +213 -0
  555. package/dist/esm/transports/streamableHttp.js.map +1 -0
  556. package/dist/index.js +1 -44
  557. package/package.json +47 -14
  558. package/.dockerignore +0 -11
  559. package/.github/CODEOWNERS +0 -1
  560. package/.github/ISSUE_TEMPLATE/bug_report.yml +0 -48
  561. package/.github/dependabot.yml +0 -10
  562. package/.github/pull_request_template.md +0 -5
  563. package/.github/workflows/accuracy-tests.yml +0 -55
  564. package/.github/workflows/check-pr-title.yml +0 -29
  565. package/.github/workflows/check.yml +0 -58
  566. package/.github/workflows/code_health.yaml +0 -94
  567. package/.github/workflows/code_health_fork.yaml +0 -36
  568. package/.github/workflows/codeql.yml +0 -34
  569. package/.github/workflows/dependabot_pr.yaml +0 -26
  570. package/.github/workflows/docker.yaml +0 -57
  571. package/.github/workflows/jira-issue.yml +0 -72
  572. package/.github/workflows/prepare_release.yaml +0 -53
  573. package/.github/workflows/publish.yaml +0 -73
  574. package/.github/workflows/stale.yml +0 -32
  575. package/.prettierignore +0 -5
  576. package/.prettierrc.json +0 -37
  577. package/.smithery/Dockerfile +0 -30
  578. package/.smithery/smithery.yaml +0 -73
  579. package/.vscode/extensions.json +0 -9
  580. package/.vscode/launch.json +0 -27
  581. package/.vscode/settings.json +0 -1
  582. package/CONTRIBUTING.md +0 -185
  583. package/Dockerfile +0 -11
  584. package/dist/common/atlas/accessListUtils.js +0 -36
  585. package/dist/common/atlas/accessListUtils.js.map +0 -1
  586. package/dist/common/atlas/apiClient.js +0 -306
  587. package/dist/common/atlas/apiClient.js.map +0 -1
  588. package/dist/common/atlas/apiClientError.js.map +0 -1
  589. package/dist/common/atlas/cluster.js +0 -66
  590. package/dist/common/atlas/cluster.js.map +0 -1
  591. package/dist/common/config.js +0 -89
  592. package/dist/common/config.js.map +0 -1
  593. package/dist/common/errors.js.map +0 -1
  594. package/dist/common/logger.js +0 -152
  595. package/dist/common/logger.js.map +0 -1
  596. package/dist/common/managedTimeout.js.map +0 -1
  597. package/dist/common/packageInfo.js +0 -6
  598. package/dist/common/packageInfo.js.map +0 -1
  599. package/dist/common/session.js +0 -83
  600. package/dist/common/session.js.map +0 -1
  601. package/dist/common/sessionStore.js +0 -73
  602. package/dist/common/sessionStore.js.map +0 -1
  603. package/dist/helpers/connectionOptions.js +0 -10
  604. package/dist/helpers/connectionOptions.js.map +0 -1
  605. package/dist/helpers/container.js.map +0 -1
  606. package/dist/helpers/generatePassword.js.map +0 -1
  607. package/dist/helpers/indexCheck.js.map +0 -1
  608. package/dist/index.js.map +0 -1
  609. package/dist/server.js +0 -179
  610. package/dist/server.js.map +0 -1
  611. package/dist/telemetry/constants.js.map +0 -1
  612. package/dist/telemetry/eventCache.js.map +0 -1
  613. package/dist/telemetry/telemetry.js +0 -143
  614. package/dist/telemetry/telemetry.js.map +0 -1
  615. package/dist/telemetry/types.js.map +0 -1
  616. package/dist/tools/atlas/atlasTool.js +0 -84
  617. package/dist/tools/atlas/atlasTool.js.map +0 -1
  618. package/dist/tools/atlas/connect/connectCluster.js +0 -198
  619. package/dist/tools/atlas/connect/connectCluster.js.map +0 -1
  620. package/dist/tools/atlas/create/createAccessList.js.map +0 -1
  621. package/dist/tools/atlas/create/createDBUser.js +0 -76
  622. package/dist/tools/atlas/create/createDBUser.js.map +0 -1
  623. package/dist/tools/atlas/create/createFreeCluster.js.map +0 -1
  624. package/dist/tools/atlas/create/createProject.js.map +0 -1
  625. package/dist/tools/atlas/read/inspectAccessList.js +0 -40
  626. package/dist/tools/atlas/read/inspectAccessList.js.map +0 -1
  627. package/dist/tools/atlas/read/inspectCluster.js +0 -32
  628. package/dist/tools/atlas/read/inspectCluster.js.map +0 -1
  629. package/dist/tools/atlas/read/listAlerts.js +0 -41
  630. package/dist/tools/atlas/read/listAlerts.js.map +0 -1
  631. package/dist/tools/atlas/read/listClusters.js +0 -98
  632. package/dist/tools/atlas/read/listClusters.js.map +0 -1
  633. package/dist/tools/atlas/read/listDBUsers.js +0 -51
  634. package/dist/tools/atlas/read/listDBUsers.js.map +0 -1
  635. package/dist/tools/atlas/read/listOrgs.js +0 -29
  636. package/dist/tools/atlas/read/listOrgs.js.map +0 -1
  637. package/dist/tools/atlas/read/listProjects.js +0 -50
  638. package/dist/tools/atlas/read/listProjects.js.map +0 -1
  639. package/dist/tools/atlas/tools.js.map +0 -1
  640. package/dist/tools/mongodb/connect/connect.js +0 -76
  641. package/dist/tools/mongodb/connect/connect.js.map +0 -1
  642. package/dist/tools/mongodb/create/createCollection.js.map +0 -1
  643. package/dist/tools/mongodb/create/createIndex.js.map +0 -1
  644. package/dist/tools/mongodb/create/insertMany.js.map +0 -1
  645. package/dist/tools/mongodb/delete/deleteMany.js.map +0 -1
  646. package/dist/tools/mongodb/delete/dropCollection.js.map +0 -1
  647. package/dist/tools/mongodb/delete/dropDatabase.js.map +0 -1
  648. package/dist/tools/mongodb/metadata/collectionSchema.js +0 -40
  649. package/dist/tools/mongodb/metadata/collectionSchema.js.map +0 -1
  650. package/dist/tools/mongodb/metadata/collectionStorageSize.js.map +0 -1
  651. package/dist/tools/mongodb/metadata/dbStats.js +0 -33
  652. package/dist/tools/mongodb/metadata/dbStats.js.map +0 -1
  653. package/dist/tools/mongodb/metadata/explain.js +0 -84
  654. package/dist/tools/mongodb/metadata/explain.js.map +0 -1
  655. package/dist/tools/mongodb/metadata/listCollections.js +0 -35
  656. package/dist/tools/mongodb/metadata/listCollections.js.map +0 -1
  657. package/dist/tools/mongodb/metadata/listDatabases.js +0 -23
  658. package/dist/tools/mongodb/metadata/listDatabases.js.map +0 -1
  659. package/dist/tools/mongodb/metadata/logs.js.map +0 -1
  660. package/dist/tools/mongodb/mongodbTool.js +0 -111
  661. package/dist/tools/mongodb/mongodbTool.js.map +0 -1
  662. package/dist/tools/mongodb/read/aggregate.js +0 -47
  663. package/dist/tools/mongodb/read/aggregate.js.map +0 -1
  664. package/dist/tools/mongodb/read/collectionIndexes.js +0 -42
  665. package/dist/tools/mongodb/read/collectionIndexes.js.map +0 -1
  666. package/dist/tools/mongodb/read/count.js.map +0 -1
  667. package/dist/tools/mongodb/read/find.js +0 -60
  668. package/dist/tools/mongodb/read/find.js.map +0 -1
  669. package/dist/tools/mongodb/tools.js +0 -43
  670. package/dist/tools/mongodb/tools.js.map +0 -1
  671. package/dist/tools/mongodb/update/renameCollection.js.map +0 -1
  672. package/dist/tools/mongodb/update/updateMany.js.map +0 -1
  673. package/dist/tools/tool.js +0 -153
  674. package/dist/tools/tool.js.map +0 -1
  675. package/dist/transports/base.js +0 -26
  676. package/dist/transports/base.js.map +0 -1
  677. package/dist/transports/stdio.js +0 -60
  678. package/dist/transports/stdio.js.map +0 -1
  679. package/dist/transports/streamableHttp.js +0 -140
  680. package/dist/transports/streamableHttp.js.map +0 -1
  681. package/eslint.config.js +0 -64
  682. package/resources/test-summary-template.html +0 -415
  683. package/scripts/accuracy/generateTestSummary.ts +0 -335
  684. package/scripts/accuracy/runAccuracyTests.sh +0 -45
  685. package/scripts/accuracy/updateAccuracyRunStatus.ts +0 -21
  686. package/scripts/apply.ts +0 -135
  687. package/scripts/filter.ts +0 -76
  688. package/scripts/generate.sh +0 -11
  689. package/src/common/atlas/accessListUtils.ts +0 -54
  690. package/src/common/atlas/apiClient.ts +0 -406
  691. package/src/common/atlas/apiClientError.ts +0 -72
  692. package/src/common/atlas/cluster.ts +0 -94
  693. package/src/common/atlas/openapi.d.ts +0 -7486
  694. package/src/common/config.ts +0 -137
  695. package/src/common/errors.ts +0 -14
  696. package/src/common/logger.ts +0 -188
  697. package/src/common/managedTimeout.ts +0 -27
  698. package/src/common/packageInfo.ts +0 -6
  699. package/src/common/session.ts +0 -118
  700. package/src/common/sessionStore.ts +0 -111
  701. package/src/helpers/connectionOptions.ts +0 -20
  702. package/src/helpers/container.ts +0 -35
  703. package/src/helpers/generatePassword.ts +0 -10
  704. package/src/helpers/indexCheck.ts +0 -83
  705. package/src/index.ts +0 -48
  706. package/src/server.ts +0 -250
  707. package/src/telemetry/constants.ts +0 -14
  708. package/src/telemetry/eventCache.ts +0 -62
  709. package/src/telemetry/telemetry.ts +0 -202
  710. package/src/telemetry/types.ts +0 -76
  711. package/src/tools/atlas/atlasTool.ts +0 -103
  712. package/src/tools/atlas/connect/connectCluster.ts +0 -259
  713. package/src/tools/atlas/create/createAccessList.ts +0 -78
  714. package/src/tools/atlas/create/createDBUser.ts +0 -90
  715. package/src/tools/atlas/create/createFreeCluster.ts +0 -58
  716. package/src/tools/atlas/create/createProject.ts +0 -68
  717. package/src/tools/atlas/read/inspectAccessList.ts +0 -42
  718. package/src/tools/atlas/read/inspectCluster.ts +0 -34
  719. package/src/tools/atlas/read/listAlerts.ts +0 -45
  720. package/src/tools/atlas/read/listClusters.ts +0 -113
  721. package/src/tools/atlas/read/listDBUsers.ts +0 -60
  722. package/src/tools/atlas/read/listOrgs.ts +0 -32
  723. package/src/tools/atlas/read/listProjects.ts +0 -56
  724. package/src/tools/atlas/tools.ts +0 -27
  725. package/src/tools/mongodb/connect/connect.ts +0 -99
  726. package/src/tools/mongodb/create/createCollection.ts +0 -26
  727. package/src/tools/mongodb/create/createIndex.ts +0 -41
  728. package/src/tools/mongodb/create/insertMany.ts +0 -40
  729. package/src/tools/mongodb/delete/deleteMany.ts +0 -58
  730. package/src/tools/mongodb/delete/dropCollection.ts +0 -27
  731. package/src/tools/mongodb/delete/dropDatabase.ts +0 -26
  732. package/src/tools/mongodb/metadata/collectionSchema.ts +0 -43
  733. package/src/tools/mongodb/metadata/collectionStorageSize.ts +0 -68
  734. package/src/tools/mongodb/metadata/dbStats.ts +0 -35
  735. package/src/tools/mongodb/metadata/explain.ts +0 -103
  736. package/src/tools/mongodb/metadata/listCollections.ts +0 -38
  737. package/src/tools/mongodb/metadata/listDatabases.ts +0 -25
  738. package/src/tools/mongodb/metadata/logs.ts +0 -55
  739. package/src/tools/mongodb/mongodbTool.ts +0 -136
  740. package/src/tools/mongodb/read/aggregate.ts +0 -56
  741. package/src/tools/mongodb/read/collectionIndexes.ts +0 -48
  742. package/src/tools/mongodb/read/count.ts +0 -55
  743. package/src/tools/mongodb/read/find.ts +0 -75
  744. package/src/tools/mongodb/tools.ts +0 -43
  745. package/src/tools/mongodb/update/renameCollection.ts +0 -66
  746. package/src/tools/mongodb/update/updateMany.ts +0 -85
  747. package/src/tools/tool.ts +0 -219
  748. package/src/transports/base.ts +0 -34
  749. package/src/transports/stdio.ts +0 -76
  750. package/src/transports/streamableHttp.ts +0 -178
  751. package/src/types/mongodb-connection-string-url.d.ts +0 -69
  752. package/src/types/mongodb-redact.d.ts +0 -4
  753. package/tests/accuracy/aggregate.test.ts +0 -27
  754. package/tests/accuracy/collectionIndexes.test.ts +0 -40
  755. package/tests/accuracy/collectionSchema.test.ts +0 -28
  756. package/tests/accuracy/collectionStorageSize.test.ts +0 -41
  757. package/tests/accuracy/count.test.ts +0 -44
  758. package/tests/accuracy/createCollection.test.ts +0 -46
  759. package/tests/accuracy/createIndex.test.ts +0 -37
  760. package/tests/accuracy/dbStats.test.ts +0 -15
  761. package/tests/accuracy/deleteMany.test.ts +0 -44
  762. package/tests/accuracy/dropCollection.test.ts +0 -74
  763. package/tests/accuracy/dropDatabase.test.ts +0 -41
  764. package/tests/accuracy/explain.test.ts +0 -73
  765. package/tests/accuracy/find.test.ts +0 -114
  766. package/tests/accuracy/insertMany.test.ts +0 -48
  767. package/tests/accuracy/listCollections.test.ts +0 -60
  768. package/tests/accuracy/listDatabases.test.ts +0 -31
  769. package/tests/accuracy/logs.test.ts +0 -28
  770. package/tests/accuracy/renameCollection.test.ts +0 -31
  771. package/tests/accuracy/sdk/accuracyResultStorage/diskStorage.ts +0 -189
  772. package/tests/accuracy/sdk/accuracyResultStorage/getAccuracyResultStorage.ts +0 -11
  773. package/tests/accuracy/sdk/accuracyResultStorage/mongodbStorage.ts +0 -151
  774. package/tests/accuracy/sdk/accuracyResultStorage/resultStorage.ts +0 -117
  775. package/tests/accuracy/sdk/accuracyScorer.ts +0 -93
  776. package/tests/accuracy/sdk/accuracyTestingClient.ts +0 -94
  777. package/tests/accuracy/sdk/agent.ts +0 -56
  778. package/tests/accuracy/sdk/constants.ts +0 -26
  779. package/tests/accuracy/sdk/describeAccuracyTests.ts +0 -126
  780. package/tests/accuracy/sdk/gitInfo.ts +0 -7
  781. package/tests/accuracy/sdk/matcher.ts +0 -193
  782. package/tests/accuracy/sdk/models.ts +0 -95
  783. package/tests/accuracy/test-data-dumps/comics.books.json +0 -417
  784. package/tests/accuracy/test-data-dumps/comics.characters.json +0 -402
  785. package/tests/accuracy/test-data-dumps/mflix.movies.json +0 -496
  786. package/tests/accuracy/test-data-dumps/mflix.shows.json +0 -572
  787. package/tests/accuracy/updateMany.test.ts +0 -42
  788. package/tests/integration/helpers.ts +0 -265
  789. package/tests/integration/inMemoryTransport.ts +0 -59
  790. package/tests/integration/indexCheck.test.ts +0 -464
  791. package/tests/integration/server.test.ts +0 -88
  792. package/tests/integration/telemetry.test.ts +0 -29
  793. package/tests/integration/tools/atlas/accessLists.test.ts +0 -118
  794. package/tests/integration/tools/atlas/alerts.test.ts +0 -43
  795. package/tests/integration/tools/atlas/atlasHelpers.ts +0 -111
  796. package/tests/integration/tools/atlas/clusters.test.ts +0 -237
  797. package/tests/integration/tools/atlas/dbUsers.test.ts +0 -118
  798. package/tests/integration/tools/atlas/orgs.test.ts +0 -25
  799. package/tests/integration/tools/atlas/projects.test.ts +0 -79
  800. package/tests/integration/tools/mongodb/connect/connect.test.ts +0 -159
  801. package/tests/integration/tools/mongodb/create/createCollection.test.ts +0 -96
  802. package/tests/integration/tools/mongodb/create/createIndex.test.ts +0 -204
  803. package/tests/integration/tools/mongodb/create/insertMany.test.ts +0 -99
  804. package/tests/integration/tools/mongodb/delete/deleteMany.test.ts +0 -155
  805. package/tests/integration/tools/mongodb/delete/dropCollection.test.ts +0 -69
  806. package/tests/integration/tools/mongodb/delete/dropDatabase.test.ts +0 -81
  807. package/tests/integration/tools/mongodb/metadata/collectionSchema.test.ts +0 -155
  808. package/tests/integration/tools/mongodb/metadata/collectionStorageSize.test.ts +0 -87
  809. package/tests/integration/tools/mongodb/metadata/dbStats.test.ts +0 -105
  810. package/tests/integration/tools/mongodb/metadata/explain.test.ts +0 -172
  811. package/tests/integration/tools/mongodb/metadata/listCollections.test.ts +0 -77
  812. package/tests/integration/tools/mongodb/metadata/listDatabases.test.ts +0 -78
  813. package/tests/integration/tools/mongodb/metadata/logs.test.ts +0 -84
  814. package/tests/integration/tools/mongodb/mongodbHelpers.ts +0 -235
  815. package/tests/integration/tools/mongodb/read/aggregate.test.ts +0 -115
  816. package/tests/integration/tools/mongodb/read/collectionIndexes.test.ts +0 -100
  817. package/tests/integration/tools/mongodb/read/count.test.ts +0 -96
  818. package/tests/integration/tools/mongodb/read/find.test.ts +0 -211
  819. package/tests/integration/tools/mongodb/update/renameCollection.test.ts +0 -195
  820. package/tests/integration/tools/mongodb/update/updateMany.test.ts +0 -239
  821. package/tests/integration/transports/stdio.test.ts +0 -40
  822. package/tests/integration/transports/streamableHttp.test.ts +0 -56
  823. package/tests/matchers/toIncludeSameMembers.test.ts +0 -59
  824. package/tests/matchers/toIncludeSameMembers.ts +0 -12
  825. package/tests/setup.ts +0 -7
  826. package/tests/unit/accessListUtils.test.ts +0 -39
  827. package/tests/unit/accuracyScorer.test.ts +0 -390
  828. package/tests/unit/common/apiClient.test.ts +0 -193
  829. package/tests/unit/common/managedTimeout.test.ts +0 -67
  830. package/tests/unit/common/session.test.ts +0 -60
  831. package/tests/unit/helpers/indexCheck.test.ts +0 -150
  832. package/tests/unit/telemetry.test.ts +0 -332
  833. package/tests/unit/transports/stdio.test.ts +0 -71
  834. package/tests/vitest.d.ts +0 -11
  835. package/tsconfig.build.json +0 -20
  836. package/tsconfig.json +0 -8
  837. package/tsconfig.test.json +0 -8
  838. package/vitest.config.ts +0 -41
  839. /package/dist/{common → esm/common}/atlas/apiClientError.js +0 -0
  840. /package/dist/{common → esm/common}/errors.js +0 -0
  841. /package/dist/{common → esm/common}/managedTimeout.js +0 -0
  842. /package/dist/{helpers → esm/helpers}/container.js +0 -0
  843. /package/dist/{helpers → esm/helpers}/generatePassword.js +0 -0
  844. /package/dist/{helpers → esm/helpers}/indexCheck.js +0 -0
  845. /package/dist/{telemetry → esm/telemetry}/constants.js +0 -0
  846. /package/dist/{telemetry → esm/telemetry}/eventCache.js +0 -0
  847. /package/dist/{telemetry → esm/telemetry}/types.js +0 -0
  848. /package/dist/{tools → esm/tools}/atlas/create/createAccessList.js +0 -0
  849. /package/dist/{tools → esm/tools}/atlas/create/createFreeCluster.js +0 -0
  850. /package/dist/{tools → esm/tools}/atlas/create/createProject.js +0 -0
  851. /package/dist/{tools → esm/tools}/atlas/tools.js +0 -0
  852. /package/dist/{tools → esm/tools}/mongodb/create/createCollection.js +0 -0
  853. /package/dist/{tools → esm/tools}/mongodb/create/createIndex.js +0 -0
  854. /package/dist/{tools → esm/tools}/mongodb/create/insertMany.js +0 -0
  855. /package/dist/{tools → esm/tools}/mongodb/delete/deleteMany.js +0 -0
  856. /package/dist/{tools → esm/tools}/mongodb/delete/dropCollection.js +0 -0
  857. /package/dist/{tools → esm/tools}/mongodb/delete/dropDatabase.js +0 -0
  858. /package/dist/{tools → esm/tools}/mongodb/metadata/collectionStorageSize.js +0 -0
  859. /package/dist/{tools → esm/tools}/mongodb/metadata/logs.js +0 -0
  860. /package/dist/{tools → esm/tools}/mongodb/read/count.js +0 -0
  861. /package/dist/{tools → esm/tools}/mongodb/update/renameCollection.js +0 -0
  862. /package/dist/{tools → esm/tools}/mongodb/update/updateMany.js +0 -0
@@ -1,11 +0,0 @@
1
- import { DiskBasedResultStorage } from "./diskStorage.js";
2
- import { MongoDBBasedResultStorage } from "./mongodbStorage.js";
3
- import { AccuracyResultStorage } from "./resultStorage.js";
4
-
5
- export function getAccuracyResultStorage(): AccuracyResultStorage {
6
- const { MDB_ACCURACY_MDB_URL, MDB_ACCURACY_MDB_DB, MDB_ACCURACY_MDB_COLLECTION } = process.env;
7
- if (MDB_ACCURACY_MDB_URL && MDB_ACCURACY_MDB_DB && MDB_ACCURACY_MDB_COLLECTION) {
8
- return new MongoDBBasedResultStorage(MDB_ACCURACY_MDB_URL, MDB_ACCURACY_MDB_DB, MDB_ACCURACY_MDB_COLLECTION);
9
- }
10
- return new DiskBasedResultStorage();
11
- }
@@ -1,151 +0,0 @@
1
- import { Collection, MongoClient } from "mongodb";
2
- import {
3
- AccuracyResult,
4
- AccuracyResultStorage,
5
- AccuracyRunStatus,
6
- AccuracyRunStatuses,
7
- ExpectedToolCall,
8
- ModelResponse,
9
- } from "./resultStorage.js";
10
-
11
- // We could decide to omit some fields from the model response to reduce the size of the stored results. Since
12
- // so far, the responses are not too big, we do not omit any fields, but if we decide to do so in the future,
13
- // we could add `"messages"` and `"text"` to this list.
14
- const OMITTED_MODEL_RESPONSE_FIELDS: (keyof ModelResponse)[] = [];
15
-
16
- export class MongoDBBasedResultStorage implements AccuracyResultStorage {
17
- private client: MongoClient;
18
- private resultCollection: Collection<AccuracyResult>;
19
-
20
- constructor(connectionString: string, database: string, collection: string) {
21
- this.client = new MongoClient(connectionString);
22
- this.resultCollection = this.client.db(database).collection<AccuracyResult>(collection);
23
- }
24
-
25
- async getAccuracyResult(commitSHA: string, runId?: string): Promise<AccuracyResult | null> {
26
- const filters: Partial<AccuracyResult> = runId
27
- ? { commitSHA, runId }
28
- : // Note that we use the `Done` status filter only when asked for
29
- // a commit. That is because the one use case of asking for a run
30
- // for commit is when you want the last successful run of that
31
- // particular commit.
32
- { commitSHA, runStatus: AccuracyRunStatus.Done };
33
-
34
- return await this.resultCollection.findOne(filters, {
35
- sort: {
36
- createdOn: -1,
37
- },
38
- });
39
- }
40
-
41
- async updateRunStatus(commitSHA: string, runId: string, status: AccuracyRunStatuses): Promise<void> {
42
- await this.resultCollection.updateOne(
43
- { commitSHA, runId },
44
- {
45
- $set: {
46
- runStatus: status,
47
- },
48
- }
49
- );
50
- }
51
-
52
- async saveModelResponseForPrompt({
53
- commitSHA,
54
- runId,
55
- prompt,
56
- expectedToolCalls,
57
- modelResponse,
58
- }: {
59
- commitSHA: string;
60
- runId: string;
61
- prompt: string;
62
- expectedToolCalls: ExpectedToolCall[];
63
- modelResponse: ModelResponse;
64
- }): Promise<void> {
65
- const modelResponseToSave: ModelResponse = {
66
- ...modelResponse,
67
- };
68
-
69
- for (const field of OMITTED_MODEL_RESPONSE_FIELDS) {
70
- delete modelResponseToSave[field];
71
- }
72
-
73
- await this.resultCollection.updateOne(
74
- { commitSHA, runId },
75
- [
76
- {
77
- $set: {
78
- runStatus: { $ifNull: ["$runStatus", AccuracyRunStatus.InProgress] },
79
- createdOn: { $ifNull: ["$createdOn", Date.now()] },
80
- commitSHA: { $ifNull: ["$commitSHA", commitSHA] },
81
- runId: { $ifNull: ["$runId", runId] },
82
- promptResults: {
83
- $ifNull: ["$promptResults", []],
84
- },
85
- },
86
- },
87
- {
88
- $set: {
89
- promptResults: {
90
- $let: {
91
- vars: {
92
- existingPromptIndex: {
93
- $indexOfArray: ["$promptResults.prompt", prompt],
94
- },
95
- },
96
- in: {
97
- $cond: [
98
- { $eq: ["$$existingPromptIndex", -1] },
99
- {
100
- $concatArrays: [
101
- "$promptResults",
102
- [
103
- {
104
- $literal: {
105
- prompt,
106
- expectedToolCalls,
107
- modelResponses: [modelResponseToSave],
108
- },
109
- },
110
- ],
111
- ],
112
- },
113
- {
114
- $map: {
115
- input: "$promptResults",
116
- as: "promptResult",
117
- in: {
118
- $cond: [
119
- { $eq: ["$$promptResult.prompt", prompt] },
120
- {
121
- prompt: "$$promptResult.prompt",
122
- expectedToolCalls: {
123
- $literal: expectedToolCalls,
124
- },
125
- modelResponses: {
126
- $concatArrays: [
127
- "$$promptResult.modelResponses",
128
- [{ $literal: modelResponseToSave }],
129
- ],
130
- },
131
- },
132
- "$$promptResult",
133
- ],
134
- },
135
- },
136
- },
137
- ],
138
- },
139
- },
140
- },
141
- },
142
- },
143
- ],
144
- { upsert: true }
145
- );
146
- }
147
-
148
- async close(): Promise<void> {
149
- await this.client.close();
150
- }
151
- }
@@ -1,117 +0,0 @@
1
- export interface LLMToolCall {
2
- toolCallId: string;
3
- toolName: string;
4
- parameters: Record<string, unknown>;
5
- }
6
-
7
- export type ExpectedToolCall = Omit<LLMToolCall, "toolCallId">;
8
-
9
- export const AccuracyRunStatus = {
10
- Done: "done",
11
- Failed: "failed",
12
- InProgress: "in-progress",
13
- } as const;
14
-
15
- export type AccuracyRunStatuses = (typeof AccuracyRunStatus)[keyof typeof AccuracyRunStatus];
16
-
17
- export interface AccuracyResult {
18
- /**
19
- * A unique id for each accuracy run. Should either be generated by the
20
- * script triggering the accuracy run or provided via environment variables.
21
- * */
22
- runId: string;
23
- /**
24
- * Represents the status of accuracy run. Each test completion, during an
25
- * accuracy run, is supposed to submit an accuracy result entry with
26
- * InProgress status which then later, after completion of accuracy run, is
27
- * updated to either Done or Failed, depending on whether there were errors
28
- * during the run or not. */
29
- runStatus: AccuracyRunStatuses;
30
- /**
31
- * Timestamp of when this result entry was generated. */
32
- createdOn: number;
33
- /**
34
- * The commit SHA for which the accuracy run was triggered. */
35
- commitSHA: string;
36
- /**
37
- * A list of results for different prompts tested in the accuracy run. */
38
- promptResults: PromptResult[];
39
- }
40
-
41
- export interface PromptResult {
42
- /**
43
- * The actual prompt that was provided to LLM as test */
44
- prompt: string;
45
- /**
46
- * A list of tools, along with their parameters, that are expected to be
47
- * called by the LLM in test. */
48
- expectedToolCalls: ExpectedToolCall[];
49
- /**
50
- * The responses from the LLMs tested, when provided with the prompt. */
51
- modelResponses: ModelResponse[];
52
- }
53
-
54
- export interface ModelResponse {
55
- /**
56
- * The LLM provider providing the LLM APIs */
57
- provider: string;
58
- /**
59
- * The LLM which was requested to respond to our test prompts */
60
- requestedModel: string;
61
- /**
62
- * The ID of the model that actually responded to our prompt request. */
63
- respondingModel: string;
64
- /**
65
- * The total time taken by LLM to respond to our prompt. */
66
- llmResponseTime: number;
67
- /**
68
- * A number between 0 and 1, representing how accurately the expected tools
69
- * were called by LLM when responding to the provided prompts. To know more
70
- * about how this number is generated, check - toolCallingAccuracy.ts */
71
- toolCallingAccuracy: number;
72
- /**
73
- * A list of tools, along with their parameters, that were actually called
74
- * by the LLM in test. */
75
- llmToolCalls: LLMToolCall[];
76
- /**
77
- * Token usage data, returned as part of LLM prompt response. */
78
- tokensUsed?: TokensUsed;
79
- /**
80
- * The final response text generated by the LLM, in response to our prompt
81
- * request. */
82
- text?: string;
83
- /**
84
- * A list of messages, exchanged between LLM and our testing agent, in
85
- * response to our prompt request. This is particularly helpful for
86
- * debugging. */
87
- messages?: Record<string, unknown>[];
88
- }
89
-
90
- interface TokensUsed {
91
- promptTokens?: number;
92
- completionTokens?: number;
93
- totalTokens?: number;
94
- }
95
-
96
- export interface AccuracyResultStorage {
97
- /**
98
- * Retrieves the accuracy result for the provided commit SHA and optionally
99
- * the run id. When the run id is omitted, the implementation fetches the
100
- * result for the last successful accuracy run otherwise it fetches the
101
- * result regardless of the run status. */
102
- getAccuracyResult(commitSHA: string, runId?: string): Promise<AccuracyResult | null>;
103
- /**
104
- * Updates the status of the run */
105
- updateRunStatus(commitSHA: string, runId: string, status: AccuracyRunStatuses): Promise<void>;
106
- /**
107
- * Attempts to atomically insert the model response for the prompt in the
108
- * stored accuracy result. */
109
- saveModelResponseForPrompt(data: {
110
- commitSHA: string;
111
- runId: string;
112
- prompt: string;
113
- expectedToolCalls: ExpectedToolCall[];
114
- modelResponse: ModelResponse;
115
- }): Promise<void>;
116
- close(): Promise<void>;
117
- }
@@ -1,93 +0,0 @@
1
- import { ExpectedToolCall, LLMToolCall } from "./accuracyResultStorage/resultStorage.js";
2
- import { Matcher } from "./matcher.js";
3
-
4
- /**
5
- * Tool calling accuracy is a single number calculated based on two dimensions.
6
- * 1. Did LLM call the right tool?
7
- * 2. Did LLM call the tool with correct and required parameters?
8
- *
9
- * The number can be one of:
10
- * - 0: When LLM:
11
- * - did not call the right tool
12
- * - did not call the tool with correct parameters
13
- * - 0.75: When LLM:
14
- * - called the right tool but hallucinated and called some extra tools as
15
- * well or called the same tool but with different parameters
16
- * - called the right tool but hallucinated and called it with some
17
- * non-required parameters
18
- * - 1: When LLM:
19
- * - called exactly the tools that were expected
20
- * - called the expected tools exactly with the expected parameters
21
- *
22
- * To calculate this number we must have:
23
- * 1. a list of expected tool calls with their expected parameters
24
- * 2. a list of LLM tool calls with their parameters
25
- *
26
- * For each expected tool call we find the best matching LLM tool call. Best
27
- * matching LLM tool call will have:
28
- * 1. the same name as that of the expected tool call
29
- * 2. highest parameter similarity score, with at-least 0.75 to ensure an actual
30
- * match. And in case of competing scores, we take the first one that appears
31
- * in the LLM tool calls.
32
- *
33
- * Using the above logic we establish pairs between expected and actual tool
34
- * calls.
35
- *
36
- * 1. If we could not pair some LLM tool calls with expected tool calls that
37
- * means the LLM hallucinated over the extra tool calls. For that reason we
38
- * will cap the maximum achievable accuracy to 0.75.
39
- *
40
- * 2. If we could not pair some expected tool calls with LLM tool calls that
41
- * means the LLM did not call one of the expected tool required to solve the
42
- * problem. For that reason we will mark the accuracy as 0 and exit early.
43
- *
44
- * 3. Now for each of the established tool call pairs, we will determine how
45
- * correctly the parameters were called using the parameter similarity score.
46
- * The parameter similarity score follow the same accuracy number pattern
47
- * described above:
48
- * - 0 : for missing parameters, incorrect parameter values
49
- * - 0.75 : for additional parameters
50
- * - 1 : for a perfect match
51
- *
52
- * The final accuracy score is then calculated as the least of:
53
- * - Maximum achievable accuracy from #1
54
- * - The least of parameter similarity score from the established pairs in #3
55
- *
56
- * For examples: see the test cases in - tests/unit/accuracy-scorer.test.ts
57
- */
58
- export function calculateToolCallingAccuracy(
59
- expectedToolCalls: ExpectedToolCall[],
60
- actualToolCalls: LLMToolCall[]
61
- ): number {
62
- if (expectedToolCalls.length === 0) {
63
- return actualToolCalls.length === 0 ? 1 : 0.75;
64
- }
65
-
66
- let currentScore = actualToolCalls.length > expectedToolCalls.length ? 0.75 : 1;
67
- const checkedActualToolCallIndexes = new Set<number>();
68
-
69
- for (const expectedCall of expectedToolCalls) {
70
- const candidates = actualToolCalls
71
- .map((call, index) => ({ call, index }))
72
- .filter(
73
- ({ call, index }) => !checkedActualToolCallIndexes.has(index) && call.toolName === expectedCall.toolName
74
- )
75
- .map(({ call, index }) => ({
76
- call,
77
- index,
78
- score: Matcher.value(expectedCall.parameters).match(call.parameters),
79
- }))
80
- .filter(({ score }) => score >= 0.75)
81
- .sort((a, b) => b.score - a.score || a.index - b.index);
82
-
83
- const bestMatch = candidates[0];
84
- if (!bestMatch || bestMatch.score === 0) {
85
- return 0; // No matching tool call found, return 0
86
- }
87
-
88
- checkedActualToolCallIndexes.add(bestMatch.index);
89
- currentScore = Math.min(currentScore, bestMatch.score);
90
- }
91
-
92
- return currentScore;
93
- }
@@ -1,94 +0,0 @@
1
- import { v4 as uuid } from "uuid";
2
- import { experimental_createMCPClient as createMCPClient, tool as createVercelTool } from "ai";
3
- import { CallToolResult } from "@modelcontextprotocol/sdk/types.js";
4
- import { StdioClientTransport } from "@modelcontextprotocol/sdk/client/stdio.js";
5
-
6
- import { MCP_SERVER_CLI_SCRIPT } from "./constants.js";
7
- import { LLMToolCall } from "./accuracyResultStorage/resultStorage.js";
8
- import { VercelMCPClient, VercelMCPClientTools } from "./agent.js";
9
-
10
- type ToolResultGeneratorFn = (...parameters: unknown[]) => CallToolResult | Promise<CallToolResult>;
11
- export type MockedTools = Record<string, ToolResultGeneratorFn>;
12
-
13
- /**
14
- * AccuracyTestingClient is a bridge between actual MCP client connected to our
15
- * MCP server and our Tool calling agent. Its serves the following purposes:
16
- * 1. Captures actual tools provided by our MCP server
17
- * 2. Translates captured MCP tools to tool definitions that can be consumed by
18
- * Tool Calling agent (Ref: `vercelTools`)
19
- * 3. Allow dynamic mocking and resetting of mocks of individual tool calls.
20
- * 4. Records and provides tool calls made by LLMs with their parameters.
21
- */
22
- export class AccuracyTestingClient {
23
- private mockedTools: MockedTools = {};
24
- private llmToolCalls: LLMToolCall[] = [];
25
-
26
- private constructor(private readonly vercelMCPClient: VercelMCPClient) {}
27
-
28
- async close(): Promise<void> {
29
- await this.vercelMCPClient?.close();
30
- }
31
-
32
- async vercelTools(): Promise<VercelMCPClientTools> {
33
- const vercelTools = (await this.vercelMCPClient?.tools()) ?? {};
34
- const rewrappedVercelTools: VercelMCPClientTools = {};
35
- for (const [toolName, tool] of Object.entries(vercelTools)) {
36
- rewrappedVercelTools[toolName] = createVercelTool({
37
- ...tool,
38
- execute: async (args, options) => {
39
- this.llmToolCalls.push({
40
- toolCallId: uuid(),
41
- toolName: toolName,
42
- parameters: args as Record<string, unknown>,
43
- });
44
- try {
45
- const toolResultGeneratorFn = this.mockedTools[toolName];
46
- if (toolResultGeneratorFn) {
47
- return await toolResultGeneratorFn(args);
48
- }
49
-
50
- return await tool.execute(args, options);
51
- } catch (error) {
52
- // There are cases when LLM calls the tools incorrectly
53
- // and the schema definition check fails. In production,
54
- // the tool calling agents are deployed with this fail
55
- // safe to allow LLM to course correct themselves. That
56
- // is exactly what we do here as well.
57
- return {
58
- isError: true,
59
- content: JSON.stringify(error),
60
- };
61
- }
62
- },
63
- });
64
- }
65
-
66
- return rewrappedVercelTools;
67
- }
68
-
69
- getLLMToolCalls(): LLMToolCall[] {
70
- return this.llmToolCalls;
71
- }
72
-
73
- mockTools(mockedTools: MockedTools): void {
74
- this.mockedTools = mockedTools;
75
- }
76
-
77
- resetForTests(): void {
78
- this.mockTools({});
79
- this.llmToolCalls = [];
80
- }
81
-
82
- static async initializeClient(mdbConnectionString: string): Promise<AccuracyTestingClient> {
83
- const clientTransport = new StdioClientTransport({
84
- command: process.execPath,
85
- args: [MCP_SERVER_CLI_SCRIPT, "--connectionString", mdbConnectionString],
86
- });
87
-
88
- const client = await createMCPClient({
89
- transport: clientTransport,
90
- });
91
-
92
- return new AccuracyTestingClient(client);
93
- }
94
- }
@@ -1,56 +0,0 @@
1
- import { generateText, LanguageModelV1, experimental_createMCPClient } from "ai";
2
- import { Model } from "./models.js";
3
-
4
- const systemPrompt = [
5
- 'The keywords "MUST", "MUST NOT", "SHALL", "SHALL NOT", "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this document are to be interpreted as described in RFC 2119',
6
- "You are an expert AI assistant with access to a set of tools for MongoDB database operations.",
7
- "You MUST use the most relevant tool to answer the user's request",
8
- "When calling a tool, you MUST strictly follow its input schema and MUST provide all required arguments",
9
- "If a task requires multiple tool calls, you MUST call all the necessary tools in sequence, following the requirements mentioned above for each tool called.",
10
- 'If you do not know the answer or the request cannot be fulfilled, you MUST reply with "I don\'t know"',
11
- ];
12
-
13
- // These types are not exported by Vercel SDK so we derive them here to be
14
- // re-used again.
15
- export type VercelMCPClient = Awaited<ReturnType<typeof experimental_createMCPClient>>;
16
- export type VercelMCPClientTools = Awaited<ReturnType<VercelMCPClient["tools"]>>;
17
- export type VercelAgent = ReturnType<typeof getVercelToolCallingAgent>;
18
-
19
- export interface VercelAgentPromptResult {
20
- respondingModel: string;
21
- tokensUsage?: {
22
- promptTokens?: number;
23
- completionTokens?: number;
24
- totalTokens?: number;
25
- };
26
- text: string;
27
- messages: Record<string, unknown>[];
28
- }
29
-
30
- // Generic interface for Agent, in case we need to switch to some other agent
31
- // development SDK
32
- export interface Agent<Model = unknown, Tools = unknown, Result = unknown> {
33
- prompt(prompt: string, model: Model, tools: Tools): Promise<Result>;
34
- }
35
-
36
- export function getVercelToolCallingAgent(
37
- requestedSystemPrompt?: string
38
- ): Agent<Model<LanguageModelV1>, VercelMCPClientTools, VercelAgentPromptResult> {
39
- return {
40
- async prompt(prompt: string, model: Model<LanguageModelV1>, tools: VercelMCPClientTools) {
41
- const result = await generateText({
42
- model: model.getModel(),
43
- system: [...systemPrompt, requestedSystemPrompt].filter(Boolean).join("\n"),
44
- prompt,
45
- tools,
46
- maxSteps: 100,
47
- });
48
- return {
49
- text: result.text,
50
- messages: result.response.messages,
51
- respondingModel: result.response.modelId,
52
- tokensUsage: result.usage,
53
- };
54
- },
55
- };
56
- }
@@ -1,26 +0,0 @@
1
- import path from "path";
2
- import { fileURLToPath } from "url";
3
-
4
- const __dirname = fileURLToPath(import.meta.url);
5
-
6
- export const ROOT_DIR = path.join(__dirname, "..", "..", "..", "..");
7
-
8
- export const DIST_DIR = path.join(ROOT_DIR, "dist");
9
-
10
- export const RESOURCES_DIR = path.join(ROOT_DIR, "resources");
11
-
12
- export const MCP_SERVER_CLI_SCRIPT = path.join(DIST_DIR, "index.js");
13
-
14
- export const TEST_DATA_DUMPS_DIR = path.join(__dirname, "test-data-dumps");
15
-
16
- export const GENERATED_ASSETS_DIR = path.join(ROOT_DIR, ".accuracy");
17
-
18
- export const ACCURACY_RESULTS_DIR = path.join(GENERATED_ASSETS_DIR, "results");
19
-
20
- export const LATEST_ACCURACY_RUN_NAME = "latest-run";
21
-
22
- export const HTML_TEST_SUMMARY_FILE = path.join(GENERATED_ASSETS_DIR, "test-summary.html");
23
-
24
- export const MARKDOWN_TEST_BRIEF_FILE = path.join(GENERATED_ASSETS_DIR, "test-brief.md");
25
-
26
- export const HTML_TESTS_SUMMARY_TEMPLATE = path.join(RESOURCES_DIR, "test-summary-template.html");
@@ -1,126 +0,0 @@
1
- import { describe, it, beforeAll, beforeEach, afterAll } from "vitest";
2
- import { getAvailableModels } from "./models.js";
3
- import { calculateToolCallingAccuracy } from "./accuracyScorer.js";
4
- import { getVercelToolCallingAgent, VercelAgent } from "./agent.js";
5
- import { prepareTestData, setupMongoDBIntegrationTest } from "../../integration/tools/mongodb/mongodbHelpers.js";
6
- import { AccuracyTestingClient, MockedTools } from "./accuracyTestingClient.js";
7
- import { AccuracyResultStorage, ExpectedToolCall } from "./accuracyResultStorage/resultStorage.js";
8
- import { getAccuracyResultStorage } from "./accuracyResultStorage/getAccuracyResultStorage.js";
9
- import { getCommitSHA } from "./gitInfo.js";
10
-
11
- export interface AccuracyTestConfig {
12
- /** The prompt to be provided to LLM for evaluation. */
13
- prompt: string;
14
-
15
- /**
16
- * A list of tools and their parameters that we expect LLM to call based on
17
- * how vague or detailed the prompt is. Ideally this should be a list of
18
- * bare minimum and critical tool calls that are required to solve the
19
- * problem mentioned in the prompt but because, for even a slightly vague
20
- * prompt, LLM might decide to do additional confirmation by calling other
21
- * tools, its fine to include those other tool calls as well to get a
22
- * perfect 1 on the tool calling accuracy score. */
23
- expectedToolCalls: ExpectedToolCall[];
24
-
25
- /**
26
- * The additional system prompt to be appended to already injected system
27
- * prompt. */
28
- systemPrompt?: string;
29
-
30
- /**
31
- * A small hint appended to the actual prompt in test, which is supposed to
32
- * hint LLM to assume that the MCP server is already connected so that it
33
- * does not call the connect tool.
34
- * By default it is assumed to be true */
35
- injectConnectedAssumption?: boolean;
36
-
37
- /**
38
- * A map of tool names to their mocked implementation. When the mocked
39
- * implementations are available, the testing client will prefer those over
40
- * actual MCP tool calls. */
41
- mockedTools?: MockedTools;
42
- }
43
-
44
- export function describeAccuracyTests(accuracyTestConfigs: AccuracyTestConfig[]) {
45
- if (!process.env.MDB_ACCURACY_RUN_ID) {
46
- throw new Error("MDB_ACCURACY_RUN_ID env variable is required for accuracy test runs!");
47
- }
48
-
49
- const models = getAvailableModels();
50
- if (!models.length) {
51
- throw new Error("No models available to test. Ensure that the API keys are properly setup!");
52
- }
53
-
54
- const eachModel = describe.each(models);
55
-
56
- eachModel(`$displayName`, function (model) {
57
- const accuracyRunId = `${process.env.MDB_ACCURACY_RUN_ID}`;
58
- const mdbIntegration = setupMongoDBIntegrationTest();
59
- const { populateTestData, cleanupTestDatabases } = prepareTestData(mdbIntegration);
60
-
61
- let commitSHA: string;
62
- let accuracyResultStorage: AccuracyResultStorage;
63
- let testMCPClient: AccuracyTestingClient;
64
- let agent: VercelAgent;
65
-
66
- beforeAll(async () => {
67
- const retrievedCommitSHA = await getCommitSHA();
68
- if (!retrievedCommitSHA) {
69
- throw new Error("Could not derive commitSHA, exiting accuracy tests!");
70
- }
71
- commitSHA = retrievedCommitSHA;
72
-
73
- accuracyResultStorage = getAccuracyResultStorage();
74
- testMCPClient = await AccuracyTestingClient.initializeClient(mdbIntegration.connectionString());
75
- agent = getVercelToolCallingAgent();
76
- });
77
-
78
- beforeEach(async () => {
79
- await cleanupTestDatabases(mdbIntegration);
80
- await populateTestData();
81
- testMCPClient.resetForTests();
82
- });
83
-
84
- afterAll(async () => {
85
- await accuracyResultStorage?.close();
86
- await testMCPClient?.close();
87
- });
88
-
89
- const eachTest = it.each(accuracyTestConfigs);
90
-
91
- eachTest("$prompt", async function (testConfig) {
92
- testMCPClient.mockTools(testConfig.mockedTools ?? {});
93
- const toolsForModel = await testMCPClient.vercelTools();
94
- const promptForModel =
95
- testConfig.injectConnectedAssumption === false
96
- ? testConfig.prompt
97
- : [testConfig.prompt, "(Assume that you are already connected to a MongoDB cluster!)"].join(" ");
98
-
99
- const timeBeforePrompt = Date.now();
100
- const result = await agent.prompt(promptForModel, model, toolsForModel);
101
- const timeAfterPrompt = Date.now();
102
-
103
- const llmToolCalls = testMCPClient.getLLMToolCalls();
104
- const toolCallingAccuracy = calculateToolCallingAccuracy(testConfig.expectedToolCalls, llmToolCalls);
105
-
106
- const responseTime = timeAfterPrompt - timeBeforePrompt;
107
- await accuracyResultStorage.saveModelResponseForPrompt({
108
- commitSHA,
109
- runId: accuracyRunId,
110
- prompt: testConfig.prompt,
111
- expectedToolCalls: testConfig.expectedToolCalls,
112
- modelResponse: {
113
- provider: model.provider,
114
- requestedModel: model.modelName,
115
- respondingModel: result.respondingModel,
116
- llmResponseTime: responseTime,
117
- toolCallingAccuracy: toolCallingAccuracy,
118
- llmToolCalls: llmToolCalls,
119
- tokensUsed: result.tokensUsage,
120
- text: result.text,
121
- messages: result.messages,
122
- },
123
- });
124
- });
125
- });
126
- }