mongodb-mcp-server 0.1.3 → 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 (758) hide show
  1. package/README.md +149 -32
  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/{src/common/atlas/apiClientError.ts → dist/cjs/common/atlas/apiClientError.js} +20 -38
  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/{src/helpers/indexCheck.ts → dist/cjs/helpers/indexCheck.js} +19 -34
  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/{src/telemetry/eventCache.ts → dist/cjs/telemetry/eventCache.js} +14 -19
  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/{src/telemetry/types.ts → dist/cjs/telemetry/types.d.ts} +3 -7
  124. package/dist/cjs/telemetry/types.d.ts.map +1 -0
  125. package/dist/cjs/telemetry/types.js +3 -0
  126. package/dist/{telemetry → cjs/telemetry}/types.js.map +1 -1
  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/{src/tools/atlas/atlasTool.ts → dist/cjs/tools/atlas/atlasTool.js} +27 -38
  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/{src/tools/atlas/create/createFreeCluster.ts → dist/cjs/tools/atlas/create/createFreeCluster.js} +23 -20
  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/{tools/atlas/tools.js → cjs/tools/atlas/tools.d.ts} +3 -16
  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/{src/tools/mongodb/metadata/collectionStorageSize.ts → dist/cjs/tools/mongodb/metadata/collectionStorageSize.js} +21 -28
  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/{src/tools/mongodb/tools.ts → dist/cjs/tools/mongodb/tools.d.ts} +4 -24
  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/{src/tools/mongodb/update/renameCollection.ts → dist/cjs/tools/mongodb/update/renameCollection.js} +21 -28
  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/{src/tools/mongodb/update/updateMany.ts → dist/cjs/tools/mongodb/update/updateMany.js} +35 -40
  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/{src/tools/tool.ts → dist/cjs/tools/tool.js} +90 -103
  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/{common → esm/common}/atlas/apiClient.js +133 -21
  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/{common → esm/common}/atlas/cluster.js +8 -4
  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 +20 -0
  332. package/dist/esm/common/managedTimeout.js.map +1 -0
  333. package/dist/esm/common/packageInfo.d.ts +5 -0
  334. package/dist/esm/common/packageInfo.d.ts.map +1 -0
  335. package/dist/esm/common/packageInfo.js +6 -0
  336. package/dist/esm/common/packageInfo.js.map +1 -0
  337. package/dist/esm/common/session.d.ts +42 -0
  338. package/dist/esm/common/session.d.ts.map +1 -0
  339. package/dist/esm/common/session.js +99 -0
  340. package/dist/esm/common/session.js.map +1 -0
  341. package/dist/esm/common/sessionStore.d.ts +16 -0
  342. package/dist/esm/common/sessionStore.d.ts.map +1 -0
  343. package/dist/esm/common/sessionStore.js +95 -0
  344. package/dist/esm/common/sessionStore.js.map +1 -0
  345. package/dist/esm/helpers/connectionOptions.d.ts +25 -0
  346. package/dist/esm/helpers/connectionOptions.d.ts.map +1 -0
  347. package/dist/esm/helpers/connectionOptions.js +39 -0
  348. package/dist/esm/helpers/connectionOptions.js.map +1 -0
  349. package/dist/esm/helpers/container.d.ts +2 -0
  350. package/dist/esm/helpers/container.d.ts.map +1 -0
  351. package/dist/esm/helpers/container.js +28 -0
  352. package/dist/esm/helpers/container.js.map +1 -0
  353. package/dist/esm/helpers/deviceId.d.ts +24 -0
  354. package/dist/esm/helpers/deviceId.d.ts.map +1 -0
  355. package/dist/esm/helpers/deviceId.js +69 -0
  356. package/dist/esm/helpers/deviceId.js.map +1 -0
  357. package/dist/esm/helpers/generatePassword.d.ts +2 -0
  358. package/dist/esm/helpers/generatePassword.d.ts.map +1 -0
  359. package/dist/esm/helpers/generatePassword.js.map +1 -0
  360. package/dist/esm/helpers/indexCheck.d.ts +17 -0
  361. package/dist/esm/helpers/indexCheck.d.ts.map +1 -0
  362. package/dist/{helpers → esm/helpers}/indexCheck.js +1 -1
  363. package/dist/esm/helpers/indexCheck.js.map +1 -0
  364. package/dist/esm/index.d.ts +3 -0
  365. package/dist/esm/index.d.ts.map +1 -0
  366. package/dist/esm/index.js +128 -0
  367. package/dist/esm/index.js.map +1 -0
  368. package/dist/esm/lib.d.ts +8 -0
  369. package/dist/esm/lib.d.ts.map +1 -0
  370. package/dist/esm/lib.js +7 -0
  371. package/dist/esm/lib.js.map +1 -0
  372. package/dist/esm/package.json +1 -0
  373. package/dist/esm/resources/common/config.d.ts +10 -0
  374. package/dist/esm/resources/common/config.d.ts.map +1 -0
  375. package/dist/esm/resources/common/config.js +42 -0
  376. package/dist/esm/resources/common/config.js.map +1 -0
  377. package/dist/esm/resources/common/debug.d.ts +17 -0
  378. package/dist/esm/resources/common/debug.d.ts.map +1 -0
  379. package/dist/esm/resources/common/debug.js +63 -0
  380. package/dist/esm/resources/common/debug.js.map +1 -0
  381. package/dist/esm/resources/common/exportedData.d.ts +15 -0
  382. package/dist/esm/resources/common/exportedData.d.ts.map +1 -0
  383. package/dist/esm/resources/common/exportedData.js +99 -0
  384. package/dist/esm/resources/common/exportedData.js.map +1 -0
  385. package/dist/esm/resources/resource.d.ts +44 -0
  386. package/dist/esm/resources/resource.d.ts.map +1 -0
  387. package/dist/esm/resources/resource.js +52 -0
  388. package/dist/esm/resources/resource.js.map +1 -0
  389. package/dist/esm/resources/resources.d.ts +5 -0
  390. package/dist/esm/resources/resources.d.ts.map +1 -0
  391. package/dist/esm/resources/resources.js +5 -0
  392. package/dist/esm/resources/resources.js.map +1 -0
  393. package/dist/esm/server.d.ts +40 -0
  394. package/dist/esm/server.d.ts.map +1 -0
  395. package/dist/{server.js → esm/server.js} +83 -40
  396. package/dist/esm/server.js.map +1 -0
  397. package/dist/esm/telemetry/constants.d.ts +6 -0
  398. package/dist/esm/telemetry/constants.d.ts.map +1 -0
  399. package/dist/{telemetry → esm/telemetry}/constants.js +1 -1
  400. package/dist/esm/telemetry/constants.js.map +1 -0
  401. package/dist/esm/telemetry/eventCache.d.ts +34 -0
  402. package/dist/esm/telemetry/eventCache.d.ts.map +1 -0
  403. package/dist/esm/telemetry/eventCache.js.map +1 -0
  404. package/dist/esm/telemetry/telemetry.d.ts +50 -0
  405. package/dist/esm/telemetry/telemetry.d.ts.map +1 -0
  406. package/dist/{telemetry → esm/telemetry}/telemetry.js +42 -37
  407. package/dist/esm/telemetry/telemetry.js.map +1 -0
  408. package/dist/esm/telemetry/types.d.ts +70 -0
  409. package/dist/esm/telemetry/types.d.ts.map +1 -0
  410. package/dist/esm/telemetry/types.js.map +1 -0
  411. package/dist/esm/tools/atlas/atlasTool.d.ts +18 -0
  412. package/dist/esm/tools/atlas/atlasTool.d.ts.map +1 -0
  413. package/dist/{tools → esm/tools}/atlas/atlasTool.js +8 -4
  414. package/dist/esm/tools/atlas/atlasTool.js.map +1 -0
  415. package/dist/esm/tools/atlas/connect/connectCluster.d.ts +18 -0
  416. package/dist/esm/tools/atlas/connect/connectCluster.d.ts.map +1 -0
  417. package/dist/esm/tools/atlas/connect/connectCluster.js +211 -0
  418. package/dist/esm/tools/atlas/connect/connectCluster.js.map +1 -0
  419. package/dist/esm/tools/atlas/create/createAccessList.d.ts +18 -0
  420. package/dist/esm/tools/atlas/create/createAccessList.d.ts.map +1 -0
  421. package/dist/{tools → esm/tools}/atlas/create/createAccessList.js +9 -10
  422. package/dist/esm/tools/atlas/create/createAccessList.js.map +1 -0
  423. package/dist/esm/tools/atlas/create/createDBUser.d.ts +30 -0
  424. package/dist/esm/tools/atlas/create/createDBUser.d.ts.map +1 -0
  425. package/dist/{tools → esm/tools}/atlas/create/createDBUser.js +4 -2
  426. package/dist/esm/tools/atlas/create/createDBUser.js.map +1 -0
  427. package/dist/esm/tools/atlas/create/createFreeCluster.d.ts +16 -0
  428. package/dist/esm/tools/atlas/create/createFreeCluster.d.ts.map +1 -0
  429. package/dist/{tools → esm/tools}/atlas/create/createFreeCluster.js +2 -0
  430. package/dist/esm/tools/atlas/create/createFreeCluster.js.map +1 -0
  431. package/dist/esm/tools/atlas/create/createProject.d.ts +15 -0
  432. package/dist/esm/tools/atlas/create/createProject.d.ts.map +1 -0
  433. package/dist/esm/tools/atlas/create/createProject.js.map +1 -0
  434. package/dist/esm/tools/atlas/read/inspectAccessList.d.ts +14 -0
  435. package/dist/esm/tools/atlas/read/inspectAccessList.d.ts.map +1 -0
  436. package/dist/{tools → esm/tools}/atlas/read/inspectAccessList.js +12 -13
  437. package/dist/esm/tools/atlas/read/inspectAccessList.js.map +1 -0
  438. package/dist/esm/tools/atlas/read/inspectCluster.d.ts +16 -0
  439. package/dist/esm/tools/atlas/read/inspectCluster.d.ts.map +1 -0
  440. package/dist/{tools → esm/tools}/atlas/read/inspectCluster.js +3 -7
  441. package/dist/esm/tools/atlas/read/inspectCluster.js.map +1 -0
  442. package/dist/esm/tools/atlas/read/listAlerts.d.ts +14 -0
  443. package/dist/esm/tools/atlas/read/listAlerts.d.ts.map +1 -0
  444. package/dist/{tools → esm/tools}/atlas/read/listAlerts.js +2 -1
  445. package/dist/esm/tools/atlas/read/listAlerts.js.map +1 -0
  446. package/dist/esm/tools/atlas/read/listClusters.d.ts +16 -0
  447. package/dist/esm/tools/atlas/read/listClusters.d.ts.map +1 -0
  448. package/dist/{tools → esm/tools}/atlas/read/listClusters.js +6 -12
  449. package/dist/esm/tools/atlas/read/listClusters.js.map +1 -0
  450. package/dist/esm/tools/atlas/read/listDBUsers.d.ts +14 -0
  451. package/dist/esm/tools/atlas/read/listDBUsers.d.ts.map +1 -0
  452. package/dist/{tools → esm/tools}/atlas/read/listDBUsers.js +5 -2
  453. package/dist/esm/tools/atlas/read/listDBUsers.js.map +1 -0
  454. package/dist/esm/tools/atlas/read/listOrgs.d.ts +11 -0
  455. package/dist/esm/tools/atlas/read/listOrgs.d.ts.map +1 -0
  456. package/dist/{tools → esm/tools}/atlas/read/listOrgs.js +6 -3
  457. package/dist/esm/tools/atlas/read/listOrgs.js.map +1 -0
  458. package/dist/esm/tools/atlas/read/listProjects.d.ts +15 -0
  459. package/dist/esm/tools/atlas/read/listProjects.d.ts.map +1 -0
  460. package/dist/{tools → esm/tools}/atlas/read/listProjects.js +8 -3
  461. package/dist/esm/tools/atlas/read/listProjects.js.map +1 -0
  462. package/dist/esm/tools/atlas/tools.d.ts +14 -0
  463. package/dist/esm/tools/atlas/tools.d.ts.map +1 -0
  464. package/{src/tools/atlas/tools.ts → dist/esm/tools/atlas/tools.js} +2 -2
  465. package/dist/esm/tools/atlas/tools.js.map +1 -0
  466. package/dist/esm/tools/mongodb/connect/connect.d.ts +26 -0
  467. package/dist/esm/tools/mongodb/connect/connect.d.ts.map +1 -0
  468. package/dist/{tools/mongodb/metadata → esm/tools/mongodb/connect}/connect.js +11 -5
  469. package/dist/esm/tools/mongodb/connect/connect.js.map +1 -0
  470. package/dist/esm/tools/mongodb/create/createCollection.d.ts +14 -0
  471. package/dist/esm/tools/mongodb/create/createCollection.d.ts.map +1 -0
  472. package/dist/esm/tools/mongodb/create/createCollection.js.map +1 -0
  473. package/dist/esm/tools/mongodb/create/createIndex.d.ts +18 -0
  474. package/dist/esm/tools/mongodb/create/createIndex.d.ts.map +1 -0
  475. package/dist/{tools → esm/tools}/mongodb/create/createIndex.js +1 -1
  476. package/dist/esm/tools/mongodb/create/createIndex.js.map +1 -0
  477. package/dist/esm/tools/mongodb/create/insertMany.d.ts +16 -0
  478. package/dist/esm/tools/mongodb/create/insertMany.d.ts.map +1 -0
  479. package/dist/{tools → esm/tools}/mongodb/create/insertMany.js +1 -1
  480. package/dist/esm/tools/mongodb/create/insertMany.js.map +1 -0
  481. package/dist/esm/tools/mongodb/delete/deleteMany.d.ts +16 -0
  482. package/dist/esm/tools/mongodb/delete/deleteMany.d.ts.map +1 -0
  483. package/dist/{tools → esm/tools}/mongodb/delete/deleteMany.js +2 -1
  484. package/dist/esm/tools/mongodb/delete/deleteMany.js.map +1 -0
  485. package/dist/esm/tools/mongodb/delete/dropCollection.d.ts +14 -0
  486. package/dist/esm/tools/mongodb/delete/dropCollection.d.ts.map +1 -0
  487. package/dist/esm/tools/mongodb/delete/dropCollection.js.map +1 -0
  488. package/dist/esm/tools/mongodb/delete/dropDatabase.d.ts +13 -0
  489. package/dist/esm/tools/mongodb/delete/dropDatabase.d.ts.map +1 -0
  490. package/dist/esm/tools/mongodb/delete/dropDatabase.js.map +1 -0
  491. package/dist/esm/tools/mongodb/metadata/collectionSchema.d.ts +14 -0
  492. package/dist/esm/tools/mongodb/metadata/collectionSchema.d.ts.map +1 -0
  493. package/dist/{tools → esm/tools}/mongodb/metadata/collectionSchema.js +2 -10
  494. package/dist/esm/tools/mongodb/metadata/collectionSchema.js.map +1 -0
  495. package/dist/esm/tools/mongodb/metadata/collectionStorageSize.d.ts +16 -0
  496. package/dist/esm/tools/mongodb/metadata/collectionStorageSize.d.ts.map +1 -0
  497. package/dist/esm/tools/mongodb/metadata/collectionStorageSize.js.map +1 -0
  498. package/dist/esm/tools/mongodb/metadata/dbStats.d.ts +13 -0
  499. package/dist/esm/tools/mongodb/metadata/dbStats.d.ts.map +1 -0
  500. package/dist/{tools → esm/tools}/mongodb/metadata/dbStats.js +2 -10
  501. package/dist/esm/tools/mongodb/metadata/dbStats.js.map +1 -0
  502. package/dist/esm/tools/mongodb/metadata/explain.d.ts +89 -0
  503. package/dist/esm/tools/mongodb/metadata/explain.d.ts.map +1 -0
  504. package/dist/{tools → esm/tools}/mongodb/metadata/explain.js +3 -11
  505. package/dist/esm/tools/mongodb/metadata/explain.js.map +1 -0
  506. package/dist/esm/tools/mongodb/metadata/listCollections.d.ts +13 -0
  507. package/dist/esm/tools/mongodb/metadata/listCollections.d.ts.map +1 -0
  508. package/dist/{tools → esm/tools}/mongodb/metadata/listCollections.js +3 -7
  509. package/dist/esm/tools/mongodb/metadata/listCollections.js.map +1 -0
  510. package/dist/esm/tools/mongodb/metadata/listDatabases.d.ts +11 -0
  511. package/dist/esm/tools/mongodb/metadata/listDatabases.d.ts.map +1 -0
  512. package/dist/{tools → esm/tools}/mongodb/metadata/listDatabases.js +4 -6
  513. package/dist/esm/tools/mongodb/metadata/listDatabases.js.map +1 -0
  514. package/dist/esm/tools/mongodb/metadata/logs.d.ts +15 -0
  515. package/dist/esm/tools/mongodb/metadata/logs.d.ts.map +1 -0
  516. package/dist/esm/tools/mongodb/metadata/logs.js.map +1 -0
  517. package/dist/esm/tools/mongodb/mongodbTool.d.ts +20 -0
  518. package/dist/esm/tools/mongodb/mongodbTool.d.ts.map +1 -0
  519. package/dist/esm/tools/mongodb/mongodbTool.js +126 -0
  520. package/dist/esm/tools/mongodb/mongodbTool.js.map +1 -0
  521. package/dist/esm/tools/mongodb/read/aggregate.d.ts +19 -0
  522. package/dist/esm/tools/mongodb/read/aggregate.d.ts.map +1 -0
  523. package/dist/{tools → esm/tools}/mongodb/read/aggregate.js +4 -15
  524. package/dist/esm/tools/mongodb/read/aggregate.js.map +1 -0
  525. package/dist/esm/tools/mongodb/read/collectionIndexes.d.ts +15 -0
  526. package/dist/esm/tools/mongodb/read/collectionIndexes.d.ts.map +1 -0
  527. package/dist/{tools → esm/tools}/mongodb/read/collectionIndexes.js +6 -12
  528. package/dist/esm/tools/mongodb/read/collectionIndexes.js.map +1 -0
  529. package/dist/esm/tools/mongodb/read/count.d.ts +19 -0
  530. package/dist/esm/tools/mongodb/read/count.d.ts.map +1 -0
  531. package/dist/{tools → esm/tools}/mongodb/read/count.js +2 -1
  532. package/dist/esm/tools/mongodb/read/count.js.map +1 -0
  533. package/dist/esm/tools/mongodb/read/export.d.ts +72 -0
  534. package/dist/esm/tools/mongodb/read/export.d.ts.map +1 -0
  535. package/dist/esm/tools/mongodb/read/export.js +112 -0
  536. package/dist/esm/tools/mongodb/read/export.js.map +1 -0
  537. package/dist/esm/tools/mongodb/read/find.d.ts +26 -0
  538. package/dist/esm/tools/mongodb/read/find.d.ts.map +1 -0
  539. package/dist/{tools → esm/tools}/mongodb/read/find.js +10 -18
  540. package/dist/esm/tools/mongodb/read/find.js.map +1 -0
  541. package/dist/esm/tools/mongodb/tools.d.ts +23 -0
  542. package/dist/esm/tools/mongodb/tools.d.ts.map +1 -0
  543. package/dist/{tools → esm/tools}/mongodb/tools.js +3 -1
  544. package/dist/esm/tools/mongodb/tools.js.map +1 -0
  545. package/dist/esm/tools/mongodb/update/renameCollection.d.ts +18 -0
  546. package/dist/esm/tools/mongodb/update/renameCollection.d.ts.map +1 -0
  547. package/dist/esm/tools/mongodb/update/renameCollection.js.map +1 -0
  548. package/dist/esm/tools/mongodb/update/updateMany.d.ts +18 -0
  549. package/dist/esm/tools/mongodb/update/updateMany.d.ts.map +1 -0
  550. package/dist/{tools → esm/tools}/mongodb/update/updateMany.js +4 -2
  551. package/dist/esm/tools/mongodb/update/updateMany.js.map +1 -0
  552. package/dist/esm/tools/tool.d.ts +49 -0
  553. package/dist/esm/tools/tool.d.ts.map +1 -0
  554. package/dist/{tools → esm/tools}/tool.js +55 -9
  555. package/dist/esm/tools/tool.js.map +1 -0
  556. package/dist/esm/transports/base.d.ts +16 -0
  557. package/dist/esm/transports/base.d.ts.map +1 -0
  558. package/dist/esm/transports/base.js +67 -0
  559. package/dist/esm/transports/base.js.map +1 -0
  560. package/dist/esm/transports/stdio.d.ts +19 -0
  561. package/dist/esm/transports/stdio.d.ts.map +1 -0
  562. package/dist/{helpers/EJsonTransport.js → esm/transports/stdio.js} +27 -2
  563. package/dist/esm/transports/stdio.js.map +1 -0
  564. package/dist/esm/transports/streamableHttp.d.ts +13 -0
  565. package/dist/esm/transports/streamableHttp.d.ts.map +1 -0
  566. package/dist/esm/transports/streamableHttp.js +213 -0
  567. package/dist/esm/transports/streamableHttp.js.map +1 -0
  568. package/dist/index.js +1 -51
  569. package/package.json +84 -41
  570. package/.dockerignore +0 -11
  571. package/.github/CODEOWNERS +0 -1
  572. package/.github/ISSUE_TEMPLATE/bug_report.yml +0 -48
  573. package/.github/dependabot.yml +0 -10
  574. package/.github/pull_request_template.md +0 -5
  575. package/.github/workflows/check-pr-title.yml +0 -29
  576. package/.github/workflows/check.yml +0 -58
  577. package/.github/workflows/code_health.yaml +0 -94
  578. package/.github/workflows/code_health_fork.yaml +0 -50
  579. package/.github/workflows/codeql.yml +0 -34
  580. package/.github/workflows/docker.yaml +0 -57
  581. package/.github/workflows/prepare_release.yaml +0 -53
  582. package/.github/workflows/publish.yaml +0 -73
  583. package/.github/workflows/stale.yml +0 -32
  584. package/.prettierignore +0 -5
  585. package/.prettierrc.json +0 -37
  586. package/.smithery/Dockerfile +0 -30
  587. package/.smithery/smithery.yaml +0 -73
  588. package/.vscode/extensions.json +0 -9
  589. package/.vscode/launch.json +0 -17
  590. package/.vscode/settings.json +0 -11
  591. package/CONTRIBUTING.md +0 -185
  592. package/Dockerfile +0 -10
  593. package/dist/common/atlas/apiClient.js.map +0 -1
  594. package/dist/common/atlas/apiClientError.js.map +0 -1
  595. package/dist/common/atlas/cluster.js.map +0 -1
  596. package/dist/common/atlas/generatePassword.js.map +0 -1
  597. package/dist/config.js +0 -83
  598. package/dist/config.js.map +0 -1
  599. package/dist/errors.js.map +0 -1
  600. package/dist/helpers/EJsonTransport.js.map +0 -1
  601. package/dist/helpers/connectionOptions.js +0 -10
  602. package/dist/helpers/connectionOptions.js.map +0 -1
  603. package/dist/helpers/indexCheck.js.map +0 -1
  604. package/dist/helpers/packageInfo.js +0 -6
  605. package/dist/helpers/packageInfo.js.map +0 -1
  606. package/dist/index.js.map +0 -1
  607. package/dist/logger.js +0 -150
  608. package/dist/logger.js.map +0 -1
  609. package/dist/server.js.map +0 -1
  610. package/dist/session.js +0 -84
  611. package/dist/session.js.map +0 -1
  612. package/dist/telemetry/constants.js.map +0 -1
  613. package/dist/telemetry/eventCache.js.map +0 -1
  614. package/dist/telemetry/telemetry.js.map +0 -1
  615. package/dist/tools/atlas/atlasTool.js.map +0 -1
  616. package/dist/tools/atlas/create/createAccessList.js.map +0 -1
  617. package/dist/tools/atlas/create/createDBUser.js.map +0 -1
  618. package/dist/tools/atlas/create/createFreeCluster.js.map +0 -1
  619. package/dist/tools/atlas/create/createProject.js.map +0 -1
  620. package/dist/tools/atlas/metadata/connectCluster.js +0 -100
  621. package/dist/tools/atlas/metadata/connectCluster.js.map +0 -1
  622. package/dist/tools/atlas/read/inspectAccessList.js.map +0 -1
  623. package/dist/tools/atlas/read/inspectCluster.js.map +0 -1
  624. package/dist/tools/atlas/read/listAlerts.js.map +0 -1
  625. package/dist/tools/atlas/read/listClusters.js.map +0 -1
  626. package/dist/tools/atlas/read/listDBUsers.js.map +0 -1
  627. package/dist/tools/atlas/read/listOrgs.js.map +0 -1
  628. package/dist/tools/atlas/read/listProjects.js.map +0 -1
  629. package/dist/tools/atlas/tools.js.map +0 -1
  630. package/dist/tools/mongodb/create/createCollection.js.map +0 -1
  631. package/dist/tools/mongodb/create/createIndex.js.map +0 -1
  632. package/dist/tools/mongodb/create/insertMany.js.map +0 -1
  633. package/dist/tools/mongodb/delete/deleteMany.js.map +0 -1
  634. package/dist/tools/mongodb/delete/dropCollection.js.map +0 -1
  635. package/dist/tools/mongodb/delete/dropDatabase.js.map +0 -1
  636. package/dist/tools/mongodb/metadata/collectionSchema.js.map +0 -1
  637. package/dist/tools/mongodb/metadata/collectionStorageSize.js.map +0 -1
  638. package/dist/tools/mongodb/metadata/connect.js.map +0 -1
  639. package/dist/tools/mongodb/metadata/dbStats.js.map +0 -1
  640. package/dist/tools/mongodb/metadata/explain.js.map +0 -1
  641. package/dist/tools/mongodb/metadata/listCollections.js.map +0 -1
  642. package/dist/tools/mongodb/metadata/listDatabases.js.map +0 -1
  643. package/dist/tools/mongodb/metadata/logs.js.map +0 -1
  644. package/dist/tools/mongodb/mongodbTool.js +0 -84
  645. package/dist/tools/mongodb/mongodbTool.js.map +0 -1
  646. package/dist/tools/mongodb/read/aggregate.js.map +0 -1
  647. package/dist/tools/mongodb/read/collectionIndexes.js.map +0 -1
  648. package/dist/tools/mongodb/read/count.js.map +0 -1
  649. package/dist/tools/mongodb/read/find.js.map +0 -1
  650. package/dist/tools/mongodb/tools.js.map +0 -1
  651. package/dist/tools/mongodb/update/renameCollection.js.map +0 -1
  652. package/dist/tools/mongodb/update/updateMany.js.map +0 -1
  653. package/dist/tools/tool.js.map +0 -1
  654. package/eslint.config.js +0 -55
  655. package/global.d.ts +0 -1
  656. package/jest.config.cjs +0 -22
  657. package/scripts/apply.ts +0 -135
  658. package/scripts/filter.ts +0 -76
  659. package/scripts/generate.sh +0 -11
  660. package/src/common/atlas/apiClient.ts +0 -387
  661. package/src/common/atlas/cluster.ts +0 -94
  662. package/src/common/atlas/generatePassword.ts +0 -10
  663. package/src/common/atlas/openapi.d.ts +0 -7486
  664. package/src/config.ts +0 -125
  665. package/src/errors.ts +0 -14
  666. package/src/helpers/EJsonTransport.ts +0 -47
  667. package/src/helpers/connectionOptions.ts +0 -20
  668. package/src/helpers/packageInfo.ts +0 -6
  669. package/src/index.ts +0 -58
  670. package/src/logger.ts +0 -190
  671. package/src/server.ts +0 -206
  672. package/src/session.ts +0 -120
  673. package/src/telemetry/constants.ts +0 -14
  674. package/src/telemetry/telemetry.ts +0 -194
  675. package/src/tools/atlas/create/createAccessList.ts +0 -76
  676. package/src/tools/atlas/create/createDBUser.ts +0 -88
  677. package/src/tools/atlas/create/createProject.ts +0 -68
  678. package/src/tools/atlas/metadata/connectCluster.ts +0 -121
  679. package/src/tools/atlas/read/inspectAccessList.ts +0 -42
  680. package/src/tools/atlas/read/inspectCluster.ts +0 -34
  681. package/src/tools/atlas/read/listAlerts.ts +0 -45
  682. package/src/tools/atlas/read/listClusters.ts +0 -113
  683. package/src/tools/atlas/read/listDBUsers.ts +0 -60
  684. package/src/tools/atlas/read/listOrgs.ts +0 -32
  685. package/src/tools/atlas/read/listProjects.ts +0 -56
  686. package/src/tools/mongodb/create/createCollection.ts +0 -26
  687. package/src/tools/mongodb/create/createIndex.ts +0 -41
  688. package/src/tools/mongodb/create/insertMany.ts +0 -40
  689. package/src/tools/mongodb/delete/deleteMany.ts +0 -57
  690. package/src/tools/mongodb/delete/dropCollection.ts +0 -27
  691. package/src/tools/mongodb/delete/dropDatabase.ts +0 -26
  692. package/src/tools/mongodb/metadata/collectionSchema.ts +0 -43
  693. package/src/tools/mongodb/metadata/connect.ts +0 -96
  694. package/src/tools/mongodb/metadata/dbStats.ts +0 -35
  695. package/src/tools/mongodb/metadata/explain.ts +0 -103
  696. package/src/tools/mongodb/metadata/listCollections.ts +0 -38
  697. package/src/tools/mongodb/metadata/listDatabases.ts +0 -25
  698. package/src/tools/mongodb/metadata/logs.ts +0 -55
  699. package/src/tools/mongodb/mongodbTool.ts +0 -100
  700. package/src/tools/mongodb/read/aggregate.ts +0 -56
  701. package/src/tools/mongodb/read/collectionIndexes.ts +0 -48
  702. package/src/tools/mongodb/read/count.ts +0 -54
  703. package/src/tools/mongodb/read/find.ts +0 -70
  704. package/src/types/mongodb-connection-string-url.d.ts +0 -69
  705. package/src/types/mongodb-redact.d.ts +0 -4
  706. package/tests/integration/helpers.ts +0 -265
  707. package/tests/integration/inMemoryTransport.ts +0 -59
  708. package/tests/integration/indexCheck.test.ts +0 -463
  709. package/tests/integration/server.test.ts +0 -87
  710. package/tests/integration/telemetry.test.ts +0 -28
  711. package/tests/integration/tools/atlas/accessLists.test.ts +0 -98
  712. package/tests/integration/tools/atlas/alerts.test.ts +0 -42
  713. package/tests/integration/tools/atlas/atlasHelpers.ts +0 -108
  714. package/tests/integration/tools/atlas/clusters.test.ts +0 -185
  715. package/tests/integration/tools/atlas/dbUsers.test.ts +0 -105
  716. package/tests/integration/tools/atlas/orgs.test.ts +0 -24
  717. package/tests/integration/tools/atlas/projects.test.ts +0 -78
  718. package/tests/integration/tools/mongodb/create/createCollection.test.ts +0 -95
  719. package/tests/integration/tools/mongodb/create/createIndex.test.ts +0 -203
  720. package/tests/integration/tools/mongodb/create/insertMany.test.ts +0 -98
  721. package/tests/integration/tools/mongodb/delete/deleteMany.test.ts +0 -154
  722. package/tests/integration/tools/mongodb/delete/dropCollection.test.ts +0 -69
  723. package/tests/integration/tools/mongodb/delete/dropDatabase.test.ts +0 -80
  724. package/tests/integration/tools/mongodb/metadata/collectionSchema.test.ts +0 -154
  725. package/tests/integration/tools/mongodb/metadata/collectionStorageSize.test.ts +0 -86
  726. package/tests/integration/tools/mongodb/metadata/connect.test.ts +0 -128
  727. package/tests/integration/tools/mongodb/metadata/dbStats.test.ts +0 -104
  728. package/tests/integration/tools/mongodb/metadata/explain.test.ts +0 -171
  729. package/tests/integration/tools/mongodb/metadata/listCollections.test.ts +0 -76
  730. package/tests/integration/tools/mongodb/metadata/listDatabases.test.ts +0 -77
  731. package/tests/integration/tools/mongodb/metadata/logs.test.ts +0 -83
  732. package/tests/integration/tools/mongodb/mongodbHelpers.ts +0 -171
  733. package/tests/integration/tools/mongodb/read/aggregate.test.ts +0 -114
  734. package/tests/integration/tools/mongodb/read/collectionIndexes.test.ts +0 -99
  735. package/tests/integration/tools/mongodb/read/count.test.ts +0 -95
  736. package/tests/integration/tools/mongodb/read/find.test.ts +0 -210
  737. package/tests/integration/tools/mongodb/update/renameCollection.test.ts +0 -194
  738. package/tests/integration/tools/mongodb/update/updateMany.test.ts +0 -238
  739. package/tests/unit/EJsonTransport.test.ts +0 -71
  740. package/tests/unit/apiClient.test.ts +0 -193
  741. package/tests/unit/indexCheck.test.ts +0 -149
  742. package/tests/unit/session.test.ts +0 -65
  743. package/tests/unit/telemetry.test.ts +0 -322
  744. package/tsconfig.build.json +0 -20
  745. package/tsconfig.jest.json +0 -9
  746. package/tsconfig.json +0 -9
  747. /package/dist/{common → esm/common}/atlas/apiClientError.js +0 -0
  748. /package/dist/{errors.js → esm/common/errors.js} +0 -0
  749. /package/dist/{common/atlas → esm/helpers}/generatePassword.js +0 -0
  750. /package/dist/{telemetry → esm/telemetry}/eventCache.js +0 -0
  751. /package/dist/{telemetry → esm/telemetry}/types.js +0 -0
  752. /package/dist/{tools → esm/tools}/atlas/create/createProject.js +0 -0
  753. /package/dist/{tools → esm/tools}/mongodb/create/createCollection.js +0 -0
  754. /package/dist/{tools → esm/tools}/mongodb/delete/dropCollection.js +0 -0
  755. /package/dist/{tools → esm/tools}/mongodb/delete/dropDatabase.js +0 -0
  756. /package/dist/{tools → esm/tools}/mongodb/metadata/collectionStorageSize.js +0 -0
  757. /package/dist/{tools → esm/tools}/mongodb/metadata/logs.js +0 -0
  758. /package/dist/{tools → esm/tools}/mongodb/update/renameCollection.js +0 -0
