mongodb-mcp-server 1.15.0-alpha.1 → 1.15.0-alpha.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (301) hide show
  1. package/dist/cjs/common/connectionErrorHandler.d.ts +4 -3
  2. package/dist/cjs/common/connectionErrorHandler.d.ts.map +1 -1
  3. package/dist/cjs/common/connectionErrorHandler.js +15 -7
  4. package/dist/cjs/common/connectionErrorHandler.js.map +1 -1
  5. package/dist/cjs/common/connectionRegistry.d.ts +9 -52
  6. package/dist/cjs/common/connectionRegistry.d.ts.map +1 -1
  7. package/dist/cjs/common/connectionRegistry.js +2 -204
  8. package/dist/cjs/common/connectionRegistry.js.map +1 -1
  9. package/dist/cjs/common/connectionStore.d.ts +59 -0
  10. package/dist/cjs/common/connectionStore.d.ts.map +1 -0
  11. package/dist/cjs/common/connectionStore.js +220 -0
  12. package/dist/cjs/common/connectionStore.js.map +1 -0
  13. package/dist/cjs/common/connectionSummary.d.ts +20 -11
  14. package/dist/cjs/common/connectionSummary.d.ts.map +1 -1
  15. package/dist/cjs/common/connectionSummary.js +14 -2
  16. package/dist/cjs/common/connectionSummary.js.map +1 -1
  17. package/dist/cjs/common/packageInfo.js +1 -1
  18. package/dist/cjs/common/session.d.ts +2 -10
  19. package/dist/cjs/common/session.d.ts.map +1 -1
  20. package/dist/cjs/common/session.js +5 -8
  21. package/dist/cjs/common/session.js.map +1 -1
  22. package/dist/cjs/lib.d.ts +2 -1
  23. package/dist/cjs/lib.d.ts.map +1 -1
  24. package/dist/cjs/lib.js +3 -2
  25. package/dist/cjs/lib.js.map +1 -1
  26. package/dist/cjs/resources/common/config.d.ts +1 -0
  27. package/dist/cjs/resources/common/config.d.ts.map +1 -1
  28. package/dist/cjs/resources/common/config.js +10 -1
  29. package/dist/cjs/resources/common/config.js.map +1 -1
  30. package/dist/cjs/tools/atlas/connect/connectCluster.d.ts.map +1 -1
  31. package/dist/cjs/tools/atlas/connect/connectCluster.js +49 -33
  32. package/dist/cjs/tools/atlas/connect/connectCluster.js.map +1 -1
  33. package/dist/cjs/tools/atlas/streams/discover.d.ts +1 -1
  34. package/dist/cjs/tools/atlas/update/pauseResumeCluster.d.ts +2 -2
  35. package/dist/cjs/tools/atlas/update/pauseResumeCluster.d.ts.map +1 -1
  36. package/dist/cjs/tools/atlas/update/pauseResumeCluster.js +9 -7
  37. package/dist/cjs/tools/atlas/update/pauseResumeCluster.js.map +1 -1
  38. package/dist/cjs/tools/atlas/update/upgradeCluster.d.ts.map +1 -1
  39. package/dist/cjs/tools/atlas/update/upgradeCluster.js +2 -12
  40. package/dist/cjs/tools/atlas/update/upgradeCluster.js.map +1 -1
  41. package/dist/cjs/tools/mongodb/connect/connect.d.ts.map +1 -1
  42. package/dist/cjs/tools/mongodb/connect/connect.js +6 -4
  43. package/dist/cjs/tools/mongodb/connect/connect.js.map +1 -1
  44. package/dist/cjs/tools/mongodb/connect/disconnect.d.ts.map +1 -1
  45. package/dist/cjs/tools/mongodb/connect/disconnect.js +3 -1
  46. package/dist/cjs/tools/mongodb/connect/disconnect.js.map +1 -1
  47. package/dist/cjs/tools/mongodb/connect/listConnections.d.ts.map +1 -1
  48. package/dist/cjs/tools/mongodb/connect/listConnections.js +8 -24
  49. package/dist/cjs/tools/mongodb/connect/listConnections.js.map +1 -1
  50. package/dist/cjs/tools/mongodb/create/createCollection.d.ts +1 -1
  51. package/dist/cjs/tools/mongodb/create/createCollection.d.ts.map +1 -1
  52. package/dist/cjs/tools/mongodb/create/createCollection.js +2 -3
  53. package/dist/cjs/tools/mongodb/create/createCollection.js.map +1 -1
  54. package/dist/cjs/tools/mongodb/create/createIndex.d.ts +1 -1
  55. package/dist/cjs/tools/mongodb/create/createIndex.d.ts.map +1 -1
  56. package/dist/cjs/tools/mongodb/create/createIndex.js +4 -5
  57. package/dist/cjs/tools/mongodb/create/createIndex.js.map +1 -1
  58. package/dist/cjs/tools/mongodb/create/insertMany.d.ts +1 -1
  59. package/dist/cjs/tools/mongodb/create/insertMany.d.ts.map +1 -1
  60. package/dist/cjs/tools/mongodb/create/insertMany.js +2 -3
  61. package/dist/cjs/tools/mongodb/create/insertMany.js.map +1 -1
  62. package/dist/cjs/tools/mongodb/delete/deleteMany.d.ts +1 -1
  63. package/dist/cjs/tools/mongodb/delete/deleteMany.d.ts.map +1 -1
  64. package/dist/cjs/tools/mongodb/delete/deleteMany.js +2 -3
  65. package/dist/cjs/tools/mongodb/delete/deleteMany.js.map +1 -1
  66. package/dist/cjs/tools/mongodb/delete/dropCollection.d.ts +1 -1
  67. package/dist/cjs/tools/mongodb/delete/dropCollection.d.ts.map +1 -1
  68. package/dist/cjs/tools/mongodb/delete/dropCollection.js +2 -3
  69. package/dist/cjs/tools/mongodb/delete/dropCollection.js.map +1 -1
  70. package/dist/cjs/tools/mongodb/delete/dropDatabase.d.ts +1 -1
  71. package/dist/cjs/tools/mongodb/delete/dropDatabase.d.ts.map +1 -1
  72. package/dist/cjs/tools/mongodb/delete/dropDatabase.js +2 -3
  73. package/dist/cjs/tools/mongodb/delete/dropDatabase.js.map +1 -1
  74. package/dist/cjs/tools/mongodb/delete/dropIndex.d.ts.map +1 -1
  75. package/dist/cjs/tools/mongodb/delete/dropIndex.js +3 -4
  76. package/dist/cjs/tools/mongodb/delete/dropIndex.js.map +1 -1
  77. package/dist/cjs/tools/mongodb/metadata/collectionIndexes.d.ts +1 -1
  78. package/dist/cjs/tools/mongodb/metadata/collectionIndexes.d.ts.map +1 -1
  79. package/dist/cjs/tools/mongodb/metadata/collectionIndexes.js +3 -4
  80. package/dist/cjs/tools/mongodb/metadata/collectionIndexes.js.map +1 -1
  81. package/dist/cjs/tools/mongodb/metadata/collectionSchema.d.ts +1 -1
  82. package/dist/cjs/tools/mongodb/metadata/collectionSchema.d.ts.map +1 -1
  83. package/dist/cjs/tools/mongodb/metadata/collectionSchema.js +2 -3
  84. package/dist/cjs/tools/mongodb/metadata/collectionSchema.js.map +1 -1
  85. package/dist/cjs/tools/mongodb/metadata/collectionStorageSize.d.ts +1 -1
  86. package/dist/cjs/tools/mongodb/metadata/collectionStorageSize.d.ts.map +1 -1
  87. package/dist/cjs/tools/mongodb/metadata/collectionStorageSize.js +2 -3
  88. package/dist/cjs/tools/mongodb/metadata/collectionStorageSize.js.map +1 -1
  89. package/dist/cjs/tools/mongodb/metadata/dbStats.d.ts +1 -1
  90. package/dist/cjs/tools/mongodb/metadata/dbStats.d.ts.map +1 -1
  91. package/dist/cjs/tools/mongodb/metadata/dbStats.js +2 -3
  92. package/dist/cjs/tools/mongodb/metadata/dbStats.js.map +1 -1
  93. package/dist/cjs/tools/mongodb/metadata/explain.d.ts +1 -1
  94. package/dist/cjs/tools/mongodb/metadata/explain.d.ts.map +1 -1
  95. package/dist/cjs/tools/mongodb/metadata/explain.js +2 -3
  96. package/dist/cjs/tools/mongodb/metadata/explain.js.map +1 -1
  97. package/dist/cjs/tools/mongodb/metadata/listCollections.d.ts +1 -1
  98. package/dist/cjs/tools/mongodb/metadata/listCollections.d.ts.map +1 -1
  99. package/dist/cjs/tools/mongodb/metadata/listCollections.js +2 -3
  100. package/dist/cjs/tools/mongodb/metadata/listCollections.js.map +1 -1
  101. package/dist/cjs/tools/mongodb/metadata/listDatabases.d.ts +1 -1
  102. package/dist/cjs/tools/mongodb/metadata/listDatabases.d.ts.map +1 -1
  103. package/dist/cjs/tools/mongodb/metadata/listDatabases.js +2 -2
  104. package/dist/cjs/tools/mongodb/metadata/listDatabases.js.map +1 -1
  105. package/dist/cjs/tools/mongodb/metadata/logs.d.ts +1 -1
  106. package/dist/cjs/tools/mongodb/metadata/logs.d.ts.map +1 -1
  107. package/dist/cjs/tools/mongodb/metadata/logs.js +2 -3
  108. package/dist/cjs/tools/mongodb/metadata/logs.js.map +1 -1
  109. package/dist/cjs/tools/mongodb/mongodbTool.d.ts +5 -5
  110. package/dist/cjs/tools/mongodb/mongodbTool.d.ts.map +1 -1
  111. package/dist/cjs/tools/mongodb/mongodbTool.js +24 -14
  112. package/dist/cjs/tools/mongodb/mongodbTool.js.map +1 -1
  113. package/dist/cjs/tools/mongodb/read/aggregate.d.ts +1 -1
  114. package/dist/cjs/tools/mongodb/read/aggregate.d.ts.map +1 -1
  115. package/dist/cjs/tools/mongodb/read/aggregate.js +8 -11
  116. package/dist/cjs/tools/mongodb/read/aggregate.js.map +1 -1
  117. package/dist/cjs/tools/mongodb/read/aggregateDB.d.ts +1 -1
  118. package/dist/cjs/tools/mongodb/read/aggregateDB.d.ts.map +1 -1
  119. package/dist/cjs/tools/mongodb/read/aggregateDB.js +2 -3
  120. package/dist/cjs/tools/mongodb/read/aggregateDB.js.map +1 -1
  121. package/dist/cjs/tools/mongodb/read/count.d.ts +1 -1
  122. package/dist/cjs/tools/mongodb/read/count.d.ts.map +1 -1
  123. package/dist/cjs/tools/mongodb/read/count.js +2 -3
  124. package/dist/cjs/tools/mongodb/read/count.js.map +1 -1
  125. package/dist/cjs/tools/mongodb/read/export.d.ts +1 -1
  126. package/dist/cjs/tools/mongodb/read/export.d.ts.map +1 -1
  127. package/dist/cjs/tools/mongodb/read/export.js +2 -3
  128. package/dist/cjs/tools/mongodb/read/export.js.map +1 -1
  129. package/dist/cjs/tools/mongodb/read/find.d.ts +1 -1
  130. package/dist/cjs/tools/mongodb/read/find.d.ts.map +1 -1
  131. package/dist/cjs/tools/mongodb/read/find.js +2 -3
  132. package/dist/cjs/tools/mongodb/read/find.js.map +1 -1
  133. package/dist/cjs/tools/mongodb/update/renameCollection.d.ts +1 -1
  134. package/dist/cjs/tools/mongodb/update/renameCollection.d.ts.map +1 -1
  135. package/dist/cjs/tools/mongodb/update/renameCollection.js +2 -3
  136. package/dist/cjs/tools/mongodb/update/renameCollection.js.map +1 -1
  137. package/dist/cjs/tools/mongodb/update/updateMany.d.ts +1 -1
  138. package/dist/cjs/tools/mongodb/update/updateMany.d.ts.map +1 -1
  139. package/dist/cjs/tools/mongodb/update/updateMany.js +2 -3
  140. package/dist/cjs/tools/mongodb/update/updateMany.js.map +1 -1
  141. package/dist/cjs/tools/tool.d.ts +3 -0
  142. package/dist/cjs/tools/tool.d.ts.map +1 -1
  143. package/dist/cjs/tools/tool.js.map +1 -1
  144. package/dist/cjs/transports/base.d.ts.map +1 -1
  145. package/dist/cjs/transports/base.js +10 -12
  146. package/dist/cjs/transports/base.js.map +1 -1
  147. package/dist/cjs/web.d.ts +2 -1
  148. package/dist/cjs/web.d.ts.map +1 -1
  149. package/dist/cjs/web.js +3 -2
  150. package/dist/cjs/web.js.map +1 -1
  151. package/dist/esm/common/connectionErrorHandler.d.ts +4 -3
  152. package/dist/esm/common/connectionErrorHandler.d.ts.map +1 -1
  153. package/dist/esm/common/connectionErrorHandler.js +15 -7
  154. package/dist/esm/common/connectionErrorHandler.js.map +1 -1
  155. package/dist/esm/common/connectionRegistry.d.ts +9 -52
  156. package/dist/esm/common/connectionRegistry.d.ts.map +1 -1
  157. package/dist/esm/common/connectionRegistry.js +1 -203
  158. package/dist/esm/common/connectionRegistry.js.map +1 -1
  159. package/dist/esm/common/connectionStore.d.ts +59 -0
  160. package/dist/esm/common/connectionStore.d.ts.map +1 -0
  161. package/dist/esm/common/connectionStore.js +216 -0
  162. package/dist/esm/common/connectionStore.js.map +1 -0
  163. package/dist/esm/common/connectionSummary.d.ts +20 -11
  164. package/dist/esm/common/connectionSummary.d.ts.map +1 -1
  165. package/dist/esm/common/connectionSummary.js +13 -2
  166. package/dist/esm/common/connectionSummary.js.map +1 -1
  167. package/dist/esm/common/packageInfo.js +1 -1
  168. package/dist/esm/common/session.d.ts +2 -10
  169. package/dist/esm/common/session.d.ts.map +1 -1
  170. package/dist/esm/common/session.js +5 -8
  171. package/dist/esm/common/session.js.map +1 -1
  172. package/dist/esm/lib.d.ts +2 -1
  173. package/dist/esm/lib.d.ts.map +1 -1
  174. package/dist/esm/lib.js +2 -1
  175. package/dist/esm/lib.js.map +1 -1
  176. package/dist/esm/resources/common/config.d.ts +1 -0
  177. package/dist/esm/resources/common/config.d.ts.map +1 -1
  178. package/dist/esm/resources/common/config.js +10 -1
  179. package/dist/esm/resources/common/config.js.map +1 -1
  180. package/dist/esm/tools/atlas/connect/connectCluster.d.ts.map +1 -1
  181. package/dist/esm/tools/atlas/connect/connectCluster.js +49 -33
  182. package/dist/esm/tools/atlas/connect/connectCluster.js.map +1 -1
  183. package/dist/esm/tools/atlas/streams/discover.d.ts +1 -1
  184. package/dist/esm/tools/atlas/update/pauseResumeCluster.d.ts +2 -2
  185. package/dist/esm/tools/atlas/update/pauseResumeCluster.d.ts.map +1 -1
  186. package/dist/esm/tools/atlas/update/pauseResumeCluster.js +9 -7
  187. package/dist/esm/tools/atlas/update/pauseResumeCluster.js.map +1 -1
  188. package/dist/esm/tools/atlas/update/upgradeCluster.d.ts.map +1 -1
  189. package/dist/esm/tools/atlas/update/upgradeCluster.js +2 -12
  190. package/dist/esm/tools/atlas/update/upgradeCluster.js.map +1 -1
  191. package/dist/esm/tools/mongodb/connect/connect.d.ts.map +1 -1
  192. package/dist/esm/tools/mongodb/connect/connect.js +6 -4
  193. package/dist/esm/tools/mongodb/connect/connect.js.map +1 -1
  194. package/dist/esm/tools/mongodb/connect/disconnect.d.ts.map +1 -1
  195. package/dist/esm/tools/mongodb/connect/disconnect.js +3 -1
  196. package/dist/esm/tools/mongodb/connect/disconnect.js.map +1 -1
  197. package/dist/esm/tools/mongodb/connect/listConnections.d.ts.map +1 -1
  198. package/dist/esm/tools/mongodb/connect/listConnections.js +9 -25
  199. package/dist/esm/tools/mongodb/connect/listConnections.js.map +1 -1
  200. package/dist/esm/tools/mongodb/create/createCollection.d.ts +1 -1
  201. package/dist/esm/tools/mongodb/create/createCollection.d.ts.map +1 -1
  202. package/dist/esm/tools/mongodb/create/createCollection.js +2 -3
  203. package/dist/esm/tools/mongodb/create/createCollection.js.map +1 -1
  204. package/dist/esm/tools/mongodb/create/createIndex.d.ts +1 -1
  205. package/dist/esm/tools/mongodb/create/createIndex.d.ts.map +1 -1
  206. package/dist/esm/tools/mongodb/create/createIndex.js +4 -5
  207. package/dist/esm/tools/mongodb/create/createIndex.js.map +1 -1
  208. package/dist/esm/tools/mongodb/create/insertMany.d.ts +1 -1
  209. package/dist/esm/tools/mongodb/create/insertMany.d.ts.map +1 -1
  210. package/dist/esm/tools/mongodb/create/insertMany.js +2 -3
  211. package/dist/esm/tools/mongodb/create/insertMany.js.map +1 -1
  212. package/dist/esm/tools/mongodb/delete/deleteMany.d.ts +1 -1
  213. package/dist/esm/tools/mongodb/delete/deleteMany.d.ts.map +1 -1
  214. package/dist/esm/tools/mongodb/delete/deleteMany.js +2 -3
  215. package/dist/esm/tools/mongodb/delete/deleteMany.js.map +1 -1
  216. package/dist/esm/tools/mongodb/delete/dropCollection.d.ts +1 -1
  217. package/dist/esm/tools/mongodb/delete/dropCollection.d.ts.map +1 -1
  218. package/dist/esm/tools/mongodb/delete/dropCollection.js +2 -3
  219. package/dist/esm/tools/mongodb/delete/dropCollection.js.map +1 -1
  220. package/dist/esm/tools/mongodb/delete/dropDatabase.d.ts +1 -1
  221. package/dist/esm/tools/mongodb/delete/dropDatabase.d.ts.map +1 -1
  222. package/dist/esm/tools/mongodb/delete/dropDatabase.js +2 -3
  223. package/dist/esm/tools/mongodb/delete/dropDatabase.js.map +1 -1
  224. package/dist/esm/tools/mongodb/delete/dropIndex.d.ts.map +1 -1
  225. package/dist/esm/tools/mongodb/delete/dropIndex.js +3 -4
  226. package/dist/esm/tools/mongodb/delete/dropIndex.js.map +1 -1
  227. package/dist/esm/tools/mongodb/metadata/collectionIndexes.d.ts +1 -1
  228. package/dist/esm/tools/mongodb/metadata/collectionIndexes.d.ts.map +1 -1
  229. package/dist/esm/tools/mongodb/metadata/collectionIndexes.js +3 -4
  230. package/dist/esm/tools/mongodb/metadata/collectionIndexes.js.map +1 -1
  231. package/dist/esm/tools/mongodb/metadata/collectionSchema.d.ts +1 -1
  232. package/dist/esm/tools/mongodb/metadata/collectionSchema.d.ts.map +1 -1
  233. package/dist/esm/tools/mongodb/metadata/collectionSchema.js +2 -3
  234. package/dist/esm/tools/mongodb/metadata/collectionSchema.js.map +1 -1
  235. package/dist/esm/tools/mongodb/metadata/collectionStorageSize.d.ts +1 -1
  236. package/dist/esm/tools/mongodb/metadata/collectionStorageSize.d.ts.map +1 -1
  237. package/dist/esm/tools/mongodb/metadata/collectionStorageSize.js +2 -3
  238. package/dist/esm/tools/mongodb/metadata/collectionStorageSize.js.map +1 -1
  239. package/dist/esm/tools/mongodb/metadata/dbStats.d.ts +1 -1
  240. package/dist/esm/tools/mongodb/metadata/dbStats.d.ts.map +1 -1
  241. package/dist/esm/tools/mongodb/metadata/dbStats.js +2 -3
  242. package/dist/esm/tools/mongodb/metadata/dbStats.js.map +1 -1
  243. package/dist/esm/tools/mongodb/metadata/explain.d.ts +1 -1
  244. package/dist/esm/tools/mongodb/metadata/explain.d.ts.map +1 -1
  245. package/dist/esm/tools/mongodb/metadata/explain.js +2 -3
  246. package/dist/esm/tools/mongodb/metadata/explain.js.map +1 -1
  247. package/dist/esm/tools/mongodb/metadata/listCollections.d.ts +1 -1
  248. package/dist/esm/tools/mongodb/metadata/listCollections.d.ts.map +1 -1
  249. package/dist/esm/tools/mongodb/metadata/listCollections.js +2 -3
  250. package/dist/esm/tools/mongodb/metadata/listCollections.js.map +1 -1
  251. package/dist/esm/tools/mongodb/metadata/listDatabases.d.ts +1 -1
  252. package/dist/esm/tools/mongodb/metadata/listDatabases.d.ts.map +1 -1
  253. package/dist/esm/tools/mongodb/metadata/listDatabases.js +2 -2
  254. package/dist/esm/tools/mongodb/metadata/listDatabases.js.map +1 -1
  255. package/dist/esm/tools/mongodb/metadata/logs.d.ts +1 -1
  256. package/dist/esm/tools/mongodb/metadata/logs.d.ts.map +1 -1
  257. package/dist/esm/tools/mongodb/metadata/logs.js +2 -3
  258. package/dist/esm/tools/mongodb/metadata/logs.js.map +1 -1
  259. package/dist/esm/tools/mongodb/mongodbTool.d.ts +5 -5
  260. package/dist/esm/tools/mongodb/mongodbTool.d.ts.map +1 -1
  261. package/dist/esm/tools/mongodb/mongodbTool.js +24 -14
  262. package/dist/esm/tools/mongodb/mongodbTool.js.map +1 -1
  263. package/dist/esm/tools/mongodb/read/aggregate.d.ts +1 -1
  264. package/dist/esm/tools/mongodb/read/aggregate.d.ts.map +1 -1
  265. package/dist/esm/tools/mongodb/read/aggregate.js +8 -11
  266. package/dist/esm/tools/mongodb/read/aggregate.js.map +1 -1
  267. package/dist/esm/tools/mongodb/read/aggregateDB.d.ts +1 -1
  268. package/dist/esm/tools/mongodb/read/aggregateDB.d.ts.map +1 -1
  269. package/dist/esm/tools/mongodb/read/aggregateDB.js +2 -3
  270. package/dist/esm/tools/mongodb/read/aggregateDB.js.map +1 -1
  271. package/dist/esm/tools/mongodb/read/count.d.ts +1 -1
  272. package/dist/esm/tools/mongodb/read/count.d.ts.map +1 -1
  273. package/dist/esm/tools/mongodb/read/count.js +2 -3
  274. package/dist/esm/tools/mongodb/read/count.js.map +1 -1
  275. package/dist/esm/tools/mongodb/read/export.d.ts +1 -1
  276. package/dist/esm/tools/mongodb/read/export.d.ts.map +1 -1
  277. package/dist/esm/tools/mongodb/read/export.js +2 -3
  278. package/dist/esm/tools/mongodb/read/export.js.map +1 -1
  279. package/dist/esm/tools/mongodb/read/find.d.ts +1 -1
  280. package/dist/esm/tools/mongodb/read/find.d.ts.map +1 -1
  281. package/dist/esm/tools/mongodb/read/find.js +2 -3
  282. package/dist/esm/tools/mongodb/read/find.js.map +1 -1
  283. package/dist/esm/tools/mongodb/update/renameCollection.d.ts +1 -1
  284. package/dist/esm/tools/mongodb/update/renameCollection.d.ts.map +1 -1
  285. package/dist/esm/tools/mongodb/update/renameCollection.js +2 -3
  286. package/dist/esm/tools/mongodb/update/renameCollection.js.map +1 -1
  287. package/dist/esm/tools/mongodb/update/updateMany.d.ts +1 -1
  288. package/dist/esm/tools/mongodb/update/updateMany.d.ts.map +1 -1
  289. package/dist/esm/tools/mongodb/update/updateMany.js +2 -3
  290. package/dist/esm/tools/mongodb/update/updateMany.js.map +1 -1
  291. package/dist/esm/tools/tool.d.ts +3 -0
  292. package/dist/esm/tools/tool.d.ts.map +1 -1
  293. package/dist/esm/tools/tool.js.map +1 -1
  294. package/dist/esm/transports/base.d.ts.map +1 -1
  295. package/dist/esm/transports/base.js +9 -11
  296. package/dist/esm/transports/base.js.map +1 -1
  297. package/dist/esm/web.d.ts +2 -1
  298. package/dist/esm/web.d.ts.map +1 -1
  299. package/dist/esm/web.js +2 -1
  300. package/dist/esm/web.js.map +1 -1
  301. package/package.json +3 -3
