@himanshusinghs/mongodb-mcp-server 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 (582) hide show
  1. package/LICENSE +202 -0
  2. package/README.md +609 -0
  3. package/dist/cjs/common/atlas/accessListUtils.d.ts +15 -0
  4. package/dist/cjs/common/atlas/accessListUtils.d.ts.map +1 -0
  5. package/dist/cjs/common/atlas/accessListUtils.js +53 -0
  6. package/dist/cjs/common/atlas/accessListUtils.js.map +1 -0
  7. package/dist/cjs/common/atlas/apiClient.d.ts +235 -0
  8. package/dist/cjs/common/atlas/apiClient.d.ts.map +1 -0
  9. package/dist/cjs/common/atlas/apiClient.js +439 -0
  10. package/dist/cjs/common/atlas/apiClient.js.map +1 -0
  11. package/dist/cjs/common/atlas/apiClientError.d.ts +11 -0
  12. package/dist/cjs/common/atlas/apiClientError.d.ts.map +1 -0
  13. package/dist/cjs/common/atlas/apiClientError.js +54 -0
  14. package/dist/cjs/common/atlas/apiClientError.js.map +1 -0
  15. package/dist/cjs/common/atlas/cluster.d.ts +14 -0
  16. package/dist/cjs/common/atlas/cluster.d.ts.map +1 -0
  17. package/dist/cjs/common/atlas/cluster.js +75 -0
  18. package/dist/cjs/common/atlas/cluster.js.map +1 -0
  19. package/dist/cjs/common/atlas/roles.d.ts +8 -0
  20. package/dist/cjs/common/atlas/roles.d.ts.map +1 -0
  21. package/dist/cjs/common/atlas/roles.js +28 -0
  22. package/dist/cjs/common/atlas/roles.js.map +1 -0
  23. package/dist/cjs/common/config.d.ts +40 -0
  24. package/dist/cjs/common/config.d.ts.map +1 -0
  25. package/dist/cjs/common/config.js +300 -0
  26. package/dist/cjs/common/config.js.map +1 -0
  27. package/dist/cjs/common/connectionManager.d.ts +100 -0
  28. package/dist/cjs/common/connectionManager.d.ts.map +1 -0
  29. package/dist/cjs/common/connectionManager.js +243 -0
  30. package/dist/cjs/common/connectionManager.js.map +1 -0
  31. package/dist/cjs/common/errors.d.ts +10 -0
  32. package/dist/cjs/common/errors.d.ts.map +1 -0
  33. package/dist/cjs/common/errors.js +17 -0
  34. package/dist/cjs/common/errors.js.map +1 -0
  35. package/dist/cjs/common/exportsManager.d.ts +86 -0
  36. package/dist/cjs/common/exportsManager.d.ts.map +1 -0
  37. package/dist/cjs/common/exportsManager.js +288 -0
  38. package/dist/cjs/common/exportsManager.js.map +1 -0
  39. package/dist/cjs/common/logger.d.ts +118 -0
  40. package/dist/cjs/common/logger.d.ts.map +1 -0
  41. package/dist/cjs/common/logger.js +267 -0
  42. package/dist/cjs/common/logger.js.map +1 -0
  43. package/dist/cjs/common/managedTimeout.d.ts +6 -0
  44. package/dist/cjs/common/managedTimeout.d.ts.map +1 -0
  45. package/dist/cjs/common/managedTimeout.js +23 -0
  46. package/dist/cjs/common/managedTimeout.js.map +1 -0
  47. package/dist/cjs/common/packageInfo.d.ts +5 -0
  48. package/dist/cjs/common/packageInfo.d.ts.map +1 -0
  49. package/dist/cjs/common/packageInfo.js +9 -0
  50. package/dist/cjs/common/packageInfo.js.map +1 -0
  51. package/dist/cjs/common/session.d.ts +42 -0
  52. package/dist/cjs/common/session.d.ts.map +1 -0
  53. package/dist/cjs/common/session.js +106 -0
  54. package/dist/cjs/common/session.js.map +1 -0
  55. package/dist/cjs/common/sessionStore.d.ts +16 -0
  56. package/dist/cjs/common/sessionStore.d.ts.map +1 -0
  57. package/dist/cjs/common/sessionStore.js +99 -0
  58. package/dist/cjs/common/sessionStore.js.map +1 -0
  59. package/dist/cjs/helpers/connectionOptions.d.ts +25 -0
  60. package/dist/cjs/helpers/connectionOptions.d.ts.map +1 -0
  61. package/dist/cjs/helpers/connectionOptions.js +46 -0
  62. package/dist/cjs/helpers/connectionOptions.js.map +1 -0
  63. package/dist/cjs/helpers/container.d.ts +2 -0
  64. package/dist/cjs/helpers/container.d.ts.map +1 -0
  65. package/dist/cjs/helpers/container.js +34 -0
  66. package/dist/cjs/helpers/container.js.map +1 -0
  67. package/dist/cjs/helpers/deviceId.d.ts +24 -0
  68. package/dist/cjs/helpers/deviceId.d.ts.map +1 -0
  69. package/dist/cjs/helpers/deviceId.js +106 -0
  70. package/dist/cjs/helpers/deviceId.js.map +1 -0
  71. package/dist/cjs/helpers/generatePassword.d.ts +2 -0
  72. package/dist/cjs/helpers/generatePassword.d.ts.map +1 -0
  73. package/dist/cjs/helpers/generatePassword.js +12 -0
  74. package/dist/cjs/helpers/generatePassword.js.map +1 -0
  75. package/dist/cjs/helpers/indexCheck.d.ts +17 -0
  76. package/dist/cjs/helpers/indexCheck.d.ts.map +1 -0
  77. package/dist/cjs/helpers/indexCheck.js +68 -0
  78. package/dist/cjs/helpers/indexCheck.js.map +1 -0
  79. package/dist/cjs/index.d.ts +3 -0
  80. package/dist/cjs/index.d.ts.map +1 -0
  81. package/dist/cjs/index.js +131 -0
  82. package/dist/cjs/index.js.map +1 -0
  83. package/dist/cjs/lib.d.ts +9 -0
  84. package/dist/cjs/lib.d.ts.map +1 -0
  85. package/dist/cjs/lib.js +20 -0
  86. package/dist/cjs/lib.js.map +1 -0
  87. package/dist/cjs/package.json +1 -0
  88. package/dist/cjs/resources/common/config.d.ts +10 -0
  89. package/dist/cjs/resources/common/config.d.ts.map +1 -0
  90. package/dist/cjs/resources/common/config.js +46 -0
  91. package/dist/cjs/resources/common/config.js.map +1 -0
  92. package/dist/cjs/resources/common/debug.d.ts +17 -0
  93. package/dist/cjs/resources/common/debug.d.ts.map +1 -0
  94. package/dist/cjs/resources/common/debug.js +67 -0
  95. package/dist/cjs/resources/common/debug.js.map +1 -0
  96. package/dist/cjs/resources/common/exportedData.d.ts +15 -0
  97. package/dist/cjs/resources/common/exportedData.d.ts.map +1 -0
  98. package/dist/cjs/resources/common/exportedData.js +103 -0
  99. package/dist/cjs/resources/common/exportedData.js.map +1 -0
  100. package/dist/cjs/resources/resource.d.ts +44 -0
  101. package/dist/cjs/resources/resource.d.ts.map +1 -0
  102. package/dist/cjs/resources/resource.js +56 -0
  103. package/dist/cjs/resources/resource.js.map +1 -0
  104. package/dist/cjs/resources/resources.d.ts +5 -0
  105. package/dist/cjs/resources/resources.d.ts.map +1 -0
  106. package/dist/cjs/resources/resources.js +8 -0
  107. package/dist/cjs/resources/resources.js.map +1 -0
  108. package/dist/cjs/server.d.ts +40 -0
  109. package/dist/cjs/server.d.ts.map +1 -0
  110. package/dist/cjs/server.js +195 -0
  111. package/dist/cjs/server.js.map +1 -0
  112. package/dist/cjs/telemetry/constants.d.ts +6 -0
  113. package/dist/cjs/telemetry/constants.d.ts.map +1 -0
  114. package/dist/cjs/telemetry/constants.js +16 -0
  115. package/dist/cjs/telemetry/constants.js.map +1 -0
  116. package/dist/cjs/telemetry/eventCache.d.ts +34 -0
  117. package/dist/cjs/telemetry/eventCache.d.ts.map +1 -0
  118. package/dist/cjs/telemetry/eventCache.js +57 -0
  119. package/dist/cjs/telemetry/eventCache.js.map +1 -0
  120. package/dist/cjs/telemetry/telemetry.d.ts +50 -0
  121. package/dist/cjs/telemetry/telemetry.d.ts.map +1 -0
  122. package/dist/cjs/telemetry/telemetry.js +145 -0
  123. package/dist/cjs/telemetry/telemetry.js.map +1 -0
  124. package/dist/cjs/telemetry/types.d.ts +70 -0
  125. package/dist/cjs/telemetry/types.d.ts.map +1 -0
  126. package/dist/cjs/telemetry/types.js +3 -0
  127. package/dist/cjs/telemetry/types.js.map +1 -0
  128. package/dist/cjs/tools/atlas/atlasTool.d.ts +18 -0
  129. package/dist/cjs/tools/atlas/atlasTool.d.ts.map +1 -0
  130. package/dist/cjs/tools/atlas/atlasTool.js +92 -0
  131. package/dist/cjs/tools/atlas/atlasTool.js.map +1 -0
  132. package/dist/cjs/tools/atlas/connect/connectCluster.d.ts +18 -0
  133. package/dist/cjs/tools/atlas/connect/connectCluster.d.ts.map +1 -0
  134. package/dist/cjs/tools/atlas/connect/connectCluster.js +215 -0
  135. package/dist/cjs/tools/atlas/connect/connectCluster.js.map +1 -0
  136. package/dist/cjs/tools/atlas/create/createAccessList.d.ts +18 -0
  137. package/dist/cjs/tools/atlas/create/createAccessList.d.ts.map +1 -0
  138. package/dist/cjs/tools/atlas/create/createAccessList.js +66 -0
  139. package/dist/cjs/tools/atlas/create/createAccessList.js.map +1 -0
  140. package/dist/cjs/tools/atlas/create/createDBUser.d.ts +30 -0
  141. package/dist/cjs/tools/atlas/create/createDBUser.d.ts.map +1 -0
  142. package/dist/cjs/tools/atlas/create/createDBUser.js +80 -0
  143. package/dist/cjs/tools/atlas/create/createDBUser.js.map +1 -0
  144. package/dist/cjs/tools/atlas/create/createFreeCluster.d.ts +16 -0
  145. package/dist/cjs/tools/atlas/create/createFreeCluster.d.ts.map +1 -0
  146. package/dist/cjs/tools/atlas/create/createFreeCluster.js +59 -0
  147. package/dist/cjs/tools/atlas/create/createFreeCluster.js.map +1 -0
  148. package/dist/cjs/tools/atlas/create/createProject.d.ts +15 -0
  149. package/dist/cjs/tools/atlas/create/createProject.d.ts.map +1 -0
  150. package/dist/cjs/tools/atlas/create/createProject.js +60 -0
  151. package/dist/cjs/tools/atlas/create/createProject.js.map +1 -0
  152. package/dist/cjs/tools/atlas/read/inspectAccessList.d.ts +14 -0
  153. package/dist/cjs/tools/atlas/read/inspectAccessList.d.ts.map +1 -0
  154. package/dist/cjs/tools/atlas/read/inspectAccessList.js +43 -0
  155. package/dist/cjs/tools/atlas/read/inspectAccessList.js.map +1 -0
  156. package/dist/cjs/tools/atlas/read/inspectCluster.d.ts +16 -0
  157. package/dist/cjs/tools/atlas/read/inspectCluster.d.ts.map +1 -0
  158. package/dist/cjs/tools/atlas/read/inspectCluster.js +32 -0
  159. package/dist/cjs/tools/atlas/read/inspectCluster.js.map +1 -0
  160. package/dist/cjs/tools/atlas/read/listAlerts.d.ts +14 -0
  161. package/dist/cjs/tools/atlas/read/listAlerts.d.ts.map +1 -0
  162. package/dist/cjs/tools/atlas/read/listAlerts.js +46 -0
  163. package/dist/cjs/tools/atlas/read/listAlerts.js.map +1 -0
  164. package/dist/cjs/tools/atlas/read/listClusters.d.ts +16 -0
  165. package/dist/cjs/tools/atlas/read/listClusters.d.ts.map +1 -0
  166. package/dist/cjs/tools/atlas/read/listClusters.js +96 -0
  167. package/dist/cjs/tools/atlas/read/listClusters.js.map +1 -0
  168. package/dist/cjs/tools/atlas/read/listDBUsers.d.ts +14 -0
  169. package/dist/cjs/tools/atlas/read/listDBUsers.d.ts.map +1 -0
  170. package/dist/cjs/tools/atlas/read/listDBUsers.js +58 -0
  171. package/dist/cjs/tools/atlas/read/listDBUsers.js.map +1 -0
  172. package/dist/cjs/tools/atlas/read/listOrgs.d.ts +11 -0
  173. package/dist/cjs/tools/atlas/read/listOrgs.d.ts.map +1 -0
  174. package/dist/cjs/tools/atlas/read/listOrgs.js +36 -0
  175. package/dist/cjs/tools/atlas/read/listOrgs.js.map +1 -0
  176. package/dist/cjs/tools/atlas/read/listProjects.d.ts +15 -0
  177. package/dist/cjs/tools/atlas/read/listProjects.d.ts.map +1 -0
  178. package/dist/cjs/tools/atlas/read/listProjects.js +59 -0
  179. package/dist/cjs/tools/atlas/read/listProjects.js.map +1 -0
  180. package/dist/cjs/tools/atlas/tools.d.ts +14 -0
  181. package/dist/cjs/tools/atlas/tools.d.ts.map +1 -0
  182. package/dist/cjs/tools/atlas/tools.js +30 -0
  183. package/dist/cjs/tools/atlas/tools.js.map +1 -0
  184. package/dist/cjs/tools/mongodb/connect/connect.d.ts +26 -0
  185. package/dist/cjs/tools/mongodb/connect/connect.d.ts.map +1 -0
  186. package/dist/cjs/tools/mongodb/connect/connect.js +86 -0
  187. package/dist/cjs/tools/mongodb/connect/connect.js.map +1 -0
  188. package/dist/cjs/tools/mongodb/create/createCollection.d.ts +14 -0
  189. package/dist/cjs/tools/mongodb/create/createCollection.d.ts.map +1 -0
  190. package/dist/cjs/tools/mongodb/create/createCollection.js +27 -0
  191. package/dist/cjs/tools/mongodb/create/createCollection.js.map +1 -0
  192. package/dist/cjs/tools/mongodb/create/createIndex.d.ts +18 -0
  193. package/dist/cjs/tools/mongodb/create/createIndex.d.ts.map +1 -0
  194. package/dist/cjs/tools/mongodb/create/createIndex.js +37 -0
  195. package/dist/cjs/tools/mongodb/create/createIndex.js.map +1 -0
  196. package/dist/cjs/tools/mongodb/create/insertMany.d.ts +16 -0
  197. package/dist/cjs/tools/mongodb/create/insertMany.d.ts.map +1 -0
  198. package/dist/cjs/tools/mongodb/create/insertMany.js +37 -0
  199. package/dist/cjs/tools/mongodb/create/insertMany.js.map +1 -0
  200. package/dist/cjs/tools/mongodb/delete/deleteMany.d.ts +16 -0
  201. package/dist/cjs/tools/mongodb/delete/deleteMany.d.ts.map +1 -0
  202. package/dist/cjs/tools/mongodb/delete/deleteMany.js +53 -0
  203. package/dist/cjs/tools/mongodb/delete/deleteMany.js.map +1 -0
  204. package/dist/cjs/tools/mongodb/delete/dropCollection.d.ts +14 -0
  205. package/dist/cjs/tools/mongodb/delete/dropCollection.d.ts.map +1 -0
  206. package/dist/cjs/tools/mongodb/delete/dropCollection.js +29 -0
  207. package/dist/cjs/tools/mongodb/delete/dropCollection.js.map +1 -0
  208. package/dist/cjs/tools/mongodb/delete/dropDatabase.d.ts +13 -0
  209. package/dist/cjs/tools/mongodb/delete/dropDatabase.d.ts.map +1 -0
  210. package/dist/cjs/tools/mongodb/delete/dropDatabase.js +29 -0
  211. package/dist/cjs/tools/mongodb/delete/dropDatabase.js.map +1 -0
  212. package/dist/cjs/tools/mongodb/metadata/collectionSchema.d.ts +14 -0
  213. package/dist/cjs/tools/mongodb/metadata/collectionSchema.d.ts.map +1 -0
  214. package/dist/cjs/tools/mongodb/metadata/collectionSchema.js +36 -0
  215. package/dist/cjs/tools/mongodb/metadata/collectionSchema.js.map +1 -0
  216. package/dist/cjs/tools/mongodb/metadata/collectionStorageSize.d.ts +16 -0
  217. package/dist/cjs/tools/mongodb/metadata/collectionStorageSize.d.ts.map +1 -0
  218. package/dist/cjs/tools/mongodb/metadata/collectionStorageSize.js +61 -0
  219. package/dist/cjs/tools/mongodb/metadata/collectionStorageSize.js.map +1 -0
  220. package/dist/cjs/tools/mongodb/metadata/dbStats.d.ts +13 -0
  221. package/dist/cjs/tools/mongodb/metadata/dbStats.d.ts.map +1 -0
  222. package/dist/cjs/tools/mongodb/metadata/dbStats.js +29 -0
  223. package/dist/cjs/tools/mongodb/metadata/dbStats.js.map +1 -0
  224. package/dist/cjs/tools/mongodb/metadata/explain.d.ts +89 -0
  225. package/dist/cjs/tools/mongodb/metadata/explain.d.ts.map +1 -0
  226. package/dist/cjs/tools/mongodb/metadata/explain.js +80 -0
  227. package/dist/cjs/tools/mongodb/metadata/explain.js.map +1 -0
  228. package/dist/cjs/tools/mongodb/metadata/listCollections.d.ts +13 -0
  229. package/dist/cjs/tools/mongodb/metadata/listCollections.d.ts.map +1 -0
  230. package/dist/cjs/tools/mongodb/metadata/listCollections.js +35 -0
  231. package/dist/cjs/tools/mongodb/metadata/listCollections.js.map +1 -0
  232. package/dist/cjs/tools/mongodb/metadata/listDatabases.d.ts +11 -0
  233. package/dist/cjs/tools/mongodb/metadata/listDatabases.d.ts.map +1 -0
  234. package/dist/cjs/tools/mongodb/metadata/listDatabases.js +25 -0
  235. package/dist/cjs/tools/mongodb/metadata/listDatabases.js.map +1 -0
  236. package/dist/cjs/tools/mongodb/metadata/logs.d.ts +15 -0
  237. package/dist/cjs/tools/mongodb/metadata/logs.d.ts.map +1 -0
  238. package/dist/cjs/tools/mongodb/metadata/logs.js +49 -0
  239. package/dist/cjs/tools/mongodb/metadata/logs.js.map +1 -0
  240. package/dist/cjs/tools/mongodb/mongodbTool.d.ts +20 -0
  241. package/dist/cjs/tools/mongodb/mongodbTool.d.ts.map +1 -0
  242. package/dist/cjs/tools/mongodb/mongodbTool.js +130 -0
  243. package/dist/cjs/tools/mongodb/mongodbTool.js.map +1 -0
  244. package/dist/cjs/tools/mongodb/read/aggregate.d.ts +19 -0
  245. package/dist/cjs/tools/mongodb/read/aggregate.d.ts.map +1 -0
  246. package/dist/cjs/tools/mongodb/read/aggregate.js +40 -0
  247. package/dist/cjs/tools/mongodb/read/aggregate.js.map +1 -0
  248. package/dist/cjs/tools/mongodb/read/collectionIndexes.d.ts +15 -0
  249. package/dist/cjs/tools/mongodb/read/collectionIndexes.d.ts.map +1 -0
  250. package/dist/cjs/tools/mongodb/read/collectionIndexes.js +40 -0
  251. package/dist/cjs/tools/mongodb/read/collectionIndexes.js.map +1 -0
  252. package/dist/cjs/tools/mongodb/read/count.d.ts +19 -0
  253. package/dist/cjs/tools/mongodb/read/count.d.ts.map +1 -0
  254. package/dist/cjs/tools/mongodb/read/count.js +51 -0
  255. package/dist/cjs/tools/mongodb/read/count.js.map +1 -0
  256. package/dist/cjs/tools/mongodb/read/export.d.ts +72 -0
  257. package/dist/cjs/tools/mongodb/read/export.d.ts.map +1 -0
  258. package/dist/cjs/tools/mongodb/read/export.js +119 -0
  259. package/dist/cjs/tools/mongodb/read/export.js.map +1 -0
  260. package/dist/cjs/tools/mongodb/read/find.d.ts +26 -0
  261. package/dist/cjs/tools/mongodb/read/find.d.ts.map +1 -0
  262. package/dist/cjs/tools/mongodb/read/find.js +53 -0
  263. package/dist/cjs/tools/mongodb/read/find.js.map +1 -0
  264. package/dist/cjs/tools/mongodb/tools.d.ts +23 -0
  265. package/dist/cjs/tools/mongodb/tools.d.ts.map +1 -0
  266. package/dist/cjs/tools/mongodb/tools.js +48 -0
  267. package/dist/cjs/tools/mongodb/tools.js.map +1 -0
  268. package/dist/cjs/tools/mongodb/update/renameCollection.d.ts +18 -0
  269. package/dist/cjs/tools/mongodb/update/renameCollection.d.ts.map +1 -0
  270. package/dist/cjs/tools/mongodb/update/renameCollection.js +59 -0
  271. package/dist/cjs/tools/mongodb/update/renameCollection.js.map +1 -0
  272. package/dist/cjs/tools/mongodb/update/updateMany.d.ts +18 -0
  273. package/dist/cjs/tools/mongodb/update/updateMany.d.ts.map +1 -0
  274. package/dist/cjs/tools/mongodb/update/updateMany.js +78 -0
  275. package/dist/cjs/tools/mongodb/update/updateMany.js.map +1 -0
  276. package/dist/cjs/tools/tool.d.ts +49 -0
  277. package/dist/cjs/tools/tool.d.ts.map +1 -0
  278. package/dist/cjs/tools/tool.js +201 -0
  279. package/dist/cjs/tools/tool.js.map +1 -0
  280. package/dist/cjs/transports/base.d.ts +17 -0
  281. package/dist/cjs/transports/base.d.ts.map +1 -0
  282. package/dist/cjs/transports/base.js +74 -0
  283. package/dist/cjs/transports/base.js.map +1 -0
  284. package/dist/cjs/transports/stdio.d.ts +20 -0
  285. package/dist/cjs/transports/stdio.d.ts.map +1 -0
  286. package/dist/cjs/transports/stdio.js +70 -0
  287. package/dist/cjs/transports/stdio.js.map +1 -0
  288. package/dist/cjs/transports/streamableHttp.d.ts +14 -0
  289. package/dist/cjs/transports/streamableHttp.d.ts.map +1 -0
  290. package/dist/cjs/transports/streamableHttp.js +221 -0
  291. package/dist/cjs/transports/streamableHttp.js.map +1 -0
  292. package/dist/esm/common/atlas/accessListUtils.d.ts +15 -0
  293. package/dist/esm/common/atlas/accessListUtils.d.ts.map +1 -0
  294. package/dist/esm/common/atlas/accessListUtils.js +48 -0
  295. package/dist/esm/common/atlas/accessListUtils.js.map +1 -0
  296. package/dist/esm/common/atlas/apiClient.d.ts +235 -0
  297. package/dist/esm/common/atlas/apiClient.d.ts.map +1 -0
  298. package/dist/esm/common/atlas/apiClient.js +399 -0
  299. package/dist/esm/common/atlas/apiClient.js.map +1 -0
  300. package/dist/esm/common/atlas/apiClientError.d.ts +11 -0
  301. package/dist/esm/common/atlas/apiClientError.d.ts.map +1 -0
  302. package/dist/esm/common/atlas/apiClientError.js +50 -0
  303. package/dist/esm/common/atlas/apiClientError.js.map +1 -0
  304. package/dist/esm/common/atlas/cluster.d.ts +14 -0
  305. package/dist/esm/common/atlas/cluster.d.ts.map +1 -0
  306. package/dist/esm/common/atlas/cluster.js +70 -0
  307. package/dist/esm/common/atlas/cluster.js.map +1 -0
  308. package/dist/esm/common/atlas/roles.d.ts +8 -0
  309. package/dist/esm/common/atlas/roles.d.ts.map +1 -0
  310. package/dist/esm/common/atlas/roles.js +25 -0
  311. package/dist/esm/common/atlas/roles.js.map +1 -0
  312. package/dist/esm/common/config.d.ts +40 -0
  313. package/dist/esm/common/config.d.ts.map +1 -0
  314. package/dist/esm/common/config.js +291 -0
  315. package/dist/esm/common/config.js.map +1 -0
  316. package/dist/esm/common/connectionManager.d.ts +100 -0
  317. package/dist/esm/common/connectionManager.d.ts.map +1 -0
  318. package/dist/esm/common/connectionManager.js +234 -0
  319. package/dist/esm/common/connectionManager.js.map +1 -0
  320. package/dist/esm/common/errors.d.ts +10 -0
  321. package/dist/esm/common/errors.d.ts.map +1 -0
  322. package/dist/esm/common/errors.js +13 -0
  323. package/dist/esm/common/errors.js.map +1 -0
  324. package/dist/esm/common/exportsManager.d.ts +86 -0
  325. package/dist/esm/common/exportsManager.d.ts.map +1 -0
  326. package/dist/esm/common/exportsManager.js +278 -0
  327. package/dist/esm/common/exportsManager.js.map +1 -0
  328. package/dist/esm/common/logger.d.ts +118 -0
  329. package/dist/esm/common/logger.d.ts.map +1 -0
  330. package/dist/esm/common/logger.js +255 -0
  331. package/dist/esm/common/logger.js.map +1 -0
  332. package/dist/esm/common/managedTimeout.d.ts +6 -0
  333. package/dist/esm/common/managedTimeout.d.ts.map +1 -0
  334. package/dist/esm/common/managedTimeout.js +20 -0
  335. package/dist/esm/common/managedTimeout.js.map +1 -0
  336. package/dist/esm/common/packageInfo.d.ts +5 -0
  337. package/dist/esm/common/packageInfo.d.ts.map +1 -0
  338. package/dist/esm/common/packageInfo.js +6 -0
  339. package/dist/esm/common/packageInfo.js.map +1 -0
  340. package/dist/esm/common/session.d.ts +42 -0
  341. package/dist/esm/common/session.d.ts.map +1 -0
  342. package/dist/esm/common/session.js +99 -0
  343. package/dist/esm/common/session.js.map +1 -0
  344. package/dist/esm/common/sessionStore.d.ts +16 -0
  345. package/dist/esm/common/sessionStore.d.ts.map +1 -0
  346. package/dist/esm/common/sessionStore.js +95 -0
  347. package/dist/esm/common/sessionStore.js.map +1 -0
  348. package/dist/esm/helpers/connectionOptions.d.ts +25 -0
  349. package/dist/esm/helpers/connectionOptions.d.ts.map +1 -0
  350. package/dist/esm/helpers/connectionOptions.js +39 -0
  351. package/dist/esm/helpers/connectionOptions.js.map +1 -0
  352. package/dist/esm/helpers/container.d.ts +2 -0
  353. package/dist/esm/helpers/container.d.ts.map +1 -0
  354. package/dist/esm/helpers/container.js +28 -0
  355. package/dist/esm/helpers/container.js.map +1 -0
  356. package/dist/esm/helpers/deviceId.d.ts +24 -0
  357. package/dist/esm/helpers/deviceId.d.ts.map +1 -0
  358. package/dist/esm/helpers/deviceId.js +69 -0
  359. package/dist/esm/helpers/deviceId.js.map +1 -0
  360. package/dist/esm/helpers/generatePassword.d.ts +2 -0
  361. package/dist/esm/helpers/generatePassword.d.ts.map +1 -0
  362. package/dist/esm/helpers/generatePassword.js +9 -0
  363. package/dist/esm/helpers/generatePassword.js.map +1 -0
  364. package/dist/esm/helpers/indexCheck.d.ts +17 -0
  365. package/dist/esm/helpers/indexCheck.d.ts.map +1 -0
  366. package/dist/esm/helpers/indexCheck.js +63 -0
  367. package/dist/esm/helpers/indexCheck.js.map +1 -0
  368. package/dist/esm/index.d.ts +3 -0
  369. package/dist/esm/index.d.ts.map +1 -0
  370. package/dist/esm/index.js +126 -0
  371. package/dist/esm/index.js.map +1 -0
  372. package/dist/esm/lib.d.ts +9 -0
  373. package/dist/esm/lib.d.ts.map +1 -0
  374. package/dist/esm/lib.js +9 -0
  375. package/dist/esm/lib.js.map +1 -0
  376. package/dist/esm/package.json +1 -0
  377. package/dist/esm/resources/common/config.d.ts +10 -0
  378. package/dist/esm/resources/common/config.d.ts.map +1 -0
  379. package/dist/esm/resources/common/config.js +42 -0
  380. package/dist/esm/resources/common/config.js.map +1 -0
  381. package/dist/esm/resources/common/debug.d.ts +17 -0
  382. package/dist/esm/resources/common/debug.d.ts.map +1 -0
  383. package/dist/esm/resources/common/debug.js +63 -0
  384. package/dist/esm/resources/common/debug.js.map +1 -0
  385. package/dist/esm/resources/common/exportedData.d.ts +15 -0
  386. package/dist/esm/resources/common/exportedData.d.ts.map +1 -0
  387. package/dist/esm/resources/common/exportedData.js +99 -0
  388. package/dist/esm/resources/common/exportedData.js.map +1 -0
  389. package/dist/esm/resources/resource.d.ts +44 -0
  390. package/dist/esm/resources/resource.d.ts.map +1 -0
  391. package/dist/esm/resources/resource.js +52 -0
  392. package/dist/esm/resources/resource.js.map +1 -0
  393. package/dist/esm/resources/resources.d.ts +5 -0
  394. package/dist/esm/resources/resources.d.ts.map +1 -0
  395. package/dist/esm/resources/resources.js +5 -0
  396. package/dist/esm/resources/resources.js.map +1 -0
  397. package/dist/esm/server.d.ts +40 -0
  398. package/dist/esm/server.d.ts.map +1 -0
  399. package/dist/esm/server.js +188 -0
  400. package/dist/esm/server.js.map +1 -0
  401. package/dist/esm/telemetry/constants.d.ts +6 -0
  402. package/dist/esm/telemetry/constants.d.ts.map +1 -0
  403. package/dist/esm/telemetry/constants.js +13 -0
  404. package/dist/esm/telemetry/constants.js.map +1 -0
  405. package/dist/esm/telemetry/eventCache.d.ts +34 -0
  406. package/dist/esm/telemetry/eventCache.d.ts.map +1 -0
  407. package/dist/esm/telemetry/eventCache.js +53 -0
  408. package/dist/esm/telemetry/eventCache.js.map +1 -0
  409. package/dist/esm/telemetry/telemetry.d.ts +50 -0
  410. package/dist/esm/telemetry/telemetry.d.ts.map +1 -0
  411. package/dist/esm/telemetry/telemetry.js +141 -0
  412. package/dist/esm/telemetry/telemetry.js.map +1 -0
  413. package/dist/esm/telemetry/types.d.ts +70 -0
  414. package/dist/esm/telemetry/types.d.ts.map +1 -0
  415. package/dist/esm/telemetry/types.js +2 -0
  416. package/dist/esm/telemetry/types.js.map +1 -0
  417. package/dist/esm/tools/atlas/atlasTool.d.ts +18 -0
  418. package/dist/esm/tools/atlas/atlasTool.d.ts.map +1 -0
  419. package/dist/esm/tools/atlas/atlasTool.js +88 -0
  420. package/dist/esm/tools/atlas/atlasTool.js.map +1 -0
  421. package/dist/esm/tools/atlas/connect/connectCluster.d.ts +18 -0
  422. package/dist/esm/tools/atlas/connect/connectCluster.d.ts.map +1 -0
  423. package/dist/esm/tools/atlas/connect/connectCluster.js +211 -0
  424. package/dist/esm/tools/atlas/connect/connectCluster.js.map +1 -0
  425. package/dist/esm/tools/atlas/create/createAccessList.d.ts +18 -0
  426. package/dist/esm/tools/atlas/create/createAccessList.d.ts.map +1 -0
  427. package/dist/esm/tools/atlas/create/createAccessList.js +62 -0
  428. package/dist/esm/tools/atlas/create/createAccessList.js.map +1 -0
  429. package/dist/esm/tools/atlas/create/createDBUser.d.ts +30 -0
  430. package/dist/esm/tools/atlas/create/createDBUser.d.ts.map +1 -0
  431. package/dist/esm/tools/atlas/create/createDBUser.js +76 -0
  432. package/dist/esm/tools/atlas/create/createDBUser.js.map +1 -0
  433. package/dist/esm/tools/atlas/create/createFreeCluster.d.ts +16 -0
  434. package/dist/esm/tools/atlas/create/createFreeCluster.d.ts.map +1 -0
  435. package/dist/esm/tools/atlas/create/createFreeCluster.js +55 -0
  436. package/dist/esm/tools/atlas/create/createFreeCluster.js.map +1 -0
  437. package/dist/esm/tools/atlas/create/createProject.d.ts +15 -0
  438. package/dist/esm/tools/atlas/create/createProject.d.ts.map +1 -0
  439. package/dist/esm/tools/atlas/create/createProject.js +56 -0
  440. package/dist/esm/tools/atlas/create/createProject.js.map +1 -0
  441. package/dist/esm/tools/atlas/read/inspectAccessList.d.ts +14 -0
  442. package/dist/esm/tools/atlas/read/inspectAccessList.d.ts.map +1 -0
  443. package/dist/esm/tools/atlas/read/inspectAccessList.js +39 -0
  444. package/dist/esm/tools/atlas/read/inspectAccessList.js.map +1 -0
  445. package/dist/esm/tools/atlas/read/inspectCluster.d.ts +16 -0
  446. package/dist/esm/tools/atlas/read/inspectCluster.d.ts.map +1 -0
  447. package/dist/esm/tools/atlas/read/inspectCluster.js +28 -0
  448. package/dist/esm/tools/atlas/read/inspectCluster.js.map +1 -0
  449. package/dist/esm/tools/atlas/read/listAlerts.d.ts +14 -0
  450. package/dist/esm/tools/atlas/read/listAlerts.d.ts.map +1 -0
  451. package/dist/esm/tools/atlas/read/listAlerts.js +42 -0
  452. package/dist/esm/tools/atlas/read/listAlerts.js.map +1 -0
  453. package/dist/esm/tools/atlas/read/listClusters.d.ts +16 -0
  454. package/dist/esm/tools/atlas/read/listClusters.d.ts.map +1 -0
  455. package/dist/esm/tools/atlas/read/listClusters.js +92 -0
  456. package/dist/esm/tools/atlas/read/listClusters.js.map +1 -0
  457. package/dist/esm/tools/atlas/read/listDBUsers.d.ts +14 -0
  458. package/dist/esm/tools/atlas/read/listDBUsers.d.ts.map +1 -0
  459. package/dist/esm/tools/atlas/read/listDBUsers.js +54 -0
  460. package/dist/esm/tools/atlas/read/listDBUsers.js.map +1 -0
  461. package/dist/esm/tools/atlas/read/listOrgs.d.ts +11 -0
  462. package/dist/esm/tools/atlas/read/listOrgs.d.ts.map +1 -0
  463. package/dist/esm/tools/atlas/read/listOrgs.js +32 -0
  464. package/dist/esm/tools/atlas/read/listOrgs.js.map +1 -0
  465. package/dist/esm/tools/atlas/read/listProjects.d.ts +15 -0
  466. package/dist/esm/tools/atlas/read/listProjects.d.ts.map +1 -0
  467. package/dist/esm/tools/atlas/read/listProjects.js +55 -0
  468. package/dist/esm/tools/atlas/read/listProjects.js.map +1 -0
  469. package/dist/esm/tools/atlas/tools.d.ts +14 -0
  470. package/dist/esm/tools/atlas/tools.d.ts.map +1 -0
  471. package/dist/esm/tools/atlas/tools.js +27 -0
  472. package/dist/esm/tools/atlas/tools.js.map +1 -0
  473. package/dist/esm/tools/mongodb/connect/connect.d.ts +26 -0
  474. package/dist/esm/tools/mongodb/connect/connect.d.ts.map +1 -0
  475. package/dist/esm/tools/mongodb/connect/connect.js +79 -0
  476. package/dist/esm/tools/mongodb/connect/connect.js.map +1 -0
  477. package/dist/esm/tools/mongodb/create/createCollection.d.ts +14 -0
  478. package/dist/esm/tools/mongodb/create/createCollection.d.ts.map +1 -0
  479. package/dist/esm/tools/mongodb/create/createCollection.js +23 -0
  480. package/dist/esm/tools/mongodb/create/createCollection.js.map +1 -0
  481. package/dist/esm/tools/mongodb/create/createIndex.d.ts +18 -0
  482. package/dist/esm/tools/mongodb/create/createIndex.d.ts.map +1 -0
  483. package/dist/esm/tools/mongodb/create/createIndex.js +33 -0
  484. package/dist/esm/tools/mongodb/create/createIndex.js.map +1 -0
  485. package/dist/esm/tools/mongodb/create/insertMany.d.ts +16 -0
  486. package/dist/esm/tools/mongodb/create/insertMany.d.ts.map +1 -0
  487. package/dist/esm/tools/mongodb/create/insertMany.js +33 -0
  488. package/dist/esm/tools/mongodb/create/insertMany.js.map +1 -0
  489. package/dist/esm/tools/mongodb/delete/deleteMany.d.ts +16 -0
  490. package/dist/esm/tools/mongodb/delete/deleteMany.d.ts.map +1 -0
  491. package/dist/esm/tools/mongodb/delete/deleteMany.js +49 -0
  492. package/dist/esm/tools/mongodb/delete/deleteMany.js.map +1 -0
  493. package/dist/esm/tools/mongodb/delete/dropCollection.d.ts +14 -0
  494. package/dist/esm/tools/mongodb/delete/dropCollection.d.ts.map +1 -0
  495. package/dist/esm/tools/mongodb/delete/dropCollection.js +25 -0
  496. package/dist/esm/tools/mongodb/delete/dropCollection.js.map +1 -0
  497. package/dist/esm/tools/mongodb/delete/dropDatabase.d.ts +13 -0
  498. package/dist/esm/tools/mongodb/delete/dropDatabase.d.ts.map +1 -0
  499. package/dist/esm/tools/mongodb/delete/dropDatabase.js +25 -0
  500. package/dist/esm/tools/mongodb/delete/dropDatabase.js.map +1 -0
  501. package/dist/esm/tools/mongodb/metadata/collectionSchema.d.ts +14 -0
  502. package/dist/esm/tools/mongodb/metadata/collectionSchema.d.ts.map +1 -0
  503. package/dist/esm/tools/mongodb/metadata/collectionSchema.js +32 -0
  504. package/dist/esm/tools/mongodb/metadata/collectionSchema.js.map +1 -0
  505. package/dist/esm/tools/mongodb/metadata/collectionStorageSize.d.ts +16 -0
  506. package/dist/esm/tools/mongodb/metadata/collectionStorageSize.d.ts.map +1 -0
  507. package/dist/esm/tools/mongodb/metadata/collectionStorageSize.js +57 -0
  508. package/dist/esm/tools/mongodb/metadata/collectionStorageSize.js.map +1 -0
  509. package/dist/esm/tools/mongodb/metadata/dbStats.d.ts +13 -0
  510. package/dist/esm/tools/mongodb/metadata/dbStats.d.ts.map +1 -0
  511. package/dist/esm/tools/mongodb/metadata/dbStats.js +25 -0
  512. package/dist/esm/tools/mongodb/metadata/dbStats.js.map +1 -0
  513. package/dist/esm/tools/mongodb/metadata/explain.d.ts +89 -0
  514. package/dist/esm/tools/mongodb/metadata/explain.d.ts.map +1 -0
  515. package/dist/esm/tools/mongodb/metadata/explain.js +76 -0
  516. package/dist/esm/tools/mongodb/metadata/explain.js.map +1 -0
  517. package/dist/esm/tools/mongodb/metadata/listCollections.d.ts +13 -0
  518. package/dist/esm/tools/mongodb/metadata/listCollections.d.ts.map +1 -0
  519. package/dist/esm/tools/mongodb/metadata/listCollections.js +31 -0
  520. package/dist/esm/tools/mongodb/metadata/listCollections.js.map +1 -0
  521. package/dist/esm/tools/mongodb/metadata/listDatabases.d.ts +11 -0
  522. package/dist/esm/tools/mongodb/metadata/listDatabases.d.ts.map +1 -0
  523. package/dist/esm/tools/mongodb/metadata/listDatabases.js +21 -0
  524. package/dist/esm/tools/mongodb/metadata/listDatabases.js.map +1 -0
  525. package/dist/esm/tools/mongodb/metadata/logs.d.ts +15 -0
  526. package/dist/esm/tools/mongodb/metadata/logs.d.ts.map +1 -0
  527. package/dist/esm/tools/mongodb/metadata/logs.js +45 -0
  528. package/dist/esm/tools/mongodb/metadata/logs.js.map +1 -0
  529. package/dist/esm/tools/mongodb/mongodbTool.d.ts +20 -0
  530. package/dist/esm/tools/mongodb/mongodbTool.d.ts.map +1 -0
  531. package/dist/esm/tools/mongodb/mongodbTool.js +126 -0
  532. package/dist/esm/tools/mongodb/mongodbTool.js.map +1 -0
  533. package/dist/esm/tools/mongodb/read/aggregate.d.ts +19 -0
  534. package/dist/esm/tools/mongodb/read/aggregate.d.ts.map +1 -0
  535. package/dist/esm/tools/mongodb/read/aggregate.js +36 -0
  536. package/dist/esm/tools/mongodb/read/aggregate.js.map +1 -0
  537. package/dist/esm/tools/mongodb/read/collectionIndexes.d.ts +15 -0
  538. package/dist/esm/tools/mongodb/read/collectionIndexes.d.ts.map +1 -0
  539. package/dist/esm/tools/mongodb/read/collectionIndexes.js +36 -0
  540. package/dist/esm/tools/mongodb/read/collectionIndexes.js.map +1 -0
  541. package/dist/esm/tools/mongodb/read/count.d.ts +19 -0
  542. package/dist/esm/tools/mongodb/read/count.d.ts.map +1 -0
  543. package/dist/esm/tools/mongodb/read/count.js +47 -0
  544. package/dist/esm/tools/mongodb/read/count.js.map +1 -0
  545. package/dist/esm/tools/mongodb/read/export.d.ts +72 -0
  546. package/dist/esm/tools/mongodb/read/export.d.ts.map +1 -0
  547. package/dist/esm/tools/mongodb/read/export.js +112 -0
  548. package/dist/esm/tools/mongodb/read/export.js.map +1 -0
  549. package/dist/esm/tools/mongodb/read/find.d.ts +26 -0
  550. package/dist/esm/tools/mongodb/read/find.d.ts.map +1 -0
  551. package/dist/esm/tools/mongodb/read/find.js +49 -0
  552. package/dist/esm/tools/mongodb/read/find.js.map +1 -0
  553. package/dist/esm/tools/mongodb/tools.d.ts +23 -0
  554. package/dist/esm/tools/mongodb/tools.d.ts.map +1 -0
  555. package/dist/esm/tools/mongodb/tools.js +45 -0
  556. package/dist/esm/tools/mongodb/tools.js.map +1 -0
  557. package/dist/esm/tools/mongodb/update/renameCollection.d.ts +18 -0
  558. package/dist/esm/tools/mongodb/update/renameCollection.d.ts.map +1 -0
  559. package/dist/esm/tools/mongodb/update/renameCollection.js +55 -0
  560. package/dist/esm/tools/mongodb/update/renameCollection.js.map +1 -0
  561. package/dist/esm/tools/mongodb/update/updateMany.d.ts +18 -0
  562. package/dist/esm/tools/mongodb/update/updateMany.d.ts.map +1 -0
  563. package/dist/esm/tools/mongodb/update/updateMany.js +74 -0
  564. package/dist/esm/tools/mongodb/update/updateMany.js.map +1 -0
  565. package/dist/esm/tools/tool.d.ts +49 -0
  566. package/dist/esm/tools/tool.d.ts.map +1 -0
  567. package/dist/esm/tools/tool.js +196 -0
  568. package/dist/esm/tools/tool.js.map +1 -0
  569. package/dist/esm/transports/base.d.ts +17 -0
  570. package/dist/esm/transports/base.d.ts.map +1 -0
  571. package/dist/esm/transports/base.js +70 -0
  572. package/dist/esm/transports/base.js.map +1 -0
  573. package/dist/esm/transports/stdio.d.ts +20 -0
  574. package/dist/esm/transports/stdio.d.ts.map +1 -0
  575. package/dist/esm/transports/stdio.js +64 -0
  576. package/dist/esm/transports/stdio.js.map +1 -0
  577. package/dist/esm/transports/streamableHttp.d.ts +14 -0
  578. package/dist/esm/transports/streamableHttp.d.ts.map +1 -0
  579. package/dist/esm/transports/streamableHttp.js +214 -0
  580. package/dist/esm/transports/streamableHttp.js.map +1 -0
  581. package/dist/index.js +1 -0
  582. package/package.json +126 -0
