mongodb-mcp-server 1.1.0 → 1.3.0-pre.1
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 +64 -28
- package/dist/cjs/common/atlas/accessListUtils.js +1 -1
- package/dist/cjs/common/atlas/accessListUtils.js.map +1 -1
- package/dist/cjs/common/atlas/apiClient.d.ts +30 -26
- package/dist/cjs/common/atlas/apiClient.d.ts.map +1 -1
- package/dist/cjs/common/atlas/apiClient.js +12 -12
- package/dist/cjs/common/atlas/apiClient.js.map +1 -1
- package/dist/cjs/common/atlas/cluster.d.ts +7 -2
- package/dist/cjs/common/atlas/cluster.d.ts.map +1 -1
- package/dist/cjs/common/atlas/cluster.js +18 -4
- package/dist/cjs/common/atlas/cluster.js.map +1 -1
- package/dist/cjs/common/atlas/performanceAdvisorUtils.js +2 -2
- package/dist/cjs/common/atlas/performanceAdvisorUtils.js.map +1 -1
- package/dist/cjs/common/atlas/roles.d.ts +1 -1
- package/dist/cjs/common/atlas/roles.d.ts.map +1 -1
- package/dist/cjs/common/atlasLocal.d.ts +4 -0
- package/dist/cjs/common/atlasLocal.d.ts.map +1 -0
- package/dist/cjs/common/atlasLocal.js +57 -0
- package/dist/cjs/common/atlasLocal.js.map +1 -0
- package/dist/cjs/common/config/argsParserOptions.d.ts +12 -0
- package/dist/cjs/common/config/argsParserOptions.d.ts.map +1 -0
- package/dist/cjs/common/config/argsParserOptions.js +103 -0
- package/dist/cjs/common/config/argsParserOptions.js.map +1 -0
- package/dist/cjs/common/config/configOverrides.d.ts +30 -0
- package/dist/cjs/common/config/configOverrides.d.ts.map +1 -0
- package/dist/cjs/common/config/configOverrides.js +145 -0
- package/dist/cjs/common/config/configOverrides.js.map +1 -0
- package/dist/cjs/common/config/configUtils.d.ts +43 -0
- package/dist/cjs/common/config/configUtils.d.ts.map +1 -0
- package/dist/cjs/common/config/configUtils.js +178 -0
- package/dist/cjs/common/config/configUtils.js.map +1 -0
- package/dist/cjs/common/config/createUserConfig.d.ts +10 -0
- package/dist/cjs/common/config/createUserConfig.d.ts.map +1 -0
- package/dist/cjs/common/config/createUserConfig.js +156 -0
- package/dist/cjs/common/config/createUserConfig.js.map +1 -0
- package/dist/cjs/common/config/userConfig.d.ts +54 -0
- package/dist/cjs/common/config/userConfig.d.ts.map +1 -0
- package/dist/cjs/common/config/userConfig.js +180 -0
- package/dist/cjs/common/config/userConfig.js.map +1 -0
- package/dist/cjs/common/connectionErrorHandler.d.ts.map +1 -1
- package/dist/cjs/common/connectionErrorHandler.js +15 -6
- package/dist/cjs/common/connectionErrorHandler.js.map +1 -1
- package/dist/cjs/common/connectionManager.d.ts +6 -5
- package/dist/cjs/common/connectionManager.d.ts.map +1 -1
- package/dist/cjs/common/connectionManager.js +29 -19
- package/dist/cjs/common/connectionManager.js.map +1 -1
- package/dist/cjs/common/errors.d.ts +6 -1
- package/dist/cjs/common/errors.d.ts.map +1 -1
- package/dist/cjs/common/errors.js +5 -0
- package/dist/cjs/common/errors.js.map +1 -1
- package/dist/cjs/common/exportsManager.d.ts +1 -1
- package/dist/cjs/common/exportsManager.d.ts.map +1 -1
- package/dist/cjs/common/logger.d.ts +2 -0
- package/dist/cjs/common/logger.d.ts.map +1 -1
- package/dist/cjs/common/logger.js +2 -0
- package/dist/cjs/common/logger.js.map +1 -1
- package/dist/cjs/common/packageInfo.js +1 -1
- package/dist/cjs/common/packageInfo.js.map +1 -1
- package/dist/cjs/common/schemas.d.ts +5 -0
- package/dist/cjs/common/schemas.d.ts.map +1 -0
- package/dist/cjs/common/schemas.js +6 -0
- package/dist/cjs/common/schemas.js.map +1 -0
- package/dist/cjs/common/search/embeddingsProvider.d.ts +10 -0
- package/dist/cjs/common/search/embeddingsProvider.d.ts.map +1 -0
- package/dist/cjs/common/search/embeddingsProvider.js +45 -0
- package/dist/cjs/common/search/embeddingsProvider.js.map +1 -0
- package/dist/cjs/common/search/vectorSearchEmbeddingsManager.d.ts +67 -0
- package/dist/cjs/common/search/vectorSearchEmbeddingsManager.d.ts.map +1 -0
- package/dist/cjs/common/search/vectorSearchEmbeddingsManager.js +188 -0
- package/dist/cjs/common/search/vectorSearchEmbeddingsManager.js.map +1 -0
- package/dist/cjs/common/session.d.ts +14 -5
- package/dist/cjs/common/session.d.ts.map +1 -1
- package/dist/cjs/common/session.js +28 -8
- package/dist/cjs/common/session.js.map +1 -1
- package/dist/cjs/helpers/assertVectorSearchFilterFieldsAreIndexed.d.ts +27 -0
- package/dist/cjs/helpers/assertVectorSearchFilterFieldsAreIndexed.d.ts.map +1 -0
- package/dist/cjs/helpers/assertVectorSearchFilterFieldsAreIndexed.js +58 -0
- package/dist/cjs/helpers/assertVectorSearchFilterFieldsAreIndexed.js.map +1 -0
- package/dist/cjs/index.d.ts +2 -1
- package/dist/cjs/index.d.ts.map +1 -1
- package/dist/cjs/index.js +44 -16
- package/dist/cjs/index.js.map +1 -1
- package/dist/cjs/lib.d.ts +6 -2
- package/dist/cjs/lib.d.ts.map +1 -1
- package/dist/cjs/lib.js +10 -4
- package/dist/cjs/lib.js.map +1 -1
- package/dist/cjs/resources/common/config.d.ts +1 -1
- package/dist/cjs/resources/common/config.d.ts.map +1 -1
- package/dist/cjs/resources/common/config.js +4 -3
- package/dist/cjs/resources/common/config.js.map +1 -1
- package/dist/cjs/resources/resource.d.ts +1 -1
- package/dist/cjs/resources/resource.d.ts.map +1 -1
- package/dist/cjs/server.d.ts +26 -5
- package/dist/cjs/server.d.ts.map +1 -1
- package/dist/cjs/server.js +7 -23
- package/dist/cjs/server.js.map +1 -1
- package/dist/cjs/telemetry/telemetry.d.ts +1 -1
- package/dist/cjs/telemetry/telemetry.d.ts.map +1 -1
- package/dist/cjs/telemetry/types.d.ts +22 -4
- package/dist/cjs/telemetry/types.d.ts.map +1 -1
- package/dist/cjs/tools/args.d.ts +1 -0
- package/dist/cjs/tools/args.d.ts.map +1 -1
- package/dist/cjs/tools/args.js +1 -0
- package/dist/cjs/tools/args.js.map +1 -1
- package/dist/cjs/tools/atlas/atlasTool.d.ts +3 -2
- package/dist/cjs/tools/atlas/atlasTool.d.ts.map +1 -1
- package/dist/cjs/tools/atlas/atlasTool.js +3 -3
- package/dist/cjs/tools/atlas/atlasTool.js.map +1 -1
- package/dist/cjs/tools/atlas/connect/connectCluster.d.ts +6 -1
- package/dist/cjs/tools/atlas/connect/connectCluster.d.ts.map +1 -1
- package/dist/cjs/tools/atlas/connect/connectCluster.js +46 -21
- package/dist/cjs/tools/atlas/connect/connectCluster.js.map +1 -1
- package/dist/cjs/tools/atlas/create/createAccessList.js +1 -1
- package/dist/cjs/tools/atlas/create/createAccessList.js.map +1 -1
- package/dist/cjs/tools/atlas/create/createProject.d.ts +0 -4
- package/dist/cjs/tools/atlas/create/createProject.d.ts.map +1 -1
- package/dist/cjs/tools/atlas/create/createProject.js +5 -8
- package/dist/cjs/tools/atlas/create/createProject.js.map +1 -1
- package/dist/cjs/tools/atlas/read/getPerformanceAdvisor.d.ts +4 -1
- package/dist/cjs/tools/atlas/read/getPerformanceAdvisor.d.ts.map +1 -1
- package/dist/cjs/tools/atlas/read/getPerformanceAdvisor.js +7 -1
- package/dist/cjs/tools/atlas/read/getPerformanceAdvisor.js.map +1 -1
- package/dist/cjs/tools/atlas/read/inspectAccessList.d.ts.map +1 -1
- package/dist/cjs/tools/atlas/read/inspectAccessList.js +7 -8
- package/dist/cjs/tools/atlas/read/inspectAccessList.js.map +1 -1
- package/dist/cjs/tools/atlas/read/inspectCluster.d.ts.map +1 -1
- package/dist/cjs/tools/atlas/read/inspectCluster.js +9 -3
- package/dist/cjs/tools/atlas/read/inspectCluster.js.map +1 -1
- package/dist/cjs/tools/atlas/read/listAlerts.d.ts.map +1 -1
- package/dist/cjs/tools/atlas/read/listAlerts.js +9 -13
- package/dist/cjs/tools/atlas/read/listAlerts.js.map +1 -1
- package/dist/cjs/tools/atlas/read/listClusters.d.ts.map +1 -1
- package/dist/cjs/tools/atlas/read/listClusters.js +9 -25
- package/dist/cjs/tools/atlas/read/listClusters.js.map +1 -1
- package/dist/cjs/tools/atlas/read/listDBUsers.d.ts.map +1 -1
- package/dist/cjs/tools/atlas/read/listDBUsers.js +13 -23
- package/dist/cjs/tools/atlas/read/listDBUsers.js.map +1 -1
- package/dist/cjs/tools/atlas/read/listOrgs.d.ts.map +1 -1
- package/dist/cjs/tools/atlas/read/listOrgs.js +6 -11
- package/dist/cjs/tools/atlas/read/listOrgs.js.map +1 -1
- package/dist/cjs/tools/atlas/read/listProjects.d.ts +0 -3
- package/dist/cjs/tools/atlas/read/listProjects.d.ts.map +1 -1
- package/dist/cjs/tools/atlas/read/listProjects.js +18 -23
- package/dist/cjs/tools/atlas/read/listProjects.js.map +1 -1
- package/dist/cjs/tools/atlasLocal/atlasLocalTool.d.ts +20 -0
- package/dist/cjs/tools/atlasLocal/atlasLocalTool.d.ts.map +1 -0
- package/dist/cjs/tools/atlasLocal/atlasLocalTool.js +109 -0
- package/dist/cjs/tools/atlasLocal/atlasLocalTool.js.map +1 -0
- package/dist/cjs/tools/atlasLocal/connect/connectDeployment.d.ts +16 -0
- package/dist/cjs/tools/atlasLocal/connect/connectDeployment.d.ts.map +1 -0
- package/dist/cjs/tools/atlasLocal/connect/connectDeployment.js +38 -0
- package/dist/cjs/tools/atlasLocal/connect/connectDeployment.js.map +1 -0
- package/dist/cjs/tools/atlasLocal/create/createDeployment.d.ts +14 -0
- package/dist/cjs/tools/atlasLocal/create/createDeployment.d.ts.map +1 -0
- package/dist/cjs/tools/atlasLocal/create/createDeployment.js +41 -0
- package/dist/cjs/tools/atlasLocal/create/createDeployment.js.map +1 -0
- package/dist/cjs/tools/atlasLocal/delete/deleteDeployment.d.ts +14 -0
- package/dist/cjs/tools/atlasLocal/delete/deleteDeployment.d.ts.map +1 -0
- package/dist/cjs/tools/atlasLocal/delete/deleteDeployment.js +32 -0
- package/dist/cjs/tools/atlasLocal/delete/deleteDeployment.js.map +1 -0
- package/dist/cjs/tools/atlasLocal/read/listDeployments.d.ts +13 -0
- package/dist/cjs/tools/atlasLocal/read/listDeployments.d.ts.map +1 -0
- package/dist/cjs/tools/atlasLocal/read/listDeployments.js +42 -0
- package/dist/cjs/tools/atlasLocal/read/listDeployments.js.map +1 -0
- package/dist/cjs/tools/atlasLocal/tools.d.ts +6 -0
- package/dist/cjs/tools/atlasLocal/tools.d.ts.map +1 -0
- package/dist/cjs/tools/atlasLocal/tools.js +9 -0
- package/dist/cjs/tools/atlasLocal/tools.js.map +1 -0
- package/dist/cjs/tools/index.d.ts +7 -0
- package/dist/cjs/tools/index.d.ts.map +1 -0
- package/dist/cjs/tools/index.js +14 -0
- package/dist/cjs/tools/index.js.map +1 -0
- package/dist/cjs/tools/mongodb/connect/connect.d.ts +4 -10
- package/dist/cjs/tools/mongodb/connect/connect.d.ts.map +1 -1
- package/dist/cjs/tools/mongodb/connect/connect.js +17 -70
- package/dist/cjs/tools/mongodb/connect/connect.js.map +1 -1
- package/dist/cjs/tools/mongodb/connect/switchConnection.d.ts +17 -0
- package/dist/cjs/tools/mongodb/connect/switchConnection.d.ts.map +1 -0
- package/dist/cjs/tools/mongodb/connect/switchConnection.js +52 -0
- package/dist/cjs/tools/mongodb/connect/switchConnection.js.map +1 -0
- package/dist/cjs/tools/mongodb/create/createIndex.d.ts +1 -1
- package/dist/cjs/tools/mongodb/create/createIndex.d.ts.map +1 -1
- package/dist/cjs/tools/mongodb/create/createIndex.js +9 -22
- package/dist/cjs/tools/mongodb/create/createIndex.js.map +1 -1
- package/dist/cjs/tools/mongodb/create/insertMany.d.ts +22 -2
- package/dist/cjs/tools/mongodb/create/insertMany.d.ts.map +1 -1
- package/dist/cjs/tools/mongodb/create/insertMany.js +88 -12
- package/dist/cjs/tools/mongodb/create/insertMany.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 +36 -3
- package/dist/cjs/tools/mongodb/delete/dropIndex.js.map +1 -1
- package/dist/cjs/tools/mongodb/metadata/collectionIndexes.d.ts +15 -0
- package/dist/cjs/tools/mongodb/metadata/collectionIndexes.d.ts.map +1 -1
- package/dist/cjs/tools/mongodb/metadata/collectionIndexes.js +30 -5
- package/dist/cjs/tools/mongodb/metadata/collectionIndexes.js.map +1 -1
- package/dist/cjs/tools/mongodb/metadata/collectionSchema.js +1 -1
- package/dist/cjs/tools/mongodb/metadata/explain.d.ts +192 -10
- package/dist/cjs/tools/mongodb/metadata/explain.d.ts.map +1 -1
- package/dist/cjs/tools/mongodb/metadata/explain.js +1 -1
- package/dist/cjs/tools/mongodb/metadata/explain.js.map +1 -1
- package/dist/cjs/tools/mongodb/metadata/listDatabases.d.ts.map +1 -1
- package/dist/cjs/tools/mongodb/metadata/listDatabases.js +1 -3
- package/dist/cjs/tools/mongodb/metadata/listDatabases.js.map +1 -1
- package/dist/cjs/tools/mongodb/mongodbSchemas.d.ts +155 -0
- package/dist/cjs/tools/mongodb/mongodbSchemas.d.ts.map +1 -0
- package/dist/cjs/tools/mongodb/mongodbSchemas.js +69 -0
- package/dist/cjs/tools/mongodb/mongodbSchemas.js.map +1 -0
- package/dist/cjs/tools/mongodb/mongodbTool.d.ts +14 -3
- package/dist/cjs/tools/mongodb/mongodbTool.d.ts.map +1 -1
- package/dist/cjs/tools/mongodb/mongodbTool.js +31 -11
- package/dist/cjs/tools/mongodb/mongodbTool.js.map +1 -1
- package/dist/cjs/tools/mongodb/read/aggregate.d.ts +218 -4
- package/dist/cjs/tools/mongodb/read/aggregate.d.ts.map +1 -1
- package/dist/cjs/tools/mongodb/read/aggregate.js +125 -18
- package/dist/cjs/tools/mongodb/read/aggregate.js.map +1 -1
- package/dist/cjs/tools/mongodb/read/export.d.ts +192 -10
- package/dist/cjs/tools/mongodb/read/export.d.ts.map +1 -1
- package/dist/cjs/tools/mongodb/read/export.js +3 -1
- package/dist/cjs/tools/mongodb/read/export.js.map +1 -1
- package/dist/cjs/tools/mongodb/read/find.js +2 -2
- package/dist/cjs/tools/mongodb/read/find.js.map +1 -1
- package/dist/cjs/tools/mongodb/tools.d.ts +2 -2
- package/dist/cjs/tools/mongodb/tools.d.ts.map +1 -1
- package/dist/cjs/tools/mongodb/tools.js +2 -2
- package/dist/cjs/tools/mongodb/tools.js.map +1 -1
- package/dist/cjs/tools/tool.d.ts +14 -24
- package/dist/cjs/tools/tool.d.ts.map +1 -1
- package/dist/cjs/tools/tool.js +44 -54
- package/dist/cjs/tools/tool.js.map +1 -1
- package/dist/cjs/transports/base.d.ts +25 -3
- package/dist/cjs/transports/base.d.ts.map +1 -1
- package/dist/cjs/transports/base.js +41 -10
- package/dist/cjs/transports/base.js.map +1 -1
- package/dist/cjs/transports/dryModeRunner.d.ts +19 -0
- package/dist/cjs/transports/dryModeRunner.d.ts.map +1 -0
- package/dist/cjs/transports/dryModeRunner.js +37 -0
- package/dist/cjs/transports/dryModeRunner.js.map +1 -0
- package/dist/cjs/transports/inMemoryTransport.d.ts +18 -0
- package/dist/cjs/transports/inMemoryTransport.d.ts.map +1 -0
- package/dist/cjs/transports/inMemoryTransport.js +43 -0
- package/dist/cjs/transports/inMemoryTransport.js.map +1 -0
- package/dist/cjs/transports/streamableHttp.d.ts.map +1 -1
- package/dist/cjs/transports/streamableHttp.js +5 -1
- package/dist/cjs/transports/streamableHttp.js.map +1 -1
- package/dist/esm/common/atlas/accessListUtils.js +1 -1
- package/dist/esm/common/atlas/accessListUtils.js.map +1 -1
- package/dist/esm/common/atlas/apiClient.d.ts +30 -26
- package/dist/esm/common/atlas/apiClient.d.ts.map +1 -1
- package/dist/esm/common/atlas/apiClient.js +12 -12
- package/dist/esm/common/atlas/apiClient.js.map +1 -1
- package/dist/esm/common/atlas/cluster.d.ts +7 -2
- package/dist/esm/common/atlas/cluster.d.ts.map +1 -1
- package/dist/esm/common/atlas/cluster.js +17 -4
- package/dist/esm/common/atlas/cluster.js.map +1 -1
- package/dist/esm/common/atlas/performanceAdvisorUtils.js +2 -2
- package/dist/esm/common/atlas/performanceAdvisorUtils.js.map +1 -1
- package/dist/esm/common/atlas/roles.d.ts +1 -1
- package/dist/esm/common/atlas/roles.d.ts.map +1 -1
- package/dist/esm/common/atlasLocal.d.ts +4 -0
- package/dist/esm/common/atlasLocal.d.ts.map +1 -0
- package/dist/esm/common/atlasLocal.js +20 -0
- package/dist/esm/common/atlasLocal.js.map +1 -0
- package/dist/esm/common/config/argsParserOptions.d.ts +12 -0
- package/dist/esm/common/config/argsParserOptions.d.ts.map +1 -0
- package/dist/esm/common/config/argsParserOptions.js +100 -0
- package/dist/esm/common/config/argsParserOptions.js.map +1 -0
- package/dist/esm/common/config/configOverrides.d.ts +30 -0
- package/dist/esm/common/config/configOverrides.d.ts.map +1 -0
- package/dist/esm/common/config/configOverrides.js +139 -0
- package/dist/esm/common/config/configOverrides.js.map +1 -0
- package/dist/esm/common/config/configUtils.d.ts +43 -0
- package/dist/esm/common/config/configUtils.d.ts.map +1 -0
- package/dist/esm/common/config/configUtils.js +130 -0
- package/dist/esm/common/config/configUtils.js.map +1 -0
- package/dist/esm/common/config/createUserConfig.d.ts +10 -0
- package/dist/esm/common/config/createUserConfig.d.ts.map +1 -0
- package/dist/esm/common/config/createUserConfig.js +149 -0
- package/dist/esm/common/config/createUserConfig.js.map +1 -0
- package/dist/esm/common/config/userConfig.d.ts +54 -0
- package/dist/esm/common/config/userConfig.d.ts.map +1 -0
- package/dist/esm/common/config/userConfig.js +177 -0
- package/dist/esm/common/config/userConfig.js.map +1 -0
- package/dist/esm/common/connectionErrorHandler.d.ts.map +1 -1
- package/dist/esm/common/connectionErrorHandler.js +15 -6
- package/dist/esm/common/connectionErrorHandler.js.map +1 -1
- package/dist/esm/common/connectionManager.d.ts +6 -5
- package/dist/esm/common/connectionManager.d.ts.map +1 -1
- package/dist/esm/common/connectionManager.js +28 -18
- package/dist/esm/common/connectionManager.js.map +1 -1
- package/dist/esm/common/errors.d.ts +6 -1
- package/dist/esm/common/errors.d.ts.map +1 -1
- package/dist/esm/common/errors.js +5 -0
- package/dist/esm/common/errors.js.map +1 -1
- package/dist/esm/common/exportsManager.d.ts +1 -1
- package/dist/esm/common/exportsManager.d.ts.map +1 -1
- package/dist/esm/common/logger.d.ts +2 -0
- package/dist/esm/common/logger.d.ts.map +1 -1
- package/dist/esm/common/logger.js +2 -0
- package/dist/esm/common/logger.js.map +1 -1
- package/dist/esm/common/packageInfo.js +1 -1
- package/dist/esm/common/packageInfo.js.map +1 -1
- package/dist/esm/common/schemas.d.ts +5 -0
- package/dist/esm/common/schemas.d.ts.map +1 -0
- package/dist/esm/common/schemas.js +3 -0
- package/dist/esm/common/schemas.js.map +1 -0
- package/dist/esm/common/search/embeddingsProvider.d.ts +10 -0
- package/dist/esm/common/search/embeddingsProvider.d.ts.map +1 -0
- package/dist/esm/common/search/embeddingsProvider.js +39 -0
- package/dist/esm/common/search/embeddingsProvider.js.map +1 -0
- package/dist/esm/common/search/vectorSearchEmbeddingsManager.d.ts +67 -0
- package/dist/esm/common/search/vectorSearchEmbeddingsManager.d.ts.map +1 -0
- package/dist/esm/common/search/vectorSearchEmbeddingsManager.js +181 -0
- package/dist/esm/common/search/vectorSearchEmbeddingsManager.js.map +1 -0
- package/dist/esm/common/session.d.ts +14 -5
- package/dist/esm/common/session.d.ts.map +1 -1
- package/dist/esm/common/session.js +28 -8
- package/dist/esm/common/session.js.map +1 -1
- package/dist/esm/helpers/assertVectorSearchFilterFieldsAreIndexed.d.ts +27 -0
- package/dist/esm/helpers/assertVectorSearchFilterFieldsAreIndexed.d.ts.map +1 -0
- package/dist/esm/helpers/assertVectorSearchFilterFieldsAreIndexed.js +54 -0
- package/dist/esm/helpers/assertVectorSearchFilterFieldsAreIndexed.js.map +1 -0
- package/dist/esm/index.d.ts +2 -1
- package/dist/esm/index.d.ts.map +1 -1
- package/dist/esm/index.js +40 -13
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/lib.d.ts +6 -2
- package/dist/esm/lib.d.ts.map +1 -1
- package/dist/esm/lib.js +5 -2
- package/dist/esm/lib.js.map +1 -1
- package/dist/esm/resources/common/config.d.ts +1 -1
- package/dist/esm/resources/common/config.d.ts.map +1 -1
- package/dist/esm/resources/common/config.js +4 -3
- package/dist/esm/resources/common/config.js.map +1 -1
- package/dist/esm/resources/resource.d.ts +1 -1
- package/dist/esm/resources/resource.d.ts.map +1 -1
- package/dist/esm/server.d.ts +26 -5
- package/dist/esm/server.d.ts.map +1 -1
- package/dist/esm/server.js +7 -23
- package/dist/esm/server.js.map +1 -1
- package/dist/esm/telemetry/telemetry.d.ts +1 -1
- package/dist/esm/telemetry/telemetry.d.ts.map +1 -1
- package/dist/esm/telemetry/types.d.ts +22 -4
- package/dist/esm/telemetry/types.d.ts.map +1 -1
- package/dist/esm/tools/args.d.ts +1 -0
- package/dist/esm/tools/args.d.ts.map +1 -1
- package/dist/esm/tools/args.js +1 -0
- package/dist/esm/tools/args.js.map +1 -1
- package/dist/esm/tools/atlas/atlasTool.d.ts +3 -2
- package/dist/esm/tools/atlas/atlasTool.d.ts.map +1 -1
- package/dist/esm/tools/atlas/atlasTool.js +3 -3
- package/dist/esm/tools/atlas/atlasTool.js.map +1 -1
- package/dist/esm/tools/atlas/connect/connectCluster.d.ts +6 -1
- package/dist/esm/tools/atlas/connect/connectCluster.d.ts.map +1 -1
- package/dist/esm/tools/atlas/connect/connectCluster.js +47 -22
- package/dist/esm/tools/atlas/connect/connectCluster.js.map +1 -1
- package/dist/esm/tools/atlas/create/createAccessList.js +1 -1
- package/dist/esm/tools/atlas/create/createAccessList.js.map +1 -1
- package/dist/esm/tools/atlas/create/createProject.d.ts +0 -4
- package/dist/esm/tools/atlas/create/createProject.d.ts.map +1 -1
- package/dist/esm/tools/atlas/create/createProject.js +4 -7
- package/dist/esm/tools/atlas/create/createProject.js.map +1 -1
- package/dist/esm/tools/atlas/read/getPerformanceAdvisor.d.ts +4 -1
- package/dist/esm/tools/atlas/read/getPerformanceAdvisor.d.ts.map +1 -1
- package/dist/esm/tools/atlas/read/getPerformanceAdvisor.js +7 -1
- package/dist/esm/tools/atlas/read/getPerformanceAdvisor.js.map +1 -1
- package/dist/esm/tools/atlas/read/inspectAccessList.d.ts.map +1 -1
- package/dist/esm/tools/atlas/read/inspectAccessList.js +7 -8
- package/dist/esm/tools/atlas/read/inspectAccessList.js.map +1 -1
- package/dist/esm/tools/atlas/read/inspectCluster.d.ts.map +1 -1
- package/dist/esm/tools/atlas/read/inspectCluster.js +9 -3
- package/dist/esm/tools/atlas/read/inspectCluster.js.map +1 -1
- package/dist/esm/tools/atlas/read/listAlerts.d.ts.map +1 -1
- package/dist/esm/tools/atlas/read/listAlerts.js +9 -13
- package/dist/esm/tools/atlas/read/listAlerts.js.map +1 -1
- package/dist/esm/tools/atlas/read/listClusters.d.ts.map +1 -1
- package/dist/esm/tools/atlas/read/listClusters.js +9 -25
- package/dist/esm/tools/atlas/read/listClusters.js.map +1 -1
- package/dist/esm/tools/atlas/read/listDBUsers.d.ts.map +1 -1
- package/dist/esm/tools/atlas/read/listDBUsers.js +13 -23
- package/dist/esm/tools/atlas/read/listDBUsers.js.map +1 -1
- package/dist/esm/tools/atlas/read/listOrgs.d.ts.map +1 -1
- package/dist/esm/tools/atlas/read/listOrgs.js +6 -11
- package/dist/esm/tools/atlas/read/listOrgs.js.map +1 -1
- package/dist/esm/tools/atlas/read/listProjects.d.ts +0 -3
- package/dist/esm/tools/atlas/read/listProjects.d.ts.map +1 -1
- package/dist/esm/tools/atlas/read/listProjects.js +17 -22
- package/dist/esm/tools/atlas/read/listProjects.js.map +1 -1
- package/dist/esm/tools/atlasLocal/atlasLocalTool.d.ts +20 -0
- package/dist/esm/tools/atlasLocal/atlasLocalTool.d.ts.map +1 -0
- package/dist/esm/tools/atlasLocal/atlasLocalTool.js +105 -0
- package/dist/esm/tools/atlasLocal/atlasLocalTool.js.map +1 -0
- package/dist/esm/tools/atlasLocal/connect/connectDeployment.d.ts +16 -0
- package/dist/esm/tools/atlasLocal/connect/connectDeployment.d.ts.map +1 -0
- package/dist/esm/tools/atlasLocal/connect/connectDeployment.js +34 -0
- package/dist/esm/tools/atlasLocal/connect/connectDeployment.js.map +1 -0
- package/dist/esm/tools/atlasLocal/create/createDeployment.d.ts +14 -0
- package/dist/esm/tools/atlasLocal/create/createDeployment.d.ts.map +1 -0
- package/dist/esm/tools/atlasLocal/create/createDeployment.js +37 -0
- package/dist/esm/tools/atlasLocal/create/createDeployment.js.map +1 -0
- package/dist/esm/tools/atlasLocal/delete/deleteDeployment.d.ts +14 -0
- package/dist/esm/tools/atlasLocal/delete/deleteDeployment.d.ts.map +1 -0
- package/dist/esm/tools/atlasLocal/delete/deleteDeployment.js +28 -0
- package/dist/esm/tools/atlasLocal/delete/deleteDeployment.js.map +1 -0
- package/dist/esm/tools/atlasLocal/read/listDeployments.d.ts +13 -0
- package/dist/esm/tools/atlasLocal/read/listDeployments.d.ts.map +1 -0
- package/dist/esm/tools/atlasLocal/read/listDeployments.js +38 -0
- package/dist/esm/tools/atlasLocal/read/listDeployments.js.map +1 -0
- package/dist/esm/tools/atlasLocal/tools.d.ts +6 -0
- package/dist/esm/tools/atlasLocal/tools.d.ts.map +1 -0
- package/dist/esm/tools/atlasLocal/tools.js +6 -0
- package/dist/esm/tools/atlasLocal/tools.js.map +1 -0
- package/dist/esm/tools/index.d.ts +7 -0
- package/dist/esm/tools/index.d.ts.map +1 -0
- package/dist/esm/tools/index.js +7 -0
- package/dist/esm/tools/index.js.map +1 -0
- package/dist/esm/tools/mongodb/connect/connect.d.ts +4 -10
- package/dist/esm/tools/mongodb/connect/connect.d.ts.map +1 -1
- package/dist/esm/tools/mongodb/connect/connect.js +17 -67
- package/dist/esm/tools/mongodb/connect/connect.js.map +1 -1
- package/dist/esm/tools/mongodb/connect/switchConnection.d.ts +17 -0
- package/dist/esm/tools/mongodb/connect/switchConnection.d.ts.map +1 -0
- package/dist/esm/tools/mongodb/connect/switchConnection.js +45 -0
- package/dist/esm/tools/mongodb/connect/switchConnection.js.map +1 -0
- package/dist/esm/tools/mongodb/create/createIndex.d.ts +1 -1
- package/dist/esm/tools/mongodb/create/createIndex.d.ts.map +1 -1
- package/dist/esm/tools/mongodb/create/createIndex.js +9 -22
- package/dist/esm/tools/mongodb/create/createIndex.js.map +1 -1
- package/dist/esm/tools/mongodb/create/insertMany.d.ts +22 -2
- package/dist/esm/tools/mongodb/create/insertMany.d.ts.map +1 -1
- package/dist/esm/tools/mongodb/create/insertMany.js +88 -12
- package/dist/esm/tools/mongodb/create/insertMany.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 +36 -3
- package/dist/esm/tools/mongodb/delete/dropIndex.js.map +1 -1
- package/dist/esm/tools/mongodb/metadata/collectionIndexes.d.ts +15 -0
- package/dist/esm/tools/mongodb/metadata/collectionIndexes.d.ts.map +1 -1
- package/dist/esm/tools/mongodb/metadata/collectionIndexes.js +30 -5
- package/dist/esm/tools/mongodb/metadata/collectionIndexes.js.map +1 -1
- package/dist/esm/tools/mongodb/metadata/collectionSchema.js +1 -1
- package/dist/esm/tools/mongodb/metadata/explain.d.ts +192 -10
- package/dist/esm/tools/mongodb/metadata/explain.d.ts.map +1 -1
- package/dist/esm/tools/mongodb/metadata/explain.js +2 -2
- package/dist/esm/tools/mongodb/metadata/explain.js.map +1 -1
- package/dist/esm/tools/mongodb/metadata/listDatabases.d.ts.map +1 -1
- package/dist/esm/tools/mongodb/metadata/listDatabases.js +1 -3
- package/dist/esm/tools/mongodb/metadata/listDatabases.js.map +1 -1
- package/dist/esm/tools/mongodb/mongodbSchemas.d.ts +155 -0
- package/dist/esm/tools/mongodb/mongodbSchemas.d.ts.map +1 -0
- package/dist/esm/tools/mongodb/mongodbSchemas.js +63 -0
- package/dist/esm/tools/mongodb/mongodbSchemas.js.map +1 -0
- package/dist/esm/tools/mongodb/mongodbTool.d.ts +14 -3
- package/dist/esm/tools/mongodb/mongodbTool.d.ts.map +1 -1
- package/dist/esm/tools/mongodb/mongodbTool.js +31 -11
- package/dist/esm/tools/mongodb/mongodbTool.js.map +1 -1
- package/dist/esm/tools/mongodb/read/aggregate.d.ts +218 -4
- package/dist/esm/tools/mongodb/read/aggregate.d.ts.map +1 -1
- package/dist/esm/tools/mongodb/read/aggregate.js +123 -17
- package/dist/esm/tools/mongodb/read/aggregate.js.map +1 -1
- package/dist/esm/tools/mongodb/read/export.d.ts +192 -10
- package/dist/esm/tools/mongodb/read/export.d.ts.map +1 -1
- package/dist/esm/tools/mongodb/read/export.js +4 -2
- package/dist/esm/tools/mongodb/read/export.js.map +1 -1
- package/dist/esm/tools/mongodb/read/find.js +2 -2
- package/dist/esm/tools/mongodb/read/find.js.map +1 -1
- package/dist/esm/tools/mongodb/tools.d.ts +2 -2
- package/dist/esm/tools/mongodb/tools.d.ts.map +1 -1
- package/dist/esm/tools/mongodb/tools.js +2 -2
- package/dist/esm/tools/mongodb/tools.js.map +1 -1
- package/dist/esm/tools/tool.d.ts +14 -24
- package/dist/esm/tools/tool.d.ts.map +1 -1
- package/dist/esm/tools/tool.js +44 -54
- package/dist/esm/tools/tool.js.map +1 -1
- package/dist/esm/transports/base.d.ts +25 -3
- package/dist/esm/transports/base.d.ts.map +1 -1
- package/dist/esm/transports/base.js +41 -10
- package/dist/esm/transports/base.js.map +1 -1
- package/dist/esm/transports/dryModeRunner.d.ts +19 -0
- package/dist/esm/transports/dryModeRunner.d.ts.map +1 -0
- package/dist/esm/transports/dryModeRunner.js +33 -0
- package/dist/esm/transports/dryModeRunner.js.map +1 -0
- package/dist/esm/transports/inMemoryTransport.d.ts +18 -0
- package/dist/esm/transports/inMemoryTransport.d.ts.map +1 -0
- package/dist/esm/transports/inMemoryTransport.js +39 -0
- package/dist/esm/transports/inMemoryTransport.js.map +1 -0
- package/dist/esm/transports/streamableHttp.d.ts.map +1 -1
- package/dist/esm/transports/streamableHttp.js +5 -1
- package/dist/esm/transports/streamableHttp.js.map +1 -1
- package/package.json +60 -39
- package/dist/cjs/common/config.d.ts +0 -53
- package/dist/cjs/common/config.d.ts.map +0 -1
- package/dist/cjs/common/config.js +0 -401
- package/dist/cjs/common/config.js.map +0 -1
- package/dist/cjs/tools/mongodb/search/listSearchIndexes.d.ts +0 -30
- package/dist/cjs/tools/mongodb/search/listSearchIndexes.d.ts.map +0 -1
- package/dist/cjs/tools/mongodb/search/listSearchIndexes.js +0 -65
- package/dist/cjs/tools/mongodb/search/listSearchIndexes.js.map +0 -1
- package/dist/esm/common/config.d.ts +0 -53
- package/dist/esm/common/config.d.ts.map +0 -1
- package/dist/esm/common/config.js +0 -390
- package/dist/esm/common/config.js.map +0 -1
- package/dist/esm/tools/mongodb/search/listSearchIndexes.d.ts +0 -30
- package/dist/esm/tools/mongodb/search/listSearchIndexes.d.ts.map +0 -1
- package/dist/esm/tools/mongodb/search/listSearchIndexes.js +0 -61
- package/dist/esm/tools/mongodb/search/listSearchIndexes.js.map +0 -1
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
export type CustomOverrideLogic = (oldValue: unknown, newValue: unknown) => unknown;
|
|
2
|
+
/**
|
|
3
|
+
* Defines how a config field can be overridden via HTTP headers or query parameters.
|
|
4
|
+
*/
|
|
5
|
+
export type OverrideBehavior = "not-allowed" | "override" | "merge" | CustomOverrideLogic;
|
|
6
|
+
/**
|
|
7
|
+
* Metadata for config schema fields.
|
|
8
|
+
*/
|
|
9
|
+
export type ConfigFieldMeta = {
|
|
10
|
+
/**
|
|
11
|
+
* Custom description for the default value, used when generating documentation.
|
|
12
|
+
*/
|
|
13
|
+
defaultValueDescription?: string;
|
|
14
|
+
/**
|
|
15
|
+
* Marks the field as containing sensitive/secret information, used for MCP Registry.
|
|
16
|
+
* Secret fields will be marked as secret in environment variable definitions.
|
|
17
|
+
*/
|
|
18
|
+
isSecret?: boolean;
|
|
19
|
+
/**
|
|
20
|
+
* Defines how this config field can be overridden via HTTP headers or query parameters.
|
|
21
|
+
* Defaults to "not-allowed" for security.
|
|
22
|
+
*/
|
|
23
|
+
overrideBehavior?: OverrideBehavior;
|
|
24
|
+
[key: string]: unknown;
|
|
25
|
+
};
|
|
26
|
+
export declare function matchingConfigKey(key: string): string | undefined;
|
|
27
|
+
export declare function isConnectionSpecifier(arg: string | undefined): boolean;
|
|
28
|
+
export declare function getLocalDataPath(): string;
|
|
29
|
+
export declare function getLogPath(): string;
|
|
30
|
+
export declare function getExportsPath(): string;
|
|
31
|
+
export declare function commaSeparatedToArray<T extends string[]>(str: string | string[] | undefined): T | undefined;
|
|
32
|
+
/**
|
|
33
|
+
* Preprocessor for boolean values that handles string "false"/"0" correctly.
|
|
34
|
+
* Zod's coerce.boolean() treats any non-empty string as true, which is not what we want.
|
|
35
|
+
*/
|
|
36
|
+
export declare function parseBoolean(val: unknown): unknown;
|
|
37
|
+
/** Allow overriding only to the allowed value */
|
|
38
|
+
export declare function oneWayOverride<T>(allowedValue: T): CustomOverrideLogic;
|
|
39
|
+
/** Allow overriding only to a value lower than the specified value */
|
|
40
|
+
export declare function onlyLowerThanBaseValueOverride(): CustomOverrideLogic;
|
|
41
|
+
/** Allow overriding only to a subset of an array but not a superset */
|
|
42
|
+
export declare function onlySubsetOfBaseValueOverride(): CustomOverrideLogic;
|
|
43
|
+
//# sourceMappingURL=configUtils.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"configUtils.d.ts","sourceRoot":"","sources":["../../../../src/common/config/configUtils.ts"],"names":[],"mappings":"AASA,MAAM,MAAM,mBAAmB,GAAG,CAAC,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,OAAO,KAAK,OAAO,CAAC;AAEpF;;GAEG;AACH,MAAM,MAAM,gBAAgB,GAEtB,aAAa,GAEb,UAAU,GAEV,OAAO,GACP,mBAAmB,CAAC;AAE1B;;GAEG;AACH,MAAM,MAAM,eAAe,GAAG;IAC1B;;OAEG;IACH,uBAAuB,CAAC,EAAE,MAAM,CAAC;IACjC;;;OAGG;IACH,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB;;;OAGG;IACH,gBAAgB,CAAC,EAAE,gBAAgB,CAAC;IACpC,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;CAC1B,CAAC;AAEF,wBAAgB,iBAAiB,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAcjE;AAED,wBAAgB,qBAAqB,CAAC,GAAG,EAAE,MAAM,GAAG,SAAS,GAAG,OAAO,CAUtE;AAED,wBAAgB,gBAAgB,IAAI,MAAM,CAIzC;AAED,wBAAgB,UAAU,IAAI,MAAM,CAGnC;AAED,wBAAgB,cAAc,IAAI,MAAM,CAEvC;AAED,wBAAgB,qBAAqB,CAAC,CAAC,SAAS,MAAM,EAAE,EAAE,GAAG,EAAE,MAAM,GAAG,MAAM,EAAE,GAAG,SAAS,GAAG,CAAC,GAAG,SAAS,CAoB3G;AAED;;;GAGG;AACH,wBAAgB,YAAY,CAAC,GAAG,EAAE,OAAO,GAAG,OAAO,CAoBlD;AAED,iDAAiD;AACjD,wBAAgB,cAAc,CAAC,CAAC,EAAE,YAAY,EAAE,CAAC,GAAG,mBAAmB,CAWtE;AAED,sEAAsE;AACtE,wBAAgB,8BAA8B,IAAI,mBAAmB,CAapE;AAED,uEAAuE;AACvE,wBAAgB,6BAA6B,IAAI,mBAAmB,CAgBnE"}
|
|
@@ -0,0 +1,178 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
14
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
15
|
+
}) : function(o, v) {
|
|
16
|
+
o["default"] = v;
|
|
17
|
+
});
|
|
18
|
+
var __importStar = (this && this.__importStar) || (function () {
|
|
19
|
+
var ownKeys = function(o) {
|
|
20
|
+
ownKeys = Object.getOwnPropertyNames || function (o) {
|
|
21
|
+
var ar = [];
|
|
22
|
+
for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
|
|
23
|
+
return ar;
|
|
24
|
+
};
|
|
25
|
+
return ownKeys(o);
|
|
26
|
+
};
|
|
27
|
+
return function (mod) {
|
|
28
|
+
if (mod && mod.__esModule) return mod;
|
|
29
|
+
var result = {};
|
|
30
|
+
if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
|
|
31
|
+
__setModuleDefault(result, mod);
|
|
32
|
+
return result;
|
|
33
|
+
};
|
|
34
|
+
})();
|
|
35
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
36
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
37
|
+
};
|
|
38
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
39
|
+
exports.matchingConfigKey = matchingConfigKey;
|
|
40
|
+
exports.isConnectionSpecifier = isConnectionSpecifier;
|
|
41
|
+
exports.getLocalDataPath = getLocalDataPath;
|
|
42
|
+
exports.getLogPath = getLogPath;
|
|
43
|
+
exports.getExportsPath = getExportsPath;
|
|
44
|
+
exports.commaSeparatedToArray = commaSeparatedToArray;
|
|
45
|
+
exports.parseBoolean = parseBoolean;
|
|
46
|
+
exports.oneWayOverride = oneWayOverride;
|
|
47
|
+
exports.onlyLowerThanBaseValueOverride = onlyLowerThanBaseValueOverride;
|
|
48
|
+
exports.onlySubsetOfBaseValueOverride = onlySubsetOfBaseValueOverride;
|
|
49
|
+
const path_1 = __importDefault(require("path"));
|
|
50
|
+
const os_1 = __importDefault(require("os"));
|
|
51
|
+
const argsParserOptions_js_1 = require("./argsParserOptions.js");
|
|
52
|
+
const levenshteinModule = __importStar(require("ts-levenshtein"));
|
|
53
|
+
const levenshtein = levenshteinModule.default;
|
|
54
|
+
function matchingConfigKey(key) {
|
|
55
|
+
let minLev = Number.MAX_VALUE;
|
|
56
|
+
let suggestion = undefined;
|
|
57
|
+
for (const validKey of argsParserOptions_js_1.ALL_CONFIG_KEYS) {
|
|
58
|
+
const lev = levenshtein.get(key, validKey);
|
|
59
|
+
// Accepting upto 2 typos and should be better than whatever previous
|
|
60
|
+
// suggestion was.
|
|
61
|
+
if (lev <= 2 && lev < minLev) {
|
|
62
|
+
minLev = lev;
|
|
63
|
+
suggestion = validKey;
|
|
64
|
+
}
|
|
65
|
+
}
|
|
66
|
+
return suggestion;
|
|
67
|
+
}
|
|
68
|
+
function isConnectionSpecifier(arg) {
|
|
69
|
+
return (arg !== undefined &&
|
|
70
|
+
(arg.startsWith("mongodb://") ||
|
|
71
|
+
arg.startsWith("mongodb+srv://") ||
|
|
72
|
+
// Strings starting with double hyphens `--` are generally a sign of
|
|
73
|
+
// CLI flag so we exclude them from the possibility of being a
|
|
74
|
+
// connection specifier.
|
|
75
|
+
!(arg.endsWith(".js") || arg.endsWith(".mongodb") || arg.startsWith("--"))));
|
|
76
|
+
}
|
|
77
|
+
function getLocalDataPath() {
|
|
78
|
+
return process.platform === "win32"
|
|
79
|
+
? path_1.default.join(process.env.LOCALAPPDATA || process.env.APPDATA || os_1.default.homedir(), "mongodb")
|
|
80
|
+
: path_1.default.join(os_1.default.homedir(), ".mongodb");
|
|
81
|
+
}
|
|
82
|
+
function getLogPath() {
|
|
83
|
+
const logPath = path_1.default.join(getLocalDataPath(), "mongodb-mcp", ".app-logs");
|
|
84
|
+
return logPath;
|
|
85
|
+
}
|
|
86
|
+
function getExportsPath() {
|
|
87
|
+
return path_1.default.join(getLocalDataPath(), "mongodb-mcp", "exports");
|
|
88
|
+
}
|
|
89
|
+
function commaSeparatedToArray(str) {
|
|
90
|
+
if (str === undefined) {
|
|
91
|
+
return undefined;
|
|
92
|
+
}
|
|
93
|
+
if (typeof str === "string") {
|
|
94
|
+
return str
|
|
95
|
+
.split(",")
|
|
96
|
+
.map((e) => e.trim())
|
|
97
|
+
.filter((e) => e.length > 0);
|
|
98
|
+
}
|
|
99
|
+
if (str.length === 1) {
|
|
100
|
+
return str[0]
|
|
101
|
+
?.split(",")
|
|
102
|
+
.map((e) => e.trim())
|
|
103
|
+
.filter((e) => e.length > 0);
|
|
104
|
+
}
|
|
105
|
+
return str;
|
|
106
|
+
}
|
|
107
|
+
/**
|
|
108
|
+
* Preprocessor for boolean values that handles string "false"/"0" correctly.
|
|
109
|
+
* Zod's coerce.boolean() treats any non-empty string as true, which is not what we want.
|
|
110
|
+
*/
|
|
111
|
+
function parseBoolean(val) {
|
|
112
|
+
if (val === undefined) {
|
|
113
|
+
return undefined;
|
|
114
|
+
}
|
|
115
|
+
if (typeof val === "string") {
|
|
116
|
+
if (val === "false") {
|
|
117
|
+
return false;
|
|
118
|
+
}
|
|
119
|
+
if (val === "true") {
|
|
120
|
+
return true;
|
|
121
|
+
}
|
|
122
|
+
throw new Error(`Invalid boolean value: ${val}`);
|
|
123
|
+
}
|
|
124
|
+
if (typeof val === "boolean") {
|
|
125
|
+
return val;
|
|
126
|
+
}
|
|
127
|
+
if (typeof val === "number") {
|
|
128
|
+
return val !== 0;
|
|
129
|
+
}
|
|
130
|
+
return !!val;
|
|
131
|
+
}
|
|
132
|
+
/** Allow overriding only to the allowed value */
|
|
133
|
+
function oneWayOverride(allowedValue) {
|
|
134
|
+
return (oldValue, newValue) => {
|
|
135
|
+
// Only allow override if setting to allowed value or current value
|
|
136
|
+
if (newValue === oldValue) {
|
|
137
|
+
return newValue;
|
|
138
|
+
}
|
|
139
|
+
if (newValue === allowedValue) {
|
|
140
|
+
return newValue;
|
|
141
|
+
}
|
|
142
|
+
throw new Error(`Can only set to ${String(allowedValue)}`);
|
|
143
|
+
};
|
|
144
|
+
}
|
|
145
|
+
/** Allow overriding only to a value lower than the specified value */
|
|
146
|
+
function onlyLowerThanBaseValueOverride() {
|
|
147
|
+
return (oldValue, newValue) => {
|
|
148
|
+
if (typeof oldValue !== "number") {
|
|
149
|
+
throw new Error(`Unsupported type for base value for override: ${typeof oldValue}`);
|
|
150
|
+
}
|
|
151
|
+
if (typeof newValue !== "number") {
|
|
152
|
+
throw new Error(`Unsupported type for new value for override: ${typeof newValue}`);
|
|
153
|
+
}
|
|
154
|
+
if (newValue >= oldValue) {
|
|
155
|
+
throw new Error(`Can only set to a value lower than the base value`);
|
|
156
|
+
}
|
|
157
|
+
return newValue;
|
|
158
|
+
};
|
|
159
|
+
}
|
|
160
|
+
/** Allow overriding only to a subset of an array but not a superset */
|
|
161
|
+
function onlySubsetOfBaseValueOverride() {
|
|
162
|
+
return (oldValue, newValue) => {
|
|
163
|
+
if (!Array.isArray(oldValue)) {
|
|
164
|
+
throw new Error(`Unsupported type for base value for override: ${typeof oldValue}`);
|
|
165
|
+
}
|
|
166
|
+
if (!Array.isArray(newValue)) {
|
|
167
|
+
throw new Error(`Unsupported type for new value for override: ${typeof newValue}`);
|
|
168
|
+
}
|
|
169
|
+
if (newValue.length > oldValue.length) {
|
|
170
|
+
throw new Error(`Can only override to a subset of the base value`);
|
|
171
|
+
}
|
|
172
|
+
if (!newValue.every((value) => oldValue.includes(value))) {
|
|
173
|
+
throw new Error(`Can only override to a subset of the base value`);
|
|
174
|
+
}
|
|
175
|
+
return newValue;
|
|
176
|
+
};
|
|
177
|
+
}
|
|
178
|
+
//# sourceMappingURL=configUtils.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"configUtils.js","sourceRoot":"","sources":["../../../../src/common/config/configUtils.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { type UserConfig } from "./userConfig.js";
|
|
2
|
+
export type CreateUserConfigHelpers = {
|
|
3
|
+
onWarning: (message: string) => void;
|
|
4
|
+
onError: (message: string) => void;
|
|
5
|
+
closeProcess: (exitCode: number) => never;
|
|
6
|
+
cliArguments: string[];
|
|
7
|
+
};
|
|
8
|
+
export declare const defaultUserConfigHelpers: CreateUserConfigHelpers;
|
|
9
|
+
export declare function createUserConfig({ onWarning, onError, closeProcess, cliArguments, }?: Partial<CreateUserConfigHelpers>): UserConfig;
|
|
10
|
+
//# sourceMappingURL=createUserConfig.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"createUserConfig.d.ts","sourceRoot":"","sources":["../../../../src/common/config/createUserConfig.ts"],"names":[],"mappings":"AAMA,OAAO,EAAoB,KAAK,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAEpE,MAAM,MAAM,uBAAuB,GAAG;IAClC,SAAS,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,CAAC;IACrC,OAAO,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,CAAC;IACnC,YAAY,EAAE,CAAC,QAAQ,EAAE,MAAM,KAAK,KAAK,CAAC;IAC1C,YAAY,EAAE,MAAM,EAAE,CAAC;CAC1B,CAAC;AAEF,eAAO,MAAM,wBAAwB,EAAE,uBAWtC,CAAC;AAEF,wBAAgB,gBAAgB,CAAC,EAC7B,SAA8C,EAC9C,OAA0C,EAC1C,YAAoD,EACpD,YAAoD,GACvD,GAAE,OAAO,CAAC,uBAAuB,CAA4B,GAAG,UAAU,CA4C1E"}
|
|
@@ -0,0 +1,156 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
exports.defaultUserConfigHelpers = void 0;
|
|
7
|
+
exports.createUserConfig = createUserConfig;
|
|
8
|
+
const yargs_parser_1 = __importDefault(require("yargs-parser"));
|
|
9
|
+
const arg_parser_1 = require("@mongosh/arg-parser");
|
|
10
|
+
const keychain_js_1 = require("../keychain.js");
|
|
11
|
+
const configUtils_js_1 = require("./configUtils.js");
|
|
12
|
+
const argsParserOptions_js_1 = require("./argsParserOptions.js");
|
|
13
|
+
const userConfig_js_1 = require("./userConfig.js");
|
|
14
|
+
exports.defaultUserConfigHelpers = {
|
|
15
|
+
onWarning(message) {
|
|
16
|
+
console.warn(message);
|
|
17
|
+
},
|
|
18
|
+
onError(message) {
|
|
19
|
+
console.error(message);
|
|
20
|
+
},
|
|
21
|
+
closeProcess(exitCode) {
|
|
22
|
+
process.exit(exitCode);
|
|
23
|
+
},
|
|
24
|
+
cliArguments: process.argv.slice(2),
|
|
25
|
+
};
|
|
26
|
+
function createUserConfig({ onWarning = exports.defaultUserConfigHelpers.onWarning, onError = exports.defaultUserConfigHelpers.onError, closeProcess = exports.defaultUserConfigHelpers.closeProcess, cliArguments = exports.defaultUserConfigHelpers.cliArguments, } = exports.defaultUserConfigHelpers) {
|
|
27
|
+
const { unknownCliArgumentErrors, deprecatedCliArgumentWarning, userAndArgsParserConfig, connectionSpecifier } = parseUserConfigSources(cliArguments);
|
|
28
|
+
if (unknownCliArgumentErrors.length) {
|
|
29
|
+
const errorMessage = `
|
|
30
|
+
${unknownCliArgumentErrors.join("\n")}
|
|
31
|
+
- Refer to https://www.mongodb.com/docs/mcp-server/get-started/ for setting up the MCP Server.
|
|
32
|
+
`;
|
|
33
|
+
onError(errorMessage);
|
|
34
|
+
return closeProcess(1);
|
|
35
|
+
}
|
|
36
|
+
if (deprecatedCliArgumentWarning) {
|
|
37
|
+
const deprecatedMessages = `
|
|
38
|
+
${deprecatedCliArgumentWarning}
|
|
39
|
+
- Refer to https://www.mongodb.com/docs/mcp-server/get-started/ for setting up the MCP Server.
|
|
40
|
+
`;
|
|
41
|
+
onWarning(deprecatedMessages);
|
|
42
|
+
}
|
|
43
|
+
// If we have a connectionSpecifier, which can only appear as the positional
|
|
44
|
+
// argument, then that has to be used on priority to construct the
|
|
45
|
+
// connection string. In this case, if there is a connection string provided
|
|
46
|
+
// by the env variable or config file, that will be overridden.
|
|
47
|
+
if (connectionSpecifier) {
|
|
48
|
+
const connectionInfo = (0, arg_parser_1.generateConnectionInfoFromCliArgs)({ ...userAndArgsParserConfig, connectionSpecifier });
|
|
49
|
+
userAndArgsParserConfig.connectionString = connectionInfo.connectionString;
|
|
50
|
+
}
|
|
51
|
+
const configParseResult = userConfig_js_1.UserConfigSchema.safeParse(userAndArgsParserConfig);
|
|
52
|
+
if (configParseResult.error) {
|
|
53
|
+
onError(`Invalid configuration for the following fields:\n${configParseResult.error.issues.map((issue) => `${issue.path.join(".")} - ${issue.message}`).join("\n")}`);
|
|
54
|
+
return closeProcess(1);
|
|
55
|
+
}
|
|
56
|
+
// TODO: Separate correctly parsed user config from all other valid
|
|
57
|
+
// arguments relevant to mongosh's args-parser.
|
|
58
|
+
const userConfig = { ...userAndArgsParserConfig, ...configParseResult.data };
|
|
59
|
+
warnIfVectorSearchNotEnabledCorrectly(userConfig, onWarning);
|
|
60
|
+
registerKnownSecretsInRootKeychain(userConfig);
|
|
61
|
+
return userConfig;
|
|
62
|
+
}
|
|
63
|
+
function parseUserConfigSources(cliArguments) {
|
|
64
|
+
const { _: positionalAndUnknownArguments,
|
|
65
|
+
// We don't make use of end of flag arguments but also don't want them to
|
|
66
|
+
// end up alongside unknown arguments so we are extracting them and having a
|
|
67
|
+
// no-op statement so ESLint does not complain.
|
|
68
|
+
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
|
69
|
+
"--": _endOfFlagArguments, ...parsedUserAndArgsParserConfig } = (0, yargs_parser_1.default)(cliArguments, {
|
|
70
|
+
...argsParserOptions_js_1.OPTIONS,
|
|
71
|
+
// This helps parse the relevant environment variables.
|
|
72
|
+
envPrefix: "MDB_MCP_",
|
|
73
|
+
configuration: {
|
|
74
|
+
...argsParserOptions_js_1.OPTIONS.configuration,
|
|
75
|
+
// Setting this to true will populate `_` variable which is
|
|
76
|
+
// originally used for positional arguments, now with the unknown
|
|
77
|
+
// arguments as well. The order of arguments are maintained.
|
|
78
|
+
"unknown-options-as-args": true,
|
|
79
|
+
// To avoid populating `_` with end-of-flag arguments we explicitly
|
|
80
|
+
// populate `--` variable and altogether ignore them later.
|
|
81
|
+
"populate--": true,
|
|
82
|
+
},
|
|
83
|
+
});
|
|
84
|
+
// A connectionSpecifier can be one of:
|
|
85
|
+
// - database name
|
|
86
|
+
// - host name
|
|
87
|
+
// - ip address
|
|
88
|
+
// - replica set specifier
|
|
89
|
+
// - complete connection string
|
|
90
|
+
let connectionSpecifier = undefined;
|
|
91
|
+
const [maybeConnectionSpecifier, ...unknownArguments] = positionalAndUnknownArguments;
|
|
92
|
+
if (typeof maybeConnectionSpecifier === "string" && (0, configUtils_js_1.isConnectionSpecifier)(maybeConnectionSpecifier)) {
|
|
93
|
+
connectionSpecifier = maybeConnectionSpecifier;
|
|
94
|
+
}
|
|
95
|
+
else if (maybeConnectionSpecifier !== undefined) {
|
|
96
|
+
// If the extracted connection specifier is not a connection specifier
|
|
97
|
+
// indeed, then we push it back to the unknown arguments list. This might
|
|
98
|
+
// happen for example when an unknown argument is provided without ever
|
|
99
|
+
// specifying a positional argument.
|
|
100
|
+
unknownArguments.unshift(maybeConnectionSpecifier);
|
|
101
|
+
}
|
|
102
|
+
return {
|
|
103
|
+
unknownCliArgumentErrors: unknownArguments
|
|
104
|
+
.filter((argument) => typeof argument === "string" && argument.startsWith("--"))
|
|
105
|
+
.map((argument) => {
|
|
106
|
+
const argumentKey = argument.replace(/^(--)/, "");
|
|
107
|
+
const matchingKey = (0, configUtils_js_1.matchingConfigKey)(argumentKey);
|
|
108
|
+
if (matchingKey) {
|
|
109
|
+
return `Error: Invalid command line argument '${argument}'. Did you mean '--${matchingKey}'?`;
|
|
110
|
+
}
|
|
111
|
+
return `Error: Invalid command line argument '${argument}'.`;
|
|
112
|
+
}),
|
|
113
|
+
deprecatedCliArgumentWarning: cliArguments.find((argument) => argument.startsWith("--connectionString"))
|
|
114
|
+
? "Warning: The --connectionString argument is deprecated. Prefer using the MDB_MCP_CONNECTION_STRING environment variable or the first positional argument for the connection string."
|
|
115
|
+
: undefined,
|
|
116
|
+
userAndArgsParserConfig: parsedUserAndArgsParserConfig,
|
|
117
|
+
connectionSpecifier,
|
|
118
|
+
};
|
|
119
|
+
}
|
|
120
|
+
function registerKnownSecretsInRootKeychain(userConfig) {
|
|
121
|
+
const keychain = keychain_js_1.Keychain.root;
|
|
122
|
+
const maybeRegister = (value, kind) => {
|
|
123
|
+
if (value) {
|
|
124
|
+
keychain.register(value, kind);
|
|
125
|
+
}
|
|
126
|
+
};
|
|
127
|
+
maybeRegister(userConfig.apiClientId, "user");
|
|
128
|
+
maybeRegister(userConfig.apiClientSecret, "password");
|
|
129
|
+
maybeRegister(userConfig.awsAccessKeyId, "password");
|
|
130
|
+
maybeRegister(userConfig.awsIamSessionToken, "password");
|
|
131
|
+
maybeRegister(userConfig.awsSecretAccessKey, "password");
|
|
132
|
+
maybeRegister(userConfig.awsSessionToken, "password");
|
|
133
|
+
maybeRegister(userConfig.password, "password");
|
|
134
|
+
maybeRegister(userConfig.tlsCAFile, "url");
|
|
135
|
+
maybeRegister(userConfig.tlsCRLFile, "url");
|
|
136
|
+
maybeRegister(userConfig.tlsCertificateKeyFile, "url");
|
|
137
|
+
maybeRegister(userConfig.tlsCertificateKeyFilePassword, "password");
|
|
138
|
+
maybeRegister(userConfig.username, "user");
|
|
139
|
+
}
|
|
140
|
+
function warnIfVectorSearchNotEnabledCorrectly(config, warn) {
|
|
141
|
+
const searchEnabled = config.previewFeatures.includes("search");
|
|
142
|
+
const embeddingsProviderConfigured = !!config.voyageApiKey;
|
|
143
|
+
if (searchEnabled && !embeddingsProviderConfigured) {
|
|
144
|
+
warn(`\
|
|
145
|
+
Warning: Vector search is enabled but no embeddings provider is configured.
|
|
146
|
+
- Set an embeddings provider configuration option to enable auto-embeddings during document insertion and text-based queries with $vectorSearch.\
|
|
147
|
+
`);
|
|
148
|
+
}
|
|
149
|
+
if (!searchEnabled && embeddingsProviderConfigured) {
|
|
150
|
+
warn(`\
|
|
151
|
+
Warning: An embeddings provider is configured but the 'search' preview feature is not enabled.
|
|
152
|
+
- Enable vector search by adding 'search' to the 'previewFeatures' configuration option, or remove the embeddings provider configuration if not needed.\
|
|
153
|
+
`);
|
|
154
|
+
}
|
|
155
|
+
}
|
|
156
|
+
//# sourceMappingURL=createUserConfig.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"createUserConfig.js","sourceRoot":"","sources":["../../../../src/common/config/createUserConfig.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
import { z as z4 } from "zod/v4";
|
|
2
|
+
import { type CliOptions } from "@mongosh/arg-parser";
|
|
3
|
+
import { type ConfigFieldMeta } from "./configUtils.js";
|
|
4
|
+
export type UserConfig = z4.infer<typeof UserConfigSchema> & CliOptions;
|
|
5
|
+
export declare const configRegistry: z4.core.$ZodRegistry<ConfigFieldMeta, z4.core.$ZodType<unknown, unknown, z4.core.$ZodTypeInternals<unknown, unknown>>>;
|
|
6
|
+
export declare const UserConfigSchema: z4.ZodObject<{
|
|
7
|
+
apiBaseUrl: z4.ZodDefault<z4.ZodString>;
|
|
8
|
+
apiClientId: z4.ZodOptional<z4.ZodString>;
|
|
9
|
+
apiClientSecret: z4.ZodOptional<z4.ZodString>;
|
|
10
|
+
connectionString: z4.ZodOptional<z4.ZodString>;
|
|
11
|
+
loggers: z4.ZodDefault<z4.ZodPipe<z4.ZodTransform<string[] | undefined, string | string[] | undefined>, z4.ZodArray<z4.ZodEnum<{
|
|
12
|
+
disk: "disk";
|
|
13
|
+
mcp: "mcp";
|
|
14
|
+
stderr: "stderr";
|
|
15
|
+
}>>>>;
|
|
16
|
+
logPath: z4.ZodDefault<z4.ZodString>;
|
|
17
|
+
disabledTools: z4.ZodDefault<z4.ZodPipe<z4.ZodTransform<string[] | undefined, string | string[] | undefined>, z4.ZodArray<z4.ZodString>>>;
|
|
18
|
+
confirmationRequiredTools: z4.ZodDefault<z4.ZodPipe<z4.ZodTransform<string[] | undefined, string | string[] | undefined>, z4.ZodArray<z4.ZodString>>>;
|
|
19
|
+
readOnly: z4.ZodDefault<z4.ZodPipe<z4.ZodTransform<unknown, unknown>, z4.ZodBoolean>>;
|
|
20
|
+
indexCheck: z4.ZodDefault<z4.ZodPipe<z4.ZodTransform<unknown, unknown>, z4.ZodBoolean>>;
|
|
21
|
+
telemetry: z4.ZodDefault<z4.ZodEnum<{
|
|
22
|
+
enabled: "enabled";
|
|
23
|
+
disabled: "disabled";
|
|
24
|
+
}>>;
|
|
25
|
+
transport: z4.ZodDefault<z4.ZodEnum<{
|
|
26
|
+
stdio: "stdio";
|
|
27
|
+
http: "http";
|
|
28
|
+
}>>;
|
|
29
|
+
httpPort: z4.ZodDefault<z4.ZodCoercedNumber<unknown>>;
|
|
30
|
+
httpHost: z4.ZodDefault<z4.ZodString>;
|
|
31
|
+
httpHeaders: z4.ZodDefault<z4.ZodObject<{}, z4.core.$loose>>;
|
|
32
|
+
idleTimeoutMs: z4.ZodDefault<z4.ZodCoercedNumber<unknown>>;
|
|
33
|
+
notificationTimeoutMs: z4.ZodDefault<z4.ZodCoercedNumber<unknown>>;
|
|
34
|
+
maxBytesPerQuery: z4.ZodDefault<z4.ZodCoercedNumber<unknown>>;
|
|
35
|
+
maxDocumentsPerQuery: z4.ZodDefault<z4.ZodCoercedNumber<unknown>>;
|
|
36
|
+
exportsPath: z4.ZodDefault<z4.ZodString>;
|
|
37
|
+
exportTimeoutMs: z4.ZodDefault<z4.ZodCoercedNumber<unknown>>;
|
|
38
|
+
exportCleanupIntervalMs: z4.ZodDefault<z4.ZodCoercedNumber<unknown>>;
|
|
39
|
+
atlasTemporaryDatabaseUserLifetimeMs: z4.ZodDefault<z4.ZodCoercedNumber<unknown>>;
|
|
40
|
+
voyageApiKey: z4.ZodDefault<z4.ZodString>;
|
|
41
|
+
embeddingsValidation: z4.ZodDefault<z4.ZodPipe<z4.ZodTransform<unknown, unknown>, z4.ZodBoolean>>;
|
|
42
|
+
vectorSearchDimensions: z4.ZodDefault<z4.ZodCoercedNumber<unknown>>;
|
|
43
|
+
vectorSearchSimilarityFunction: z4.ZodDefault<z4.ZodEnum<{
|
|
44
|
+
cosine: "cosine";
|
|
45
|
+
euclidean: "euclidean";
|
|
46
|
+
dotProduct: "dotProduct";
|
|
47
|
+
}>>;
|
|
48
|
+
previewFeatures: z4.ZodDefault<z4.ZodPipe<z4.ZodTransform<string[] | undefined, string | string[] | undefined>, z4.ZodArray<z4.ZodEnum<{
|
|
49
|
+
search: "search";
|
|
50
|
+
}>>>>;
|
|
51
|
+
allowRequestOverrides: z4.ZodDefault<z4.ZodPipe<z4.ZodTransform<unknown, unknown>, z4.ZodBoolean>>;
|
|
52
|
+
dryRun: z4.ZodDefault<z4.ZodBoolean>;
|
|
53
|
+
}, z4.core.$strip>;
|
|
54
|
+
//# sourceMappingURL=userConfig.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"userConfig.d.ts","sourceRoot":"","sources":["../../../../src/common/config/userConfig.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,IAAI,EAAE,EAAE,MAAM,QAAQ,CAAC;AACjC,OAAO,EAAE,KAAK,UAAU,EAAE,MAAM,qBAAqB,CAAC;AACtD,OAAO,EACH,KAAK,eAAe,EAQvB,MAAM,kBAAkB,CAAC;AAM1B,MAAM,MAAM,UAAU,GAAG,EAAE,CAAC,KAAK,CAAC,OAAO,gBAAgB,CAAC,GAAG,UAAU,CAAC;AAExE,eAAO,MAAM,cAAc,wHAAiC,CAAC;AAE7D,eAAO,MAAM,gBAAgB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;kBA0M3B,CAAC"}
|