@@ -15,9 +15,10 @@ export type ConnectionErrorHandled = {
15
15
  result: CallToolResult;
16
16
  };
17
17
  /**
18
- * The enabled tools that can establish a connection. The disconnect tool
19
- * shares the "connect" operation type but cannot establish one, so it is
20
- * excluded.
18
+ * The enabled tools that can establish a connection, sorted with Atlas tools
19
+ * before MongoDB tools so every listing surfaces them in the same order. The
20
+ * disconnect tool shares the "connect" operation type but cannot establish a
21
+ * connection, so it is excluded.
21
22
  */
22
23
  export declare function connectCapableTools(tools: AnyToolBase[]): AnyToolBase[];
23
24
  export declare const connectionErrorHandler: ConnectionErrorHandler;
@@ -1 +1 @@
1
- {"version":3,"file":"connectionErrorHandler.d.ts","sourceRoot":"","sources":["../../../src/common/connectionErrorHandler.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,oCAAoC,CAAC;AACzE,OAAO,EAAE,UAAU,EAAE,KAAK,YAAY,EAAE,MAAM,aAAa,CAAC;AAC5D,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,wBAAwB,CAAC;AACjE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAGpD,MAAM,MAAM,sBAAsB,GAAG,CACjC,KAAK,EAAE,YAAY,CACf,UAAU,CAAC,qBAAqB,GAAG,UAAU,CAAC,6BAA6B,GAAG,UAAU,CAAC,mBAAmB,CAC/G,EACD,iBAAiB,EAAE,6BAA6B,KAC/C,wBAAwB,GAAG,sBAAsB,GAAG,OAAO,CAAC,wBAAwB,GAAG,sBAAsB,CAAC,CAAC;AAEpH,MAAM,MAAM,6BAA6B,GAAG;IAAE,cAAc,EAAE,WAAW,EAAE,CAAC;IAAC,eAAe,CAAC,EAAE,kBAAkB,CAAA;CAAE,CAAC;AACpH,MAAM,MAAM,wBAAwB,GAAG;IAAE,YAAY,EAAE,KAAK,CAAA;CAAE,CAAC;AAC/D,MAAM,MAAM,sBAAsB,GAAG;IAAE,YAAY,EAAE,IAAI,CAAC;IAAC,MAAM,EAAE,cAAc,CAAA;CAAE,CAAC;AAEpF;;;;GAIG;AACH,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,WAAW,EAAE,GAAG,WAAW,EAAE,CAEvE;AAED,eAAO,MAAM,sBAAsB,EAAE,sBAgGpC,CAAC"}
1
+ {"version":3,"file":"connectionErrorHandler.d.ts","sourceRoot":"","sources":["../../../src/common/connectionErrorHandler.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,oCAAoC,CAAC;AACzE,OAAO,EAAE,UAAU,EAAE,KAAK,YAAY,EAAE,MAAM,aAAa,CAAC;AAC5D,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,wBAAwB,CAAC;AACjE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAIpD,MAAM,MAAM,sBAAsB,GAAG,CACjC,KAAK,EAAE,YAAY,CACf,UAAU,CAAC,qBAAqB,GAAG,UAAU,CAAC,6BAA6B,GAAG,UAAU,CAAC,mBAAmB,CAC/G,EACD,iBAAiB,EAAE,6BAA6B,KAC/C,wBAAwB,GAAG,sBAAsB,GAAG,OAAO,CAAC,wBAAwB,GAAG,sBAAsB,CAAC,CAAC;AAEpH,MAAM,MAAM,6BAA6B,GAAG;IAAE,cAAc,EAAE,WAAW,EAAE,CAAC;IAAC,eAAe,CAAC,EAAE,kBAAkB,CAAA;CAAE,CAAC;AACpH,MAAM,MAAM,wBAAwB,GAAG;IAAE,YAAY,EAAE,KAAK,CAAA;CAAE,CAAC;AAC/D,MAAM,MAAM,sBAAsB,GAAG;IAAE,YAAY,EAAE,IAAI,CAAC;IAAC,MAAM,EAAE,cAAc,CAAA;CAAE,CAAC;AAEpF;;;;;GAKG;AACH,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,WAAW,EAAE,GAAG,WAAW,EAAE,CAIvE;AAED,eAAO,MAAM,sBAAsB,EAAE,sBAwGpC,CAAC"}
@@ -4,16 +4,20 @@ exports.connectionErrorHandler = void 0;
4
4
  exports.connectCapableTools = connectCapableTools;
5
5
  const errors_js_1 = require("./errors.js");
6
6
  const disconnect_js_1 = require("../tools/mongodb/connect/disconnect.js");
7
+ const listConnections_js_1 = require("../tools/mongodb/connect/listConnections.js");
7
8
  /**
8
- * The enabled tools that can establish a connection. The disconnect tool
9
- * shares the "connect" operation type but cannot establish one, so it is
10
- * excluded.
9
+ * The enabled tools that can establish a connection, sorted with Atlas tools
10
+ * before MongoDB tools so every listing surfaces them in the same order. The
11
+ * disconnect tool shares the "connect" operation type but cannot establish a
12
+ * connection, so it is excluded.
11
13
  */
12
14
  function connectCapableTools(tools) {
13
- return tools.filter((t) => t.operationType === "connect" && t.name !== disconnect_js_1.DisconnectTool.toolName && t.isEnabled());
15
+ return tools
16
+ .filter((t) => t.operationType === "connect" && t.name !== disconnect_js_1.DisconnectTool.toolName && t.isEnabled())
17
+ .sort((a, b) => a.category.localeCompare(b.category));
14
18
  }
15
19
  const connectionErrorHandler = (error, { availableTools, connectionState }) => {
16
- const connectTools = connectCapableTools(availableTools).sort((a, b) => a.category.localeCompare(b.category)); // Sort Atlas tools before MongoDB tools
20
+ const connectTools = connectCapableTools(availableTools);
17
21
  // Find what Atlas connect tools are available and suggest when the LLM should to use each. If no Atlas tools are found, return a suggestion for the MongoDB connect tool.
18
22
  const atlasConnectTool = connectTools?.find((t) => t.category === "atlas");
19
23
  const atlasLocalConnectTool = connectTools?.find((t) => t.category === "atlas-local");
@@ -46,20 +50,24 @@ const connectionErrorHandler = (error, { availableTools, connectionState }) => {
46
50
  });
47
51
  }
48
52
  switch (error.code) {
49
- case errors_js_1.ErrorCodes.UnknownConnectionId:
53
+ case errors_js_1.ErrorCodes.UnknownConnectionId: {
54
+ const listConnectionsAvailable = availableTools.some((t) => t.name === listConnections_js_1.ListConnectionsTool.toolName && t.isEnabled());
50
55
  return {
51
56
  errorHandled: true,
52
57
  result: {
53
58
  content: [
54
59
  {
55
60
  type: "text",
56
- text: `${error.message} Call the "list-connections" tool to see the active connections, or establish a new one and retry with the connectionId it returns.`,
61
+ text: `${error.message} ${listConnectionsAvailable
62
+ ? `Call the "${listConnections_js_1.ListConnectionsTool.toolName}" tool to see the active connections, or establish a new one and retry with the connectionId it returns.`
63
+ : "Establish a new connection using one of the connect tools and retry with the connectionId it returns."}`,
57
64
  },
58
65
  ...additionalPromptForConnectivity,
59
66
  ],
60
67
  isError: true,
61
68
  },
62
69
  };
70
+ }
63
71
  case errors_js_1.ErrorCodes.NotConnectedToMongoDB:
64
72
  return {
65
73
  errorHandled: true,
@@ -1 +1 @@
1
- {"version":3,"file":"connectionErrorHandler.js","sourceRoot":"","sources":["../../../src/common/connectionErrorHandler.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"connectionErrorHandler.js","sourceRoot":"","sources":["../../../src/common/connectionErrorHandler.ts"],"names":[],"mappings":"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"}
@@ -1,7 +1,5 @@
1
1
  import type { NodeDriverServiceProvider } from "@mongosh/service-provider-node-driver";
2
- import type { DeviceId } from "../helpers/deviceId.js";
3
2
  import type { LoggerBase } from "./logging/index.js";
4
- import type { UserConfig } from "./config/userConfig.js";
5
3
  import type { AnyConnectionState, ConnectionManager, ConnectionSettings } from "./connectionManager.js";
6
4
  /**
7
5
  * The reserved, well-known id of the connection seeded from the `connectionString`
@@ -75,7 +73,7 @@ export interface ConnectionRegistry {
75
73
  /** Looks up an entry without affecting LRU ordering (telemetry, error handling). */
76
74
  peek(connectionId: string): Promise<ConnectionEntry | undefined>;
77
75
  /** Entries matching a predicate, without affecting LRU ordering. */
78
- find(predicate: (entry: ConnectionEntry) => boolean): Promise<ConnectionEntry[]>;
76
+ find(predicate?: (entry: ConnectionEntry) => boolean): Promise<ConnectionEntry[]>;
79
77
  /** Resolves a handle to a live service provider; throws `UnknownConnectionId` for absent handles. */
80
78
  resolve(connectionId: string): Promise<NodeDriverServiceProvider>;
81
79
  /**
@@ -85,8 +83,13 @@ export interface ConnectionRegistry {
85
83
  * for absent handles, like {@link ConnectionRegistry.resolve}.
86
84
  */
87
85
  disconnect(connectionId: string): Promise<void>;
88
- /** Disconnects every entry reachable through this registry object. */
89
- closeAll(): Promise<void>;
86
+ /**
87
+ * Releases the connections this registry object owns. Called when the
88
+ * session holding the registry closes; implementations whose connections
89
+ * outlive a session (shared or durable registries) should make this a
90
+ * no-op.
91
+ */
92
+ close(): Promise<void>;
90
93
  }
91
94
  type ConnectionEntryOptions = {
92
95
  connectionId: string;
@@ -138,53 +141,6 @@ export declare class ConnectionEntry {
138
141
  assertSearchSupported(logger: LoggerBase): Promise<void>;
139
142
  close(): Promise<void>;
140
143
  }
141
- export type CreateConnectionManagerFn = () => ConnectionManager;
142
- export type ConnectionStoreOptions = {
143
- userConfig: UserConfig;
144
- logger: LoggerBase;
145
- deviceId: DeviceId;
146
- /** Override the per-entry connection manager (tests, embedders). */
147
- createConnectionManager?: CreateConnectionManagerFn;
148
- };
149
- /**
150
- * Owns the app-level storage and lifecycle of MongoDB connection handles: the
151
- * entry map, the preconfigured entry seeded from a configured connection
152
- * string, per-scope connection limits, and shutdown. Consumers never hold the
153
- * store directly — they access entries through {@link ConnectionRegistry}
154
- * views minted with {@link MCPConnectionStore.view}.
155
- */
156
- export declare class MCPConnectionStore {
157
- private readonly entries;
158
- private readonly userConfig;
159
- private readonly logger;
160
- private readonly createConnectionManager;
161
- private preconfiguredDial?;
162
- constructor(options: ConnectionStoreOptions);
163
- /**
164
- * Returns a {@link ConnectionRegistry} over this store. When `scope` is
165
- * provided, entries created through the returned registry are tagged with
166
- * it and the registry only surfaces entries of that scope plus shared ones
167
- * (`entry.scope === undefined`, e.g. the preconfigured entry) — invisible
168
- * handles behave exactly like absent ones. When `scope` is omitted, the
169
- * registry sees every entry and creates shared ones.
170
- *
171
- * `closeAll()` on the returned registry disconnects only the entries it
172
- * can reach; the preconfigured entry is closed-but-kept per its usual
173
- * disconnect semantics.
174
- */
175
- view(scope?: string): ConnectionRegistry;
176
- /** Closes and removes every entry, including the preconfigured one. For process/runner shutdown. */
177
- closeAll(): Promise<void>;
178
- private addEntry;
179
- private dialPreconfigured;
180
- /**
181
- * Enforces `maxActiveConnections` per scope, counting explicit entries only
182
- * (the preconfigured entry is pinned). Per-scope counting means one scope
183
- * (e.g. session) cannot evict another's handles.
184
- */
185
- private enforceLimit;
186
- private revoke;
187
- }
188
144
  /**
189
145
  * Slug source for Atlas cluster handles: `<projectName>-<clusterName>`.
190
146
  * Cluster names are only unique within a project, so the project name
@@ -192,5 +148,6 @@ export declare class MCPConnectionStore {
192
148
  * half is truncated first so the cluster name always survives.
193
149
  */
194
150
  export declare function atlasClusterSlug(projectName: string | undefined, clusterName: string): string;
151
+ export declare function buildEntryName(rawName: string): string;
195
152
  export {};
196
153
  //# sourceMappingURL=connectionRegistry.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"connectionRegistry.d.ts","sourceRoot":"","sources":["../../../src/common/connectionRegistry.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"connectionRegistry.d.ts","sourceRoot":"","sources":["../../../src/common/connectionRegistry.ts"],"names":[],"mappings":"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"}
@@ -1,13 +1,9 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.MCPConnectionStore = exports.ConnectionEntry = exports.PRECONFIGURED_CONNECTION_ID = void 0;
3
+ exports.ConnectionEntry = exports.PRECONFIGURED_CONNECTION_ID = void 0;
4
4
  exports.atlasClusterSlug = atlasClusterSlug;
5
+ exports.buildEntryName = buildEntryName;
5
6
  const crypto_1 = require("crypto");
6
- const mongodb_connection_string_url_1 = require("mongodb-connection-string-url");
7
- const getRandomUUID_js_1 = require("../helpers/getRandomUUID.js");
8
- const arg_parser_1 = require("@mongosh/arg-parser");
9
- const index_js_1 = require("./logging/index.js");
10
- const connectionManager_js_1 = require("./connectionManager.js");
11
7
  const errors_js_1 = require("./errors.js");
12
8
  /**
13
9
  * The reserved, well-known id of the connection seeded from the `connectionString`
@@ -89,191 +85,6 @@ class ConnectionEntry {
89
85
  }
90
86
  }
91
87
  exports.ConnectionEntry = ConnectionEntry;
92
- /**
93
- * Owns the app-level storage and lifecycle of MongoDB connection handles: the
94
- * entry map, the preconfigured entry seeded from a configured connection
95
- * string, per-scope connection limits, and shutdown. Consumers never hold the
96
- * store directly — they access entries through {@link ConnectionRegistry}
97
- * views minted with {@link MCPConnectionStore.view}.
98
- */
99
- class MCPConnectionStore {
100
- constructor(options) {
101
- this.entries = new Map();
102
- this.userConfig = options.userConfig;
103
- this.logger = options.logger;
104
- this.createConnectionManager =
105
- options.createConnectionManager ??
106
- (() => new connectionManager_js_1.MCPConnectionManager(options.userConfig, options.logger, options.deviceId));
107
- if (this.userConfig.connectionString) {
108
- this.entries.set(exports.PRECONFIGURED_CONNECTION_ID, {
109
- entry: new ConnectionEntry({
110
- connectionId: exports.PRECONFIGURED_CONNECTION_ID,
111
- name: exports.PRECONFIGURED_CONNECTION_ID,
112
- source: "preconfigured",
113
- manager: this.createConnectionManager(),
114
- }),
115
- });
116
- }
117
- }
118
- /**
119
- * Returns a {@link ConnectionRegistry} over this store. When `scope` is
120
- * provided, entries created through the returned registry are tagged with
121
- * it and the registry only surfaces entries of that scope plus shared ones
122
- * (`entry.scope === undefined`, e.g. the preconfigured entry) — invisible
123
- * handles behave exactly like absent ones. When `scope` is omitted, the
124
- * registry sees every entry and creates shared ones.
125
- *
126
- * `closeAll()` on the returned registry disconnects only the entries it
127
- * can reach; the preconfigured entry is closed-but-kept per its usual
128
- * disconnect semantics.
129
- */
130
- view(scope) {
131
- const visible = (stored) => stored !== undefined && (scope === undefined || stored.scope === undefined || stored.scope === scope);
132
- const peek = (connectionId) => {
133
- const stored = this.entries.get(connectionId);
134
- return Promise.resolve(visible(stored) ? stored.entry : undefined);
135
- };
136
- const get = async (connectionId) => {
137
- const entry = await peek(connectionId);
138
- if (entry) {
139
- entry.lastUsedAt = new Date();
140
- }
141
- return entry;
142
- };
143
- const disconnect = async (connectionId) => {
144
- const entry = await peek(connectionId);
145
- if (!entry) {
146
- throw new errors_js_1.MongoDBError(errors_js_1.ErrorCodes.UnknownConnectionId, `Connection "${connectionId}" does not exist or has expired.`);
147
- }
148
- if (entry.source === "preconfigured") {
149
- await entry.close();
150
- return;
151
- }
152
- await this.revoke(entry);
153
- };
154
- return {
155
- createEntry: (opts) => Promise.resolve(this.addEntry({ ...opts, scope })),
156
- connect: async ({ settings, name, clientName }) => {
157
- name ?? (name = settings.atlas?.clusterName ?? hostFromConnectionString(settings.connectionString));
158
- const entry = this.addEntry({ name, clientName, scope });
159
- try {
160
- await entry.connect(settings);
161
- }
162
- catch (error) {
163
- this.entries.delete(entry.connectionId);
164
- await entry.close().catch(() => undefined);
165
- throw error;
166
- }
167
- await this.enforceLimit(scope);
168
- return entry;
169
- },
170
- get,
171
- peek,
172
- find: (predicate) => Promise.resolve([...this.entries.values()]
173
- .filter((stored) => visible(stored) && predicate(stored.entry))
174
- .map((stored) => stored.entry)),
175
- resolve: async (connectionId) => {
176
- const entry = await get(connectionId);
177
- if (!entry) {
178
- throw new errors_js_1.MongoDBError(errors_js_1.ErrorCodes.UnknownConnectionId, `Connection "${connectionId}" does not exist or has expired.`);
179
- }
180
- if (entry.source === "preconfigured" &&
181
- (entry.state.tag === "disconnected" || entry.state.tag === "errored")) {
182
- await this.dialPreconfigured(entry);
183
- }
184
- return entry.getServiceProvider();
185
- },
186
- disconnect,
187
- closeAll: async () => {
188
- const reachable = [...this.entries.values()].filter((stored) => scope === undefined ? true : stored.scope === scope);
189
- await Promise.allSettled(reachable.map((stored) => disconnect(stored.entry.connectionId)));
190
- },
191
- };
192
- }
193
- /** Closes and removes every entry, including the preconfigured one. For process/runner shutdown. */
194
- async closeAll() {
195
- const stored = [...this.entries.values()];
196
- this.entries.clear();
197
- await Promise.allSettled(stored.map(({ entry }) => this.revoke(entry)));
198
- }
199
- addEntry({ name, clientName, scope, onRevoke, }) {
200
- const manager = this.createConnectionManager();
201
- if (clientName) {
202
- manager.setClientName(clientName);
203
- }
204
- const entry = new ConnectionEntry({
205
- connectionId: (0, getRandomUUID_js_1.getRandomUUID)(),
206
- name: buildEntryName(name),
207
- source: "explicit",
208
- manager,
209
- onRevoke,
210
- });
211
- this.entries.set(entry.connectionId, { entry, scope });
212
- void this.enforceLimit(scope);
213
- return entry;
214
- }
215
- async dialPreconfigured(entry) {
216
- this.preconfiguredDial ?? (this.preconfiguredDial = (async () => {
217
- const connectionInfo = (0, arg_parser_1.generateConnectionInfoFromCliArgs)({
218
- ...this.userConfig,
219
- connectionSpecifier: this.userConfig.connectionString,
220
- });
221
- await entry.connect(connectionInfo);
222
- })().finally(() => {
223
- this.preconfiguredDial = undefined;
224
- }));
225
- try {
226
- await this.preconfiguredDial;
227
- }
228
- catch (error) {
229
- this.logger.error({
230
- id: index_js_1.LogId.connectionRegistryDialFailure,
231
- context: "connectionRegistry",
232
- message: `Failed to connect using the configured connection string: ${error}`,
233
- });
234
- throw new errors_js_1.MongoDBError(errors_js_1.ErrorCodes.MisconfiguredConnectionString, "The configured connection string is not valid or the server is unreachable.");
235
- }
236
- }
237
- /**
238
- * Enforces `maxActiveConnections` per scope, counting explicit entries only
239
- * (the preconfigured entry is pinned). Per-scope counting means one scope
240
- * (e.g. session) cannot evict another's handles.
241
- */
242
- async enforceLimit(scope) {
243
- for (;;) {
244
- const scoped = [...this.entries.values()].filter((stored) => stored.entry.source !== "preconfigured" && stored.scope === scope);
245
- if (scoped.length <= this.userConfig.maxActiveConnections) {
246
- return;
247
- }
248
- const lru = scoped.sort((a, b) => a.entry.lastUsedAt.getTime() - b.entry.lastUsedAt.getTime())[0];
249
- if (!lru) {
250
- return;
251
- }
252
- this.logger.info({
253
- id: index_js_1.LogId.connectionRegistryRevoked,
254
- context: "connectionRegistry",
255
- message: `Revoking least-recently-used connection "${lru.entry.connectionId}" because its scope exceeded ${this.userConfig.maxActiveConnections} connections.`,
256
- });
257
- this.entries.delete(lru.entry.connectionId);
258
- await this.revoke(lru.entry);
259
- }
260
- }
261
- async revoke(entry) {
262
- this.entries.delete(entry.connectionId);
263
- await entry.close().catch(() => undefined);
264
- try {
265
- await entry.runRevokeCleanup();
266
- }
267
- catch (error) {
268
- this.logger.error({
269
- id: index_js_1.LogId.connectionRegistryRevokeCallbackFailure,
270
- context: "connectionRegistry",
271
- message: `Revocation cleanup for connection "${entry.connectionId}" failed: ${error}`,
272
- });
273
- }
274
- }
275
- }
276
- exports.MCPConnectionStore = MCPConnectionStore;
277
88
  /**
278
89
  * Slug source for Atlas cluster handles: `<projectName>-<clusterName>`.
279
90
  * Cluster names are only unique within a project, so the project name
@@ -309,17 +120,4 @@ function slugify(value) {
309
120
  .slice(0, MAX_SLUG_LENGTH)
310
121
  .replace(/-$/, "");
311
122
  }
312
- /** The first host of the connection string (without port), as a slug source for generated names. */
313
- function hostFromConnectionString(connectionString) {
314
- if (!connectionString) {
315
- return "connection";
316
- }
317
- try {
318
- const host = new mongodb_connection_string_url_1.ConnectionString(connectionString, { looseValidation: true }).hosts[0];
319
- return host?.split(":")[0] || "connection";
320
- }
321
- catch {
322
- return "connection";
323
- }
324
- }
325
123
  //# sourceMappingURL=connectionRegistry.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"connectionRegistry.js","sourceRoot":"","sources":["../../../src/common/connectionRegistry.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"connectionRegistry.js","sourceRoot":"","sources":["../../../src/common/connectionRegistry.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,59 @@
1
+ import type { DeviceId } from "../helpers/deviceId.js";
2
+ import type { LoggerBase } from "./logging/index.js";
3
+ import type { UserConfig } from "./config/userConfig.js";
4
+ import type { ConnectionManager } from "./connectionManager.js";
5
+ import type { ConnectionRegistry } from "./connectionRegistry.js";
6
+ export type CreateConnectionManagerFn = () => ConnectionManager;
7
+ export type ConnectionStoreOptions = {
8
+ userConfig: UserConfig;
9
+ logger: LoggerBase;
10
+ deviceId: DeviceId;
11
+ /** Override the per-entry connection manager (tests, embedders). */
12
+ createConnectionManager?: CreateConnectionManagerFn;
13
+ };
14
+ /**
15
+ * Owns the app-level storage and lifecycle of MongoDB connection handles: the
16
+ * entry map, the preconfigured entry seeded from a configured connection
17
+ * string, per-scope connection limits, and shutdown. Consumers never hold the
18
+ * store directly — they access entries through {@link ConnectionRegistry}
19
+ * views minted with {@link MCPConnectionStore.view}.
20
+ */
21
+ export declare class MCPConnectionStore {
22
+ private readonly entries;
23
+ private readonly userConfig;
24
+ private readonly logger;
25
+ private readonly createConnectionManager;
26
+ private preconfiguredDial?;
27
+ constructor(options: ConnectionStoreOptions);
28
+ /**
29
+ * Returns a {@link ConnectionRegistry} over this store. When `scope` is
30
+ * provided, entries created through the returned registry are tagged with
31
+ * it and the registry only surfaces entries of that scope plus shared ones
32
+ * (`entry.scope === undefined`, e.g. the preconfigured entry) — invisible
33
+ * handles behave exactly like absent ones. When `scope` is omitted, the
34
+ * registry sees every entry and creates shared ones.
35
+ *
36
+ * `owned` controls what {@link ConnectionRegistry.close} does: an owned
37
+ * registry disconnects every entry it can reach (the preconfigured entry
38
+ * is closed-but-kept per its usual disconnect semantics), an unowned one
39
+ * does nothing. It defaults to whether the view is scoped: scoped entries
40
+ * are unreachable once their scope holder is gone, while an unbound view's
41
+ * entries are shared and must outlive it.
42
+ */
43
+ view({ scope, owned }?: {
44
+ scope?: string;
45
+ owned?: boolean;
46
+ }): ConnectionRegistry;
47
+ /** Closes and removes every entry, including the preconfigured one. For process/runner shutdown. */
48
+ closeAll(): Promise<void>;
49
+ private addEntry;
50
+ private dialPreconfigured;
51
+ /**
52
+ * Enforces `maxActiveConnections` per scope, counting explicit entries only
53
+ * (the preconfigured entry is pinned). Per-scope counting means one scope
54
+ * (e.g. session) cannot evict another's handles.
55
+ */
56
+ private enforceLimit;
57
+ private revoke;
58
+ }
59
+ //# sourceMappingURL=connectionStore.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"connectionStore.d.ts","sourceRoot":"","sources":["../../../src/common/connectionStore.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,wBAAwB,CAAC;AACvD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAErD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC;AACzD,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAGhE,OAAO,KAAK,EACR,kBAAkB,EAGrB,MAAM,yBAAyB,CAAC;AAGjC,MAAM,MAAM,yBAAyB,GAAG,MAAM,iBAAiB,CAAC;AAEhE,MAAM,MAAM,sBAAsB,GAAG;IACjC,UAAU,EAAE,UAAU,CAAC;IACvB,MAAM,EAAE,UAAU,CAAC;IACnB,QAAQ,EAAE,QAAQ,CAAC;IACnB,oEAAoE;IACpE,uBAAuB,CAAC,EAAE,yBAAyB,CAAC;CACvD,CAAC;AAYF;;;;;;GAMG;AACH,qBAAa,kBAAkB;IAC3B,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAuC;IAC/D,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAa;IACxC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAa;IACpC,OAAO,CAAC,QAAQ,CAAC,uBAAuB,CAA4B;IACpE,OAAO,CAAC,iBAAiB,CAAC,CAAmB;gBAEjC,OAAO,EAAE,sBAAsB;IAmB3C;;;;;;;;;;;;;;OAcG;IACH,IAAI,CAAC,EAAE,KAAK,EAAE,KAA2B,EAAE,GAAE;QAAE,KAAK,CAAC,EAAE,MAAM,CAAC;QAAC,KAAK,CAAC,EAAE,OAAO,CAAA;KAAO,GAAG,kBAAkB;IA6F1G,oGAAoG;IAC9F,QAAQ,IAAI,OAAO,CAAC,IAAI,CAAC;IAM/B,OAAO,CAAC,QAAQ;YAuBF,iBAAiB;IA0B/B;;;;OAIG;YACW,YAAY;YAsBZ,MAAM;CAkBvB"}