@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,167 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @fileoverview Tool runtime schema definitions
|
|
3
|
+
* Zod schemas for tool execution, responses, and runtime configurations
|
|
4
|
+
*
|
|
5
|
+
* @module src/ibmi-mcp-server/schemas/tools
|
|
6
|
+
*/
|
|
7
|
+
import { z } from "zod";
|
|
8
|
+
import { ColumnDefinitionSchema } from "./common.js";
|
|
9
|
+
/**
|
|
10
|
+
* Standardized output schema for SQL-based MCP tools.
|
|
11
|
+
* Ensures a consistent shape across all generated tool definitions.
|
|
12
|
+
*/
|
|
13
|
+
export const StandardSqlToolOutputSchema = z
|
|
14
|
+
.object({
|
|
15
|
+
success: z.boolean().describe("Whether the SQL execution succeeded"),
|
|
16
|
+
data: z.array(z.record(z.any())).describe("Rows returned by the SQL query"),
|
|
17
|
+
error: z.string().optional().describe("Error message when execution fails"),
|
|
18
|
+
errorCode: z
|
|
19
|
+
.union([z.string(), z.number()])
|
|
20
|
+
.optional()
|
|
21
|
+
.describe("Machine-readable error code when execution fails"),
|
|
22
|
+
errorDetails: z
|
|
23
|
+
.unknown()
|
|
24
|
+
.optional()
|
|
25
|
+
.describe("Any additional diagnostic information about failures"),
|
|
26
|
+
metadata: z
|
|
27
|
+
.object({
|
|
28
|
+
executionTime: z
|
|
29
|
+
.number()
|
|
30
|
+
.optional()
|
|
31
|
+
.describe("Execution duration in milliseconds"),
|
|
32
|
+
rowCount: z.number().optional().describe("Row count returned"),
|
|
33
|
+
affectedRows: z
|
|
34
|
+
.number()
|
|
35
|
+
.optional()
|
|
36
|
+
.describe("Number of rows affected for write operations"),
|
|
37
|
+
columns: z
|
|
38
|
+
.array(ColumnDefinitionSchema)
|
|
39
|
+
.optional()
|
|
40
|
+
.describe("Column metadata for the result set"),
|
|
41
|
+
parameterMode: z
|
|
42
|
+
.string()
|
|
43
|
+
.optional()
|
|
44
|
+
.describe("Parameter binding mode used during execution"),
|
|
45
|
+
parameterCount: z
|
|
46
|
+
.number()
|
|
47
|
+
.optional()
|
|
48
|
+
.describe("Number of parameters bound to the query"),
|
|
49
|
+
processedParameters: z
|
|
50
|
+
.array(z.string())
|
|
51
|
+
.optional()
|
|
52
|
+
.describe("Ordered list of parameter names processed during binding"),
|
|
53
|
+
toolName: z
|
|
54
|
+
.string()
|
|
55
|
+
.optional()
|
|
56
|
+
.describe("Name of the tool that executed this query"),
|
|
57
|
+
sqlStatement: z
|
|
58
|
+
.string()
|
|
59
|
+
.optional()
|
|
60
|
+
.describe("The SQL statement that was executed"),
|
|
61
|
+
parameters: z
|
|
62
|
+
.record(z.unknown())
|
|
63
|
+
.optional()
|
|
64
|
+
.describe("Parameters passed to the query"),
|
|
65
|
+
})
|
|
66
|
+
.optional()
|
|
67
|
+
.describe("Execution metadata including performance and parameters"),
|
|
68
|
+
})
|
|
69
|
+
.strict()
|
|
70
|
+
.describe("Standard SQL execution payload");
|
|
71
|
+
/**
|
|
72
|
+
* SQL tool execution result schema aligned with standard tool responses
|
|
73
|
+
*/
|
|
74
|
+
export const SqlToolExecutionResultSchema = z
|
|
75
|
+
.object({
|
|
76
|
+
data: z.array(z.unknown()).describe("Query result data"),
|
|
77
|
+
rowCount: z.number().describe("Number of rows returned"),
|
|
78
|
+
affectedRows: z
|
|
79
|
+
.number()
|
|
80
|
+
.optional()
|
|
81
|
+
.describe("Number of rows affected (for non-SELECT operations)"),
|
|
82
|
+
columns: z
|
|
83
|
+
.array(ColumnDefinitionSchema)
|
|
84
|
+
.optional()
|
|
85
|
+
.describe("Column metadata information"),
|
|
86
|
+
executionTime: z.number().describe("Execution time in milliseconds"),
|
|
87
|
+
parameterMetadata: z
|
|
88
|
+
.object({
|
|
89
|
+
mode: z.string().describe("Parameter binding mode"),
|
|
90
|
+
parameterCount: z.number().describe("Number of parameters processed"),
|
|
91
|
+
processedParameters: z
|
|
92
|
+
.array(z.string())
|
|
93
|
+
.describe("List of processed parameter names"),
|
|
94
|
+
})
|
|
95
|
+
.optional()
|
|
96
|
+
.describe("Parameter processing metadata"),
|
|
97
|
+
})
|
|
98
|
+
.describe("SQL tool execution result structure");
|
|
99
|
+
/**
|
|
100
|
+
* Tool processing result schema for configuration building
|
|
101
|
+
*/
|
|
102
|
+
export const ToolProcessingResultSchema = z
|
|
103
|
+
.object({
|
|
104
|
+
success: z.boolean().describe("Whether tool processing succeeded"),
|
|
105
|
+
toolConfigs: z
|
|
106
|
+
.array(z.unknown())
|
|
107
|
+
.optional()
|
|
108
|
+
.describe("Generated tool configurations (if successful)"),
|
|
109
|
+
errors: z
|
|
110
|
+
.array(z.string())
|
|
111
|
+
.optional()
|
|
112
|
+
.describe("Processing errors (if unsuccessful)"),
|
|
113
|
+
stats: z
|
|
114
|
+
.object({
|
|
115
|
+
toolCount: z.number().describe("Number of tools processed"),
|
|
116
|
+
sourceCount: z.number().describe("Number of sources referenced"),
|
|
117
|
+
toolsetCount: z.number().describe("Number of toolsets created"),
|
|
118
|
+
totalParameterCount: z
|
|
119
|
+
.number()
|
|
120
|
+
.describe("Total parameters across all tools"),
|
|
121
|
+
})
|
|
122
|
+
.optional()
|
|
123
|
+
.describe("Processing statistics"),
|
|
124
|
+
})
|
|
125
|
+
.describe("Result of tool processing operation");
|
|
126
|
+
/**
|
|
127
|
+
* Parsing result schema with validation information
|
|
128
|
+
*/
|
|
129
|
+
export const ParsingResultSchema = z
|
|
130
|
+
.object({
|
|
131
|
+
success: z.boolean().describe("Whether parsing was successful"),
|
|
132
|
+
config: z
|
|
133
|
+
.unknown()
|
|
134
|
+
.optional()
|
|
135
|
+
.describe("Parsed configuration (if successful)"),
|
|
136
|
+
errors: z
|
|
137
|
+
.array(z.string())
|
|
138
|
+
.optional()
|
|
139
|
+
.describe("Validation errors (if unsuccessful)"),
|
|
140
|
+
processedTools: z
|
|
141
|
+
.array(z.unknown())
|
|
142
|
+
.optional()
|
|
143
|
+
.describe("Processed tools ready for registration"),
|
|
144
|
+
stats: z
|
|
145
|
+
.object({
|
|
146
|
+
sourceCount: z.number().describe("Number of sources in configuration"),
|
|
147
|
+
toolCount: z.number().describe("Number of tools in configuration"),
|
|
148
|
+
enabledToolCount: z
|
|
149
|
+
.number()
|
|
150
|
+
.optional()
|
|
151
|
+
.describe("Number of enabled tools"),
|
|
152
|
+
disabledToolCount: z
|
|
153
|
+
.number()
|
|
154
|
+
.optional()
|
|
155
|
+
.describe("Number of disabled tools"),
|
|
156
|
+
toolsetCount: z
|
|
157
|
+
.number()
|
|
158
|
+
.describe("Number of toolsets in configuration"),
|
|
159
|
+
totalParameterCount: z
|
|
160
|
+
.number()
|
|
161
|
+
.describe("Total parameters across all tools"),
|
|
162
|
+
})
|
|
163
|
+
.optional()
|
|
164
|
+
.describe("Statistics about the parsed configuration"),
|
|
165
|
+
})
|
|
166
|
+
.describe("Result of YAML configuration parsing");
|
|
167
|
+
//# sourceMappingURL=tools.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tools.js","sourceRoot":"","sources":["../../../src/ibmi-mcp-server/schemas/tools.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,82 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @fileoverview Authenticated IBM i pool management system.
|
|
3
|
+
* Manages per-token Mapepire Pool instances with lifecycle management.
|
|
4
|
+
* Extends BaseConnectionPool for consistent connection management patterns.
|
|
5
|
+
*
|
|
6
|
+
* @module src/ibmi-mcp-server/services/authenticatedPoolManager
|
|
7
|
+
*/
|
|
8
|
+
import { BindingValue, QueryResult } from "@ibm/mapepire-js";
|
|
9
|
+
import { RequestContext } from "../../utils/index.js";
|
|
10
|
+
import { IBMiCredentials } from "../auth/tokenManager.js";
|
|
11
|
+
import { BaseConnectionPool } from "./baseConnectionPool.js";
|
|
12
|
+
/**
|
|
13
|
+
* Pool configuration options for authenticated sessions
|
|
14
|
+
*/
|
|
15
|
+
export interface AuthPoolOptions {
|
|
16
|
+
startingSize?: number;
|
|
17
|
+
maxSize?: number;
|
|
18
|
+
}
|
|
19
|
+
/**
|
|
20
|
+
* Pool manager for per-token authenticated IBM i connections
|
|
21
|
+
* Extends BaseConnectionPool to leverage shared connection management
|
|
22
|
+
*/
|
|
23
|
+
export declare class AuthenticatedPoolManager extends BaseConnectionPool<string> {
|
|
24
|
+
private static instance;
|
|
25
|
+
private tokenManager;
|
|
26
|
+
private credentialsMap;
|
|
27
|
+
private constructor();
|
|
28
|
+
/**
|
|
29
|
+
* Get singleton instance of AuthenticatedPoolManager
|
|
30
|
+
*/
|
|
31
|
+
static getInstance(): AuthenticatedPoolManager;
|
|
32
|
+
/**
|
|
33
|
+
* Create a new authenticated pool for a token
|
|
34
|
+
* @param token - Authentication token
|
|
35
|
+
* @param credentials - IBM i credentials
|
|
36
|
+
* @param options - Pool configuration options
|
|
37
|
+
* @param context - Request context for logging
|
|
38
|
+
* @returns Promise resolving when pool is created
|
|
39
|
+
*/
|
|
40
|
+
createPool(token: string, credentials: IBMiCredentials, options?: AuthPoolOptions, context?: RequestContext): Promise<void>;
|
|
41
|
+
/**
|
|
42
|
+
* Validate token and ensure pool is available
|
|
43
|
+
* @param token - Authentication token
|
|
44
|
+
* @param context - Request context for logging
|
|
45
|
+
* @returns Boolean indicating if token is valid and pool exists
|
|
46
|
+
*/
|
|
47
|
+
private validateTokenAndPool;
|
|
48
|
+
/**
|
|
49
|
+
* Execute a query using an authenticated pool
|
|
50
|
+
* @param token - Authentication token
|
|
51
|
+
* @param query - SQL query to execute
|
|
52
|
+
* @param params - Query parameters
|
|
53
|
+
* @param context - Request context for logging
|
|
54
|
+
* @returns Promise resolving to query result
|
|
55
|
+
*/
|
|
56
|
+
executeQuery<T = unknown>(token: string, query: string, params?: BindingValue[], context?: RequestContext): Promise<QueryResult<T>>;
|
|
57
|
+
/**
|
|
58
|
+
* Remove and close a pool by token
|
|
59
|
+
* @param token - Authentication token
|
|
60
|
+
* @param context - Request context for logging
|
|
61
|
+
* @returns Promise resolving when pool is closed
|
|
62
|
+
*/
|
|
63
|
+
removePool(token: string, context?: RequestContext): Promise<boolean>;
|
|
64
|
+
/**
|
|
65
|
+
* Clean up pools for expired tokens
|
|
66
|
+
* @param context - Request context for logging
|
|
67
|
+
*/
|
|
68
|
+
cleanupExpiredPools(context?: RequestContext): Promise<void>;
|
|
69
|
+
/**
|
|
70
|
+
* Get pool statistics
|
|
71
|
+
* @returns Statistics about authenticated pools
|
|
72
|
+
*/
|
|
73
|
+
getPoolStats(): {
|
|
74
|
+
totalPools: number;
|
|
75
|
+
poolsByUser: Record<string, number>;
|
|
76
|
+
};
|
|
77
|
+
/**
|
|
78
|
+
* Shutdown all pools and cleanup
|
|
79
|
+
*/
|
|
80
|
+
shutdown(): Promise<void>;
|
|
81
|
+
}
|
|
82
|
+
//# sourceMappingURL=authenticatedPoolManager.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"authenticatedPoolManager.d.ts","sourceRoot":"","sources":["../../../src/ibmi-mcp-server/services/authenticatedPoolManager.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,EAAE,YAAY,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAC7D,OAAO,EAEL,cAAc,EAEf,MAAM,kBAAkB,CAAC;AAG1B,OAAO,EAAgB,eAAe,EAAE,MAAM,yBAAyB,CAAC;AACxE,OAAO,EACL,kBAAkB,EAEnB,MAAM,yBAAyB,CAAC;AAEjC;;GAEG;AACH,MAAM,WAAW,eAAe;IAC9B,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED;;;GAGG;AACH,qBAAa,wBAAyB,SAAQ,kBAAkB,CAAC,MAAM,CAAC;IACtE,OAAO,CAAC,MAAM,CAAC,QAAQ,CAA2B;IAClD,OAAO,CAAC,YAAY,CAAe;IACnC,OAAO,CAAC,cAAc,CAAsC;IAE5D,OAAO;IAKP;;OAEG;IACH,MAAM,CAAC,WAAW,IAAI,wBAAwB;IAO9C;;;;;;;OAOG;IACG,UAAU,CACd,KAAK,EAAE,MAAM,EACb,WAAW,EAAE,eAAe,EAC5B,OAAO,GAAE,eAAoB,EAC7B,OAAO,CAAC,EAAE,cAAc,GACvB,OAAO,CAAC,IAAI,CAAC;IAyDhB;;;;;OAKG;YACW,oBAAoB;IAyClC;;;;;;;OAOG;IACG,YAAY,CAAC,CAAC,GAAG,OAAO,EAC5B,KAAK,EAAE,MAAM,EACb,KAAK,EAAE,MAAM,EACb,MAAM,CAAC,EAAE,YAAY,EAAE,EACvB,OAAO,CAAC,EAAE,cAAc,GACvB,OAAO,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC;IA2D1B;;;;;OAKG;IACG,UAAU,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,cAAc,GAAG,OAAO,CAAC,OAAO,CAAC;IA8C3E;;;OAGG;IACG,mBAAmB,CAAC,OAAO,CAAC,EAAE,cAAc,GAAG,OAAO,CAAC,IAAI,CAAC;IAsClE;;;OAGG;IACH,YAAY,IAAI;QACd,UAAU,EAAE,MAAM,CAAC;QACnB,WAAW,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;KACrC;IAiBD;;OAEG;IACG,QAAQ,IAAI,OAAO,CAAC,IAAI,CAAC;CAqBhC"}
|
|
@@ -0,0 +1,262 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @fileoverview Authenticated IBM i pool management system.
|
|
3
|
+
* Manages per-token Mapepire Pool instances with lifecycle management.
|
|
4
|
+
* Extends BaseConnectionPool for consistent connection management patterns.
|
|
5
|
+
*
|
|
6
|
+
* @module src/ibmi-mcp-server/services/authenticatedPoolManager
|
|
7
|
+
*/
|
|
8
|
+
import { logger, requestContextService, } from "../../utils/index.js";
|
|
9
|
+
import { ErrorHandler } from "../../utils/internal/errorHandler.js";
|
|
10
|
+
import { JsonRpcErrorCode, McpError } from "../../types-global/errors.js";
|
|
11
|
+
import { TokenManager } from "../auth/tokenManager.js";
|
|
12
|
+
import { BaseConnectionPool, } from "./baseConnectionPool.js";
|
|
13
|
+
/**
|
|
14
|
+
* Pool manager for per-token authenticated IBM i connections
|
|
15
|
+
* Extends BaseConnectionPool to leverage shared connection management
|
|
16
|
+
*/
|
|
17
|
+
export class AuthenticatedPoolManager extends BaseConnectionPool {
|
|
18
|
+
static instance;
|
|
19
|
+
tokenManager;
|
|
20
|
+
credentialsMap = new Map();
|
|
21
|
+
constructor() {
|
|
22
|
+
super();
|
|
23
|
+
this.tokenManager = TokenManager.getInstance();
|
|
24
|
+
}
|
|
25
|
+
/**
|
|
26
|
+
* Get singleton instance of AuthenticatedPoolManager
|
|
27
|
+
*/
|
|
28
|
+
static getInstance() {
|
|
29
|
+
if (!AuthenticatedPoolManager.instance) {
|
|
30
|
+
AuthenticatedPoolManager.instance = new AuthenticatedPoolManager();
|
|
31
|
+
}
|
|
32
|
+
return AuthenticatedPoolManager.instance;
|
|
33
|
+
}
|
|
34
|
+
/**
|
|
35
|
+
* Create a new authenticated pool for a token
|
|
36
|
+
* @param token - Authentication token
|
|
37
|
+
* @param credentials - IBM i credentials
|
|
38
|
+
* @param options - Pool configuration options
|
|
39
|
+
* @param context - Request context for logging
|
|
40
|
+
* @returns Promise resolving when pool is created
|
|
41
|
+
*/
|
|
42
|
+
async createPool(token, credentials, options = {}, context) {
|
|
43
|
+
const operationContext = context ||
|
|
44
|
+
requestContextService.createRequestContext({
|
|
45
|
+
operation: "createAuthenticatedPool",
|
|
46
|
+
token: token.substring(0, 10) + "...",
|
|
47
|
+
});
|
|
48
|
+
return ErrorHandler.tryCatch(async () => {
|
|
49
|
+
logger.info({
|
|
50
|
+
...operationContext,
|
|
51
|
+
user: credentials.user,
|
|
52
|
+
host: credentials.host,
|
|
53
|
+
startingSize: options.startingSize || 2,
|
|
54
|
+
maxSize: options.maxSize || 10,
|
|
55
|
+
rejectUnauthorized: credentials.rejectUnauthorized,
|
|
56
|
+
}, "Creating authenticated pool");
|
|
57
|
+
// Store credentials mapping for this token
|
|
58
|
+
this.credentialsMap.set(token, credentials);
|
|
59
|
+
// Convert IBMi credentials to pool connection config
|
|
60
|
+
const poolConfig = {
|
|
61
|
+
host: credentials.host,
|
|
62
|
+
user: credentials.user,
|
|
63
|
+
password: credentials.password,
|
|
64
|
+
port: credentials.port,
|
|
65
|
+
ignoreUnauthorized: !credentials.rejectUnauthorized,
|
|
66
|
+
maxSize: options.maxSize || 10,
|
|
67
|
+
startingSize: options.startingSize || 2,
|
|
68
|
+
};
|
|
69
|
+
// Initialize pool using base class method
|
|
70
|
+
await this.initializePool(token, poolConfig, operationContext);
|
|
71
|
+
logger.info({
|
|
72
|
+
...operationContext,
|
|
73
|
+
user: credentials.user,
|
|
74
|
+
poolCount: this.pools.size,
|
|
75
|
+
}, "Authenticated pool created successfully");
|
|
76
|
+
}, {
|
|
77
|
+
operation: "createAuthenticatedPool",
|
|
78
|
+
context: operationContext,
|
|
79
|
+
errorCode: JsonRpcErrorCode.InitializationFailed,
|
|
80
|
+
critical: false,
|
|
81
|
+
});
|
|
82
|
+
}
|
|
83
|
+
/**
|
|
84
|
+
* Validate token and ensure pool is available
|
|
85
|
+
* @param token - Authentication token
|
|
86
|
+
* @param context - Request context for logging
|
|
87
|
+
* @returns Boolean indicating if token is valid and pool exists
|
|
88
|
+
*/
|
|
89
|
+
async validateTokenAndPool(token, context) {
|
|
90
|
+
// First validate the token
|
|
91
|
+
const tokenValidation = this.tokenManager.validateToken(token, context);
|
|
92
|
+
if (!tokenValidation.valid || !tokenValidation.session) {
|
|
93
|
+
logger.debug({
|
|
94
|
+
...context,
|
|
95
|
+
error: tokenValidation.error,
|
|
96
|
+
}, "Token validation failed for pool access");
|
|
97
|
+
return false;
|
|
98
|
+
}
|
|
99
|
+
// Check if pool exists for this token
|
|
100
|
+
const poolState = this.pools.get(token);
|
|
101
|
+
if (!poolState) {
|
|
102
|
+
logger.debug({
|
|
103
|
+
...context,
|
|
104
|
+
user: tokenValidation.session.credentials.user,
|
|
105
|
+
}, "Pool not found for valid token");
|
|
106
|
+
return false;
|
|
107
|
+
}
|
|
108
|
+
logger.debug({
|
|
109
|
+
...context,
|
|
110
|
+
user: tokenValidation.session.credentials.user,
|
|
111
|
+
}, "Token and pool validation successful");
|
|
112
|
+
return true;
|
|
113
|
+
}
|
|
114
|
+
/**
|
|
115
|
+
* Execute a query using an authenticated pool
|
|
116
|
+
* @param token - Authentication token
|
|
117
|
+
* @param query - SQL query to execute
|
|
118
|
+
* @param params - Query parameters
|
|
119
|
+
* @param context - Request context for logging
|
|
120
|
+
* @returns Promise resolving to query result
|
|
121
|
+
*/
|
|
122
|
+
async executeQuery(token, query, params, context) {
|
|
123
|
+
const operationContext = context ||
|
|
124
|
+
requestContextService.createRequestContext({
|
|
125
|
+
operation: "executeAuthenticatedQuery",
|
|
126
|
+
token: token.substring(0, 10) + "...",
|
|
127
|
+
});
|
|
128
|
+
return ErrorHandler.tryCatch(async () => {
|
|
129
|
+
// Validate token and ensure pool exists
|
|
130
|
+
const isValid = await this.validateTokenAndPool(token, operationContext);
|
|
131
|
+
if (!isValid) {
|
|
132
|
+
throw new McpError(JsonRpcErrorCode.Unauthorized, "Invalid or expired authentication token");
|
|
133
|
+
}
|
|
134
|
+
logger.debug({
|
|
135
|
+
...operationContext,
|
|
136
|
+
queryLength: query.length,
|
|
137
|
+
paramCount: params?.length || 0,
|
|
138
|
+
}, "Executing authenticated query");
|
|
139
|
+
// Use base class executeQuery method
|
|
140
|
+
const result = await super.executeQuery(token, query, params, operationContext);
|
|
141
|
+
logger.debug({
|
|
142
|
+
...operationContext,
|
|
143
|
+
rowCount: result.data?.length || 0,
|
|
144
|
+
success: result.success,
|
|
145
|
+
executionTime: result.execution_time,
|
|
146
|
+
}, "Authenticated query completed");
|
|
147
|
+
return result;
|
|
148
|
+
}, {
|
|
149
|
+
operation: "executeAuthenticatedQuery",
|
|
150
|
+
context: operationContext,
|
|
151
|
+
errorCode: JsonRpcErrorCode.DatabaseError,
|
|
152
|
+
});
|
|
153
|
+
}
|
|
154
|
+
/**
|
|
155
|
+
* Remove and close a pool by token
|
|
156
|
+
* @param token - Authentication token
|
|
157
|
+
* @param context - Request context for logging
|
|
158
|
+
* @returns Promise resolving when pool is closed
|
|
159
|
+
*/
|
|
160
|
+
async removePool(token, context) {
|
|
161
|
+
const operationContext = context ||
|
|
162
|
+
requestContextService.createRequestContext({
|
|
163
|
+
operation: "removeAuthenticatedPool",
|
|
164
|
+
token: token.substring(0, 10) + "...",
|
|
165
|
+
});
|
|
166
|
+
const poolState = this.pools.get(token);
|
|
167
|
+
if (!poolState) {
|
|
168
|
+
logger.debug({ ...operationContext }, "Pool not found for removal");
|
|
169
|
+
return false;
|
|
170
|
+
}
|
|
171
|
+
try {
|
|
172
|
+
// Get credentials for logging before removal
|
|
173
|
+
const credentials = this.credentialsMap.get(token);
|
|
174
|
+
// Use base class closePool method
|
|
175
|
+
await this.closePool(token, operationContext);
|
|
176
|
+
// Clean up credentials mapping
|
|
177
|
+
this.credentialsMap.delete(token);
|
|
178
|
+
logger.info({
|
|
179
|
+
...operationContext,
|
|
180
|
+
user: credentials?.user,
|
|
181
|
+
poolCount: this.pools.size,
|
|
182
|
+
}, "Authenticated pool removed successfully");
|
|
183
|
+
return true;
|
|
184
|
+
}
|
|
185
|
+
catch (error) {
|
|
186
|
+
logger.error({
|
|
187
|
+
...operationContext,
|
|
188
|
+
error: error instanceof Error ? error.message : String(error),
|
|
189
|
+
}, "Error removing authenticated pool");
|
|
190
|
+
return false;
|
|
191
|
+
}
|
|
192
|
+
}
|
|
193
|
+
/**
|
|
194
|
+
* Clean up pools for expired tokens
|
|
195
|
+
* @param context - Request context for logging
|
|
196
|
+
*/
|
|
197
|
+
async cleanupExpiredPools(context) {
|
|
198
|
+
const operationContext = context ||
|
|
199
|
+
requestContextService.createRequestContext({
|
|
200
|
+
operation: "cleanupExpiredPools",
|
|
201
|
+
});
|
|
202
|
+
const expiredTokens = [];
|
|
203
|
+
// Check each pool's token validity
|
|
204
|
+
for (const [token] of this.pools.entries()) {
|
|
205
|
+
const tokenValidation = this.tokenManager.validateToken(token);
|
|
206
|
+
if (!tokenValidation.valid) {
|
|
207
|
+
expiredTokens.push(token);
|
|
208
|
+
}
|
|
209
|
+
}
|
|
210
|
+
// Remove expired pools
|
|
211
|
+
let cleanupCount = 0;
|
|
212
|
+
for (const token of expiredTokens) {
|
|
213
|
+
const removed = await this.removePool(token, operationContext);
|
|
214
|
+
if (removed) {
|
|
215
|
+
cleanupCount++;
|
|
216
|
+
}
|
|
217
|
+
}
|
|
218
|
+
if (cleanupCount > 0) {
|
|
219
|
+
logger.info({
|
|
220
|
+
...operationContext,
|
|
221
|
+
cleanupCount,
|
|
222
|
+
remainingPools: this.pools.size,
|
|
223
|
+
}, "Cleaned up expired pools");
|
|
224
|
+
}
|
|
225
|
+
}
|
|
226
|
+
/**
|
|
227
|
+
* Get pool statistics
|
|
228
|
+
* @returns Statistics about authenticated pools
|
|
229
|
+
*/
|
|
230
|
+
getPoolStats() {
|
|
231
|
+
const poolsByUser = {};
|
|
232
|
+
// Count pools by user from credentials map
|
|
233
|
+
for (const [token, credentials] of this.credentialsMap.entries()) {
|
|
234
|
+
if (this.pools.has(token)) {
|
|
235
|
+
const user = credentials.user;
|
|
236
|
+
poolsByUser[user] = (poolsByUser[user] || 0) + 1;
|
|
237
|
+
}
|
|
238
|
+
}
|
|
239
|
+
return {
|
|
240
|
+
totalPools: this.pools.size,
|
|
241
|
+
poolsByUser,
|
|
242
|
+
};
|
|
243
|
+
}
|
|
244
|
+
/**
|
|
245
|
+
* Shutdown all pools and cleanup
|
|
246
|
+
*/
|
|
247
|
+
async shutdown() {
|
|
248
|
+
const context = requestContextService.createRequestContext({
|
|
249
|
+
operation: "authenticatedPoolManagerShutdown",
|
|
250
|
+
});
|
|
251
|
+
const poolCount = this.pools.size;
|
|
252
|
+
// Use base class method to close all pools
|
|
253
|
+
await this.closeAllPools(context);
|
|
254
|
+
// Clean up credentials mapping
|
|
255
|
+
this.credentialsMap.clear();
|
|
256
|
+
logger.info({
|
|
257
|
+
...context,
|
|
258
|
+
closedPools: poolCount,
|
|
259
|
+
}, "Authenticated pool manager shutdown completed");
|
|
260
|
+
}
|
|
261
|
+
}
|
|
262
|
+
//# sourceMappingURL=authenticatedPoolManager.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"authenticatedPoolManager.js","sourceRoot":"","sources":["../../../src/ibmi-mcp-server/services/authenticatedPoolManager.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,130 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @fileoverview Base connection pool abstraction for IBM i connections
|
|
3
|
+
* Provides shared connection pool logic that can be extended by specific implementations
|
|
4
|
+
*
|
|
5
|
+
* @module src/services/baseConnectionPool
|
|
6
|
+
*/
|
|
7
|
+
import pkg, { BindingValue, QueryResult, DaemonServer } from "@ibm/mapepire-js";
|
|
8
|
+
declare const Pool: typeof pkg.Pool;
|
|
9
|
+
import { RequestContext } from "../../utils/internal/requestContext.js";
|
|
10
|
+
import { SqlToolSecurityConfig } from "../schemas/index.js";
|
|
11
|
+
/**
|
|
12
|
+
* Connection configuration for a pool instance
|
|
13
|
+
*/
|
|
14
|
+
export interface PoolConnectionConfig {
|
|
15
|
+
host: string;
|
|
16
|
+
user: string;
|
|
17
|
+
password: string;
|
|
18
|
+
port?: number;
|
|
19
|
+
ignoreUnauthorized?: boolean;
|
|
20
|
+
maxSize?: number;
|
|
21
|
+
startingSize?: number;
|
|
22
|
+
}
|
|
23
|
+
/**
|
|
24
|
+
* Pool instance state
|
|
25
|
+
*/
|
|
26
|
+
export interface PoolInstanceState {
|
|
27
|
+
pool: InstanceType<typeof Pool> | null;
|
|
28
|
+
isInitialized: boolean;
|
|
29
|
+
isConnecting: boolean;
|
|
30
|
+
lastHealthCheck?: Date;
|
|
31
|
+
healthStatus: "healthy" | "unhealthy" | "unknown";
|
|
32
|
+
config: PoolConnectionConfig;
|
|
33
|
+
}
|
|
34
|
+
/**
|
|
35
|
+
* Health status information
|
|
36
|
+
*/
|
|
37
|
+
export interface PoolHealth {
|
|
38
|
+
status: "healthy" | "unhealthy" | "unknown";
|
|
39
|
+
lastCheck?: Date;
|
|
40
|
+
lastError?: string;
|
|
41
|
+
initialized: boolean;
|
|
42
|
+
connecting: boolean;
|
|
43
|
+
}
|
|
44
|
+
/**
|
|
45
|
+
* Base connection pool manager that provides shared functionality
|
|
46
|
+
* for all IBM i connection pools in the application
|
|
47
|
+
*/
|
|
48
|
+
export declare abstract class BaseConnectionPool<TId extends string | symbol = string> {
|
|
49
|
+
protected pools: Map<TId, PoolInstanceState>;
|
|
50
|
+
protected initializationPromises: Map<TId, Promise<void>>;
|
|
51
|
+
/**
|
|
52
|
+
* Create a daemon server configuration from connection config
|
|
53
|
+
* @param config - Connection configuration
|
|
54
|
+
* @param context - Request context for logging
|
|
55
|
+
*/
|
|
56
|
+
protected createDaemonServer(config: PoolConnectionConfig, context: RequestContext): Promise<DaemonServer>;
|
|
57
|
+
/**
|
|
58
|
+
* Initialize a connection pool for the given identifier
|
|
59
|
+
* @param poolId - Unique identifier for the pool
|
|
60
|
+
* @param config - Connection configuration
|
|
61
|
+
* @param context - Request context for logging
|
|
62
|
+
*/
|
|
63
|
+
protected initializePool(poolId: TId, config: PoolConnectionConfig, context: RequestContext): Promise<void>;
|
|
64
|
+
/**
|
|
65
|
+
* Perform the actual initialization of a pool
|
|
66
|
+
* @private
|
|
67
|
+
*/
|
|
68
|
+
private performInitialization;
|
|
69
|
+
/**
|
|
70
|
+
* Execute a SQL query on a specific pool
|
|
71
|
+
* @param poolId - Pool identifier
|
|
72
|
+
* @param query - SQL query string
|
|
73
|
+
* @param params - Query parameters
|
|
74
|
+
* @param context - Request context for logging
|
|
75
|
+
*/
|
|
76
|
+
protected executeQuery<T = unknown>(poolId: TId, query: string, params?: BindingValue[], context?: RequestContext, securityConfig?: SqlToolSecurityConfig): Promise<QueryResult<T>>;
|
|
77
|
+
/**
|
|
78
|
+
* Execute a SQL query with automatic pagination
|
|
79
|
+
* @param poolId - Pool identifier
|
|
80
|
+
* @param query - SQL query string
|
|
81
|
+
* @param params - Query parameters
|
|
82
|
+
* @param context - Request context for logging
|
|
83
|
+
* @param fetchSize - Number of records per fetch
|
|
84
|
+
*/
|
|
85
|
+
protected executeQueryWithPagination(poolId: TId, query: string, params?: BindingValue[], context?: RequestContext, fetchSize?: number, securityConfig?: SqlToolSecurityConfig): Promise<{
|
|
86
|
+
data: unknown[];
|
|
87
|
+
success: boolean;
|
|
88
|
+
sql_rc?: unknown;
|
|
89
|
+
execution_time?: number;
|
|
90
|
+
}>;
|
|
91
|
+
/**
|
|
92
|
+
* Check the health of a specific pool
|
|
93
|
+
* @param poolId - Pool identifier
|
|
94
|
+
* @param context - Request context for logging
|
|
95
|
+
*/
|
|
96
|
+
checkPoolHealth(poolId: TId, context?: RequestContext): Promise<PoolHealth>;
|
|
97
|
+
/**
|
|
98
|
+
* Close a specific pool's connections
|
|
99
|
+
* @param poolId - Pool identifier
|
|
100
|
+
* @param context - Request context for logging
|
|
101
|
+
*/
|
|
102
|
+
closePool(poolId: TId, context?: RequestContext): Promise<void>;
|
|
103
|
+
/**
|
|
104
|
+
* Close all connection pools gracefully
|
|
105
|
+
|
|
106
|
+
/**
|
|
107
|
+
* Close all connection pools gracefully
|
|
108
|
+
* @param context - Request context for logging
|
|
109
|
+
*/
|
|
110
|
+
closeAllPools(context?: RequestContext): Promise<void>;
|
|
111
|
+
/**
|
|
112
|
+
* Get status of a specific pool
|
|
113
|
+
* @param poolId - Pool identifier
|
|
114
|
+
*/
|
|
115
|
+
getPoolStatus(poolId: TId): {
|
|
116
|
+
initialized: boolean;
|
|
117
|
+
connecting: boolean;
|
|
118
|
+
healthStatus: string;
|
|
119
|
+
} | null;
|
|
120
|
+
/**
|
|
121
|
+
* Get list of registered pool identifiers
|
|
122
|
+
*/
|
|
123
|
+
getRegisteredPools(): TId[];
|
|
124
|
+
/**
|
|
125
|
+
* Clear all pools (for testing)
|
|
126
|
+
*/
|
|
127
|
+
protected clearAllPools(): void;
|
|
128
|
+
}
|
|
129
|
+
export {};
|
|
130
|
+
//# sourceMappingURL=baseConnectionPool.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"baseConnectionPool.d.ts","sourceRoot":"","sources":["../../../src/ibmi-mcp-server/services/baseConnectionPool.ts"],"names":[],"mappings":"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"}
|