@himanshusinghs/mongodb-mcp-server 1.8.0 → 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.
- package/README.md +106 -50
- package/dist/cjs/common/atlas/apiClient.d.ts +97 -214
- package/dist/cjs/common/atlas/apiClient.d.ts.map +1 -1
- package/dist/cjs/common/atlas/apiClient.js +286 -36
- package/dist/cjs/common/atlas/apiClient.js.map +1 -1
- package/dist/cjs/common/atlas/cluster.d.ts +2 -0
- package/dist/cjs/common/atlas/cluster.d.ts.map +1 -1
- package/dist/cjs/common/atlas/cluster.js +8 -1
- package/dist/cjs/common/atlas/cluster.js.map +1 -1
- package/dist/cjs/common/atlas/performanceAdvisorUtils.d.ts.map +1 -1
- package/dist/cjs/common/atlas/performanceAdvisorUtils.js +12 -4
- package/dist/cjs/common/atlas/performanceAdvisorUtils.js.map +1 -1
- package/dist/cjs/common/config/configOverrides.d.ts +3 -0
- package/dist/cjs/common/config/configOverrides.d.ts.map +1 -1
- package/dist/cjs/common/config/configOverrides.js +15 -11
- package/dist/cjs/common/config/configOverrides.js.map +1 -1
- package/dist/cjs/common/config/configUtils.d.ts +5 -1
- package/dist/cjs/common/config/configUtils.d.ts.map +1 -1
- package/dist/cjs/common/config/configUtils.js +21 -51
- package/dist/cjs/common/config/configUtils.js.map +1 -1
- package/dist/cjs/common/config/parseUserConfig.d.ts +2 -2
- package/dist/cjs/common/config/parseUserConfig.d.ts.map +1 -1
- package/dist/cjs/common/config/parseUserConfig.js +52 -18
- package/dist/cjs/common/config/parseUserConfig.js.map +1 -1
- package/dist/cjs/common/config/userConfig.d.ts +125 -116
- package/dist/cjs/common/config/userConfig.d.ts.map +1 -1
- package/dist/cjs/common/config/userConfig.js +85 -63
- package/dist/cjs/common/config/userConfig.js.map +1 -1
- package/dist/cjs/common/connectionInfo.d.ts +4 -2
- package/dist/cjs/common/connectionInfo.d.ts.map +1 -1
- package/dist/cjs/common/connectionInfo.js.map +1 -1
- package/dist/cjs/common/connectionManager.d.ts +11 -3
- package/dist/cjs/common/connectionManager.d.ts.map +1 -1
- package/dist/cjs/common/connectionManager.js +82 -11
- package/dist/cjs/common/connectionManager.js.map +1 -1
- package/dist/cjs/common/errors.d.ts +1 -2
- package/dist/cjs/common/errors.d.ts.map +1 -1
- package/dist/cjs/common/errors.js +1 -2
- package/dist/cjs/common/errors.js.map +1 -1
- package/dist/cjs/common/exportsManager.d.ts +9 -7
- package/dist/cjs/common/exportsManager.d.ts.map +1 -1
- package/dist/cjs/common/logging/consoleLogger.js +3 -3
- package/dist/cjs/common/logging/consoleLogger.js.map +1 -1
- package/dist/cjs/common/logging/index.d.ts +2 -0
- package/dist/cjs/common/logging/index.d.ts.map +1 -1
- package/dist/cjs/common/logging/index.js +5 -1
- package/dist/cjs/common/logging/index.js.map +1 -1
- package/dist/cjs/common/logging/loggerBase.d.ts +2 -1
- package/dist/cjs/common/logging/loggerBase.d.ts.map +1 -1
- package/dist/cjs/common/logging/loggerBase.js +11 -0
- package/dist/cjs/common/logging/loggerBase.js.map +1 -1
- package/dist/cjs/common/logging/loggingDefinitions.d.ts +4 -0
- package/dist/cjs/common/logging/loggingDefinitions.d.ts.map +1 -1
- package/dist/cjs/common/logging/loggingDefinitions.js +4 -0
- package/dist/cjs/common/logging/loggingDefinitions.js.map +1 -1
- package/dist/cjs/common/logging/loggingTypes.d.ts +3 -2
- package/dist/cjs/common/logging/loggingTypes.d.ts.map +1 -1
- package/dist/cjs/common/logging/loggingTypes.js +3 -0
- package/dist/cjs/common/logging/loggingTypes.js.map +1 -1
- package/dist/cjs/common/logging/mcpLogger.d.ts +1 -2
- package/dist/cjs/common/logging/mcpLogger.d.ts.map +1 -1
- package/dist/cjs/common/logging/mcpLogger.js +3 -12
- package/dist/cjs/common/logging/mcpLogger.js.map +1 -1
- package/dist/cjs/common/logging/nullLogger.d.ts +8 -0
- package/dist/cjs/common/logging/nullLogger.d.ts.map +1 -0
- package/dist/cjs/common/logging/nullLogger.js +14 -0
- package/dist/cjs/common/logging/nullLogger.js.map +1 -0
- package/dist/cjs/common/metrics/index.d.ts +5 -0
- package/dist/cjs/common/metrics/index.d.ts.map +1 -0
- package/dist/cjs/common/metrics/index.js +8 -0
- package/dist/cjs/common/metrics/index.js.map +1 -0
- package/dist/cjs/common/metrics/metricDefinitions.d.ts +15 -0
- package/dist/cjs/common/metrics/metricDefinitions.d.ts.map +1 -0
- package/dist/cjs/common/metrics/metricDefinitions.js +35 -0
- package/dist/cjs/common/metrics/metricDefinitions.js.map +1 -0
- package/dist/cjs/common/metrics/metricsTypes.d.ts +15 -0
- package/dist/cjs/common/metrics/metricsTypes.d.ts.map +1 -0
- package/dist/cjs/common/metrics/metricsTypes.js +3 -0
- package/dist/cjs/common/metrics/metricsTypes.js.map +1 -0
- package/dist/cjs/common/metrics/prometheusMetrics.d.ts +15 -0
- package/dist/cjs/common/metrics/prometheusMetrics.d.ts.map +1 -0
- package/dist/cjs/common/metrics/prometheusMetrics.js +25 -0
- package/dist/cjs/common/metrics/prometheusMetrics.js.map +1 -0
- package/dist/cjs/common/packageInfo.d.ts +3 -0
- package/dist/cjs/common/packageInfo.d.ts.map +1 -1
- package/dist/cjs/common/packageInfo.js +4 -1
- package/dist/cjs/common/packageInfo.js.map +1 -1
- package/dist/cjs/common/schemas.d.ts +3 -3
- package/dist/cjs/common/schemas.d.ts.map +1 -1
- package/dist/cjs/common/schemas.js +3 -3
- package/dist/cjs/common/schemas.js.map +1 -1
- package/dist/cjs/common/session.d.ts +4 -7
- package/dist/cjs/common/session.d.ts.map +1 -1
- package/dist/cjs/common/session.js +2 -3
- package/dist/cjs/common/session.js.map +1 -1
- package/dist/cjs/common/sessionStore.d.ts +57 -16
- package/dist/cjs/common/sessionStore.d.ts.map +1 -1
- package/dist/cjs/common/sessionStore.js +33 -17
- package/dist/cjs/common/sessionStore.js.map +1 -1
- package/dist/cjs/elicitation.d.ts +18 -0
- package/dist/cjs/elicitation.d.ts.map +1 -1
- package/dist/cjs/elicitation.js +31 -1
- package/dist/cjs/elicitation.js.map +1 -1
- package/dist/cjs/helpers/connectionOptions.d.ts +2 -5
- package/dist/cjs/helpers/connectionOptions.d.ts.map +1 -1
- package/dist/cjs/helpers/connectionOptions.js +1 -1
- package/dist/cjs/helpers/connectionOptions.js.map +1 -1
- package/dist/cjs/helpers/deviceId.d.ts +2 -1
- package/dist/cjs/helpers/deviceId.d.ts.map +1 -1
- package/dist/cjs/helpers/deviceId.js.map +1 -1
- package/dist/cjs/index.d.ts.map +1 -1
- package/dist/cjs/index.js +12 -3
- package/dist/cjs/index.js.map +1 -1
- package/dist/cjs/lib.d.ts +19 -12
- package/dist/cjs/lib.d.ts.map +1 -1
- package/dist/cjs/lib.js +26 -3
- package/dist/cjs/lib.js.map +1 -1
- package/dist/cjs/server.d.ts +11 -8
- package/dist/cjs/server.d.ts.map +1 -1
- package/dist/cjs/server.js +15 -9
- package/dist/cjs/server.js.map +1 -1
- package/dist/cjs/setup/aiTool.d.ts +46 -0
- package/dist/cjs/setup/aiTool.d.ts.map +1 -0
- package/dist/cjs/setup/aiTool.js +391 -0
- package/dist/cjs/setup/aiTool.js.map +1 -0
- package/dist/cjs/setup/installSkills.d.ts +42 -0
- package/dist/cjs/setup/installSkills.d.ts.map +1 -0
- package/dist/cjs/setup/installSkills.js +122 -0
- package/dist/cjs/setup/installSkills.js.map +1 -0
- package/dist/cjs/setup/setupAiToolsUtils.d.ts +4 -0
- package/dist/cjs/setup/setupAiToolsUtils.d.ts.map +1 -0
- package/dist/cjs/setup/setupAiToolsUtils.js +28 -0
- package/dist/cjs/setup/setupAiToolsUtils.js.map +1 -0
- package/dist/cjs/setup/setupMcpServer.d.ts +8 -0
- package/dist/cjs/setup/setupMcpServer.d.ts.map +1 -0
- package/dist/cjs/setup/setupMcpServer.js +391 -0
- package/dist/cjs/setup/setupMcpServer.js.map +1 -0
- package/dist/cjs/setup/setupTelemetry.d.ts +99 -0
- package/dist/cjs/setup/setupTelemetry.d.ts.map +1 -0
- package/dist/cjs/setup/setupTelemetry.js +202 -0
- package/dist/cjs/setup/setupTelemetry.js.map +1 -0
- package/dist/cjs/telemetry/constants.js +4 -4
- package/dist/cjs/telemetry/constants.js.map +1 -1
- package/dist/cjs/telemetry/eventCache.d.ts +19 -3
- package/dist/cjs/telemetry/eventCache.d.ts.map +1 -1
- package/dist/cjs/telemetry/eventCache.js +48 -3
- package/dist/cjs/telemetry/eventCache.js.map +1 -1
- package/dist/cjs/telemetry/telemetry.d.ts +106 -25
- package/dist/cjs/telemetry/telemetry.d.ts.map +1 -1
- package/dist/cjs/telemetry/telemetry.js +168 -113
- package/dist/cjs/telemetry/telemetry.js.map +1 -1
- package/dist/cjs/telemetry/timer.d.ts +12 -0
- package/dist/cjs/telemetry/timer.d.ts.map +1 -0
- package/dist/cjs/telemetry/timer.js +28 -0
- package/dist/cjs/telemetry/timer.js.map +1 -0
- package/dist/cjs/telemetry/types.d.ts +69 -11
- package/dist/cjs/telemetry/types.d.ts.map +1 -1
- package/dist/cjs/tools/args.d.ts +7 -2
- package/dist/cjs/tools/args.d.ts.map +1 -1
- package/dist/cjs/tools/args.js +6 -3
- package/dist/cjs/tools/args.js.map +1 -1
- package/dist/cjs/tools/assistant/searchKnowledge.d.ts +2 -14
- package/dist/cjs/tools/assistant/searchKnowledge.d.ts.map +1 -1
- package/dist/cjs/tools/atlas/connect/connectCluster.d.ts +10 -2
- package/dist/cjs/tools/atlas/connect/connectCluster.d.ts.map +1 -1
- package/dist/cjs/tools/atlas/connect/connectCluster.js +3 -0
- package/dist/cjs/tools/atlas/connect/connectCluster.js.map +1 -1
- package/dist/cjs/tools/atlas/create/createAccessList.d.ts +4 -4
- package/dist/cjs/tools/atlas/create/createDBUser.d.ts +4 -20
- package/dist/cjs/tools/atlas/create/createDBUser.d.ts.map +1 -1
- package/dist/cjs/tools/atlas/read/getPerformanceAdvisor.d.ts +7 -2
- package/dist/cjs/tools/atlas/read/getPerformanceAdvisor.d.ts.map +1 -1
- package/dist/cjs/tools/atlas/read/listAlerts.d.ts +18 -3
- package/dist/cjs/tools/atlas/read/listAlerts.d.ts.map +1 -1
- package/dist/cjs/tools/atlas/read/listAlerts.js +21 -3
- package/dist/cjs/tools/atlas/read/listAlerts.js.map +1 -1
- package/dist/cjs/tools/atlas/read/listProjects.d.ts.map +1 -1
- package/dist/cjs/tools/atlas/read/listProjects.js +10 -1
- package/dist/cjs/tools/atlas/read/listProjects.js.map +1 -1
- package/dist/cjs/tools/atlas/streams/build.d.ts +149 -0
- package/dist/cjs/tools/atlas/streams/build.d.ts.map +1 -0
- package/dist/cjs/tools/atlas/streams/build.js +671 -0
- package/dist/cjs/tools/atlas/streams/build.js.map +1 -0
- package/dist/cjs/tools/atlas/streams/discover.d.ts +44 -0
- package/dist/cjs/tools/atlas/streams/discover.d.ts.map +1 -0
- package/dist/cjs/tools/atlas/streams/discover.js +345 -0
- package/dist/cjs/tools/atlas/streams/discover.js.map +1 -0
- package/dist/cjs/tools/atlas/streams/manage.d.ts +111 -0
- package/dist/cjs/tools/atlas/streams/manage.d.ts.map +1 -0
- package/dist/cjs/tools/atlas/streams/manage.js +471 -0
- package/dist/cjs/tools/atlas/streams/manage.js.map +1 -0
- package/dist/cjs/tools/atlas/streams/streamsArgs.d.ts +74 -0
- package/dist/cjs/tools/atlas/streams/streamsArgs.d.ts.map +1 -0
- package/dist/cjs/tools/atlas/streams/streamsArgs.js +146 -0
- package/dist/cjs/tools/atlas/streams/streamsArgs.js.map +1 -0
- package/dist/cjs/tools/atlas/streams/streamsToolBase.d.ts +12 -0
- package/dist/cjs/tools/atlas/streams/streamsToolBase.d.ts.map +1 -0
- package/dist/cjs/tools/atlas/streams/streamsToolBase.js +163 -0
- package/dist/cjs/tools/atlas/streams/streamsToolBase.js.map +1 -0
- package/dist/cjs/tools/atlas/streams/teardown.d.ts +31 -0
- package/dist/cjs/tools/atlas/streams/teardown.d.ts.map +1 -0
- package/dist/cjs/tools/atlas/streams/teardown.js +236 -0
- package/dist/cjs/tools/atlas/streams/teardown.js.map +1 -0
- package/dist/cjs/tools/atlas/tools.d.ts +5 -0
- package/dist/cjs/tools/atlas/tools.d.ts.map +1 -1
- package/dist/cjs/tools/atlas/tools.js +11 -1
- package/dist/cjs/tools/atlas/tools.js.map +1 -1
- package/dist/cjs/tools/atlas/update/upgradeCluster.d.ts +28 -0
- package/dist/cjs/tools/atlas/update/upgradeCluster.d.ts.map +1 -0
- package/dist/cjs/tools/atlas/update/upgradeCluster.js +231 -0
- package/dist/cjs/tools/atlas/update/upgradeCluster.js.map +1 -0
- package/dist/cjs/tools/index.d.ts +1 -0
- package/dist/cjs/tools/index.d.ts.map +1 -1
- package/dist/cjs/tools/index.js +3 -1
- package/dist/cjs/tools/index.js.map +1 -1
- package/dist/cjs/tools/mongodb/create/createCollection.d.ts +1 -1
- package/dist/cjs/tools/mongodb/create/createCollection.d.ts.map +1 -1
- package/dist/cjs/tools/mongodb/create/createCollection.js +1 -1
- package/dist/cjs/tools/mongodb/create/createCollection.js.map +1 -1
- package/dist/cjs/tools/mongodb/create/createIndex.d.ts +56 -218
- package/dist/cjs/tools/mongodb/create/createIndex.d.ts.map +1 -1
- package/dist/cjs/tools/mongodb/create/createIndex.js +12 -14
- package/dist/cjs/tools/mongodb/create/createIndex.js.map +1 -1
- package/dist/cjs/tools/mongodb/create/insertMany.d.ts +5 -32
- package/dist/cjs/tools/mongodb/create/insertMany.d.ts.map +1 -1
- package/dist/cjs/tools/mongodb/create/insertMany.js +7 -91
- package/dist/cjs/tools/mongodb/create/insertMany.js.map +1 -1
- package/dist/cjs/tools/mongodb/delete/deleteMany.d.ts +2 -2
- package/dist/cjs/tools/mongodb/delete/deleteMany.d.ts.map +1 -1
- package/dist/cjs/tools/mongodb/delete/deleteMany.js +2 -1
- package/dist/cjs/tools/mongodb/delete/deleteMany.js.map +1 -1
- package/dist/cjs/tools/mongodb/delete/dropCollection.d.ts +1 -1
- package/dist/cjs/tools/mongodb/delete/dropCollection.d.ts.map +1 -1
- package/dist/cjs/tools/mongodb/delete/dropCollection.js +1 -1
- package/dist/cjs/tools/mongodb/delete/dropCollection.js.map +1 -1
- package/dist/cjs/tools/mongodb/delete/dropDatabase.d.ts.map +1 -1
- package/dist/cjs/tools/mongodb/delete/dropDatabase.js +1 -3
- package/dist/cjs/tools/mongodb/delete/dropDatabase.js.map +1 -1
- package/dist/cjs/tools/mongodb/delete/dropIndex.d.ts +5 -2
- package/dist/cjs/tools/mongodb/delete/dropIndex.d.ts.map +1 -1
- package/dist/cjs/tools/mongodb/delete/dropIndex.js +4 -9
- package/dist/cjs/tools/mongodb/delete/dropIndex.js.map +1 -1
- package/dist/cjs/tools/mongodb/metadata/collectionIndexes.d.ts +13 -43
- package/dist/cjs/tools/mongodb/metadata/collectionIndexes.d.ts.map +1 -1
- package/dist/cjs/tools/mongodb/metadata/collectionIndexes.js +41 -5
- package/dist/cjs/tools/mongodb/metadata/collectionIndexes.js.map +1 -1
- package/dist/cjs/tools/mongodb/metadata/collectionSchema.d.ts +1 -1
- package/dist/cjs/tools/mongodb/metadata/collectionSchema.d.ts.map +1 -1
- package/dist/cjs/tools/mongodb/metadata/collectionSchema.js +3 -3
- package/dist/cjs/tools/mongodb/metadata/collectionSchema.js.map +1 -1
- package/dist/cjs/tools/mongodb/metadata/collectionStorageSize.d.ts +3 -3
- package/dist/cjs/tools/mongodb/metadata/collectionStorageSize.d.ts.map +1 -1
- package/dist/cjs/tools/mongodb/metadata/collectionStorageSize.js +2 -2
- package/dist/cjs/tools/mongodb/metadata/collectionStorageSize.js.map +1 -1
- package/dist/cjs/tools/mongodb/metadata/dbStats.d.ts.map +1 -1
- package/dist/cjs/tools/mongodb/metadata/dbStats.js +3 -4
- package/dist/cjs/tools/mongodb/metadata/dbStats.js.map +1 -1
- package/dist/cjs/tools/mongodb/metadata/explain.d.ts +35 -357
- package/dist/cjs/tools/mongodb/metadata/explain.d.ts.map +1 -1
- package/dist/cjs/tools/mongodb/metadata/explain.js +5 -5
- package/dist/cjs/tools/mongodb/metadata/explain.js.map +1 -1
- package/dist/cjs/tools/mongodb/metadata/listCollections.d.ts +2 -10
- package/dist/cjs/tools/mongodb/metadata/listCollections.d.ts.map +1 -1
- package/dist/cjs/tools/mongodb/metadata/listCollections.js +1 -3
- package/dist/cjs/tools/mongodb/metadata/listCollections.js.map +1 -1
- package/dist/cjs/tools/mongodb/metadata/listDatabases.d.ts +3 -16
- package/dist/cjs/tools/mongodb/metadata/listDatabases.d.ts.map +1 -1
- package/dist/cjs/tools/mongodb/metadata/listDatabases.js +3 -3
- package/dist/cjs/tools/mongodb/metadata/listDatabases.js.map +1 -1
- package/dist/cjs/tools/mongodb/metadata/logs.d.ts +6 -3
- package/dist/cjs/tools/mongodb/metadata/logs.d.ts.map +1 -1
- package/dist/cjs/tools/mongodb/metadata/logs.js +1 -0
- package/dist/cjs/tools/mongodb/metadata/logs.js.map +1 -1
- package/dist/cjs/tools/mongodb/mongodbSchemas.d.ts +20 -191
- package/dist/cjs/tools/mongodb/mongodbSchemas.d.ts.map +1 -1
- package/dist/cjs/tools/mongodb/mongodbSchemas.js +34 -34
- package/dist/cjs/tools/mongodb/mongodbSchemas.js.map +1 -1
- package/dist/cjs/tools/mongodb/mongodbTool.d.ts +12 -1
- package/dist/cjs/tools/mongodb/mongodbTool.d.ts.map +1 -1
- package/dist/cjs/tools/mongodb/mongodbTool.js +15 -2
- package/dist/cjs/tools/mongodb/mongodbTool.js.map +1 -1
- package/dist/cjs/tools/mongodb/read/aggregate.d.ts +33 -300
- package/dist/cjs/tools/mongodb/read/aggregate.d.ts.map +1 -1
- package/dist/cjs/tools/mongodb/read/aggregate.js +21 -92
- package/dist/cjs/tools/mongodb/read/aggregate.js.map +1 -1
- package/dist/cjs/tools/mongodb/read/aggregateDB.d.ts +24 -0
- package/dist/cjs/tools/mongodb/read/aggregateDB.d.ts.map +1 -0
- package/dist/cjs/tools/mongodb/read/aggregateDB.js +173 -0
- package/dist/cjs/tools/mongodb/read/aggregateDB.js.map +1 -0
- package/dist/cjs/tools/mongodb/read/count.d.ts +3 -3
- package/dist/cjs/tools/mongodb/read/count.d.ts.map +1 -1
- package/dist/cjs/tools/mongodb/read/count.js +3 -2
- package/dist/cjs/tools/mongodb/read/count.js.map +1 -1
- package/dist/cjs/tools/mongodb/read/export.d.ts +30 -332
- package/dist/cjs/tools/mongodb/read/export.d.ts.map +1 -1
- package/dist/cjs/tools/mongodb/read/export.js +4 -6
- package/dist/cjs/tools/mongodb/read/export.js.map +1 -1
- package/dist/cjs/tools/mongodb/read/find.d.ts +11 -8
- package/dist/cjs/tools/mongodb/read/find.d.ts.map +1 -1
- package/dist/cjs/tools/mongodb/read/find.js +8 -6
- package/dist/cjs/tools/mongodb/read/find.js.map +1 -1
- package/dist/cjs/tools/mongodb/tools.d.ts +1 -0
- package/dist/cjs/tools/mongodb/tools.d.ts.map +1 -1
- package/dist/cjs/tools/mongodb/tools.js +3 -1
- package/dist/cjs/tools/mongodb/tools.js.map +1 -1
- package/dist/cjs/tools/mongodb/update/renameCollection.d.ts +1 -1
- package/dist/cjs/tools/mongodb/update/renameCollection.d.ts.map +1 -1
- package/dist/cjs/tools/mongodb/update/renameCollection.js +1 -1
- package/dist/cjs/tools/mongodb/update/renameCollection.js.map +1 -1
- package/dist/cjs/tools/mongodb/update/updateMany.d.ts +3 -3
- package/dist/cjs/tools/mongodb/update/updateMany.d.ts.map +1 -1
- package/dist/cjs/tools/mongodb/update/updateMany.js +3 -2
- package/dist/cjs/tools/mongodb/update/updateMany.js.map +1 -1
- package/dist/cjs/tools/tool.d.ts +21 -9
- package/dist/cjs/tools/tool.d.ts.map +1 -1
- package/dist/cjs/tools/tool.js +21 -2
- package/dist/cjs/tools/tool.js.map +1 -1
- package/dist/cjs/transports/base.d.ts +43 -18
- package/dist/cjs/transports/base.d.ts.map +1 -1
- package/dist/cjs/transports/base.js +31 -14
- package/dist/cjs/transports/base.js.map +1 -1
- package/dist/cjs/transports/expressBasedHttpServer.d.ts +24 -0
- package/dist/cjs/transports/expressBasedHttpServer.d.ts.map +1 -0
- package/dist/cjs/transports/expressBasedHttpServer.js +82 -0
- package/dist/cjs/transports/expressBasedHttpServer.js.map +1 -0
- package/dist/cjs/transports/jsonRpcErrorCodes.d.ts +12 -0
- package/dist/cjs/transports/jsonRpcErrorCodes.d.ts.map +1 -0
- package/dist/cjs/transports/jsonRpcErrorCodes.js +15 -0
- package/dist/cjs/transports/jsonRpcErrorCodes.js.map +1 -0
- package/dist/cjs/transports/mcpHttpServer.d.ts +61 -0
- package/dist/cjs/transports/mcpHttpServer.d.ts.map +1 -0
- package/dist/cjs/transports/mcpHttpServer.js +374 -0
- package/dist/cjs/transports/mcpHttpServer.js.map +1 -0
- package/dist/cjs/transports/monitoringServer.d.ts +29 -0
- package/dist/cjs/transports/monitoringServer.d.ts.map +1 -0
- package/dist/cjs/transports/monitoringServer.js +53 -0
- package/dist/cjs/transports/monitoringServer.js.map +1 -0
- package/dist/cjs/transports/stdio.d.ts +3 -2
- package/dist/cjs/transports/stdio.d.ts.map +1 -1
- package/dist/cjs/transports/stdio.js.map +1 -1
- package/dist/cjs/transports/streamableHttp.d.ts +66 -5
- package/dist/cjs/transports/streamableHttp.d.ts.map +1 -1
- package/dist/cjs/transports/streamableHttp.js +53 -402
- package/dist/cjs/transports/streamableHttp.js.map +1 -1
- package/dist/cjs/ui/components/ListDatabases/ListDatabases.d.ts +3 -0
- package/dist/cjs/ui/components/ListDatabases/ListDatabases.d.ts.map +1 -1
- package/dist/cjs/ui/components/ListDatabases/ListDatabases.js.map +1 -1
- package/dist/cjs/ui/index.d.ts +0 -1
- package/dist/cjs/ui/index.d.ts.map +1 -1
- package/dist/cjs/ui/lib/tools/list-databases.d.ts +1 -1
- package/dist/cjs/ui/lib/tools/list-databases.d.ts.map +1 -1
- package/dist/cjs/ui/lib/tools/list-databases.js +1 -1
- package/dist/cjs/ui/lib/tools/list-databases.js.map +1 -1
- package/dist/cjs/web.d.ts +31 -2
- package/dist/cjs/web.d.ts.map +1 -1
- package/dist/cjs/web.js +37 -1
- package/dist/cjs/web.js.map +1 -1
- package/dist/esm/common/atlas/apiClient.d.ts +97 -214
- package/dist/esm/common/atlas/apiClient.d.ts.map +1 -1
- package/dist/esm/common/atlas/apiClient.js +286 -36
- package/dist/esm/common/atlas/apiClient.js.map +1 -1
- package/dist/esm/common/atlas/cluster.d.ts +2 -0
- package/dist/esm/common/atlas/cluster.d.ts.map +1 -1
- package/dist/esm/common/atlas/cluster.js +8 -1
- package/dist/esm/common/atlas/cluster.js.map +1 -1
- package/dist/esm/common/atlas/performanceAdvisorUtils.d.ts.map +1 -1
- package/dist/esm/common/atlas/performanceAdvisorUtils.js +12 -4
- package/dist/esm/common/atlas/performanceAdvisorUtils.js.map +1 -1
- package/dist/esm/common/config/configOverrides.d.ts +3 -0
- package/dist/esm/common/config/configOverrides.d.ts.map +1 -1
- package/dist/esm/common/config/configOverrides.js +13 -10
- package/dist/esm/common/config/configOverrides.js.map +1 -1
- package/dist/esm/common/config/configUtils.d.ts +5 -1
- package/dist/esm/common/config/configUtils.d.ts.map +1 -1
- package/dist/esm/common/config/configUtils.js +20 -17
- package/dist/esm/common/config/configUtils.js.map +1 -1
- package/dist/esm/common/config/parseUserConfig.d.ts +2 -2
- package/dist/esm/common/config/parseUserConfig.d.ts.map +1 -1
- package/dist/esm/common/config/parseUserConfig.js +19 -18
- package/dist/esm/common/config/parseUserConfig.js.map +1 -1
- package/dist/esm/common/config/userConfig.d.ts +125 -116
- package/dist/esm/common/config/userConfig.d.ts.map +1 -1
- package/dist/esm/common/config/userConfig.js +88 -66
- package/dist/esm/common/config/userConfig.js.map +1 -1
- package/dist/esm/common/connectionInfo.d.ts +4 -2
- package/dist/esm/common/connectionInfo.d.ts.map +1 -1
- package/dist/esm/common/connectionInfo.js.map +1 -1
- package/dist/esm/common/connectionManager.d.ts +11 -3
- package/dist/esm/common/connectionManager.d.ts.map +1 -1
- package/dist/esm/common/connectionManager.js +82 -11
- package/dist/esm/common/connectionManager.js.map +1 -1
- package/dist/esm/common/errors.d.ts +1 -2
- package/dist/esm/common/errors.d.ts.map +1 -1
- package/dist/esm/common/errors.js +1 -2
- package/dist/esm/common/errors.js.map +1 -1
- package/dist/esm/common/exportsManager.d.ts +9 -7
- package/dist/esm/common/exportsManager.d.ts.map +1 -1
- package/dist/esm/common/logging/consoleLogger.js +3 -3
- package/dist/esm/common/logging/consoleLogger.js.map +1 -1
- package/dist/esm/common/logging/index.d.ts +2 -0
- package/dist/esm/common/logging/index.d.ts.map +1 -1
- package/dist/esm/common/logging/index.js +2 -0
- package/dist/esm/common/logging/index.js.map +1 -1
- package/dist/esm/common/logging/loggerBase.d.ts +2 -1
- package/dist/esm/common/logging/loggerBase.d.ts.map +1 -1
- package/dist/esm/common/logging/loggerBase.js +11 -0
- package/dist/esm/common/logging/loggerBase.js.map +1 -1
- package/dist/esm/common/logging/loggingDefinitions.d.ts +4 -0
- package/dist/esm/common/logging/loggingDefinitions.d.ts.map +1 -1
- package/dist/esm/common/logging/loggingDefinitions.js +4 -0
- package/dist/esm/common/logging/loggingDefinitions.js.map +1 -1
- package/dist/esm/common/logging/loggingTypes.d.ts +3 -2
- package/dist/esm/common/logging/loggingTypes.d.ts.map +1 -1
- package/dist/esm/common/logging/loggingTypes.js +2 -1
- package/dist/esm/common/logging/loggingTypes.js.map +1 -1
- package/dist/esm/common/logging/mcpLogger.d.ts +1 -2
- package/dist/esm/common/logging/mcpLogger.d.ts.map +1 -1
- package/dist/esm/common/logging/mcpLogger.js +3 -12
- package/dist/esm/common/logging/mcpLogger.js.map +1 -1
- package/dist/esm/common/logging/nullLogger.d.ts +8 -0
- package/dist/esm/common/logging/nullLogger.d.ts.map +1 -0
- package/dist/esm/common/logging/nullLogger.js +10 -0
- package/dist/esm/common/logging/nullLogger.js.map +1 -0
- package/dist/esm/common/metrics/index.d.ts +5 -0
- package/dist/esm/common/metrics/index.d.ts.map +1 -0
- package/dist/esm/common/metrics/index.js +3 -0
- package/dist/esm/common/metrics/index.js.map +1 -0
- package/dist/esm/common/metrics/metricDefinitions.d.ts +15 -0
- package/dist/esm/common/metrics/metricDefinitions.d.ts.map +1 -0
- package/dist/esm/common/metrics/metricDefinitions.js +32 -0
- package/dist/esm/common/metrics/metricDefinitions.js.map +1 -0
- package/dist/esm/common/metrics/metricsTypes.d.ts +15 -0
- package/dist/esm/common/metrics/metricsTypes.d.ts.map +1 -0
- package/dist/esm/common/metrics/metricsTypes.js +2 -0
- package/dist/esm/common/metrics/metricsTypes.js.map +1 -0
- package/dist/esm/common/metrics/prometheusMetrics.d.ts +15 -0
- package/dist/esm/common/metrics/prometheusMetrics.d.ts.map +1 -0
- package/dist/esm/common/metrics/prometheusMetrics.js +21 -0
- package/dist/esm/common/metrics/prometheusMetrics.js.map +1 -0
- package/dist/esm/common/packageInfo.d.ts +3 -0
- package/dist/esm/common/packageInfo.d.ts.map +1 -1
- package/dist/esm/common/packageInfo.js +4 -1
- package/dist/esm/common/packageInfo.js.map +1 -1
- package/dist/esm/common/schemas.d.ts +3 -3
- package/dist/esm/common/schemas.d.ts.map +1 -1
- package/dist/esm/common/schemas.js +2 -2
- package/dist/esm/common/schemas.js.map +1 -1
- package/dist/esm/common/session.d.ts +4 -7
- package/dist/esm/common/session.d.ts.map +1 -1
- package/dist/esm/common/session.js +2 -3
- package/dist/esm/common/session.js.map +1 -1
- package/dist/esm/common/sessionStore.d.ts +57 -16
- package/dist/esm/common/sessionStore.d.ts.map +1 -1
- package/dist/esm/common/sessionStore.js +32 -17
- package/dist/esm/common/sessionStore.js.map +1 -1
- package/dist/esm/elicitation.d.ts +18 -0
- package/dist/esm/elicitation.d.ts.map +1 -1
- package/dist/esm/elicitation.js +31 -1
- package/dist/esm/elicitation.js.map +1 -1
- package/dist/esm/helpers/connectionOptions.d.ts +2 -5
- package/dist/esm/helpers/connectionOptions.d.ts.map +1 -1
- package/dist/esm/helpers/connectionOptions.js +1 -1
- package/dist/esm/helpers/connectionOptions.js.map +1 -1
- package/dist/esm/helpers/deviceId.d.ts +2 -1
- package/dist/esm/helpers/deviceId.d.ts.map +1 -1
- package/dist/esm/helpers/deviceId.js.map +1 -1
- package/dist/esm/index.d.ts.map +1 -1
- package/dist/esm/index.js +11 -2
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/lib.d.ts +19 -12
- package/dist/esm/lib.d.ts.map +1 -1
- package/dist/esm/lib.js +10 -5
- package/dist/esm/lib.js.map +1 -1
- package/dist/esm/server.d.ts +11 -8
- package/dist/esm/server.d.ts.map +1 -1
- package/dist/esm/server.js +16 -10
- package/dist/esm/server.js.map +1 -1
- package/dist/esm/setup/aiTool.d.ts +46 -0
- package/dist/esm/setup/aiTool.d.ts.map +1 -0
- package/dist/esm/setup/aiTool.js +383 -0
- package/dist/esm/setup/aiTool.js.map +1 -0
- package/dist/esm/setup/installSkills.d.ts +42 -0
- package/dist/esm/setup/installSkills.d.ts.map +1 -0
- package/dist/esm/setup/installSkills.js +113 -0
- package/dist/esm/setup/installSkills.js.map +1 -0
- package/dist/esm/setup/setupAiToolsUtils.d.ts +4 -0
- package/dist/esm/setup/setupAiToolsUtils.d.ts.map +1 -0
- package/dist/esm/setup/setupAiToolsUtils.js +20 -0
- package/dist/esm/setup/setupAiToolsUtils.js.map +1 -0
- package/dist/esm/setup/setupMcpServer.d.ts +8 -0
- package/dist/esm/setup/setupMcpServer.d.ts.map +1 -0
- package/dist/esm/setup/setupMcpServer.js +384 -0
- package/dist/esm/setup/setupMcpServer.js.map +1 -0
- package/dist/esm/setup/setupTelemetry.d.ts +99 -0
- package/dist/esm/setup/setupTelemetry.d.ts.map +1 -0
- package/dist/esm/setup/setupTelemetry.js +197 -0
- package/dist/esm/setup/setupTelemetry.js.map +1 -0
- package/dist/esm/telemetry/constants.js +4 -4
- package/dist/esm/telemetry/constants.js.map +1 -1
- package/dist/esm/telemetry/eventCache.d.ts +19 -3
- package/dist/esm/telemetry/eventCache.d.ts.map +1 -1
- package/dist/esm/telemetry/eventCache.js +48 -3
- package/dist/esm/telemetry/eventCache.js.map +1 -1
- package/dist/esm/telemetry/telemetry.d.ts +106 -25
- package/dist/esm/telemetry/telemetry.d.ts.map +1 -1
- package/dist/esm/telemetry/telemetry.js +166 -112
- package/dist/esm/telemetry/telemetry.js.map +1 -1
- package/dist/esm/telemetry/timer.d.ts +12 -0
- package/dist/esm/telemetry/timer.d.ts.map +1 -0
- package/dist/esm/telemetry/timer.js +24 -0
- package/dist/esm/telemetry/timer.js.map +1 -0
- package/dist/esm/telemetry/types.d.ts +69 -11
- package/dist/esm/telemetry/types.d.ts.map +1 -1
- package/dist/esm/tools/args.d.ts +7 -2
- package/dist/esm/tools/args.d.ts.map +1 -1
- package/dist/esm/tools/args.js +6 -4
- package/dist/esm/tools/args.js.map +1 -1
- package/dist/esm/tools/assistant/searchKnowledge.d.ts +2 -14
- package/dist/esm/tools/assistant/searchKnowledge.d.ts.map +1 -1
- package/dist/esm/tools/atlas/connect/connectCluster.d.ts +10 -2
- package/dist/esm/tools/atlas/connect/connectCluster.d.ts.map +1 -1
- package/dist/esm/tools/atlas/connect/connectCluster.js +3 -0
- package/dist/esm/tools/atlas/connect/connectCluster.js.map +1 -1
- package/dist/esm/tools/atlas/create/createAccessList.d.ts +4 -4
- package/dist/esm/tools/atlas/create/createDBUser.d.ts +4 -20
- package/dist/esm/tools/atlas/create/createDBUser.d.ts.map +1 -1
- package/dist/esm/tools/atlas/read/getPerformanceAdvisor.d.ts +7 -2
- package/dist/esm/tools/atlas/read/getPerformanceAdvisor.d.ts.map +1 -1
- package/dist/esm/tools/atlas/read/listAlerts.d.ts +18 -3
- package/dist/esm/tools/atlas/read/listAlerts.d.ts.map +1 -1
- package/dist/esm/tools/atlas/read/listAlerts.js +21 -3
- package/dist/esm/tools/atlas/read/listAlerts.js.map +1 -1
- package/dist/esm/tools/atlas/read/listProjects.d.ts.map +1 -1
- package/dist/esm/tools/atlas/read/listProjects.js +10 -1
- package/dist/esm/tools/atlas/read/listProjects.js.map +1 -1
- package/dist/esm/tools/atlas/streams/build.d.ts +149 -0
- package/dist/esm/tools/atlas/streams/build.d.ts.map +1 -0
- package/dist/esm/tools/atlas/streams/build.js +667 -0
- package/dist/esm/tools/atlas/streams/build.js.map +1 -0
- package/dist/esm/tools/atlas/streams/discover.d.ts +44 -0
- package/dist/esm/tools/atlas/streams/discover.d.ts.map +1 -0
- package/dist/esm/tools/atlas/streams/discover.js +341 -0
- package/dist/esm/tools/atlas/streams/discover.js.map +1 -0
- package/dist/esm/tools/atlas/streams/manage.d.ts +111 -0
- package/dist/esm/tools/atlas/streams/manage.d.ts.map +1 -0
- package/dist/esm/tools/atlas/streams/manage.js +467 -0
- package/dist/esm/tools/atlas/streams/manage.js.map +1 -0
- package/dist/esm/tools/atlas/streams/streamsArgs.d.ts +74 -0
- package/dist/esm/tools/atlas/streams/streamsArgs.d.ts.map +1 -0
- package/dist/esm/tools/atlas/streams/streamsArgs.js +143 -0
- package/dist/esm/tools/atlas/streams/streamsArgs.js.map +1 -0
- package/dist/esm/tools/atlas/streams/streamsToolBase.d.ts +12 -0
- package/dist/esm/tools/atlas/streams/streamsToolBase.d.ts.map +1 -0
- package/dist/esm/tools/atlas/streams/streamsToolBase.js +159 -0
- package/dist/esm/tools/atlas/streams/streamsToolBase.js.map +1 -0
- package/dist/esm/tools/atlas/streams/teardown.d.ts +31 -0
- package/dist/esm/tools/atlas/streams/teardown.d.ts.map +1 -0
- package/dist/esm/tools/atlas/streams/teardown.js +232 -0
- package/dist/esm/tools/atlas/streams/teardown.js.map +1 -0
- package/dist/esm/tools/atlas/tools.d.ts +5 -0
- package/dist/esm/tools/atlas/tools.d.ts.map +1 -1
- package/dist/esm/tools/atlas/tools.js +5 -0
- package/dist/esm/tools/atlas/tools.js.map +1 -1
- package/dist/esm/tools/atlas/update/upgradeCluster.d.ts +28 -0
- package/dist/esm/tools/atlas/update/upgradeCluster.d.ts.map +1 -0
- package/dist/esm/tools/atlas/update/upgradeCluster.js +227 -0
- package/dist/esm/tools/atlas/update/upgradeCluster.js.map +1 -0
- package/dist/esm/tools/index.d.ts +1 -0
- package/dist/esm/tools/index.d.ts.map +1 -1
- package/dist/esm/tools/index.js +1 -0
- package/dist/esm/tools/index.js.map +1 -1
- package/dist/esm/tools/mongodb/create/createCollection.d.ts +1 -1
- package/dist/esm/tools/mongodb/create/createCollection.d.ts.map +1 -1
- package/dist/esm/tools/mongodb/create/createCollection.js +2 -2
- package/dist/esm/tools/mongodb/create/createCollection.js.map +1 -1
- package/dist/esm/tools/mongodb/create/createIndex.d.ts +56 -218
- package/dist/esm/tools/mongodb/create/createIndex.d.ts.map +1 -1
- package/dist/esm/tools/mongodb/create/createIndex.js +14 -16
- package/dist/esm/tools/mongodb/create/createIndex.js.map +1 -1
- package/dist/esm/tools/mongodb/create/insertMany.d.ts +5 -32
- package/dist/esm/tools/mongodb/create/insertMany.d.ts.map +1 -1
- package/dist/esm/tools/mongodb/create/insertMany.js +8 -92
- package/dist/esm/tools/mongodb/create/insertMany.js.map +1 -1
- package/dist/esm/tools/mongodb/delete/deleteMany.d.ts +2 -2
- package/dist/esm/tools/mongodb/delete/deleteMany.d.ts.map +1 -1
- package/dist/esm/tools/mongodb/delete/deleteMany.js +3 -2
- package/dist/esm/tools/mongodb/delete/deleteMany.js.map +1 -1
- package/dist/esm/tools/mongodb/delete/dropCollection.d.ts +1 -1
- package/dist/esm/tools/mongodb/delete/dropCollection.d.ts.map +1 -1
- package/dist/esm/tools/mongodb/delete/dropCollection.js +2 -2
- package/dist/esm/tools/mongodb/delete/dropCollection.js.map +1 -1
- package/dist/esm/tools/mongodb/delete/dropDatabase.d.ts.map +1 -1
- package/dist/esm/tools/mongodb/delete/dropDatabase.js +2 -4
- package/dist/esm/tools/mongodb/delete/dropDatabase.js.map +1 -1
- package/dist/esm/tools/mongodb/delete/dropIndex.d.ts +5 -2
- package/dist/esm/tools/mongodb/delete/dropIndex.d.ts.map +1 -1
- package/dist/esm/tools/mongodb/delete/dropIndex.js +5 -10
- package/dist/esm/tools/mongodb/delete/dropIndex.js.map +1 -1
- package/dist/esm/tools/mongodb/metadata/collectionIndexes.d.ts +13 -43
- package/dist/esm/tools/mongodb/metadata/collectionIndexes.d.ts.map +1 -1
- package/dist/esm/tools/mongodb/metadata/collectionIndexes.js +42 -6
- package/dist/esm/tools/mongodb/metadata/collectionIndexes.js.map +1 -1
- package/dist/esm/tools/mongodb/metadata/collectionSchema.d.ts +1 -1
- package/dist/esm/tools/mongodb/metadata/collectionSchema.d.ts.map +1 -1
- package/dist/esm/tools/mongodb/metadata/collectionSchema.js +4 -4
- package/dist/esm/tools/mongodb/metadata/collectionSchema.js.map +1 -1
- package/dist/esm/tools/mongodb/metadata/collectionStorageSize.d.ts +3 -3
- package/dist/esm/tools/mongodb/metadata/collectionStorageSize.d.ts.map +1 -1
- package/dist/esm/tools/mongodb/metadata/collectionStorageSize.js +3 -3
- package/dist/esm/tools/mongodb/metadata/collectionStorageSize.js.map +1 -1
- package/dist/esm/tools/mongodb/metadata/dbStats.d.ts.map +1 -1
- package/dist/esm/tools/mongodb/metadata/dbStats.js +4 -5
- package/dist/esm/tools/mongodb/metadata/dbStats.js.map +1 -1
- package/dist/esm/tools/mongodb/metadata/explain.d.ts +35 -357
- package/dist/esm/tools/mongodb/metadata/explain.d.ts.map +1 -1
- package/dist/esm/tools/mongodb/metadata/explain.js +7 -7
- package/dist/esm/tools/mongodb/metadata/explain.js.map +1 -1
- package/dist/esm/tools/mongodb/metadata/listCollections.d.ts +2 -10
- package/dist/esm/tools/mongodb/metadata/listCollections.d.ts.map +1 -1
- package/dist/esm/tools/mongodb/metadata/listCollections.js +2 -4
- package/dist/esm/tools/mongodb/metadata/listCollections.js.map +1 -1
- package/dist/esm/tools/mongodb/metadata/listDatabases.d.ts +3 -16
- package/dist/esm/tools/mongodb/metadata/listDatabases.d.ts.map +1 -1
- package/dist/esm/tools/mongodb/metadata/listDatabases.js +1 -1
- package/dist/esm/tools/mongodb/metadata/listDatabases.js.map +1 -1
- package/dist/esm/tools/mongodb/metadata/logs.d.ts +6 -3
- package/dist/esm/tools/mongodb/metadata/logs.d.ts.map +1 -1
- package/dist/esm/tools/mongodb/metadata/logs.js +1 -0
- package/dist/esm/tools/mongodb/metadata/logs.js.map +1 -1
- package/dist/esm/tools/mongodb/mongodbSchemas.d.ts +20 -191
- package/dist/esm/tools/mongodb/mongodbSchemas.d.ts.map +1 -1
- package/dist/esm/tools/mongodb/mongodbSchemas.js +33 -33
- package/dist/esm/tools/mongodb/mongodbSchemas.js.map +1 -1
- package/dist/esm/tools/mongodb/mongodbTool.d.ts +12 -1
- package/dist/esm/tools/mongodb/mongodbTool.d.ts.map +1 -1
- package/dist/esm/tools/mongodb/mongodbTool.js +14 -1
- package/dist/esm/tools/mongodb/mongodbTool.js.map +1 -1
- package/dist/esm/tools/mongodb/read/aggregate.d.ts +33 -300
- package/dist/esm/tools/mongodb/read/aggregate.d.ts.map +1 -1
- package/dist/esm/tools/mongodb/read/aggregate.js +21 -91
- package/dist/esm/tools/mongodb/read/aggregate.js.map +1 -1
- package/dist/esm/tools/mongodb/read/aggregateDB.d.ts +24 -0
- package/dist/esm/tools/mongodb/read/aggregateDB.d.ts.map +1 -0
- package/dist/esm/tools/mongodb/read/aggregateDB.js +169 -0
- package/dist/esm/tools/mongodb/read/aggregateDB.js.map +1 -0
- package/dist/esm/tools/mongodb/read/count.d.ts +3 -3
- package/dist/esm/tools/mongodb/read/count.d.ts.map +1 -1
- package/dist/esm/tools/mongodb/read/count.js +4 -3
- package/dist/esm/tools/mongodb/read/count.js.map +1 -1
- package/dist/esm/tools/mongodb/read/export.d.ts +30 -332
- package/dist/esm/tools/mongodb/read/export.d.ts.map +1 -1
- package/dist/esm/tools/mongodb/read/export.js +6 -8
- package/dist/esm/tools/mongodb/read/export.js.map +1 -1
- package/dist/esm/tools/mongodb/read/find.d.ts +11 -8
- package/dist/esm/tools/mongodb/read/find.d.ts.map +1 -1
- package/dist/esm/tools/mongodb/read/find.js +9 -7
- package/dist/esm/tools/mongodb/read/find.js.map +1 -1
- package/dist/esm/tools/mongodb/tools.d.ts +1 -0
- package/dist/esm/tools/mongodb/tools.d.ts.map +1 -1
- package/dist/esm/tools/mongodb/tools.js +1 -0
- package/dist/esm/tools/mongodb/tools.js.map +1 -1
- package/dist/esm/tools/mongodb/update/renameCollection.d.ts +1 -1
- package/dist/esm/tools/mongodb/update/renameCollection.d.ts.map +1 -1
- package/dist/esm/tools/mongodb/update/renameCollection.js +2 -2
- package/dist/esm/tools/mongodb/update/renameCollection.js.map +1 -1
- package/dist/esm/tools/mongodb/update/updateMany.d.ts +3 -3
- package/dist/esm/tools/mongodb/update/updateMany.d.ts.map +1 -1
- package/dist/esm/tools/mongodb/update/updateMany.js +4 -3
- package/dist/esm/tools/mongodb/update/updateMany.js.map +1 -1
- package/dist/esm/tools/tool.d.ts +21 -9
- package/dist/esm/tools/tool.d.ts.map +1 -1
- package/dist/esm/tools/tool.js +21 -2
- package/dist/esm/tools/tool.js.map +1 -1
- package/dist/esm/transports/base.d.ts +43 -18
- package/dist/esm/transports/base.d.ts.map +1 -1
- package/dist/esm/transports/base.js +31 -14
- package/dist/esm/transports/base.js.map +1 -1
- package/dist/esm/transports/expressBasedHttpServer.d.ts +24 -0
- package/dist/esm/transports/expressBasedHttpServer.d.ts.map +1 -0
- package/dist/esm/transports/expressBasedHttpServer.js +75 -0
- package/dist/esm/transports/expressBasedHttpServer.js.map +1 -0
- package/dist/esm/transports/jsonRpcErrorCodes.d.ts +12 -0
- package/dist/esm/transports/jsonRpcErrorCodes.d.ts.map +1 -0
- package/dist/esm/transports/jsonRpcErrorCodes.js +12 -0
- package/dist/esm/transports/jsonRpcErrorCodes.js.map +1 -0
- package/dist/esm/transports/mcpHttpServer.d.ts +61 -0
- package/dist/esm/transports/mcpHttpServer.d.ts.map +1 -0
- package/dist/esm/transports/mcpHttpServer.js +333 -0
- package/dist/esm/transports/mcpHttpServer.js.map +1 -0
- package/dist/esm/transports/monitoringServer.d.ts +29 -0
- package/dist/esm/transports/monitoringServer.d.ts.map +1 -0
- package/dist/esm/transports/monitoringServer.js +48 -0
- package/dist/esm/transports/monitoringServer.js.map +1 -0
- package/dist/esm/transports/stdio.d.ts +3 -2
- package/dist/esm/transports/stdio.d.ts.map +1 -1
- package/dist/esm/transports/stdio.js.map +1 -1
- package/dist/esm/transports/streamableHttp.d.ts +66 -5
- package/dist/esm/transports/streamableHttp.d.ts.map +1 -1
- package/dist/esm/transports/streamableHttp.js +44 -366
- package/dist/esm/transports/streamableHttp.js.map +1 -1
- package/dist/esm/ui/components/ListDatabases/ListDatabases.d.ts +3 -0
- package/dist/esm/ui/components/ListDatabases/ListDatabases.d.ts.map +1 -1
- package/dist/esm/ui/components/ListDatabases/ListDatabases.js.map +1 -1
- package/dist/esm/ui/index.d.ts +0 -1
- package/dist/esm/ui/index.d.ts.map +1 -1
- package/dist/esm/ui/lib/tools/list-databases.d.ts +1 -1
- package/dist/esm/ui/lib/tools/list-databases.d.ts.map +1 -1
- package/dist/esm/ui/lib/tools/list-databases.js +1 -1
- package/dist/esm/ui/lib/tools/list-databases.js.map +1 -1
- package/dist/esm/web.d.ts +31 -2
- package/dist/esm/web.d.ts.map +1 -1
- package/dist/esm/web.js +17 -1
- package/dist/esm/web.js.map +1 -1
- package/package.json +80 -63
|
@@ -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;
|
|
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
|
|
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;;
|
|
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
|
|
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;
|
|
1
|
+
{"version":3,"file":"eventCache.js","sourceRoot":"","sources":["../../../src/telemetry/eventCache.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,57 +1,138 @@
|
|
|
1
|
-
import type { Session } from "../common/session.js";
|
|
2
1
|
import type { BaseEvent, CommonProperties } from "./types.js";
|
|
3
|
-
import type {
|
|
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
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
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
|
|
21
|
-
private
|
|
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
|
-
|
|
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
|
-
*
|
|
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
|
|
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
|
-
*
|
|
49
|
-
|
|
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
|
|
133
|
+
private sendBatch;
|
|
52
134
|
/**
|
|
53
|
-
*
|
|
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,
|
|
1
|
+
{"version":3,"file":"telemetry.d.ts","sourceRoot":"","sources":["../../../src/telemetry/telemetry.ts"],"names":[],"mappings":"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"}
|