@himanshusinghs/mongodb-mcp-server 1.8.0 → 1.11.0-prerelease.3

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 (716) hide show
  1. package/README.md +106 -50
  2. package/dist/cjs/common/atlas/apiClient.d.ts +97 -214
  3. package/dist/cjs/common/atlas/apiClient.d.ts.map +1 -1
  4. package/dist/cjs/common/atlas/apiClient.js +286 -36
  5. package/dist/cjs/common/atlas/apiClient.js.map +1 -1
  6. package/dist/cjs/common/atlas/cluster.d.ts +2 -0
  7. package/dist/cjs/common/atlas/cluster.d.ts.map +1 -1
  8. package/dist/cjs/common/atlas/cluster.js +8 -1
  9. package/dist/cjs/common/atlas/cluster.js.map +1 -1
  10. package/dist/cjs/common/atlas/performanceAdvisorUtils.d.ts.map +1 -1
  11. package/dist/cjs/common/atlas/performanceAdvisorUtils.js +12 -4
  12. package/dist/cjs/common/atlas/performanceAdvisorUtils.js.map +1 -1
  13. package/dist/cjs/common/config/configOverrides.d.ts +3 -0
  14. package/dist/cjs/common/config/configOverrides.d.ts.map +1 -1
  15. package/dist/cjs/common/config/configOverrides.js +15 -11
  16. package/dist/cjs/common/config/configOverrides.js.map +1 -1
  17. package/dist/cjs/common/config/configUtils.d.ts +5 -1
  18. package/dist/cjs/common/config/configUtils.d.ts.map +1 -1
  19. package/dist/cjs/common/config/configUtils.js +21 -51
  20. package/dist/cjs/common/config/configUtils.js.map +1 -1
  21. package/dist/cjs/common/config/parseUserConfig.d.ts +2 -2
  22. package/dist/cjs/common/config/parseUserConfig.d.ts.map +1 -1
  23. package/dist/cjs/common/config/parseUserConfig.js +52 -18
  24. package/dist/cjs/common/config/parseUserConfig.js.map +1 -1
  25. package/dist/cjs/common/config/userConfig.d.ts +125 -116
  26. package/dist/cjs/common/config/userConfig.d.ts.map +1 -1
  27. package/dist/cjs/common/config/userConfig.js +85 -63
  28. package/dist/cjs/common/config/userConfig.js.map +1 -1
  29. package/dist/cjs/common/connectionInfo.d.ts +4 -2
  30. package/dist/cjs/common/connectionInfo.d.ts.map +1 -1
  31. package/dist/cjs/common/connectionInfo.js.map +1 -1
  32. package/dist/cjs/common/connectionManager.d.ts +11 -3
  33. package/dist/cjs/common/connectionManager.d.ts.map +1 -1
  34. package/dist/cjs/common/connectionManager.js +82 -11
  35. package/dist/cjs/common/connectionManager.js.map +1 -1
  36. package/dist/cjs/common/errors.d.ts +1 -2
  37. package/dist/cjs/common/errors.d.ts.map +1 -1
  38. package/dist/cjs/common/errors.js +1 -2
  39. package/dist/cjs/common/errors.js.map +1 -1
  40. package/dist/cjs/common/exportsManager.d.ts +9 -7
  41. package/dist/cjs/common/exportsManager.d.ts.map +1 -1
  42. package/dist/cjs/common/logging/consoleLogger.js +3 -3
  43. package/dist/cjs/common/logging/consoleLogger.js.map +1 -1
  44. package/dist/cjs/common/logging/index.d.ts +2 -0
  45. package/dist/cjs/common/logging/index.d.ts.map +1 -1
  46. package/dist/cjs/common/logging/index.js +5 -1
  47. package/dist/cjs/common/logging/index.js.map +1 -1
  48. package/dist/cjs/common/logging/loggerBase.d.ts +2 -1
  49. package/dist/cjs/common/logging/loggerBase.d.ts.map +1 -1
  50. package/dist/cjs/common/logging/loggerBase.js +11 -0
  51. package/dist/cjs/common/logging/loggerBase.js.map +1 -1
  52. package/dist/cjs/common/logging/loggingDefinitions.d.ts +4 -0
  53. package/dist/cjs/common/logging/loggingDefinitions.d.ts.map +1 -1
  54. package/dist/cjs/common/logging/loggingDefinitions.js +4 -0
  55. package/dist/cjs/common/logging/loggingDefinitions.js.map +1 -1
  56. package/dist/cjs/common/logging/loggingTypes.d.ts +3 -2
  57. package/dist/cjs/common/logging/loggingTypes.d.ts.map +1 -1
  58. package/dist/cjs/common/logging/loggingTypes.js +3 -0
  59. package/dist/cjs/common/logging/loggingTypes.js.map +1 -1
  60. package/dist/cjs/common/logging/mcpLogger.d.ts +1 -2
  61. package/dist/cjs/common/logging/mcpLogger.d.ts.map +1 -1
  62. package/dist/cjs/common/logging/mcpLogger.js +3 -12
  63. package/dist/cjs/common/logging/mcpLogger.js.map +1 -1
  64. package/dist/cjs/common/logging/nullLogger.d.ts +8 -0
  65. package/dist/cjs/common/logging/nullLogger.d.ts.map +1 -0
  66. package/dist/cjs/common/logging/nullLogger.js +14 -0
  67. package/dist/cjs/common/logging/nullLogger.js.map +1 -0
  68. package/dist/cjs/common/metrics/index.d.ts +5 -0
  69. package/dist/cjs/common/metrics/index.d.ts.map +1 -0
  70. package/dist/cjs/common/metrics/index.js +8 -0
  71. package/dist/cjs/common/metrics/index.js.map +1 -0
  72. package/dist/cjs/common/metrics/metricDefinitions.d.ts +15 -0
  73. package/dist/cjs/common/metrics/metricDefinitions.d.ts.map +1 -0
  74. package/dist/cjs/common/metrics/metricDefinitions.js +35 -0
  75. package/dist/cjs/common/metrics/metricDefinitions.js.map +1 -0
  76. package/dist/cjs/common/metrics/metricsTypes.d.ts +15 -0
  77. package/dist/cjs/common/metrics/metricsTypes.d.ts.map +1 -0
  78. package/dist/cjs/common/metrics/metricsTypes.js +3 -0
  79. package/dist/cjs/common/metrics/metricsTypes.js.map +1 -0
  80. package/dist/cjs/common/metrics/prometheusMetrics.d.ts +15 -0
  81. package/dist/cjs/common/metrics/prometheusMetrics.d.ts.map +1 -0
  82. package/dist/cjs/common/metrics/prometheusMetrics.js +25 -0
  83. package/dist/cjs/common/metrics/prometheusMetrics.js.map +1 -0
  84. package/dist/cjs/common/packageInfo.d.ts +3 -0
  85. package/dist/cjs/common/packageInfo.d.ts.map +1 -1
  86. package/dist/cjs/common/packageInfo.js +4 -1
  87. package/dist/cjs/common/packageInfo.js.map +1 -1
  88. package/dist/cjs/common/schemas.d.ts +3 -3
  89. package/dist/cjs/common/schemas.d.ts.map +1 -1
  90. package/dist/cjs/common/schemas.js +3 -3
  91. package/dist/cjs/common/schemas.js.map +1 -1
  92. package/dist/cjs/common/session.d.ts +4 -7
  93. package/dist/cjs/common/session.d.ts.map +1 -1
  94. package/dist/cjs/common/session.js +2 -3
  95. package/dist/cjs/common/session.js.map +1 -1
  96. package/dist/cjs/common/sessionStore.d.ts +57 -16
  97. package/dist/cjs/common/sessionStore.d.ts.map +1 -1
  98. package/dist/cjs/common/sessionStore.js +33 -17
  99. package/dist/cjs/common/sessionStore.js.map +1 -1
  100. package/dist/cjs/elicitation.d.ts +18 -0
  101. package/dist/cjs/elicitation.d.ts.map +1 -1
  102. package/dist/cjs/elicitation.js +31 -1
  103. package/dist/cjs/elicitation.js.map +1 -1
  104. package/dist/cjs/helpers/connectionOptions.d.ts +2 -5
  105. package/dist/cjs/helpers/connectionOptions.d.ts.map +1 -1
  106. package/dist/cjs/helpers/connectionOptions.js +1 -1
  107. package/dist/cjs/helpers/connectionOptions.js.map +1 -1
  108. package/dist/cjs/helpers/deviceId.d.ts +2 -1
  109. package/dist/cjs/helpers/deviceId.d.ts.map +1 -1
  110. package/dist/cjs/helpers/deviceId.js.map +1 -1
  111. package/dist/cjs/index.d.ts.map +1 -1
  112. package/dist/cjs/index.js +12 -3
  113. package/dist/cjs/index.js.map +1 -1
  114. package/dist/cjs/lib.d.ts +20 -12
  115. package/dist/cjs/lib.d.ts.map +1 -1
  116. package/dist/cjs/lib.js +42 -3
  117. package/dist/cjs/lib.js.map +1 -1
  118. package/dist/cjs/server.d.ts +11 -8
  119. package/dist/cjs/server.d.ts.map +1 -1
  120. package/dist/cjs/server.js +15 -9
  121. package/dist/cjs/server.js.map +1 -1
  122. package/dist/cjs/setup/aiTool.d.ts +46 -0
  123. package/dist/cjs/setup/aiTool.d.ts.map +1 -0
  124. package/dist/cjs/setup/aiTool.js +391 -0
  125. package/dist/cjs/setup/aiTool.js.map +1 -0
  126. package/dist/cjs/setup/installSkills.d.ts +42 -0
  127. package/dist/cjs/setup/installSkills.d.ts.map +1 -0
  128. package/dist/cjs/setup/installSkills.js +122 -0
  129. package/dist/cjs/setup/installSkills.js.map +1 -0
  130. package/dist/cjs/setup/setupAiToolsUtils.d.ts +4 -0
  131. package/dist/cjs/setup/setupAiToolsUtils.d.ts.map +1 -0
  132. package/dist/cjs/setup/setupAiToolsUtils.js +28 -0
  133. package/dist/cjs/setup/setupAiToolsUtils.js.map +1 -0
  134. package/dist/cjs/setup/setupMcpServer.d.ts +8 -0
  135. package/dist/cjs/setup/setupMcpServer.d.ts.map +1 -0
  136. package/dist/cjs/setup/setupMcpServer.js +391 -0
  137. package/dist/cjs/setup/setupMcpServer.js.map +1 -0
  138. package/dist/cjs/setup/setupTelemetry.d.ts +99 -0
  139. package/dist/cjs/setup/setupTelemetry.d.ts.map +1 -0
  140. package/dist/cjs/setup/setupTelemetry.js +202 -0
  141. package/dist/cjs/setup/setupTelemetry.js.map +1 -0
  142. package/dist/cjs/telemetry/constants.js +4 -4
  143. package/dist/cjs/telemetry/constants.js.map +1 -1
  144. package/dist/cjs/telemetry/eventCache.d.ts +19 -3
  145. package/dist/cjs/telemetry/eventCache.d.ts.map +1 -1
  146. package/dist/cjs/telemetry/eventCache.js +48 -3
  147. package/dist/cjs/telemetry/eventCache.js.map +1 -1
  148. package/dist/cjs/telemetry/telemetry.d.ts +106 -25
  149. package/dist/cjs/telemetry/telemetry.d.ts.map +1 -1
  150. package/dist/cjs/telemetry/telemetry.js +168 -113
  151. package/dist/cjs/telemetry/telemetry.js.map +1 -1
  152. package/dist/cjs/telemetry/timer.d.ts +12 -0
  153. package/dist/cjs/telemetry/timer.d.ts.map +1 -0
  154. package/dist/cjs/telemetry/timer.js +28 -0
  155. package/dist/cjs/telemetry/timer.js.map +1 -0
  156. package/dist/cjs/telemetry/types.d.ts +69 -11
  157. package/dist/cjs/telemetry/types.d.ts.map +1 -1
  158. package/dist/cjs/tools/args.d.ts +7 -2
  159. package/dist/cjs/tools/args.d.ts.map +1 -1
  160. package/dist/cjs/tools/args.js +6 -3
  161. package/dist/cjs/tools/args.js.map +1 -1
  162. package/dist/cjs/tools/assistant/searchKnowledge.d.ts +2 -14
  163. package/dist/cjs/tools/assistant/searchKnowledge.d.ts.map +1 -1
  164. package/dist/cjs/tools/atlas/connect/connectCluster.d.ts +10 -2
  165. package/dist/cjs/tools/atlas/connect/connectCluster.d.ts.map +1 -1
  166. package/dist/cjs/tools/atlas/connect/connectCluster.js +3 -0
  167. package/dist/cjs/tools/atlas/connect/connectCluster.js.map +1 -1
  168. package/dist/cjs/tools/atlas/create/createAccessList.d.ts +4 -4
  169. package/dist/cjs/tools/atlas/create/createDBUser.d.ts +4 -20
  170. package/dist/cjs/tools/atlas/create/createDBUser.d.ts.map +1 -1
  171. package/dist/cjs/tools/atlas/read/getPerformanceAdvisor.d.ts +7 -2
  172. package/dist/cjs/tools/atlas/read/getPerformanceAdvisor.d.ts.map +1 -1
  173. package/dist/cjs/tools/atlas/read/listAlerts.d.ts +18 -3
  174. package/dist/cjs/tools/atlas/read/listAlerts.d.ts.map +1 -1
  175. package/dist/cjs/tools/atlas/read/listAlerts.js +21 -3
  176. package/dist/cjs/tools/atlas/read/listAlerts.js.map +1 -1
  177. package/dist/cjs/tools/atlas/read/listProjects.d.ts.map +1 -1
  178. package/dist/cjs/tools/atlas/read/listProjects.js +10 -1
  179. package/dist/cjs/tools/atlas/read/listProjects.js.map +1 -1
  180. package/dist/cjs/tools/atlas/streams/build.d.ts +149 -0
  181. package/dist/cjs/tools/atlas/streams/build.d.ts.map +1 -0
  182. package/dist/cjs/tools/atlas/streams/build.js +671 -0
  183. package/dist/cjs/tools/atlas/streams/build.js.map +1 -0
  184. package/dist/cjs/tools/atlas/streams/discover.d.ts +44 -0
  185. package/dist/cjs/tools/atlas/streams/discover.d.ts.map +1 -0
  186. package/dist/cjs/tools/atlas/streams/discover.js +345 -0
  187. package/dist/cjs/tools/atlas/streams/discover.js.map +1 -0
  188. package/dist/cjs/tools/atlas/streams/manage.d.ts +111 -0
  189. package/dist/cjs/tools/atlas/streams/manage.d.ts.map +1 -0
  190. package/dist/cjs/tools/atlas/streams/manage.js +471 -0
  191. package/dist/cjs/tools/atlas/streams/manage.js.map +1 -0
  192. package/dist/cjs/tools/atlas/streams/streamsArgs.d.ts +74 -0
  193. package/dist/cjs/tools/atlas/streams/streamsArgs.d.ts.map +1 -0
  194. package/dist/cjs/tools/atlas/streams/streamsArgs.js +146 -0
  195. package/dist/cjs/tools/atlas/streams/streamsArgs.js.map +1 -0
  196. package/dist/cjs/tools/atlas/streams/streamsToolBase.d.ts +12 -0
  197. package/dist/cjs/tools/atlas/streams/streamsToolBase.d.ts.map +1 -0
  198. package/dist/cjs/tools/atlas/streams/streamsToolBase.js +163 -0
  199. package/dist/cjs/tools/atlas/streams/streamsToolBase.js.map +1 -0
  200. package/dist/cjs/tools/atlas/streams/teardown.d.ts +31 -0
  201. package/dist/cjs/tools/atlas/streams/teardown.d.ts.map +1 -0
  202. package/dist/cjs/tools/atlas/streams/teardown.js +236 -0
  203. package/dist/cjs/tools/atlas/streams/teardown.js.map +1 -0
  204. package/dist/cjs/tools/atlas/tools.d.ts +5 -0
  205. package/dist/cjs/tools/atlas/tools.d.ts.map +1 -1
  206. package/dist/cjs/tools/atlas/tools.js +11 -1
  207. package/dist/cjs/tools/atlas/tools.js.map +1 -1
  208. package/dist/cjs/tools/atlas/update/upgradeCluster.d.ts +28 -0
  209. package/dist/cjs/tools/atlas/update/upgradeCluster.d.ts.map +1 -0
  210. package/dist/cjs/tools/atlas/update/upgradeCluster.js +231 -0
  211. package/dist/cjs/tools/atlas/update/upgradeCluster.js.map +1 -0
  212. package/dist/cjs/tools/index.d.ts +1 -0
  213. package/dist/cjs/tools/index.d.ts.map +1 -1
  214. package/dist/cjs/tools/index.js +3 -1
  215. package/dist/cjs/tools/index.js.map +1 -1
  216. package/dist/cjs/tools/mongodb/create/createCollection.d.ts +1 -1
  217. package/dist/cjs/tools/mongodb/create/createCollection.d.ts.map +1 -1
  218. package/dist/cjs/tools/mongodb/create/createCollection.js +1 -1
  219. package/dist/cjs/tools/mongodb/create/createCollection.js.map +1 -1
  220. package/dist/cjs/tools/mongodb/create/createIndex.d.ts +56 -218
  221. package/dist/cjs/tools/mongodb/create/createIndex.d.ts.map +1 -1
  222. package/dist/cjs/tools/mongodb/create/createIndex.js +12 -14
  223. package/dist/cjs/tools/mongodb/create/createIndex.js.map +1 -1
  224. package/dist/cjs/tools/mongodb/create/insertMany.d.ts +5 -32
  225. package/dist/cjs/tools/mongodb/create/insertMany.d.ts.map +1 -1
  226. package/dist/cjs/tools/mongodb/create/insertMany.js +7 -91
  227. package/dist/cjs/tools/mongodb/create/insertMany.js.map +1 -1
  228. package/dist/cjs/tools/mongodb/delete/deleteMany.d.ts +2 -2
  229. package/dist/cjs/tools/mongodb/delete/deleteMany.d.ts.map +1 -1
  230. package/dist/cjs/tools/mongodb/delete/deleteMany.js +2 -1
  231. package/dist/cjs/tools/mongodb/delete/deleteMany.js.map +1 -1
  232. package/dist/cjs/tools/mongodb/delete/dropCollection.d.ts +1 -1
  233. package/dist/cjs/tools/mongodb/delete/dropCollection.d.ts.map +1 -1
  234. package/dist/cjs/tools/mongodb/delete/dropCollection.js +1 -1
  235. package/dist/cjs/tools/mongodb/delete/dropCollection.js.map +1 -1
  236. package/dist/cjs/tools/mongodb/delete/dropDatabase.d.ts.map +1 -1
  237. package/dist/cjs/tools/mongodb/delete/dropDatabase.js +1 -3
  238. package/dist/cjs/tools/mongodb/delete/dropDatabase.js.map +1 -1
  239. package/dist/cjs/tools/mongodb/delete/dropIndex.d.ts +5 -2
  240. package/dist/cjs/tools/mongodb/delete/dropIndex.d.ts.map +1 -1
  241. package/dist/cjs/tools/mongodb/delete/dropIndex.js +4 -9
  242. package/dist/cjs/tools/mongodb/delete/dropIndex.js.map +1 -1
  243. package/dist/cjs/tools/mongodb/metadata/collectionIndexes.d.ts +13 -43
  244. package/dist/cjs/tools/mongodb/metadata/collectionIndexes.d.ts.map +1 -1
  245. package/dist/cjs/tools/mongodb/metadata/collectionIndexes.js +41 -5
  246. package/dist/cjs/tools/mongodb/metadata/collectionIndexes.js.map +1 -1
  247. package/dist/cjs/tools/mongodb/metadata/collectionSchema.d.ts +1 -1
  248. package/dist/cjs/tools/mongodb/metadata/collectionSchema.d.ts.map +1 -1
  249. package/dist/cjs/tools/mongodb/metadata/collectionSchema.js +3 -3
  250. package/dist/cjs/tools/mongodb/metadata/collectionSchema.js.map +1 -1
  251. package/dist/cjs/tools/mongodb/metadata/collectionStorageSize.d.ts +3 -3
  252. package/dist/cjs/tools/mongodb/metadata/collectionStorageSize.d.ts.map +1 -1
  253. package/dist/cjs/tools/mongodb/metadata/collectionStorageSize.js +2 -2
  254. package/dist/cjs/tools/mongodb/metadata/collectionStorageSize.js.map +1 -1
  255. package/dist/cjs/tools/mongodb/metadata/dbStats.d.ts.map +1 -1
  256. package/dist/cjs/tools/mongodb/metadata/dbStats.js +3 -4
  257. package/dist/cjs/tools/mongodb/metadata/dbStats.js.map +1 -1
  258. package/dist/cjs/tools/mongodb/metadata/explain.d.ts +35 -357
  259. package/dist/cjs/tools/mongodb/metadata/explain.d.ts.map +1 -1
  260. package/dist/cjs/tools/mongodb/metadata/explain.js +5 -5
  261. package/dist/cjs/tools/mongodb/metadata/explain.js.map +1 -1
  262. package/dist/cjs/tools/mongodb/metadata/listCollections.d.ts +2 -10
  263. package/dist/cjs/tools/mongodb/metadata/listCollections.d.ts.map +1 -1
  264. package/dist/cjs/tools/mongodb/metadata/listCollections.js +1 -3
  265. package/dist/cjs/tools/mongodb/metadata/listCollections.js.map +1 -1
  266. package/dist/cjs/tools/mongodb/metadata/listDatabases.d.ts +3 -16
  267. package/dist/cjs/tools/mongodb/metadata/listDatabases.d.ts.map +1 -1
  268. package/dist/cjs/tools/mongodb/metadata/listDatabases.js +3 -3
  269. package/dist/cjs/tools/mongodb/metadata/listDatabases.js.map +1 -1
  270. package/dist/cjs/tools/mongodb/metadata/logs.d.ts +6 -3
  271. package/dist/cjs/tools/mongodb/metadata/logs.d.ts.map +1 -1
  272. package/dist/cjs/tools/mongodb/metadata/logs.js +1 -0
  273. package/dist/cjs/tools/mongodb/metadata/logs.js.map +1 -1
  274. package/dist/cjs/tools/mongodb/mongodbSchemas.d.ts +20 -191
  275. package/dist/cjs/tools/mongodb/mongodbSchemas.d.ts.map +1 -1
  276. package/dist/cjs/tools/mongodb/mongodbSchemas.js +34 -34
  277. package/dist/cjs/tools/mongodb/mongodbSchemas.js.map +1 -1
  278. package/dist/cjs/tools/mongodb/mongodbTool.d.ts +12 -1
  279. package/dist/cjs/tools/mongodb/mongodbTool.d.ts.map +1 -1
  280. package/dist/cjs/tools/mongodb/mongodbTool.js +15 -2
  281. package/dist/cjs/tools/mongodb/mongodbTool.js.map +1 -1
  282. package/dist/cjs/tools/mongodb/read/aggregate.d.ts +33 -300
  283. package/dist/cjs/tools/mongodb/read/aggregate.d.ts.map +1 -1
  284. package/dist/cjs/tools/mongodb/read/aggregate.js +21 -92
  285. package/dist/cjs/tools/mongodb/read/aggregate.js.map +1 -1
  286. package/dist/cjs/tools/mongodb/read/aggregateDB.d.ts +24 -0
  287. package/dist/cjs/tools/mongodb/read/aggregateDB.d.ts.map +1 -0
  288. package/dist/cjs/tools/mongodb/read/aggregateDB.js +173 -0
  289. package/dist/cjs/tools/mongodb/read/aggregateDB.js.map +1 -0
  290. package/dist/cjs/tools/mongodb/read/count.d.ts +3 -3
  291. package/dist/cjs/tools/mongodb/read/count.d.ts.map +1 -1
  292. package/dist/cjs/tools/mongodb/read/count.js +3 -2
  293. package/dist/cjs/tools/mongodb/read/count.js.map +1 -1
  294. package/dist/cjs/tools/mongodb/read/export.d.ts +30 -332
  295. package/dist/cjs/tools/mongodb/read/export.d.ts.map +1 -1
  296. package/dist/cjs/tools/mongodb/read/export.js +4 -6
  297. package/dist/cjs/tools/mongodb/read/export.js.map +1 -1
  298. package/dist/cjs/tools/mongodb/read/find.d.ts +11 -8
  299. package/dist/cjs/tools/mongodb/read/find.d.ts.map +1 -1
  300. package/dist/cjs/tools/mongodb/read/find.js +8 -6
  301. package/dist/cjs/tools/mongodb/read/find.js.map +1 -1
  302. package/dist/cjs/tools/mongodb/tools.d.ts +1 -0
  303. package/dist/cjs/tools/mongodb/tools.d.ts.map +1 -1
  304. package/dist/cjs/tools/mongodb/tools.js +3 -1
  305. package/dist/cjs/tools/mongodb/tools.js.map +1 -1
  306. package/dist/cjs/tools/mongodb/update/renameCollection.d.ts +1 -1
  307. package/dist/cjs/tools/mongodb/update/renameCollection.d.ts.map +1 -1
  308. package/dist/cjs/tools/mongodb/update/renameCollection.js +1 -1
  309. package/dist/cjs/tools/mongodb/update/renameCollection.js.map +1 -1
  310. package/dist/cjs/tools/mongodb/update/updateMany.d.ts +3 -3
  311. package/dist/cjs/tools/mongodb/update/updateMany.d.ts.map +1 -1
  312. package/dist/cjs/tools/mongodb/update/updateMany.js +3 -2
  313. package/dist/cjs/tools/mongodb/update/updateMany.js.map +1 -1
  314. package/dist/cjs/tools/tool.d.ts +21 -9
  315. package/dist/cjs/tools/tool.d.ts.map +1 -1
  316. package/dist/cjs/tools/tool.js +21 -2
  317. package/dist/cjs/tools/tool.js.map +1 -1
  318. package/dist/cjs/transports/base.d.ts +43 -18
  319. package/dist/cjs/transports/base.d.ts.map +1 -1
  320. package/dist/cjs/transports/base.js +31 -14
  321. package/dist/cjs/transports/base.js.map +1 -1
  322. package/dist/cjs/transports/expressBasedHttpServer.d.ts +24 -0
  323. package/dist/cjs/transports/expressBasedHttpServer.d.ts.map +1 -0
  324. package/dist/cjs/transports/expressBasedHttpServer.js +82 -0
  325. package/dist/cjs/transports/expressBasedHttpServer.js.map +1 -0
  326. package/dist/cjs/transports/jsonRpcErrorCodes.d.ts +12 -0
  327. package/dist/cjs/transports/jsonRpcErrorCodes.d.ts.map +1 -0
  328. package/dist/cjs/transports/jsonRpcErrorCodes.js +15 -0
  329. package/dist/cjs/transports/jsonRpcErrorCodes.js.map +1 -0
  330. package/dist/cjs/transports/mcpHttpServer.d.ts +61 -0
  331. package/dist/cjs/transports/mcpHttpServer.d.ts.map +1 -0
  332. package/dist/cjs/transports/mcpHttpServer.js +374 -0
  333. package/dist/cjs/transports/mcpHttpServer.js.map +1 -0
  334. package/dist/cjs/transports/monitoringServer.d.ts +29 -0
  335. package/dist/cjs/transports/monitoringServer.d.ts.map +1 -0
  336. package/dist/cjs/transports/monitoringServer.js +53 -0
  337. package/dist/cjs/transports/monitoringServer.js.map +1 -0
  338. package/dist/cjs/transports/stdio.d.ts +3 -2
  339. package/dist/cjs/transports/stdio.d.ts.map +1 -1
  340. package/dist/cjs/transports/stdio.js +3 -14
  341. package/dist/cjs/transports/stdio.js.map +1 -1
  342. package/dist/cjs/transports/streamableHttp.d.ts +66 -5
  343. package/dist/cjs/transports/streamableHttp.d.ts.map +1 -1
  344. package/dist/cjs/transports/streamableHttp.js +53 -402
  345. package/dist/cjs/transports/streamableHttp.js.map +1 -1
  346. package/dist/cjs/ui/components/ListDatabases/ListDatabases.d.ts +3 -0
  347. package/dist/cjs/ui/components/ListDatabases/ListDatabases.d.ts.map +1 -1
  348. package/dist/cjs/ui/components/ListDatabases/ListDatabases.js.map +1 -1
  349. package/dist/cjs/ui/index.d.ts +0 -1
  350. package/dist/cjs/ui/index.d.ts.map +1 -1
  351. package/dist/cjs/ui/lib/tools/list-databases.d.ts +1 -1
  352. package/dist/cjs/ui/lib/tools/list-databases.d.ts.map +1 -1
  353. package/dist/cjs/ui/lib/tools/list-databases.js +1 -1
  354. package/dist/cjs/ui/lib/tools/list-databases.js.map +1 -1
  355. package/dist/cjs/web.d.ts +31 -2
  356. package/dist/cjs/web.d.ts.map +1 -1
  357. package/dist/cjs/web.js +37 -1
  358. package/dist/cjs/web.js.map +1 -1
  359. package/dist/esm/common/atlas/apiClient.d.ts +97 -214
  360. package/dist/esm/common/atlas/apiClient.d.ts.map +1 -1
  361. package/dist/esm/common/atlas/apiClient.js +286 -36
  362. package/dist/esm/common/atlas/apiClient.js.map +1 -1
  363. package/dist/esm/common/atlas/cluster.d.ts +2 -0
  364. package/dist/esm/common/atlas/cluster.d.ts.map +1 -1
  365. package/dist/esm/common/atlas/cluster.js +8 -1
  366. package/dist/esm/common/atlas/cluster.js.map +1 -1
  367. package/dist/esm/common/atlas/performanceAdvisorUtils.d.ts.map +1 -1
  368. package/dist/esm/common/atlas/performanceAdvisorUtils.js +12 -4
  369. package/dist/esm/common/atlas/performanceAdvisorUtils.js.map +1 -1
  370. package/dist/esm/common/config/configOverrides.d.ts +3 -0
  371. package/dist/esm/common/config/configOverrides.d.ts.map +1 -1
  372. package/dist/esm/common/config/configOverrides.js +13 -10
  373. package/dist/esm/common/config/configOverrides.js.map +1 -1
  374. package/dist/esm/common/config/configUtils.d.ts +5 -1
  375. package/dist/esm/common/config/configUtils.d.ts.map +1 -1
  376. package/dist/esm/common/config/configUtils.js +20 -17
  377. package/dist/esm/common/config/configUtils.js.map +1 -1
  378. package/dist/esm/common/config/parseUserConfig.d.ts +2 -2
  379. package/dist/esm/common/config/parseUserConfig.d.ts.map +1 -1
  380. package/dist/esm/common/config/parseUserConfig.js +19 -18
  381. package/dist/esm/common/config/parseUserConfig.js.map +1 -1
  382. package/dist/esm/common/config/userConfig.d.ts +125 -116
  383. package/dist/esm/common/config/userConfig.d.ts.map +1 -1
  384. package/dist/esm/common/config/userConfig.js +88 -66
  385. package/dist/esm/common/config/userConfig.js.map +1 -1
  386. package/dist/esm/common/connectionInfo.d.ts +4 -2
  387. package/dist/esm/common/connectionInfo.d.ts.map +1 -1
  388. package/dist/esm/common/connectionInfo.js.map +1 -1
  389. package/dist/esm/common/connectionManager.d.ts +11 -3
  390. package/dist/esm/common/connectionManager.d.ts.map +1 -1
  391. package/dist/esm/common/connectionManager.js +82 -11
  392. package/dist/esm/common/connectionManager.js.map +1 -1
  393. package/dist/esm/common/errors.d.ts +1 -2
  394. package/dist/esm/common/errors.d.ts.map +1 -1
  395. package/dist/esm/common/errors.js +1 -2
  396. package/dist/esm/common/errors.js.map +1 -1
  397. package/dist/esm/common/exportsManager.d.ts +9 -7
  398. package/dist/esm/common/exportsManager.d.ts.map +1 -1
  399. package/dist/esm/common/logging/consoleLogger.js +3 -3
  400. package/dist/esm/common/logging/consoleLogger.js.map +1 -1
  401. package/dist/esm/common/logging/index.d.ts +2 -0
  402. package/dist/esm/common/logging/index.d.ts.map +1 -1
  403. package/dist/esm/common/logging/index.js +2 -0
  404. package/dist/esm/common/logging/index.js.map +1 -1
  405. package/dist/esm/common/logging/loggerBase.d.ts +2 -1
  406. package/dist/esm/common/logging/loggerBase.d.ts.map +1 -1
  407. package/dist/esm/common/logging/loggerBase.js +11 -0
  408. package/dist/esm/common/logging/loggerBase.js.map +1 -1
  409. package/dist/esm/common/logging/loggingDefinitions.d.ts +4 -0
  410. package/dist/esm/common/logging/loggingDefinitions.d.ts.map +1 -1
  411. package/dist/esm/common/logging/loggingDefinitions.js +4 -0
  412. package/dist/esm/common/logging/loggingDefinitions.js.map +1 -1
  413. package/dist/esm/common/logging/loggingTypes.d.ts +3 -2
  414. package/dist/esm/common/logging/loggingTypes.d.ts.map +1 -1
  415. package/dist/esm/common/logging/loggingTypes.js +2 -1
  416. package/dist/esm/common/logging/loggingTypes.js.map +1 -1
  417. package/dist/esm/common/logging/mcpLogger.d.ts +1 -2
  418. package/dist/esm/common/logging/mcpLogger.d.ts.map +1 -1
  419. package/dist/esm/common/logging/mcpLogger.js +3 -12
  420. package/dist/esm/common/logging/mcpLogger.js.map +1 -1
  421. package/dist/esm/common/logging/nullLogger.d.ts +8 -0
  422. package/dist/esm/common/logging/nullLogger.d.ts.map +1 -0
  423. package/dist/esm/common/logging/nullLogger.js +10 -0
  424. package/dist/esm/common/logging/nullLogger.js.map +1 -0
  425. package/dist/esm/common/metrics/index.d.ts +5 -0
  426. package/dist/esm/common/metrics/index.d.ts.map +1 -0
  427. package/dist/esm/common/metrics/index.js +3 -0
  428. package/dist/esm/common/metrics/index.js.map +1 -0
  429. package/dist/esm/common/metrics/metricDefinitions.d.ts +15 -0
  430. package/dist/esm/common/metrics/metricDefinitions.d.ts.map +1 -0
  431. package/dist/esm/common/metrics/metricDefinitions.js +32 -0
  432. package/dist/esm/common/metrics/metricDefinitions.js.map +1 -0
  433. package/dist/esm/common/metrics/metricsTypes.d.ts +15 -0
  434. package/dist/esm/common/metrics/metricsTypes.d.ts.map +1 -0
  435. package/dist/esm/common/metrics/metricsTypes.js +2 -0
  436. package/dist/esm/common/metrics/metricsTypes.js.map +1 -0
  437. package/dist/esm/common/metrics/prometheusMetrics.d.ts +15 -0
  438. package/dist/esm/common/metrics/prometheusMetrics.d.ts.map +1 -0
  439. package/dist/esm/common/metrics/prometheusMetrics.js +21 -0
  440. package/dist/esm/common/metrics/prometheusMetrics.js.map +1 -0
  441. package/dist/esm/common/packageInfo.d.ts +3 -0
  442. package/dist/esm/common/packageInfo.d.ts.map +1 -1
  443. package/dist/esm/common/packageInfo.js +4 -1
  444. package/dist/esm/common/packageInfo.js.map +1 -1
  445. package/dist/esm/common/schemas.d.ts +3 -3
  446. package/dist/esm/common/schemas.d.ts.map +1 -1
  447. package/dist/esm/common/schemas.js +2 -2
  448. package/dist/esm/common/schemas.js.map +1 -1
  449. package/dist/esm/common/session.d.ts +4 -7
  450. package/dist/esm/common/session.d.ts.map +1 -1
  451. package/dist/esm/common/session.js +2 -3
  452. package/dist/esm/common/session.js.map +1 -1
  453. package/dist/esm/common/sessionStore.d.ts +57 -16
  454. package/dist/esm/common/sessionStore.d.ts.map +1 -1
  455. package/dist/esm/common/sessionStore.js +32 -17
  456. package/dist/esm/common/sessionStore.js.map +1 -1
  457. package/dist/esm/elicitation.d.ts +18 -0
  458. package/dist/esm/elicitation.d.ts.map +1 -1
  459. package/dist/esm/elicitation.js +31 -1
  460. package/dist/esm/elicitation.js.map +1 -1
  461. package/dist/esm/helpers/connectionOptions.d.ts +2 -5
  462. package/dist/esm/helpers/connectionOptions.d.ts.map +1 -1
  463. package/dist/esm/helpers/connectionOptions.js +1 -1
  464. package/dist/esm/helpers/connectionOptions.js.map +1 -1
  465. package/dist/esm/helpers/deviceId.d.ts +2 -1
  466. package/dist/esm/helpers/deviceId.d.ts.map +1 -1
  467. package/dist/esm/helpers/deviceId.js.map +1 -1
  468. package/dist/esm/index.d.ts.map +1 -1
  469. package/dist/esm/index.js +11 -2
  470. package/dist/esm/index.js.map +1 -1
  471. package/dist/esm/lib.d.ts +20 -12
  472. package/dist/esm/lib.d.ts.map +1 -1
  473. package/dist/esm/lib.js +12 -6
  474. package/dist/esm/lib.js.map +1 -1
  475. package/dist/esm/server.d.ts +11 -8
  476. package/dist/esm/server.d.ts.map +1 -1
  477. package/dist/esm/server.js +16 -10
  478. package/dist/esm/server.js.map +1 -1
  479. package/dist/esm/setup/aiTool.d.ts +46 -0
  480. package/dist/esm/setup/aiTool.d.ts.map +1 -0
  481. package/dist/esm/setup/aiTool.js +383 -0
  482. package/dist/esm/setup/aiTool.js.map +1 -0
  483. package/dist/esm/setup/installSkills.d.ts +42 -0
  484. package/dist/esm/setup/installSkills.d.ts.map +1 -0
  485. package/dist/esm/setup/installSkills.js +113 -0
  486. package/dist/esm/setup/installSkills.js.map +1 -0
  487. package/dist/esm/setup/setupAiToolsUtils.d.ts +4 -0
  488. package/dist/esm/setup/setupAiToolsUtils.d.ts.map +1 -0
  489. package/dist/esm/setup/setupAiToolsUtils.js +20 -0
  490. package/dist/esm/setup/setupAiToolsUtils.js.map +1 -0
  491. package/dist/esm/setup/setupMcpServer.d.ts +8 -0
  492. package/dist/esm/setup/setupMcpServer.d.ts.map +1 -0
  493. package/dist/esm/setup/setupMcpServer.js +384 -0
  494. package/dist/esm/setup/setupMcpServer.js.map +1 -0
  495. package/dist/esm/setup/setupTelemetry.d.ts +99 -0
  496. package/dist/esm/setup/setupTelemetry.d.ts.map +1 -0
  497. package/dist/esm/setup/setupTelemetry.js +197 -0
  498. package/dist/esm/setup/setupTelemetry.js.map +1 -0
  499. package/dist/esm/telemetry/constants.js +4 -4
  500. package/dist/esm/telemetry/constants.js.map +1 -1
  501. package/dist/esm/telemetry/eventCache.d.ts +19 -3
  502. package/dist/esm/telemetry/eventCache.d.ts.map +1 -1
  503. package/dist/esm/telemetry/eventCache.js +48 -3
  504. package/dist/esm/telemetry/eventCache.js.map +1 -1
  505. package/dist/esm/telemetry/telemetry.d.ts +106 -25
  506. package/dist/esm/telemetry/telemetry.d.ts.map +1 -1
  507. package/dist/esm/telemetry/telemetry.js +166 -112
  508. package/dist/esm/telemetry/telemetry.js.map +1 -1
  509. package/dist/esm/telemetry/timer.d.ts +12 -0
  510. package/dist/esm/telemetry/timer.d.ts.map +1 -0
  511. package/dist/esm/telemetry/timer.js +24 -0
  512. package/dist/esm/telemetry/timer.js.map +1 -0
  513. package/dist/esm/telemetry/types.d.ts +69 -11
  514. package/dist/esm/telemetry/types.d.ts.map +1 -1
  515. package/dist/esm/tools/args.d.ts +7 -2
  516. package/dist/esm/tools/args.d.ts.map +1 -1
  517. package/dist/esm/tools/args.js +6 -4
  518. package/dist/esm/tools/args.js.map +1 -1
  519. package/dist/esm/tools/assistant/searchKnowledge.d.ts +2 -14
  520. package/dist/esm/tools/assistant/searchKnowledge.d.ts.map +1 -1
  521. package/dist/esm/tools/atlas/connect/connectCluster.d.ts +10 -2
  522. package/dist/esm/tools/atlas/connect/connectCluster.d.ts.map +1 -1
  523. package/dist/esm/tools/atlas/connect/connectCluster.js +3 -0
  524. package/dist/esm/tools/atlas/connect/connectCluster.js.map +1 -1
  525. package/dist/esm/tools/atlas/create/createAccessList.d.ts +4 -4
  526. package/dist/esm/tools/atlas/create/createDBUser.d.ts +4 -20
  527. package/dist/esm/tools/atlas/create/createDBUser.d.ts.map +1 -1
  528. package/dist/esm/tools/atlas/read/getPerformanceAdvisor.d.ts +7 -2
  529. package/dist/esm/tools/atlas/read/getPerformanceAdvisor.d.ts.map +1 -1
  530. package/dist/esm/tools/atlas/read/listAlerts.d.ts +18 -3
  531. package/dist/esm/tools/atlas/read/listAlerts.d.ts.map +1 -1
  532. package/dist/esm/tools/atlas/read/listAlerts.js +21 -3
  533. package/dist/esm/tools/atlas/read/listAlerts.js.map +1 -1
  534. package/dist/esm/tools/atlas/read/listProjects.d.ts.map +1 -1
  535. package/dist/esm/tools/atlas/read/listProjects.js +10 -1
  536. package/dist/esm/tools/atlas/read/listProjects.js.map +1 -1
  537. package/dist/esm/tools/atlas/streams/build.d.ts +149 -0
  538. package/dist/esm/tools/atlas/streams/build.d.ts.map +1 -0
  539. package/dist/esm/tools/atlas/streams/build.js +667 -0
  540. package/dist/esm/tools/atlas/streams/build.js.map +1 -0
  541. package/dist/esm/tools/atlas/streams/discover.d.ts +44 -0
  542. package/dist/esm/tools/atlas/streams/discover.d.ts.map +1 -0
  543. package/dist/esm/tools/atlas/streams/discover.js +341 -0
  544. package/dist/esm/tools/atlas/streams/discover.js.map +1 -0
  545. package/dist/esm/tools/atlas/streams/manage.d.ts +111 -0
  546. package/dist/esm/tools/atlas/streams/manage.d.ts.map +1 -0
  547. package/dist/esm/tools/atlas/streams/manage.js +467 -0
  548. package/dist/esm/tools/atlas/streams/manage.js.map +1 -0
  549. package/dist/esm/tools/atlas/streams/streamsArgs.d.ts +74 -0
  550. package/dist/esm/tools/atlas/streams/streamsArgs.d.ts.map +1 -0
  551. package/dist/esm/tools/atlas/streams/streamsArgs.js +143 -0
  552. package/dist/esm/tools/atlas/streams/streamsArgs.js.map +1 -0
  553. package/dist/esm/tools/atlas/streams/streamsToolBase.d.ts +12 -0
  554. package/dist/esm/tools/atlas/streams/streamsToolBase.d.ts.map +1 -0
  555. package/dist/esm/tools/atlas/streams/streamsToolBase.js +159 -0
  556. package/dist/esm/tools/atlas/streams/streamsToolBase.js.map +1 -0
  557. package/dist/esm/tools/atlas/streams/teardown.d.ts +31 -0
  558. package/dist/esm/tools/atlas/streams/teardown.d.ts.map +1 -0
  559. package/dist/esm/tools/atlas/streams/teardown.js +232 -0
  560. package/dist/esm/tools/atlas/streams/teardown.js.map +1 -0
  561. package/dist/esm/tools/atlas/tools.d.ts +5 -0
  562. package/dist/esm/tools/atlas/tools.d.ts.map +1 -1
  563. package/dist/esm/tools/atlas/tools.js +5 -0
  564. package/dist/esm/tools/atlas/tools.js.map +1 -1
  565. package/dist/esm/tools/atlas/update/upgradeCluster.d.ts +28 -0
  566. package/dist/esm/tools/atlas/update/upgradeCluster.d.ts.map +1 -0
  567. package/dist/esm/tools/atlas/update/upgradeCluster.js +227 -0
  568. package/dist/esm/tools/atlas/update/upgradeCluster.js.map +1 -0
  569. package/dist/esm/tools/index.d.ts +1 -0
  570. package/dist/esm/tools/index.d.ts.map +1 -1
  571. package/dist/esm/tools/index.js +1 -0
  572. package/dist/esm/tools/index.js.map +1 -1
  573. package/dist/esm/tools/mongodb/create/createCollection.d.ts +1 -1
  574. package/dist/esm/tools/mongodb/create/createCollection.d.ts.map +1 -1
  575. package/dist/esm/tools/mongodb/create/createCollection.js +2 -2
  576. package/dist/esm/tools/mongodb/create/createCollection.js.map +1 -1
  577. package/dist/esm/tools/mongodb/create/createIndex.d.ts +56 -218
  578. package/dist/esm/tools/mongodb/create/createIndex.d.ts.map +1 -1
  579. package/dist/esm/tools/mongodb/create/createIndex.js +14 -16
  580. package/dist/esm/tools/mongodb/create/createIndex.js.map +1 -1
  581. package/dist/esm/tools/mongodb/create/insertMany.d.ts +5 -32
  582. package/dist/esm/tools/mongodb/create/insertMany.d.ts.map +1 -1
  583. package/dist/esm/tools/mongodb/create/insertMany.js +8 -92
  584. package/dist/esm/tools/mongodb/create/insertMany.js.map +1 -1
  585. package/dist/esm/tools/mongodb/delete/deleteMany.d.ts +2 -2
  586. package/dist/esm/tools/mongodb/delete/deleteMany.d.ts.map +1 -1
  587. package/dist/esm/tools/mongodb/delete/deleteMany.js +3 -2
  588. package/dist/esm/tools/mongodb/delete/deleteMany.js.map +1 -1
  589. package/dist/esm/tools/mongodb/delete/dropCollection.d.ts +1 -1
  590. package/dist/esm/tools/mongodb/delete/dropCollection.d.ts.map +1 -1
  591. package/dist/esm/tools/mongodb/delete/dropCollection.js +2 -2
  592. package/dist/esm/tools/mongodb/delete/dropCollection.js.map +1 -1
  593. package/dist/esm/tools/mongodb/delete/dropDatabase.d.ts.map +1 -1
  594. package/dist/esm/tools/mongodb/delete/dropDatabase.js +2 -4
  595. package/dist/esm/tools/mongodb/delete/dropDatabase.js.map +1 -1
  596. package/dist/esm/tools/mongodb/delete/dropIndex.d.ts +5 -2
  597. package/dist/esm/tools/mongodb/delete/dropIndex.d.ts.map +1 -1
  598. package/dist/esm/tools/mongodb/delete/dropIndex.js +5 -10
  599. package/dist/esm/tools/mongodb/delete/dropIndex.js.map +1 -1
  600. package/dist/esm/tools/mongodb/metadata/collectionIndexes.d.ts +13 -43
  601. package/dist/esm/tools/mongodb/metadata/collectionIndexes.d.ts.map +1 -1
  602. package/dist/esm/tools/mongodb/metadata/collectionIndexes.js +42 -6
  603. package/dist/esm/tools/mongodb/metadata/collectionIndexes.js.map +1 -1
  604. package/dist/esm/tools/mongodb/metadata/collectionSchema.d.ts +1 -1
  605. package/dist/esm/tools/mongodb/metadata/collectionSchema.d.ts.map +1 -1
  606. package/dist/esm/tools/mongodb/metadata/collectionSchema.js +4 -4
  607. package/dist/esm/tools/mongodb/metadata/collectionSchema.js.map +1 -1
  608. package/dist/esm/tools/mongodb/metadata/collectionStorageSize.d.ts +3 -3
  609. package/dist/esm/tools/mongodb/metadata/collectionStorageSize.d.ts.map +1 -1
  610. package/dist/esm/tools/mongodb/metadata/collectionStorageSize.js +3 -3
  611. package/dist/esm/tools/mongodb/metadata/collectionStorageSize.js.map +1 -1
  612. package/dist/esm/tools/mongodb/metadata/dbStats.d.ts.map +1 -1
  613. package/dist/esm/tools/mongodb/metadata/dbStats.js +4 -5
  614. package/dist/esm/tools/mongodb/metadata/dbStats.js.map +1 -1
  615. package/dist/esm/tools/mongodb/metadata/explain.d.ts +35 -357
  616. package/dist/esm/tools/mongodb/metadata/explain.d.ts.map +1 -1
  617. package/dist/esm/tools/mongodb/metadata/explain.js +7 -7
  618. package/dist/esm/tools/mongodb/metadata/explain.js.map +1 -1
  619. package/dist/esm/tools/mongodb/metadata/listCollections.d.ts +2 -10
  620. package/dist/esm/tools/mongodb/metadata/listCollections.d.ts.map +1 -1
  621. package/dist/esm/tools/mongodb/metadata/listCollections.js +2 -4
  622. package/dist/esm/tools/mongodb/metadata/listCollections.js.map +1 -1
  623. package/dist/esm/tools/mongodb/metadata/listDatabases.d.ts +3 -16
  624. package/dist/esm/tools/mongodb/metadata/listDatabases.d.ts.map +1 -1
  625. package/dist/esm/tools/mongodb/metadata/listDatabases.js +1 -1
  626. package/dist/esm/tools/mongodb/metadata/listDatabases.js.map +1 -1
  627. package/dist/esm/tools/mongodb/metadata/logs.d.ts +6 -3
  628. package/dist/esm/tools/mongodb/metadata/logs.d.ts.map +1 -1
  629. package/dist/esm/tools/mongodb/metadata/logs.js +1 -0
  630. package/dist/esm/tools/mongodb/metadata/logs.js.map +1 -1
  631. package/dist/esm/tools/mongodb/mongodbSchemas.d.ts +20 -191
  632. package/dist/esm/tools/mongodb/mongodbSchemas.d.ts.map +1 -1
  633. package/dist/esm/tools/mongodb/mongodbSchemas.js +33 -33
  634. package/dist/esm/tools/mongodb/mongodbSchemas.js.map +1 -1
  635. package/dist/esm/tools/mongodb/mongodbTool.d.ts +12 -1
  636. package/dist/esm/tools/mongodb/mongodbTool.d.ts.map +1 -1
  637. package/dist/esm/tools/mongodb/mongodbTool.js +14 -1
  638. package/dist/esm/tools/mongodb/mongodbTool.js.map +1 -1
  639. package/dist/esm/tools/mongodb/read/aggregate.d.ts +33 -300
  640. package/dist/esm/tools/mongodb/read/aggregate.d.ts.map +1 -1
  641. package/dist/esm/tools/mongodb/read/aggregate.js +21 -91
  642. package/dist/esm/tools/mongodb/read/aggregate.js.map +1 -1
  643. package/dist/esm/tools/mongodb/read/aggregateDB.d.ts +24 -0
  644. package/dist/esm/tools/mongodb/read/aggregateDB.d.ts.map +1 -0
  645. package/dist/esm/tools/mongodb/read/aggregateDB.js +169 -0
  646. package/dist/esm/tools/mongodb/read/aggregateDB.js.map +1 -0
  647. package/dist/esm/tools/mongodb/read/count.d.ts +3 -3
  648. package/dist/esm/tools/mongodb/read/count.d.ts.map +1 -1
  649. package/dist/esm/tools/mongodb/read/count.js +4 -3
  650. package/dist/esm/tools/mongodb/read/count.js.map +1 -1
  651. package/dist/esm/tools/mongodb/read/export.d.ts +30 -332
  652. package/dist/esm/tools/mongodb/read/export.d.ts.map +1 -1
  653. package/dist/esm/tools/mongodb/read/export.js +6 -8
  654. package/dist/esm/tools/mongodb/read/export.js.map +1 -1
  655. package/dist/esm/tools/mongodb/read/find.d.ts +11 -8
  656. package/dist/esm/tools/mongodb/read/find.d.ts.map +1 -1
  657. package/dist/esm/tools/mongodb/read/find.js +9 -7
  658. package/dist/esm/tools/mongodb/read/find.js.map +1 -1
  659. package/dist/esm/tools/mongodb/tools.d.ts +1 -0
  660. package/dist/esm/tools/mongodb/tools.d.ts.map +1 -1
  661. package/dist/esm/tools/mongodb/tools.js +1 -0
  662. package/dist/esm/tools/mongodb/tools.js.map +1 -1
  663. package/dist/esm/tools/mongodb/update/renameCollection.d.ts +1 -1
  664. package/dist/esm/tools/mongodb/update/renameCollection.d.ts.map +1 -1
  665. package/dist/esm/tools/mongodb/update/renameCollection.js +2 -2
  666. package/dist/esm/tools/mongodb/update/renameCollection.js.map +1 -1
  667. package/dist/esm/tools/mongodb/update/updateMany.d.ts +3 -3
  668. package/dist/esm/tools/mongodb/update/updateMany.d.ts.map +1 -1
  669. package/dist/esm/tools/mongodb/update/updateMany.js +4 -3
  670. package/dist/esm/tools/mongodb/update/updateMany.js.map +1 -1
  671. package/dist/esm/tools/tool.d.ts +21 -9
  672. package/dist/esm/tools/tool.d.ts.map +1 -1
  673. package/dist/esm/tools/tool.js +21 -2
  674. package/dist/esm/tools/tool.js.map +1 -1
  675. package/dist/esm/transports/base.d.ts +43 -18
  676. package/dist/esm/transports/base.d.ts.map +1 -1
  677. package/dist/esm/transports/base.js +31 -14
  678. package/dist/esm/transports/base.js.map +1 -1
  679. package/dist/esm/transports/expressBasedHttpServer.d.ts +24 -0
  680. package/dist/esm/transports/expressBasedHttpServer.d.ts.map +1 -0
  681. package/dist/esm/transports/expressBasedHttpServer.js +75 -0
  682. package/dist/esm/transports/expressBasedHttpServer.js.map +1 -0
  683. package/dist/esm/transports/jsonRpcErrorCodes.d.ts +12 -0
  684. package/dist/esm/transports/jsonRpcErrorCodes.d.ts.map +1 -0
  685. package/dist/esm/transports/jsonRpcErrorCodes.js +12 -0
  686. package/dist/esm/transports/jsonRpcErrorCodes.js.map +1 -0
  687. package/dist/esm/transports/mcpHttpServer.d.ts +61 -0
  688. package/dist/esm/transports/mcpHttpServer.d.ts.map +1 -0
  689. package/dist/esm/transports/mcpHttpServer.js +333 -0
  690. package/dist/esm/transports/mcpHttpServer.js.map +1 -0
  691. package/dist/esm/transports/monitoringServer.d.ts +29 -0
  692. package/dist/esm/transports/monitoringServer.d.ts.map +1 -0
  693. package/dist/esm/transports/monitoringServer.js +48 -0
  694. package/dist/esm/transports/monitoringServer.js.map +1 -0
  695. package/dist/esm/transports/stdio.d.ts +3 -2
  696. package/dist/esm/transports/stdio.d.ts.map +1 -1
  697. package/dist/esm/transports/stdio.js +3 -14
  698. package/dist/esm/transports/stdio.js.map +1 -1
  699. package/dist/esm/transports/streamableHttp.d.ts +66 -5
  700. package/dist/esm/transports/streamableHttp.d.ts.map +1 -1
  701. package/dist/esm/transports/streamableHttp.js +44 -366
  702. package/dist/esm/transports/streamableHttp.js.map +1 -1
  703. package/dist/esm/ui/components/ListDatabases/ListDatabases.d.ts +3 -0
  704. package/dist/esm/ui/components/ListDatabases/ListDatabases.d.ts.map +1 -1
  705. package/dist/esm/ui/components/ListDatabases/ListDatabases.js.map +1 -1
  706. package/dist/esm/ui/index.d.ts +0 -1
  707. package/dist/esm/ui/index.d.ts.map +1 -1
  708. package/dist/esm/ui/lib/tools/list-databases.d.ts +1 -1
  709. package/dist/esm/ui/lib/tools/list-databases.d.ts.map +1 -1
  710. package/dist/esm/ui/lib/tools/list-databases.js +1 -1
  711. package/dist/esm/ui/lib/tools/list-databases.js.map +1 -1
  712. package/dist/esm/web.d.ts +31 -2
  713. package/dist/esm/web.d.ts.map +1 -1
  714. package/dist/esm/web.js +17 -1
  715. package/dist/esm/web.js.map +1 -1
  716. package/package.json +88 -65