@@ -0,0 +1,267 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.NullLogger = exports.CompositeLogger = exports.McpLogger = exports.DiskLogger = exports.ConsoleLogger = exports.LoggerBase = exports.LogId = void 0;
7
+ const promises_1 = __importDefault(require("fs/promises"));
8
+ const mongodb_log_writer_1 = require("mongodb-log-writer");
9
+ const mongodb_redact_1 = __importDefault(require("mongodb-redact"));
10
+ const events_1 = require("events");
11
+ exports.LogId = {
12
+ serverStartFailure: (0, mongodb_log_writer_1.mongoLogId)(1000001),
13
+ serverInitialized: (0, mongodb_log_writer_1.mongoLogId)(1000002),
14
+ serverCloseRequested: (0, mongodb_log_writer_1.mongoLogId)(1000003),
15
+ serverClosed: (0, mongodb_log_writer_1.mongoLogId)(1000004),
16
+ serverCloseFailure: (0, mongodb_log_writer_1.mongoLogId)(1000005),
17
+ serverDuplicateLoggers: (0, mongodb_log_writer_1.mongoLogId)(1000006),
18
+ serverMcpClientSet: (0, mongodb_log_writer_1.mongoLogId)(1000007),
19
+ atlasCheckCredentials: (0, mongodb_log_writer_1.mongoLogId)(1001001),
20
+ atlasDeleteDatabaseUserFailure: (0, mongodb_log_writer_1.mongoLogId)(1001002),
21
+ atlasConnectFailure: (0, mongodb_log_writer_1.mongoLogId)(1001003),
22
+ atlasInspectFailure: (0, mongodb_log_writer_1.mongoLogId)(1001004),
23
+ atlasConnectAttempt: (0, mongodb_log_writer_1.mongoLogId)(1001005),
24
+ atlasConnectSucceeded: (0, mongodb_log_writer_1.mongoLogId)(1001006),
25
+ atlasApiRevokeFailure: (0, mongodb_log_writer_1.mongoLogId)(1001007),
26
+ atlasIpAccessListAdded: (0, mongodb_log_writer_1.mongoLogId)(1001008),
27
+ atlasIpAccessListAddFailure: (0, mongodb_log_writer_1.mongoLogId)(1001009),
28
+ telemetryDisabled: (0, mongodb_log_writer_1.mongoLogId)(1002001),
29
+ telemetryEmitFailure: (0, mongodb_log_writer_1.mongoLogId)(1002002),
30
+ telemetryEmitStart: (0, mongodb_log_writer_1.mongoLogId)(1002003),
31
+ telemetryEmitSuccess: (0, mongodb_log_writer_1.mongoLogId)(1002004),
32
+ telemetryMetadataError: (0, mongodb_log_writer_1.mongoLogId)(1002005),
33
+ deviceIdResolutionError: (0, mongodb_log_writer_1.mongoLogId)(1002006),
34
+ deviceIdTimeout: (0, mongodb_log_writer_1.mongoLogId)(1002007),
35
+ toolExecute: (0, mongodb_log_writer_1.mongoLogId)(1003001),
36
+ toolExecuteFailure: (0, mongodb_log_writer_1.mongoLogId)(1003002),
37
+ toolDisabled: (0, mongodb_log_writer_1.mongoLogId)(1003003),
38
+ mongodbConnectFailure: (0, mongodb_log_writer_1.mongoLogId)(1004001),
39
+ mongodbDisconnectFailure: (0, mongodb_log_writer_1.mongoLogId)(1004002),
40
+ toolUpdateFailure: (0, mongodb_log_writer_1.mongoLogId)(1005001),
41
+ resourceUpdateFailure: (0, mongodb_log_writer_1.mongoLogId)(1005002),
42
+ streamableHttpTransportStarted: (0, mongodb_log_writer_1.mongoLogId)(1006001),
43
+ streamableHttpTransportSessionCloseFailure: (0, mongodb_log_writer_1.mongoLogId)(1006002),
44
+ streamableHttpTransportSessionCloseNotification: (0, mongodb_log_writer_1.mongoLogId)(1006003),
45
+ streamableHttpTransportSessionCloseNotificationFailure: (0, mongodb_log_writer_1.mongoLogId)(1006004),
46
+ streamableHttpTransportRequestFailure: (0, mongodb_log_writer_1.mongoLogId)(1006005),
47
+ streamableHttpTransportCloseFailure: (0, mongodb_log_writer_1.mongoLogId)(1006006),
48
+ streamableHttpTransportKeepAliveFailure: (0, mongodb_log_writer_1.mongoLogId)(1006007),
49
+ streamableHttpTransportKeepAlive: (0, mongodb_log_writer_1.mongoLogId)(1006008),
50
+ exportCleanupError: (0, mongodb_log_writer_1.mongoLogId)(1007001),
51
+ exportCreationError: (0, mongodb_log_writer_1.mongoLogId)(1007002),
52
+ exportCreationCleanupError: (0, mongodb_log_writer_1.mongoLogId)(1007003),
53
+ exportReadError: (0, mongodb_log_writer_1.mongoLogId)(1007004),
54
+ exportCloseError: (0, mongodb_log_writer_1.mongoLogId)(1007005),
55
+ exportedDataListError: (0, mongodb_log_writer_1.mongoLogId)(1007006),
56
+ exportedDataAutoCompleteError: (0, mongodb_log_writer_1.mongoLogId)(1007007),
57
+ exportLockError: (0, mongodb_log_writer_1.mongoLogId)(1007008),
58
+ oidcFlow: (0, mongodb_log_writer_1.mongoLogId)(1008001),
59
+ };
60
+ class LoggerBase extends events_1.EventEmitter {
61
+ constructor() {
62
+ super(...arguments);
63
+ this.defaultUnredactedLogger = "mcp";
64
+ }
65
+ log(level, payload) {
66
+ // If no explicit value is supplied for unredacted loggers, default to "mcp"
67
+ const noRedaction = payload.noRedaction !== undefined ? payload.noRedaction : this.defaultUnredactedLogger;
68
+ this.logCore(level, {
69
+ ...payload,
70
+ message: this.redactIfNecessary(payload.message, noRedaction),
71
+ });
72
+ }
73
+ redactIfNecessary(message, noRedaction) {
74
+ if (typeof noRedaction === "boolean" && noRedaction) {
75
+ // If the consumer has supplied noRedaction: true, we don't redact the log message
76
+ // regardless of the logger type
77
+ return message;
78
+ }
79
+ if (typeof noRedaction === "string" && noRedaction === this.type) {
80
+ // If the consumer has supplied noRedaction: logger-type, we skip redacting if
81
+ // our logger type is the same as what the consumer requested
82
+ return message;
83
+ }
84
+ if (typeof noRedaction === "object" &&
85
+ Array.isArray(noRedaction) &&
86
+ this.type &&
87
+ noRedaction.indexOf(this.type) !== -1) {
88
+ // If the consumer has supplied noRedaction: array, we skip redacting if our logger
89
+ // type is included in that array
90
+ return message;
91
+ }
92
+ return (0, mongodb_redact_1.default)(message);
93
+ }
94
+ info(payload) {
95
+ this.log("info", payload);
96
+ }
97
+ error(payload) {
98
+ this.log("error", payload);
99
+ }
100
+ debug(payload) {
101
+ this.log("debug", payload);
102
+ }
103
+ notice(payload) {
104
+ this.log("notice", payload);
105
+ }
106
+ warning(payload) {
107
+ this.log("warning", payload);
108
+ }
109
+ critical(payload) {
110
+ this.log("critical", payload);
111
+ }
112
+ alert(payload) {
113
+ this.log("alert", payload);
114
+ }
115
+ emergency(payload) {
116
+ this.log("emergency", payload);
117
+ }
118
+ mapToMongoDBLogLevel(level) {
119
+ switch (level) {
120
+ case "info":
121
+ return "info";
122
+ case "warning":
123
+ return "warn";
124
+ case "error":
125
+ return "error";
126
+ case "notice":
127
+ case "debug":
128
+ return "debug";
129
+ case "critical":
130
+ case "alert":
131
+ case "emergency":
132
+ return "fatal";
133
+ default:
134
+ return "info";
135
+ }
136
+ }
137
+ }
138
+ exports.LoggerBase = LoggerBase;
139
+ class ConsoleLogger extends LoggerBase {
140
+ constructor() {
141
+ super(...arguments);
142
+ this.type = "console";
143
+ }
144
+ logCore(level, payload) {
145
+ const { id, context, message } = payload;
146
+ console.error(`[${level.toUpperCase()}] ${id.__value} - ${context}: ${message} (${process.pid}${this.serializeAttributes(payload.attributes)})`);
147
+ }
148
+ serializeAttributes(attributes) {
149
+ if (!attributes || Object.keys(attributes).length === 0) {
150
+ return "";
151
+ }
152
+ return `, ${Object.entries(attributes)
153
+ .map(([key, value]) => `${key}=${value}`)
154
+ .join(", ")}`;
155
+ }
156
+ }
157
+ exports.ConsoleLogger = ConsoleLogger;
158
+ class DiskLogger extends LoggerBase {
159
+ constructor(logPath, onError) {
160
+ super();
161
+ this.bufferedMessages = [];
162
+ this.type = "disk";
163
+ void this.initialize(logPath, onError);
164
+ }
165
+ async initialize(logPath, onError) {
166
+ try {
167
+ await promises_1.default.mkdir(logPath, { recursive: true });
168
+ const manager = new mongodb_log_writer_1.MongoLogManager({
169
+ directory: logPath,
170
+ retentionDays: 30,
171
+ onwarn: console.warn,
172
+ onerror: console.error,
173
+ gzip: false,
174
+ retentionGB: 1,
175
+ });
176
+ await manager.cleanupOldLogFiles();
177
+ this.logWriter = await manager.createLogWriter();
178
+ for (const message of this.bufferedMessages) {
179
+ this.logCore(message.level, message.payload);
180
+ }
181
+ this.bufferedMessages = [];
182
+ this.emit("initialized");
183
+ }
184
+ catch (error) {
185
+ onError(error);
186
+ }
187
+ }
188
+ logCore(level, payload) {
189
+ if (!this.logWriter) {
190
+ // If the log writer is not initialized, buffer the message
191
+ this.bufferedMessages.push({ level, payload });
192
+ return;
193
+ }
194
+ const { id, context, message } = payload;
195
+ const mongoDBLevel = this.mapToMongoDBLogLevel(level);
196
+ this.logWriter[mongoDBLevel]("MONGODB-MCP", id, context, message, payload.attributes);
197
+ }
198
+ }
199
+ exports.DiskLogger = DiskLogger;
200
+ class McpLogger extends LoggerBase {
201
+ constructor(server) {
202
+ super();
203
+ this.server = server;
204
+ this.type = "mcp";
205
+ }
206
+ logCore(level, payload) {
207
+ // Only log if the server is connected
208
+ if (!this.server.mcpServer.isConnected()) {
209
+ return;
210
+ }
211
+ const minimumLevel = McpLogger.LOG_LEVELS.indexOf(this.server.mcpLogLevel);
212
+ const currentLevel = McpLogger.LOG_LEVELS.indexOf(level);
213
+ if (minimumLevel > currentLevel) {
214
+ // Don't log if the requested level is lower than the minimum level
215
+ return;
216
+ }
217
+ void this.server.mcpServer.server.sendLoggingMessage({
218
+ level,
219
+ data: `[${payload.context}]: ${payload.message}`,
220
+ });
221
+ }
222
+ }
223
+ exports.McpLogger = McpLogger;
224
+ McpLogger.LOG_LEVELS = [
225
+ "debug",
226
+ "info",
227
+ "notice",
228
+ "warning",
229
+ "error",
230
+ "critical",
231
+ "alert",
232
+ "emergency",
233
+ ];
234
+ class CompositeLogger extends LoggerBase {
235
+ constructor(...loggers) {
236
+ super();
237
+ this.loggers = [];
238
+ this.attributes = {};
239
+ this.loggers = loggers;
240
+ }
241
+ addLogger(logger) {
242
+ this.loggers.push(logger);
243
+ }
244
+ log(level, payload) {
245
+ // Override the public method to avoid the base logger redacting the message payload
246
+ for (const logger of this.loggers) {
247
+ const attributes = Object.keys(this.attributes).length > 0 || payload.attributes
248
+ ? { ...this.attributes, ...payload.attributes }
249
+ : undefined;
250
+ logger.log(level, { ...payload, attributes });
251
+ }
252
+ }
253
+ logCore() {
254
+ throw new Error("logCore should never be invoked on CompositeLogger");
255
+ }
256
+ setAttribute(key, value) {
257
+ this.attributes[key] = value;
258
+ }
259
+ }
260
+ exports.CompositeLogger = CompositeLogger;
261
+ class NullLogger extends LoggerBase {
262
+ logCore() {
263
+ // No-op logger, does not log anything
264
+ }
265
+ }
266
+ exports.NullLogger = NullLogger;
267
+ //# sourceMappingURL=logger.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"logger.js","sourceRoot":"","sources":["../../../src/common/logger.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,6 @@
1
+ export interface ManagedTimeout {
2
+ cancel: () => void;
3
+ restart: () => void;
4
+ }
5
+ export declare function setManagedTimeout(callback: () => Promise<void> | void, timeoutMS: number): ManagedTimeout;
6
+ //# sourceMappingURL=managedTimeout.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"managedTimeout.d.ts","sourceRoot":"","sources":["../../../src/common/managedTimeout.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,cAAc;IAC3B,MAAM,EAAE,MAAM,IAAI,CAAC;IACnB,OAAO,EAAE,MAAM,IAAI,CAAC;CACvB;AAED,wBAAgB,iBAAiB,CAAC,QAAQ,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,EAAE,SAAS,EAAE,MAAM,GAAG,cAAc,CAqBzG"}
@@ -0,0 +1,23 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.setManagedTimeout = setManagedTimeout;
4
+ function setManagedTimeout(callback, timeoutMS) {
5
+ let timeoutId = setTimeout(() => {
6
+ void callback();
7
+ }, timeoutMS);
8
+ function cancel() {
9
+ clearTimeout(timeoutId);
10
+ timeoutId = undefined;
11
+ }
12
+ function restart() {
13
+ cancel();
14
+ timeoutId = setTimeout(() => {
15
+ void callback();
16
+ }, timeoutMS);
17
+ }
18
+ return {
19
+ cancel,
20
+ restart,
21
+ };
22
+ }
23
+ //# sourceMappingURL=managedTimeout.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"managedTimeout.js","sourceRoot":"","sources":["../../../src/common/managedTimeout.ts"],"names":[],"mappings":";;AAKA,8CAqBC;AArBD,SAAgB,iBAAiB,CAAC,QAAoC,EAAE,SAAiB;IACrF,IAAI,SAAS,GAA+B,UAAU,CAAC,GAAG,EAAE;QACxD,KAAK,QAAQ,EAAE,CAAC;IACpB,CAAC,EAAE,SAAS,CAAC,CAAC;IAEd,SAAS,MAAM;QACX,YAAY,CAAC,SAAS,CAAC,CAAC;QACxB,SAAS,GAAG,SAAS,CAAC;IAC1B,CAAC;IAED,SAAS,OAAO;QACZ,MAAM,EAAE,CAAC;QACT,SAAS,GAAG,UAAU,CAAC,GAAG,EAAE;YACxB,KAAK,QAAQ,EAAE,CAAC;QACpB,CAAC,EAAE,SAAS,CAAC,CAAC;IAClB,CAAC;IAED,OAAO;QACH,MAAM;QACN,OAAO;KACV,CAAC;AACN,CAAC"}
@@ -0,0 +1,5 @@
1
+ export declare const packageInfo: {
2
+ version: string;
3
+ mcpServerName: string;
4
+ };
5
+ //# sourceMappingURL=packageInfo.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"packageInfo.d.ts","sourceRoot":"","sources":["../../../src/common/packageInfo.ts"],"names":[],"mappings":"AACA,eAAO,MAAM,WAAW;;;CAGvB,CAAC"}
@@ -0,0 +1,9 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.packageInfo = void 0;
4
+ // This file was generated by scripts/updatePackageVersion.ts - Do not edit it manually.
5
+ exports.packageInfo = {
6
+ version: "0.3.0",
7
+ mcpServerName: "MongoDB MCP Server",
8
+ };
9
+ //# sourceMappingURL=packageInfo.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"packageInfo.js","sourceRoot":"","sources":["../../../src/common/packageInfo.ts"],"names":[],"mappings":";;;AAAA,wFAAwF;AAC3E,QAAA,WAAW,GAAG;IACvB,OAAO,EAAE,OAAO;IAChB,aAAa,EAAE,oBAAoB;CACtC,CAAC"}
@@ -0,0 +1,42 @@
1
+ import { ApiClient } from "./atlas/apiClient.js";
2
+ import type { Implementation } from "@modelcontextprotocol/sdk/types.js";
3
+ import type { CompositeLogger } from "./logger.js";
4
+ import EventEmitter from "events";
5
+ import type { AtlasClusterConnectionInfo, ConnectionManager, ConnectionSettings, ConnectionStateErrored } from "./connectionManager.js";
6
+ import type { NodeDriverServiceProvider } from "@mongosh/service-provider-node-driver";
7
+ import type { ExportsManager } from "./exportsManager.js";
8
+ export interface SessionOptions {
9
+ apiBaseUrl: string;
10
+ apiClientId?: string;
11
+ apiClientSecret?: string;
12
+ logger: CompositeLogger;
13
+ exportsManager: ExportsManager;
14
+ connectionManager: ConnectionManager;
15
+ }
16
+ export type SessionEvents = {
17
+ connect: [];
18
+ close: [];
19
+ disconnect: [];
20
+ "connection-error": [ConnectionStateErrored];
21
+ };
22
+ export declare class Session extends EventEmitter<SessionEvents> {
23
+ readonly sessionId: string;
24
+ readonly exportsManager: ExportsManager;
25
+ readonly connectionManager: ConnectionManager;
26
+ readonly apiClient: ApiClient;
27
+ mcpClient?: {
28
+ name?: string;
29
+ version?: string;
30
+ title?: string;
31
+ };
32
+ logger: CompositeLogger;
33
+ constructor({ apiBaseUrl, apiClientId, apiClientSecret, logger, connectionManager, exportsManager, }: SessionOptions);
34
+ setMcpClient(mcpClient: Implementation | undefined): void;
35
+ disconnect(): Promise<void>;
36
+ close(): Promise<void>;
37
+ connectToMongoDB(settings: ConnectionSettings): Promise<void>;
38
+ get isConnectedToMongoDB(): boolean;
39
+ get serviceProvider(): NodeDriverServiceProvider;
40
+ get connectedAtlasCluster(): AtlasClusterConnectionInfo | undefined;
41
+ }
42
+ //# sourceMappingURL=session.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"session.d.ts","sourceRoot":"","sources":["../../../src/common/session.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AACjD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,oCAAoC,CAAC;AACzE,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAEnD,OAAO,YAAY,MAAM,QAAQ,CAAC;AAClC,OAAO,KAAK,EACR,0BAA0B,EAC1B,iBAAiB,EACjB,kBAAkB,EAElB,sBAAsB,EACzB,MAAM,wBAAwB,CAAC;AAChC,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,uCAAuC,CAAC;AAEvF,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAE1D,MAAM,WAAW,cAAc;IAC3B,UAAU,EAAE,MAAM,CAAC;IACnB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,MAAM,EAAE,eAAe,CAAC;IACxB,cAAc,EAAE,cAAc,CAAC;IAC/B,iBAAiB,EAAE,iBAAiB,CAAC;CACxC;AAED,MAAM,MAAM,aAAa,GAAG;IACxB,OAAO,EAAE,EAAE,CAAC;IACZ,KAAK,EAAE,EAAE,CAAC;IACV,UAAU,EAAE,EAAE,CAAC;IACf,kBAAkB,EAAE,CAAC,sBAAsB,CAAC,CAAC;CAChD,CAAC;AAEF,qBAAa,OAAQ,SAAQ,YAAY,CAAC,aAAa,CAAC;IACpD,QAAQ,CAAC,SAAS,EAAE,MAAM,CAA6B;IACvD,QAAQ,CAAC,cAAc,EAAE,cAAc,CAAC;IACxC,QAAQ,CAAC,iBAAiB,EAAE,iBAAiB,CAAC;IAC9C,QAAQ,CAAC,SAAS,EAAE,SAAS,CAAC;IAC9B,SAAS,CAAC,EAAE;QACR,IAAI,CAAC,EAAE,MAAM,CAAC;QACd,OAAO,CAAC,EAAE,MAAM,CAAC;QACjB,KAAK,CAAC,EAAE,MAAM,CAAC;KAClB,CAAC;IAEK,MAAM,EAAE,eAAe,CAAC;gBAEnB,EACR,UAAU,EACV,WAAW,EACX,eAAe,EACf,MAAM,EACN,iBAAiB,EACjB,cAAc,GACjB,EAAE,cAAc;IAqBjB,YAAY,CAAC,SAAS,EAAE,cAAc,GAAG,SAAS,GAAG,IAAI;IAoBnD,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC;IAoC3B,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAOtB,gBAAgB,CAAC,QAAQ,EAAE,kBAAkB,GAAG,OAAO,CAAC,IAAI,CAAC;IAInE,IAAI,oBAAoB,IAAI,OAAO,CAElC;IAED,IAAI,eAAe,IAAI,yBAAyB,CAO/C;IAED,IAAI,qBAAqB,IAAI,0BAA0B,GAAG,SAAS,CAElE;CACJ"}
@@ -0,0 +1,106 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.Session = void 0;
7
+ const bson_1 = require("bson");
8
+ const apiClient_js_1 = require("./atlas/apiClient.js");
9
+ const logger_js_1 = require("./logger.js");
10
+ const events_1 = __importDefault(require("events"));
11
+ const errors_js_1 = require("./errors.js");
12
+ class Session extends events_1.default {
13
+ constructor({ apiBaseUrl, apiClientId, apiClientSecret, logger, connectionManager, exportsManager, }) {
14
+ super();
15
+ this.sessionId = new bson_1.ObjectId().toString();
16
+ this.logger = logger;
17
+ const credentials = apiClientId && apiClientSecret
18
+ ? {
19
+ clientId: apiClientId,
20
+ clientSecret: apiClientSecret,
21
+ }
22
+ : undefined;
23
+ this.apiClient = new apiClient_js_1.ApiClient({ baseUrl: apiBaseUrl, credentials }, logger);
24
+ this.exportsManager = exportsManager;
25
+ this.connectionManager = connectionManager;
26
+ this.connectionManager.events.on("connection-success", () => this.emit("connect"));
27
+ this.connectionManager.events.on("connection-time-out", (error) => this.emit("connection-error", error));
28
+ this.connectionManager.events.on("connection-close", () => this.emit("disconnect"));
29
+ this.connectionManager.events.on("connection-error", (error) => this.emit("connection-error", error));
30
+ }
31
+ setMcpClient(mcpClient) {
32
+ if (!mcpClient) {
33
+ this.connectionManager.setClientName("unknown");
34
+ this.logger.debug({
35
+ id: logger_js_1.LogId.serverMcpClientSet,
36
+ context: "session",
37
+ message: "MCP client info not found",
38
+ });
39
+ }
40
+ this.mcpClient = {
41
+ name: mcpClient?.name || "unknown",
42
+ version: mcpClient?.version || "unknown",
43
+ title: mcpClient?.title || "unknown",
44
+ };
45
+ // Set the client name on the connection manager for appName generation
46
+ this.connectionManager.setClientName(this.mcpClient.name || "unknown");
47
+ }
48
+ async disconnect() {
49
+ const atlasCluster = this.connectedAtlasCluster;
50
+ try {
51
+ await this.connectionManager.disconnect();
52
+ }
53
+ catch (err) {
54
+ const error = err instanceof Error ? err : new Error(String(err));
55
+ this.logger.error({
56
+ id: logger_js_1.LogId.mongodbDisconnectFailure,
57
+ context: "session",
58
+ message: `Error closing service provider: ${error.message}`,
59
+ });
60
+ }
61
+ if (atlasCluster?.username && atlasCluster?.projectId) {
62
+ void this.apiClient
63
+ .deleteDatabaseUser({
64
+ params: {
65
+ path: {
66
+ groupId: atlasCluster.projectId,
67
+ username: atlasCluster.username,
68
+ databaseName: "admin",
69
+ },
70
+ },
71
+ })
72
+ .catch((err) => {
73
+ const error = err instanceof Error ? err : new Error(String(err));
74
+ this.logger.error({
75
+ id: logger_js_1.LogId.atlasDeleteDatabaseUserFailure,
76
+ context: "session",
77
+ message: `Error deleting previous database user: ${error.message}`,
78
+ });
79
+ });
80
+ }
81
+ }
82
+ async close() {
83
+ await this.disconnect();
84
+ await this.apiClient.close();
85
+ await this.exportsManager.close();
86
+ this.emit("close");
87
+ }
88
+ async connectToMongoDB(settings) {
89
+ await this.connectionManager.connect({ ...settings });
90
+ }
91
+ get isConnectedToMongoDB() {
92
+ return this.connectionManager.currentConnectionState.tag === "connected";
93
+ }
94
+ get serviceProvider() {
95
+ if (this.isConnectedToMongoDB) {
96
+ const state = this.connectionManager.currentConnectionState;
97
+ return state.serviceProvider;
98
+ }
99
+ throw new errors_js_1.MongoDBError(errors_js_1.ErrorCodes.NotConnectedToMongoDB, "Not connected to MongoDB");
100
+ }
101
+ get connectedAtlasCluster() {
102
+ return this.connectionManager.currentConnectionState.connectedAtlasCluster;
103
+ }
104
+ }
105
+ exports.Session = Session;
106
+ //# sourceMappingURL=session.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"session.js","sourceRoot":"","sources":["../../../src/common/session.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,16 @@
1
+ import type { StreamableHTTPServerTransport } from "@modelcontextprotocol/sdk/server/streamableHttp.js";
2
+ import type { LoggerBase } from "./logger.js";
3
+ export declare class SessionStore {
4
+ private readonly idleTimeoutMS;
5
+ private readonly notificationTimeoutMS;
6
+ private readonly logger;
7
+ private sessions;
8
+ constructor(idleTimeoutMS: number, notificationTimeoutMS: number, logger: LoggerBase);
9
+ getSession(sessionId: string): StreamableHTTPServerTransport | undefined;
10
+ private resetTimeout;
11
+ private sendNotification;
12
+ setSession(sessionId: string, transport: StreamableHTTPServerTransport, logger: LoggerBase): void;
13
+ closeSession(sessionId: string, closeTransport?: boolean): Promise<void>;
14
+ closeAllSessions(): Promise<void>;
15
+ }
16
+ //# sourceMappingURL=sessionStore.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sessionStore.d.ts","sourceRoot":"","sources":["../../../src/common/sessionStore.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,6BAA6B,EAAE,MAAM,oDAAoD,CAAC;AACxG,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAK9C,qBAAa,YAAY;IAWjB,OAAO,CAAC,QAAQ,CAAC,aAAa;IAC9B,OAAO,CAAC,QAAQ,CAAC,qBAAqB;IACtC,OAAO,CAAC,QAAQ,CAAC,MAAM;IAZ3B,OAAO,CAAC,QAAQ,CAOT;gBAGc,aAAa,EAAE,MAAM,EACrB,qBAAqB,EAAE,MAAM,EAC7B,MAAM,EAAE,UAAU;IAavC,UAAU,CAAC,SAAS,EAAE,MAAM,GAAG,6BAA6B,GAAG,SAAS;IAKxE,OAAO,CAAC,YAAY;IAWpB,OAAO,CAAC,gBAAgB;IAiBxB,UAAU,CAAC,SAAS,EAAE,MAAM,EAAE,SAAS,EAAE,6BAA6B,EAAE,MAAM,EAAE,UAAU,GAAG,IAAI;IA4B3F,YAAY,CAAC,SAAS,EAAE,MAAM,EAAE,cAAc,GAAE,OAAc,GAAG,OAAO,CAAC,IAAI,CAAC;IAqB9E,gBAAgB,IAAI,OAAO,CAAC,IAAI,CAAC;CAG1C"}
@@ -0,0 +1,99 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.SessionStore = void 0;
4
+ const logger_js_1 = require("./logger.js");
5
+ const managedTimeout_js_1 = require("./managedTimeout.js");
6
+ class SessionStore {
7
+ constructor(idleTimeoutMS, notificationTimeoutMS, logger) {
8
+ this.idleTimeoutMS = idleTimeoutMS;
9
+ this.notificationTimeoutMS = notificationTimeoutMS;
10
+ this.logger = logger;
11
+ this.sessions = {};
12
+ if (idleTimeoutMS <= 0) {
13
+ throw new Error("idleTimeoutMS must be greater than 0");
14
+ }
15
+ if (notificationTimeoutMS <= 0) {
16
+ throw new Error("notificationTimeoutMS must be greater than 0");
17
+ }
18
+ if (idleTimeoutMS <= notificationTimeoutMS) {
19
+ throw new Error("idleTimeoutMS must be greater than notificationTimeoutMS");
20
+ }
21
+ }
22
+ getSession(sessionId) {
23
+ this.resetTimeout(sessionId);
24
+ return this.sessions[sessionId]?.transport;
25
+ }
26
+ resetTimeout(sessionId) {
27
+ const session = this.sessions[sessionId];
28
+ if (!session) {
29
+ return;
30
+ }
31
+ session.abortTimeout.restart();
32
+ session.notificationTimeout.restart();
33
+ }
34
+ sendNotification(sessionId) {
35
+ const session = this.sessions[sessionId];
36
+ if (!session) {
37
+ this.logger.warning({
38
+ id: logger_js_1.LogId.streamableHttpTransportSessionCloseNotificationFailure,
39
+ context: "sessionStore",
40
+ message: `session ${sessionId} not found, no notification delivered`,
41
+ });
42
+ return;
43
+ }
44
+ session.logger.info({
45
+ id: logger_js_1.LogId.streamableHttpTransportSessionCloseNotification,
46
+ context: "sessionStore",
47
+ message: "Session is about to be closed due to inactivity",
48
+ });
49
+ }
50
+ setSession(sessionId, transport, logger) {
51
+ const session = this.sessions[sessionId];
52
+ if (session) {
53
+ throw new Error(`Session ${sessionId} already exists`);
54
+ }
55
+ const abortTimeout = (0, managedTimeout_js_1.setManagedTimeout)(async () => {
56
+ if (this.sessions[sessionId]) {
57
+ this.sessions[sessionId].logger.info({
58
+ id: logger_js_1.LogId.streamableHttpTransportSessionCloseNotification,
59
+ context: "sessionStore",
60
+ message: "Session closed due to inactivity",
61
+ });
62
+ await this.closeSession(sessionId);
63
+ }
64
+ }, this.idleTimeoutMS);
65
+ const notificationTimeout = (0, managedTimeout_js_1.setManagedTimeout)(() => this.sendNotification(sessionId), this.notificationTimeoutMS);
66
+ this.sessions[sessionId] = {
67
+ transport,
68
+ abortTimeout,
69
+ notificationTimeout,
70
+ logger,
71
+ };
72
+ }
73
+ async closeSession(sessionId, closeTransport = true) {
74
+ const session = this.sessions[sessionId];
75
+ if (!session) {
76
+ throw new Error(`Session ${sessionId} not found`);
77
+ }
78
+ session.abortTimeout.cancel();
79
+ session.notificationTimeout.cancel();
80
+ if (closeTransport) {
81
+ try {
82
+ await session.transport.close();
83
+ }
84
+ catch (error) {
85
+ this.logger.error({
86
+ id: logger_js_1.LogId.streamableHttpTransportSessionCloseFailure,
87
+ context: "streamableHttpTransport",
88
+ message: `Error closing transport ${sessionId}: ${error instanceof Error ? error.message : String(error)}`,
89
+ });
90
+ }
91
+ }
92
+ delete this.sessions[sessionId];
93
+ }
94
+ async closeAllSessions() {
95
+ await Promise.all(Object.keys(this.sessions).map((sessionId) => this.closeSession(sessionId)));
96
+ }
97
+ }
98
+ exports.SessionStore = SessionStore;
99
+ //# sourceMappingURL=sessionStore.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sessionStore.js","sourceRoot":"","sources":["../../../src/common/sessionStore.ts"],"names":[],"mappings":"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"}