@ibm/ibmi-mcp-server 0.1.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 +88 -0
- package/dist/config/index.d.ts +100 -0
- package/dist/config/index.d.ts.map +1 -0
- package/dist/config/index.js +463 -0
- package/dist/config/index.js.map +1 -0
- package/dist/config/resolver.d.ts +32 -0
- package/dist/config/resolver.d.ts.map +1 -0
- package/dist/config/resolver.js +60 -0
- package/dist/config/resolver.js.map +1 -0
- package/dist/ibmi-mcp-server/auth/crypto.d.ts +11 -0
- package/dist/ibmi-mcp-server/auth/crypto.d.ts.map +1 -0
- package/dist/ibmi-mcp-server/auth/crypto.js +100 -0
- package/dist/ibmi-mcp-server/auth/crypto.js.map +1 -0
- package/dist/ibmi-mcp-server/auth/httpAuthEndpoint.d.ts +28 -0
- package/dist/ibmi-mcp-server/auth/httpAuthEndpoint.d.ts.map +1 -0
- package/dist/ibmi-mcp-server/auth/httpAuthEndpoint.js +243 -0
- package/dist/ibmi-mcp-server/auth/httpAuthEndpoint.js.map +1 -0
- package/dist/ibmi-mcp-server/auth/index.d.ts +9 -0
- package/dist/ibmi-mcp-server/auth/index.d.ts.map +1 -0
- package/dist/ibmi-mcp-server/auth/index.js +8 -0
- package/dist/ibmi-mcp-server/auth/index.js.map +1 -0
- package/dist/ibmi-mcp-server/auth/tokenManager.d.ts +86 -0
- package/dist/ibmi-mcp-server/auth/tokenManager.d.ts.map +1 -0
- package/dist/ibmi-mcp-server/auth/tokenManager.js +214 -0
- package/dist/ibmi-mcp-server/auth/tokenManager.js.map +1 -0
- package/dist/ibmi-mcp-server/auth/types.d.ts +31 -0
- package/dist/ibmi-mcp-server/auth/types.d.ts.map +1 -0
- package/dist/ibmi-mcp-server/auth/types.js +5 -0
- package/dist/ibmi-mcp-server/auth/types.js.map +1 -0
- package/dist/ibmi-mcp-server/index.d.ts +8 -0
- package/dist/ibmi-mcp-server/index.d.ts.map +1 -0
- package/dist/ibmi-mcp-server/index.js +126 -0
- package/dist/ibmi-mcp-server/index.js.map +1 -0
- package/dist/ibmi-mcp-server/resources/toolsetsResource/index.d.ts +7 -0
- package/dist/ibmi-mcp-server/resources/toolsetsResource/index.d.ts.map +1 -0
- package/dist/ibmi-mcp-server/resources/toolsetsResource/index.js +7 -0
- package/dist/ibmi-mcp-server/resources/toolsetsResource/index.js.map +1 -0
- package/dist/ibmi-mcp-server/resources/toolsetsResource/logic.d.ts +106 -0
- package/dist/ibmi-mcp-server/resources/toolsetsResource/logic.d.ts.map +1 -0
- package/dist/ibmi-mcp-server/resources/toolsetsResource/logic.js +145 -0
- package/dist/ibmi-mcp-server/resources/toolsetsResource/logic.js.map +1 -0
- package/dist/ibmi-mcp-server/resources/toolsetsResource/registration.d.ts +16 -0
- package/dist/ibmi-mcp-server/resources/toolsetsResource/registration.d.ts.map +1 -0
- package/dist/ibmi-mcp-server/resources/toolsetsResource/registration.js +110 -0
- package/dist/ibmi-mcp-server/resources/toolsetsResource/registration.js.map +1 -0
- package/dist/ibmi-mcp-server/schemas/common.d.ts +174 -0
- package/dist/ibmi-mcp-server/schemas/common.d.ts.map +1 -0
- package/dist/ibmi-mcp-server/schemas/common.js +119 -0
- package/dist/ibmi-mcp-server/schemas/common.js.map +1 -0
- package/dist/ibmi-mcp-server/schemas/config.d.ts +858 -0
- package/dist/ibmi-mcp-server/schemas/config.d.ts.map +1 -0
- package/dist/ibmi-mcp-server/schemas/config.js +248 -0
- package/dist/ibmi-mcp-server/schemas/config.js.map +1 -0
- package/dist/ibmi-mcp-server/schemas/index.d.ts +12 -0
- package/dist/ibmi-mcp-server/schemas/index.d.ts.map +1 -0
- package/dist/ibmi-mcp-server/schemas/index.js +20 -0
- package/dist/ibmi-mcp-server/schemas/index.js.map +1 -0
- package/dist/ibmi-mcp-server/schemas/tools.d.ts +287 -0
- package/dist/ibmi-mcp-server/schemas/tools.d.ts.map +1 -0
- package/dist/ibmi-mcp-server/schemas/tools.js +167 -0
- package/dist/ibmi-mcp-server/schemas/tools.js.map +1 -0
- package/dist/ibmi-mcp-server/services/authenticatedPoolManager.d.ts +82 -0
- package/dist/ibmi-mcp-server/services/authenticatedPoolManager.d.ts.map +1 -0
- package/dist/ibmi-mcp-server/services/authenticatedPoolManager.js +262 -0
- package/dist/ibmi-mcp-server/services/authenticatedPoolManager.js.map +1 -0
- package/dist/ibmi-mcp-server/services/baseConnectionPool.d.ts +130 -0
- package/dist/ibmi-mcp-server/services/baseConnectionPool.d.ts.map +1 -0
- package/dist/ibmi-mcp-server/services/baseConnectionPool.js +431 -0
- package/dist/ibmi-mcp-server/services/baseConnectionPool.js.map +1 -0
- package/dist/ibmi-mcp-server/services/connectionPool.d.ts +60 -0
- package/dist/ibmi-mcp-server/services/connectionPool.d.ts.map +1 -0
- package/dist/ibmi-mcp-server/services/connectionPool.js +153 -0
- package/dist/ibmi-mcp-server/services/connectionPool.js.map +1 -0
- package/dist/ibmi-mcp-server/services/securityValidation.d.ts +35 -0
- package/dist/ibmi-mcp-server/services/securityValidation.d.ts.map +1 -0
- package/dist/ibmi-mcp-server/services/securityValidation.js +93 -0
- package/dist/ibmi-mcp-server/services/securityValidation.js.map +1 -0
- package/dist/ibmi-mcp-server/services/sourceManager.d.ts +82 -0
- package/dist/ibmi-mcp-server/services/sourceManager.d.ts.map +1 -0
- package/dist/ibmi-mcp-server/services/sourceManager.js +151 -0
- package/dist/ibmi-mcp-server/services/sourceManager.js.map +1 -0
- package/dist/ibmi-mcp-server/tools/executeSql/index.d.ts +9 -0
- package/dist/ibmi-mcp-server/tools/executeSql/index.d.ts.map +1 -0
- package/dist/ibmi-mcp-server/tools/executeSql/index.js +9 -0
- package/dist/ibmi-mcp-server/tools/executeSql/index.js.map +1 -0
- package/dist/ibmi-mcp-server/tools/executeSql/logic.d.ts +51 -0
- package/dist/ibmi-mcp-server/tools/executeSql/logic.d.ts.map +1 -0
- package/dist/ibmi-mcp-server/tools/executeSql/logic.js +179 -0
- package/dist/ibmi-mcp-server/tools/executeSql/logic.js.map +1 -0
- package/dist/ibmi-mcp-server/tools/executeSql/registration.d.ts +52 -0
- package/dist/ibmi-mcp-server/tools/executeSql/registration.d.ts.map +1 -0
- package/dist/ibmi-mcp-server/tools/executeSql/registration.js +161 -0
- package/dist/ibmi-mcp-server/tools/executeSql/registration.js.map +1 -0
- package/dist/ibmi-mcp-server/tools/generateSql/index.d.ts +13 -0
- package/dist/ibmi-mcp-server/tools/generateSql/index.d.ts.map +1 -0
- package/dist/ibmi-mcp-server/tools/generateSql/index.js +13 -0
- package/dist/ibmi-mcp-server/tools/generateSql/index.js.map +1 -0
- package/dist/ibmi-mcp-server/tools/generateSql/logic.d.ts +64 -0
- package/dist/ibmi-mcp-server/tools/generateSql/logic.d.ts.map +1 -0
- package/dist/ibmi-mcp-server/tools/generateSql/logic.js +190 -0
- package/dist/ibmi-mcp-server/tools/generateSql/logic.js.map +1 -0
- package/dist/ibmi-mcp-server/tools/generateSql/registration.d.ts +18 -0
- package/dist/ibmi-mcp-server/tools/generateSql/registration.d.ts.map +1 -0
- package/dist/ibmi-mcp-server/tools/generateSql/registration.js +64 -0
- package/dist/ibmi-mcp-server/tools/generateSql/registration.js.map +1 -0
- package/dist/ibmi-mcp-server/utils/cli/argumentParser.d.ts +42 -0
- package/dist/ibmi-mcp-server/utils/cli/argumentParser.d.ts.map +1 -0
- package/dist/ibmi-mcp-server/utils/cli/argumentParser.js +156 -0
- package/dist/ibmi-mcp-server/utils/cli/argumentParser.js.map +1 -0
- package/dist/ibmi-mcp-server/utils/cli/index.d.ts +6 -0
- package/dist/ibmi-mcp-server/utils/cli/index.d.ts.map +1 -0
- package/dist/ibmi-mcp-server/utils/cli/index.js +6 -0
- package/dist/ibmi-mcp-server/utils/cli/index.js.map +1 -0
- package/dist/ibmi-mcp-server/utils/config/configParser.d.ts +77 -0
- package/dist/ibmi-mcp-server/utils/config/configParser.d.ts.map +1 -0
- package/dist/ibmi-mcp-server/utils/config/configParser.js +309 -0
- package/dist/ibmi-mcp-server/utils/config/configParser.js.map +1 -0
- package/dist/ibmi-mcp-server/utils/config/toolConfigBuilder.d.ts +143 -0
- package/dist/ibmi-mcp-server/utils/config/toolConfigBuilder.d.ts.map +1 -0
- package/dist/ibmi-mcp-server/utils/config/toolConfigBuilder.js +665 -0
- package/dist/ibmi-mcp-server/utils/config/toolConfigBuilder.js.map +1 -0
- package/dist/ibmi-mcp-server/utils/config/toolConfigCache.d.ts +71 -0
- package/dist/ibmi-mcp-server/utils/config/toolConfigCache.d.ts.map +1 -0
- package/dist/ibmi-mcp-server/utils/config/toolConfigCache.js +158 -0
- package/dist/ibmi-mcp-server/utils/config/toolConfigCache.js.map +1 -0
- package/dist/ibmi-mcp-server/utils/config/toolDefinitions.d.ts +206 -0
- package/dist/ibmi-mcp-server/utils/config/toolDefinitions.d.ts.map +1 -0
- package/dist/ibmi-mcp-server/utils/config/toolDefinitions.js +236 -0
- package/dist/ibmi-mcp-server/utils/config/toolDefinitions.js.map +1 -0
- package/dist/ibmi-mcp-server/utils/config/toolFactory.d.ts +65 -0
- package/dist/ibmi-mcp-server/utils/config/toolFactory.d.ts.map +1 -0
- package/dist/ibmi-mcp-server/utils/config/toolFactory.js +236 -0
- package/dist/ibmi-mcp-server/utils/config/toolFactory.js.map +1 -0
- package/dist/ibmi-mcp-server/utils/config/toolProcessor.d.ts +175 -0
- package/dist/ibmi-mcp-server/utils/config/toolProcessor.d.ts.map +1 -0
- package/dist/ibmi-mcp-server/utils/config/toolProcessor.js +460 -0
- package/dist/ibmi-mcp-server/utils/config/toolProcessor.js.map +1 -0
- package/dist/ibmi-mcp-server/utils/config/toolsetManager.d.ts +126 -0
- package/dist/ibmi-mcp-server/utils/config/toolsetManager.d.ts.map +1 -0
- package/dist/ibmi-mcp-server/utils/config/toolsetManager.js +240 -0
- package/dist/ibmi-mcp-server/utils/config/toolsetManager.js.map +1 -0
- package/dist/ibmi-mcp-server/utils/config/types.d.ts +74 -0
- package/dist/ibmi-mcp-server/utils/config/types.d.ts.map +1 -0
- package/dist/ibmi-mcp-server/utils/config/types.js +8 -0
- package/dist/ibmi-mcp-server/utils/config/types.js.map +1 -0
- package/dist/ibmi-mcp-server/utils/security/sqlSecurityValidator.d.ts +116 -0
- package/dist/ibmi-mcp-server/utils/security/sqlSecurityValidator.d.ts.map +1 -0
- package/dist/ibmi-mcp-server/utils/security/sqlSecurityValidator.js +426 -0
- package/dist/ibmi-mcp-server/utils/security/sqlSecurityValidator.js.map +1 -0
- package/dist/ibmi-mcp-server/utils/sql/parameterProcessor.d.ts +182 -0
- package/dist/ibmi-mcp-server/utils/sql/parameterProcessor.d.ts.map +1 -0
- package/dist/ibmi-mcp-server/utils/sql/parameterProcessor.js +726 -0
- package/dist/ibmi-mcp-server/utils/sql/parameterProcessor.js.map +1 -0
- package/dist/ibmi-mcp-server/utils/sql/sqlTemplateProcessor.d.ts +90 -0
- package/dist/ibmi-mcp-server/utils/sql/sqlTemplateProcessor.d.ts.map +1 -0
- package/dist/ibmi-mcp-server/utils/sql/sqlTemplateProcessor.js +187 -0
- package/dist/ibmi-mcp-server/utils/sql/sqlTemplateProcessor.js.map +1 -0
- package/dist/index.d.ts +10 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +270 -0
- package/dist/index.js.map +1 -0
- package/dist/mcp-server/constants.d.ts +13 -0
- package/dist/mcp-server/constants.d.ts.map +1 -0
- package/dist/mcp-server/constants.js +13 -0
- package/dist/mcp-server/constants.js.map +1 -0
- package/dist/mcp-server/logging/index.d.ts +8 -0
- package/dist/mcp-server/logging/index.d.ts.map +1 -0
- package/dist/mcp-server/logging/index.js +8 -0
- package/dist/mcp-server/logging/index.js.map +1 -0
- package/dist/mcp-server/logging/setLevelHandler.d.ts +38 -0
- package/dist/mcp-server/logging/setLevelHandler.d.ts.map +1 -0
- package/dist/mcp-server/logging/setLevelHandler.js +83 -0
- package/dist/mcp-server/logging/setLevelHandler.js.map +1 -0
- package/dist/mcp-server/resources/echoResource/index.d.ts +14 -0
- package/dist/mcp-server/resources/echoResource/index.d.ts.map +1 -0
- package/dist/mcp-server/resources/echoResource/index.js +14 -0
- package/dist/mcp-server/resources/echoResource/index.js.map +1 -0
- package/dist/mcp-server/resources/echoResource/logic.d.ts +37 -0
- package/dist/mcp-server/resources/echoResource/logic.d.ts.map +1 -0
- package/dist/mcp-server/resources/echoResource/logic.js +46 -0
- package/dist/mcp-server/resources/echoResource/logic.js.map +1 -0
- package/dist/mcp-server/resources/echoResource/registration.d.ts +7 -0
- package/dist/mcp-server/resources/echoResource/registration.d.ts.map +1 -0
- package/dist/mcp-server/resources/echoResource/registration.js +51 -0
- package/dist/mcp-server/resources/echoResource/registration.js.map +1 -0
- package/dist/mcp-server/resources/index.d.ts +10 -0
- package/dist/mcp-server/resources/index.d.ts.map +1 -0
- package/dist/mcp-server/resources/index.js +19 -0
- package/dist/mcp-server/resources/index.js.map +1 -0
- package/dist/mcp-server/resources/utils/resource-utils.d.ts +43 -0
- package/dist/mcp-server/resources/utils/resource-utils.d.ts.map +1 -0
- package/dist/mcp-server/resources/utils/resource-utils.js +44 -0
- package/dist/mcp-server/resources/utils/resource-utils.js.map +1 -0
- package/dist/mcp-server/server.d.ts +23 -0
- package/dist/mcp-server/server.d.ts.map +1 -0
- package/dist/mcp-server/server.js +114 -0
- package/dist/mcp-server/server.js.map +1 -0
- package/dist/mcp-server/tools/catFactFetcher/index.d.ts +8 -0
- package/dist/mcp-server/tools/catFactFetcher/index.d.ts.map +1 -0
- package/dist/mcp-server/tools/catFactFetcher/index.js +8 -0
- package/dist/mcp-server/tools/catFactFetcher/index.js.map +1 -0
- package/dist/mcp-server/tools/catFactFetcher/logic.d.ts +52 -0
- package/dist/mcp-server/tools/catFactFetcher/logic.d.ts.map +1 -0
- package/dist/mcp-server/tools/catFactFetcher/logic.js +95 -0
- package/dist/mcp-server/tools/catFactFetcher/logic.js.map +1 -0
- package/dist/mcp-server/tools/catFactFetcher/registration.d.ts +9 -0
- package/dist/mcp-server/tools/catFactFetcher/registration.d.ts.map +1 -0
- package/dist/mcp-server/tools/catFactFetcher/registration.js +43 -0
- package/dist/mcp-server/tools/catFactFetcher/registration.js.map +1 -0
- package/dist/mcp-server/tools/echoTool/index.d.ts +13 -0
- package/dist/mcp-server/tools/echoTool/index.d.ts.map +1 -0
- package/dist/mcp-server/tools/echoTool/index.js +13 -0
- package/dist/mcp-server/tools/echoTool/index.js.map +1 -0
- package/dist/mcp-server/tools/echoTool/logic.d.ts +69 -0
- package/dist/mcp-server/tools/echoTool/logic.d.ts.map +1 -0
- package/dist/mcp-server/tools/echoTool/logic.js +119 -0
- package/dist/mcp-server/tools/echoTool/logic.js.map +1 -0
- package/dist/mcp-server/tools/echoTool/registration.d.ts +9 -0
- package/dist/mcp-server/tools/echoTool/registration.d.ts.map +1 -0
- package/dist/mcp-server/tools/echoTool/registration.js +45 -0
- package/dist/mcp-server/tools/echoTool/registration.js.map +1 -0
- package/dist/mcp-server/tools/imageTest/index.d.ts +7 -0
- package/dist/mcp-server/tools/imageTest/index.d.ts.map +1 -0
- package/dist/mcp-server/tools/imageTest/index.js +7 -0
- package/dist/mcp-server/tools/imageTest/index.js.map +1 -0
- package/dist/mcp-server/tools/imageTest/logic.d.ts +27 -0
- package/dist/mcp-server/tools/imageTest/logic.d.ts.map +1 -0
- package/dist/mcp-server/tools/imageTest/logic.js +44 -0
- package/dist/mcp-server/tools/imageTest/logic.js.map +1 -0
- package/dist/mcp-server/tools/imageTest/registration.d.ts +9 -0
- package/dist/mcp-server/tools/imageTest/registration.d.ts.map +1 -0
- package/dist/mcp-server/tools/imageTest/registration.js +49 -0
- package/dist/mcp-server/tools/imageTest/registration.js.map +1 -0
- package/dist/mcp-server/tools/index.d.ts +4 -0
- package/dist/mcp-server/tools/index.d.ts.map +1 -0
- package/dist/mcp-server/tools/index.js +13 -0
- package/dist/mcp-server/tools/index.js.map +1 -0
- package/dist/mcp-server/tools/utils/tool-utils.d.ts +43 -0
- package/dist/mcp-server/tools/utils/tool-utils.d.ts.map +1 -0
- package/dist/mcp-server/tools/utils/tool-utils.js +44 -0
- package/dist/mcp-server/tools/utils/tool-utils.js.map +1 -0
- package/dist/mcp-server/transports/auth/authFactory.d.ts +11 -0
- package/dist/mcp-server/transports/auth/authFactory.d.ts.map +1 -0
- package/dist/mcp-server/transports/auth/authFactory.js +46 -0
- package/dist/mcp-server/transports/auth/authFactory.js.map +1 -0
- package/dist/mcp-server/transports/auth/authMiddleware.d.ts +20 -0
- package/dist/mcp-server/transports/auth/authMiddleware.d.ts.map +1 -0
- package/dist/mcp-server/transports/auth/authMiddleware.js +58 -0
- package/dist/mcp-server/transports/auth/authMiddleware.js.map +1 -0
- package/dist/mcp-server/transports/auth/index.d.ts +14 -0
- package/dist/mcp-server/transports/auth/index.d.ts.map +1 -0
- package/dist/mcp-server/transports/auth/index.js +12 -0
- package/dist/mcp-server/transports/auth/index.js.map +1 -0
- package/dist/mcp-server/transports/auth/lib/authContext.d.ts +34 -0
- package/dist/mcp-server/transports/auth/lib/authContext.d.ts.map +1 -0
- package/dist/mcp-server/transports/auth/lib/authContext.js +25 -0
- package/dist/mcp-server/transports/auth/lib/authContext.js.map +1 -0
- package/dist/mcp-server/transports/auth/lib/authTypes.d.ts +15 -0
- package/dist/mcp-server/transports/auth/lib/authTypes.d.ts.map +1 -0
- package/dist/mcp-server/transports/auth/lib/authTypes.js +9 -0
- package/dist/mcp-server/transports/auth/lib/authTypes.js.map +1 -0
- package/dist/mcp-server/transports/auth/lib/authUtils.d.ts +19 -0
- package/dist/mcp-server/transports/auth/lib/authUtils.d.ts.map +1 -0
- package/dist/mcp-server/transports/auth/lib/authUtils.js +53 -0
- package/dist/mcp-server/transports/auth/lib/authUtils.js.map +1 -0
- package/dist/mcp-server/transports/auth/strategies/authStrategy.d.ts +18 -0
- package/dist/mcp-server/transports/auth/strategies/authStrategy.d.ts.map +1 -0
- package/dist/mcp-server/transports/auth/strategies/authStrategy.js +2 -0
- package/dist/mcp-server/transports/auth/strategies/authStrategy.js.map +1 -0
- package/dist/mcp-server/transports/auth/strategies/ibmiTokenStrategy.d.ts +21 -0
- package/dist/mcp-server/transports/auth/strategies/ibmiTokenStrategy.d.ts.map +1 -0
- package/dist/mcp-server/transports/auth/strategies/ibmiTokenStrategy.js +64 -0
- package/dist/mcp-server/transports/auth/strategies/ibmiTokenStrategy.js.map +1 -0
- package/dist/mcp-server/transports/auth/strategies/jwtStrategy.d.ts +8 -0
- package/dist/mcp-server/transports/auth/strategies/jwtStrategy.d.ts.map +1 -0
- package/dist/mcp-server/transports/auth/strategies/jwtStrategy.js +118 -0
- package/dist/mcp-server/transports/auth/strategies/jwtStrategy.js.map +1 -0
- package/dist/mcp-server/transports/auth/strategies/oauthStrategy.d.ts +8 -0
- package/dist/mcp-server/transports/auth/strategies/oauthStrategy.d.ts.map +1 -0
- package/dist/mcp-server/transports/auth/strategies/oauthStrategy.js +118 -0
- package/dist/mcp-server/transports/auth/strategies/oauthStrategy.js.map +1 -0
- package/dist/mcp-server/transports/core/autoTransportManager.d.ts +48 -0
- package/dist/mcp-server/transports/core/autoTransportManager.d.ts.map +1 -0
- package/dist/mcp-server/transports/core/autoTransportManager.js +57 -0
- package/dist/mcp-server/transports/core/autoTransportManager.js.map +1 -0
- package/dist/mcp-server/transports/core/baseTransportManager.d.ts +17 -0
- package/dist/mcp-server/transports/core/baseTransportManager.d.ts.map +1 -0
- package/dist/mcp-server/transports/core/baseTransportManager.js +20 -0
- package/dist/mcp-server/transports/core/baseTransportManager.js.map +1 -0
- package/dist/mcp-server/transports/core/headerUtils.d.ts +27 -0
- package/dist/mcp-server/transports/core/headerUtils.d.ts.map +1 -0
- package/dist/mcp-server/transports/core/headerUtils.js +53 -0
- package/dist/mcp-server/transports/core/headerUtils.js.map +1 -0
- package/dist/mcp-server/transports/core/honoNodeBridge.d.ts +77 -0
- package/dist/mcp-server/transports/core/honoNodeBridge.d.ts.map +1 -0
- package/dist/mcp-server/transports/core/honoNodeBridge.js +150 -0
- package/dist/mcp-server/transports/core/honoNodeBridge.js.map +1 -0
- package/dist/mcp-server/transports/core/statefulTransportManager.d.ts +81 -0
- package/dist/mcp-server/transports/core/statefulTransportManager.d.ts.map +1 -0
- package/dist/mcp-server/transports/core/statefulTransportManager.js +326 -0
- package/dist/mcp-server/transports/core/statefulTransportManager.js.map +1 -0
- package/dist/mcp-server/transports/core/statelessTransportManager.d.ts +57 -0
- package/dist/mcp-server/transports/core/statelessTransportManager.d.ts.map +1 -0
- package/dist/mcp-server/transports/core/statelessTransportManager.js +151 -0
- package/dist/mcp-server/transports/core/statelessTransportManager.js.map +1 -0
- package/dist/mcp-server/transports/core/transportRequest.d.ts +9 -0
- package/dist/mcp-server/transports/core/transportRequest.d.ts.map +1 -0
- package/dist/mcp-server/transports/core/transportRequest.js +2 -0
- package/dist/mcp-server/transports/core/transportRequest.js.map +1 -0
- package/dist/mcp-server/transports/core/transportTypes.d.ts +112 -0
- package/dist/mcp-server/transports/core/transportTypes.d.ts.map +1 -0
- package/dist/mcp-server/transports/core/transportTypes.js +15 -0
- package/dist/mcp-server/transports/core/transportTypes.js.map +1 -0
- package/dist/mcp-server/transports/http/httpErrorHandler.d.ts +25 -0
- package/dist/mcp-server/transports/http/httpErrorHandler.d.ts.map +1 -0
- package/dist/mcp-server/transports/http/httpErrorHandler.js +86 -0
- package/dist/mcp-server/transports/http/httpErrorHandler.js.map +1 -0
- package/dist/mcp-server/transports/http/httpTransport.d.ts +27 -0
- package/dist/mcp-server/transports/http/httpTransport.d.ts.map +1 -0
- package/dist/mcp-server/transports/http/httpTransport.js +407 -0
- package/dist/mcp-server/transports/http/httpTransport.js.map +1 -0
- package/dist/mcp-server/transports/http/httpTypes.d.ts +17 -0
- package/dist/mcp-server/transports/http/httpTypes.d.ts.map +1 -0
- package/dist/mcp-server/transports/http/httpTypes.js +6 -0
- package/dist/mcp-server/transports/http/httpTypes.js.map +1 -0
- package/dist/mcp-server/transports/http/index.d.ts +8 -0
- package/dist/mcp-server/transports/http/index.d.ts.map +1 -0
- package/dist/mcp-server/transports/http/index.js +7 -0
- package/dist/mcp-server/transports/http/index.js.map +1 -0
- package/dist/mcp-server/transports/http/mcpTransportMiddleware.d.ts +21 -0
- package/dist/mcp-server/transports/http/mcpTransportMiddleware.d.ts.map +1 -0
- package/dist/mcp-server/transports/http/mcpTransportMiddleware.js +54 -0
- package/dist/mcp-server/transports/http/mcpTransportMiddleware.js.map +1 -0
- package/dist/mcp-server/transports/stdio/index.d.ts +6 -0
- package/dist/mcp-server/transports/stdio/index.d.ts.map +1 -0
- package/dist/mcp-server/transports/stdio/index.js +6 -0
- package/dist/mcp-server/transports/stdio/index.js.map +1 -0
- package/dist/mcp-server/transports/stdio/stdioTransport.d.ts +43 -0
- package/dist/mcp-server/transports/stdio/stdioTransport.d.ts.map +1 -0
- package/dist/mcp-server/transports/stdio/stdioTransport.js +71 -0
- package/dist/mcp-server/transports/stdio/stdioTransport.js.map +1 -0
- package/dist/services/duck-db/duckDBConnectionManager.d.ts +55 -0
- package/dist/services/duck-db/duckDBConnectionManager.d.ts.map +1 -0
- package/dist/services/duck-db/duckDBConnectionManager.js +184 -0
- package/dist/services/duck-db/duckDBConnectionManager.js.map +1 -0
- package/dist/services/duck-db/duckDBQueryExecutor.d.ts +18 -0
- package/dist/services/duck-db/duckDBQueryExecutor.d.ts.map +1 -0
- package/dist/services/duck-db/duckDBQueryExecutor.js +115 -0
- package/dist/services/duck-db/duckDBQueryExecutor.js.map +1 -0
- package/dist/services/duck-db/duckDBService.d.ts +27 -0
- package/dist/services/duck-db/duckDBService.d.ts.map +1 -0
- package/dist/services/duck-db/duckDBService.js +151 -0
- package/dist/services/duck-db/duckDBService.js.map +1 -0
- package/dist/services/duck-db/types.d.ts +135 -0
- package/dist/services/duck-db/types.d.ts.map +1 -0
- package/dist/services/duck-db/types.js +6 -0
- package/dist/services/duck-db/types.js.map +1 -0
- package/dist/services/llm-providers/openRouterProvider.d.ts +36 -0
- package/dist/services/llm-providers/openRouterProvider.d.ts.map +1 -0
- package/dist/services/llm-providers/openRouterProvider.js +235 -0
- package/dist/services/llm-providers/openRouterProvider.js.map +1 -0
- package/dist/services/supabase/supabaseClient.d.ts +25 -0
- package/dist/services/supabase/supabaseClient.d.ts.map +1 -0
- package/dist/services/supabase/supabaseClient.js +68 -0
- package/dist/services/supabase/supabaseClient.js.map +1 -0
- package/dist/storage/duckdbExample.d.ts +8 -0
- package/dist/storage/duckdbExample.d.ts.map +1 -0
- package/dist/storage/duckdbExample.js +197 -0
- package/dist/storage/duckdbExample.js.map +1 -0
- package/dist/types-global/errors.d.ts +101 -0
- package/dist/types-global/errors.d.ts.map +1 -0
- package/dist/types-global/errors.js +109 -0
- package/dist/types-global/errors.js.map +1 -0
- package/dist/utils/formatting/index.d.ts +10 -0
- package/dist/utils/formatting/index.d.ts.map +1 -0
- package/dist/utils/formatting/index.js +10 -0
- package/dist/utils/formatting/index.js.map +1 -0
- package/dist/utils/formatting/markdownBuilder.d.ts +348 -0
- package/dist/utils/formatting/markdownBuilder.d.ts.map +1 -0
- package/dist/utils/formatting/markdownBuilder.js +501 -0
- package/dist/utils/formatting/markdownBuilder.js.map +1 -0
- package/dist/utils/formatting/sqlFormattingUtils.d.ts +69 -0
- package/dist/utils/formatting/sqlFormattingUtils.d.ts.map +1 -0
- package/dist/utils/formatting/sqlFormattingUtils.js +131 -0
- package/dist/utils/formatting/sqlFormattingUtils.js.map +1 -0
- package/dist/utils/formatting/tableFormatter.d.ts +268 -0
- package/dist/utils/formatting/tableFormatter.d.ts.map +1 -0
- package/dist/utils/formatting/tableFormatter.js +550 -0
- package/dist/utils/formatting/tableFormatter.js.map +1 -0
- package/dist/utils/index.d.ts +13 -0
- package/dist/utils/index.d.ts.map +1 -0
- package/dist/utils/index.js +21 -0
- package/dist/utils/index.js.map +1 -0
- package/dist/utils/internal/asyncContext.d.ts +35 -0
- package/dist/utils/internal/asyncContext.d.ts.map +1 -0
- package/dist/utils/internal/asyncContext.js +38 -0
- package/dist/utils/internal/asyncContext.js.map +1 -0
- package/dist/utils/internal/errorHandler.d.ts +95 -0
- package/dist/utils/internal/errorHandler.d.ts.map +1 -0
- package/dist/utils/internal/errorHandler.js +210 -0
- package/dist/utils/internal/errorHandler.js.map +1 -0
- package/dist/utils/internal/index.d.ts +12 -0
- package/dist/utils/internal/index.d.ts.map +1 -0
- package/dist/utils/internal/index.js +12 -0
- package/dist/utils/internal/index.js.map +1 -0
- package/dist/utils/internal/logger.d.ts +30 -0
- package/dist/utils/internal/logger.d.ts.map +1 -0
- package/dist/utils/internal/logger.js +228 -0
- package/dist/utils/internal/logger.js.map +1 -0
- package/dist/utils/internal/logging-helpers.d.ts +49 -0
- package/dist/utils/internal/logging-helpers.d.ts.map +1 -0
- package/dist/utils/internal/logging-helpers.js +60 -0
- package/dist/utils/internal/logging-helpers.js.map +1 -0
- package/dist/utils/internal/performance.d.ts +19 -0
- package/dist/utils/internal/performance.d.ts.map +1 -0
- package/dist/utils/internal/performance.js +110 -0
- package/dist/utils/internal/performance.js.map +1 -0
- package/dist/utils/internal/requestContext.d.ts +41 -0
- package/dist/utils/internal/requestContext.d.ts.map +1 -0
- package/dist/utils/internal/requestContext.js +47 -0
- package/dist/utils/internal/requestContext.js.map +1 -0
- package/dist/utils/metrics/index.d.ts +8 -0
- package/dist/utils/metrics/index.d.ts.map +1 -0
- package/dist/utils/metrics/index.js +8 -0
- package/dist/utils/metrics/index.js.map +1 -0
- package/dist/utils/metrics/tokenCounter.d.ts +36 -0
- package/dist/utils/metrics/tokenCounter.d.ts.map +1 -0
- package/dist/utils/metrics/tokenCounter.js +115 -0
- package/dist/utils/metrics/tokenCounter.js.map +1 -0
- package/dist/utils/network/fetchWithTimeout.d.ts +22 -0
- package/dist/utils/network/fetchWithTimeout.d.ts.map +1 -0
- package/dist/utils/network/fetchWithTimeout.js +78 -0
- package/dist/utils/network/fetchWithTimeout.js.map +1 -0
- package/dist/utils/network/index.d.ts +7 -0
- package/dist/utils/network/index.d.ts.map +1 -0
- package/dist/utils/network/index.js +6 -0
- package/dist/utils/network/index.js.map +1 -0
- package/dist/utils/parsing/dateParser.d.ts +73 -0
- package/dist/utils/parsing/dateParser.d.ts.map +1 -0
- package/dist/utils/parsing/dateParser.js +108 -0
- package/dist/utils/parsing/dateParser.js.map +1 -0
- package/dist/utils/parsing/index.d.ts +9 -0
- package/dist/utils/parsing/index.d.ts.map +1 -0
- package/dist/utils/parsing/index.js +9 -0
- package/dist/utils/parsing/index.js.map +1 -0
- package/dist/utils/parsing/jsonParser.d.ts +83 -0
- package/dist/utils/parsing/jsonParser.d.ts.map +1 -0
- package/dist/utils/parsing/jsonParser.js +128 -0
- package/dist/utils/parsing/jsonParser.js.map +1 -0
- package/dist/utils/scheduling/index.d.ts +7 -0
- package/dist/utils/scheduling/index.d.ts.map +1 -0
- package/dist/utils/scheduling/index.js +7 -0
- package/dist/utils/scheduling/index.js.map +1 -0
- package/dist/utils/scheduling/scheduler.d.ts +73 -0
- package/dist/utils/scheduling/scheduler.d.ts.map +1 -0
- package/dist/utils/scheduling/scheduler.js +155 -0
- package/dist/utils/scheduling/scheduler.js.map +1 -0
- package/dist/utils/security/idGenerator.d.ts +144 -0
- package/dist/utils/security/idGenerator.d.ts.map +1 -0
- package/dist/utils/security/idGenerator.js +232 -0
- package/dist/utils/security/idGenerator.js.map +1 -0
- package/dist/utils/security/index.d.ts +10 -0
- package/dist/utils/security/index.d.ts.map +1 -0
- package/dist/utils/security/index.js +10 -0
- package/dist/utils/security/index.js.map +1 -0
- package/dist/utils/security/rateLimiter.d.ts +109 -0
- package/dist/utils/security/rateLimiter.d.ts.map +1 -0
- package/dist/utils/security/rateLimiter.js +202 -0
- package/dist/utils/security/rateLimiter.js.map +1 -0
- package/dist/utils/security/sanitization.d.ts +185 -0
- package/dist/utils/security/sanitization.d.ts.map +1 -0
- package/dist/utils/security/sanitization.js +472 -0
- package/dist/utils/security/sanitization.js.map +1 -0
- package/dist/utils/telemetry/instrumentation.d.ts +8 -0
- package/dist/utils/telemetry/instrumentation.d.ts.map +1 -0
- package/dist/utils/telemetry/instrumentation.js +121 -0
- package/dist/utils/telemetry/instrumentation.js.map +1 -0
- package/dist/utils/telemetry/semconv.d.ts +16 -0
- package/dist/utils/telemetry/semconv.d.ts.map +1 -0
- package/dist/utils/telemetry/semconv.js +16 -0
- package/dist/utils/telemetry/semconv.js.map +1 -0
- package/package.json +161 -0
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @fileoverview Handles registration and error handling for the `echo_message` tool.
|
|
3
|
+
* This module acts as the "handler" layer, connecting the pure business logic to the
|
|
4
|
+
* MCP server and ensuring all outcomes (success or failure) are handled gracefully.
|
|
5
|
+
* @module src/mcp-server/tools/echoTool/registration
|
|
6
|
+
**/
|
|
7
|
+
import { JsonRpcErrorCode } from "../../../types-global/errors.js";
|
|
8
|
+
import { ErrorHandler, requestContextService } from "../../../utils/index.js";
|
|
9
|
+
import { logOperationStart, logOperationSuccess, } from "../../../utils/internal/logging-helpers.js";
|
|
10
|
+
import { createToolHandler } from "../utils/tool-utils.js";
|
|
11
|
+
import { EchoToolInputSchema, echoToolLogic, EchoToolResponseSchema, } from "./logic.js";
|
|
12
|
+
const TOOL_NAME = "echo_message";
|
|
13
|
+
const TOOL_DESCRIPTION = "Echoes a message back with optional formatting and repetition.";
|
|
14
|
+
const responseFormatter = (result) => ({
|
|
15
|
+
structuredContent: result,
|
|
16
|
+
content: [
|
|
17
|
+
{ type: "text", text: `Success: ${JSON.stringify(result, null, 2)}` },
|
|
18
|
+
],
|
|
19
|
+
});
|
|
20
|
+
export const registerEchoTool = async (server) => {
|
|
21
|
+
const registrationContext = requestContextService.createRequestContext({
|
|
22
|
+
operation: "RegisterTool",
|
|
23
|
+
toolName: TOOL_NAME,
|
|
24
|
+
});
|
|
25
|
+
logOperationStart(registrationContext, `Registering tool: '${TOOL_NAME}'`);
|
|
26
|
+
await ErrorHandler.tryCatch(async () => {
|
|
27
|
+
server.registerTool(TOOL_NAME, {
|
|
28
|
+
title: "Echo Message",
|
|
29
|
+
description: TOOL_DESCRIPTION,
|
|
30
|
+
inputSchema: EchoToolInputSchema.shape,
|
|
31
|
+
outputSchema: EchoToolResponseSchema.shape,
|
|
32
|
+
annotations: {
|
|
33
|
+
readOnlyHint: true,
|
|
34
|
+
openWorldHint: false,
|
|
35
|
+
},
|
|
36
|
+
}, createToolHandler(TOOL_NAME, echoToolLogic, responseFormatter));
|
|
37
|
+
logOperationSuccess(registrationContext, `Tool '${TOOL_NAME}' registered successfully.`);
|
|
38
|
+
}, {
|
|
39
|
+
operation: `RegisteringTool_${TOOL_NAME}`,
|
|
40
|
+
context: registrationContext,
|
|
41
|
+
errorCode: JsonRpcErrorCode.InitializationFailed,
|
|
42
|
+
critical: true,
|
|
43
|
+
});
|
|
44
|
+
};
|
|
45
|
+
//# sourceMappingURL=registration.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"registration.js","sourceRoot":"","sources":["../../../../src/mcp-server/tools/echoTool/registration.ts"],"names":[],"mappings":"AAAA;;;;;IAKI;AAGJ,OAAO,EAAE,gBAAgB,EAAE,MAAM,iCAAiC,CAAC;AACnE,OAAO,EAAE,YAAY,EAAE,qBAAqB,EAAE,MAAM,yBAAyB,CAAC;AAC9E,OAAO,EACL,iBAAiB,EACjB,mBAAmB,GACpB,MAAM,4CAA4C,CAAC;AACpD,OAAO,EAAE,iBAAiB,EAAqB,MAAM,wBAAwB,CAAC;AAC9E,OAAO,EACL,mBAAmB,EACnB,aAAa,EAEb,sBAAsB,GACvB,MAAM,YAAY,CAAC;AAEpB,MAAM,SAAS,GAAG,cAAc,CAAC;AACjC,MAAM,gBAAgB,GACpB,gEAAgE,CAAC;AAEnE,MAAM,iBAAiB,GAAwC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;IAC1E,iBAAiB,EAAE,MAAM;IACzB,OAAO,EAAE;QACP,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,YAAY,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,EAAE;KACtE;CACF,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,gBAAgB,GAAG,KAAK,EAAE,MAAiB,EAAiB,EAAE;IACzE,MAAM,mBAAmB,GAAG,qBAAqB,CAAC,oBAAoB,CAAC;QACrE,SAAS,EAAE,cAAc;QACzB,QAAQ,EAAE,SAAS;KACpB,CAAC,CAAC;IAEH,iBAAiB,CAAC,mBAAmB,EAAE,sBAAsB,SAAS,GAAG,CAAC,CAAC;IAE3E,MAAM,YAAY,CAAC,QAAQ,CACzB,KAAK,IAAI,EAAE;QACT,MAAM,CAAC,YAAY,CACjB,SAAS,EACT;YACE,KAAK,EAAE,cAAc;YACrB,WAAW,EAAE,gBAAgB;YAC7B,WAAW,EAAE,mBAAmB,CAAC,KAAK;YACtC,YAAY,EAAE,sBAAsB,CAAC,KAAK;YAC1C,WAAW,EAAE;gBACX,YAAY,EAAE,IAAI;gBAClB,aAAa,EAAE,KAAK;aACrB;SACF,EACD,iBAAiB,CAAC,SAAS,EAAE,aAAa,EAAE,iBAAiB,CAAC,CAC/D,CAAC;QAEF,mBAAmB,CACjB,mBAAmB,EACnB,SAAS,SAAS,4BAA4B,CAC/C,CAAC;IACJ,CAAC,EACD;QACE,SAAS,EAAE,mBAAmB,SAAS,EAAE;QACzC,OAAO,EAAE,mBAAmB;QAC5B,SAAS,EAAE,gBAAgB,CAAC,oBAAoB;QAChD,QAAQ,EAAE,IAAI;KACf,CACF,CAAC;AACJ,CAAC,CAAC"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @fileoverview Barrel file for the fetch_image_test tool.
|
|
3
|
+
* Exports the tool's registration function.
|
|
4
|
+
* @module src/mcp-server/tools/imageTest/index
|
|
5
|
+
*/
|
|
6
|
+
export { registerFetchImageTestTool } from "./registration.js";
|
|
7
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/mcp-server/tools/imageTest/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,0BAA0B,EAAE,MAAM,mBAAmB,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/mcp-server/tools/imageTest/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,0BAA0B,EAAE,MAAM,mBAAmB,CAAC"}
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @fileoverview Defines the core logic, schemas, and types for the `fetch_image_test` tool.
|
|
3
|
+
* This tool fetches a random cat image from the public cataas.com API.
|
|
4
|
+
* @module src/mcp-server/tools/imageTest/logic
|
|
5
|
+
**/
|
|
6
|
+
import { z } from "zod";
|
|
7
|
+
export declare const FetchImageTestInputSchema: z.ZodObject<{
|
|
8
|
+
trigger: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>;
|
|
9
|
+
}, "strip", z.ZodTypeAny, {
|
|
10
|
+
trigger: boolean;
|
|
11
|
+
}, {
|
|
12
|
+
trigger?: boolean | undefined;
|
|
13
|
+
}>;
|
|
14
|
+
export type FetchImageTestInput = z.infer<typeof FetchImageTestInputSchema>;
|
|
15
|
+
export declare const FetchImageTestResponseSchema: z.ZodObject<{
|
|
16
|
+
data: z.ZodString;
|
|
17
|
+
mimeType: z.ZodString;
|
|
18
|
+
}, "strip", z.ZodTypeAny, {
|
|
19
|
+
data: string;
|
|
20
|
+
mimeType: string;
|
|
21
|
+
}, {
|
|
22
|
+
data: string;
|
|
23
|
+
mimeType: string;
|
|
24
|
+
}>;
|
|
25
|
+
export type FetchImageTestResponse = z.infer<typeof FetchImageTestResponseSchema>;
|
|
26
|
+
export declare function fetchImageTestLogic(input: FetchImageTestInput): Promise<FetchImageTestResponse>;
|
|
27
|
+
//# sourceMappingURL=logic.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"logic.d.ts","sourceRoot":"","sources":["../../../../src/mcp-server/tools/imageTest/logic.ts"],"names":[],"mappings":"AAAA;;;;IAII;AAEJ,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AASxB,eAAO,MAAM,yBAAyB;;;;;;EAMpC,CAAC;AAEH,MAAM,MAAM,mBAAmB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,yBAAyB,CAAC,CAAC;AAE5E,eAAO,MAAM,4BAA4B;;;;;;;;;EAKvC,CAAC;AAEH,MAAM,MAAM,sBAAsB,GAAG,CAAC,CAAC,KAAK,CAC1C,OAAO,4BAA4B,CACpC,CAAC;AAIF,wBAAsB,mBAAmB,CACvC,KAAK,EAAE,mBAAmB,GACzB,OAAO,CAAC,sBAAsB,CAAC,CAqCjC"}
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @fileoverview Defines the core logic, schemas, and types for the `fetch_image_test` tool.
|
|
3
|
+
* This tool fetches a random cat image from the public cataas.com API.
|
|
4
|
+
* @module src/mcp-server/tools/imageTest/logic
|
|
5
|
+
**/
|
|
6
|
+
import { z } from "zod";
|
|
7
|
+
import { JsonRpcErrorCode, McpError } from "../../../types-global/errors.js";
|
|
8
|
+
import { fetchWithTimeout, getRequestContext, requestContextService, } from "../../../utils/index.js";
|
|
9
|
+
import { logOperationStart } from "../../../utils/internal/logging-helpers.js";
|
|
10
|
+
export const FetchImageTestInputSchema = z.object({
|
|
11
|
+
trigger: z
|
|
12
|
+
.boolean()
|
|
13
|
+
.optional()
|
|
14
|
+
.default(true)
|
|
15
|
+
.describe("A trigger to invoke the tool and fetch a new cat image."),
|
|
16
|
+
});
|
|
17
|
+
export const FetchImageTestResponseSchema = z.object({
|
|
18
|
+
data: z.string().describe("Base64 encoded image data."),
|
|
19
|
+
mimeType: z
|
|
20
|
+
.string()
|
|
21
|
+
.describe("The MIME type of the image (e.g., 'image/jpeg')."),
|
|
22
|
+
});
|
|
23
|
+
const CAT_API_URL = "https://cataas.com/cat";
|
|
24
|
+
export async function fetchImageTestLogic(input) {
|
|
25
|
+
const context = getRequestContext() ??
|
|
26
|
+
requestContextService.createRequestContext({
|
|
27
|
+
operation: "fetchImageTestLogic",
|
|
28
|
+
});
|
|
29
|
+
logOperationStart(context, `Executing 'fetch_image_test'. Trigger: ${input.trigger}`);
|
|
30
|
+
const response = await fetchWithTimeout(CAT_API_URL, 5000, context);
|
|
31
|
+
if (!response.ok) {
|
|
32
|
+
throw new McpError(JsonRpcErrorCode.ServiceUnavailable, `Image API request failed: ${response.status} ${response.statusText}`, { ...context, httpStatusCode: response.status });
|
|
33
|
+
}
|
|
34
|
+
const contentType = response.headers.get("content-type") || "";
|
|
35
|
+
if (!contentType.startsWith("image/")) {
|
|
36
|
+
throw new McpError(JsonRpcErrorCode.ServiceUnavailable, "Image API returned a non-image response.", { ...context, contentType });
|
|
37
|
+
}
|
|
38
|
+
const imageBuffer = Buffer.from(await response.arrayBuffer());
|
|
39
|
+
return {
|
|
40
|
+
data: imageBuffer.toString("base64"),
|
|
41
|
+
mimeType: contentType,
|
|
42
|
+
};
|
|
43
|
+
}
|
|
44
|
+
//# sourceMappingURL=logic.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"logic.js","sourceRoot":"","sources":["../../../../src/mcp-server/tools/imageTest/logic.ts"],"names":[],"mappings":"AAAA;;;;IAII;AAEJ,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,gBAAgB,EAAE,QAAQ,EAAE,MAAM,0BAA0B,CAAC;AACtE,OAAO,EACL,gBAAgB,EAChB,iBAAiB,EACjB,qBAAqB,GACtB,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EAAE,iBAAiB,EAAE,MAAM,qCAAqC,CAAC;AAExE,MAAM,CAAC,MAAM,yBAAyB,GAAG,CAAC,CAAC,MAAM,CAAC;IAChD,OAAO,EAAE,CAAC;SACP,OAAO,EAAE;SACT,QAAQ,EAAE;SACV,OAAO,CAAC,IAAI,CAAC;SACb,QAAQ,CAAC,yDAAyD,CAAC;CACvE,CAAC,CAAC;AAIH,MAAM,CAAC,MAAM,4BAA4B,GAAG,CAAC,CAAC,MAAM,CAAC;IACnD,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,4BAA4B,CAAC;IACvD,QAAQ,EAAE,CAAC;SACR,MAAM,EAAE;SACR,QAAQ,CAAC,kDAAkD,CAAC;CAChE,CAAC,CAAC;AAMH,MAAM,WAAW,GAAG,wBAAwB,CAAC;AAE7C,MAAM,CAAC,KAAK,UAAU,mBAAmB,CACvC,KAA0B;IAE1B,MAAM,OAAO,GACX,iBAAiB,EAAE;QACnB,qBAAqB,CAAC,oBAAoB,CAAC;YACzC,SAAS,EAAE,qBAAqB;SACjC,CAAC,CAAC;IAEL,iBAAiB,CACf,OAAO,EACP,0CAA0C,KAAK,CAAC,OAAO,EAAE,CAC1D,CAAC;IAEF,MAAM,QAAQ,GAAG,MAAM,gBAAgB,CAAC,WAAW,EAAE,IAAI,EAAE,OAAO,CAAC,CAAC;IAEpE,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC;QACjB,MAAM,IAAI,QAAQ,CAChB,gBAAgB,CAAC,kBAAkB,EACnC,6BAA6B,QAAQ,CAAC,MAAM,IAAI,QAAQ,CAAC,UAAU,EAAE,EACrE,EAAE,GAAG,OAAO,EAAE,cAAc,EAAE,QAAQ,CAAC,MAAM,EAAE,CAChD,CAAC;IACJ,CAAC;IAED,MAAM,WAAW,GAAG,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,cAAc,CAAC,IAAI,EAAE,CAAC;IAC/D,IAAI,CAAC,WAAW,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAE,CAAC;QACtC,MAAM,IAAI,QAAQ,CAChB,gBAAgB,CAAC,kBAAkB,EACnC,0CAA0C,EAC1C,EAAE,GAAG,OAAO,EAAE,WAAW,EAAE,CAC5B,CAAC;IACJ,CAAC;IAED,MAAM,WAAW,GAAG,MAAM,CAAC,IAAI,CAAC,MAAM,QAAQ,CAAC,WAAW,EAAE,CAAC,CAAC;IAE9D,OAAO;QACL,IAAI,EAAE,WAAW,CAAC,QAAQ,CAAC,QAAQ,CAAC;QACpC,QAAQ,EAAE,WAAW;KACtB,CAAC;AACJ,CAAC"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @fileoverview Handles registration of the `fetch_image_test` tool.
|
|
3
|
+
* This module acts as the "handler" layer, connecting the pure business logic to the
|
|
4
|
+
* MCP server and ensuring all outcomes (success or failure) are handled gracefully.
|
|
5
|
+
* @module src/mcp-server/tools/imageTest/registration
|
|
6
|
+
**/
|
|
7
|
+
import { McpServer } from "@modelcontextprotocol/sdk/server/mcp.js";
|
|
8
|
+
export declare const registerFetchImageTestTool: (server: McpServer) => Promise<void>;
|
|
9
|
+
//# sourceMappingURL=registration.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"registration.d.ts","sourceRoot":"","sources":["../../../../src/mcp-server/tools/imageTest/registration.ts"],"names":[],"mappings":"AAAA;;;;;IAKI;AAEJ,OAAO,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAmCpE,eAAO,MAAM,0BAA0B,GACrC,QAAQ,SAAS,KAChB,OAAO,CAAC,IAAI,CAoCd,CAAC"}
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @fileoverview Handles registration of the `fetch_image_test` tool.
|
|
3
|
+
* This module acts as the "handler" layer, connecting the pure business logic to the
|
|
4
|
+
* MCP server and ensuring all outcomes (success or failure) are handled gracefully.
|
|
5
|
+
* @module src/mcp-server/tools/imageTest/registration
|
|
6
|
+
**/
|
|
7
|
+
import { JsonRpcErrorCode } from "../../../types-global/errors.js";
|
|
8
|
+
import { ErrorHandler, requestContextService } from "../../../utils/index.js";
|
|
9
|
+
import { logOperationStart, logOperationSuccess, } from "../../../utils/internal/logging-helpers.js";
|
|
10
|
+
import { createToolHandler, } from "../../tools/utils/tool-utils.js";
|
|
11
|
+
import { FetchImageTestInputSchema, fetchImageTestLogic, FetchImageTestResponseSchema, } from "./logic.js";
|
|
12
|
+
const TOOL_NAME = "fetch_image_test";
|
|
13
|
+
const TOOL_DESCRIPTION = "Fetches a random cat image from an external API (cataas.com) and returns it as a blob. Useful for testing image handling capabilities.";
|
|
14
|
+
const responseFormatter = (result) => ({
|
|
15
|
+
structuredContent: result,
|
|
16
|
+
content: [
|
|
17
|
+
{
|
|
18
|
+
type: "image",
|
|
19
|
+
data: result.data,
|
|
20
|
+
mimeType: result.mimeType,
|
|
21
|
+
},
|
|
22
|
+
],
|
|
23
|
+
});
|
|
24
|
+
export const registerFetchImageTestTool = async (server) => {
|
|
25
|
+
const registrationContext = requestContextService.createRequestContext({
|
|
26
|
+
operation: "RegisterTool",
|
|
27
|
+
toolName: TOOL_NAME,
|
|
28
|
+
});
|
|
29
|
+
logOperationStart(registrationContext, `Registering tool: '${TOOL_NAME}'`);
|
|
30
|
+
await ErrorHandler.tryCatch(async () => {
|
|
31
|
+
server.registerTool(TOOL_NAME, {
|
|
32
|
+
title: "Fetch Cat Image",
|
|
33
|
+
description: TOOL_DESCRIPTION,
|
|
34
|
+
inputSchema: FetchImageTestInputSchema.shape,
|
|
35
|
+
outputSchema: FetchImageTestResponseSchema.shape,
|
|
36
|
+
annotations: {
|
|
37
|
+
readOnlyHint: true,
|
|
38
|
+
openWorldHint: true,
|
|
39
|
+
},
|
|
40
|
+
}, createToolHandler(TOOL_NAME, fetchImageTestLogic, responseFormatter));
|
|
41
|
+
logOperationSuccess(registrationContext, `Tool '${TOOL_NAME}' registered successfully.`);
|
|
42
|
+
}, {
|
|
43
|
+
operation: `RegisteringTool_${TOOL_NAME}`,
|
|
44
|
+
context: registrationContext,
|
|
45
|
+
errorCode: JsonRpcErrorCode.InitializationFailed,
|
|
46
|
+
critical: true,
|
|
47
|
+
});
|
|
48
|
+
};
|
|
49
|
+
//# sourceMappingURL=registration.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"registration.js","sourceRoot":"","sources":["../../../../src/mcp-server/tools/imageTest/registration.ts"],"names":[],"mappings":"AAAA;;;;;IAKI;AAGJ,OAAO,EAAE,gBAAgB,EAAE,MAAM,0BAA0B,CAAC;AAC5D,OAAO,EAAE,YAAY,EAAE,qBAAqB,EAAE,MAAM,kBAAkB,CAAC;AACvE,OAAO,EACL,iBAAiB,EACjB,mBAAmB,GACpB,MAAM,qCAAqC,CAAC;AAC7C,OAAO,EACL,iBAAiB,GAElB,MAAM,wCAAwC,CAAC;AAChD,OAAO,EACL,yBAAyB,EACzB,mBAAmB,EAEnB,4BAA4B,GAC7B,MAAM,YAAY,CAAC;AAEpB,MAAM,SAAS,GAAG,kBAAkB,CAAC;AACrC,MAAM,gBAAgB,GACpB,wIAAwI,CAAC;AAE3I,MAAM,iBAAiB,GAA8C,CACnE,MAAM,EACN,EAAE,CAAC,CAAC;IACJ,iBAAiB,EAAE,MAAM;IACzB,OAAO,EAAE;QACP;YACE,IAAI,EAAE,OAAO;YACb,IAAI,EAAE,MAAM,CAAC,IAAI;YACjB,QAAQ,EAAE,MAAM,CAAC,QAAQ;SAC1B;KACF;CACF,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,0BAA0B,GAAG,KAAK,EAC7C,MAAiB,EACF,EAAE;IACjB,MAAM,mBAAmB,GAAG,qBAAqB,CAAC,oBAAoB,CAAC;QACrE,SAAS,EAAE,cAAc;QACzB,QAAQ,EAAE,SAAS;KACpB,CAAC,CAAC;IAEH,iBAAiB,CAAC,mBAAmB,EAAE,sBAAsB,SAAS,GAAG,CAAC,CAAC;IAE3E,MAAM,YAAY,CAAC,QAAQ,CACzB,KAAK,IAAI,EAAE;QACT,MAAM,CAAC,YAAY,CACjB,SAAS,EACT;YACE,KAAK,EAAE,iBAAiB;YACxB,WAAW,EAAE,gBAAgB;YAC7B,WAAW,EAAE,yBAAyB,CAAC,KAAK;YAC5C,YAAY,EAAE,4BAA4B,CAAC,KAAK;YAChD,WAAW,EAAE;gBACX,YAAY,EAAE,IAAI;gBAClB,aAAa,EAAE,IAAI;aACpB;SACF,EACD,iBAAiB,CAAC,SAAS,EAAE,mBAAmB,EAAE,iBAAiB,CAAC,CACrE,CAAC;QACF,mBAAmB,CACjB,mBAAmB,EACnB,SAAS,SAAS,4BAA4B,CAC/C,CAAC;IACJ,CAAC,EACD;QACE,SAAS,EAAE,mBAAmB,SAAS,EAAE;QACzC,OAAO,EAAE,mBAAmB;QAC5B,SAAS,EAAE,gBAAgB,CAAC,oBAAoB;QAChD,QAAQ,EAAE,IAAI;KACf,CACF,CAAC;AACJ,CAAC,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/mcp-server/tools/index.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAQzE,yDAAyD;AACzD,eAAO,MAAM,gBAAgB,GAAU,QAAQ,SAAS,KAAG,OAAO,CAAC,IAAI,CAStE,CAAC"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { requestContextService } from "../../utils/index.js";
|
|
2
|
+
import { logOperationStart, logOperationSuccess, } from "../../utils/internal/logging-helpers.js";
|
|
3
|
+
import { registerGenerateSqlTool } from "../../ibmi-mcp-server/tools/generateSql/index.js";
|
|
4
|
+
/** Registers all available tools with the MCP server. */
|
|
5
|
+
export const registerAllTools = async (server) => {
|
|
6
|
+
const context = requestContextService.createRequestContext({
|
|
7
|
+
operation: "registerAllTools",
|
|
8
|
+
});
|
|
9
|
+
logOperationStart(context, "Starting registration of all tools...");
|
|
10
|
+
await Promise.all([registerGenerateSqlTool(server)]);
|
|
11
|
+
logOperationSuccess(context, "All tools have been registered successfully.");
|
|
12
|
+
};
|
|
13
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/mcp-server/tools/index.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,qBAAqB,EAAE,MAAM,kBAAkB,CAAC;AACzD,OAAO,EACL,iBAAiB,EACjB,mBAAmB,GACpB,MAAM,qCAAqC,CAAC;AAC7C,OAAO,EAAE,uBAAuB,EAAE,MAAM,8CAA8C,CAAC;AAEvF,yDAAyD;AACzD,MAAM,CAAC,MAAM,gBAAgB,GAAG,KAAK,EAAE,MAAiB,EAAiB,EAAE;IACzE,MAAM,OAAO,GAAG,qBAAqB,CAAC,oBAAoB,CAAC;QACzD,SAAS,EAAE,kBAAkB;KAC9B,CAAC,CAAC;IACH,iBAAiB,CAAC,OAAO,EAAE,uCAAuC,CAAC,CAAC;IAEpE,MAAM,OAAO,CAAC,GAAG,CAAC,CAAC,uBAAuB,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;IAErD,mBAAmB,CAAC,OAAO,EAAE,8CAA8C,CAAC,CAAC;AAC/E,CAAC,CAAC"}
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @fileoverview Provides a generic factory for creating MCP tool handlers.
|
|
3
|
+
* This utility centralizes common logic for performance measurement, error handling,
|
|
4
|
+
* and response formatting, reducing boilerplate in individual tool registration files.
|
|
5
|
+
* @module src/mcp-server/tools/utils/tool-utils
|
|
6
|
+
*/
|
|
7
|
+
import { CallToolResult } from "@modelcontextprotocol/sdk/types.js";
|
|
8
|
+
/**
|
|
9
|
+
* Defines the function signature for a core tool logic implementation.
|
|
10
|
+
* @template TInput The type of the validated input parameters.
|
|
11
|
+
* @template TOutput The type of the successful output from the logic.
|
|
12
|
+
* @param params The validated input parameters for the tool.
|
|
13
|
+
* @returns A promise that resolves with the tool's output.
|
|
14
|
+
*/
|
|
15
|
+
type ToolLogicFn<TInput, TOutput> = (params: TInput) => Promise<TOutput>;
|
|
16
|
+
/**
|
|
17
|
+
* Defines the function signature for formatting a successful tool logic result
|
|
18
|
+
* into the final structure expected by the MCP server.
|
|
19
|
+
* @template TOutput The type of the successful output from the logic.
|
|
20
|
+
* @param result The successful output from the tool's logic function.
|
|
21
|
+
* @returns The formatted tool response.
|
|
22
|
+
*/
|
|
23
|
+
export type ResponseFormatter<TOutput> = (result: TOutput) => CallToolResult;
|
|
24
|
+
/**
|
|
25
|
+
* A generic handler function for an MCP tool.
|
|
26
|
+
* @template TInput The type of the validated input parameters.
|
|
27
|
+
*/
|
|
28
|
+
export type McpToolHandler<TInput> = (params: TInput) => Promise<CallToolResult>;
|
|
29
|
+
/**
|
|
30
|
+
* Creates a standardized MCP tool handler.
|
|
31
|
+
* This factory wraps the core business logic with cross-cutting concerns like
|
|
32
|
+
* performance monitoring and centralized error handling.
|
|
33
|
+
*
|
|
34
|
+
* @template TInput The type of the validated input parameters.
|
|
35
|
+
* @template TOutput The type of the successful output from the logic.
|
|
36
|
+
* @param toolName The name of the tool, used for logging and metrics.
|
|
37
|
+
* @param logicFn The core business logic function for the tool.
|
|
38
|
+
* @param responseFormatter A function to format the successful output.
|
|
39
|
+
* @returns A complete MCP tool handler function.
|
|
40
|
+
*/
|
|
41
|
+
export declare function createToolHandler<TInput, TOutput>(toolName: string, logicFn: ToolLogicFn<TInput, TOutput>, responseFormatter: ResponseFormatter<TOutput>): McpToolHandler<TInput>;
|
|
42
|
+
export {};
|
|
43
|
+
//# sourceMappingURL=tool-utils.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tool-utils.d.ts","sourceRoot":"","sources":["../../../../src/mcp-server/tools/utils/tool-utils.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAQH,OAAO,EAAE,cAAc,EAAE,MAAM,oCAAoC,CAAC;AAEpE;;;;;;GAMG;AACH,KAAK,WAAW,CAAC,MAAM,EAAE,OAAO,IAAI,CAAC,MAAM,EAAE,MAAM,KAAK,OAAO,CAAC,OAAO,CAAC,CAAC;AAEzE;;;;;;GAMG;AACH,MAAM,MAAM,iBAAiB,CAAC,OAAO,IAAI,CAAC,MAAM,EAAE,OAAO,KAAK,cAAc,CAAC;AAE7E;;;GAGG;AACH,MAAM,MAAM,cAAc,CAAC,MAAM,IAAI,CACnC,MAAM,EAAE,MAAM,KACX,OAAO,CAAC,cAAc,CAAC,CAAC;AAE7B;;;;;;;;;;;GAWG;AACH,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,OAAO,EAC/C,QAAQ,EAAE,MAAM,EAChB,OAAO,EAAE,WAAW,CAAC,MAAM,EAAE,OAAO,CAAC,EACrC,iBAAiB,EAAE,iBAAiB,CAAC,OAAO,CAAC,GAC5C,cAAc,CAAC,MAAM,CAAC,CA2BxB"}
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @fileoverview Provides a generic factory for creating MCP tool handlers.
|
|
3
|
+
* This utility centralizes common logic for performance measurement, error handling,
|
|
4
|
+
* and response formatting, reducing boilerplate in individual tool registration files.
|
|
5
|
+
* @module src/mcp-server/tools/utils/tool-utils
|
|
6
|
+
*/
|
|
7
|
+
import { ErrorHandler, getRequestContext, measureToolExecution, } from "../../../utils/index.js";
|
|
8
|
+
/**
|
|
9
|
+
* Creates a standardized MCP tool handler.
|
|
10
|
+
* This factory wraps the core business logic with cross-cutting concerns like
|
|
11
|
+
* performance monitoring and centralized error handling.
|
|
12
|
+
*
|
|
13
|
+
* @template TInput The type of the validated input parameters.
|
|
14
|
+
* @template TOutput The type of the successful output from the logic.
|
|
15
|
+
* @param toolName The name of the tool, used for logging and metrics.
|
|
16
|
+
* @param logicFn The core business logic function for the tool.
|
|
17
|
+
* @param responseFormatter A function to format the successful output.
|
|
18
|
+
* @returns A complete MCP tool handler function.
|
|
19
|
+
*/
|
|
20
|
+
export function createToolHandler(toolName, logicFn, responseFormatter) {
|
|
21
|
+
return async (params) => {
|
|
22
|
+
try {
|
|
23
|
+
const result = await measureToolExecution(toolName, () => logicFn(params), params);
|
|
24
|
+
return responseFormatter(result);
|
|
25
|
+
}
|
|
26
|
+
catch (error) {
|
|
27
|
+
const mcpError = ErrorHandler.handleError(error, {
|
|
28
|
+
operation: `tool:${toolName}`,
|
|
29
|
+
context: getRequestContext(),
|
|
30
|
+
input: params,
|
|
31
|
+
});
|
|
32
|
+
return {
|
|
33
|
+
isError: true,
|
|
34
|
+
content: [{ type: "text", text: `Error: ${mcpError.message}` }],
|
|
35
|
+
structuredContent: {
|
|
36
|
+
code: mcpError.code,
|
|
37
|
+
message: mcpError.message,
|
|
38
|
+
details: mcpError.details,
|
|
39
|
+
},
|
|
40
|
+
};
|
|
41
|
+
}
|
|
42
|
+
};
|
|
43
|
+
}
|
|
44
|
+
//# sourceMappingURL=tool-utils.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tool-utils.js","sourceRoot":"","sources":["../../../../src/mcp-server/tools/utils/tool-utils.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAGH,OAAO,EACL,YAAY,EACZ,iBAAiB,EACjB,oBAAoB,GACrB,MAAM,yBAAyB,CAAC;AA6BjC;;;;;;;;;;;GAWG;AACH,MAAM,UAAU,iBAAiB,CAC/B,QAAgB,EAChB,OAAqC,EACrC,iBAA6C;IAE7C,OAAO,KAAK,EAAE,MAAc,EAAE,EAAE;QAC9B,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,MAAM,oBAAoB,CACvC,QAAQ,EACR,GAAG,EAAE,CAAC,OAAO,CAAC,MAAM,CAAC,EACrB,MAAM,CACP,CAAC;YACF,OAAO,iBAAiB,CAAC,MAAM,CAAC,CAAC;QACnC,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,QAAQ,GAAG,YAAY,CAAC,WAAW,CAAC,KAAK,EAAE;gBAC/C,SAAS,EAAE,QAAQ,QAAQ,EAAE;gBAC7B,OAAO,EAAE,iBAAiB,EAAE;gBAC5B,KAAK,EAAE,MAAM;aACd,CAAa,CAAC;YAEf,OAAO;gBACL,OAAO,EAAE,IAAI;gBACb,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,UAAU,QAAQ,CAAC,OAAO,EAAE,EAAE,CAAC;gBAC/D,iBAAiB,EAAE;oBACjB,IAAI,EAAE,QAAQ,CAAC,IAAI;oBACnB,OAAO,EAAE,QAAQ,CAAC,OAAO;oBACzB,OAAO,EAAE,QAAQ,CAAC,OAAO;iBAC1B;aACF,CAAC;QACJ,CAAC;IACH,CAAC,CAAC;AACJ,CAAC"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { AuthStrategy } from "./strategies/authStrategy.js";
|
|
2
|
+
/**
|
|
3
|
+
* Creates and returns an authentication strategy instance based on the
|
|
4
|
+
* application's configuration (`config.mcpAuthMode`).
|
|
5
|
+
*
|
|
6
|
+
* @returns An instance of a class that implements the `AuthStrategy` interface,
|
|
7
|
+
* or `null` if authentication is disabled (`none`).
|
|
8
|
+
* @throws {Error} If the auth mode is unknown or misconfigured.
|
|
9
|
+
*/
|
|
10
|
+
export declare function createAuthStrategy(): AuthStrategy | null;
|
|
11
|
+
//# sourceMappingURL=authFactory.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"authFactory.d.ts","sourceRoot":"","sources":["../../../../src/mcp-server/transports/auth/authFactory.ts"],"names":[],"mappings":"AAQA,OAAO,EAAE,YAAY,EAAE,MAAM,8BAA8B,CAAC;AAK5D;;;;;;;GAOG;AACH,wBAAgB,kBAAkB,IAAI,YAAY,GAAG,IAAI,CAgCxD"}
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @fileoverview Factory for creating an authentication strategy based on configuration.
|
|
3
|
+
* This module centralizes the logic for selecting and instantiating the correct
|
|
4
|
+
* authentication strategy, promoting loose coupling and easy extensibility.
|
|
5
|
+
* @module src/mcp-server/transports/auth/authFactory
|
|
6
|
+
*/
|
|
7
|
+
import { config } from "../../../config/index.js";
|
|
8
|
+
import { logger, requestContextService } from "../../../utils/index.js";
|
|
9
|
+
import { IBMiTokenStrategy } from "./strategies/ibmiTokenStrategy.js";
|
|
10
|
+
import { JwtStrategy } from "./strategies/jwtStrategy.js";
|
|
11
|
+
import { OauthStrategy } from "./strategies/oauthStrategy.js";
|
|
12
|
+
/**
|
|
13
|
+
* Creates and returns an authentication strategy instance based on the
|
|
14
|
+
* application's configuration (`config.mcpAuthMode`).
|
|
15
|
+
*
|
|
16
|
+
* @returns An instance of a class that implements the `AuthStrategy` interface,
|
|
17
|
+
* or `null` if authentication is disabled (`none`).
|
|
18
|
+
* @throws {Error} If the auth mode is unknown or misconfigured.
|
|
19
|
+
*/
|
|
20
|
+
export function createAuthStrategy() {
|
|
21
|
+
const context = requestContextService.createRequestContext({
|
|
22
|
+
operation: "createAuthStrategy",
|
|
23
|
+
authMode: config.mcpAuthMode,
|
|
24
|
+
});
|
|
25
|
+
logger.info(context, "Creating authentication strategy...");
|
|
26
|
+
switch (config.mcpAuthMode) {
|
|
27
|
+
case "jwt":
|
|
28
|
+
logger.debug(context, "Instantiating JWT authentication strategy.");
|
|
29
|
+
return new JwtStrategy();
|
|
30
|
+
case "oauth":
|
|
31
|
+
logger.debug(context, "Instantiating OAuth authentication strategy.");
|
|
32
|
+
return new OauthStrategy();
|
|
33
|
+
case "ibmi":
|
|
34
|
+
logger.debug(context, "Instantiating IBM i token authentication strategy.");
|
|
35
|
+
return new IBMiTokenStrategy();
|
|
36
|
+
case "none":
|
|
37
|
+
logger.info(context, "Authentication is disabled ('none' mode).");
|
|
38
|
+
return null; // No authentication
|
|
39
|
+
default:
|
|
40
|
+
// This ensures that if a new auth mode is added to the config type
|
|
41
|
+
// but not to this factory, we get a compile-time or runtime error.
|
|
42
|
+
logger.error(context, `Unknown authentication mode: ${config.mcpAuthMode}`);
|
|
43
|
+
throw new Error(`Unknown authentication mode: ${config.mcpAuthMode}`);
|
|
44
|
+
}
|
|
45
|
+
}
|
|
46
|
+
//# sourceMappingURL=authFactory.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"authFactory.js","sourceRoot":"","sources":["../../../../src/mcp-server/transports/auth/authFactory.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,OAAO,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAC;AAC3C,OAAO,EAAE,MAAM,EAAE,qBAAqB,EAAE,MAAM,kBAAkB,CAAC;AAEjE,OAAO,EAAE,iBAAiB,EAAE,MAAM,mCAAmC,CAAC;AACtE,OAAO,EAAE,WAAW,EAAE,MAAM,6BAA6B,CAAC;AAC1D,OAAO,EAAE,aAAa,EAAE,MAAM,+BAA+B,CAAC;AAE9D;;;;;;;GAOG;AACH,MAAM,UAAU,kBAAkB;IAChC,MAAM,OAAO,GAAG,qBAAqB,CAAC,oBAAoB,CAAC;QACzD,SAAS,EAAE,oBAAoB;QAC/B,QAAQ,EAAE,MAAM,CAAC,WAAW;KAC7B,CAAC,CAAC;IACH,MAAM,CAAC,IAAI,CAAC,OAAO,EAAE,qCAAqC,CAAC,CAAC;IAE5D,QAAQ,MAAM,CAAC,WAAW,EAAE,CAAC;QAC3B,KAAK,KAAK;YACR,MAAM,CAAC,KAAK,CAAC,OAAO,EAAE,4CAA4C,CAAC,CAAC;YACpE,OAAO,IAAI,WAAW,EAAE,CAAC;QAC3B,KAAK,OAAO;YACV,MAAM,CAAC,KAAK,CAAC,OAAO,EAAE,8CAA8C,CAAC,CAAC;YACtE,OAAO,IAAI,aAAa,EAAE,CAAC;QAC7B,KAAK,MAAM;YACT,MAAM,CAAC,KAAK,CACV,OAAO,EACP,oDAAoD,CACrD,CAAC;YACF,OAAO,IAAI,iBAAiB,EAAE,CAAC;QACjC,KAAK,MAAM;YACT,MAAM,CAAC,IAAI,CAAC,OAAO,EAAE,2CAA2C,CAAC,CAAC;YAClE,OAAO,IAAI,CAAC,CAAC,oBAAoB;QACnC;YACE,mEAAmE;YACnE,mEAAmE;YACnE,MAAM,CAAC,KAAK,CACV,OAAO,EACP,gCAAgC,MAAM,CAAC,WAAW,EAAE,CACrD,CAAC;YACF,MAAM,IAAI,KAAK,CAAC,gCAAgC,MAAM,CAAC,WAAW,EAAE,CAAC,CAAC;IAC1E,CAAC;AACH,CAAC"}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @fileoverview Defines a unified Hono middleware for authentication.
|
|
3
|
+
* This middleware is strategy-agnostic. It extracts a Bearer token,
|
|
4
|
+
* delegates verification to the provided authentication strategy, and
|
|
5
|
+
* populates the async-local storage context with the resulting auth info.
|
|
6
|
+
* @module src/mcp-server/transports/auth/authMiddleware
|
|
7
|
+
*/
|
|
8
|
+
import type { Context, Next } from "hono";
|
|
9
|
+
import type { HonoNodeBindings } from "../../transports/http/httpTypes.js";
|
|
10
|
+
import type { AuthStrategy } from "./strategies/authStrategy.js";
|
|
11
|
+
/**
|
|
12
|
+
* Creates a Hono middleware function that enforces authentication using a given strategy.
|
|
13
|
+
*
|
|
14
|
+
* @param strategy - An instance of a class that implements the `AuthStrategy` interface.
|
|
15
|
+
* @returns A Hono middleware function.
|
|
16
|
+
*/
|
|
17
|
+
export declare function createAuthMiddleware(strategy: AuthStrategy): (c: Context<{
|
|
18
|
+
Bindings: HonoNodeBindings;
|
|
19
|
+
}>, next: Next) => Promise<void>;
|
|
20
|
+
//# sourceMappingURL=authMiddleware.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"authMiddleware.d.ts","sourceRoot":"","sources":["../../../../src/mcp-server/transports/auth/authMiddleware.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AACH,OAAO,KAAK,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAC;AAE1C,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,2CAA2C,CAAC;AAGlF,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,8BAA8B,CAAC;AAEjE;;;;;GAKG;AACH,wBAAgB,oBAAoB,CAAC,QAAQ,EAAE,YAAY,IAEvD,GAAG,OAAO,CAAC;IAAE,QAAQ,EAAE,gBAAgB,CAAA;CAAE,CAAC,EAC1C,MAAM,IAAI,mBA0Eb"}
|
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
import { JsonRpcErrorCode, McpError } from "../../../types-global/errors.js";
|
|
2
|
+
import { ErrorHandler, logger, requestContextService } from "../../../utils/index.js";
|
|
3
|
+
import { authContext } from "./lib/authContext.js";
|
|
4
|
+
/**
|
|
5
|
+
* Creates a Hono middleware function that enforces authentication using a given strategy.
|
|
6
|
+
*
|
|
7
|
+
* @param strategy - An instance of a class that implements the `AuthStrategy` interface.
|
|
8
|
+
* @returns A Hono middleware function.
|
|
9
|
+
*/
|
|
10
|
+
export function createAuthMiddleware(strategy) {
|
|
11
|
+
return async function authMiddleware(c, next) {
|
|
12
|
+
const context = requestContextService.createRequestContext({
|
|
13
|
+
operation: "authMiddleware",
|
|
14
|
+
method: c.req.method,
|
|
15
|
+
path: c.req.path,
|
|
16
|
+
});
|
|
17
|
+
logger.debug(context, "Initiating authentication check.");
|
|
18
|
+
const authHeader = c.req.header("Authorization");
|
|
19
|
+
if (!authHeader || !authHeader.startsWith("Bearer ")) {
|
|
20
|
+
logger.warning(context, "Authorization header missing or invalid.");
|
|
21
|
+
throw new McpError(JsonRpcErrorCode.Unauthorized, "Missing or invalid Authorization header. Bearer scheme required.", context);
|
|
22
|
+
}
|
|
23
|
+
const token = authHeader.substring(7);
|
|
24
|
+
if (!token) {
|
|
25
|
+
logger.warning(context, "Bearer token is missing from Authorization header.");
|
|
26
|
+
throw new McpError(JsonRpcErrorCode.Unauthorized, "Authentication token is missing.", context);
|
|
27
|
+
}
|
|
28
|
+
logger.debug(context, "Extracted Bearer token, proceeding to verification.");
|
|
29
|
+
try {
|
|
30
|
+
const authInfo = await strategy.verify(token);
|
|
31
|
+
const authLogContext = {
|
|
32
|
+
...context,
|
|
33
|
+
clientId: authInfo.clientId,
|
|
34
|
+
subject: authInfo.subject,
|
|
35
|
+
scopes: authInfo.scopes,
|
|
36
|
+
};
|
|
37
|
+
logger.info(authLogContext, "Authentication successful. Auth context populated.");
|
|
38
|
+
// Run the next middleware in the chain within the populated auth context.
|
|
39
|
+
await authContext.run({ authInfo }, next);
|
|
40
|
+
}
|
|
41
|
+
catch (error) {
|
|
42
|
+
// The strategy is expected to throw an McpError.
|
|
43
|
+
// We re-throw it here to be caught by the global httpErrorHandler.
|
|
44
|
+
logger.warning({
|
|
45
|
+
...context,
|
|
46
|
+
error: error,
|
|
47
|
+
}, "Authentication verification failed.");
|
|
48
|
+
// Ensure consistent error handling
|
|
49
|
+
throw ErrorHandler.handleError(error, {
|
|
50
|
+
operation: "authMiddlewareVerification",
|
|
51
|
+
context,
|
|
52
|
+
rethrow: true, // Rethrow to be caught by Hono's global error handler
|
|
53
|
+
errorCode: JsonRpcErrorCode.Unauthorized, // Default to unauthorized if not more specific
|
|
54
|
+
});
|
|
55
|
+
}
|
|
56
|
+
};
|
|
57
|
+
}
|
|
58
|
+
//# sourceMappingURL=authMiddleware.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"authMiddleware.js","sourceRoot":"","sources":["../../../../src/mcp-server/transports/auth/authMiddleware.ts"],"names":[],"mappings":"AAQA,OAAO,EAAE,gBAAgB,EAAE,QAAQ,EAAE,MAAM,0BAA0B,CAAC;AAEtE,OAAO,EAAE,YAAY,EAAE,MAAM,EAAE,qBAAqB,EAAE,MAAM,kBAAkB,CAAC;AAC/E,OAAO,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AAGnD;;;;;GAKG;AACH,MAAM,UAAU,oBAAoB,CAAC,QAAsB;IACzD,OAAO,KAAK,UAAU,cAAc,CAClC,CAA0C,EAC1C,IAAU;QAEV,MAAM,OAAO,GAAG,qBAAqB,CAAC,oBAAoB,CAAC;YACzD,SAAS,EAAE,gBAAgB;YAC3B,MAAM,EAAE,CAAC,CAAC,GAAG,CAAC,MAAM;YACpB,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,IAAI;SACjB,CAAC,CAAC;QAEH,MAAM,CAAC,KAAK,CAAC,OAAO,EAAE,kCAAkC,CAAC,CAAC;QAE1D,MAAM,UAAU,GAAG,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,eAAe,CAAC,CAAC;QACjD,IAAI,CAAC,UAAU,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,SAAS,CAAC,EAAE,CAAC;YACrD,MAAM,CAAC,OAAO,CAAC,OAAO,EAAE,0CAA0C,CAAC,CAAC;YACpE,MAAM,IAAI,QAAQ,CAChB,gBAAgB,CAAC,YAAY,EAC7B,kEAAkE,EAClE,OAAO,CACR,CAAC;QACJ,CAAC;QAED,MAAM,KAAK,GAAG,UAAU,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;QACtC,IAAI,CAAC,KAAK,EAAE,CAAC;YACX,MAAM,CAAC,OAAO,CACZ,OAAO,EACP,oDAAoD,CACrD,CAAC;YACF,MAAM,IAAI,QAAQ,CAChB,gBAAgB,CAAC,YAAY,EAC7B,kCAAkC,EAClC,OAAO,CACR,CAAC;QACJ,CAAC;QAED,MAAM,CAAC,KAAK,CACV,OAAO,EACP,qDAAqD,CACtD,CAAC;QAEF,IAAI,CAAC;YACH,MAAM,QAAQ,GAAG,MAAM,QAAQ,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;YAE9C,MAAM,cAAc,GAAG;gBACrB,GAAG,OAAO;gBACV,QAAQ,EAAE,QAAQ,CAAC,QAAQ;gBAC3B,OAAO,EAAE,QAAQ,CAAC,OAAO;gBACzB,MAAM,EAAE,QAAQ,CAAC,MAAM;aACxB,CAAC;YACF,MAAM,CAAC,IAAI,CACT,cAAc,EACd,oDAAoD,CACrD,CAAC;YAEF,0EAA0E;YAC1E,MAAM,WAAW,CAAC,GAAG,CAAC,EAAE,QAAQ,EAAE,EAAE,IAAI,CAAC,CAAC;QAC5C,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,iDAAiD;YACjD,mEAAmE;YACnE,MAAM,CAAC,OAAO,CACZ;gBACE,GAAG,OAAO;gBACV,KAAK,EAAE,KAAc;aACtB,EACD,qCAAqC,CACtC,CAAC;YAEF,mCAAmC;YACnC,MAAM,YAAY,CAAC,WAAW,CAAC,KAAK,EAAE;gBACpC,SAAS,EAAE,4BAA4B;gBACvC,OAAO;gBACP,OAAO,EAAE,IAAI,EAAE,sDAAsD;gBACrE,SAAS,EAAE,gBAAgB,CAAC,YAAY,EAAE,+CAA+C;aAC1F,CAAC,CAAC;QACL,CAAC;IACH,CAAC,CAAC;AACJ,CAAC"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @fileoverview Barrel file for the auth module.
|
|
3
|
+
* Exports core utilities and middleware strategies for easier imports.
|
|
4
|
+
* @module src/mcp-server/transports/auth/index
|
|
5
|
+
*/
|
|
6
|
+
export { authContext } from "./lib/authContext.js";
|
|
7
|
+
export { withRequiredScopes } from "./lib/authUtils.js";
|
|
8
|
+
export type { AuthInfo } from "./lib/authTypes.js";
|
|
9
|
+
export { createAuthStrategy } from "./authFactory.js";
|
|
10
|
+
export { createAuthMiddleware } from "./authMiddleware.js";
|
|
11
|
+
export type { AuthStrategy } from "./strategies/authStrategy.js";
|
|
12
|
+
export { JwtStrategy } from "./strategies/jwtStrategy.js";
|
|
13
|
+
export { OauthStrategy } from "./strategies/oauthStrategy.js";
|
|
14
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/mcp-server/transports/auth/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AACnD,OAAO,EAAE,kBAAkB,EAAE,MAAM,oBAAoB,CAAC;AACxD,YAAY,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAEnD,OAAO,EAAE,kBAAkB,EAAE,MAAM,kBAAkB,CAAC;AACtD,OAAO,EAAE,oBAAoB,EAAE,MAAM,qBAAqB,CAAC;AAC3D,YAAY,EAAE,YAAY,EAAE,MAAM,8BAA8B,CAAC;AACjE,OAAO,EAAE,WAAW,EAAE,MAAM,6BAA6B,CAAC;AAC1D,OAAO,EAAE,aAAa,EAAE,MAAM,+BAA+B,CAAC"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @fileoverview Barrel file for the auth module.
|
|
3
|
+
* Exports core utilities and middleware strategies for easier imports.
|
|
4
|
+
* @module src/mcp-server/transports/auth/index
|
|
5
|
+
*/
|
|
6
|
+
export { authContext } from "./lib/authContext.js";
|
|
7
|
+
export { withRequiredScopes } from "./lib/authUtils.js";
|
|
8
|
+
export { createAuthStrategy } from "./authFactory.js";
|
|
9
|
+
export { createAuthMiddleware } from "./authMiddleware.js";
|
|
10
|
+
export { JwtStrategy } from "./strategies/jwtStrategy.js";
|
|
11
|
+
export { OauthStrategy } from "./strategies/oauthStrategy.js";
|
|
12
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/mcp-server/transports/auth/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AACnD,OAAO,EAAE,kBAAkB,EAAE,MAAM,oBAAoB,CAAC;AAGxD,OAAO,EAAE,kBAAkB,EAAE,MAAM,kBAAkB,CAAC;AACtD,OAAO,EAAE,oBAAoB,EAAE,MAAM,qBAAqB,CAAC;AAE3D,OAAO,EAAE,WAAW,EAAE,MAAM,6BAA6B,CAAC;AAC1D,OAAO,EAAE,aAAa,EAAE,MAAM,+BAA+B,CAAC"}
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @fileoverview Defines the AsyncLocalStorage context for authentication information.
|
|
3
|
+
* This module provides a mechanism to store and retrieve authentication details
|
|
4
|
+
* (like scopes and client ID) across asynchronous operations, making it available
|
|
5
|
+
* from the middleware layer down to the tool and resource handlers without
|
|
6
|
+
* drilling props.
|
|
7
|
+
*
|
|
8
|
+
* @module src/mcp-server/transports/auth/core/authContext
|
|
9
|
+
*/
|
|
10
|
+
import { AsyncLocalStorage } from "async_hooks";
|
|
11
|
+
import type { AuthInfo } from "./authTypes.js";
|
|
12
|
+
/**
|
|
13
|
+
* Defines the structure of the store used within the AsyncLocalStorage.
|
|
14
|
+
* It holds the authentication information for the current request context.
|
|
15
|
+
*/
|
|
16
|
+
interface AuthStore {
|
|
17
|
+
authInfo: AuthInfo;
|
|
18
|
+
}
|
|
19
|
+
/**
|
|
20
|
+
* An instance of AsyncLocalStorage to hold the authentication context (`AuthStore`).
|
|
21
|
+
* This allows `authInfo` to be accessible throughout the async call chain of a request
|
|
22
|
+
* after being set in the authentication middleware.
|
|
23
|
+
*
|
|
24
|
+
* @example
|
|
25
|
+
* // In middleware:
|
|
26
|
+
* await authContext.run({ authInfo }, next);
|
|
27
|
+
*
|
|
28
|
+
* // In a deeper handler:
|
|
29
|
+
* const store = authContext.getStore();
|
|
30
|
+
* const scopes = store?.authInfo.scopes;
|
|
31
|
+
*/
|
|
32
|
+
export declare const authContext: AsyncLocalStorage<AuthStore>;
|
|
33
|
+
export {};
|
|
34
|
+
//# sourceMappingURL=authContext.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"authContext.d.ts","sourceRoot":"","sources":["../../../../../src/mcp-server/transports/auth/lib/authContext.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AAChD,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAE/C;;;GAGG;AACH,UAAU,SAAS;IACjB,QAAQ,EAAE,QAAQ,CAAC;CACpB;AAED;;;;;;;;;;;;GAYG;AACH,eAAO,MAAM,WAAW,8BAAqC,CAAC"}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @fileoverview Defines the AsyncLocalStorage context for authentication information.
|
|
3
|
+
* This module provides a mechanism to store and retrieve authentication details
|
|
4
|
+
* (like scopes and client ID) across asynchronous operations, making it available
|
|
5
|
+
* from the middleware layer down to the tool and resource handlers without
|
|
6
|
+
* drilling props.
|
|
7
|
+
*
|
|
8
|
+
* @module src/mcp-server/transports/auth/core/authContext
|
|
9
|
+
*/
|
|
10
|
+
import { AsyncLocalStorage } from "async_hooks";
|
|
11
|
+
/**
|
|
12
|
+
* An instance of AsyncLocalStorage to hold the authentication context (`AuthStore`).
|
|
13
|
+
* This allows `authInfo` to be accessible throughout the async call chain of a request
|
|
14
|
+
* after being set in the authentication middleware.
|
|
15
|
+
*
|
|
16
|
+
* @example
|
|
17
|
+
* // In middleware:
|
|
18
|
+
* await authContext.run({ authInfo }, next);
|
|
19
|
+
*
|
|
20
|
+
* // In a deeper handler:
|
|
21
|
+
* const store = authContext.getStore();
|
|
22
|
+
* const scopes = store?.authInfo.scopes;
|
|
23
|
+
*/
|
|
24
|
+
export const authContext = new AsyncLocalStorage();
|
|
25
|
+
//# sourceMappingURL=authContext.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"authContext.js","sourceRoot":"","sources":["../../../../../src/mcp-server/transports/auth/lib/authContext.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AAWhD;;;;;;;;;;;;GAYG;AACH,MAAM,CAAC,MAAM,WAAW,GAAG,IAAI,iBAAiB,EAAa,CAAC"}
|