@@ -0,0 +1,99 @@
1
+ import type { Keychain } from "../common/keychain.js";
2
+ import { DeviceId } from "../helpers/deviceId.js";
3
+ import { Telemetry } from "../telemetry/telemetry.js";
4
+ import type { SkillsInstallOutcome } from "./installSkills.js";
5
+ import type { SetupEventProperties, TelemetryBoolSet, TelemetryResult } from "../telemetry/types.js";
6
+ /**
7
+ * Context accumulated as the user progresses through the setup wizard. Each
8
+ * step adds to it, and every emitted event carries the full context so each
9
+ * event is independently queryable downstream.
10
+ */
11
+ export type SetupTelemetryContext = Omit<SetupEventProperties, "stage" | "setup_session_id" | "last_step" | "error_type" | "total_duration_ms">;
12
+ export declare const toBoolSet: (value: boolean | undefined) => TelemetryBoolSet | undefined;
13
+ /**
14
+ * Per-run helper that owns the setup telemetry session: assigns the
15
+ * `setup_session_id`, tracks wall-clock durations, and
16
+ * accumulates context so every event carries the full set of known flags.
17
+ *
18
+ * One instance is constructed per `runSetup` invocation. Callers emit typed
19
+ * events at each logical step and call {@link flush} before the process
20
+ * exits so buffered events are best-effort sent.
21
+ */
22
+ export declare class SetupTelemetry {
23
+ private readonly telemetry;
24
+ private readonly deviceId;
25
+ private readonly setupSessionId;
26
+ private readonly startedAt;
27
+ private stepStartedAt;
28
+ private lastStep;
29
+ private context;
30
+ /**
31
+ * Builds a fully-wired {@link SetupTelemetry} for the setup CLI: a silent
32
+ * logger (so telemetry's internal logging doesn't leak into the
33
+ * interactive wizard), a fresh {@link DeviceId}, an unauthenticated
34
+ * {@link ApiClient}, and a {@link Telemetry} instance.
35
+ */
36
+ static create(config: {
37
+ apiBaseUrl: string;
38
+ telemetry: "enabled" | "disabled";
39
+ }, keychain: Keychain): SetupTelemetry;
40
+ /**
41
+ * Direct construction is primarily for tests that want to inject a mock
42
+ * telemetry pipeline. Production code should use {@link SetupTelemetry.create}.
43
+ */
44
+ constructor(telemetry: Telemetry, deviceId: DeviceId);
45
+ /**
46
+ * Merges new context values into the accumulated context. Subsequent
47
+ * events will automatically carry the updated values.
48
+ */
49
+ updateContext(patch: Partial<SetupTelemetryContext>): void;
50
+ /**
51
+ * Emits a single setup event. `duration_ms` is computed from the time
52
+ * elapsed since the previous step (or setup start), and `result`
53
+ * defaults to "success" — callers pass "failure" only when the step's
54
+ * own code path failed (e.g. writing the editor config threw).
55
+ */
56
+ private emit;
57
+ emitStarted(): void;
58
+ emitPrerequisitesChecked(props: {
59
+ nodeVersionOk: boolean;
60
+ hasDocker?: boolean;
61
+ }): void;
62
+ emitAiToolSelected(aiTool: string): void;
63
+ emitReadOnlySelected(isReadOnly: boolean): void;
64
+ emitConnectionStringEntered(props: {
65
+ provided: boolean;
66
+ tested: boolean;
67
+ attempts: number;
68
+ testResult?: TelemetryResult;
69
+ }): void;
70
+ emitServiceAccountIdEntered(provided: boolean): void;
71
+ emitServiceAccountSecretEntered(provided: boolean): void;
72
+ emitCredentialsValidated(): void;
73
+ emitEditorConfigured(props: {
74
+ usedDefaultConfigPath: boolean;
75
+ result: TelemetryResult;
76
+ error?: unknown;
77
+ }): void;
78
+ emitSkillsInstallPrompted(outcome: SkillsInstallOutcome): void;
79
+ emitOpenConfigPrompted(props: {
80
+ opened: boolean;
81
+ result: TelemetryResult;
82
+ error?: unknown;
83
+ }): void;
84
+ emitCompleted(): void;
85
+ /**
86
+ * Emits a cancellation event (e.g. the user hit Ctrl+C). The `result` is
87
+ * "success" because the cancellation itself was handled gracefully — the
88
+ * distinct `stage: "cancelled"` is what analytics use to separate
89
+ * abandoned runs from completed ones.
90
+ */
91
+ emitCancelled(): void;
92
+ emitFailed(error: unknown): void;
93
+ /**
94
+ * Best-effort flush of any buffered events before the process exits. Also
95
+ * closes the owned {@link DeviceId}.
96
+ */
97
+ flush(): Promise<void>;
98
+ }
99
+ //# sourceMappingURL=setupTelemetry.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"setupTelemetry.d.ts","sourceRoot":"","sources":["../../../src/setup/setupTelemetry.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AAEtD,OAAO,EAAE,QAAQ,EAAE,MAAM,wBAAwB,CAAC;AAClD,OAAO,EAAE,SAAS,EAAE,MAAM,2BAA2B,CAAC;AACtD,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,oBAAoB,CAAC;AAC/D,OAAO,KAAK,EAGR,oBAAoB,EACpB,gBAAgB,EAChB,eAAe,EAClB,MAAM,uBAAuB,CAAC;AAE/B;;;;GAIG;AACH,MAAM,MAAM,qBAAqB,GAAG,IAAI,CACpC,oBAAoB,EACpB,OAAO,GAAG,kBAAkB,GAAG,WAAW,GAAG,YAAY,GAAG,mBAAmB,CAClF,CAAC;AAEF,eAAO,MAAM,SAAS,GAAI,OAAO,OAAO,GAAG,SAAS,KAAG,gBAAgB,GAAG,SAMzE,CAAC;AAEF;;;;;;;;GAQG;AACH,qBAAa,cAAc;IAmCnB,OAAO,CAAC,QAAQ,CAAC,SAAS;IAC1B,OAAO,CAAC,QAAQ,CAAC,QAAQ;IAnC7B,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAwB;IACvD,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAsB;IAChD,OAAO,CAAC,aAAa,CAA0B;IAC/C,OAAO,CAAC,QAAQ,CAAyB;IACzC,OAAO,CAAC,OAAO,CAA6B;IAE5C;;;;;OAKG;WACW,MAAM,CAChB,MAAM,EAAE;QAAE,UAAU,EAAE,MAAM,CAAC;QAAC,SAAS,EAAE,SAAS,GAAG,UAAU,CAAA;KAAE,EACjE,QAAQ,EAAE,QAAQ,GACnB,cAAc;IAcjB;;;OAGG;gBAEkB,SAAS,EAAE,SAAS,EACpB,QAAQ,EAAE,QAAQ;IAGvC;;;OAGG;IACI,aAAa,CAAC,KAAK,EAAE,OAAO,CAAC,qBAAqB,CAAC,GAAG,IAAI;IAIjE;;;;;OAKG;IACH,OAAO,CAAC,IAAI;IA2BL,WAAW,IAAI,IAAI;IAInB,wBAAwB,CAAC,KAAK,EAAE;QAAE,aAAa,EAAE,OAAO,CAAC;QAAC,SAAS,CAAC,EAAE,OAAO,CAAA;KAAE,GAAG,IAAI;IAQtF,kBAAkB,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI;IAKxC,oBAAoB,CAAC,UAAU,EAAE,OAAO,GAAG,IAAI;IAK/C,2BAA2B,CAAC,KAAK,EAAE;QACtC,QAAQ,EAAE,OAAO,CAAC;QAClB,MAAM,EAAE,OAAO,CAAC;QAChB,QAAQ,EAAE,MAAM,CAAC;QACjB,UAAU,CAAC,EAAE,eAAe,CAAC;KAChC,GAAG,IAAI;IAaD,2BAA2B,CAAC,QAAQ,EAAE,OAAO,GAAG,IAAI;IAKpD,+BAA+B,CAAC,QAAQ,EAAE,OAAO,GAAG,IAAI;IAKxD,wBAAwB,IAAI,IAAI;IAIhC,oBAAoB,CAAC,KAAK,EAAE;QAC/B,qBAAqB,EAAE,OAAO,CAAC;QAC/B,MAAM,EAAE,eAAe,CAAC;QACxB,KAAK,CAAC,EAAE,OAAO,CAAC;KACnB,GAAG,IAAI;IAOD,yBAAyB,CAAC,OAAO,EAAE,oBAAoB,GAAG,IAAI;IAW9D,sBAAsB,CAAC,KAAK,EAAE;QAAE,MAAM,EAAE,OAAO,CAAC;QAAC,MAAM,EAAE,eAAe,CAAC;QAAC,KAAK,CAAC,EAAE,OAAO,CAAA;KAAE,GAAG,IAAI;IAKlG,aAAa,IAAI,IAAI;IAI5B;;;;;OAKG;IACI,aAAa,IAAI,IAAI;IAOrB,UAAU,CAAC,KAAK,EAAE,OAAO,GAAG,IAAI;IAYvC;;;OAGG;IACU,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;CAatC"}
@@ -0,0 +1,197 @@
1
+ import { randomUUID } from "crypto";
2
+ import { ApiClient } from "../common/atlas/apiClient.js";
3
+ import { NullLogger } from "../common/logging/index.js";
4
+ import { DeviceId } from "../helpers/deviceId.js";
5
+ import { Telemetry } from "../telemetry/telemetry.js";
6
+ export const toBoolSet = (value) => {
7
+ if (value === undefined) {
8
+ return undefined;
9
+ }
10
+ return value ? "true" : "false";
11
+ };
12
+ /**
13
+ * Per-run helper that owns the setup telemetry session: assigns the
14
+ * `setup_session_id`, tracks wall-clock durations, and
15
+ * accumulates context so every event carries the full set of known flags.
16
+ *
17
+ * One instance is constructed per `runSetup` invocation. Callers emit typed
18
+ * events at each logical step and call {@link flush} before the process
19
+ * exits so buffered events are best-effort sent.
20
+ */
21
+ export class SetupTelemetry {
22
+ /**
23
+ * Builds a fully-wired {@link SetupTelemetry} for the setup CLI: a silent
24
+ * logger (so telemetry's internal logging doesn't leak into the
25
+ * interactive wizard), a fresh {@link DeviceId}, an unauthenticated
26
+ * {@link ApiClient}, and a {@link Telemetry} instance.
27
+ */
28
+ static create(config, keychain) {
29
+ const logger = new NullLogger();
30
+ const deviceId = DeviceId.create(logger);
31
+ const apiClient = new ApiClient({ baseUrl: config.apiBaseUrl }, logger);
32
+ const telemetry = Telemetry.create({
33
+ logger,
34
+ deviceId,
35
+ apiClient,
36
+ keychain,
37
+ enabled: config.telemetry === "enabled",
38
+ });
39
+ return new SetupTelemetry(telemetry, deviceId);
40
+ }
41
+ /**
42
+ * Direct construction is primarily for tests that want to inject a mock
43
+ * telemetry pipeline. Production code should use {@link SetupTelemetry.create}.
44
+ */
45
+ constructor(telemetry, deviceId) {
46
+ this.telemetry = telemetry;
47
+ this.deviceId = deviceId;
48
+ this.setupSessionId = randomUUID();
49
+ this.startedAt = Date.now();
50
+ this.stepStartedAt = this.startedAt;
51
+ this.context = {};
52
+ }
53
+ /**
54
+ * Merges new context values into the accumulated context. Subsequent
55
+ * events will automatically carry the updated values.
56
+ */
57
+ updateContext(patch) {
58
+ this.context = { ...this.context, ...patch };
59
+ }
60
+ /**
61
+ * Emits a single setup event. `duration_ms` is computed from the time
62
+ * elapsed since the previous step (or setup start), and `result`
63
+ * defaults to "success" — callers pass "failure" only when the step's
64
+ * own code path failed (e.g. writing the editor config threw).
65
+ */
66
+ emit(stage, extra = {}, result = "success") {
67
+ const now = Date.now();
68
+ const event = {
69
+ timestamp: new Date(now).toISOString(),
70
+ source: "mdbmcp",
71
+ properties: {
72
+ component: "setup",
73
+ category: "setup",
74
+ duration_ms: now - this.stepStartedAt,
75
+ result,
76
+ stage,
77
+ setup_session_id: this.setupSessionId,
78
+ ...this.context,
79
+ ...extra,
80
+ },
81
+ };
82
+ this.telemetry.emitEvents([event]);
83
+ this.stepStartedAt = now;
84
+ this.lastStep = stage;
85
+ }
86
+ emitStarted() {
87
+ this.emit("started");
88
+ }
89
+ emitPrerequisitesChecked(props) {
90
+ this.updateContext({
91
+ node_version_ok: toBoolSet(props.nodeVersionOk),
92
+ has_docker: toBoolSet(props.hasDocker),
93
+ });
94
+ this.emit("prerequisites_checked");
95
+ }
96
+ emitAiToolSelected(aiTool) {
97
+ this.updateContext({ ai_tool: aiTool });
98
+ this.emit("ai_tool_selected");
99
+ }
100
+ emitReadOnlySelected(isReadOnly) {
101
+ this.updateContext({ read_only_mode: toBoolSet(isReadOnly) });
102
+ this.emit("read_only_selected");
103
+ }
104
+ emitConnectionStringEntered(props) {
105
+ this.updateContext({
106
+ connection_string_provided: toBoolSet(props.provided),
107
+ connection_string_tested: toBoolSet(props.tested),
108
+ connection_test_attempts: props.attempts,
109
+ });
110
+ // If the user tested their connection string, surface the final
111
+ // test result on this step event (success/failure). If they skipped
112
+ // the test, the step itself still "succeeded" — the user chose not
113
+ // to validate — so we default to success.
114
+ this.emit("connection_string_entered", {}, props.testResult ?? "success");
115
+ }
116
+ emitServiceAccountIdEntered(provided) {
117
+ this.updateContext({ service_account_id_provided: toBoolSet(provided) });
118
+ this.emit("service_account_id_entered");
119
+ }
120
+ emitServiceAccountSecretEntered(provided) {
121
+ this.updateContext({ service_account_secret_provided: toBoolSet(provided) });
122
+ this.emit("service_account_secret_entered");
123
+ }
124
+ emitCredentialsValidated() {
125
+ this.emit("credentials_validated");
126
+ }
127
+ emitEditorConfigured(props) {
128
+ this.updateContext({
129
+ used_default_config_path: toBoolSet(props.usedDefaultConfigPath),
130
+ });
131
+ this.emit("editor_configured", props.error ? { error_type: errorName(props.error) } : {}, props.result);
132
+ }
133
+ emitSkillsInstallPrompted(outcome) {
134
+ const patch = { skills_install_status: outcome.status };
135
+ if (outcome.status === "skipped") {
136
+ patch.skills_skip_reason = outcome.reason;
137
+ }
138
+ else if (outcome.status === "failed") {
139
+ patch.skills_install_exit_code = outcome.exitCode;
140
+ }
141
+ this.updateContext(patch);
142
+ this.emit("skills_install_prompted");
143
+ }
144
+ emitOpenConfigPrompted(props) {
145
+ this.updateContext({ opened_config_file: toBoolSet(props.opened) });
146
+ this.emit("open_config_prompted", props.error ? { error_type: errorName(props.error) } : {}, props.result);
147
+ }
148
+ emitCompleted() {
149
+ this.emit("completed", { total_duration_ms: Date.now() - this.startedAt });
150
+ }
151
+ /**
152
+ * Emits a cancellation event (e.g. the user hit Ctrl+C). The `result` is
153
+ * "success" because the cancellation itself was handled gracefully — the
154
+ * distinct `stage: "cancelled"` is what analytics use to separate
155
+ * abandoned runs from completed ones.
156
+ */
157
+ emitCancelled() {
158
+ this.emit("cancelled", {
159
+ last_stage: this.lastStep,
160
+ total_duration_ms: Date.now() - this.startedAt,
161
+ });
162
+ }
163
+ emitFailed(error) {
164
+ this.emit("failed", {
165
+ last_stage: this.lastStep,
166
+ error_type: errorName(error),
167
+ total_duration_ms: Date.now() - this.startedAt,
168
+ }, "failure");
169
+ }
170
+ /**
171
+ * Best-effort flush of any buffered events before the process exits. Also
172
+ * closes the owned {@link DeviceId}.
173
+ */
174
+ async flush() {
175
+ try {
176
+ await this.telemetry.close();
177
+ }
178
+ catch {
179
+ // Ignore errors from telemetry.close()
180
+ }
181
+ finally {
182
+ try {
183
+ this.deviceId.close();
184
+ }
185
+ catch {
186
+ // Ignore errors - it's best-effort
187
+ }
188
+ }
189
+ }
190
+ }
191
+ const errorName = (error) => {
192
+ if (error && typeof error === "object" && "name" in error && typeof error.name === "string") {
193
+ return error.name;
194
+ }
195
+ return "unknown";
196
+ };
197
+ //# sourceMappingURL=setupTelemetry.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"setupTelemetry.js","sourceRoot":"","sources":["../../../src/setup/setupTelemetry.ts"],"names":[],"mappings":"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"}
@@ -5,9 +5,9 @@ import { packageInfo } from "../common/packageInfo.js";
5
5
  export const MACHINE_METADATA = {
6
6
  mcp_server_version: packageInfo.version,
7
7
  mcp_server_name: packageInfo.mcpServerName,
8
- platform: process.platform,
9
- arch: process.arch,
10
- os_type: process.platform,
11
- os_version: process.version,
8
+ platform: (typeof process !== "undefined" && process.platform) || "browser",
9
+ arch: (typeof process !== "undefined" && process.arch) || "unknown",
10
+ os_type: (typeof process !== "undefined" && process.platform) || "unknown",
11
+ os_version: (typeof process !== "undefined" && process.version) || "unknown",
12
12
  };
