@himanshusinghs/mongodb-mcp-server 1.5.1 → 1.7.0
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 +67 -56
- package/dist/cjs/common/atlas/apiClient.d.ts +3 -1
- package/dist/cjs/common/atlas/apiClient.d.ts.map +1 -1
- package/dist/cjs/common/atlas/apiClient.js +3 -3
- package/dist/cjs/common/atlas/apiClient.js.map +1 -1
- package/dist/cjs/common/config/configOverrides.d.ts +3 -3
- package/dist/cjs/common/config/configOverrides.d.ts.map +1 -1
- package/dist/cjs/common/config/configOverrides.js.map +1 -1
- package/dist/cjs/common/config/parseUserConfig.js +3 -2
- package/dist/cjs/common/config/parseUserConfig.js.map +1 -1
- package/dist/cjs/common/config/userConfig.d.ts +3 -0
- package/dist/cjs/common/config/userConfig.d.ts.map +1 -1
- package/dist/cjs/common/config/userConfig.js +18 -0
- package/dist/cjs/common/config/userConfig.js.map +1 -1
- package/dist/cjs/common/connectionErrorHandler.d.ts +3 -3
- package/dist/cjs/common/connectionErrorHandler.d.ts.map +1 -1
- package/dist/cjs/common/connectionManager.d.ts +1 -1
- package/dist/cjs/common/connectionManager.d.ts.map +1 -1
- package/dist/cjs/common/connectionManager.js +3 -3
- package/dist/cjs/common/connectionManager.js.map +1 -1
- package/dist/cjs/common/logger.d.ts +8 -3
- package/dist/cjs/common/logger.d.ts.map +1 -1
- package/dist/cjs/common/logger.js +5 -0
- package/dist/cjs/common/logger.js.map +1 -1
- package/dist/cjs/common/packageInfo.js +1 -1
- package/dist/cjs/common/session.d.ts +6 -3
- package/dist/cjs/common/session.d.ts.map +1 -1
- package/dist/cjs/common/session.js +2 -12
- package/dist/cjs/common/session.js.map +1 -1
- package/dist/cjs/lib.d.ts +12 -4
- package/dist/cjs/lib.d.ts.map +1 -1
- package/dist/cjs/lib.js +16 -7
- package/dist/cjs/lib.js.map +1 -1
- package/dist/cjs/resources/resource.d.ts +3 -3
- package/dist/cjs/resources/resource.d.ts.map +1 -1
- package/dist/cjs/resources/resource.js.map +1 -1
- package/dist/cjs/server.d.ts +67 -32
- package/dist/cjs/server.d.ts.map +1 -1
- package/dist/cjs/server.js +4 -1
- package/dist/cjs/server.js.map +1 -1
- package/dist/cjs/tools/assistant/assistantTool.d.ts +17 -0
- package/dist/cjs/tools/assistant/assistantTool.d.ts.map +1 -0
- package/dist/cjs/tools/assistant/assistantTool.js +44 -0
- package/dist/cjs/tools/assistant/assistantTool.js.map +1 -0
- package/dist/cjs/tools/assistant/listKnowledgeSources.d.ts +29 -0
- package/dist/cjs/tools/assistant/listKnowledgeSources.d.ts.map +1 -0
- package/dist/cjs/tools/assistant/listKnowledgeSources.js +51 -0
- package/dist/cjs/tools/assistant/listKnowledgeSources.js.map +1 -0
- package/dist/cjs/tools/assistant/searchKnowledge.d.ts +59 -0
- package/dist/cjs/tools/assistant/searchKnowledge.d.ts.map +1 -0
- package/dist/cjs/tools/assistant/searchKnowledge.js +65 -0
- package/dist/cjs/tools/assistant/searchKnowledge.js.map +1 -0
- package/dist/cjs/tools/assistant/tools.d.ts +4 -0
- package/dist/cjs/tools/assistant/tools.d.ts.map +1 -0
- package/dist/cjs/tools/assistant/tools.js +8 -0
- package/dist/cjs/tools/assistant/tools.js.map +1 -0
- package/dist/cjs/tools/atlas/connect/connectCluster.d.ts +1 -1
- package/dist/cjs/tools/atlas/connect/connectCluster.d.ts.map +1 -1
- package/dist/cjs/tools/atlas/connect/connectCluster.js +1 -1
- package/dist/cjs/tools/atlas/connect/connectCluster.js.map +1 -1
- package/dist/cjs/tools/atlas/create/createAccessList.d.ts +1 -1
- package/dist/cjs/tools/atlas/create/createAccessList.d.ts.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/createDBUser.d.ts +1 -1
- package/dist/cjs/tools/atlas/create/createDBUser.d.ts.map +1 -1
- package/dist/cjs/tools/atlas/create/createDBUser.js +1 -1
- package/dist/cjs/tools/atlas/create/createDBUser.js.map +1 -1
- package/dist/cjs/tools/atlas/create/createFreeCluster.d.ts +1 -1
- package/dist/cjs/tools/atlas/create/createFreeCluster.d.ts.map +1 -1
- package/dist/cjs/tools/atlas/create/createFreeCluster.js +1 -1
- package/dist/cjs/tools/atlas/create/createFreeCluster.js.map +1 -1
- package/dist/cjs/tools/atlas/create/createProject.d.ts +1 -1
- package/dist/cjs/tools/atlas/create/createProject.d.ts.map +1 -1
- package/dist/cjs/tools/atlas/create/createProject.js +1 -1
- package/dist/cjs/tools/atlas/create/createProject.js.map +1 -1
- package/dist/cjs/tools/atlas/read/getPerformanceAdvisor.d.ts +1 -1
- package/dist/cjs/tools/atlas/read/getPerformanceAdvisor.d.ts.map +1 -1
- package/dist/cjs/tools/atlas/read/getPerformanceAdvisor.js +1 -1
- package/dist/cjs/tools/atlas/read/getPerformanceAdvisor.js.map +1 -1
- package/dist/cjs/tools/atlas/read/inspectAccessList.d.ts +1 -1
- package/dist/cjs/tools/atlas/read/inspectAccessList.d.ts.map +1 -1
- package/dist/cjs/tools/atlas/read/inspectAccessList.js +1 -1
- package/dist/cjs/tools/atlas/read/inspectAccessList.js.map +1 -1
- package/dist/cjs/tools/atlas/read/inspectCluster.d.ts +1 -1
- package/dist/cjs/tools/atlas/read/inspectCluster.d.ts.map +1 -1
- package/dist/cjs/tools/atlas/read/inspectCluster.js +1 -1
- package/dist/cjs/tools/atlas/read/inspectCluster.js.map +1 -1
- package/dist/cjs/tools/atlas/read/listAlerts.d.ts +1 -1
- package/dist/cjs/tools/atlas/read/listAlerts.d.ts.map +1 -1
- package/dist/cjs/tools/atlas/read/listAlerts.js +1 -1
- package/dist/cjs/tools/atlas/read/listAlerts.js.map +1 -1
- package/dist/cjs/tools/atlas/read/listClusters.d.ts +1 -1
- package/dist/cjs/tools/atlas/read/listClusters.d.ts.map +1 -1
- package/dist/cjs/tools/atlas/read/listClusters.js +1 -1
- package/dist/cjs/tools/atlas/read/listClusters.js.map +1 -1
- package/dist/cjs/tools/atlas/read/listDBUsers.d.ts +1 -1
- package/dist/cjs/tools/atlas/read/listDBUsers.d.ts.map +1 -1
- package/dist/cjs/tools/atlas/read/listDBUsers.js +1 -1
- package/dist/cjs/tools/atlas/read/listDBUsers.js.map +1 -1
- package/dist/cjs/tools/atlas/read/listOrgs.d.ts +1 -1
- package/dist/cjs/tools/atlas/read/listOrgs.d.ts.map +1 -1
- package/dist/cjs/tools/atlas/read/listOrgs.js +1 -1
- package/dist/cjs/tools/atlas/read/listOrgs.js.map +1 -1
- package/dist/cjs/tools/atlas/read/listProjects.d.ts +1 -1
- package/dist/cjs/tools/atlas/read/listProjects.d.ts.map +1 -1
- package/dist/cjs/tools/atlas/read/listProjects.js +1 -1
- package/dist/cjs/tools/atlas/read/listProjects.js.map +1 -1
- package/dist/cjs/tools/atlasLocal/connect/connectDeployment.d.ts +1 -1
- package/dist/cjs/tools/atlasLocal/connect/connectDeployment.d.ts.map +1 -1
- package/dist/cjs/tools/atlasLocal/connect/connectDeployment.js +1 -1
- package/dist/cjs/tools/atlasLocal/connect/connectDeployment.js.map +1 -1
- package/dist/cjs/tools/atlasLocal/create/createDeployment.d.ts +1 -1
- package/dist/cjs/tools/atlasLocal/create/createDeployment.d.ts.map +1 -1
- package/dist/cjs/tools/atlasLocal/create/createDeployment.js +1 -1
- package/dist/cjs/tools/atlasLocal/create/createDeployment.js.map +1 -1
- package/dist/cjs/tools/atlasLocal/delete/deleteDeployment.d.ts +1 -1
- package/dist/cjs/tools/atlasLocal/delete/deleteDeployment.d.ts.map +1 -1
- package/dist/cjs/tools/atlasLocal/delete/deleteDeployment.js +1 -1
- package/dist/cjs/tools/atlasLocal/delete/deleteDeployment.js.map +1 -1
- package/dist/cjs/tools/atlasLocal/read/listDeployments.d.ts +1 -1
- package/dist/cjs/tools/atlasLocal/read/listDeployments.d.ts.map +1 -1
- package/dist/cjs/tools/atlasLocal/read/listDeployments.js +1 -1
- package/dist/cjs/tools/atlasLocal/read/listDeployments.js.map +1 -1
- package/dist/cjs/tools/index.d.ts +2 -1
- package/dist/cjs/tools/index.d.ts.map +1 -1
- package/dist/cjs/tools/index.js +3 -0
- package/dist/cjs/tools/index.js.map +1 -1
- package/dist/cjs/tools/mongodb/connect/connect.d.ts +1 -1
- package/dist/cjs/tools/mongodb/connect/connect.d.ts.map +1 -1
- package/dist/cjs/tools/mongodb/connect/connect.js +1 -1
- package/dist/cjs/tools/mongodb/connect/connect.js.map +1 -1
- package/dist/cjs/tools/mongodb/connect/switchConnection.d.ts +1 -1
- package/dist/cjs/tools/mongodb/connect/switchConnection.d.ts.map +1 -1
- package/dist/cjs/tools/mongodb/connect/switchConnection.js +1 -1
- package/dist/cjs/tools/mongodb/connect/switchConnection.js.map +1 -1
- package/dist/cjs/tools/mongodb/create/createCollection.d.ts +18 -6
- package/dist/cjs/tools/mongodb/create/createCollection.d.ts.map +1 -1
- package/dist/cjs/tools/mongodb/create/createCollection.js +14 -2
- package/dist/cjs/tools/mongodb/create/createCollection.js.map +1 -1
- package/dist/cjs/tools/mongodb/create/createIndex.d.ts +17 -4
- package/dist/cjs/tools/mongodb/create/createIndex.d.ts.map +1 -1
- package/dist/cjs/tools/mongodb/create/createIndex.js +14 -1
- package/dist/cjs/tools/mongodb/create/createIndex.js.map +1 -1
- package/dist/cjs/tools/mongodb/create/insertMany.d.ts +18 -5
- package/dist/cjs/tools/mongodb/create/insertMany.d.ts.map +1 -1
- package/dist/cjs/tools/mongodb/create/insertMany.js +16 -2
- package/dist/cjs/tools/mongodb/create/insertMany.js.map +1 -1
- package/dist/cjs/tools/mongodb/delete/deleteMany.d.ts +19 -7
- package/dist/cjs/tools/mongodb/delete/deleteMany.d.ts.map +1 -1
- package/dist/cjs/tools/mongodb/delete/deleteMany.js +13 -1
- package/dist/cjs/tools/mongodb/delete/deleteMany.js.map +1 -1
- package/dist/cjs/tools/mongodb/delete/dropCollection.d.ts +18 -6
- package/dist/cjs/tools/mongodb/delete/dropCollection.d.ts.map +1 -1
- package/dist/cjs/tools/mongodb/delete/dropCollection.js +14 -2
- package/dist/cjs/tools/mongodb/delete/dropCollection.js.map +1 -1
- package/dist/cjs/tools/mongodb/delete/dropDatabase.d.ts +15 -5
- package/dist/cjs/tools/mongodb/delete/dropDatabase.d.ts.map +1 -1
- package/dist/cjs/tools/mongodb/delete/dropDatabase.js +12 -2
- package/dist/cjs/tools/mongodb/delete/dropDatabase.js.map +1 -1
- package/dist/cjs/tools/mongodb/delete/dropIndex.d.ts +17 -4
- package/dist/cjs/tools/mongodb/delete/dropIndex.d.ts.map +1 -1
- package/dist/cjs/tools/mongodb/delete/dropIndex.js +26 -1
- package/dist/cjs/tools/mongodb/delete/dropIndex.js.map +1 -1
- package/dist/cjs/tools/mongodb/metadata/collectionIndexes.d.ts +78 -9
- package/dist/cjs/tools/mongodb/metadata/collectionIndexes.d.ts.map +1 -1
- package/dist/cjs/tools/mongodb/metadata/collectionIndexes.js +41 -29
- package/dist/cjs/tools/mongodb/metadata/collectionIndexes.js.map +1 -1
- package/dist/cjs/tools/mongodb/metadata/collectionSchema.d.ts +13 -4
- package/dist/cjs/tools/mongodb/metadata/collectionSchema.d.ts.map +1 -1
- package/dist/cjs/tools/mongodb/metadata/collectionSchema.js +17 -8
- package/dist/cjs/tools/mongodb/metadata/collectionSchema.js.map +1 -1
- package/dist/cjs/tools/mongodb/metadata/collectionStorageSize.d.ts +18 -7
- package/dist/cjs/tools/mongodb/metadata/collectionStorageSize.d.ts.map +1 -1
- package/dist/cjs/tools/mongodb/metadata/collectionStorageSize.js +12 -3
- package/dist/cjs/tools/mongodb/metadata/collectionStorageSize.js.map +1 -1
- package/dist/cjs/tools/mongodb/metadata/dbStats.d.ts +13 -5
- package/dist/cjs/tools/mongodb/metadata/dbStats.d.ts.map +1 -1
- package/dist/cjs/tools/mongodb/metadata/dbStats.js +9 -1
- package/dist/cjs/tools/mongodb/metadata/dbStats.js.map +1 -1
- package/dist/cjs/tools/mongodb/metadata/explain.d.ts +15 -4
- package/dist/cjs/tools/mongodb/metadata/explain.d.ts.map +1 -1
- package/dist/cjs/tools/mongodb/metadata/explain.js +12 -3
- package/dist/cjs/tools/mongodb/metadata/explain.js.map +1 -1
- package/dist/cjs/tools/mongodb/metadata/listCollections.d.ts +27 -5
- package/dist/cjs/tools/mongodb/metadata/listCollections.d.ts.map +1 -1
- package/dist/cjs/tools/mongodb/metadata/listCollections.js +21 -3
- package/dist/cjs/tools/mongodb/metadata/listCollections.js.map +1 -1
- package/dist/cjs/tools/mongodb/metadata/listDatabases.d.ts +5 -6
- package/dist/cjs/tools/mongodb/metadata/listDatabases.d.ts.map +1 -1
- package/dist/cjs/tools/mongodb/metadata/listDatabases.js +5 -5
- package/dist/cjs/tools/mongodb/metadata/listDatabases.js.map +1 -1
- package/dist/cjs/tools/mongodb/metadata/logs.d.ts +15 -4
- package/dist/cjs/tools/mongodb/metadata/logs.d.ts.map +1 -1
- package/dist/cjs/tools/mongodb/metadata/logs.js +12 -1
- package/dist/cjs/tools/mongodb/metadata/logs.js.map +1 -1
- package/dist/cjs/tools/mongodb/mongodbTool.d.ts +1 -1
- package/dist/cjs/tools/mongodb/mongodbTool.d.ts.map +1 -1
- package/dist/cjs/tools/mongodb/mongodbTool.js +3 -3
- package/dist/cjs/tools/mongodb/mongodbTool.js.map +1 -1
- package/dist/cjs/tools/mongodb/read/aggregate.d.ts +1 -1
- package/dist/cjs/tools/mongodb/read/aggregate.d.ts.map +1 -1
- package/dist/cjs/tools/mongodb/read/aggregate.js +1 -5
- package/dist/cjs/tools/mongodb/read/aggregate.js.map +1 -1
- package/dist/cjs/tools/mongodb/read/count.d.ts +1 -1
- package/dist/cjs/tools/mongodb/read/count.d.ts.map +1 -1
- package/dist/cjs/tools/mongodb/read/count.js +1 -2
- package/dist/cjs/tools/mongodb/read/count.js.map +1 -1
- package/dist/cjs/tools/mongodb/read/export.d.ts +1 -1
- package/dist/cjs/tools/mongodb/read/export.d.ts.map +1 -1
- package/dist/cjs/tools/mongodb/read/export.js +1 -3
- package/dist/cjs/tools/mongodb/read/export.js.map +1 -1
- package/dist/cjs/tools/mongodb/read/find.d.ts +1 -1
- package/dist/cjs/tools/mongodb/read/find.d.ts.map +1 -1
- package/dist/cjs/tools/mongodb/read/find.js +1 -4
- package/dist/cjs/tools/mongodb/read/find.js.map +1 -1
- package/dist/cjs/tools/mongodb/tools.d.ts +17 -17
- package/dist/cjs/tools/mongodb/tools.d.ts.map +1 -1
- package/dist/cjs/tools/mongodb/tools.js.map +1 -1
- package/dist/cjs/tools/mongodb/update/renameCollection.d.ts +18 -5
- package/dist/cjs/tools/mongodb/update/renameCollection.d.ts.map +1 -1
- package/dist/cjs/tools/mongodb/update/renameCollection.js +43 -7
- package/dist/cjs/tools/mongodb/update/renameCollection.js.map +1 -1
- package/dist/cjs/tools/mongodb/update/updateMany.d.ts +21 -4
- package/dist/cjs/tools/mongodb/update/updateMany.d.ts.map +1 -1
- package/dist/cjs/tools/mongodb/update/updateMany.js +18 -1
- package/dist/cjs/tools/mongodb/update/updateMany.js.map +1 -1
- package/dist/cjs/tools/tool.d.ts +99 -26
- package/dist/cjs/tools/tool.d.ts.map +1 -1
- package/dist/cjs/tools/tool.js +12 -8
- package/dist/cjs/tools/tool.js.map +1 -1
- package/dist/cjs/transports/base.d.ts +81 -89
- package/dist/cjs/transports/base.d.ts.map +1 -1
- package/dist/cjs/transports/base.js +61 -28
- package/dist/cjs/transports/base.js.map +1 -1
- package/dist/cjs/transports/dryModeRunner.d.ts +6 -2
- package/dist/cjs/transports/dryModeRunner.d.ts.map +1 -1
- package/dist/cjs/transports/dryModeRunner.js +2 -2
- package/dist/cjs/transports/dryModeRunner.js.map +1 -1
- package/dist/cjs/transports/interfaces/common.d.ts +80 -0
- package/dist/cjs/transports/interfaces/common.d.ts.map +1 -0
- package/dist/cjs/transports/interfaces/common.js +3 -0
- package/dist/cjs/transports/interfaces/common.js.map +1 -0
- package/dist/cjs/transports/interfaces/index.d.ts +4 -0
- package/dist/cjs/transports/interfaces/index.d.ts.map +1 -0
- package/dist/cjs/transports/interfaces/index.js +3 -0
- package/dist/cjs/transports/interfaces/index.js.map +1 -0
- package/dist/cjs/transports/interfaces/legacy.d.ts +100 -0
- package/dist/cjs/transports/interfaces/legacy.d.ts.map +1 -0
- package/dist/cjs/transports/interfaces/legacy.js +3 -0
- package/dist/cjs/transports/interfaces/legacy.js.map +1 -0
- package/dist/cjs/transports/interfaces/v1.d.ts +6 -0
- package/dist/cjs/transports/interfaces/v1.d.ts.map +1 -0
- package/dist/cjs/transports/interfaces/v1.js +3 -0
- package/dist/cjs/transports/interfaces/v1.js.map +1 -0
- package/dist/cjs/transports/runnerConfigs/commonConfig.d.ts +85 -0
- package/dist/cjs/transports/runnerConfigs/commonConfig.d.ts.map +1 -0
- package/dist/cjs/transports/runnerConfigs/commonConfig.js +3 -0
- package/dist/cjs/transports/runnerConfigs/commonConfig.js.map +1 -0
- package/dist/cjs/transports/runnerConfigs/index.d.ts +6 -0
- package/dist/cjs/transports/runnerConfigs/index.d.ts.map +1 -0
- package/dist/cjs/transports/runnerConfigs/index.js +3 -0
- package/dist/cjs/transports/runnerConfigs/index.js.map +1 -0
- package/dist/cjs/transports/runnerConfigs/legacy.d.ts +100 -0
- package/dist/cjs/transports/runnerConfigs/legacy.d.ts.map +1 -0
- package/dist/cjs/transports/runnerConfigs/legacy.js +3 -0
- package/dist/cjs/transports/runnerConfigs/legacy.js.map +1 -0
- package/dist/cjs/transports/runnerConfigs/v1.d.ts +22 -0
- package/dist/cjs/transports/runnerConfigs/v1.d.ts.map +1 -0
- package/dist/cjs/transports/runnerConfigs/v1.js +3 -0
- package/dist/cjs/transports/runnerConfigs/v1.js.map +1 -0
- package/dist/cjs/transports/stdio.d.ts +9 -3
- package/dist/cjs/transports/stdio.d.ts.map +1 -1
- package/dist/cjs/transports/stdio.js +2 -2
- package/dist/cjs/transports/stdio.js.map +1 -1
- package/dist/cjs/transports/streamableHttp.d.ts +26 -8
- package/dist/cjs/transports/streamableHttp.d.ts.map +1 -1
- package/dist/cjs/transports/streamableHttp.js +204 -51
- package/dist/cjs/transports/streamableHttp.js.map +1 -1
- package/dist/cjs/ui/components/ListDatabases/ListDatabases.d.ts +1 -6
- package/dist/cjs/ui/components/ListDatabases/ListDatabases.d.ts.map +1 -1
- package/dist/cjs/ui/components/ListDatabases/ListDatabases.js +11 -25
- package/dist/cjs/ui/components/ListDatabases/ListDatabases.js.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/esm/common/atlas/apiClient.d.ts +3 -1
- package/dist/esm/common/atlas/apiClient.d.ts.map +1 -1
- package/dist/esm/common/atlas/apiClient.js +1 -1
- package/dist/esm/common/atlas/apiClient.js.map +1 -1
- package/dist/esm/common/config/configOverrides.d.ts +3 -3
- package/dist/esm/common/config/configOverrides.d.ts.map +1 -1
- package/dist/esm/common/config/configOverrides.js.map +1 -1
- package/dist/esm/common/config/parseUserConfig.js +4 -3
- package/dist/esm/common/config/parseUserConfig.js.map +1 -1
- package/dist/esm/common/config/userConfig.d.ts +3 -0
- package/dist/esm/common/config/userConfig.d.ts.map +1 -1
- package/dist/esm/common/config/userConfig.js +18 -0
- package/dist/esm/common/config/userConfig.js.map +1 -1
- package/dist/esm/common/connectionErrorHandler.d.ts +3 -3
- package/dist/esm/common/connectionErrorHandler.d.ts.map +1 -1
- package/dist/esm/common/connectionManager.d.ts +1 -1
- package/dist/esm/common/connectionManager.d.ts.map +1 -1
- package/dist/esm/common/connectionManager.js +1 -1
- package/dist/esm/common/connectionManager.js.map +1 -1
- package/dist/esm/common/logger.d.ts +8 -3
- package/dist/esm/common/logger.d.ts.map +1 -1
- package/dist/esm/common/logger.js +5 -0
- package/dist/esm/common/logger.js.map +1 -1
- package/dist/esm/common/packageInfo.js +1 -1
- package/dist/esm/common/session.d.ts +6 -3
- package/dist/esm/common/session.d.ts.map +1 -1
- package/dist/esm/common/session.js +2 -12
- package/dist/esm/common/session.js.map +1 -1
- package/dist/esm/lib.d.ts +12 -4
- package/dist/esm/lib.d.ts.map +1 -1
- package/dist/esm/lib.js +9 -3
- package/dist/esm/lib.js.map +1 -1
- package/dist/esm/resources/resource.d.ts +3 -3
- package/dist/esm/resources/resource.d.ts.map +1 -1
- package/dist/esm/resources/resource.js.map +1 -1
- package/dist/esm/server.d.ts +67 -32
- package/dist/esm/server.d.ts.map +1 -1
- package/dist/esm/server.js +4 -1
- package/dist/esm/server.js.map +1 -1
- package/dist/esm/tools/assistant/assistantTool.d.ts +17 -0
- package/dist/esm/tools/assistant/assistantTool.d.ts.map +1 -0
- package/dist/esm/tools/assistant/assistantTool.js +40 -0
- package/dist/esm/tools/assistant/assistantTool.js.map +1 -0
- package/dist/esm/tools/assistant/listKnowledgeSources.d.ts +29 -0
- package/dist/esm/tools/assistant/listKnowledgeSources.d.ts.map +1 -0
- package/dist/esm/tools/assistant/listKnowledgeSources.js +47 -0
- package/dist/esm/tools/assistant/listKnowledgeSources.js.map +1 -0
- package/dist/esm/tools/assistant/searchKnowledge.d.ts +59 -0
- package/dist/esm/tools/assistant/searchKnowledge.d.ts.map +1 -0
- package/dist/esm/tools/assistant/searchKnowledge.js +61 -0
- package/dist/esm/tools/assistant/searchKnowledge.js.map +1 -0
- package/dist/esm/tools/assistant/tools.d.ts +4 -0
- package/dist/esm/tools/assistant/tools.d.ts.map +1 -0
- package/dist/esm/tools/assistant/tools.js +4 -0
- package/dist/esm/tools/assistant/tools.js.map +1 -0
- package/dist/esm/tools/atlas/connect/connectCluster.d.ts +1 -1
- package/dist/esm/tools/atlas/connect/connectCluster.d.ts.map +1 -1
- package/dist/esm/tools/atlas/connect/connectCluster.js +1 -1
- package/dist/esm/tools/atlas/connect/connectCluster.js.map +1 -1
- package/dist/esm/tools/atlas/create/createAccessList.d.ts +1 -1
- package/dist/esm/tools/atlas/create/createAccessList.d.ts.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/createDBUser.d.ts +1 -1
- package/dist/esm/tools/atlas/create/createDBUser.d.ts.map +1 -1
- package/dist/esm/tools/atlas/create/createDBUser.js +1 -1
- package/dist/esm/tools/atlas/create/createDBUser.js.map +1 -1
- package/dist/esm/tools/atlas/create/createFreeCluster.d.ts +1 -1
- package/dist/esm/tools/atlas/create/createFreeCluster.d.ts.map +1 -1
- package/dist/esm/tools/atlas/create/createFreeCluster.js +1 -1
- package/dist/esm/tools/atlas/create/createFreeCluster.js.map +1 -1
- package/dist/esm/tools/atlas/create/createProject.d.ts +1 -1
- package/dist/esm/tools/atlas/create/createProject.d.ts.map +1 -1
- package/dist/esm/tools/atlas/create/createProject.js +1 -1
- package/dist/esm/tools/atlas/create/createProject.js.map +1 -1
- package/dist/esm/tools/atlas/read/getPerformanceAdvisor.d.ts +1 -1
- package/dist/esm/tools/atlas/read/getPerformanceAdvisor.d.ts.map +1 -1
- package/dist/esm/tools/atlas/read/getPerformanceAdvisor.js +1 -1
- package/dist/esm/tools/atlas/read/getPerformanceAdvisor.js.map +1 -1
- package/dist/esm/tools/atlas/read/inspectAccessList.d.ts +1 -1
- package/dist/esm/tools/atlas/read/inspectAccessList.d.ts.map +1 -1
- package/dist/esm/tools/atlas/read/inspectAccessList.js +1 -1
- package/dist/esm/tools/atlas/read/inspectAccessList.js.map +1 -1
- package/dist/esm/tools/atlas/read/inspectCluster.d.ts +1 -1
- package/dist/esm/tools/atlas/read/inspectCluster.d.ts.map +1 -1
- package/dist/esm/tools/atlas/read/inspectCluster.js +1 -1
- package/dist/esm/tools/atlas/read/inspectCluster.js.map +1 -1
- package/dist/esm/tools/atlas/read/listAlerts.d.ts +1 -1
- package/dist/esm/tools/atlas/read/listAlerts.d.ts.map +1 -1
- package/dist/esm/tools/atlas/read/listAlerts.js +1 -1
- package/dist/esm/tools/atlas/read/listAlerts.js.map +1 -1
- package/dist/esm/tools/atlas/read/listClusters.d.ts +1 -1
- package/dist/esm/tools/atlas/read/listClusters.d.ts.map +1 -1
- package/dist/esm/tools/atlas/read/listClusters.js +1 -1
- package/dist/esm/tools/atlas/read/listClusters.js.map +1 -1
- package/dist/esm/tools/atlas/read/listDBUsers.d.ts +1 -1
- package/dist/esm/tools/atlas/read/listDBUsers.d.ts.map +1 -1
- package/dist/esm/tools/atlas/read/listDBUsers.js +1 -1
- package/dist/esm/tools/atlas/read/listDBUsers.js.map +1 -1
- package/dist/esm/tools/atlas/read/listOrgs.d.ts +1 -1
- package/dist/esm/tools/atlas/read/listOrgs.d.ts.map +1 -1
- package/dist/esm/tools/atlas/read/listOrgs.js +1 -1
- package/dist/esm/tools/atlas/read/listOrgs.js.map +1 -1
- package/dist/esm/tools/atlas/read/listProjects.d.ts +1 -1
- package/dist/esm/tools/atlas/read/listProjects.d.ts.map +1 -1
- package/dist/esm/tools/atlas/read/listProjects.js +1 -1
- package/dist/esm/tools/atlas/read/listProjects.js.map +1 -1
- package/dist/esm/tools/atlasLocal/connect/connectDeployment.d.ts +1 -1
- package/dist/esm/tools/atlasLocal/connect/connectDeployment.d.ts.map +1 -1
- package/dist/esm/tools/atlasLocal/connect/connectDeployment.js +1 -1
- package/dist/esm/tools/atlasLocal/connect/connectDeployment.js.map +1 -1
- package/dist/esm/tools/atlasLocal/create/createDeployment.d.ts +1 -1
- package/dist/esm/tools/atlasLocal/create/createDeployment.d.ts.map +1 -1
- package/dist/esm/tools/atlasLocal/create/createDeployment.js +1 -1
- package/dist/esm/tools/atlasLocal/create/createDeployment.js.map +1 -1
- package/dist/esm/tools/atlasLocal/delete/deleteDeployment.d.ts +1 -1
- package/dist/esm/tools/atlasLocal/delete/deleteDeployment.d.ts.map +1 -1
- package/dist/esm/tools/atlasLocal/delete/deleteDeployment.js +1 -1
- package/dist/esm/tools/atlasLocal/delete/deleteDeployment.js.map +1 -1
- package/dist/esm/tools/atlasLocal/read/listDeployments.d.ts +1 -1
- package/dist/esm/tools/atlasLocal/read/listDeployments.d.ts.map +1 -1
- package/dist/esm/tools/atlasLocal/read/listDeployments.js +1 -1
- package/dist/esm/tools/atlasLocal/read/listDeployments.js.map +1 -1
- package/dist/esm/tools/index.d.ts +2 -1
- package/dist/esm/tools/index.d.ts.map +1 -1
- package/dist/esm/tools/index.js +3 -0
- package/dist/esm/tools/index.js.map +1 -1
- package/dist/esm/tools/mongodb/connect/connect.d.ts +1 -1
- package/dist/esm/tools/mongodb/connect/connect.d.ts.map +1 -1
- package/dist/esm/tools/mongodb/connect/connect.js +1 -1
- package/dist/esm/tools/mongodb/connect/connect.js.map +1 -1
- package/dist/esm/tools/mongodb/connect/switchConnection.d.ts +1 -1
- package/dist/esm/tools/mongodb/connect/switchConnection.d.ts.map +1 -1
- package/dist/esm/tools/mongodb/connect/switchConnection.js +1 -1
- package/dist/esm/tools/mongodb/connect/switchConnection.js.map +1 -1
- package/dist/esm/tools/mongodb/create/createCollection.d.ts +18 -6
- package/dist/esm/tools/mongodb/create/createCollection.d.ts.map +1 -1
- package/dist/esm/tools/mongodb/create/createCollection.js +14 -2
- package/dist/esm/tools/mongodb/create/createCollection.js.map +1 -1
- package/dist/esm/tools/mongodb/create/createIndex.d.ts +17 -4
- package/dist/esm/tools/mongodb/create/createIndex.d.ts.map +1 -1
- package/dist/esm/tools/mongodb/create/createIndex.js +14 -1
- package/dist/esm/tools/mongodb/create/createIndex.js.map +1 -1
- package/dist/esm/tools/mongodb/create/insertMany.d.ts +18 -5
- package/dist/esm/tools/mongodb/create/insertMany.d.ts.map +1 -1
- package/dist/esm/tools/mongodb/create/insertMany.js +16 -2
- package/dist/esm/tools/mongodb/create/insertMany.js.map +1 -1
- package/dist/esm/tools/mongodb/delete/deleteMany.d.ts +19 -7
- package/dist/esm/tools/mongodb/delete/deleteMany.d.ts.map +1 -1
- package/dist/esm/tools/mongodb/delete/deleteMany.js +13 -1
- package/dist/esm/tools/mongodb/delete/deleteMany.js.map +1 -1
- package/dist/esm/tools/mongodb/delete/dropCollection.d.ts +18 -6
- package/dist/esm/tools/mongodb/delete/dropCollection.d.ts.map +1 -1
- package/dist/esm/tools/mongodb/delete/dropCollection.js +14 -2
- package/dist/esm/tools/mongodb/delete/dropCollection.js.map +1 -1
- package/dist/esm/tools/mongodb/delete/dropDatabase.d.ts +15 -5
- package/dist/esm/tools/mongodb/delete/dropDatabase.d.ts.map +1 -1
- package/dist/esm/tools/mongodb/delete/dropDatabase.js +12 -2
- package/dist/esm/tools/mongodb/delete/dropDatabase.js.map +1 -1
- package/dist/esm/tools/mongodb/delete/dropIndex.d.ts +17 -4
- package/dist/esm/tools/mongodb/delete/dropIndex.d.ts.map +1 -1
- package/dist/esm/tools/mongodb/delete/dropIndex.js +26 -1
- package/dist/esm/tools/mongodb/delete/dropIndex.js.map +1 -1
- package/dist/esm/tools/mongodb/metadata/collectionIndexes.d.ts +78 -9
- package/dist/esm/tools/mongodb/metadata/collectionIndexes.d.ts.map +1 -1
- package/dist/esm/tools/mongodb/metadata/collectionIndexes.js +41 -29
- package/dist/esm/tools/mongodb/metadata/collectionIndexes.js.map +1 -1
- package/dist/esm/tools/mongodb/metadata/collectionSchema.d.ts +13 -4
- package/dist/esm/tools/mongodb/metadata/collectionSchema.d.ts.map +1 -1
- package/dist/esm/tools/mongodb/metadata/collectionSchema.js +17 -8
- package/dist/esm/tools/mongodb/metadata/collectionSchema.js.map +1 -1
- package/dist/esm/tools/mongodb/metadata/collectionStorageSize.d.ts +18 -7
- package/dist/esm/tools/mongodb/metadata/collectionStorageSize.d.ts.map +1 -1
- package/dist/esm/tools/mongodb/metadata/collectionStorageSize.js +12 -3
- package/dist/esm/tools/mongodb/metadata/collectionStorageSize.js.map +1 -1
- package/dist/esm/tools/mongodb/metadata/dbStats.d.ts +13 -5
- package/dist/esm/tools/mongodb/metadata/dbStats.d.ts.map +1 -1
- package/dist/esm/tools/mongodb/metadata/dbStats.js +9 -1
- package/dist/esm/tools/mongodb/metadata/dbStats.js.map +1 -1
- package/dist/esm/tools/mongodb/metadata/explain.d.ts +15 -4
- package/dist/esm/tools/mongodb/metadata/explain.d.ts.map +1 -1
- package/dist/esm/tools/mongodb/metadata/explain.js +12 -3
- package/dist/esm/tools/mongodb/metadata/explain.js.map +1 -1
- package/dist/esm/tools/mongodb/metadata/listCollections.d.ts +27 -5
- package/dist/esm/tools/mongodb/metadata/listCollections.d.ts.map +1 -1
- package/dist/esm/tools/mongodb/metadata/listCollections.js +21 -3
- package/dist/esm/tools/mongodb/metadata/listCollections.js.map +1 -1
- package/dist/esm/tools/mongodb/metadata/listDatabases.d.ts +5 -6
- package/dist/esm/tools/mongodb/metadata/listDatabases.d.ts.map +1 -1
- package/dist/esm/tools/mongodb/metadata/listDatabases.js +3 -3
- package/dist/esm/tools/mongodb/metadata/listDatabases.js.map +1 -1
- package/dist/esm/tools/mongodb/metadata/logs.d.ts +15 -4
- package/dist/esm/tools/mongodb/metadata/logs.d.ts.map +1 -1
- package/dist/esm/tools/mongodb/metadata/logs.js +12 -1
- package/dist/esm/tools/mongodb/metadata/logs.js.map +1 -1
- package/dist/esm/tools/mongodb/mongodbTool.d.ts +1 -1
- package/dist/esm/tools/mongodb/mongodbTool.d.ts.map +1 -1
- package/dist/esm/tools/mongodb/mongodbTool.js +3 -3
- package/dist/esm/tools/mongodb/mongodbTool.js.map +1 -1
- package/dist/esm/tools/mongodb/read/aggregate.d.ts +1 -1
- package/dist/esm/tools/mongodb/read/aggregate.d.ts.map +1 -1
- package/dist/esm/tools/mongodb/read/aggregate.js +1 -5
- package/dist/esm/tools/mongodb/read/aggregate.js.map +1 -1
- package/dist/esm/tools/mongodb/read/count.d.ts +1 -1
- package/dist/esm/tools/mongodb/read/count.d.ts.map +1 -1
- package/dist/esm/tools/mongodb/read/count.js +1 -2
- package/dist/esm/tools/mongodb/read/count.js.map +1 -1
- package/dist/esm/tools/mongodb/read/export.d.ts +1 -1
- package/dist/esm/tools/mongodb/read/export.d.ts.map +1 -1
- package/dist/esm/tools/mongodb/read/export.js +1 -3
- package/dist/esm/tools/mongodb/read/export.js.map +1 -1
- package/dist/esm/tools/mongodb/read/find.d.ts +1 -1
- package/dist/esm/tools/mongodb/read/find.d.ts.map +1 -1
- package/dist/esm/tools/mongodb/read/find.js +1 -4
- package/dist/esm/tools/mongodb/read/find.js.map +1 -1
- package/dist/esm/tools/mongodb/tools.d.ts +17 -17
- package/dist/esm/tools/mongodb/tools.d.ts.map +1 -1
- package/dist/esm/tools/mongodb/tools.js.map +1 -1
- package/dist/esm/tools/mongodb/update/renameCollection.d.ts +18 -5
- package/dist/esm/tools/mongodb/update/renameCollection.d.ts.map +1 -1
- package/dist/esm/tools/mongodb/update/renameCollection.js +43 -7
- package/dist/esm/tools/mongodb/update/renameCollection.js.map +1 -1
- package/dist/esm/tools/mongodb/update/updateMany.d.ts +21 -4
- package/dist/esm/tools/mongodb/update/updateMany.d.ts.map +1 -1
- package/dist/esm/tools/mongodb/update/updateMany.js +18 -1
- package/dist/esm/tools/mongodb/update/updateMany.js.map +1 -1
- package/dist/esm/tools/tool.d.ts +99 -26
- package/dist/esm/tools/tool.d.ts.map +1 -1
- package/dist/esm/tools/tool.js +12 -8
- package/dist/esm/tools/tool.js.map +1 -1
- package/dist/esm/transports/base.d.ts +81 -89
- package/dist/esm/transports/base.d.ts.map +1 -1
- package/dist/esm/transports/base.js +63 -30
- package/dist/esm/transports/base.js.map +1 -1
- package/dist/esm/transports/dryModeRunner.d.ts +6 -2
- package/dist/esm/transports/dryModeRunner.d.ts.map +1 -1
- package/dist/esm/transports/dryModeRunner.js +2 -2
- package/dist/esm/transports/dryModeRunner.js.map +1 -1
- package/dist/esm/transports/interfaces/common.d.ts +80 -0
- package/dist/esm/transports/interfaces/common.d.ts.map +1 -0
- package/dist/esm/transports/interfaces/common.js +2 -0
- package/dist/esm/transports/interfaces/common.js.map +1 -0
- package/dist/esm/transports/interfaces/index.d.ts +4 -0
- package/dist/esm/transports/interfaces/index.d.ts.map +1 -0
- package/dist/esm/transports/interfaces/index.js +2 -0
- package/dist/esm/transports/interfaces/index.js.map +1 -0
- package/dist/esm/transports/interfaces/legacy.d.ts +100 -0
- package/dist/esm/transports/interfaces/legacy.d.ts.map +1 -0
- package/dist/esm/transports/interfaces/legacy.js +2 -0
- package/dist/esm/transports/interfaces/legacy.js.map +1 -0
- package/dist/esm/transports/interfaces/v1.d.ts +6 -0
- package/dist/esm/transports/interfaces/v1.d.ts.map +1 -0
- package/dist/esm/transports/interfaces/v1.js +2 -0
- package/dist/esm/transports/interfaces/v1.js.map +1 -0
- package/dist/esm/transports/runnerConfigs/commonConfig.d.ts +85 -0
- package/dist/esm/transports/runnerConfigs/commonConfig.d.ts.map +1 -0
- package/dist/esm/transports/runnerConfigs/commonConfig.js +2 -0
- package/dist/esm/transports/runnerConfigs/commonConfig.js.map +1 -0
- package/dist/esm/transports/runnerConfigs/index.d.ts +6 -0
- package/dist/esm/transports/runnerConfigs/index.d.ts.map +1 -0
- package/dist/esm/transports/runnerConfigs/index.js +2 -0
- package/dist/esm/transports/runnerConfigs/index.js.map +1 -0
- package/dist/esm/transports/runnerConfigs/legacy.d.ts +100 -0
- package/dist/esm/transports/runnerConfigs/legacy.d.ts.map +1 -0
- package/dist/esm/transports/runnerConfigs/legacy.js +2 -0
- package/dist/esm/transports/runnerConfigs/legacy.js.map +1 -0
- package/dist/esm/transports/runnerConfigs/v1.d.ts +22 -0
- package/dist/esm/transports/runnerConfigs/v1.d.ts.map +1 -0
- package/dist/esm/transports/runnerConfigs/v1.js +2 -0
- package/dist/esm/transports/runnerConfigs/v1.js.map +1 -0
- package/dist/esm/transports/stdio.d.ts +9 -3
- package/dist/esm/transports/stdio.d.ts.map +1 -1
- package/dist/esm/transports/stdio.js +2 -2
- package/dist/esm/transports/stdio.js.map +1 -1
- package/dist/esm/transports/streamableHttp.d.ts +26 -8
- package/dist/esm/transports/streamableHttp.d.ts.map +1 -1
- package/dist/esm/transports/streamableHttp.js +205 -52
- package/dist/esm/transports/streamableHttp.js.map +1 -1
- package/dist/esm/ui/components/ListDatabases/ListDatabases.d.ts +1 -6
- package/dist/esm/ui/components/ListDatabases/ListDatabases.d.ts.map +1 -1
- package/dist/esm/ui/components/ListDatabases/ListDatabases.js +11 -25
- package/dist/esm/ui/components/ListDatabases/ListDatabases.js.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/package.json +20 -19
package/dist/esm/tools/tool.d.ts
CHANGED
|
@@ -1,5 +1,4 @@
|
|
|
1
|
-
import type { z } from "zod";
|
|
2
|
-
import { type ZodRawShape } from "zod";
|
|
1
|
+
import type { z, ZodRawShape, ZodTypeAny } from "zod";
|
|
3
2
|
import type { CallToolResult, ToolAnnotations } from "@modelcontextprotocol/sdk/types.js";
|
|
4
3
|
import type { Session } from "../common/session.js";
|
|
5
4
|
import type { Telemetry } from "../telemetry/telemetry.js";
|
|
@@ -12,8 +11,30 @@ import type { UIRegistry } from "../ui/registry/index.js";
|
|
|
12
11
|
export type ToolArgs<T extends ZodRawShape> = {
|
|
13
12
|
[K in keyof T]: z.infer<T[K]>;
|
|
14
13
|
};
|
|
15
|
-
export
|
|
14
|
+
export interface ToolExecutionContext {
|
|
16
15
|
signal: AbortSignal;
|
|
16
|
+
/**
|
|
17
|
+
* Request context object available only when running atop
|
|
18
|
+
* StreamableHttpTransport.
|
|
19
|
+
*/
|
|
20
|
+
requestInfo?: {
|
|
21
|
+
headers?: Record<string, unknown>;
|
|
22
|
+
};
|
|
23
|
+
}
|
|
24
|
+
export type ToolResult<OutputSchema extends ZodRawShape | undefined = undefined> = OutputSchema extends ZodRawShape ? StructuredToolResult<OutputSchema> : {
|
|
25
|
+
content: {
|
|
26
|
+
type: "text";
|
|
27
|
+
text: string;
|
|
28
|
+
}[];
|
|
29
|
+
isError?: boolean;
|
|
30
|
+
};
|
|
31
|
+
type StructuredToolResult<OutputSchema extends ZodRawShape> = {
|
|
32
|
+
content: {
|
|
33
|
+
type: "text";
|
|
34
|
+
text: string;
|
|
35
|
+
}[];
|
|
36
|
+
isError?: boolean;
|
|
37
|
+
structuredContent: z.objectOutputType<OutputSchema, ZodTypeAny>;
|
|
17
38
|
};
|
|
18
39
|
/**
|
|
19
40
|
* The type of operation the tool performs. This is used when evaluating if a tool is allowed to run based on
|
|
@@ -35,8 +56,9 @@ export type OperationType = "metadata" | "read" | "create" | "delete" | "update"
|
|
|
35
56
|
* aggregating data, listing databases/collections/indexes, creating indexes, etc.
|
|
36
57
|
* - `atlas` is used for tools that interact with MongoDB Atlas, such as listing clusters, creating clusters, etc.
|
|
37
58
|
* - `atlas-local` is used for tools that interact with local Atlas deployments.
|
|
59
|
+
* - `assistant` is used for tools that interact with the Assistant, such as searching the public knowledge base.
|
|
38
60
|
*/
|
|
39
|
-
export type ToolCategory = "mongodb" | "atlas" | "atlas-local";
|
|
61
|
+
export type ToolCategory = "mongodb" | "atlas" | "atlas-local" | "assistant";
|
|
40
62
|
/**
|
|
41
63
|
* Parameters passed to the constructor of all tools that extends `ToolBase`.
|
|
42
64
|
*
|
|
@@ -45,7 +67,12 @@ export type ToolCategory = "mongodb" | "atlas" | "atlas-local";
|
|
|
45
67
|
*
|
|
46
68
|
* See `Server.registerTools` method in `src/server.ts` for further reference.
|
|
47
69
|
*/
|
|
48
|
-
export type ToolConstructorParams = {
|
|
70
|
+
export type ToolConstructorParams<TUserConfig extends UserConfig = UserConfig, TContext = unknown> = {
|
|
71
|
+
/**
|
|
72
|
+
* The unique name of this tool (injected from the static
|
|
73
|
+
* `toolName` property on the Tool class).
|
|
74
|
+
*/
|
|
75
|
+
name: string;
|
|
49
76
|
/**
|
|
50
77
|
* The category that the tool belongs to (injected from the static
|
|
51
78
|
* `category` property on the Tool class).
|
|
@@ -68,7 +95,7 @@ export type ToolConstructorParams = {
|
|
|
68
95
|
*
|
|
69
96
|
* See `src/common/config/userConfig.ts` for further reference.
|
|
70
97
|
*/
|
|
71
|
-
config:
|
|
98
|
+
config: TUserConfig;
|
|
72
99
|
/**
|
|
73
100
|
* The telemetry service for tracking tool usage.
|
|
74
101
|
*
|
|
@@ -82,13 +109,32 @@ export type ToolConstructorParams = {
|
|
|
82
109
|
*/
|
|
83
110
|
elicitation: Elicitation;
|
|
84
111
|
uiRegistry?: UIRegistry;
|
|
112
|
+
/**
|
|
113
|
+
* Optional custom context object that will be available to tools.
|
|
114
|
+
*
|
|
115
|
+
* Library consumers can provide custom context data that will be
|
|
116
|
+
* available during tool execution. This is useful for passing shared
|
|
117
|
+
* services used by multiple tools.
|
|
118
|
+
*
|
|
119
|
+
* @example
|
|
120
|
+
* ```typescript
|
|
121
|
+
* const runner = new StreamableHttpRunner({
|
|
122
|
+
* userConfig: { ... },
|
|
123
|
+
* toolContext: {
|
|
124
|
+
* tenantId: "my-tenant",
|
|
125
|
+
* userId: "user-123",
|
|
126
|
+
* },
|
|
127
|
+
* });
|
|
128
|
+
* ```
|
|
129
|
+
*/
|
|
130
|
+
context?: TContext;
|
|
85
131
|
};
|
|
86
132
|
/**
|
|
87
133
|
* The type that all tool classes must conform to when implementing custom tools
|
|
88
134
|
* for the MongoDB MCP Server.
|
|
89
135
|
*
|
|
90
|
-
* This type enforces that tool classes have static properties `category
|
|
91
|
-
* `operationType` which are injected during instantiation of tool classes.
|
|
136
|
+
* This type enforces that tool classes have static properties `toolName`, `category`,
|
|
137
|
+
* and `operationType` which are injected during instantiation of tool classes.
|
|
92
138
|
*
|
|
93
139
|
* @example
|
|
94
140
|
* ```typescript
|
|
@@ -98,11 +144,11 @@ export type ToolConstructorParams = {
|
|
|
98
144
|
*
|
|
99
145
|
* class MyCustomTool extends ToolBase {
|
|
100
146
|
* // Required static properties for ToolClass conformance
|
|
147
|
+
* static toolName = "my-custom-tool";
|
|
101
148
|
* static category: ToolCategory = "mongodb";
|
|
102
149
|
* static operationType: OperationType = "read";
|
|
103
150
|
*
|
|
104
151
|
* // Required abstract properties
|
|
105
|
-
* override name = "my-custom-tool";
|
|
106
152
|
* public description = "My custom tool description";
|
|
107
153
|
* public argsShape = {
|
|
108
154
|
* query: z.string().describe("The query parameter"),
|
|
@@ -129,9 +175,15 @@ export type ToolConstructorParams = {
|
|
|
129
175
|
* });
|
|
130
176
|
* ```
|
|
131
177
|
*/
|
|
132
|
-
export type ToolClass = {
|
|
178
|
+
export type ToolClass<TUserConfig extends UserConfig = UserConfig, TContext = unknown> = {
|
|
133
179
|
/** Constructor signature for the tool class */
|
|
134
|
-
new (params: ToolConstructorParams): ToolBase
|
|
180
|
+
new (params: ToolConstructorParams<TUserConfig, TContext>): ToolBase<TUserConfig, TContext>;
|
|
181
|
+
/**
|
|
182
|
+
* The unique name of this tool.
|
|
183
|
+
*
|
|
184
|
+
* Must be unique across all tools in the server.
|
|
185
|
+
*/
|
|
186
|
+
toolName: string;
|
|
135
187
|
/** The category that the tool belongs to */
|
|
136
188
|
category: ToolCategory;
|
|
137
189
|
/** The type of operation the tool performs */
|
|
@@ -147,9 +199,9 @@ export type ToolClass = {
|
|
|
147
199
|
*
|
|
148
200
|
* To create a custom tool, you must:
|
|
149
201
|
* 1. Extend the `ToolBase` class
|
|
150
|
-
* 2. Define static properties: `category
|
|
151
|
-
* 3. Implement required abstract members: `
|
|
152
|
-
* `
|
|
202
|
+
* 2. Define static properties: `toolName`, `category`, and `operationType`
|
|
203
|
+
* 3. Implement required abstract members: `description`, `argsShape`,
|
|
204
|
+
* `execute()`, `resolveTelemetryMetadata()`
|
|
153
205
|
*
|
|
154
206
|
* @example Basic Custom Tool
|
|
155
207
|
* ```typescript
|
|
@@ -158,12 +210,12 @@ export type ToolClass = {
|
|
|
158
210
|
* import { z } from "zod";
|
|
159
211
|
*
|
|
160
212
|
* class MyCustomTool extends ToolBase {
|
|
161
|
-
* // Required static
|
|
213
|
+
* // Required static properties for ToolClass conformance
|
|
214
|
+
* static toolName = "my-custom-tool";
|
|
162
215
|
* static category: ToolCategory = "mongodb";
|
|
163
216
|
* static operationType: OperationType = "read";
|
|
164
217
|
*
|
|
165
218
|
* // Required abstract properties
|
|
166
|
-
* override name = "my-custom-tool";
|
|
167
219
|
* public description = "My custom tool description";
|
|
168
220
|
* public argsShape = {
|
|
169
221
|
* query: z.string().describe("The query parameter"),
|
|
@@ -202,6 +254,7 @@ export type ToolClass = {
|
|
|
202
254
|
*
|
|
203
255
|
* The following properties are automatically set when the tool is instantiated
|
|
204
256
|
* by the server (derived from the static properties):
|
|
257
|
+
* - `name` - The tool's unique name (from static `toolName`)
|
|
205
258
|
* - `category` - The tool's category (from static `category`)
|
|
206
259
|
* - `operationType` - The tool's operation type (from static `operationType`)
|
|
207
260
|
*
|
|
@@ -215,19 +268,19 @@ export type ToolClass = {
|
|
|
215
268
|
* @see {@link ToolConstructorParams} for the parameters passed to the
|
|
216
269
|
* constructor
|
|
217
270
|
*/
|
|
218
|
-
export declare abstract class ToolBase {
|
|
271
|
+
export declare abstract class ToolBase<TUserConfig extends UserConfig = UserConfig, TContext = unknown> {
|
|
219
272
|
/**
|
|
220
273
|
* The unique name of this tool.
|
|
221
274
|
*
|
|
222
275
|
* Must be unique across all tools in the server.
|
|
223
276
|
*/
|
|
224
|
-
|
|
277
|
+
readonly name: string;
|
|
225
278
|
/**
|
|
226
279
|
* The category of this tool.
|
|
227
280
|
*
|
|
228
281
|
* @see {@link ToolCategory} for the available tool categories.
|
|
229
282
|
*/
|
|
230
|
-
category: ToolCategory;
|
|
283
|
+
readonly category: ToolCategory;
|
|
231
284
|
/**
|
|
232
285
|
* The type of operation this tool performs.
|
|
233
286
|
*
|
|
@@ -236,7 +289,7 @@ export declare abstract class ToolBase {
|
|
|
236
289
|
*
|
|
237
290
|
* @see {@link OperationType} for the available tool operations.
|
|
238
291
|
*/
|
|
239
|
-
operationType: OperationType;
|
|
292
|
+
readonly operationType: OperationType;
|
|
240
293
|
/**
|
|
241
294
|
* Human-readable description of what the tool does.
|
|
242
295
|
*
|
|
@@ -316,11 +369,12 @@ export declare abstract class ToolBase {
|
|
|
316
369
|
* result conforming to the MCP protocol.
|
|
317
370
|
*
|
|
318
371
|
* @param args - The validated arguments passed to the tool
|
|
372
|
+
* @param context - The execution context containing signal and optional request info
|
|
319
373
|
* @returns A promise resolving to the tool execution result
|
|
320
374
|
*
|
|
321
375
|
* @example
|
|
322
376
|
* ```typescript
|
|
323
|
-
* protected async execute(args: { query: string }): Promise<CallToolResult> {
|
|
377
|
+
* protected async execute(args: { query: string }, context): Promise<CallToolResult> {
|
|
324
378
|
* const results = await this.session.db.collection('items').find({
|
|
325
379
|
* name: { $regex: args.query, $options: 'i' }
|
|
326
380
|
* }).toArray();
|
|
@@ -334,9 +388,9 @@ export declare abstract class ToolBase {
|
|
|
334
388
|
* }
|
|
335
389
|
* ```
|
|
336
390
|
*/
|
|
337
|
-
protected abstract execute(args: ToolArgs<typeof this.argsShape>,
|
|
391
|
+
protected abstract execute(args: ToolArgs<typeof this.argsShape>, context: ToolExecutionContext): Promise<CallToolResult>;
|
|
338
392
|
/** This is used internally by the server to invoke the tool. It can also be run manually to call the tool directly. */
|
|
339
|
-
invoke(args: ToolArgs<typeof this.argsShape>,
|
|
393
|
+
invoke(args: ToolArgs<typeof this.argsShape>, context: ToolExecutionContext): Promise<CallToolResult>;
|
|
340
394
|
/**
|
|
341
395
|
* Get the confirmation message shown to users when this tool requires
|
|
342
396
|
* explicit approval.
|
|
@@ -380,7 +434,7 @@ export declare abstract class ToolBase {
|
|
|
380
434
|
* settings including connection strings, feature flags, and operational
|
|
381
435
|
* limits.
|
|
382
436
|
*/
|
|
383
|
-
protected readonly config:
|
|
437
|
+
protected readonly config: TUserConfig;
|
|
384
438
|
/**
|
|
385
439
|
* Access to the telemetry service. Use this to emit custom telemetry events
|
|
386
440
|
* if needed.
|
|
@@ -392,8 +446,25 @@ export declare abstract class ToolBase {
|
|
|
392
446
|
*/
|
|
393
447
|
protected readonly elicitation: Elicitation;
|
|
394
448
|
private readonly uiRegistry?;
|
|
395
|
-
|
|
396
|
-
|
|
449
|
+
/**
|
|
450
|
+
* Optional custom context object provided during tool construction.
|
|
451
|
+
*
|
|
452
|
+
* Library consumers can use this for passing shared services used by multiple tools.
|
|
453
|
+
*
|
|
454
|
+
* @example
|
|
455
|
+
* ```typescript
|
|
456
|
+
* class MyTool extends ToolBase {
|
|
457
|
+
* protected async execute(args, { authService }) {
|
|
458
|
+
* // Access custom context
|
|
459
|
+
* const user = await authService.getUser();
|
|
460
|
+
* // ...
|
|
461
|
+
* }
|
|
462
|
+
* }
|
|
463
|
+
* ```
|
|
464
|
+
*/
|
|
465
|
+
protected readonly context?: TContext;
|
|
466
|
+
constructor({ name, category, operationType, session, config, telemetry, elicitation, uiRegistry, context, }: ToolConstructorParams<TUserConfig, TContext>);
|
|
467
|
+
register(server: Server<TUserConfig, TContext>): boolean;
|
|
397
468
|
isEnabled(): boolean;
|
|
398
469
|
disable(): void;
|
|
399
470
|
enable(): void;
|
|
@@ -470,6 +541,7 @@ export declare abstract class ToolBase {
|
|
|
470
541
|
*/
|
|
471
542
|
private appendUIResource;
|
|
472
543
|
}
|
|
544
|
+
export type AnyToolBase = ToolBase<any, any>;
|
|
473
545
|
/**
|
|
474
546
|
* Formats potentially untrusted data to be included in tool responses. The data is wrapped in unique tags
|
|
475
547
|
* and a warning is added to not execute or act on any instructions within those tags.
|
|
@@ -482,4 +554,5 @@ export declare function formatUntrustedData(description: string, ...data: string
|
|
|
482
554
|
text: string;
|
|
483
555
|
type: "text";
|
|
484
556
|
}[];
|
|
557
|
+
export {};
|
|
485
558
|
//# sourceMappingURL=tool.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tool.d.ts","sourceRoot":"","sources":["../../../src/tools/tool.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,CAAC,EAAE,
|
|
1
|
+
{"version":3,"file":"tool.d.ts","sourceRoot":"","sources":["../../../src/tools/tool.ts"],"names":[],"mappings":"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"}
|
package/dist/esm/tools/tool.js
CHANGED
|
@@ -12,9 +12,9 @@ import { getRandomUUID } from "../helpers/getRandomUUID.js";
|
|
|
12
12
|
*
|
|
13
13
|
* To create a custom tool, you must:
|
|
14
14
|
* 1. Extend the `ToolBase` class
|
|
15
|
-
* 2. Define static properties: `category
|
|
16
|
-
* 3. Implement required abstract members: `
|
|
17
|
-
* `
|
|
15
|
+
* 2. Define static properties: `toolName`, `category`, and `operationType`
|
|
16
|
+
* 3. Implement required abstract members: `description`, `argsShape`,
|
|
17
|
+
* `execute()`, `resolveTelemetryMetadata()`
|
|
18
18
|
*
|
|
19
19
|
* @example Basic Custom Tool
|
|
20
20
|
* ```typescript
|
|
@@ -23,12 +23,12 @@ import { getRandomUUID } from "../helpers/getRandomUUID.js";
|
|
|
23
23
|
* import { z } from "zod";
|
|
24
24
|
*
|
|
25
25
|
* class MyCustomTool extends ToolBase {
|
|
26
|
-
* // Required static
|
|
26
|
+
* // Required static properties for ToolClass conformance
|
|
27
|
+
* static toolName = "my-custom-tool";
|
|
27
28
|
* static category: ToolCategory = "mongodb";
|
|
28
29
|
* static operationType: OperationType = "read";
|
|
29
30
|
*
|
|
30
31
|
* // Required abstract properties
|
|
31
|
-
* override name = "my-custom-tool";
|
|
32
32
|
* public description = "My custom tool description";
|
|
33
33
|
* public argsShape = {
|
|
34
34
|
* query: z.string().describe("The query parameter"),
|
|
@@ -67,6 +67,7 @@ import { getRandomUUID } from "../helpers/getRandomUUID.js";
|
|
|
67
67
|
*
|
|
68
68
|
* The following properties are automatically set when the tool is instantiated
|
|
69
69
|
* by the server (derived from the static properties):
|
|
70
|
+
* - `name` - The tool's unique name (from static `toolName`)
|
|
70
71
|
* - `category` - The tool's category (from static `category`)
|
|
71
72
|
* - `operationType` - The tool's operation type (from static `operationType`)
|
|
72
73
|
*
|
|
@@ -144,7 +145,7 @@ export class ToolBase {
|
|
|
144
145
|
};
|
|
145
146
|
}
|
|
146
147
|
/** This is used internally by the server to invoke the tool. It can also be run manually to call the tool directly. */
|
|
147
|
-
async invoke(args,
|
|
148
|
+
async invoke(args, context) {
|
|
148
149
|
let startTime = Date.now();
|
|
149
150
|
try {
|
|
150
151
|
if (this.requiresConfirmation()) {
|
|
@@ -162,6 +163,7 @@ export class ToolBase {
|
|
|
162
163
|
text: `User did not confirm the execution of the \`${this.name}\` tool so the operation was not performed.`,
|
|
163
164
|
},
|
|
164
165
|
],
|
|
166
|
+
isError: true,
|
|
165
167
|
};
|
|
166
168
|
}
|
|
167
169
|
// We do not want to include the elicitation time in the tool execution time
|
|
@@ -175,7 +177,7 @@ export class ToolBase {
|
|
|
175
177
|
message: `Executing tool ${this.name}`,
|
|
176
178
|
noRedaction: true,
|
|
177
179
|
});
|
|
178
|
-
const toolCallResult = await this.execute(args,
|
|
180
|
+
const toolCallResult = await this.execute(args, context);
|
|
179
181
|
const result = await this.appendUIResource(toolCallResult);
|
|
180
182
|
this.emitToolEvent(args, { startTime, result });
|
|
181
183
|
this.session.logger.debug({
|
|
@@ -240,7 +242,8 @@ export class ToolBase {
|
|
|
240
242
|
}
|
|
241
243
|
return this.elicitation.requestConfirmation(this.getConfirmationMessage(args));
|
|
242
244
|
}
|
|
243
|
-
constructor({ category, operationType, session, config, telemetry, elicitation, uiRegistry, }) {
|
|
245
|
+
constructor({ name, category, operationType, session, config, telemetry, elicitation, uiRegistry, context, }) {
|
|
246
|
+
this.name = name;
|
|
244
247
|
this.category = category;
|
|
245
248
|
this.operationType = operationType;
|
|
246
249
|
this.session = session;
|
|
@@ -248,6 +251,7 @@ export class ToolBase {
|
|
|
248
251
|
this.telemetry = telemetry;
|
|
249
252
|
this.elicitation = elicitation;
|
|
250
253
|
this.uiRegistry = uiRegistry;
|
|
254
|
+
this.context = context;
|
|
251
255
|
}
|
|
252
256
|
register(server) {
|
|
253
257
|
if (!this.verifyAllowed()) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tool.js","sourceRoot":"","sources":["../../../src/tools/tool.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"tool.js","sourceRoot":"","sources":["../../../src/tools/tool.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,KAAK,EAAE,MAAM,qBAAqB,CAAC;AAQ5C,OAAO,EAAE,gBAAgB,EAAmB,MAAM,gBAAgB,CAAC;AACnE,OAAO,EAAE,wBAAwB,EAAsB,MAAM,4BAA4B,CAAC;AAC1F,OAAO,EAAE,aAAa,EAAE,MAAM,6BAA6B,CAAC;AAkM5D;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8EG;AACH,MAAM,OAAgB,QAAQ;IA0E1B,IAAW,WAAW;QAClB,MAAM,WAAW,GAAoB;YACjC,KAAK,EAAE,IAAI,CAAC,IAAI;SACnB,CAAC;QAEF,QAAQ,IAAI,CAAC,aAAa,EAAE,CAAC;YACzB,KAAK,MAAM,CAAC;YACZ,KAAK,UAAU,CAAC;YAChB,KAAK,SAAS;gBACV,WAAW,CAAC,YAAY,GAAG,IAAI,CAAC;gBAChC,WAAW,CAAC,eAAe,GAAG,KAAK,CAAC;gBACpC,MAAM;YACV,KAAK,QAAQ;gBACT,WAAW,CAAC,YAAY,GAAG,KAAK,CAAC;gBACjC,WAAW,CAAC,eAAe,GAAG,IAAI,CAAC;gBACnC,MAAM;YACV,KAAK,QAAQ,CAAC;YACd,KAAK,QAAQ;gBACT,WAAW,CAAC,eAAe,GAAG,KAAK,CAAC;gBACpC,WAAW,CAAC,YAAY,GAAG,KAAK,CAAC;gBACjC,MAAM;YACV;gBACI,MAAM;QACd,CAAC;QAED,OAAO,WAAW,CAAC;IACvB,CAAC;IAED;;;;;;;;;;;;;;;;;;;;;;OAsBG;IACH,IAAc,QAAQ;QAClB,MAAM,SAAS,GAAG,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC;QACxC,IAAI,sBAAsB,GACtB,wBAAwB,CAAC,SAA0B,CAAC,IAAI,wBAAwB,CAAC,KAAK,CAAC;QAE3F,+EAA+E;QAC/E,IAAI,SAAS,KAAK,MAAM,IAAI,IAAI,CAAC,MAAM,CAAC,aAAa,EAAE,CAAC;YACpD,sBAAsB,GAAG,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC;QACvD,CAAC;QAED,OAAO;YACH,kDAAkD;YAClD,uBAAuB,EAAE,SAAS;YAClC,+DAA+D;YAC/D,oCAAoC,EAAE,sBAAsB;SAC/D,CAAC;IACN,CAAC;IAmCD,uHAAuH;IAChH,KAAK,CAAC,MAAM,CAAC,IAAqC,EAAE,OAA6B;QACpF,IAAI,SAAS,GAAW,IAAI,CAAC,GAAG,EAAE,CAAC;QAEnC,IAAI,CAAC;YACD,IAAI,IAAI,CAAC,oBAAoB,EAAE,EAAE,CAAC;gBAC9B,IAAI,CAAC,CAAC,MAAM,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC;oBACtC,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC;wBACtB,EAAE,EAAE,KAAK,CAAC,WAAW;wBACrB,OAAO,EAAE,MAAM;wBACf,OAAO,EAAE,+CAA+C,IAAI,CAAC,IAAI,6CAA6C;wBAC9G,WAAW,EAAE,IAAI;qBACpB,CAAC,CAAC;oBACH,OAAO;wBACH,OAAO,EAAE;4BACL;gCACI,IAAI,EAAE,MAAM;gCACZ,IAAI,EAAE,+CAA+C,IAAI,CAAC,IAAI,6CAA6C;6BAC9G;yBACJ;wBACD,OAAO,EAAE,IAAI;qBAChB,CAAC;gBACN,CAAC;gBACD,4EAA4E;gBAC5E,gFAAgF;gBAChF,uDAAuD;gBACvD,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;YAC3B,CAAC;YACD,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC;gBACtB,EAAE,EAAE,KAAK,CAAC,WAAW;gBACrB,OAAO,EAAE,MAAM;gBACf,OAAO,EAAE,kBAAkB,IAAI,CAAC,IAAI,EAAE;gBACtC,WAAW,EAAE,IAAI;aACpB,CAAC,CAAC;YAEH,MAAM,cAAc,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;YACzD,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,gBAAgB,CAAC,cAAc,CAAC,CAAC;YAE3D,IAAI,CAAC,aAAa,CAAC,IAAI,EAAE,EAAE,SAAS,EAAE,MAAM,EAAE,CAAC,CAAC;YAEhD,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC;gBACtB,EAAE,EAAE,KAAK,CAAC,WAAW;gBACrB,OAAO,EAAE,MAAM;gBACf,OAAO,EAAE,iBAAiB,IAAI,CAAC,IAAI,EAAE;gBACrC,WAAW,EAAE,IAAI;aACpB,CAAC,CAAC;YACH,OAAO,MAAM,CAAC;QAClB,CAAC;QAAC,OAAO,KAAc,EAAE,CAAC;YACtB,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC;gBACtB,EAAE,EAAE,KAAK,CAAC,kBAAkB;gBAC5B,OAAO,EAAE,MAAM;gBACf,OAAO,EAAE,mBAAmB,IAAI,CAAC,IAAI,KAAK,KAAe,EAAE;aAC9D,CAAC,CAAC;YACH,MAAM,UAAU,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;YACvD,IAAI,CAAC,aAAa,CAAC,IAAI,EAAE,EAAE,SAAS,EAAE,MAAM,EAAE,UAAU,EAAE,CAAC,CAAC;YAC5D,OAAO,UAAU,CAAC;QACtB,CAAC;IACL,CAAC;IAED;;;;;;;;;;;;;;;;OAgBG;IACH,6DAA6D;IACnD,sBAAsB,CAAC,IAAqC;QAClE,OAAO,kCAAkC,IAAI,CAAC,IAAI,4EAA4E,CAAC;IACnI,CAAC;IAED,8CAA8C;IACvC,oBAAoB;QACvB,OAAO,IAAI,CAAC,MAAM,CAAC,yBAAyB,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACrE,CAAC;IAED;;;;;;;;;;;OAWG;IACI,KAAK,CAAC,eAAe,CAAC,IAAqC;QAC9D,IAAI,CAAC,IAAI,CAAC,oBAAoB,EAAE,EAAE,CAAC;YAC/B,OAAO,IAAI,CAAC;QAChB,CAAC;QAED,OAAO,IAAI,CAAC,WAAW,CAAC,mBAAmB,CAAC,IAAI,CAAC,sBAAsB,CAAC,IAAI,CAAC,CAAC,CAAC;IACnF,CAAC;IA8CD,YAAY,EACR,IAAI,EACJ,QAAQ,EACR,aAAa,EACb,OAAO,EACP,MAAM,EACN,SAAS,EACT,WAAW,EACX,UAAU,EACV,OAAO,GACoC;QAC3C,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;QACzB,IAAI,CAAC,aAAa,GAAG,aAAa,CAAC;QACnC,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;QACvB,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QACrB,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;QAC3B,IAAI,CAAC,WAAW,GAAG,WAAW,CAAC;QAC/B,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC;QAC7B,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;IAC3B,CAAC;IAEM,QAAQ,CAAC,MAAqC;QACjD,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE,EAAE,CAAC;YACxB,OAAO,KAAK,CAAC;QACjB,CAAC;QAED,IAAI,CAAC,cAAc;YACf,oGAAoG;YACpG,mGAAmG;YACnG,iCAAiC;YAE7B,MAAM,CAAC,SAAS,CAAC,YAWpB,CACG,IAAI,CAAC,IAAI,EACT;gBACI,WAAW,EAAE,IAAI,CAAC,WAAW;gBAC7B,WAAW,EAAE,IAAI,CAAC,SAAS;gBAC3B,YAAY,EAAE,IAAI,CAAC,YAAY;gBAC/B,WAAW,EAAE,IAAI,CAAC,WAAW;gBAC7B,KAAK,EAAE,IAAI,CAAC,QAAQ;aACvB,EACD,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CACzB,CAAC;QAEN,OAAO,IAAI,CAAC;IAChB,CAAC;IAEM,SAAS;QACZ,OAAO,IAAI,CAAC,cAAc,EAAE,OAAO,IAAI,KAAK,CAAC;IACjD,CAAC;IAEM,OAAO;QACV,IAAI,CAAC,IAAI,CAAC,cAAc,EAAE,CAAC;YACvB,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,OAAO,CAAC;gBACxB,EAAE,EAAE,KAAK,CAAC,kBAAkB;gBAC5B,OAAO,EAAE,UAAU,IAAI,CAAC,IAAI,EAAE;gBAC9B,OAAO,EAAE,yDAAyD;aACrE,CAAC,CAAC;YACH,OAAO;QACX,CAAC;QACD,IAAI,CAAC,cAAc,CAAC,OAAO,EAAE,CAAC;IAClC,CAAC;IAEM,MAAM;QACT,IAAI,CAAC,IAAI,CAAC,cAAc,EAAE,CAAC;YACvB,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,OAAO,CAAC;gBACxB,EAAE,EAAE,KAAK,CAAC,kBAAkB;gBAC5B,OAAO,EAAE,UAAU,IAAI,CAAC,IAAI,EAAE;gBAC9B,OAAO,EAAE,wDAAwD;aACpE,CAAC,CAAC;YACH,OAAO;QACX,CAAC;QACD,IAAI,CAAC,cAAc,CAAC,MAAM,EAAE,CAAC;IACjC,CAAC;IAED,yDAAyD;IAC/C,aAAa;QACnB,IAAI,kBAAsC,CAAC;QAE3C,6BAA6B;QAC7B,IAAI,IAAI,CAAC,MAAM,CAAC,QAAQ,IAAI,CAAC,CAAC,MAAM,EAAE,UAAU,EAAE,SAAS,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,aAAa,CAAC,EAAE,CAAC;YACxF,kBAAkB,GAAG,oDAAoD,IAAI,CAAC,aAAa,KAAK,CAAC;QACrG,CAAC;aAAM,IAAI,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC;YAC3D,kBAAkB,GAAG,mBAAmB,IAAI,CAAC,QAAQ,KAAK,CAAC;QAC/D,CAAC;aAAM,IAAI,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,QAAQ,CAAC,IAAI,CAAC,aAAa,CAAC,EAAE,CAAC;YAChE,kBAAkB,GAAG,yBAAyB,IAAI,CAAC,aAAa,KAAK,CAAC;QAC1E,CAAC;aAAM,IAAI,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;YACvD,kBAAkB,GAAG,IAAI,CAAC;QAC9B,CAAC;QAED,IAAI,kBAAkB,EAAE,CAAC;YACrB,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC;gBACtB,EAAE,EAAE,KAAK,CAAC,YAAY;gBACtB,OAAO,EAAE,MAAM;gBACf,OAAO,EAAE,6BAA6B,IAAI,CAAC,IAAI,YAAY,kBAAkB,4BAA4B;gBACzG,WAAW,EAAE,IAAI;aACpB,CAAC,CAAC;YAEH,OAAO,KAAK,CAAC;QACjB,CAAC;QAED,OAAO,IAAI,CAAC;IAChB,CAAC;IAED;;;;;;;;;;;;;;;;;;;;;;;;;;OA0BG;IACH,0EAA0E;IAChE,WAAW,CACjB,KAAc;IACd,6DAA6D;IAC7D,IAAiD;QAEjD,OAAO;YACH,OAAO,EAAE;gBACL;oBACI,IAAI,EAAE,MAAM;oBACZ,IAAI,EAAE,iBAAiB,IAAI,CAAC,IAAI,KAAK,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE;iBAChG;aACJ;YACD,OAAO,EAAE,IAAI;SAChB,CAAC;IACN,CAAC;IA+BD;;;;;OAKG;IACK,aAAa,CACjB,IAAqC,EACrC,EAAE,SAAS,EAAE,MAAM,EAAiD;QAEpE,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,kBAAkB,EAAE,EAAE,CAAC;YACvC,OAAO;QACX,CAAC;QACD,MAAM,QAAQ,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,SAAS,CAAC;QACxC,MAAM,QAAQ,GAAG,IAAI,CAAC,wBAAwB,CAAC,IAAI,EAAE,EAAE,MAAM,EAAE,CAAC,CAAC;QACjE,MAAM,KAAK,GAAc;YACrB,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;YACnC,MAAM,EAAE,QAAQ;YAChB,UAAU,EAAE;gBACR,OAAO,EAAE,IAAI,CAAC,IAAI;gBAClB,QAAQ,EAAE,IAAI,CAAC,QAAQ;gBACvB,SAAS,EAAE,MAAM;gBACjB,WAAW,EAAE,QAAQ;gBACrB,MAAM,EAAE,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS;gBAC9C,GAAG,QAAQ;aACd;SACJ,CAAC;QAEF,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC;IACvC,CAAC;IAES,gBAAgB,CAAC,OAAuB;QAC9C,OAAO,IAAI,CAAC,MAAM,CAAC,eAAe,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;IACzD,CAAC;IAES,yBAAyB;QAC/B,MAAM,QAAQ,GAAuB,EAAE,CAAC;QAExC,IAAI,IAAI,CAAC,OAAO,KAAK,SAAS,EAAE,CAAC;YAC7B,OAAO,QAAQ,CAAC;QACpB,CAAC;QAED,IAAI,IAAI,CAAC,OAAO,CAAC,oBAAoB,KAAK,SAAS,EAAE,CAAC;YAClD,QAAQ,CAAC,oBAAoB,GAAG,IAAI,CAAC,OAAO,CAAC,oBAAoB,CAAC,QAAQ,CAAC;YAC3E,QAAQ,CAAC,oBAAoB,GAAG,IAAI,CAAC,OAAO,CAAC,oBAAoB,CAAC,QAAQ,CAAC;QAC/E,CAAC;QAED,IAAI,IAAI,CAAC,OAAO,CAAC,qBAAqB,KAAK,SAAS,EAAE,CAAC;YACnD,IAAI,IAAI,CAAC,OAAO,CAAC,qBAAqB,CAAC,SAAS,EAAE,CAAC;gBAC/C,QAAQ,CAAC,UAAU,GAAG,IAAI,CAAC,OAAO,CAAC,qBAAqB,CAAC,SAAS,CAAC;YACvE,CAAC;QACL,CAAC;QAED,OAAO,QAAQ,CAAC;IACpB,CAAC;IAED;;;;;OAKG;IACK,KAAK,CAAC,gBAAgB,CAAC,MAAsB;QACjD,IAAI,CAAC,IAAI,CAAC,gBAAgB,CAAC,OAAO,CAAC,EAAE,CAAC;YAClC,OAAO,MAAM,CAAC;QAClB,CAAC;QAED,IAAI,UAAkC,CAAC;QACvC,IAAI,IAAI,CAAC,UAAU,EAAE,CAAC;YAClB,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YACpD,IAAI,CAAC,MAAM,IAAI,CAAC,MAAM,CAAC,iBAAiB,EAAE,CAAC;gBACvC,OAAO,MAAM,CAAC;YAClB,CAAC;YACD,UAAU,GAAG,gBAAgB,CAAC;gBAC1B,GAAG,EAAE,QAAQ,IAAI,CAAC,IAAI,EAAE;gBACxB,OAAO,EAAE;oBACL,IAAI,EAAE,SAAS;oBACf,UAAU,EAAE,MAAM;iBACrB;gBACD,QAAQ,EAAE,MAAM;gBAChB,UAAU,EAAE;oBACR,qBAAqB,EAAE,MAAM,CAAC,iBAAiB;iBAClD;aACJ,CAAC,CAAC;QACP,CAAC;QAED,MAAM,aAAa,GAAG,MAAM,CAAC,OAAO,IAAI,EAAE,CAAC;QAC3C,MAAM,OAAO,GAAG,UAAU,CAAC,CAAC,CAAC,CAAC,GAAG,aAAa,EAAE,UAAU,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC;QAE5E,OAAO;YACH,GAAG,MAAM;YACT,OAAO;SACV,CAAC;IACN,CAAC;CACJ;AAKD;;;;;;;GAOG;AACH,MAAM,UAAU,mBAAmB,CAAC,WAAmB,EAAE,GAAG,IAAc;IACtE,MAAM,IAAI,GAAG,aAAa,EAAE,CAAC;IAE7B,MAAM,UAAU,GAAG,wBAAwB,IAAI,GAAG,CAAC;IACnD,MAAM,UAAU,GAAG,yBAAyB,IAAI,GAAG,CAAC;IAEpD,MAAM,MAAM,GAAG;QACX;YACI,IAAI,EAAE,WAAW;YACjB,IAAI,EAAE,MAAe;SACxB;KACJ,CAAC;IAEF,IAAI,IAAI,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAClB,MAAM,CAAC,IAAI,CAAC;YACR,IAAI,EAAE,oHAAoH,UAAU,QAAQ,UAAU;;EAEhK,UAAU;EACV,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC;EACf,UAAU;;uKAE2J,UAAU,QAAQ,UAAU,4EAA4E;YACnQ,IAAI,EAAE,MAAM;SACf,CAAC,CAAC;IACP,CAAC;IAED,OAAO,MAAM,CAAC;AAClB,CAAC"}
|