@himanshusinghs/mongodb-mcp-server 1.7.7 → 1.11.0-prerelease.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 (846) hide show
  1. package/README.md +107 -51
  2. package/dist/cjs/common/atlas/accessListUtils.js +4 -4
  3. package/dist/cjs/common/atlas/accessListUtils.js.map +1 -1
  4. package/dist/cjs/common/atlas/apiClient.d.ts +98 -215
  5. package/dist/cjs/common/atlas/apiClient.d.ts.map +1 -1
  6. package/dist/cjs/common/atlas/apiClient.js +285 -36
  7. package/dist/cjs/common/atlas/apiClient.js.map +1 -1
  8. package/dist/cjs/common/atlas/auth/authProvider.d.ts +1 -1
  9. package/dist/cjs/common/atlas/auth/authProvider.d.ts.map +1 -1
  10. package/dist/cjs/common/atlas/auth/clientCredentials.d.ts +1 -1
  11. package/dist/cjs/common/atlas/auth/clientCredentials.d.ts.map +1 -1
  12. package/dist/cjs/common/atlas/auth/clientCredentials.js +3 -3
  13. package/dist/cjs/common/atlas/auth/clientCredentials.js.map +1 -1
  14. package/dist/cjs/common/atlas/cluster.d.ts +2 -0
  15. package/dist/cjs/common/atlas/cluster.d.ts.map +1 -1
  16. package/dist/cjs/common/atlas/cluster.js +10 -3
  17. package/dist/cjs/common/atlas/cluster.js.map +1 -1
  18. package/dist/cjs/common/atlas/performanceAdvisorUtils.d.ts.map +1 -1
  19. package/dist/cjs/common/atlas/performanceAdvisorUtils.js +17 -9
  20. package/dist/cjs/common/atlas/performanceAdvisorUtils.js.map +1 -1
  21. package/dist/cjs/common/atlasLocal.d.ts +1 -1
  22. package/dist/cjs/common/atlasLocal.d.ts.map +1 -1
  23. package/dist/cjs/common/atlasLocal.js +3 -3
  24. package/dist/cjs/common/atlasLocal.js.map +1 -1
  25. package/dist/cjs/common/config/configOverrides.d.ts +3 -0
  26. package/dist/cjs/common/config/configOverrides.d.ts.map +1 -1
  27. package/dist/cjs/common/config/configOverrides.js +15 -11
  28. package/dist/cjs/common/config/configOverrides.js.map +1 -1
  29. package/dist/cjs/common/config/configUtils.d.ts +5 -1
  30. package/dist/cjs/common/config/configUtils.d.ts.map +1 -1
  31. package/dist/cjs/common/config/configUtils.js +21 -51
  32. package/dist/cjs/common/config/configUtils.js.map +1 -1
  33. package/dist/cjs/common/config/parseUserConfig.d.ts +2 -2
  34. package/dist/cjs/common/config/parseUserConfig.d.ts.map +1 -1
  35. package/dist/cjs/common/config/parseUserConfig.js +52 -18
  36. package/dist/cjs/common/config/parseUserConfig.js.map +1 -1
  37. package/dist/cjs/common/config/userConfig.d.ts +126 -117
  38. package/dist/cjs/common/config/userConfig.d.ts.map +1 -1
  39. package/dist/cjs/common/config/userConfig.js +85 -63
  40. package/dist/cjs/common/config/userConfig.js.map +1 -1
  41. package/dist/cjs/common/connectionInfo.d.ts +4 -2
  42. package/dist/cjs/common/connectionInfo.d.ts.map +1 -1
  43. package/dist/cjs/common/connectionInfo.js.map +1 -1
  44. package/dist/cjs/common/connectionManager.d.ts +12 -4
  45. package/dist/cjs/common/connectionManager.d.ts.map +1 -1
  46. package/dist/cjs/common/connectionManager.js +87 -16
  47. package/dist/cjs/common/connectionManager.js.map +1 -1
  48. package/dist/cjs/common/errors.d.ts +1 -2
  49. package/dist/cjs/common/errors.d.ts.map +1 -1
  50. package/dist/cjs/common/errors.js +1 -2
  51. package/dist/cjs/common/errors.js.map +1 -1
  52. package/dist/cjs/common/exportsManager.d.ts +10 -8
  53. package/dist/cjs/common/exportsManager.d.ts.map +1 -1
  54. package/dist/cjs/common/exportsManager.js +8 -8
  55. package/dist/cjs/common/exportsManager.js.map +1 -1
  56. package/dist/cjs/common/logging/compositeLogger.d.ts +13 -0
  57. package/dist/cjs/common/logging/compositeLogger.d.ts.map +1 -0
  58. package/dist/cjs/common/logging/compositeLogger.js +34 -0
  59. package/dist/cjs/common/logging/compositeLogger.js.map +1 -0
  60. package/dist/cjs/common/logging/consoleLogger.d.ts +10 -0
  61. package/dist/cjs/common/logging/consoleLogger.d.ts.map +1 -0
  62. package/dist/cjs/common/logging/consoleLogger.js +25 -0
  63. package/dist/cjs/common/logging/consoleLogger.js.map +1 -0
  64. package/dist/cjs/common/logging/diskLogger.d.ts +14 -0
  65. package/dist/cjs/common/logging/diskLogger.d.ts.map +1 -0
  66. package/dist/cjs/common/logging/diskLogger.js +54 -0
  67. package/dist/cjs/common/logging/diskLogger.js.map +1 -0
  68. package/dist/cjs/common/logging/index.d.ts +10 -0
  69. package/dist/cjs/common/logging/index.d.ts.map +1 -0
  70. package/dist/cjs/common/logging/index.js +33 -0
  71. package/dist/cjs/common/logging/index.js.map +1 -0
  72. package/dist/cjs/common/logging/loggerBase.d.ts +23 -0
  73. package/dist/cjs/common/logging/loggerBase.d.ts.map +1 -0
  74. package/dist/cjs/common/logging/loggerBase.js +97 -0
  75. package/dist/cjs/common/logging/loggerBase.js.map +1 -0
  76. package/dist/cjs/common/logging/loggingDefinitions.d.ts +76 -0
  77. package/dist/cjs/common/logging/loggingDefinitions.d.ts.map +1 -0
  78. package/dist/cjs/common/logging/loggingDefinitions.js +80 -0
  79. package/dist/cjs/common/logging/loggingDefinitions.js.map +1 -0
  80. package/dist/cjs/common/logging/loggingTypes.d.ts +15 -0
  81. package/dist/cjs/common/logging/loggingTypes.d.ts.map +1 -0
  82. package/dist/cjs/common/logging/loggingTypes.js +6 -0
  83. package/dist/cjs/common/logging/loggingTypes.js.map +1 -0
  84. package/dist/cjs/common/logging/mcpLogger.d.ts +12 -0
  85. package/dist/cjs/common/logging/mcpLogger.d.ts.map +1 -0
  86. package/dist/cjs/common/logging/mcpLogger.js +30 -0
  87. package/dist/cjs/common/logging/mcpLogger.js.map +1 -0
  88. package/dist/cjs/common/logging/nullLogger.d.ts +8 -0
  89. package/dist/cjs/common/logging/nullLogger.d.ts.map +1 -0
  90. package/dist/cjs/common/logging/nullLogger.js +14 -0
  91. package/dist/cjs/common/logging/nullLogger.js.map +1 -0
  92. package/dist/cjs/common/metrics/index.d.ts +5 -0
  93. package/dist/cjs/common/metrics/index.d.ts.map +1 -0
  94. package/dist/cjs/common/metrics/index.js +8 -0
  95. package/dist/cjs/common/metrics/index.js.map +1 -0
  96. package/dist/cjs/common/metrics/metricDefinitions.d.ts +15 -0
  97. package/dist/cjs/common/metrics/metricDefinitions.d.ts.map +1 -0
  98. package/dist/cjs/common/metrics/metricDefinitions.js +35 -0
  99. package/dist/cjs/common/metrics/metricDefinitions.js.map +1 -0
  100. package/dist/cjs/common/metrics/metricsTypes.d.ts +15 -0
  101. package/dist/cjs/common/metrics/metricsTypes.d.ts.map +1 -0
  102. package/dist/cjs/common/metrics/metricsTypes.js +3 -0
  103. package/dist/cjs/common/metrics/metricsTypes.js.map +1 -0
  104. package/dist/cjs/common/metrics/prometheusMetrics.d.ts +15 -0
  105. package/dist/cjs/common/metrics/prometheusMetrics.d.ts.map +1 -0
  106. package/dist/cjs/common/metrics/prometheusMetrics.js +25 -0
  107. package/dist/cjs/common/metrics/prometheusMetrics.js.map +1 -0
  108. package/dist/cjs/common/packageInfo.d.ts +3 -0
  109. package/dist/cjs/common/packageInfo.d.ts.map +1 -1
  110. package/dist/cjs/common/packageInfo.js +4 -1
  111. package/dist/cjs/common/packageInfo.js.map +1 -1
  112. package/dist/cjs/common/schemas.d.ts +3 -3
  113. package/dist/cjs/common/schemas.d.ts.map +1 -1
  114. package/dist/cjs/common/schemas.js +3 -3
  115. package/dist/cjs/common/schemas.js.map +1 -1
  116. package/dist/cjs/common/session.d.ts +5 -8
  117. package/dist/cjs/common/session.d.ts.map +1 -1
  118. package/dist/cjs/common/session.js +5 -6
  119. package/dist/cjs/common/session.js.map +1 -1
  120. package/dist/cjs/common/sessionStore.d.ts +62 -12
  121. package/dist/cjs/common/sessionStore.d.ts.map +1 -1
  122. package/dist/cjs/common/sessionStore.js +37 -20
  123. package/dist/cjs/common/sessionStore.js.map +1 -1
  124. package/dist/cjs/elicitation.d.ts +18 -0
  125. package/dist/cjs/elicitation.d.ts.map +1 -1
  126. package/dist/cjs/elicitation.js +31 -1
  127. package/dist/cjs/elicitation.js.map +1 -1
  128. package/dist/cjs/helpers/assertVectorSearchFilterFieldsAreIndexed.d.ts +1 -1
  129. package/dist/cjs/helpers/assertVectorSearchFilterFieldsAreIndexed.d.ts.map +1 -1
  130. package/dist/cjs/helpers/assertVectorSearchFilterFieldsAreIndexed.js +2 -2
  131. package/dist/cjs/helpers/assertVectorSearchFilterFieldsAreIndexed.js.map +1 -1
  132. package/dist/cjs/helpers/connectionOptions.d.ts +2 -5
  133. package/dist/cjs/helpers/connectionOptions.d.ts.map +1 -1
  134. package/dist/cjs/helpers/connectionOptions.js +1 -1
  135. package/dist/cjs/helpers/connectionOptions.js.map +1 -1
  136. package/dist/cjs/helpers/deviceId.d.ts +3 -2
  137. package/dist/cjs/helpers/deviceId.d.ts.map +1 -1
  138. package/dist/cjs/helpers/deviceId.js +3 -3
  139. package/dist/cjs/helpers/deviceId.js.map +1 -1
  140. package/dist/cjs/helpers/indexCheck.d.ts +1 -1
  141. package/dist/cjs/helpers/indexCheck.d.ts.map +1 -1
  142. package/dist/cjs/helpers/indexCheck.js +2 -2
  143. package/dist/cjs/helpers/indexCheck.js.map +1 -1
  144. package/dist/cjs/index.d.ts.map +1 -1
  145. package/dist/cjs/index.js +19 -10
  146. package/dist/cjs/index.js.map +1 -1
  147. package/dist/cjs/lib.d.ts +19 -12
  148. package/dist/cjs/lib.d.ts.map +1 -1
  149. package/dist/cjs/lib.js +27 -4
  150. package/dist/cjs/lib.js.map +1 -1
  151. package/dist/cjs/resources/common/exportedData.js +3 -3
  152. package/dist/cjs/resources/common/exportedData.js.map +1 -1
  153. package/dist/cjs/resources/resource.js +2 -2
  154. package/dist/cjs/resources/resource.js.map +1 -1
  155. package/dist/cjs/server.d.ts +12 -9
  156. package/dist/cjs/server.d.ts.map +1 -1
  157. package/dist/cjs/server.js +26 -20
  158. package/dist/cjs/server.js.map +1 -1
  159. package/dist/cjs/setup/aiTool.d.ts +46 -0
  160. package/dist/cjs/setup/aiTool.d.ts.map +1 -0
  161. package/dist/cjs/setup/aiTool.js +391 -0
  162. package/dist/cjs/setup/aiTool.js.map +1 -0
  163. package/dist/cjs/setup/installSkills.d.ts +42 -0
  164. package/dist/cjs/setup/installSkills.d.ts.map +1 -0
  165. package/dist/cjs/setup/installSkills.js +122 -0
  166. package/dist/cjs/setup/installSkills.js.map +1 -0
  167. package/dist/cjs/setup/setupAiToolsUtils.d.ts +4 -0
  168. package/dist/cjs/setup/setupAiToolsUtils.d.ts.map +1 -0
  169. package/dist/cjs/setup/setupAiToolsUtils.js +28 -0
  170. package/dist/cjs/setup/setupAiToolsUtils.js.map +1 -0
  171. package/dist/cjs/setup/setupMcpServer.d.ts +8 -0
  172. package/dist/cjs/setup/setupMcpServer.d.ts.map +1 -0
  173. package/dist/cjs/setup/setupMcpServer.js +391 -0
  174. package/dist/cjs/setup/setupMcpServer.js.map +1 -0
  175. package/dist/cjs/setup/setupTelemetry.d.ts +99 -0
  176. package/dist/cjs/setup/setupTelemetry.d.ts.map +1 -0
  177. package/dist/cjs/setup/setupTelemetry.js +202 -0
  178. package/dist/cjs/setup/setupTelemetry.js.map +1 -0
  179. package/dist/cjs/telemetry/constants.js +4 -4
  180. package/dist/cjs/telemetry/constants.js.map +1 -1
  181. package/dist/cjs/telemetry/eventCache.d.ts +19 -3
  182. package/dist/cjs/telemetry/eventCache.d.ts.map +1 -1
  183. package/dist/cjs/telemetry/eventCache.js +48 -3
  184. package/dist/cjs/telemetry/eventCache.js.map +1 -1
  185. package/dist/cjs/telemetry/telemetry.d.ts +106 -25
  186. package/dist/cjs/telemetry/telemetry.d.ts.map +1 -1
  187. package/dist/cjs/telemetry/telemetry.js +172 -117
  188. package/dist/cjs/telemetry/telemetry.js.map +1 -1
  189. package/dist/cjs/telemetry/timer.d.ts +12 -0
  190. package/dist/cjs/telemetry/timer.d.ts.map +1 -0
  191. package/dist/cjs/telemetry/timer.js +28 -0
  192. package/dist/cjs/telemetry/timer.js.map +1 -0
  193. package/dist/cjs/telemetry/types.d.ts +69 -11
  194. package/dist/cjs/telemetry/types.d.ts.map +1 -1
  195. package/dist/cjs/tools/args.d.ts +7 -2
  196. package/dist/cjs/tools/args.d.ts.map +1 -1
  197. package/dist/cjs/tools/args.js +6 -3
  198. package/dist/cjs/tools/args.js.map +1 -1
  199. package/dist/cjs/tools/assistant/listKnowledgeSources.js +2 -2
  200. package/dist/cjs/tools/assistant/listKnowledgeSources.js.map +1 -1
  201. package/dist/cjs/tools/assistant/searchKnowledge.d.ts +2 -14
  202. package/dist/cjs/tools/assistant/searchKnowledge.d.ts.map +1 -1
  203. package/dist/cjs/tools/assistant/searchKnowledge.js +2 -2
  204. package/dist/cjs/tools/assistant/searchKnowledge.js.map +1 -1
  205. package/dist/cjs/tools/atlas/atlasTool.js +2 -2
  206. package/dist/cjs/tools/atlas/atlasTool.js.map +1 -1
  207. package/dist/cjs/tools/atlas/connect/connectCluster.d.ts +10 -2
  208. package/dist/cjs/tools/atlas/connect/connectCluster.d.ts.map +1 -1
  209. package/dist/cjs/tools/atlas/connect/connectCluster.js +10 -7
  210. package/dist/cjs/tools/atlas/connect/connectCluster.js.map +1 -1
  211. package/dist/cjs/tools/atlas/create/createAccessList.d.ts +4 -4
  212. package/dist/cjs/tools/atlas/create/createDBUser.d.ts +4 -20
  213. package/dist/cjs/tools/atlas/create/createDBUser.d.ts.map +1 -1
  214. package/dist/cjs/tools/atlas/read/getPerformanceAdvisor.d.ts +7 -2
  215. package/dist/cjs/tools/atlas/read/getPerformanceAdvisor.d.ts.map +1 -1
  216. package/dist/cjs/tools/atlas/read/listAlerts.d.ts +18 -3
  217. package/dist/cjs/tools/atlas/read/listAlerts.d.ts.map +1 -1
  218. package/dist/cjs/tools/atlas/read/listAlerts.js +21 -3
  219. package/dist/cjs/tools/atlas/read/listAlerts.js.map +1 -1
  220. package/dist/cjs/tools/atlas/read/listProjects.d.ts.map +1 -1
  221. package/dist/cjs/tools/atlas/read/listProjects.js +10 -1
  222. package/dist/cjs/tools/atlas/read/listProjects.js.map +1 -1
  223. package/dist/cjs/tools/atlas/streams/build.d.ts +149 -0
  224. package/dist/cjs/tools/atlas/streams/build.d.ts.map +1 -0
  225. package/dist/cjs/tools/atlas/streams/build.js +671 -0
  226. package/dist/cjs/tools/atlas/streams/build.js.map +1 -0
  227. package/dist/cjs/tools/atlas/streams/discover.d.ts +44 -0
  228. package/dist/cjs/tools/atlas/streams/discover.d.ts.map +1 -0
  229. package/dist/cjs/tools/atlas/streams/discover.js +345 -0
  230. package/dist/cjs/tools/atlas/streams/discover.js.map +1 -0
  231. package/dist/cjs/tools/atlas/streams/manage.d.ts +111 -0
  232. package/dist/cjs/tools/atlas/streams/manage.d.ts.map +1 -0
  233. package/dist/cjs/tools/atlas/streams/manage.js +471 -0
  234. package/dist/cjs/tools/atlas/streams/manage.js.map +1 -0
  235. package/dist/cjs/tools/atlas/streams/streamsArgs.d.ts +74 -0
  236. package/dist/cjs/tools/atlas/streams/streamsArgs.d.ts.map +1 -0
  237. package/dist/cjs/tools/atlas/streams/streamsArgs.js +146 -0
  238. package/dist/cjs/tools/atlas/streams/streamsArgs.js.map +1 -0
  239. package/dist/cjs/tools/atlas/streams/streamsToolBase.d.ts +12 -0
  240. package/dist/cjs/tools/atlas/streams/streamsToolBase.d.ts.map +1 -0
  241. package/dist/cjs/tools/atlas/streams/streamsToolBase.js +163 -0
  242. package/dist/cjs/tools/atlas/streams/streamsToolBase.js.map +1 -0
  243. package/dist/cjs/tools/atlas/streams/teardown.d.ts +31 -0
  244. package/dist/cjs/tools/atlas/streams/teardown.d.ts.map +1 -0
  245. package/dist/cjs/tools/atlas/streams/teardown.js +236 -0
  246. package/dist/cjs/tools/atlas/streams/teardown.js.map +1 -0
  247. package/dist/cjs/tools/atlas/tools.d.ts +5 -0
  248. package/dist/cjs/tools/atlas/tools.d.ts.map +1 -1
  249. package/dist/cjs/tools/atlas/tools.js +11 -1
  250. package/dist/cjs/tools/atlas/tools.js.map +1 -1
  251. package/dist/cjs/tools/atlas/update/upgradeCluster.d.ts +28 -0
  252. package/dist/cjs/tools/atlas/update/upgradeCluster.d.ts.map +1 -0
  253. package/dist/cjs/tools/atlas/update/upgradeCluster.js +231 -0
  254. package/dist/cjs/tools/atlas/update/upgradeCluster.js.map +1 -0
  255. package/dist/cjs/tools/atlasLocal/atlasLocalTool.js +2 -2
  256. package/dist/cjs/tools/atlasLocal/atlasLocalTool.js.map +1 -1
  257. package/dist/cjs/tools/atlasLocal/create/createDeployment.d.ts +2 -1
  258. package/dist/cjs/tools/atlasLocal/create/createDeployment.d.ts.map +1 -1
  259. package/dist/cjs/tools/atlasLocal/create/createDeployment.js +10 -3
  260. package/dist/cjs/tools/atlasLocal/create/createDeployment.js.map +1 -1
  261. package/dist/cjs/tools/index.d.ts +1 -0
  262. package/dist/cjs/tools/index.d.ts.map +1 -1
  263. package/dist/cjs/tools/index.js +3 -1
  264. package/dist/cjs/tools/index.js.map +1 -1
  265. package/dist/cjs/tools/mongodb/create/createCollection.d.ts +1 -1
  266. package/dist/cjs/tools/mongodb/create/createCollection.d.ts.map +1 -1
  267. package/dist/cjs/tools/mongodb/create/createCollection.js +1 -1
  268. package/dist/cjs/tools/mongodb/create/createCollection.js.map +1 -1
  269. package/dist/cjs/tools/mongodb/create/createIndex.d.ts +56 -218
  270. package/dist/cjs/tools/mongodb/create/createIndex.d.ts.map +1 -1
  271. package/dist/cjs/tools/mongodb/create/createIndex.js +12 -14
  272. package/dist/cjs/tools/mongodb/create/createIndex.js.map +1 -1
  273. package/dist/cjs/tools/mongodb/create/insertMany.d.ts +5 -32
  274. package/dist/cjs/tools/mongodb/create/insertMany.d.ts.map +1 -1
  275. package/dist/cjs/tools/mongodb/create/insertMany.js +7 -91
  276. package/dist/cjs/tools/mongodb/create/insertMany.js.map +1 -1
  277. package/dist/cjs/tools/mongodb/delete/deleteMany.d.ts +2 -2
  278. package/dist/cjs/tools/mongodb/delete/deleteMany.d.ts.map +1 -1
  279. package/dist/cjs/tools/mongodb/delete/deleteMany.js +2 -1
  280. package/dist/cjs/tools/mongodb/delete/deleteMany.js.map +1 -1
  281. package/dist/cjs/tools/mongodb/delete/dropCollection.d.ts +1 -1
  282. package/dist/cjs/tools/mongodb/delete/dropCollection.d.ts.map +1 -1
  283. package/dist/cjs/tools/mongodb/delete/dropCollection.js +1 -1
  284. package/dist/cjs/tools/mongodb/delete/dropCollection.js.map +1 -1
  285. package/dist/cjs/tools/mongodb/delete/dropDatabase.d.ts.map +1 -1
  286. package/dist/cjs/tools/mongodb/delete/dropDatabase.js +1 -3
  287. package/dist/cjs/tools/mongodb/delete/dropDatabase.js.map +1 -1
  288. package/dist/cjs/tools/mongodb/delete/dropIndex.d.ts +5 -2
  289. package/dist/cjs/tools/mongodb/delete/dropIndex.d.ts.map +1 -1
  290. package/dist/cjs/tools/mongodb/delete/dropIndex.js +4 -9
  291. package/dist/cjs/tools/mongodb/delete/dropIndex.js.map +1 -1
  292. package/dist/cjs/tools/mongodb/metadata/collectionIndexes.d.ts +13 -43
  293. package/dist/cjs/tools/mongodb/metadata/collectionIndexes.d.ts.map +1 -1
  294. package/dist/cjs/tools/mongodb/metadata/collectionIndexes.js +41 -5
  295. package/dist/cjs/tools/mongodb/metadata/collectionIndexes.js.map +1 -1
  296. package/dist/cjs/tools/mongodb/metadata/collectionSchema.d.ts +1 -1
  297. package/dist/cjs/tools/mongodb/metadata/collectionSchema.d.ts.map +1 -1
  298. package/dist/cjs/tools/mongodb/metadata/collectionSchema.js +3 -3
  299. package/dist/cjs/tools/mongodb/metadata/collectionSchema.js.map +1 -1
  300. package/dist/cjs/tools/mongodb/metadata/collectionStorageSize.d.ts +3 -3
  301. package/dist/cjs/tools/mongodb/metadata/collectionStorageSize.d.ts.map +1 -1
  302. package/dist/cjs/tools/mongodb/metadata/collectionStorageSize.js +2 -2
  303. package/dist/cjs/tools/mongodb/metadata/collectionStorageSize.js.map +1 -1
  304. package/dist/cjs/tools/mongodb/metadata/dbStats.d.ts.map +1 -1
  305. package/dist/cjs/tools/mongodb/metadata/dbStats.js +3 -4
  306. package/dist/cjs/tools/mongodb/metadata/dbStats.js.map +1 -1
  307. package/dist/cjs/tools/mongodb/metadata/explain.d.ts +35 -357
  308. package/dist/cjs/tools/mongodb/metadata/explain.d.ts.map +1 -1
  309. package/dist/cjs/tools/mongodb/metadata/explain.js +5 -5
  310. package/dist/cjs/tools/mongodb/metadata/explain.js.map +1 -1
  311. package/dist/cjs/tools/mongodb/metadata/listCollections.d.ts +2 -10
  312. package/dist/cjs/tools/mongodb/metadata/listCollections.d.ts.map +1 -1
  313. package/dist/cjs/tools/mongodb/metadata/listCollections.js +1 -3
  314. package/dist/cjs/tools/mongodb/metadata/listCollections.js.map +1 -1
  315. package/dist/cjs/tools/mongodb/metadata/listDatabases.d.ts +3 -16
  316. package/dist/cjs/tools/mongodb/metadata/listDatabases.d.ts.map +1 -1
  317. package/dist/cjs/tools/mongodb/metadata/listDatabases.js +3 -3
  318. package/dist/cjs/tools/mongodb/metadata/listDatabases.js.map +1 -1
  319. package/dist/cjs/tools/mongodb/metadata/logs.d.ts +6 -3
  320. package/dist/cjs/tools/mongodb/metadata/logs.d.ts.map +1 -1
  321. package/dist/cjs/tools/mongodb/metadata/logs.js +1 -0
  322. package/dist/cjs/tools/mongodb/metadata/logs.js.map +1 -1
  323. package/dist/cjs/tools/mongodb/mongodbSchemas.d.ts +20 -191
  324. package/dist/cjs/tools/mongodb/mongodbSchemas.d.ts.map +1 -1
  325. package/dist/cjs/tools/mongodb/mongodbSchemas.js +34 -34
  326. package/dist/cjs/tools/mongodb/mongodbSchemas.js.map +1 -1
  327. package/dist/cjs/tools/mongodb/mongodbTool.d.ts +12 -1
  328. package/dist/cjs/tools/mongodb/mongodbTool.d.ts.map +1 -1
  329. package/dist/cjs/tools/mongodb/mongodbTool.js +17 -4
  330. package/dist/cjs/tools/mongodb/mongodbTool.js.map +1 -1
  331. package/dist/cjs/tools/mongodb/read/aggregate.d.ts +33 -300
  332. package/dist/cjs/tools/mongodb/read/aggregate.d.ts.map +1 -1
  333. package/dist/cjs/tools/mongodb/read/aggregate.js +23 -94
  334. package/dist/cjs/tools/mongodb/read/aggregate.js.map +1 -1
  335. package/dist/cjs/tools/mongodb/read/aggregateDB.d.ts +24 -0
  336. package/dist/cjs/tools/mongodb/read/aggregateDB.d.ts.map +1 -0
  337. package/dist/cjs/tools/mongodb/read/aggregateDB.js +173 -0
  338. package/dist/cjs/tools/mongodb/read/aggregateDB.js.map +1 -0
  339. package/dist/cjs/tools/mongodb/read/count.d.ts +3 -3
  340. package/dist/cjs/tools/mongodb/read/count.d.ts.map +1 -1
  341. package/dist/cjs/tools/mongodb/read/count.js +3 -2
  342. package/dist/cjs/tools/mongodb/read/count.js.map +1 -1
  343. package/dist/cjs/tools/mongodb/read/export.d.ts +30 -332
  344. package/dist/cjs/tools/mongodb/read/export.d.ts.map +1 -1
  345. package/dist/cjs/tools/mongodb/read/export.js +4 -6
  346. package/dist/cjs/tools/mongodb/read/export.js.map +1 -1
  347. package/dist/cjs/tools/mongodb/read/find.d.ts +11 -8
  348. package/dist/cjs/tools/mongodb/read/find.d.ts.map +1 -1
  349. package/dist/cjs/tools/mongodb/read/find.js +12 -11
  350. package/dist/cjs/tools/mongodb/read/find.js.map +1 -1
  351. package/dist/cjs/tools/mongodb/tools.d.ts +1 -0
  352. package/dist/cjs/tools/mongodb/tools.d.ts.map +1 -1
  353. package/dist/cjs/tools/mongodb/tools.js +3 -1
  354. package/dist/cjs/tools/mongodb/tools.js.map +1 -1
  355. package/dist/cjs/tools/mongodb/update/renameCollection.d.ts +1 -1
  356. package/dist/cjs/tools/mongodb/update/renameCollection.d.ts.map +1 -1
  357. package/dist/cjs/tools/mongodb/update/renameCollection.js +1 -1
  358. package/dist/cjs/tools/mongodb/update/renameCollection.js.map +1 -1
  359. package/dist/cjs/tools/mongodb/update/updateMany.d.ts +3 -3
  360. package/dist/cjs/tools/mongodb/update/updateMany.d.ts.map +1 -1
  361. package/dist/cjs/tools/mongodb/update/updateMany.js +3 -2
  362. package/dist/cjs/tools/mongodb/update/updateMany.js.map +1 -1
  363. package/dist/cjs/tools/tool.d.ts +21 -9
  364. package/dist/cjs/tools/tool.d.ts.map +1 -1
  365. package/dist/cjs/tools/tool.js +29 -10
  366. package/dist/cjs/tools/tool.js.map +1 -1
  367. package/dist/cjs/transports/base.d.ts +46 -23
  368. package/dist/cjs/transports/base.d.ts.map +1 -1
  369. package/dist/cjs/transports/base.js +37 -20
  370. package/dist/cjs/transports/base.js.map +1 -1
  371. package/dist/cjs/transports/expressBasedHttpServer.d.ts +24 -0
  372. package/dist/cjs/transports/expressBasedHttpServer.d.ts.map +1 -0
  373. package/dist/cjs/transports/expressBasedHttpServer.js +82 -0
  374. package/dist/cjs/transports/expressBasedHttpServer.js.map +1 -0
  375. package/dist/cjs/transports/jsonRpcErrorCodes.d.ts +12 -0
  376. package/dist/cjs/transports/jsonRpcErrorCodes.d.ts.map +1 -0
  377. package/dist/cjs/transports/jsonRpcErrorCodes.js +15 -0
  378. package/dist/cjs/transports/jsonRpcErrorCodes.js.map +1 -0
  379. package/dist/cjs/transports/mcpHttpServer.d.ts +61 -0
  380. package/dist/cjs/transports/mcpHttpServer.d.ts.map +1 -0
  381. package/dist/cjs/transports/mcpHttpServer.js +374 -0
  382. package/dist/cjs/transports/mcpHttpServer.js.map +1 -0
  383. package/dist/cjs/transports/monitoringServer.d.ts +29 -0
  384. package/dist/cjs/transports/monitoringServer.d.ts.map +1 -0
  385. package/dist/cjs/transports/monitoringServer.js +53 -0
  386. package/dist/cjs/transports/monitoringServer.js.map +1 -0
  387. package/dist/cjs/transports/stdio.d.ts +3 -2
  388. package/dist/cjs/transports/stdio.d.ts.map +1 -1
  389. package/dist/cjs/transports/stdio.js +2 -2
  390. package/dist/cjs/transports/stdio.js.map +1 -1
  391. package/dist/cjs/transports/streamableHttp/httpServers/expressBasedHttpServer.d.ts +24 -0
  392. package/dist/cjs/transports/streamableHttp/httpServers/expressBasedHttpServer.d.ts.map +1 -0
  393. package/dist/cjs/transports/streamableHttp/httpServers/expressBasedHttpServer.js +81 -0
  394. package/dist/cjs/transports/streamableHttp/httpServers/expressBasedHttpServer.js.map +1 -0
  395. package/dist/cjs/transports/streamableHttp/httpServers/healthCheckServer.d.ts +7 -0
  396. package/dist/cjs/transports/streamableHttp/httpServers/healthCheckServer.d.ts.map +1 -0
  397. package/dist/cjs/transports/streamableHttp/httpServers/healthCheckServer.js +24 -0
  398. package/dist/cjs/transports/streamableHttp/httpServers/healthCheckServer.js.map +1 -0
  399. package/dist/cjs/transports/streamableHttp/httpServers/mcpHttpServer.d.ts +37 -0
  400. package/dist/cjs/transports/streamableHttp/httpServers/mcpHttpServer.d.ts.map +1 -0
  401. package/dist/cjs/transports/streamableHttp/httpServers/mcpHttpServer.js +288 -0
  402. package/dist/cjs/transports/streamableHttp/httpServers/mcpHttpServer.js.map +1 -0
  403. package/dist/cjs/transports/streamableHttp/streamableHttpRunner.d.ts +32 -0
  404. package/dist/cjs/transports/streamableHttp/streamableHttpRunner.d.ts.map +1 -0
  405. package/dist/cjs/transports/streamableHttp/streamableHttpRunner.js +117 -0
  406. package/dist/cjs/transports/streamableHttp/streamableHttpRunner.js.map +1 -0
  407. package/dist/cjs/transports/streamableHttp.d.ts +66 -5
  408. package/dist/cjs/transports/streamableHttp.d.ts.map +1 -1
  409. package/dist/cjs/transports/streamableHttp.js +57 -409
  410. package/dist/cjs/transports/streamableHttp.js.map +1 -1
  411. package/dist/cjs/ui/components/ListDatabases/ListDatabases.d.ts +3 -0
  412. package/dist/cjs/ui/components/ListDatabases/ListDatabases.d.ts.map +1 -1
  413. package/dist/cjs/ui/components/ListDatabases/ListDatabases.js.map +1 -1
  414. package/dist/cjs/ui/index.d.ts +0 -1
  415. package/dist/cjs/ui/index.d.ts.map +1 -1
  416. package/dist/cjs/ui/lib/tools/list-databases.d.ts +1 -1
  417. package/dist/cjs/ui/lib/tools/list-databases.d.ts.map +1 -1
  418. package/dist/cjs/ui/lib/tools/list-databases.js +1 -1
  419. package/dist/cjs/ui/lib/tools/list-databases.js.map +1 -1
  420. package/dist/cjs/web.d.ts +31 -2
  421. package/dist/cjs/web.d.ts.map +1 -1
  422. package/dist/cjs/web.js +37 -1
  423. package/dist/cjs/web.js.map +1 -1
  424. package/dist/esm/common/atlas/accessListUtils.js +1 -1
  425. package/dist/esm/common/atlas/accessListUtils.js.map +1 -1
  426. package/dist/esm/common/atlas/apiClient.d.ts +98 -215
  427. package/dist/esm/common/atlas/apiClient.d.ts.map +1 -1
  428. package/dist/esm/common/atlas/apiClient.js +285 -36
  429. package/dist/esm/common/atlas/apiClient.js.map +1 -1
  430. package/dist/esm/common/atlas/auth/authProvider.d.ts +1 -1
  431. package/dist/esm/common/atlas/auth/authProvider.d.ts.map +1 -1
  432. package/dist/esm/common/atlas/auth/clientCredentials.d.ts +1 -1
  433. package/dist/esm/common/atlas/auth/clientCredentials.d.ts.map +1 -1
  434. package/dist/esm/common/atlas/auth/clientCredentials.js +1 -1
  435. package/dist/esm/common/atlas/auth/clientCredentials.js.map +1 -1
  436. package/dist/esm/common/atlas/cluster.d.ts +2 -0
  437. package/dist/esm/common/atlas/cluster.d.ts.map +1 -1
  438. package/dist/esm/common/atlas/cluster.js +9 -2
  439. package/dist/esm/common/atlas/cluster.js.map +1 -1
  440. package/dist/esm/common/atlas/performanceAdvisorUtils.d.ts.map +1 -1
  441. package/dist/esm/common/atlas/performanceAdvisorUtils.js +13 -5
  442. package/dist/esm/common/atlas/performanceAdvisorUtils.js.map +1 -1
  443. package/dist/esm/common/atlasLocal.d.ts +1 -1
  444. package/dist/esm/common/atlasLocal.d.ts.map +1 -1
  445. package/dist/esm/common/atlasLocal.js +1 -1
  446. package/dist/esm/common/atlasLocal.js.map +1 -1
  447. package/dist/esm/common/config/configOverrides.d.ts +3 -0
  448. package/dist/esm/common/config/configOverrides.d.ts.map +1 -1
  449. package/dist/esm/common/config/configOverrides.js +13 -10
  450. package/dist/esm/common/config/configOverrides.js.map +1 -1
  451. package/dist/esm/common/config/configUtils.d.ts +5 -1
  452. package/dist/esm/common/config/configUtils.d.ts.map +1 -1
  453. package/dist/esm/common/config/configUtils.js +20 -17
  454. package/dist/esm/common/config/configUtils.js.map +1 -1
  455. package/dist/esm/common/config/parseUserConfig.d.ts +2 -2
  456. package/dist/esm/common/config/parseUserConfig.d.ts.map +1 -1
  457. package/dist/esm/common/config/parseUserConfig.js +19 -18
  458. package/dist/esm/common/config/parseUserConfig.js.map +1 -1
  459. package/dist/esm/common/config/userConfig.d.ts +126 -117
  460. package/dist/esm/common/config/userConfig.d.ts.map +1 -1
  461. package/dist/esm/common/config/userConfig.js +88 -66
  462. package/dist/esm/common/config/userConfig.js.map +1 -1
  463. package/dist/esm/common/connectionInfo.d.ts +4 -2
  464. package/dist/esm/common/connectionInfo.d.ts.map +1 -1
  465. package/dist/esm/common/connectionInfo.js.map +1 -1
  466. package/dist/esm/common/connectionManager.d.ts +12 -4
  467. package/dist/esm/common/connectionManager.d.ts.map +1 -1
  468. package/dist/esm/common/connectionManager.js +83 -12
  469. package/dist/esm/common/connectionManager.js.map +1 -1
  470. package/dist/esm/common/errors.d.ts +1 -2
  471. package/dist/esm/common/errors.d.ts.map +1 -1
  472. package/dist/esm/common/errors.js +1 -2
  473. package/dist/esm/common/errors.js.map +1 -1
  474. package/dist/esm/common/exportsManager.d.ts +10 -8
  475. package/dist/esm/common/exportsManager.d.ts.map +1 -1
  476. package/dist/esm/common/exportsManager.js +1 -1
  477. package/dist/esm/common/exportsManager.js.map +1 -1
  478. package/dist/esm/common/logging/compositeLogger.d.ts +13 -0
  479. package/dist/esm/common/logging/compositeLogger.d.ts.map +1 -0
  480. package/dist/esm/common/logging/compositeLogger.js +30 -0
  481. package/dist/esm/common/logging/compositeLogger.js.map +1 -0
  482. package/dist/esm/common/logging/consoleLogger.d.ts +10 -0
  483. package/dist/esm/common/logging/consoleLogger.d.ts.map +1 -0
  484. package/dist/esm/common/logging/consoleLogger.js +21 -0
  485. package/dist/esm/common/logging/consoleLogger.js.map +1 -0
  486. package/dist/esm/common/logging/diskLogger.d.ts +14 -0
  487. package/dist/esm/common/logging/diskLogger.d.ts.map +1 -0
  488. package/dist/esm/common/logging/diskLogger.js +47 -0
  489. package/dist/esm/common/logging/diskLogger.js.map +1 -0
  490. package/dist/esm/common/logging/index.d.ts +10 -0
  491. package/dist/esm/common/logging/index.d.ts.map +1 -0
  492. package/dist/esm/common/logging/index.js +9 -0
  493. package/dist/esm/common/logging/index.js.map +1 -0
  494. package/dist/esm/common/logging/loggerBase.d.ts +23 -0
  495. package/dist/esm/common/logging/loggerBase.d.ts.map +1 -0
  496. package/dist/esm/common/logging/loggerBase.js +93 -0
  497. package/dist/esm/common/logging/loggerBase.js.map +1 -0
  498. package/dist/esm/common/logging/loggingDefinitions.d.ts +76 -0
  499. package/dist/esm/common/logging/loggingDefinitions.d.ts.map +1 -0
  500. package/dist/esm/common/logging/loggingDefinitions.js +77 -0
  501. package/dist/esm/common/logging/loggingDefinitions.js.map +1 -0
  502. package/dist/esm/common/logging/loggingTypes.d.ts +15 -0
  503. package/dist/esm/common/logging/loggingTypes.d.ts.map +1 -0
  504. package/dist/esm/common/logging/loggingTypes.js +3 -0
  505. package/dist/esm/common/logging/loggingTypes.js.map +1 -0
  506. package/dist/esm/common/logging/mcpLogger.d.ts +12 -0
  507. package/dist/esm/common/logging/mcpLogger.d.ts.map +1 -0
  508. package/dist/esm/common/logging/mcpLogger.js +26 -0
  509. package/dist/esm/common/logging/mcpLogger.js.map +1 -0
  510. package/dist/esm/common/logging/nullLogger.d.ts +8 -0
  511. package/dist/esm/common/logging/nullLogger.d.ts.map +1 -0
  512. package/dist/esm/common/logging/nullLogger.js +10 -0
  513. package/dist/esm/common/logging/nullLogger.js.map +1 -0
  514. package/dist/esm/common/metrics/index.d.ts +5 -0
  515. package/dist/esm/common/metrics/index.d.ts.map +1 -0
  516. package/dist/esm/common/metrics/index.js +3 -0
  517. package/dist/esm/common/metrics/index.js.map +1 -0
  518. package/dist/esm/common/metrics/metricDefinitions.d.ts +15 -0
  519. package/dist/esm/common/metrics/metricDefinitions.d.ts.map +1 -0
  520. package/dist/esm/common/metrics/metricDefinitions.js +32 -0
  521. package/dist/esm/common/metrics/metricDefinitions.js.map +1 -0
  522. package/dist/esm/common/metrics/metricsTypes.d.ts +15 -0
  523. package/dist/esm/common/metrics/metricsTypes.d.ts.map +1 -0
  524. package/dist/esm/common/metrics/metricsTypes.js +2 -0
  525. package/dist/esm/common/metrics/metricsTypes.js.map +1 -0
  526. package/dist/esm/common/metrics/prometheusMetrics.d.ts +15 -0
  527. package/dist/esm/common/metrics/prometheusMetrics.d.ts.map +1 -0
  528. package/dist/esm/common/metrics/prometheusMetrics.js +21 -0
  529. package/dist/esm/common/metrics/prometheusMetrics.js.map +1 -0
  530. package/dist/esm/common/packageInfo.d.ts +3 -0
  531. package/dist/esm/common/packageInfo.d.ts.map +1 -1
  532. package/dist/esm/common/packageInfo.js +4 -1
  533. package/dist/esm/common/packageInfo.js.map +1 -1
  534. package/dist/esm/common/schemas.d.ts +3 -3
  535. package/dist/esm/common/schemas.d.ts.map +1 -1
  536. package/dist/esm/common/schemas.js +2 -2
  537. package/dist/esm/common/schemas.js.map +1 -1
  538. package/dist/esm/common/session.d.ts +5 -8
  539. package/dist/esm/common/session.d.ts.map +1 -1
  540. package/dist/esm/common/session.js +3 -4
  541. package/dist/esm/common/session.js.map +1 -1
  542. package/dist/esm/common/sessionStore.d.ts +62 -12
  543. package/dist/esm/common/sessionStore.d.ts.map +1 -1
  544. package/dist/esm/common/sessionStore.js +32 -16
  545. package/dist/esm/common/sessionStore.js.map +1 -1
  546. package/dist/esm/elicitation.d.ts +18 -0
  547. package/dist/esm/elicitation.d.ts.map +1 -1
  548. package/dist/esm/elicitation.js +31 -1
  549. package/dist/esm/elicitation.js.map +1 -1
  550. package/dist/esm/helpers/assertVectorSearchFilterFieldsAreIndexed.d.ts +1 -1
  551. package/dist/esm/helpers/assertVectorSearchFilterFieldsAreIndexed.d.ts.map +1 -1
  552. package/dist/esm/helpers/assertVectorSearchFilterFieldsAreIndexed.js +1 -1
  553. package/dist/esm/helpers/assertVectorSearchFilterFieldsAreIndexed.js.map +1 -1
  554. package/dist/esm/helpers/connectionOptions.d.ts +2 -5
  555. package/dist/esm/helpers/connectionOptions.d.ts.map +1 -1
  556. package/dist/esm/helpers/connectionOptions.js +1 -1
  557. package/dist/esm/helpers/connectionOptions.js.map +1 -1
  558. package/dist/esm/helpers/deviceId.d.ts +3 -2
  559. package/dist/esm/helpers/deviceId.d.ts.map +1 -1
  560. package/dist/esm/helpers/deviceId.js +1 -1
  561. package/dist/esm/helpers/deviceId.js.map +1 -1
  562. package/dist/esm/helpers/indexCheck.d.ts +1 -1
  563. package/dist/esm/helpers/indexCheck.d.ts.map +1 -1
  564. package/dist/esm/helpers/indexCheck.js +1 -1
  565. package/dist/esm/helpers/indexCheck.js.map +1 -1
  566. package/dist/esm/index.d.ts.map +1 -1
  567. package/dist/esm/index.js +11 -2
  568. package/dist/esm/index.js.map +1 -1
  569. package/dist/esm/lib.d.ts +19 -12
  570. package/dist/esm/lib.d.ts.map +1 -1
  571. package/dist/esm/lib.js +10 -5
  572. package/dist/esm/lib.js.map +1 -1
  573. package/dist/esm/resources/common/exportedData.js +1 -1
  574. package/dist/esm/resources/common/exportedData.js.map +1 -1
  575. package/dist/esm/resources/resource.js +1 -1
  576. package/dist/esm/resources/resource.js.map +1 -1
  577. package/dist/esm/server.d.ts +12 -9
  578. package/dist/esm/server.d.ts.map +1 -1
  579. package/dist/esm/server.js +16 -10
  580. package/dist/esm/server.js.map +1 -1
  581. package/dist/esm/setup/aiTool.d.ts +46 -0
  582. package/dist/esm/setup/aiTool.d.ts.map +1 -0
  583. package/dist/esm/setup/aiTool.js +383 -0
  584. package/dist/esm/setup/aiTool.js.map +1 -0
  585. package/dist/esm/setup/installSkills.d.ts +42 -0
  586. package/dist/esm/setup/installSkills.d.ts.map +1 -0
  587. package/dist/esm/setup/installSkills.js +113 -0
  588. package/dist/esm/setup/installSkills.js.map +1 -0
  589. package/dist/esm/setup/setupAiToolsUtils.d.ts +4 -0
  590. package/dist/esm/setup/setupAiToolsUtils.d.ts.map +1 -0
  591. package/dist/esm/setup/setupAiToolsUtils.js +20 -0
  592. package/dist/esm/setup/setupAiToolsUtils.js.map +1 -0
  593. package/dist/esm/setup/setupMcpServer.d.ts +8 -0
  594. package/dist/esm/setup/setupMcpServer.d.ts.map +1 -0
  595. package/dist/esm/setup/setupMcpServer.js +384 -0
  596. package/dist/esm/setup/setupMcpServer.js.map +1 -0
  597. package/dist/esm/setup/setupTelemetry.d.ts +99 -0
  598. package/dist/esm/setup/setupTelemetry.d.ts.map +1 -0
  599. package/dist/esm/setup/setupTelemetry.js +197 -0
  600. package/dist/esm/setup/setupTelemetry.js.map +1 -0
  601. package/dist/esm/telemetry/constants.js +4 -4
  602. package/dist/esm/telemetry/constants.js.map +1 -1
  603. package/dist/esm/telemetry/eventCache.d.ts +19 -3
  604. package/dist/esm/telemetry/eventCache.d.ts.map +1 -1
  605. package/dist/esm/telemetry/eventCache.js +48 -3
  606. package/dist/esm/telemetry/eventCache.js.map +1 -1
  607. package/dist/esm/telemetry/telemetry.d.ts +106 -25
  608. package/dist/esm/telemetry/telemetry.d.ts.map +1 -1
  609. package/dist/esm/telemetry/telemetry.js +167 -113
  610. package/dist/esm/telemetry/telemetry.js.map +1 -1
  611. package/dist/esm/telemetry/timer.d.ts +12 -0
  612. package/dist/esm/telemetry/timer.d.ts.map +1 -0
  613. package/dist/esm/telemetry/timer.js +24 -0
  614. package/dist/esm/telemetry/timer.js.map +1 -0
  615. package/dist/esm/telemetry/types.d.ts +69 -11
  616. package/dist/esm/telemetry/types.d.ts.map +1 -1
  617. package/dist/esm/tools/args.d.ts +7 -2
  618. package/dist/esm/tools/args.d.ts.map +1 -1
  619. package/dist/esm/tools/args.js +6 -4
  620. package/dist/esm/tools/args.js.map +1 -1
  621. package/dist/esm/tools/assistant/listKnowledgeSources.js +1 -1
  622. package/dist/esm/tools/assistant/listKnowledgeSources.js.map +1 -1
  623. package/dist/esm/tools/assistant/searchKnowledge.d.ts +2 -14
  624. package/dist/esm/tools/assistant/searchKnowledge.d.ts.map +1 -1
  625. package/dist/esm/tools/assistant/searchKnowledge.js +1 -1
  626. package/dist/esm/tools/assistant/searchKnowledge.js.map +1 -1
  627. package/dist/esm/tools/atlas/atlasTool.js +1 -1
  628. package/dist/esm/tools/atlas/atlasTool.js.map +1 -1
  629. package/dist/esm/tools/atlas/connect/connectCluster.d.ts +10 -2
  630. package/dist/esm/tools/atlas/connect/connectCluster.d.ts.map +1 -1
  631. package/dist/esm/tools/atlas/connect/connectCluster.js +4 -1
  632. package/dist/esm/tools/atlas/connect/connectCluster.js.map +1 -1
  633. package/dist/esm/tools/atlas/create/createAccessList.d.ts +4 -4
  634. package/dist/esm/tools/atlas/create/createDBUser.d.ts +4 -20
  635. package/dist/esm/tools/atlas/create/createDBUser.d.ts.map +1 -1
  636. package/dist/esm/tools/atlas/read/getPerformanceAdvisor.d.ts +7 -2
  637. package/dist/esm/tools/atlas/read/getPerformanceAdvisor.d.ts.map +1 -1
  638. package/dist/esm/tools/atlas/read/listAlerts.d.ts +18 -3
  639. package/dist/esm/tools/atlas/read/listAlerts.d.ts.map +1 -1
  640. package/dist/esm/tools/atlas/read/listAlerts.js +21 -3
  641. package/dist/esm/tools/atlas/read/listAlerts.js.map +1 -1
  642. package/dist/esm/tools/atlas/read/listProjects.d.ts.map +1 -1
  643. package/dist/esm/tools/atlas/read/listProjects.js +10 -1
  644. package/dist/esm/tools/atlas/read/listProjects.js.map +1 -1
  645. package/dist/esm/tools/atlas/streams/build.d.ts +149 -0
  646. package/dist/esm/tools/atlas/streams/build.d.ts.map +1 -0
  647. package/dist/esm/tools/atlas/streams/build.js +667 -0
  648. package/dist/esm/tools/atlas/streams/build.js.map +1 -0
  649. package/dist/esm/tools/atlas/streams/discover.d.ts +44 -0
  650. package/dist/esm/tools/atlas/streams/discover.d.ts.map +1 -0
  651. package/dist/esm/tools/atlas/streams/discover.js +341 -0
  652. package/dist/esm/tools/atlas/streams/discover.js.map +1 -0
  653. package/dist/esm/tools/atlas/streams/manage.d.ts +111 -0
  654. package/dist/esm/tools/atlas/streams/manage.d.ts.map +1 -0
  655. package/dist/esm/tools/atlas/streams/manage.js +467 -0
  656. package/dist/esm/tools/atlas/streams/manage.js.map +1 -0
  657. package/dist/esm/tools/atlas/streams/streamsArgs.d.ts +74 -0
  658. package/dist/esm/tools/atlas/streams/streamsArgs.d.ts.map +1 -0
  659. package/dist/esm/tools/atlas/streams/streamsArgs.js +143 -0
  660. package/dist/esm/tools/atlas/streams/streamsArgs.js.map +1 -0
  661. package/dist/esm/tools/atlas/streams/streamsToolBase.d.ts +12 -0
  662. package/dist/esm/tools/atlas/streams/streamsToolBase.d.ts.map +1 -0
  663. package/dist/esm/tools/atlas/streams/streamsToolBase.js +159 -0
  664. package/dist/esm/tools/atlas/streams/streamsToolBase.js.map +1 -0
  665. package/dist/esm/tools/atlas/streams/teardown.d.ts +31 -0
  666. package/dist/esm/tools/atlas/streams/teardown.d.ts.map +1 -0
  667. package/dist/esm/tools/atlas/streams/teardown.js +232 -0
  668. package/dist/esm/tools/atlas/streams/teardown.js.map +1 -0
  669. package/dist/esm/tools/atlas/tools.d.ts +5 -0
  670. package/dist/esm/tools/atlas/tools.d.ts.map +1 -1
  671. package/dist/esm/tools/atlas/tools.js +5 -0
  672. package/dist/esm/tools/atlas/tools.js.map +1 -1
  673. package/dist/esm/tools/atlas/update/upgradeCluster.d.ts +28 -0
  674. package/dist/esm/tools/atlas/update/upgradeCluster.d.ts.map +1 -0
  675. package/dist/esm/tools/atlas/update/upgradeCluster.js +227 -0
  676. package/dist/esm/tools/atlas/update/upgradeCluster.js.map +1 -0
  677. package/dist/esm/tools/atlasLocal/atlasLocalTool.js +1 -1
  678. package/dist/esm/tools/atlasLocal/atlasLocalTool.js.map +1 -1
  679. package/dist/esm/tools/atlasLocal/create/createDeployment.d.ts +2 -1
  680. package/dist/esm/tools/atlasLocal/create/createDeployment.d.ts.map +1 -1
  681. package/dist/esm/tools/atlasLocal/create/createDeployment.js +10 -3
  682. package/dist/esm/tools/atlasLocal/create/createDeployment.js.map +1 -1
  683. package/dist/esm/tools/index.d.ts +1 -0
  684. package/dist/esm/tools/index.d.ts.map +1 -1
  685. package/dist/esm/tools/index.js +1 -0
  686. package/dist/esm/tools/index.js.map +1 -1
  687. package/dist/esm/tools/mongodb/create/createCollection.d.ts +1 -1
  688. package/dist/esm/tools/mongodb/create/createCollection.d.ts.map +1 -1
  689. package/dist/esm/tools/mongodb/create/createCollection.js +2 -2
  690. package/dist/esm/tools/mongodb/create/createCollection.js.map +1 -1
  691. package/dist/esm/tools/mongodb/create/createIndex.d.ts +56 -218
  692. package/dist/esm/tools/mongodb/create/createIndex.d.ts.map +1 -1
  693. package/dist/esm/tools/mongodb/create/createIndex.js +14 -16
  694. package/dist/esm/tools/mongodb/create/createIndex.js.map +1 -1
  695. package/dist/esm/tools/mongodb/create/insertMany.d.ts +5 -32
  696. package/dist/esm/tools/mongodb/create/insertMany.d.ts.map +1 -1
  697. package/dist/esm/tools/mongodb/create/insertMany.js +8 -92
  698. package/dist/esm/tools/mongodb/create/insertMany.js.map +1 -1
  699. package/dist/esm/tools/mongodb/delete/deleteMany.d.ts +2 -2
  700. package/dist/esm/tools/mongodb/delete/deleteMany.d.ts.map +1 -1
  701. package/dist/esm/tools/mongodb/delete/deleteMany.js +3 -2
  702. package/dist/esm/tools/mongodb/delete/deleteMany.js.map +1 -1
  703. package/dist/esm/tools/mongodb/delete/dropCollection.d.ts +1 -1
  704. package/dist/esm/tools/mongodb/delete/dropCollection.d.ts.map +1 -1
  705. package/dist/esm/tools/mongodb/delete/dropCollection.js +2 -2
  706. package/dist/esm/tools/mongodb/delete/dropCollection.js.map +1 -1
  707. package/dist/esm/tools/mongodb/delete/dropDatabase.d.ts.map +1 -1
  708. package/dist/esm/tools/mongodb/delete/dropDatabase.js +2 -4
  709. package/dist/esm/tools/mongodb/delete/dropDatabase.js.map +1 -1
  710. package/dist/esm/tools/mongodb/delete/dropIndex.d.ts +5 -2
  711. package/dist/esm/tools/mongodb/delete/dropIndex.d.ts.map +1 -1
  712. package/dist/esm/tools/mongodb/delete/dropIndex.js +5 -10
  713. package/dist/esm/tools/mongodb/delete/dropIndex.js.map +1 -1
  714. package/dist/esm/tools/mongodb/metadata/collectionIndexes.d.ts +13 -43
  715. package/dist/esm/tools/mongodb/metadata/collectionIndexes.d.ts.map +1 -1
  716. package/dist/esm/tools/mongodb/metadata/collectionIndexes.js +42 -6
  717. package/dist/esm/tools/mongodb/metadata/collectionIndexes.js.map +1 -1
  718. package/dist/esm/tools/mongodb/metadata/collectionSchema.d.ts +1 -1
  719. package/dist/esm/tools/mongodb/metadata/collectionSchema.d.ts.map +1 -1
  720. package/dist/esm/tools/mongodb/metadata/collectionSchema.js +4 -4
  721. package/dist/esm/tools/mongodb/metadata/collectionSchema.js.map +1 -1
  722. package/dist/esm/tools/mongodb/metadata/collectionStorageSize.d.ts +3 -3
  723. package/dist/esm/tools/mongodb/metadata/collectionStorageSize.d.ts.map +1 -1
  724. package/dist/esm/tools/mongodb/metadata/collectionStorageSize.js +3 -3
  725. package/dist/esm/tools/mongodb/metadata/collectionStorageSize.js.map +1 -1
  726. package/dist/esm/tools/mongodb/metadata/dbStats.d.ts.map +1 -1
  727. package/dist/esm/tools/mongodb/metadata/dbStats.js +4 -5
  728. package/dist/esm/tools/mongodb/metadata/dbStats.js.map +1 -1
  729. package/dist/esm/tools/mongodb/metadata/explain.d.ts +35 -357
  730. package/dist/esm/tools/mongodb/metadata/explain.d.ts.map +1 -1
  731. package/dist/esm/tools/mongodb/metadata/explain.js +7 -7
  732. package/dist/esm/tools/mongodb/metadata/explain.js.map +1 -1
  733. package/dist/esm/tools/mongodb/metadata/listCollections.d.ts +2 -10
  734. package/dist/esm/tools/mongodb/metadata/listCollections.d.ts.map +1 -1
  735. package/dist/esm/tools/mongodb/metadata/listCollections.js +2 -4
  736. package/dist/esm/tools/mongodb/metadata/listCollections.js.map +1 -1
  737. package/dist/esm/tools/mongodb/metadata/listDatabases.d.ts +3 -16
  738. package/dist/esm/tools/mongodb/metadata/listDatabases.d.ts.map +1 -1
  739. package/dist/esm/tools/mongodb/metadata/listDatabases.js +1 -1
  740. package/dist/esm/tools/mongodb/metadata/listDatabases.js.map +1 -1
  741. package/dist/esm/tools/mongodb/metadata/logs.d.ts +6 -3
  742. package/dist/esm/tools/mongodb/metadata/logs.d.ts.map +1 -1
  743. package/dist/esm/tools/mongodb/metadata/logs.js +1 -0
  744. package/dist/esm/tools/mongodb/metadata/logs.js.map +1 -1
  745. package/dist/esm/tools/mongodb/mongodbSchemas.d.ts +20 -191
  746. package/dist/esm/tools/mongodb/mongodbSchemas.d.ts.map +1 -1
  747. package/dist/esm/tools/mongodb/mongodbSchemas.js +33 -33
  748. package/dist/esm/tools/mongodb/mongodbSchemas.js.map +1 -1
  749. package/dist/esm/tools/mongodb/mongodbTool.d.ts +12 -1
  750. package/dist/esm/tools/mongodb/mongodbTool.d.ts.map +1 -1
  751. package/dist/esm/tools/mongodb/mongodbTool.js +15 -2
  752. package/dist/esm/tools/mongodb/mongodbTool.js.map +1 -1
  753. package/dist/esm/tools/mongodb/read/aggregate.d.ts +33 -300
  754. package/dist/esm/tools/mongodb/read/aggregate.d.ts.map +1 -1
  755. package/dist/esm/tools/mongodb/read/aggregate.js +22 -92
  756. package/dist/esm/tools/mongodb/read/aggregate.js.map +1 -1
  757. package/dist/esm/tools/mongodb/read/aggregateDB.d.ts +24 -0
  758. package/dist/esm/tools/mongodb/read/aggregateDB.d.ts.map +1 -0
  759. package/dist/esm/tools/mongodb/read/aggregateDB.js +169 -0
  760. package/dist/esm/tools/mongodb/read/aggregateDB.js.map +1 -0
  761. package/dist/esm/tools/mongodb/read/count.d.ts +3 -3
  762. package/dist/esm/tools/mongodb/read/count.d.ts.map +1 -1
  763. package/dist/esm/tools/mongodb/read/count.js +4 -3
  764. package/dist/esm/tools/mongodb/read/count.js.map +1 -1
  765. package/dist/esm/tools/mongodb/read/export.d.ts +30 -332
  766. package/dist/esm/tools/mongodb/read/export.d.ts.map +1 -1
  767. package/dist/esm/tools/mongodb/read/export.js +6 -8
  768. package/dist/esm/tools/mongodb/read/export.js.map +1 -1
  769. package/dist/esm/tools/mongodb/read/find.d.ts +11 -8
  770. package/dist/esm/tools/mongodb/read/find.d.ts.map +1 -1
  771. package/dist/esm/tools/mongodb/read/find.js +12 -11
  772. package/dist/esm/tools/mongodb/read/find.js.map +1 -1
  773. package/dist/esm/tools/mongodb/tools.d.ts +1 -0
  774. package/dist/esm/tools/mongodb/tools.d.ts.map +1 -1
  775. package/dist/esm/tools/mongodb/tools.js +1 -0
  776. package/dist/esm/tools/mongodb/tools.js.map +1 -1
  777. package/dist/esm/tools/mongodb/update/renameCollection.d.ts +1 -1
  778. package/dist/esm/tools/mongodb/update/renameCollection.d.ts.map +1 -1
  779. package/dist/esm/tools/mongodb/update/renameCollection.js +2 -2
  780. package/dist/esm/tools/mongodb/update/renameCollection.js.map +1 -1
  781. package/dist/esm/tools/mongodb/update/updateMany.d.ts +3 -3
  782. package/dist/esm/tools/mongodb/update/updateMany.d.ts.map +1 -1
  783. package/dist/esm/tools/mongodb/update/updateMany.js +4 -3
  784. package/dist/esm/tools/mongodb/update/updateMany.js.map +1 -1
  785. package/dist/esm/tools/tool.d.ts +21 -9
  786. package/dist/esm/tools/tool.d.ts.map +1 -1
  787. package/dist/esm/tools/tool.js +22 -3
  788. package/dist/esm/tools/tool.js.map +1 -1
  789. package/dist/esm/transports/base.d.ts +46 -23
  790. package/dist/esm/transports/base.d.ts.map +1 -1
  791. package/dist/esm/transports/base.js +32 -15
  792. package/dist/esm/transports/base.js.map +1 -1
  793. package/dist/esm/transports/expressBasedHttpServer.d.ts +24 -0
  794. package/dist/esm/transports/expressBasedHttpServer.d.ts.map +1 -0
  795. package/dist/esm/transports/expressBasedHttpServer.js +75 -0
  796. package/dist/esm/transports/expressBasedHttpServer.js.map +1 -0
  797. package/dist/esm/transports/jsonRpcErrorCodes.d.ts +12 -0
  798. package/dist/esm/transports/jsonRpcErrorCodes.d.ts.map +1 -0
  799. package/dist/esm/transports/jsonRpcErrorCodes.js +12 -0
  800. package/dist/esm/transports/jsonRpcErrorCodes.js.map +1 -0
  801. package/dist/esm/transports/mcpHttpServer.d.ts +61 -0
  802. package/dist/esm/transports/mcpHttpServer.d.ts.map +1 -0
  803. package/dist/esm/transports/mcpHttpServer.js +333 -0
  804. package/dist/esm/transports/mcpHttpServer.js.map +1 -0
  805. package/dist/esm/transports/monitoringServer.d.ts +29 -0
  806. package/dist/esm/transports/monitoringServer.d.ts.map +1 -0
  807. package/dist/esm/transports/monitoringServer.js +48 -0
  808. package/dist/esm/transports/monitoringServer.js.map +1 -0
  809. package/dist/esm/transports/stdio.d.ts +3 -2
  810. package/dist/esm/transports/stdio.d.ts.map +1 -1
  811. package/dist/esm/transports/stdio.js +1 -1
  812. package/dist/esm/transports/stdio.js.map +1 -1
  813. package/dist/esm/transports/streamableHttp/httpServers/expressBasedHttpServer.d.ts +24 -0
  814. package/dist/esm/transports/streamableHttp/httpServers/expressBasedHttpServer.d.ts.map +1 -0
  815. package/dist/esm/transports/streamableHttp/httpServers/expressBasedHttpServer.js +74 -0
  816. package/dist/esm/transports/streamableHttp/httpServers/expressBasedHttpServer.js.map +1 -0
  817. package/dist/esm/transports/streamableHttp/httpServers/healthCheckServer.d.ts +7 -0
  818. package/dist/esm/transports/streamableHttp/httpServers/healthCheckServer.d.ts.map +1 -0
  819. package/dist/esm/transports/streamableHttp/httpServers/healthCheckServer.js +20 -0
  820. package/dist/esm/transports/streamableHttp/httpServers/healthCheckServer.js.map +1 -0
  821. package/dist/esm/transports/streamableHttp/httpServers/mcpHttpServer.d.ts +37 -0
  822. package/dist/esm/transports/streamableHttp/httpServers/mcpHttpServer.d.ts.map +1 -0
  823. package/dist/esm/transports/streamableHttp/httpServers/mcpHttpServer.js +248 -0
  824. package/dist/esm/transports/streamableHttp/httpServers/mcpHttpServer.js.map +1 -0
  825. package/dist/esm/transports/streamableHttp/streamableHttpRunner.d.ts +32 -0
  826. package/dist/esm/transports/streamableHttp/streamableHttpRunner.d.ts.map +1 -0
  827. package/dist/esm/transports/streamableHttp/streamableHttpRunner.js +113 -0
  828. package/dist/esm/transports/streamableHttp/streamableHttpRunner.js.map +1 -0
  829. package/dist/esm/transports/streamableHttp.d.ts +66 -5
  830. package/dist/esm/transports/streamableHttp.d.ts.map +1 -1
  831. package/dist/esm/transports/streamableHttp.js +45 -370
  832. package/dist/esm/transports/streamableHttp.js.map +1 -1
  833. package/dist/esm/ui/components/ListDatabases/ListDatabases.d.ts +3 -0
  834. package/dist/esm/ui/components/ListDatabases/ListDatabases.d.ts.map +1 -1
  835. package/dist/esm/ui/components/ListDatabases/ListDatabases.js.map +1 -1
  836. package/dist/esm/ui/index.d.ts +0 -1
  837. package/dist/esm/ui/index.d.ts.map +1 -1
  838. package/dist/esm/ui/lib/tools/list-databases.d.ts +1 -1
  839. package/dist/esm/ui/lib/tools/list-databases.d.ts.map +1 -1
  840. package/dist/esm/ui/lib/tools/list-databases.js +1 -1
  841. package/dist/esm/ui/lib/tools/list-databases.js.map +1 -1
  842. package/dist/esm/web.d.ts +31 -2
  843. package/dist/esm/web.d.ts.map +1 -1
  844. package/dist/esm/web.js +17 -1
  845. package/dist/esm/web.js.map +1 -1
  846. package/package.json +81 -64