13
13
  //# sourceMappingURL=constants.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"constants.js","sourceRoot":"","sources":["../../../src/telemetry/constants.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AAGvD;;GAEG;AACH,MAAM,CAAC,MAAM,gBAAgB,GAA2B;IACpD,kBAAkB,EAAE,WAAW,CAAC,OAAO;IACvC,eAAe,EAAE,WAAW,CAAC,aAAa;IAC1C,QAAQ,EAAE,OAAO,CAAC,QAAQ;IAC1B,IAAI,EAAE,OAAO,CAAC,IAAI;IAClB,OAAO,EAAE,OAAO,CAAC,QAAQ;IACzB,UAAU,EAAE,OAAO,CAAC,OAAO;CACrB,CAAC"}
1
+ {"version":3,"file":"constants.js","sourceRoot":"","sources":["../../../src/telemetry/constants.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AAGvD;;GAEG;AACH,MAAM,CAAC,MAAM,gBAAgB,GAA2B;IACpD,kBAAkB,EAAE,WAAW,CAAC,OAAO;IACvC,eAAe,EAAE,WAAW,CAAC,aAAa;IAC1C,QAAQ,EAAE,CAAC,OAAO,OAAO,KAAK,WAAW,IAAI,OAAO,CAAC,QAAQ,CAAC,IAAI,SAAS;IAC3E,IAAI,EAAE,CAAC,OAAO,OAAO,KAAK,WAAW,IAAI,OAAO,CAAC,IAAI,CAAC,IAAI,SAAS;IACnE,OAAO,EAAE,CAAC,OAAO,OAAO,KAAK,WAAW,IAAI,OAAO,CAAC,QAAQ,CAAC,IAAI,SAAS;IAC1E,UAAU,EAAE,CAAC,OAAO,OAAO,KAAK,WAAW,IAAI,OAAO,CAAC,OAAO,CAAC,IAAI,SAAS;CACtE,CAAC"}
@@ -9,6 +9,8 @@ export declare class EventCache {
9
9
  private static readonly MAX_EVENTS;
10
10
  private cache;
11
11
  private nextId;
12
+ /** Current exclusive operation, if any. The next caller awaits this before starting. */
13
+ private currentOperation;
12
14
  constructor();
13
15
  /**
14
16
  * Gets the singleton instance of EventCache
@@ -19,6 +21,21 @@ export declare class EventCache {
19
21
  * Gets the number of currently cached events
20
22
  */
21
23
  get size(): number;
24
+ /**
25
+ * Runs a callback with exclusive access to the cache so operations
26
+ * are serialized across all callers (e.g. multiple Telemetry instances / sessions).
27
+ */
28
+ private runExclusive;
29
+ /**
30
+ * Under exclusive access: takes up to `batchSize` oldest events and passes them
31
+ * to the processor. If the processor signals `removeProcessed: true`, those events
32
+ * are removed from the cache; otherwise they remain untouched.
33
+ * Returns the `result` from the processor, or `undefined` if the cache was empty.
34
+ */
35
+ processOldestBatch<T>(batchSize: number, processor: (events: BaseEvent[]) => Promise<{
36
+ removeProcessed: boolean;
37
+ result: T;
38
+ }>): Promise<T | undefined>;
22
39
  /**
23
40
  * Gets a copy of the currently cached events along with their ids
24
41
  * @returns Array of cached BaseEvent objects
@@ -28,9 +45,8 @@ export declare class EventCache {
28
45
  event: BaseEvent;
29
46
  }[];
30
47
  /**
31
- * Appends new events to the cached events
32
- * LRU cache automatically handles dropping oldest events when limit is exceeded
33
- * @param events - The events to append
48
+ * Appends new events to the cache.
49
+ * LRU cache automatically handles dropping oldest events when limit is exceeded.
34
50
  */
35
51
  appendEvents(events: BaseEvent[]): void;
36
52
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"eventCache.d.ts","sourceRoot":"","sources":["../../../src/telemetry/eventCache.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AAE5C;;;;GAIG;AACH,qBAAa,UAAU;IACnB,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAa;IACpC,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,UAAU,CAAQ;IAE1C,OAAO,CAAC,KAAK,CAA8B;IAC3C,OAAO,CAAC,MAAM,CAAK;;IAWnB;;;OAGG;WACW,WAAW,IAAI,UAAU;IAOvC;;OAEG;IACH,IAAW,IAAI,IAAI,MAAM,CAExB;IAED;;;OAGG;IACI,SAAS,IAAI;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,SAAS,CAAA;KAAE,EAAE;IAItD;;;;OAIG;IACI,YAAY,CAAC,MAAM,EAAE,SAAS,EAAE,GAAG,IAAI;IAM9C;;OAEG;IACI,YAAY,CAAC,GAAG,EAAE,MAAM,EAAE,GAAG,IAAI;CAK3C"}
1
+ {"version":3,"file":"eventCache.d.ts","sourceRoot":"","sources":["../../../src/telemetry/eventCache.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AAE5C;;;;GAIG;AACH,qBAAa,UAAU;IACnB,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAa;IACpC,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,UAAU,CAAQ;IAE1C,OAAO,CAAC,KAAK,CAA8B;IAC3C,OAAO,CAAC,MAAM,CAAK;IACnB,wFAAwF;IACxF,OAAO,CAAC,gBAAgB,CAA8D;;IAWtF;;;OAGG;WACW,WAAW,IAAI,UAAU;IAOvC;;OAEG;IACH,IAAW,IAAI,IAAI,MAAM,CAExB;IAED;;;OAGG;YACW,YAAY;IAoB1B;;;;;OAKG;IACU,kBAAkB,CAAC,CAAC,EAC7B,SAAS,EAAE,MAAM,EACjB,SAAS,EAAE,CAAC,MAAM,EAAE,SAAS,EAAE,KAAK,OAAO,CAAC;QAAE,eAAe,EAAE,OAAO,CAAC;QAAC,MAAM,EAAE,CAAC,CAAA;KAAE,CAAC,GACrF,OAAO,CAAC,CAAC,GAAG,SAAS,CAAC;IAmBzB;;;OAGG;IACI,SAAS,IAAI;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,SAAS,CAAA;KAAE,EAAE;IAItD;;;OAGG;IACI,YAAY,CAAC,MAAM,EAAE,SAAS,EAAE,GAAG,IAAI;IAM9C;;OAEG;IACI,YAAY,CAAC,GAAG,EAAE,MAAM,EAAE,GAAG,IAAI;CAK3C"}
@@ -30,6 +30,52 @@ export class EventCache {
30
30
  get size() {
31
31
  return this.cache.size;
32
32
  }
33
+ /**
34
+ * Runs a callback with exclusive access to the cache so operations
35
+ * are serialized across all callers (e.g. multiple Telemetry instances / sessions).
36
+ */
37
+ async runExclusive(fn) {
38
+ const prevOperation = this.currentOperation;
39
+ let resolve;
40
+ const promise = new Promise((res) => {
41
+ resolve = res;
42
+ });
43
+ // resolve is guaranteed to be assigned by the Promise constructor
44
+ const release = resolve;
45
+ this.currentOperation = { promise, resolve: release };
46
+ await prevOperation?.promise;
47
+ try {
48
+ return await fn();
49
+ }
50
+ finally {
51
+ release();
52
+ }
53
+ }
54
+ /**
55
+ * Under exclusive access: takes up to `batchSize` oldest events and passes them
56
+ * to the processor. If the processor signals `removeProcessed: true`, those events
57
+ * are removed from the cache; otherwise they remain untouched.
58
+ * Returns the `result` from the processor, or `undefined` if the cache was empty.
59
+ */
60
+ async processOldestBatch(batchSize, processor) {
61
+ return this.runExclusive(async () => {
62
+ const allEvents = this.getEvents();
63
+ const batch = allEvents.slice(0, batchSize);
64
+ if (batch.length === 0)
65
+ return undefined;
66
+ try {
67
+ const { removeProcessed, result } = await processor(batch.map((e) => e.event));
68
+ if (removeProcessed) {
69
+ this.removeEvents(batch.map((e) => e.id));
70
+ }
71
+ return result;
72
+ }
73
+ catch {
74
+ // Processor threw — leave events in cache for retry
75
+ return undefined;
76
+ }
77
+ });
78
+ }
33
79
  /**
34
80
  * Gets a copy of the currently cached events along with their ids
35
81
  * @returns Array of cached BaseEvent objects
@@ -38,9 +84,8 @@ export class EventCache {
38
84
  return Array.from(this.cache.entries()).map(([id, event]) => ({ id, event }));
39
85
  }
40
86
  /**
41
- * Appends new events to the cached events
42
- * LRU cache automatically handles dropping oldest events when limit is exceeded
43
- * @param events - The events to append
87
+ * Appends new events to the cache.
88
+ * LRU cache automatically handles dropping oldest events when limit is exceeded.
44
89
  */
45
90
  appendEvents(events) {
46
91
  for (const event of events) {
@@ -1 +1 @@
1
- {"version":3,"file":"eventCache.js","sourceRoot":"","sources":["../../../src/telemetry/eventCache.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,WAAW,CAAC;AAGrC;;;;GAIG;AACH,MAAM,OAAO,UAAU;IAOnB;QAFQ,WAAM,GAAG,CAAC,CAAC;QAGf,IAAI,CAAC,KAAK,GAAG,IAAI,QAAQ,CAAC;YACtB,GAAG,EAAE,UAAU,CAAC,UAAU;YAC1B,0CAA0C;YAC1C,UAAU,EAAE,KAAK;YACjB,cAAc,EAAE,KAAK;SACxB,CAAC,CAAC;IACP,CAAC;IAED;;;OAGG;IACI,MAAM,CAAC,WAAW;QACrB,IAAI,CAAC,UAAU,CAAC,QAAQ,EAAE,CAAC;YACvB,UAAU,CAAC,QAAQ,GAAG,IAAI,UAAU,EAAE,CAAC;QAC3C,CAAC;QACD,OAAO,UAAU,CAAC,QAAQ,CAAC;IAC/B,CAAC;IAED;;OAEG;IACH,IAAW,IAAI;QACX,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC;IAC3B,CAAC;IAED;;;OAGG;IACI,SAAS;QACZ,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,KAAK,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,EAAE,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC;IAClF,CAAC;IAED;;;;OAIG;IACI,YAAY,CAAC,MAAmB;QACnC,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;YACzB,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,MAAM,EAAE,EAAE,KAAK,CAAC,CAAC;QACzC,CAAC;IACL,CAAC;IAED;;OAEG;IACI,YAAY,CAAC,GAAa;QAC7B,KAAK,MAAM,EAAE,IAAI,GAAG,EAAE,CAAC;YACnB,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;QAC1B,CAAC;IACL,CAAC;;AA1DuB,qBAAU,GAAG,IAAI,AAAP,CAAQ"}
1
+ {"version":3,"file":"eventCache.js","sourceRoot":"","sources":["../../../src/telemetry/eventCache.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,WAAW,CAAC;AAGrC;;;;GAIG;AACH,MAAM,OAAO,UAAU;IASnB;QAJQ,WAAM,GAAG,CAAC,CAAC;QAKf,IAAI,CAAC,KAAK,GAAG,IAAI,QAAQ,CAAC;YACtB,GAAG,EAAE,UAAU,CAAC,UAAU;YAC1B,0CAA0C;YAC1C,UAAU,EAAE,KAAK;YACjB,cAAc,EAAE,KAAK;SACxB,CAAC,CAAC;IACP,CAAC;IAED;;;OAGG;IACI,MAAM,CAAC,WAAW;QACrB,IAAI,CAAC,UAAU,CAAC,QAAQ,EAAE,CAAC;YACvB,UAAU,CAAC,QAAQ,GAAG,IAAI,UAAU,EAAE,CAAC;QAC3C,CAAC;QACD,OAAO,UAAU,CAAC,QAAQ,CAAC;IAC/B,CAAC;IAED;;OAEG;IACH,IAAW,IAAI;QACX,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC;IAC3B,CAAC;IAED;;;OAGG;IACK,KAAK,CAAC,YAAY,CAAI,EAAoB;QAC9C,MAAM,aAAa,GAAG,IAAI,CAAC,gBAAgB,CAAC;QAE5C,IAAI,OAAiC,CAAC;QACtC,MAAM,OAAO,GAAG,IAAI,OAAO,CAAO,CAAC,GAAG,EAAE,EAAE;YACtC,OAAO,GAAG,GAAG,CAAC;QAClB,CAAC,CAAC,CAAC;QACH,kEAAkE;QAClE,MAAM,OAAO,GAAG,OAAqB,CAAC;QACtC,IAAI,CAAC,gBAAgB,GAAG,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,CAAC;QAEtD,MAAM,aAAa,EAAE,OAAO,CAAC;QAE7B,IAAI,CAAC;YACD,OAAO,MAAM,EAAE,EAAE,CAAC;QACtB,CAAC;gBAAS,CAAC;YACP,OAAO,EAAE,CAAC;QACd,CAAC;IACL,CAAC;IAED;;;;;OAKG;IACI,KAAK,CAAC,kBAAkB,CAC3B,SAAiB,EACjB,SAAoF;QAEpF,OAAO,IAAI,CAAC,YAAY,CAAC,KAAK,IAAI,EAAE;YAChC,MAAM,SAAS,GAAG,IAAI,CAAC,SAAS,EAAE,CAAC;YACnC,MAAM,KAAK,GAAG,SAAS,CAAC,KAAK,CAAC,CAAC,EAAE,SAAS,CAAC,CAAC;YAC5C,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC;gBAAE,OAAO,SAAS,CAAC;YAEzC,IAAI,CAAC;gBACD,MAAM,EAAE,eAAe,EAAE,MAAM,EAAE,GAAG,MAAM,SAAS,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC;gBAC/E,IAAI,eAAe,EAAE,CAAC;oBAClB,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;gBAC9C,CAAC;gBACD,OAAO,MAAM,CAAC;YAClB,CAAC;YAAC,MAAM,CAAC;gBACL,oDAAoD;gBACpD,OAAO,SAAS,CAAC;YACrB,CAAC;QACL,CAAC,CAAC,CAAC;IACP,CAAC;IAED;;;OAGG;IACI,SAAS;QACZ,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,KAAK,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,EAAE,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC;IAClF,CAAC;IAED;;;OAGG;IACI,YAAY,CAAC,MAAmB;QACnC,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;YACzB,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,MAAM,EAAE,EAAE,KAAK,CAAC,CAAC;QACzC,CAAC;IACL,CAAC;IAED;;OAEG;IACI,YAAY,CAAC,GAAa;QAC7B,KAAK,MAAM,EAAE,IAAI,GAAG,EAAE,CAAC;YACnB,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;QAC1B,CAAC;IACL,CAAC;;AA/GuB,qBAAU,GAAG,IAAI,AAAP,CAAQ"}
@@ -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":"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"}