@@ -1,238 +0,0 @@
1
- import {
2
- databaseCollectionParameters,
3
- validateToolMetadata,
4
- validateThrowsForInvalidArguments,
5
- getResponseContent,
6
- } from "../../../helpers.js";
7
- import { describeWithMongoDB, validateAutoConnectBehavior } from "../mongodbHelpers.js";
8
-
9
- describeWithMongoDB("updateMany tool", (integration) => {
10
- validateToolMetadata(
11
- integration,
12
- "update-many",
13
- "Updates all documents that match the specified filter for a collection",
14
- [
15
- ...databaseCollectionParameters,
16
-
17
- {
18
- name: "filter",
19
- description:
20
- "The selection criteria for the update, matching the syntax of the filter argument of db.collection.updateOne()",
21
- type: "object",
22
- required: false,
23
- },
24
- {
25
- name: "update",
26
- description:
27
- "An update document describing the modifications to apply using update operator expressions",
28
- type: "object",
29
- required: true,
30
- },
31
- {
32
- name: "upsert",
33
- description: "Controls whether to insert a new document if no documents match the filter",
34
- type: "boolean",
35
- required: false,
36
- },
37
- ]
38
- );
39
-
40
- validateThrowsForInvalidArguments(integration, "update-many", [
41
- {},
42
- { database: 123, collection: "bar", update: {} },
43
- { database: [], collection: "bar", update: {} },
44
- { database: "test", collection: "bar", update: [] },
45
- { database: "test", collection: "bar", update: {}, filter: 123 },
46
- { database: "test", collection: "bar", update: {}, upsert: "true" },
47
- { database: "test", collection: "bar", update: {}, filter: {}, upsert: "true" },
48
- { database: "test", collection: "bar", update: {}, filter: "TRUEPREDICATE", upsert: false },
49
- ]);
50
-
51
- describe("with non-existent database", () => {
52
- it("doesn't update any documents", async () => {
53
- await integration.connectMcpClient();
54
-
55
- const response = await integration.mcpClient().callTool({
56
- name: "update-many",
57
- arguments: {
58
- database: "non-existent-db",
59
- collection: "coll1",
60
- update: { $set: { name: "new-name" } },
61
- },
62
- });
63
-
64
- const content = getResponseContent(response.content);
65
- expect(content).toEqual("No documents matched the filter.");
66
- });
67
- });
68
-
69
- describe("with non-existent collection", () => {
70
- it("doesn't update any documents", async () => {
71
- await integration
72
- .mongoClient()
73
- .db(integration.randomDbName())
74
- .collection("coll1")
75
- .insertOne({ name: "old-name" });
76
- await integration.connectMcpClient();
77
-
78
- const response = await integration.mcpClient().callTool({
79
- name: "update-many",
80
- arguments: {
81
- database: integration.randomDbName(),
82
- collection: "non-existent",
83
- update: { $set: { name: "new-name" } },
84
- },
85
- });
86
-
87
- const content = getResponseContent(response.content);
88
- expect(content).toEqual("No documents matched the filter.");
89
- });
90
- });
91
-
92
- describe("with existing collection", () => {
93
- beforeEach(async () => {
94
- await integration
95
- .mongoClient()
96
- .db(integration.randomDbName())
97
- .collection("coll1")
98
- .insertMany([
99
- { name: "old-name", value: 1 },
100
- { name: "old-name", value: 2 },
101
- { name: "old-name", value: 3 },
102
- ]);
103
- });
104
- it("updates all documents without filter", async () => {
105
- await integration.connectMcpClient();
106
-
107
- const response = await integration.mcpClient().callTool({
108
- name: "update-many",
109
- arguments: {
110
- database: integration.randomDbName(),
111
- collection: "coll1",
112
- update: { $set: { name: "new-name" } },
113
- },
114
- });
115
-
116
- const content = getResponseContent(response.content);
117
- expect(content).toEqual("Matched 3 document(s). Modified 3 document(s).");
118
-
119
- const docs = await integration
120
- .mongoClient()
121
- .db(integration.randomDbName())
122
- .collection("coll1")
123
- .find({})
124
- .toArray();
125
-
126
- expect(docs).toHaveLength(3);
127
- for (const doc of docs) {
128
- expect(doc.name).toEqual("new-name");
129
- }
130
- });
131
-
132
- it("updates all documents that match the filter", async () => {
133
- await integration.connectMcpClient();
134
-
135
- const response = await integration.mcpClient().callTool({
136
- name: "update-many",
137
- arguments: {
138
- database: integration.randomDbName(),
139
- collection: "coll1",
140
- update: { $set: { name: "new-name" } },
141
- filter: { value: { $gt: 1 } },
142
- },
143
- });
144
-
145
- const content = getResponseContent(response.content);
146
- expect(content).toEqual("Matched 2 document(s). Modified 2 document(s).");
147
-
148
- const docs = await integration
149
- .mongoClient()
150
- .db(integration.randomDbName())
151
- .collection("coll1")
152
- .find({})
153
- .toArray();
154
- expect(docs).toHaveLength(3);
155
- for (const doc of docs) {
156
- if (doc.value > 1) {
157
- expect(doc.name).toEqual("new-name");
158
- } else {
159
- expect(doc.name).toEqual("old-name");
160
- }
161
- }
162
- });
163
-
164
- it("upserts a new document if no documents match the filter", async () => {
165
- await integration.connectMcpClient();
166
-
167
- const response = await integration.mcpClient().callTool({
168
- name: "update-many",
169
- arguments: {
170
- database: integration.randomDbName(),
171
- collection: "coll1",
172
- update: { $set: { name: "new-name" } },
173
- filter: { value: 4 },
174
- upsert: true,
175
- },
176
- });
177
-
178
- const content = getResponseContent(response.content);
179
- expect(content).toContain("Matched 0 document(s). Upserted 1 document with id:");
180
-
181
- const docs = await integration
182
- .mongoClient()
183
- .db(integration.randomDbName())
184
- .collection("coll1")
185
- .find({})
186
- .toArray();
187
-
188
- expect(docs).toHaveLength(4);
189
- for (const doc of docs) {
190
- if (doc.value === 4) {
191
- expect(doc.name).toEqual("new-name");
192
- } else {
193
- expect(doc.name).toEqual("old-name");
194
- }
195
- }
196
- });
197
-
198
- it("doesn't upsert a new document if no documents match the filter and upsert is false", async () => {
199
- await integration.connectMcpClient();
200
-
201
- const response = await integration.mcpClient().callTool({
202
- name: "update-many",
203
- arguments: {
204
- database: integration.randomDbName(),
205
- collection: "coll1",
206
- update: { $set: { name: "new-name" } },
207
- filter: { value: 4 },
208
- },
209
- });
210
-
211
- const content = getResponseContent(response.content);
212
- expect(content).toContain("No documents matched the filter.");
213
-
214
- const docs = await integration
215
- .mongoClient()
216
- .db(integration.randomDbName())
217
- .collection("coll1")
218
- .find({})
219
- .toArray();
220
-
221
- expect(docs).toHaveLength(3);
222
- for (const doc of docs) {
223
- expect(doc.name).toEqual("old-name");
224
- }
225
- });
226
- });
227
-
228
- validateAutoConnectBehavior(integration, "update-many", () => {
229
- return {
230
- args: {
231
- database: integration.randomDbName(),
232
- collection: "coll1",
233
- update: { $set: { name: "new-name" } },
234
- },
235
- expectedResponse: "No documents matched the filter.",
236
- };
237
- });
238
- });
@@ -1,71 +0,0 @@
1
- import { Decimal128, MaxKey, MinKey, ObjectId, Timestamp, UUID } from "bson";
2
- import { createEJsonTransport, EJsonReadBuffer } from "../../src/helpers/EJsonTransport.js";
3
- import { JSONRPCMessage } from "@modelcontextprotocol/sdk/types.js";
4
- import { AuthInfo } from "@modelcontextprotocol/sdk/server/auth/types.js";
5
- import { StdioServerTransport } from "@modelcontextprotocol/sdk/server/stdio.js";
6
- import { Readable } from "stream";
7
- import { ReadBuffer } from "@modelcontextprotocol/sdk/shared/stdio.js";
8
-
9
- describe("EJsonTransport", () => {
10
- let transport: StdioServerTransport;
11
- beforeEach(async () => {
12
- transport = createEJsonTransport();
13
- await transport.start();
14
- });
15
-
16
- afterEach(async () => {
17
- await transport.close();
18
- });
19
-
20
- it("ejson deserializes messages", () => {
21
- const messages: { message: JSONRPCMessage; extra?: { authInfo?: AuthInfo } }[] = [];
22
- transport.onmessage = (
23
- message,
24
- extra?: {
25
- authInfo?: AuthInfo;
26
- }
27
- ) => {
28
- messages.push({ message, extra });
29
- };
30
-
31
- (transport["_stdin"] as Readable).emit(
32
- "data",
33
- Buffer.from(
34
- '{"jsonrpc":"2.0","id":1,"method":"testMethod","params":{"oid":{"$oid":"681b741f13aa74a0687b5110"},"uuid":{"$uuid":"f81d4fae-7dec-11d0-a765-00a0c91e6bf6"},"date":{"$date":"2025-05-07T14:54:23.973Z"},"decimal":{"$numberDecimal":"1234567890987654321"},"int32":123,"maxKey":{"$maxKey":1},"minKey":{"$minKey":1},"timestamp":{"$timestamp":{"t":123,"i":456}}}}\n',
35
- "utf-8"
36
- )
37
- );
38
-
39
- expect(messages.length).toBe(1);
40
- const message = messages[0]?.message;
41
-
42
- expect(message).toEqual({
43
- jsonrpc: "2.0",
44
- id: 1,
45
- method: "testMethod",
46
- params: {
47
- oid: new ObjectId("681b741f13aa74a0687b5110"),
48
- uuid: new UUID("f81d4fae-7dec-11d0-a765-00a0c91e6bf6"),
49
- date: new Date(Date.parse("2025-05-07T14:54:23.973Z")),
50
- decimal: new Decimal128("1234567890987654321"),
51
- int32: 123,
52
- maxKey: new MaxKey(),
53
- minKey: new MinKey(),
54
- timestamp: new Timestamp({ t: 123, i: 456 }),
55
- },
56
- });
57
- });
58
-
59
- it("has _readBuffer field of type EJsonReadBuffer", () => {
60
- expect(transport["_readBuffer"]).toBeDefined();
61
- expect(transport["_readBuffer"]).toBeInstanceOf(EJsonReadBuffer);
62
- });
63
-
64
- describe("standard StdioServerTransport", () => {
65
- it("has a _readBuffer field", () => {
66
- const standardTransport = new StdioServerTransport();
67
- expect(standardTransport["_readBuffer"]).toBeDefined();
68
- expect(standardTransport["_readBuffer"]).toBeInstanceOf(ReadBuffer);
69
- });
70
- });
71
- });
@@ -1,193 +0,0 @@
1
- import { jest } from "@jest/globals";
2
- import { ApiClient } from "../../src/common/atlas/apiClient.js";
3
- import { CommonProperties, TelemetryEvent, TelemetryResult } from "../../src/telemetry/types.js";
4
-
5
- describe("ApiClient", () => {
6
- let apiClient: ApiClient;
7
-
8
- const mockEvents: TelemetryEvent<CommonProperties>[] = [
9
- {
10
- timestamp: new Date().toISOString(),
11
- source: "mdbmcp",
12
- properties: {
13
- mcp_client_version: "1.0.0",
14
- mcp_client_name: "test-client",
15
- mcp_server_version: "1.0.0",
16
- mcp_server_name: "test-server",
17
- platform: "test-platform",
18
- arch: "test-arch",
19
- os_type: "test-os",
20
- component: "test-component",
21
- duration_ms: 100,
22
- result: "success" as TelemetryResult,
23
- category: "test-category",
24
- },
25
- },
26
- ];
27
-
28
- beforeEach(() => {
29
- apiClient = new ApiClient({
30
- baseUrl: "https://api.test.com",
31
- credentials: {
32
- clientId: "test-client-id",
33
- clientSecret: "test-client-secret",
34
- },
35
- userAgent: "test-user-agent",
36
- });
37
-
38
- // @ts-expect-error accessing private property for testing
39
- apiClient.getAccessToken = jest.fn().mockResolvedValue("mockToken");
40
- });
41
-
42
- afterEach(() => {
43
- jest.clearAllMocks();
44
- });
45
-
46
- describe("constructor", () => {
47
- it("should create a client with the correct configuration", () => {
48
- expect(apiClient).toBeDefined();
49
- expect(apiClient.hasCredentials()).toBeDefined();
50
- });
51
- });
52
-
53
- describe("listProjects", () => {
54
- it("should return a list of projects", async () => {
55
- const mockProjects = {
56
- results: [
57
- { id: "1", name: "Project 1" },
58
- { id: "2", name: "Project 2" },
59
- ],
60
- totalCount: 2,
61
- };
62
-
63
- const mockGet = jest.fn().mockImplementation(() => ({
64
- data: mockProjects,
65
- error: null,
66
- response: new Response(),
67
- }));
68
-
69
- // @ts-expect-error accessing private property for testing
70
- apiClient.client.GET = mockGet;
71
-
72
- const result = await apiClient.listProjects();
73
-
74
- expect(mockGet).toHaveBeenCalledWith("/api/atlas/v2/groups", undefined);
75
- expect(result).toEqual(mockProjects);
76
- });
77
-
78
- it("should throw an error when the API call fails", async () => {
79
- const mockError = {
80
- reason: "Test error",
81
- detail: "Something went wrong",
82
- };
83
-
84
- const mockGet = jest.fn().mockImplementation(() => ({
85
- data: null,
86
- error: mockError,
87
- response: new Response(),
88
- }));
89
-
90
- // @ts-expect-error accessing private property for testing
91
- apiClient.client.GET = mockGet;
92
-
93
- await expect(apiClient.listProjects()).rejects.toThrow();
94
- });
95
- });
96
-
97
- describe("sendEvents", () => {
98
- it("should send events to authenticated endpoint when token is available and valid", async () => {
99
- const mockFetch = jest.spyOn(global, "fetch");
100
- mockFetch.mockResolvedValueOnce(new Response(null, { status: 200 }));
101
-
102
- await apiClient.sendEvents(mockEvents);
103
-
104
- const url = new URL("api/private/v1.0/telemetry/events", "https://api.test.com");
105
- expect(mockFetch).toHaveBeenCalledWith(url, {
106
- method: "POST",
107
- headers: {
108
- "Content-Type": "application/json",
109
- Authorization: "Bearer mockToken",
110
- Accept: "application/json",
111
- "User-Agent": "test-user-agent",
112
- },
113
- body: JSON.stringify(mockEvents),
114
- });
115
- });
116
-
117
- it("should fall back to unauthenticated endpoint when token is not available via exception", async () => {
118
- const mockFetch = jest.spyOn(global, "fetch");
119
- mockFetch.mockResolvedValueOnce(new Response(null, { status: 200 }));
120
-
121
- // @ts-expect-error accessing private property for testing
122
- apiClient.getAccessToken = jest.fn().mockRejectedValue(new Error("No access token available"));
123
-
124
- await apiClient.sendEvents(mockEvents);
125
-
126
- const url = new URL("api/private/unauth/telemetry/events", "https://api.test.com");
127
- expect(mockFetch).toHaveBeenCalledWith(url, {
128
- method: "POST",
129
- headers: {
130
- "Content-Type": "application/json",
131
- Accept: "application/json",
132
- "User-Agent": "test-user-agent",
133
- },
134
- body: JSON.stringify(mockEvents),
135
- });
136
- });
137
-
138
- it("should fall back to unauthenticated endpoint when token is undefined", async () => {
139
- const mockFetch = jest.spyOn(global, "fetch");
140
- mockFetch.mockResolvedValueOnce(new Response(null, { status: 200 }));
141
-
142
- // @ts-expect-error accessing private property for testing
143
- apiClient.getAccessToken = jest.fn().mockReturnValueOnce(undefined);
144
-
145
- await apiClient.sendEvents(mockEvents);
146
-
147
- const url = new URL("api/private/unauth/telemetry/events", "https://api.test.com");
148
- expect(mockFetch).toHaveBeenCalledWith(url, {
149
- method: "POST",
150
- headers: {
151
- "Content-Type": "application/json",
152
- Accept: "application/json",
153
- "User-Agent": "test-user-agent",
154
- },
155
- body: JSON.stringify(mockEvents),
156
- });
157
- });
158
-
159
- it("should fall back to unauthenticated endpoint on 401 error", async () => {
160
- const mockFetch = jest.spyOn(global, "fetch");
161
- mockFetch
162
- .mockResolvedValueOnce(new Response(null, { status: 401 }))
163
- .mockResolvedValueOnce(new Response(null, { status: 200 }));
164
-
165
- await apiClient.sendEvents(mockEvents);
166
-
167
- const url = new URL("api/private/unauth/telemetry/events", "https://api.test.com");
168
- expect(mockFetch).toHaveBeenCalledTimes(2);
169
- expect(mockFetch).toHaveBeenLastCalledWith(url, {
170
- method: "POST",
171
- headers: {
172
- "Content-Type": "application/json",
173
- Accept: "application/json",
174
- "User-Agent": "test-user-agent",
175
- },
176
- body: JSON.stringify(mockEvents),
177
- });
178
- });
179
-
180
- it("should throw error when both authenticated and unauthenticated requests fail", async () => {
181
- const mockFetch = jest.spyOn(global, "fetch");
182
- mockFetch
183
- .mockResolvedValueOnce(new Response(null, { status: 401 }))
184
- .mockResolvedValueOnce(new Response(null, { status: 500 }));
185
-
186
- const mockToken = "test-token";
187
- // @ts-expect-error accessing private property for testing
188
- apiClient.getAccessToken = jest.fn().mockResolvedValue(mockToken);
189
-
190
- await expect(apiClient.sendEvents(mockEvents)).rejects.toThrow();
191
- });
192
- });
193
- });
@@ -1,149 +0,0 @@
1
- import { usesIndex, getIndexCheckErrorMessage } from "../../src/helpers/indexCheck.js";
2
- import { Document } from "mongodb";
3
-
4
- describe("indexCheck", () => {
5
- describe("usesIndex", () => {
6
- it("should return true for IXSCAN", () => {
7
- const explainResult: Document = {
8
- queryPlanner: {
9
- winningPlan: {
10
- stage: "IXSCAN",
11
- },
12
- },
13
- };
14
- expect(usesIndex(explainResult)).toBe(true);
15
- });
16
-
17
- it("should return true for COUNT_SCAN", () => {
18
- const explainResult: Document = {
19
- queryPlanner: {
20
- winningPlan: {
21
- stage: "COUNT_SCAN",
22
- },
23
- },
24
- };
25
- expect(usesIndex(explainResult)).toBe(true);
26
- });
27
-
28
- it("should return true for IDHACK", () => {
29
- const explainResult: Document = {
30
- queryPlanner: {
31
- winningPlan: {
32
- stage: "IDHACK",
33
- },
34
- },
35
- };
36
- expect(usesIndex(explainResult)).toBe(true);
37
- });
38
-
39
- it("should return true for EXPRESS_IXSCAN (MongoDB 8.0+)", () => {
40
- const explainResult: Document = {
41
- queryPlanner: {
42
- winningPlan: {
43
- stage: "EXPRESS_IXSCAN",
44
- },
45
- },
46
- };
47
- expect(usesIndex(explainResult)).toBe(true);
48
- });
49
-
50
- it("should return true for EXPRESS_CLUSTERED_IXSCAN (MongoDB 8.0+)", () => {
51
- const explainResult: Document = {
52
- queryPlanner: {
53
- winningPlan: {
54
- stage: "EXPRESS_CLUSTERED_IXSCAN",
55
- },
56
- },
57
- };
58
- expect(usesIndex(explainResult)).toBe(true);
59
- });
60
-
61
- it("should return true for EXPRESS_UPDATE (MongoDB 8.0+)", () => {
62
- const explainResult: Document = {
63
- queryPlanner: {
64
- winningPlan: {
65
- stage: "EXPRESS_UPDATE",
66
- },
67
- },
68
- };
69
- expect(usesIndex(explainResult)).toBe(true);
70
- });
71
-
72
- it("should return true for EXPRESS_DELETE (MongoDB 8.0+)", () => {
73
- const explainResult: Document = {
74
- queryPlanner: {
75
- winningPlan: {
76
- stage: "EXPRESS_DELETE",
77
- },
78
- },
79
- };
80
- expect(usesIndex(explainResult)).toBe(true);
81
- });
82
-
83
- it("should return false for COLLSCAN", () => {
84
- const explainResult: Document = {
85
- queryPlanner: {
86
- winningPlan: {
87
- stage: "COLLSCAN",
88
- },
89
- },
90
- };
91
- expect(usesIndex(explainResult)).toBe(false);
92
- });
93
-
94
- it("should return true for nested IXSCAN in inputStage", () => {
95
- const explainResult: Document = {
96
- queryPlanner: {
97
- winningPlan: {
98
- stage: "LIMIT",
99
- inputStage: {
100
- stage: "IXSCAN",
101
- },
102
- },
103
- },
104
- };
105
- expect(usesIndex(explainResult)).toBe(true);
106
- });
107
-
108
- it("should return true for nested EXPRESS_IXSCAN in inputStage", () => {
109
- const explainResult: Document = {
110
- queryPlanner: {
111
- winningPlan: {
112
- stage: "SORT",
113
- inputStage: {
114
- stage: "EXPRESS_IXSCAN",
115
- },
116
- },
117
- },
118
- };
119
- expect(usesIndex(explainResult)).toBe(true);
120
- });
121
-
122
- it("should return false for unknown stage types", () => {
123
- const explainResult: Document = {
124
- queryPlanner: {
125
- winningPlan: {
126
- stage: "UNKNOWN_STAGE",
127
- },
128
- },
129
- };
130
- expect(usesIndex(explainResult)).toBe(false);
131
- });
132
-
133
- it("should handle missing queryPlanner", () => {
134
- const explainResult: Document = {};
135
- expect(usesIndex(explainResult)).toBe(false);
136
- });
137
- });
138
-
139
- describe("getIndexCheckErrorMessage", () => {
140
- it("should generate appropriate error message", () => {
141
- const message = getIndexCheckErrorMessage("testdb", "testcoll", "find");
142
- expect(message).toContain("Index check failed");
143
- expect(message).toContain("testdb.testcoll");
144
- expect(message).toContain("find operation");
145
- expect(message).toContain("collection scan (COLLSCAN)");
146
- expect(message).toContain("MDB_MCP_INDEX_CHECK");
147
- });
148
- });
149
- });