@@ -1,57 +1,138 @@
1
- import type { Session } from "../common/session.js";
2
1
  import type { BaseEvent, CommonProperties } from "./types.js";
3
- import type { UserConfig } from "../common/config/userConfig.js";
2
+ import type { LoggerBase } from "../common/logging/index.js";
3
+ import type { ApiClient } from "../common/atlas/apiClient.js";
4
4
  import { EventCache } from "./eventCache.js";
5
5
  import type { DeviceId } from "../helpers/deviceId.js";
6
+ import type { Keychain } from "../common/keychain.js";
7
+ import type { Session } from "../common/session.js";
8
+ import type { UserConfig } from "../common/config/userConfig.js";
6
9
  import { EventEmitter } from "events";
7
- export interface TelemetryEvents {
8
- "events-emitted": [];
9
- "events-send-failed": [];
10
- "events-skipped": [];
10
+ import type { TelemetryEvents } from "@mongodb-js/mcp-types";
11
+ export type { TelemetryEvents };
12
+ /**
13
+ * Configuration for the {@link Telemetry} pipeline.
14
+ */
15
+ export interface TelemetryConfig {
16
+ /** Logger used by the telemetry pipeline for its own diagnostics. */
17
+ logger: LoggerBase;
18
+ /** Device id source, resolved asynchronously during setup. */
19
+ deviceId: DeviceId;
20
+ /**
21
+ * API client used to send events. Always required — the pipeline would
22
+ * otherwise buffer events in the cache forever. When no Atlas credentials
23
+ * are configured, callers should still pass an unauthenticated
24
+ * {@link ApiClient}; it will route telemetry through the unauth endpoint.
25
+ */
26
+ apiClient: ApiClient;
27
+ /** Secrets source used when redacting events prior to sending. */
28
+ keychain?: Keychain;
29
+ /**
30
+ * The user's telemetry preference. When set to `false`, no events are
31
+ * cached or sent. The DO_NOT_TRACK environment variable is always honored
32
+ * on top of this setting, so callers don't need to check it themselves.
33
+ */
34
+ enabled: boolean;
35
+ /**
36
+ * Returns the host-supplied common properties merged onto every event
37
+ * (e.g. hosting mode, MCP client identity, transport). Invoked on every
38
+ * send so values resolved after construction — like the client name/
39
+ * version exchanged during handshake — are captured. Static properties
40
+ * can simply be returned as constants from this callback.
41
+ *
42
+ * Machine metadata, device id, and container environment are provided by
43
+ * the pipeline itself and don't need to be returned here.
44
+ */
45
+ getCommonProperties?: () => Partial<CommonProperties>;
46
+ /**
47
+ * Optional override for the underlying event cache. Defaults to the
48
+ * process-wide singleton returned by {@link EventCache.getInstance}.
49
+ * Mostly useful for tests or callers that need to isolate caching.
50
+ */
51
+ eventCache?: EventCache;
11
52
  }
53
+ /** Maximum number of events sent per batch. */
54
+ export declare const BATCH_SIZE = 32;
55
+ /** Delay between send attempts under normal conditions. */
56
+ export declare const SEND_INTERVAL_MS = 30000;
57
+ /** Initial backoff delay after a 429 response. */
58
+ export declare const INITIAL_BACKOFF_MS = 60000;
59
+ /** Maximum backoff delay (1 hour). */
60
+ export declare const MAX_BACKOFF_MS = 3600000;
61
+ /**
62
+ * Calculates the next backoff duration, doubling the current value up to MAX_BACKOFF_MS.
63
+ */
64
+ export declare function nextBackoffMs(currentMs: number): number;
12
65
  export declare class Telemetry {
13
- private readonly session;
14
- private readonly userConfig;
15
- private readonly commonProperties;
16
- private isBufferingEvents;
17
66
  /** Resolves when the setup is complete or a timeout occurs */
18
67
  setupPromise: Promise<[string, boolean]> | undefined;
19
68
  readonly events: EventEmitter<TelemetryEvents>;
20
- private eventCache;
21
- private deviceId;
69
+ private readonly logger;
70
+ private readonly apiClient;
71
+ private readonly keychain?;
72
+ private readonly enabled;
73
+ private readonly getHostCommonProperties;
74
+ /**
75
+ * Machine metadata plus device_id / is_container_env, which the pipeline
76
+ * resolves itself during setup. Host-supplied properties are merged on
77
+ * top of this at send time.
78
+ */
79
+ private readonly pipelineCommonProperties;
80
+ private readonly eventCache;
81
+ private readonly deviceId;
82
+ private backoffMs;
83
+ private readonly timer;
22
84
  private constructor();
23
- static create(session: Session, userConfig: UserConfig, deviceId: DeviceId, { commonProperties, eventCache, }?: {
85
+ /**
86
+ * @deprecated Pass a {@link TelemetryConfig} object instead. This
87
+ * positional-argument overload is preserved for backward compatibility
88
+ * and will be removed in the next major version.
89
+ */
90
+ static create(session: Session, userConfig: UserConfig, deviceId: DeviceId, options?: {
24
91
  commonProperties?: Partial<CommonProperties>;
25
92
  eventCache?: EventCache;
26
93
  }): Telemetry;
94
+ static create(config: TelemetryConfig): Telemetry;
27
95
  private setup;
28
96
  close(): Promise<void>;
29
97
  /**
30
- * Emits events through the telemetry pipeline
31
- * @param events - The events to emit
98
+ * Caches events for sending via the background timer.
32
99
  */
33
100
  emitEvents(events: BaseEvent[]): void;
34
101
  /**
35
102
  * Gets the common properties for events
36
- * @returns Object containing common properties for all events
37
103
  */
38
104
  getCommonProperties(): CommonProperties;
39
105
  /**
40
- * Checks if telemetry is currently enabled
41
- * This is a method rather than a constant to capture runtime config changes
106
+ * Checks if telemetry is currently enabled.
42
107
  *
43
- * Follows the Console Do Not Track standard (https://consoledonottrack.com/)
44
- * by respecting the DO_NOT_TRACK environment variable
108
+ * Follows the Console Do Not Track standard
109
+ * by respecting the DO_NOT_TRACK environment variable. The env check is
110
+ * done on every call so an operator can opt out mid-process.
45
111
  */
46
112
  isTelemetryEnabled(): boolean;
47
113
  /**
48
- * Attempts to emit events through authenticated and unauthenticated clients
49
- * Falls back to caching if both attempts fail
114
+ * Schedules the next send attempt. Replaces any previously scheduled send.
115
+ */
116
+ private scheduleSend;
117
+ /**
118
+ * Sends a batch and reschedules the next attempt based on the result.
119
+ */
120
+ private sendBatchAndReschedule;
121
+ /**
122
+ * Determines the next send delay based on the result of the last batch.
123
+ * On rate-limit: uses and advances exponential backoff.
124
+ * On success: resets backoff and returns the normal interval.
125
+ * On error/empty: returns the normal interval without changing backoff state.
126
+ */
127
+ private getNextDelay;
128
+ /**
129
+ * Sends up to BATCH_SIZE oldest events from the cache.
130
+ * On success the sent events are removed; on failure they stay in the cache.
131
+ * Does not reschedule — the caller decides what to do next.
50
132
  */
51
- private emit;
133
+ private sendBatch;
52
134
  /**
53
- * Attempts to send events through the provided API client.
54
- * Events are redacted before being sent to ensure no sensitive data is transmitted
135
+ * Sends events through the API client after redacting sensitive data.
55
136
  */
56
137
  private sendEvents;
57
138
  }
@@ -1 +1 @@
1
- {"version":3,"file":"telemetry.d.ts","sourceRoot":"","sources":["../../../src/telemetry/telemetry.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,sBAAsB,CAAC;AACpD,OAAO,KAAK,EAAE,SAAS,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;AAC9D,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,gCAAgC,CAAC;AAIjE,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAE7C,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,wBAAwB,CAAC;AACvD,OAAO,EAAE,YAAY,EAAE,MAAM,QAAQ,CAAC;AAQtC,MAAM,WAAW,eAAe;IAC5B,gBAAgB,EAAE,EAAE,CAAC;IACrB,oBAAoB,EAAE,EAAE,CAAC;IACzB,gBAAgB,EAAE,EAAE,CAAC;CACxB;AAED,qBAAa,SAAS;IAUd,OAAO,CAAC,QAAQ,CAAC,OAAO;IACxB,OAAO,CAAC,QAAQ,CAAC,UAAU;IAC3B,OAAO,CAAC,QAAQ,CAAC,gBAAgB;IAXrC,OAAO,CAAC,iBAAiB,CAAiB;IAC1C,8DAA8D;IACvD,YAAY,EAAE,OAAO,CAAC,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,GAAG,SAAS,CAAC;IAC5D,SAAgB,MAAM,EAAE,YAAY,CAAC,eAAe,CAAC,CAAsB;IAE3E,OAAO,CAAC,UAAU,CAAa;IAC/B,OAAO,CAAC,QAAQ,CAAW;IAE3B,OAAO;IAUP,MAAM,CAAC,MAAM,CACT,OAAO,EAAE,OAAO,EAChB,UAAU,EAAE,UAAU,EACtB,QAAQ,EAAE,QAAQ,EAClB,EACI,gBAAqB,EACrB,UAAqC,GACxC,GAAE;QACC,gBAAgB,CAAC,EAAE,OAAO,CAAC,gBAAgB,CAAC,CAAC;QAC7C,UAAU,CAAC,EAAE,UAAU,CAAC;KACtB,GACP,SAAS;YAcE,KAAK;IAoBN,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAiCnC;;;OAGG;IACI,UAAU,CAAC,MAAM,EAAE,SAAS,EAAE,GAAG,IAAI;IAU5C;;;OAGG;IACI,mBAAmB,IAAI,gBAAgB;IAY9C;;;;;;OAMG;IACI,kBAAkB,IAAI,OAAO;IAUpC;;;OAGG;YACW,IAAI;IAoDlB;;;OAGG;YACW,UAAU;CAmB3B"}
1
+ {"version":3,"file":"telemetry.d.ts","sourceRoot":"","sources":["../../../src/telemetry/telemetry.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;AAC9D,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,4BAA4B,CAAC;AAE7D,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,8BAA8B,CAAC;AAG9D,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAE7C,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,wBAAwB,CAAC;AACvD,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AACtD,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,sBAAsB,CAAC;AACpD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,gCAAgC,CAAC;AACjE,OAAO,EAAE,YAAY,EAAE,MAAM,QAAQ,CAAC;AAStC,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AAE7D,YAAY,EAAE,eAAe,EAAE,CAAC;AAEhC;;GAEG;AACH,MAAM,WAAW,eAAe;IAC5B,qEAAqE;IACrE,MAAM,EAAE,UAAU,CAAC;IAEnB,8DAA8D;IAC9D,QAAQ,EAAE,QAAQ,CAAC;IAEnB;;;;;OAKG;IACH,SAAS,EAAE,SAAS,CAAC;IAErB,kEAAkE;IAClE,QAAQ,CAAC,EAAE,QAAQ,CAAC;IAEpB;;;;OAIG;IACH,OAAO,EAAE,OAAO,CAAC;IAEjB;;;;;;;;;OASG;IACH,mBAAmB,CAAC,EAAE,MAAM,OAAO,CAAC,gBAAgB,CAAC,CAAC;IAEtD;;;;OAIG;IACH,UAAU,CAAC,EAAE,UAAU,CAAC;CAC3B;AAQD,+CAA+C;AAC/C,eAAO,MAAM,UAAU,KAAK,CAAC;AAE7B,2DAA2D;AAC3D,eAAO,MAAM,gBAAgB,QAAS,CAAC;AAEvC,kDAAkD;AAClD,eAAO,MAAM,kBAAkB,QAAS,CAAC;AAEzC,sCAAsC;AACtC,eAAO,MAAM,cAAc,UAAY,CAAC;AAExC;;GAEG;AACH,wBAAgB,aAAa,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM,CAEvD;AAED,qBAAa,SAAS;IAClB,8DAA8D;IACvD,YAAY,EAAE,OAAO,CAAC,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,GAAG,SAAS,CAAC;IAC5D,SAAgB,MAAM,EAAE,YAAY,CAAC,eAAe,CAAC,CAAsB;IAE3E,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAa;IACpC,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAY;IACtC,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAW;IACrC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAU;IAClC,OAAO,CAAC,QAAQ,CAAC,uBAAuB,CAAkC;IAC1E;;;;OAIG;IACH,OAAO,CAAC,QAAQ,CAAC,wBAAwB,CAAmB;IAC5D,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAa;IACxC,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAW;IACpC,OAAO,CAAC,SAAS,CAA8B;IAC/C,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAe;IAErC,OAAO;IAaP;;;;OAIG;IACH,MAAM,CAAC,MAAM,CACT,OAAO,EAAE,OAAO,EAChB,UAAU,EAAE,UAAU,EACtB,QAAQ,EAAE,QAAQ,EAClB,OAAO,CAAC,EAAE;QACN,gBAAgB,CAAC,EAAE,OAAO,CAAC,gBAAgB,CAAC,CAAC;QAC7C,UAAU,CAAC,EAAE,UAAU,CAAC;KAC3B,GACF,SAAS;IACZ,MAAM,CAAC,MAAM,CAAC,MAAM,EAAE,eAAe,GAAG,SAAS;YA0BnC,KAAK;IAoBN,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAanC;;OAEG;IACI,UAAU,CAAC,MAAM,EAAE,SAAS,EAAE,GAAG,IAAI;IAQ5C;;OAEG;IACI,mBAAmB,IAAI,gBAAgB;IAO9C;;;;;;OAMG;IACI,kBAAkB,IAAI,OAAO;IAcpC;;OAEG;IACH,OAAO,CAAC,YAAY;IAMpB;;OAEG;YACW,sBAAsB;IAMpC;;;;;OAKG;IACH,OAAO,CAAC,YAAY;IAoBpB;;;;OAIG;YACW,SAAS;IAuCvB;;OAEG;YACW,UAAU;CAyB3B"}
@@ -1,38 +1,64 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.Telemetry = void 0;
4
- const logger_js_1 = require("../common/logger.js");
3
+ exports.Telemetry = exports.MAX_BACKOFF_MS = exports.INITIAL_BACKOFF_MS = exports.SEND_INTERVAL_MS = exports.BATCH_SIZE = void 0;
4
+ exports.nextBackoffMs = nextBackoffMs;
5
+ const index_js_1 = require("../common/logging/index.js");
6
+ const apiClientError_js_1 = require("../common/atlas/apiClientError.js");
5
7
  const constants_js_1 = require("./constants.js");
6
8
  const eventCache_js_1 = require("./eventCache.js");
7
9
  const container_js_1 = require("../helpers/container.js");
8
10
  const events_1 = require("events");
9
11
  const mongodb_redact_1 = require("mongodb-redact");
12
+ const timer_js_1 = require("./timer.js");
13
+ /** The timeout for individual send requests in milliseconds. */
14
+ const SEND_TIMEOUT_MS = 5000;
15
+ /** How long close() waits for a final flush before giving up. */
16
+ const CLOSE_TIMEOUT_MS = 5000;
17
+ /** Maximum number of events sent per batch. */
18
+ exports.BATCH_SIZE = 32;
19
+ /** Delay between send attempts under normal conditions. */
20
+ exports.SEND_INTERVAL_MS = 30000;
21
+ /** Initial backoff delay after a 429 response. */
22
+ exports.INITIAL_BACKOFF_MS = 60000;
23
+ /** Maximum backoff delay (1 hour). */
24
+ exports.MAX_BACKOFF_MS = 3600000;
25
+ /**
26
+ * Calculates the next backoff duration, doubling the current value up to MAX_BACKOFF_MS.
27
+ */
28
+ function nextBackoffMs(currentMs) {
29
+ return Math.min(currentMs * 2, exports.MAX_BACKOFF_MS);
30
+ }
10
31
  class Telemetry {
11
- constructor(session, userConfig, commonProperties, { eventCache, deviceId }) {
12
- this.session = session;
13
- this.userConfig = userConfig;
14
- this.commonProperties = commonProperties;
15
- this.isBufferingEvents = true;
32
+ constructor(config) {
16
33
  this.events = new events_1.EventEmitter();
17
- this.eventCache = eventCache;
18
- this.deviceId = deviceId;
19
- }
20
- static create(session, userConfig, deviceId, { commonProperties = {}, eventCache = eventCache_js_1.EventCache.getInstance(), } = {}) {
21
- const mergedProperties = {
34
+ this.backoffMs = exports.INITIAL_BACKOFF_MS;
35
+ this.timer = new timer_js_1.Timer();
36
+ this.logger = config.logger;
37
+ this.apiClient = config.apiClient;
38
+ this.keychain = config.keychain;
39
+ this.enabled = config.enabled;
40
+ this.getHostCommonProperties = config.getCommonProperties ?? (() => ({}));
41
+ this.eventCache = config.eventCache ?? eventCache_js_1.EventCache.getInstance();
42
+ this.deviceId = config.deviceId;
43
+ this.pipelineCommonProperties = {
22
44
  ...constants_js_1.MACHINE_METADATA,
23
- ...commonProperties,
24
45
  };
25
- const instance = new Telemetry(session, userConfig, mergedProperties, {
26
- eventCache,
27
- deviceId,
28
- });
46
+ }
47
+ static create(sessionOrConfig, userConfig, deviceId, { commonProperties = {}, eventCache = eventCache_js_1.EventCache.getInstance(), } = {}) {
48
+ const config = userConfig === undefined || deviceId === undefined
49
+ ? sessionOrConfig
50
+ : legacyConfigFromSession(sessionOrConfig, userConfig, deviceId, {
51
+ commonProperties,
52
+ eventCache,
53
+ });
54
+ const instance = new Telemetry(config);
29
55
  void instance.setup();
30
56
  return instance;
31
57
  }
32
58
  async setup() {
33
59
  if (!this.isTelemetryEnabled()) {
34
- this.session.logger.info({
35
- id: logger_js_1.LogId.telemetryEmitFailure,
60
+ this.logger.info({
61
+ id: index_js_1.LogId.telemetryEmitFailure,
36
62
  context: "telemetry",
37
63
  message: "Telemetry is disabled.",
38
64
  noRedaction: true,
@@ -41,155 +67,184 @@ class Telemetry {
41
67
  }
42
68
  this.setupPromise = Promise.all([this.deviceId.get(), (0, container_js_1.detectContainerEnv)()]);
43
69
  const [deviceIdValue, containerEnv] = await this.setupPromise;
44
- this.commonProperties.device_id = deviceIdValue;
45
- this.commonProperties.is_container_env = containerEnv ? "true" : "false";
46
- this.isBufferingEvents = false;
70
+ this.pipelineCommonProperties.device_id = deviceIdValue;
71
+ this.pipelineCommonProperties.is_container_env = containerEnv ? "true" : "false";
72
+ this.scheduleSend();
47
73
  }
48
74
  async close() {
49
- this.isBufferingEvents = false;
50
- this.session.logger.debug({
51
- id: logger_js_1.LogId.telemetryClose,
52
- message: `Closing telemetry and flushing ${this.eventCache.size} events`,
75
+ this.timer.cancel();
76
+ this.logger.debug({
77
+ id: index_js_1.LogId.telemetryClose,
78
+ message: `Closing telemetry, attempting to flush up to ${exports.BATCH_SIZE} of ${this.eventCache.size} remaining events`,
53
79
  context: "telemetry",
54
80
  });
55
- // Wait up to 5 seconds for events to be sent before closing, but don't throw if it times out
56
- const flushMaxWaitTime = 5000;
57
- let flushTimeout;
58
- await Promise.race([
59
- new Promise((resolve) => {
60
- flushTimeout = setTimeout(() => {
61
- this.session.logger.debug({
62
- id: logger_js_1.LogId.telemetryClose,
63
- message: `Failed to flush remaining events within ${flushMaxWaitTime}ms timeout`,
64
- context: "telemetry",
65
- });
66
- resolve();
67
- }, flushMaxWaitTime);
68
- // This is Node-specific and can cause issues when running in electron otherwise. See https://github.com/electron/electron/issues/21162
69
- if (typeof flushTimeout.unref === "function") {
70
- flushTimeout.unref();
71
- }
72
- }),
73
- this.emit([]),
74
- ]);
75
- clearTimeout(flushTimeout);
81
+ // Best-effort: send one final batch before closing, bounded by CLOSE_TIMEOUT_MS
82
+ await this.sendBatch({ signal: AbortSignal.timeout(CLOSE_TIMEOUT_MS) });
76
83
  }
77
84
  /**
78
- * Emits events through the telemetry pipeline
79
- * @param events - The events to emit
85
+ * Caches events for sending via the background timer.
80
86
  */
81
87
  emitEvents(events) {
82
88
  if (!this.isTelemetryEnabled()) {
83
89
  this.events.emit("events-skipped");
84
90
  return;
85
91
  }
86
- // Don't wait for events to be sent - we should not block regular server
87
- // operations on telemetry
88
- void this.emit(events);
92
+ this.eventCache.appendEvents(events);
89
93
  }
90
94
  /**
91
95
  * Gets the common properties for events
92
- * @returns Object containing common properties for all events
93
96
  */
94
97
  getCommonProperties() {
95
98
  return {
96
- ...this.commonProperties,
97
- transport: this.userConfig.transport,
98
- mcp_client_version: this.session.mcpClient?.version,
99
- mcp_client_name: this.session.mcpClient?.name,
100
- session_id: this.session.sessionId,
101
- config_atlas_auth: this.session.apiClient?.isAuthConfigured() ? "true" : "false",
102
- config_connection_string: this.userConfig.connectionString ? "true" : "false",
99
+ ...this.pipelineCommonProperties,
100
+ ...this.getHostCommonProperties(),
103
101
  };
104
102
  }
105
103
  /**
106
- * Checks if telemetry is currently enabled
107
- * This is a method rather than a constant to capture runtime config changes
104
+ * Checks if telemetry is currently enabled.
108
105
  *
109
- * Follows the Console Do Not Track standard (https://consoledonottrack.com/)
110
- * by respecting the DO_NOT_TRACK environment variable
106
+ * Follows the Console Do Not Track standard
107
+ * by respecting the DO_NOT_TRACK environment variable. The env check is
108
+ * done on every call so an operator can opt out mid-process.
111
109
  */
112
110
  isTelemetryEnabled() {
113
- // Check if telemetry is explicitly disabled in config
114
- if (this.userConfig.telemetry === "disabled") {
111
+ if (!this.enabled) {
115
112
  return false;
116
113
  }
117
- const doNotTrack = "DO_NOT_TRACK" in process.env;
118
- return !doNotTrack;
114
+ // In browser environments, we don't have access to the process object, so we default to true.
115
+ if (typeof process === "undefined" || !process.env) {
116
+ return true;
117
+ }
118
+ // In Node.js environments, we check the DO_NOT_TRACK environment variable.
119
+ return !("DO_NOT_TRACK" in process.env);
119
120
  }
120
121
  /**
121
- * Attempts to emit events through authenticated and unauthenticated clients
122
- * Falls back to caching if both attempts fail
122
+ * Schedules the next send attempt. Replaces any previously scheduled send.
123
123
  */
124
- async emit(events) {
125
- if (this.isBufferingEvents) {
126
- this.eventCache.appendEvents(events);
127
- return;
124
+ scheduleSend(delayMs = exports.SEND_INTERVAL_MS) {
125
+ this.timer.schedule(() => {
126
+ void this.sendBatchAndReschedule();
127
+ }, delayMs);
128
+ }
129
+ /**
130
+ * Sends a batch and reschedules the next attempt based on the result.
131
+ */
132
+ async sendBatchAndReschedule() {
133
+ const result = await this.sendBatch();
134
+ const delay = this.getNextDelay(result);
135
+ this.scheduleSend(delay);
136
+ }
137
+ /**
138
+ * Determines the next send delay based on the result of the last batch.
139
+ * On rate-limit: uses and advances exponential backoff.
140
+ * On success: resets backoff and returns the normal interval.
141
+ * On error/empty: returns the normal interval without changing backoff state.
142
+ */
143
+ getNextDelay(result) {
144
+ if (result.status === "rate-limited") {
145
+ const delay = this.backoffMs;
146
+ this.backoffMs = nextBackoffMs(this.backoffMs);
147
+ this.logger.debug({
148
+ id: index_js_1.LogId.telemetryRateLimited,
149
+ context: "telemetry",
150
+ message: `Rate limited. Backing off for ${delay}ms, next backoff will be ${this.backoffMs}ms`,
151
+ noRedaction: true,
152
+ });
153
+ return delay;
128
154
  }
129
- // If no API client is available, cache the events
130
- if (!this.session.apiClient) {
131
- this.eventCache.appendEvents(events);
132
- return;
155
+ if (result.status === "success") {
156
+ this.backoffMs = exports.INITIAL_BACKOFF_MS;
133
157
  }
134
- try {
135
- const cachedEvents = this.eventCache.getEvents();
136
- const allEvents = [...cachedEvents.map((e) => e.event), ...events];
137
- this.session.logger.debug({
138
- id: logger_js_1.LogId.telemetryEmitStart,
158
+ return exports.SEND_INTERVAL_MS;
159
+ }
160
+ /**
161
+ * Sends up to BATCH_SIZE oldest events from the cache.
162
+ * On success the sent events are removed; on failure they stay in the cache.
163
+ * Does not reschedule — the caller decides what to do next.
164
+ */
165
+ async sendBatch({ signal } = {}) {
166
+ if (this.eventCache.size === 0) {
167
+ return { status: "empty" };
168
+ }
169
+ const result = await this.eventCache.processOldestBatch(exports.BATCH_SIZE, async (events) => {
170
+ this.logger.debug({
171
+ id: index_js_1.LogId.telemetryEmitStart,
139
172
  context: "telemetry",
140
- message: `Attempting to send ${allEvents.length} events (${cachedEvents.length} cached)`,
173
+ message: `Attempting to send ${events.length} events`,
141
174
  });
142
- const result = await this.sendEvents(this.session.apiClient, allEvents);
143
- if (result.success) {
144
- this.eventCache.removeEvents(cachedEvents.map((e) => e.id));
145
- this.session.logger.debug({
146
- id: logger_js_1.LogId.telemetryEmitSuccess,
147
- context: "telemetry",
148
- message: `Sent ${allEvents.length} events successfully: ${JSON.stringify(allEvents)}`,
149
- });
150
- this.events.emit("events-emitted");
151
- return;
175
+ const sendResult = await this.sendEvents(this.apiClient, events, signal);
176
+ if (sendResult.status !== "success") {
177
+ if (sendResult.status !== "rate-limited") {
178
+ this.logger.debug({
179
+ id: index_js_1.LogId.telemetryEmitFailure,
180
+ context: "telemetry",
181
+ message: `Error sending telemetry: ${sendResult.error?.message ?? "unknown error"}`,
182
+ noRedaction: true,
183
+ });
184
+ }
185
+ this.events.emit("events-send-failed");
186
+ return { removeProcessed: false, result: sendResult };
152
187
  }
153
- this.session.logger.debug({
154
- id: logger_js_1.LogId.telemetryEmitFailure,
188
+ this.logger.debug({
189
+ id: index_js_1.LogId.telemetryEmitSuccess,
155
190
  context: "telemetry",
156
- message: `Error sending event to client: ${result.error instanceof Error ? result.error.message : String(result.error)}`,
191
+ message: `Sent ${events.length} events successfully`,
157
192
  });
158
- this.eventCache.appendEvents(events);
159
- this.events.emit("events-send-failed");
160
- }
161
- catch (error) {
162
- this.session.logger.debug({
163
- id: logger_js_1.LogId.telemetryEmitFailure,
164
- context: "telemetry",
165
- message: `Error emitting telemetry events: ${error instanceof Error ? error.message : String(error)}`,
166
- noRedaction: true,
167
- });
168
- this.events.emit("events-send-failed");
169
- }
193
+ this.events.emit("events-emitted");
194
+ return { removeProcessed: true, result: sendResult };
195
+ });
196
+ return result ?? { status: "empty" };
170
197
  }
171
198
  /**
172
- * Attempts to send events through the provided API client.
173
- * Events are redacted before being sent to ensure no sensitive data is transmitted
199
+ * Sends events through the API client after redacting sensitive data.
174
200
  */
175
- async sendEvents(client, events) {
201
+ async sendEvents(client, events, signal) {
176
202
  try {
203
+ const effectiveSignal = signal ?? AbortSignal.timeout(SEND_TIMEOUT_MS);
204
+ const secrets = this.keychain?.allSecrets ?? [];
177
205
  await client.sendEvents(events.map((event) => ({
178
206
  ...event,
179
207
  properties: {
180
- ...(0, mongodb_redact_1.redact)(this.getCommonProperties(), this.session.keychain.allSecrets),
181
- ...(0, mongodb_redact_1.redact)(event.properties, this.session.keychain.allSecrets),
208
+ ...(0, mongodb_redact_1.redact)(this.getCommonProperties(), secrets),
209
+ ...(0, mongodb_redact_1.redact)(event.properties, secrets),
182
210
  },
183
- })));
184
- return { success: true };
211
+ })), { signal: effectiveSignal });
212
+ return { status: "success" };
185
213
  }
186
214
  catch (error) {
215
+ if (error instanceof apiClientError_js_1.ApiClientError && error.response.status === 429) {
216
+ return { status: "rate-limited", error };
217
+ }
187
218
  return {
188
- success: false,
219
+ status: "error",
189
220
  error: error instanceof Error ? error : new Error(String(error)),
190
221
  };
191
222
  }
192
223
  }
193
224
  }
194
225
  exports.Telemetry = Telemetry;
226
+ /**
227
+ * Translates the legacy (session, userConfig, deviceId, options) inputs
228
+ * accepted by the deprecated {@link Telemetry.create} overload into a
229
+ * {@link TelemetryConfig}.
230
+ */
231
+ function legacyConfigFromSession(session, userConfig, deviceId, { commonProperties, eventCache, }) {
232
+ return {
233
+ logger: session.logger,
234
+ deviceId,
235
+ apiClient: session.apiClient,
236
+ keychain: session.keychain,
237
+ enabled: userConfig.telemetry === "enabled",
238
+ eventCache,
239
+ getCommonProperties: () => ({
240
+ ...commonProperties,
241
+ transport: userConfig.transport,
242
+ mcp_client_version: session.mcpClient?.version,
243
+ mcp_client_name: session.mcpClient?.name,
244
+ session_id: session.sessionId,
245
+ config_atlas_auth: session.apiClient?.isAuthConfigured() ? "true" : "false",
246
+ config_connection_string: userConfig.connectionString ? "true" : "false",
247
+ }),
248
+ };
249
+ }
195
250
  //# sourceMappingURL=telemetry.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"telemetry.js","sourceRoot":"","sources":["../../../src/telemetry/telemetry.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"telemetry.js","sourceRoot":"","sources":["../../../src/telemetry/telemetry.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,12 @@
1
+ /**
2
+ * A reusable timer that wraps setTimeout with browser-safe unref support.
3
+ * In Node.js, unref() prevents the timer from keeping the process alive.
4
+ * In browsers (or environments without unref), the call is safely skipped.
5
+ */
6
+ export declare class Timer {
7
+ private timerId;
8
+ schedule(callback: () => void, delayMs: number): void;
9
+ cancel(): void;
10
+ get isScheduled(): boolean;
11
+ }
12
+ //# sourceMappingURL=timer.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"timer.d.ts","sourceRoot":"","sources":["../../../src/telemetry/timer.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,qBAAa,KAAK;IACd,OAAO,CAAC,OAAO,CAA4C;IAE3D,QAAQ,CAAC,QAAQ,EAAE,MAAM,IAAI,EAAE,OAAO,EAAE,MAAM,GAAG,IAAI;IAQrD,MAAM,IAAI,IAAI;IAOd,IAAI,WAAW,IAAI,OAAO,CAEzB;CACJ"}
@@ -0,0 +1,28 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.Timer = void 0;
4
+ /**
5
+ * A reusable timer that wraps setTimeout with browser-safe unref support.
6
+ * In Node.js, unref() prevents the timer from keeping the process alive.
7
+ * In browsers (or environments without unref), the call is safely skipped.
8
+ */
9
+ class Timer {
10
+ schedule(callback, delayMs) {
11
+ this.cancel();
12
+ this.timerId = setTimeout(callback, delayMs);
13
+ if (typeof this.timerId?.unref === "function") {
14
+ this.timerId.unref();
15
+ }
16
+ }
17
+ cancel() {
18
+ if (this.timerId !== undefined) {
19
+ clearTimeout(this.timerId);
20
+ this.timerId = undefined;
21
+ }
22
+ }
23
+ get isScheduled() {
24
+ return this.timerId !== undefined;
25
+ }
26
+ }
27
+ exports.Timer = Timer;
28
+ //# sourceMappingURL=timer.js.map