@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,145 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @fileoverview Defines the core logic, schemas, and types for the `toolsets` resource.
|
|
3
|
+
* This module provides access to all available toolsets on the server, including
|
|
4
|
+
* their metadata, tool counts, and organization details.
|
|
5
|
+
* @module src/mcp-server/resources/toolsetsResource/logic
|
|
6
|
+
* @see {@link src/mcp-server/resources/toolsetsResource/registration.ts} for the handler and registration logic.
|
|
7
|
+
*/
|
|
8
|
+
import { z } from "zod";
|
|
9
|
+
import { JsonRpcErrorCode, McpError } from "../../../types-global/errors.js";
|
|
10
|
+
import { logger } from "../../../utils/index.js";
|
|
11
|
+
import { ToolsetManager } from "../../utils/config/toolsetManager.js";
|
|
12
|
+
// Zod schema for individual toolset information
|
|
13
|
+
export const ToolsetInfoSchema = z.object({
|
|
14
|
+
name: z.string().describe("The name of the toolset"),
|
|
15
|
+
description: z.string().describe("A description of the toolset's purpose"),
|
|
16
|
+
tools: z.array(z.string()).describe("Array of tool names in this toolset"),
|
|
17
|
+
toolCount: z
|
|
18
|
+
.number()
|
|
19
|
+
.int()
|
|
20
|
+
.min(0)
|
|
21
|
+
.describe("Number of tools in this toolset"),
|
|
22
|
+
});
|
|
23
|
+
// Zod schema for toolsets resource parameters
|
|
24
|
+
export const ToolsetsResourceParamsSchema = z.object({
|
|
25
|
+
toolsetName: z
|
|
26
|
+
.string()
|
|
27
|
+
.optional()
|
|
28
|
+
.describe("Optional toolset name to filter results"),
|
|
29
|
+
});
|
|
30
|
+
// Zod schema for the complete toolsets resource response
|
|
31
|
+
export const ToolsetsResourceResponseSchema = z.object({
|
|
32
|
+
totalToolsets: z
|
|
33
|
+
.number()
|
|
34
|
+
.int()
|
|
35
|
+
.min(0)
|
|
36
|
+
.describe("Total number of toolsets available"),
|
|
37
|
+
totalTools: z
|
|
38
|
+
.number()
|
|
39
|
+
.int()
|
|
40
|
+
.min(0)
|
|
41
|
+
.describe("Total number of tools across all toolsets"),
|
|
42
|
+
toolsets: z
|
|
43
|
+
.array(ToolsetInfoSchema)
|
|
44
|
+
.describe("Array of toolset information objects"),
|
|
45
|
+
statistics: z
|
|
46
|
+
.object({
|
|
47
|
+
multiToolsetTools: z
|
|
48
|
+
.array(z.string())
|
|
49
|
+
.describe("Tools that belong to multiple toolsets"),
|
|
50
|
+
toolsetCounts: z
|
|
51
|
+
.record(z.number().int().min(0))
|
|
52
|
+
.describe("Map of toolset names to their tool counts"),
|
|
53
|
+
})
|
|
54
|
+
.describe("Additional statistics about toolset organization"),
|
|
55
|
+
timestamp: z
|
|
56
|
+
.string()
|
|
57
|
+
.datetime()
|
|
58
|
+
.describe("ISO 8601 timestamp when the data was retrieved"),
|
|
59
|
+
});
|
|
60
|
+
/**
|
|
61
|
+
* Processes the core logic for the `toolsets` resource.
|
|
62
|
+
* Retrieves toolset information from the ToolsetManager and formats it for MCP clients.
|
|
63
|
+
*
|
|
64
|
+
* @param uri - The resource URI, which may contain a specific toolset name
|
|
65
|
+
* @param params - The validated resource parameters
|
|
66
|
+
* @param context - The request context for logging and tracing
|
|
67
|
+
* @returns A promise resolving with the structured toolsets data
|
|
68
|
+
* @throws {McpError} If the toolset system is not initialized or toolset not found
|
|
69
|
+
*/
|
|
70
|
+
export async function toolsetsResourceLogic(uri, params, context) {
|
|
71
|
+
logger.debug({
|
|
72
|
+
...context,
|
|
73
|
+
uri: uri.href,
|
|
74
|
+
params,
|
|
75
|
+
}, "Processing toolsets resource logic");
|
|
76
|
+
const toolsetManager = ToolsetManager.getInstance();
|
|
77
|
+
// Get toolset statistics
|
|
78
|
+
const stats = toolsetManager.getToolsetStats();
|
|
79
|
+
if (stats.totalToolsets === 0) {
|
|
80
|
+
throw new McpError(JsonRpcErrorCode.InitializationFailed, "No toolsets are currently available. The toolset system may not be initialized.", { totalToolsets: stats.totalToolsets });
|
|
81
|
+
}
|
|
82
|
+
// Extract toolset name from URI path if provided
|
|
83
|
+
const pathSegments = uri.pathname.split("/").filter(Boolean);
|
|
84
|
+
const toolsetNameFromUri = pathSegments.length > 0 ? pathSegments[0] : undefined;
|
|
85
|
+
const requestedToolset = params.toolsetName || toolsetNameFromUri;
|
|
86
|
+
let toolsetsToProcess = [];
|
|
87
|
+
if (requestedToolset) {
|
|
88
|
+
// Filter for specific toolset
|
|
89
|
+
const toolsetConfig = toolsetManager.getToolsetConfig(requestedToolset);
|
|
90
|
+
if (!toolsetConfig) {
|
|
91
|
+
throw new McpError(JsonRpcErrorCode.ValidationError, `Toolset '${requestedToolset}' not found`, {
|
|
92
|
+
requestedToolset,
|
|
93
|
+
availableToolsets: toolsetManager.getAllToolsetNames(),
|
|
94
|
+
});
|
|
95
|
+
}
|
|
96
|
+
toolsetsToProcess = [requestedToolset];
|
|
97
|
+
logger.debug(context, `Filtering for specific toolset: ${requestedToolset}`);
|
|
98
|
+
}
|
|
99
|
+
else {
|
|
100
|
+
// Get all toolsets
|
|
101
|
+
toolsetsToProcess = toolsetManager.getAllToolsetNames();
|
|
102
|
+
logger.debug(context, `Processing all ${toolsetsToProcess.length} toolsets`);
|
|
103
|
+
}
|
|
104
|
+
// Build toolset information array
|
|
105
|
+
const toolsets = [];
|
|
106
|
+
for (const toolsetName of toolsetsToProcess) {
|
|
107
|
+
const toolsetConfig = toolsetManager.getToolsetConfig(toolsetName);
|
|
108
|
+
if (!toolsetConfig) {
|
|
109
|
+
logger.warning(context, `Skipping missing toolset configuration: ${toolsetName}`);
|
|
110
|
+
continue;
|
|
111
|
+
}
|
|
112
|
+
const toolsInToolset = toolsetManager.getToolsInToolset(toolsetName);
|
|
113
|
+
const toolsetInfo = {
|
|
114
|
+
name: toolsetName,
|
|
115
|
+
description: toolsetConfig.description || `Tools for ${toolsetName}`,
|
|
116
|
+
tools: toolsInToolset,
|
|
117
|
+
toolCount: toolsInToolset.length,
|
|
118
|
+
};
|
|
119
|
+
toolsets.push(toolsetInfo);
|
|
120
|
+
}
|
|
121
|
+
// Sort toolsets by name for consistent ordering
|
|
122
|
+
toolsets.sort((a, b) => a.name.localeCompare(b.name));
|
|
123
|
+
const response = {
|
|
124
|
+
totalToolsets: requestedToolset ? toolsets.length : stats.totalToolsets,
|
|
125
|
+
totalTools: requestedToolset
|
|
126
|
+
? toolsets.reduce((sum, ts) => sum + ts.toolCount, 0)
|
|
127
|
+
: stats.totalTools,
|
|
128
|
+
toolsets,
|
|
129
|
+
statistics: {
|
|
130
|
+
multiToolsetTools: stats.multiToolsetTools,
|
|
131
|
+
toolsetCounts: stats.toolsetCounts,
|
|
132
|
+
},
|
|
133
|
+
timestamp: new Date().toISOString(),
|
|
134
|
+
};
|
|
135
|
+
logger.debug({
|
|
136
|
+
...context,
|
|
137
|
+
responseSummary: {
|
|
138
|
+
toolsetsReturned: toolsets.length,
|
|
139
|
+
totalToolsInResponse: toolsets.reduce((sum, ts) => sum + ts.toolCount, 0),
|
|
140
|
+
filteredByToolset: !!requestedToolset,
|
|
141
|
+
},
|
|
142
|
+
}, "Toolsets resource processed successfully");
|
|
143
|
+
return response;
|
|
144
|
+
}
|
|
145
|
+
//# sourceMappingURL=logic.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"logic.js","sourceRoot":"","sources":["../../../../src/ibmi-mcp-server/resources/toolsetsResource/logic.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,gBAAgB,EAAE,QAAQ,EAAE,MAAM,iCAAiC,CAAC;AAC7E,OAAO,EAAE,MAAM,EAAuB,MAAM,yBAAyB,CAAC;AACtE,OAAO,EAAE,cAAc,EAAE,MAAM,sCAAsC,CAAC;AAEtE,gDAAgD;AAChD,MAAM,CAAC,MAAM,iBAAiB,GAAG,CAAC,CAAC,MAAM,CAAC;IACxC,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,yBAAyB,CAAC;IACpD,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,wCAAwC,CAAC;IAC1E,KAAK,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,QAAQ,CAAC,qCAAqC,CAAC;IAC1E,SAAS,EAAE,CAAC;SACT,MAAM,EAAE;SACR,GAAG,EAAE;SACL,GAAG,CAAC,CAAC,CAAC;SACN,QAAQ,CAAC,iCAAiC,CAAC;CAC/C,CAAC,CAAC;AAEH,8CAA8C;AAC9C,MAAM,CAAC,MAAM,4BAA4B,GAAG,CAAC,CAAC,MAAM,CAAC;IACnD,WAAW,EAAE,CAAC;SACX,MAAM,EAAE;SACR,QAAQ,EAAE;SACV,QAAQ,CAAC,yCAAyC,CAAC;CACvD,CAAC,CAAC;AAEH,yDAAyD;AACzD,MAAM,CAAC,MAAM,8BAA8B,GAAG,CAAC,CAAC,MAAM,CAAC;IACrD,aAAa,EAAE,CAAC;SACb,MAAM,EAAE;SACR,GAAG,EAAE;SACL,GAAG,CAAC,CAAC,CAAC;SACN,QAAQ,CAAC,oCAAoC,CAAC;IACjD,UAAU,EAAE,CAAC;SACV,MAAM,EAAE;SACR,GAAG,EAAE;SACL,GAAG,CAAC,CAAC,CAAC;SACN,QAAQ,CAAC,2CAA2C,CAAC;IACxD,QAAQ,EAAE,CAAC;SACR,KAAK,CAAC,iBAAiB,CAAC;SACxB,QAAQ,CAAC,sCAAsC,CAAC;IACnD,UAAU,EAAE,CAAC;SACV,MAAM,CAAC;QACN,iBAAiB,EAAE,CAAC;aACjB,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC;aACjB,QAAQ,CAAC,wCAAwC,CAAC;QACrD,aAAa,EAAE,CAAC;aACb,MAAM,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;aAC/B,QAAQ,CAAC,2CAA2C,CAAC;KACzD,CAAC;SACD,QAAQ,CAAC,kDAAkD,CAAC;IAC/D,SAAS,EAAE,CAAC;SACT,MAAM,EAAE;SACR,QAAQ,EAAE;SACV,QAAQ,CAAC,gDAAgD,CAAC;CAC9D,CAAC,CAAC;AAWH;;;;;;;;;GASG;AACH,MAAM,CAAC,KAAK,UAAU,qBAAqB,CACzC,GAAQ,EACR,MAA8B,EAC9B,OAAuB;IAEvB,MAAM,CAAC,KAAK,CACV;QACE,GAAG,OAAO;QACV,GAAG,EAAE,GAAG,CAAC,IAAI;QACb,MAAM;KACP,EACD,oCAAoC,CACrC,CAAC;IAEF,MAAM,cAAc,GAAG,cAAc,CAAC,WAAW,EAAE,CAAC;IAEpD,yBAAyB;IACzB,MAAM,KAAK,GAAG,cAAc,CAAC,eAAe,EAAE,CAAC;IAE/C,IAAI,KAAK,CAAC,aAAa,KAAK,CAAC,EAAE,CAAC;QAC9B,MAAM,IAAI,QAAQ,CAChB,gBAAgB,CAAC,oBAAoB,EACrC,iFAAiF,EACjF,EAAE,aAAa,EAAE,KAAK,CAAC,aAAa,EAAE,CACvC,CAAC;IACJ,CAAC;IAED,iDAAiD;IACjD,MAAM,YAAY,GAAG,GAAG,CAAC,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;IAC7D,MAAM,kBAAkB,GACtB,YAAY,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;IACxD,MAAM,gBAAgB,GAAG,MAAM,CAAC,WAAW,IAAI,kBAAkB,CAAC;IAElE,IAAI,iBAAiB,GAAa,EAAE,CAAC;IAErC,IAAI,gBAAgB,EAAE,CAAC;QACrB,8BAA8B;QAC9B,MAAM,aAAa,GAAG,cAAc,CAAC,gBAAgB,CAAC,gBAAgB,CAAC,CAAC;QACxE,IAAI,CAAC,aAAa,EAAE,CAAC;YACnB,MAAM,IAAI,QAAQ,CAChB,gBAAgB,CAAC,eAAe,EAChC,YAAY,gBAAgB,aAAa,EACzC;gBACE,gBAAgB;gBAChB,iBAAiB,EAAE,cAAc,CAAC,kBAAkB,EAAE;aACvD,CACF,CAAC;QACJ,CAAC;QACD,iBAAiB,GAAG,CAAC,gBAAgB,CAAC,CAAC;QACvC,MAAM,CAAC,KAAK,CACV,OAAO,EACP,mCAAmC,gBAAgB,EAAE,CACtD,CAAC;IACJ,CAAC;SAAM,CAAC;QACN,mBAAmB;QACnB,iBAAiB,GAAG,cAAc,CAAC,kBAAkB,EAAE,CAAC;QACxD,MAAM,CAAC,KAAK,CACV,OAAO,EACP,kBAAkB,iBAAiB,CAAC,MAAM,WAAW,CACtD,CAAC;IACJ,CAAC;IAED,kCAAkC;IAClC,MAAM,QAAQ,GAAkB,EAAE,CAAC;IAEnC,KAAK,MAAM,WAAW,IAAI,iBAAiB,EAAE,CAAC;QAC5C,MAAM,aAAa,GAAG,cAAc,CAAC,gBAAgB,CAAC,WAAW,CAAC,CAAC;QACnE,IAAI,CAAC,aAAa,EAAE,CAAC;YACnB,MAAM,CAAC,OAAO,CACZ,OAAO,EACP,2CAA2C,WAAW,EAAE,CACzD,CAAC;YACF,SAAS;QACX,CAAC;QAED,MAAM,cAAc,GAAG,cAAc,CAAC,iBAAiB,CAAC,WAAW,CAAC,CAAC;QAErE,MAAM,WAAW,GAAgB;YAC/B,IAAI,EAAE,WAAW;YACjB,WAAW,EAAE,aAAa,CAAC,WAAW,IAAI,aAAa,WAAW,EAAE;YACpE,KAAK,EAAE,cAAc;YACrB,SAAS,EAAE,cAAc,CAAC,MAAM;SACjC,CAAC;QAEF,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;IAC7B,CAAC;IAED,gDAAgD;IAChD,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;IAEtD,MAAM,QAAQ,GAA6B;QACzC,aAAa,EAAE,gBAAgB,CAAC,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,aAAa;QACvE,UAAU,EAAE,gBAAgB;YAC1B,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,EAAE,EAAE,EAAE,CAAC,GAAG,GAAG,EAAE,CAAC,SAAS,EAAE,CAAC,CAAC;YACrD,CAAC,CAAC,KAAK,CAAC,UAAU;QACpB,QAAQ;QACR,UAAU,EAAE;YACV,iBAAiB,EAAE,KAAK,CAAC,iBAAiB;YAC1C,aAAa,EAAE,KAAK,CAAC,aAAa;SACnC;QACD,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;KACpC,CAAC;IAEF,MAAM,CAAC,KAAK,CACV;QACE,GAAG,OAAO;QACV,eAAe,EAAE;YACf,gBAAgB,EAAE,QAAQ,CAAC,MAAM;YACjC,oBAAoB,EAAE,QAAQ,CAAC,MAAM,CACnC,CAAC,GAAG,EAAE,EAAE,EAAE,EAAE,CAAC,GAAG,GAAG,EAAE,CAAC,SAAS,EAC/B,CAAC,CACF;YACD,iBAAiB,EAAE,CAAC,CAAC,gBAAgB;SACtC;KACF,EACD,0CAA0C,CAC3C,CAAC;IAEF,OAAO,QAAQ,CAAC;AAClB,CAAC"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @fileoverview Handles the registration of the `toolsets` resource with an MCP server instance.
|
|
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/resources/toolsetsResource/registration
|
|
6
|
+
* @see {@link src/mcp-server/resources/toolsetsResource/logic.ts} for the core business logic and schemas.
|
|
7
|
+
*/
|
|
8
|
+
import { McpServer } from "@modelcontextprotocol/sdk/server/mcp.js";
|
|
9
|
+
/**
|
|
10
|
+
* Registers the 'toolsets' resource and its handlers with the provided MCP server instance.
|
|
11
|
+
* This resource exposes all available toolsets on the server with their metadata and tool listings.
|
|
12
|
+
*
|
|
13
|
+
* @param server - The MCP server instance to register the resource with.
|
|
14
|
+
*/
|
|
15
|
+
export declare const registerToolsetsResource: (server: McpServer) => Promise<void>;
|
|
16
|
+
//# sourceMappingURL=registration.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"registration.d.ts","sourceRoot":"","sources":["../../../../src/ibmi-mcp-server/resources/toolsetsResource/registration.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAYpE;;;;;GAKG;AACH,eAAO,MAAM,wBAAwB,GACnC,QAAQ,SAAS,KAChB,OAAO,CAAC,IAAI,CAyId,CAAC"}
|
|
@@ -0,0 +1,110 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @fileoverview Handles the registration of the `toolsets` resource with an MCP server instance.
|
|
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/resources/toolsetsResource/registration
|
|
6
|
+
* @see {@link src/mcp-server/resources/toolsetsResource/logic.ts} for the core business logic and schemas.
|
|
7
|
+
*/
|
|
8
|
+
import { JsonRpcErrorCode } from "../../../types-global/errors.js";
|
|
9
|
+
import { ErrorHandler, logger, requestContextService, } from "../../../utils/index.js";
|
|
10
|
+
import { toolsetsResourceLogic } from "./logic.js";
|
|
11
|
+
import { ToolsetManager } from "../../utils/config/toolsetManager.js";
|
|
12
|
+
/**
|
|
13
|
+
* Registers the 'toolsets' resource and its handlers with the provided MCP server instance.
|
|
14
|
+
* This resource exposes all available toolsets on the server with their metadata and tool listings.
|
|
15
|
+
*
|
|
16
|
+
* @param server - The MCP server instance to register the resource with.
|
|
17
|
+
*/
|
|
18
|
+
export const registerToolsetsResource = async (server) => {
|
|
19
|
+
const resourceName = "toolsets-resource";
|
|
20
|
+
const registrationContext = requestContextService.createRequestContext({
|
|
21
|
+
operation: "RegisterResource",
|
|
22
|
+
resourceName: resourceName,
|
|
23
|
+
});
|
|
24
|
+
logger.info(registrationContext, `Registering resource: '${resourceName}'`);
|
|
25
|
+
await ErrorHandler.tryCatch(async () => {
|
|
26
|
+
// Register the main "all toolsets" resource
|
|
27
|
+
server.registerResource(`${resourceName}-all`, "toolsets://", {
|
|
28
|
+
description: "Complete catalog of all available toolsets and their tools",
|
|
29
|
+
mimeType: "application/json",
|
|
30
|
+
}, async (uri, callContext) => {
|
|
31
|
+
const sessionId = typeof callContext?.sessionId === "string"
|
|
32
|
+
? callContext.sessionId
|
|
33
|
+
: undefined;
|
|
34
|
+
const handlerContext = requestContextService.createRequestContext({
|
|
35
|
+
parentContext: callContext,
|
|
36
|
+
operation: "HandleResourceRead",
|
|
37
|
+
resourceUri: uri.href,
|
|
38
|
+
sessionId,
|
|
39
|
+
});
|
|
40
|
+
try {
|
|
41
|
+
const result = await toolsetsResourceLogic(uri, {}, handlerContext);
|
|
42
|
+
return {
|
|
43
|
+
contents: [
|
|
44
|
+
{
|
|
45
|
+
uri: uri.href,
|
|
46
|
+
blob: Buffer.from(JSON.stringify(result, null, 2)).toString("base64"),
|
|
47
|
+
mimeType: "application/json",
|
|
48
|
+
},
|
|
49
|
+
],
|
|
50
|
+
};
|
|
51
|
+
}
|
|
52
|
+
catch (error) {
|
|
53
|
+
throw ErrorHandler.handleError(error, {
|
|
54
|
+
operation: "toolsetsAllResourceReadHandler",
|
|
55
|
+
context: handlerContext,
|
|
56
|
+
input: { uri: uri.href },
|
|
57
|
+
});
|
|
58
|
+
}
|
|
59
|
+
});
|
|
60
|
+
// Register individual toolset resources
|
|
61
|
+
const toolsetManager = ToolsetManager.getInstance();
|
|
62
|
+
const allToolsetNames = toolsetManager.getAllToolsetNames();
|
|
63
|
+
for (const toolsetName of allToolsetNames) {
|
|
64
|
+
const toolsetConfig = toolsetManager.getToolsetConfig(toolsetName);
|
|
65
|
+
const toolsInToolset = toolsetManager.getToolsInToolset(toolsetName);
|
|
66
|
+
server.registerResource(`${resourceName}-${toolsetName}`, `toolsets://${toolsetName}`, {
|
|
67
|
+
description: toolsetConfig?.description
|
|
68
|
+
? `${toolsetConfig.description} (${toolsInToolset.length} tools)`
|
|
69
|
+
: `${toolsetName} toolset with ${toolsInToolset.length} tools`,
|
|
70
|
+
mimeType: "application/json",
|
|
71
|
+
}, async (uri, callContext) => {
|
|
72
|
+
const sessionId = typeof callContext?.sessionId === "string"
|
|
73
|
+
? callContext.sessionId
|
|
74
|
+
: undefined;
|
|
75
|
+
const handlerContext = requestContextService.createRequestContext({
|
|
76
|
+
parentContext: callContext,
|
|
77
|
+
operation: "HandleResourceRead",
|
|
78
|
+
resourceUri: uri.href,
|
|
79
|
+
sessionId,
|
|
80
|
+
});
|
|
81
|
+
try {
|
|
82
|
+
const result = await toolsetsResourceLogic(uri, { toolsetName }, handlerContext);
|
|
83
|
+
return {
|
|
84
|
+
contents: [
|
|
85
|
+
{
|
|
86
|
+
uri: uri.href,
|
|
87
|
+
blob: Buffer.from(JSON.stringify(result, null, 2)).toString("base64"),
|
|
88
|
+
mimeType: "application/json",
|
|
89
|
+
},
|
|
90
|
+
],
|
|
91
|
+
};
|
|
92
|
+
}
|
|
93
|
+
catch (error) {
|
|
94
|
+
throw ErrorHandler.handleError(error, {
|
|
95
|
+
operation: `toolsetsResourceReadHandler_${toolsetName}`,
|
|
96
|
+
context: handlerContext,
|
|
97
|
+
input: { uri: uri.href, toolsetName },
|
|
98
|
+
});
|
|
99
|
+
}
|
|
100
|
+
});
|
|
101
|
+
}
|
|
102
|
+
logger.info(registrationContext, `Resource '${resourceName}' registered successfully.`);
|
|
103
|
+
}, {
|
|
104
|
+
operation: `RegisteringResource_${resourceName}`,
|
|
105
|
+
context: registrationContext,
|
|
106
|
+
errorCode: JsonRpcErrorCode.InitializationFailed,
|
|
107
|
+
critical: true,
|
|
108
|
+
});
|
|
109
|
+
};
|
|
110
|
+
//# sourceMappingURL=registration.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"registration.js","sourceRoot":"","sources":["../../../../src/ibmi-mcp-server/resources/toolsetsResource/registration.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,174 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @fileoverview Common schema definitions and utilities
|
|
3
|
+
* Shared Zod schemas used across multiple modules in the IBM i MCP server
|
|
4
|
+
*
|
|
5
|
+
* @module src/ibmi-mcp-server/schemas/common
|
|
6
|
+
*/
|
|
7
|
+
import { z } from "zod";
|
|
8
|
+
/**
|
|
9
|
+
* Response format options for SQL tools
|
|
10
|
+
*/
|
|
11
|
+
export declare const ResponseFormatSchema: z.ZodEnum<["json", "markdown"]>;
|
|
12
|
+
/**
|
|
13
|
+
* Common metadata schema for extensible objects
|
|
14
|
+
*/
|
|
15
|
+
export declare const MetadataSchema: z.ZodRecord<z.ZodString, z.ZodUnknown>;
|
|
16
|
+
/**
|
|
17
|
+
* Tool annotation hints schema for MCP client behavior
|
|
18
|
+
*/
|
|
19
|
+
export declare const ToolAnnotationsSchema: z.ZodObject<{
|
|
20
|
+
/**
|
|
21
|
+
* An optional human-readable name for the tool, optimized for UI display.
|
|
22
|
+
*/
|
|
23
|
+
title: z.ZodOptional<z.ZodString>;
|
|
24
|
+
/**
|
|
25
|
+
* A hint indicating that the tool does not modify any state.
|
|
26
|
+
*/
|
|
27
|
+
readOnlyHint: z.ZodOptional<z.ZodBoolean>;
|
|
28
|
+
/**
|
|
29
|
+
* A hint indicating that the tool may interact with external systems.
|
|
30
|
+
*/
|
|
31
|
+
openWorldHint: z.ZodOptional<z.ZodBoolean>;
|
|
32
|
+
/**
|
|
33
|
+
* Indicates that the tool has no side effects when called multiple times.
|
|
34
|
+
*/
|
|
35
|
+
idempotentHint: z.ZodOptional<z.ZodBoolean>;
|
|
36
|
+
/**
|
|
37
|
+
* Indicates that the tool may produce destructive side effects.
|
|
38
|
+
*/
|
|
39
|
+
destructiveHint: z.ZodOptional<z.ZodBoolean>;
|
|
40
|
+
/**
|
|
41
|
+
* Domain classification for filtering and organization.
|
|
42
|
+
*/
|
|
43
|
+
domain: z.ZodOptional<z.ZodString>;
|
|
44
|
+
/**
|
|
45
|
+
* Category classification for filtering and organization.
|
|
46
|
+
*/
|
|
47
|
+
category: z.ZodOptional<z.ZodString>;
|
|
48
|
+
/**
|
|
49
|
+
* Toolsets that the tool belongs to.
|
|
50
|
+
*/
|
|
51
|
+
toolsets: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
|
|
52
|
+
/**
|
|
53
|
+
* Additional custom metadata.
|
|
54
|
+
*/
|
|
55
|
+
customMetadata: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
|
|
56
|
+
}, "strip", z.ZodUnknown, z.objectOutputType<{
|
|
57
|
+
/**
|
|
58
|
+
* An optional human-readable name for the tool, optimized for UI display.
|
|
59
|
+
*/
|
|
60
|
+
title: z.ZodOptional<z.ZodString>;
|
|
61
|
+
/**
|
|
62
|
+
* A hint indicating that the tool does not modify any state.
|
|
63
|
+
*/
|
|
64
|
+
readOnlyHint: z.ZodOptional<z.ZodBoolean>;
|
|
65
|
+
/**
|
|
66
|
+
* A hint indicating that the tool may interact with external systems.
|
|
67
|
+
*/
|
|
68
|
+
openWorldHint: z.ZodOptional<z.ZodBoolean>;
|
|
69
|
+
/**
|
|
70
|
+
* Indicates that the tool has no side effects when called multiple times.
|
|
71
|
+
*/
|
|
72
|
+
idempotentHint: z.ZodOptional<z.ZodBoolean>;
|
|
73
|
+
/**
|
|
74
|
+
* Indicates that the tool may produce destructive side effects.
|
|
75
|
+
*/
|
|
76
|
+
destructiveHint: z.ZodOptional<z.ZodBoolean>;
|
|
77
|
+
/**
|
|
78
|
+
* Domain classification for filtering and organization.
|
|
79
|
+
*/
|
|
80
|
+
domain: z.ZodOptional<z.ZodString>;
|
|
81
|
+
/**
|
|
82
|
+
* Category classification for filtering and organization.
|
|
83
|
+
*/
|
|
84
|
+
category: z.ZodOptional<z.ZodString>;
|
|
85
|
+
/**
|
|
86
|
+
* Toolsets that the tool belongs to.
|
|
87
|
+
*/
|
|
88
|
+
toolsets: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
|
|
89
|
+
/**
|
|
90
|
+
* Additional custom metadata.
|
|
91
|
+
*/
|
|
92
|
+
customMetadata: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
|
|
93
|
+
}, z.ZodUnknown, "strip">, z.objectInputType<{
|
|
94
|
+
/**
|
|
95
|
+
* An optional human-readable name for the tool, optimized for UI display.
|
|
96
|
+
*/
|
|
97
|
+
title: z.ZodOptional<z.ZodString>;
|
|
98
|
+
/**
|
|
99
|
+
* A hint indicating that the tool does not modify any state.
|
|
100
|
+
*/
|
|
101
|
+
readOnlyHint: z.ZodOptional<z.ZodBoolean>;
|
|
102
|
+
/**
|
|
103
|
+
* A hint indicating that the tool may interact with external systems.
|
|
104
|
+
*/
|
|
105
|
+
openWorldHint: z.ZodOptional<z.ZodBoolean>;
|
|
106
|
+
/**
|
|
107
|
+
* Indicates that the tool has no side effects when called multiple times.
|
|
108
|
+
*/
|
|
109
|
+
idempotentHint: z.ZodOptional<z.ZodBoolean>;
|
|
110
|
+
/**
|
|
111
|
+
* Indicates that the tool may produce destructive side effects.
|
|
112
|
+
*/
|
|
113
|
+
destructiveHint: z.ZodOptional<z.ZodBoolean>;
|
|
114
|
+
/**
|
|
115
|
+
* Domain classification for filtering and organization.
|
|
116
|
+
*/
|
|
117
|
+
domain: z.ZodOptional<z.ZodString>;
|
|
118
|
+
/**
|
|
119
|
+
* Category classification for filtering and organization.
|
|
120
|
+
*/
|
|
121
|
+
category: z.ZodOptional<z.ZodString>;
|
|
122
|
+
/**
|
|
123
|
+
* Toolsets that the tool belongs to.
|
|
124
|
+
*/
|
|
125
|
+
toolsets: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
|
|
126
|
+
/**
|
|
127
|
+
* Additional custom metadata.
|
|
128
|
+
*/
|
|
129
|
+
customMetadata: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
|
|
130
|
+
}, z.ZodUnknown, "strip">>;
|
|
131
|
+
/**
|
|
132
|
+
* Column definition schema for database result sets
|
|
133
|
+
*/
|
|
134
|
+
export declare const ColumnDefinitionSchema: z.ZodObject<{
|
|
135
|
+
name: z.ZodString;
|
|
136
|
+
type: z.ZodOptional<z.ZodString>;
|
|
137
|
+
label: z.ZodOptional<z.ZodString>;
|
|
138
|
+
}, "strip", z.ZodTypeAny, {
|
|
139
|
+
name: string;
|
|
140
|
+
type?: string | undefined;
|
|
141
|
+
label?: string | undefined;
|
|
142
|
+
}, {
|
|
143
|
+
name: string;
|
|
144
|
+
type?: string | undefined;
|
|
145
|
+
label?: string | undefined;
|
|
146
|
+
}>;
|
|
147
|
+
/**
|
|
148
|
+
* Base parameter constraint schemas for reuse
|
|
149
|
+
*/
|
|
150
|
+
export declare const ParameterConstraintsSchema: z.ZodObject<{
|
|
151
|
+
min: z.ZodOptional<z.ZodNumber>;
|
|
152
|
+
max: z.ZodOptional<z.ZodNumber>;
|
|
153
|
+
minLength: z.ZodOptional<z.ZodNumber>;
|
|
154
|
+
maxLength: z.ZodOptional<z.ZodNumber>;
|
|
155
|
+
pattern: z.ZodOptional<z.ZodString>;
|
|
156
|
+
}, "strip", z.ZodTypeAny, {
|
|
157
|
+
pattern?: string | undefined;
|
|
158
|
+
min?: number | undefined;
|
|
159
|
+
max?: number | undefined;
|
|
160
|
+
minLength?: number | undefined;
|
|
161
|
+
maxLength?: number | undefined;
|
|
162
|
+
}, {
|
|
163
|
+
pattern?: string | undefined;
|
|
164
|
+
min?: number | undefined;
|
|
165
|
+
max?: number | undefined;
|
|
166
|
+
minLength?: number | undefined;
|
|
167
|
+
maxLength?: number | undefined;
|
|
168
|
+
}>;
|
|
169
|
+
export type ResponseFormat = z.infer<typeof ResponseFormatSchema>;
|
|
170
|
+
export type Metadata = z.infer<typeof MetadataSchema>;
|
|
171
|
+
export type ToolAnnotations = z.infer<typeof ToolAnnotationsSchema>;
|
|
172
|
+
export type ColumnDefinition = z.infer<typeof ColumnDefinitionSchema>;
|
|
173
|
+
export type ParameterConstraints = z.infer<typeof ParameterConstraintsSchema>;
|
|
174
|
+
//# sourceMappingURL=common.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"common.d.ts","sourceRoot":"","sources":["../../../src/ibmi-mcp-server/schemas/common.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB;;GAEG;AACH,eAAO,MAAM,oBAAoB,iCAE/B,CAAC;AAEH;;GAEG;AACH,eAAO,MAAM,cAAc,wCAEiD,CAAC;AAE7E;;GAEG;AACH,eAAO,MAAM,qBAAqB;IAE9B;;OAEG;;IAKH;;OAEG;;IAKH;;OAEG;;IAOH;;OAEG;;IAOH;;OAEG;;IAOH;;OAEG;;IAKH;;OAEG;;IAKH;;OAEG;;IAKH;;OAEG;;;IAhEH;;OAEG;;IAKH;;OAEG;;IAKH;;OAEG;;IAOH;;OAEG;;IAOH;;OAEG;;IAOH;;OAEG;;IAKH;;OAEG;;IAKH;;OAEG;;IAKH;;OAEG;;;IAhEH;;OAEG;;IAKH;;OAEG;;IAKH;;OAEG;;IAOH;;OAEG;;IAOH;;OAEG;;IAOH;;OAEG;;IAKH;;OAEG;;IAKH;;OAEG;;IAKH;;OAEG;;0BAM4D,CAAC;AAEpE;;GAEG;AACH,eAAO,MAAM,sBAAsB;;;;;;;;;;;;EAMI,CAAC;AAExC;;GAEG;AACH,eAAO,MAAM,0BAA0B;;;;;;;;;;;;;;;;;;EAiBQ,CAAC;AAGhD,MAAM,MAAM,cAAc,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,oBAAoB,CAAC,CAAC;AAClE,MAAM,MAAM,QAAQ,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,cAAc,CAAC,CAAC;AACtD,MAAM,MAAM,eAAe,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,qBAAqB,CAAC,CAAC;AACpE,MAAM,MAAM,gBAAgB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,sBAAsB,CAAC,CAAC;AACtE,MAAM,MAAM,oBAAoB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,0BAA0B,CAAC,CAAC"}
|
|
@@ -0,0 +1,119 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @fileoverview Common schema definitions and utilities
|
|
3
|
+
* Shared Zod schemas used across multiple modules in the IBM i MCP server
|
|
4
|
+
*
|
|
5
|
+
* @module src/ibmi-mcp-server/schemas/common
|
|
6
|
+
*/
|
|
7
|
+
import { z } from "zod";
|
|
8
|
+
/**
|
|
9
|
+
* Response format options for SQL tools
|
|
10
|
+
*/
|
|
11
|
+
export const ResponseFormatSchema = z.enum(["json", "markdown"], {
|
|
12
|
+
description: "Response format for SQL tool output",
|
|
13
|
+
});
|
|
14
|
+
/**
|
|
15
|
+
* Common metadata schema for extensible objects
|
|
16
|
+
*/
|
|
17
|
+
export const MetadataSchema = z
|
|
18
|
+
.record(z.unknown())
|
|
19
|
+
.describe("Extensible metadata object for storing additional information");
|
|
20
|
+
/**
|
|
21
|
+
* Tool annotation hints schema for MCP client behavior
|
|
22
|
+
*/
|
|
23
|
+
export const ToolAnnotationsSchema = z
|
|
24
|
+
.object({
|
|
25
|
+
/**
|
|
26
|
+
* An optional human-readable name for the tool, optimized for UI display.
|
|
27
|
+
*/
|
|
28
|
+
title: z
|
|
29
|
+
.string()
|
|
30
|
+
.optional()
|
|
31
|
+
.describe("Human-readable tool title for UI display"),
|
|
32
|
+
/**
|
|
33
|
+
* A hint indicating that the tool does not modify any state.
|
|
34
|
+
*/
|
|
35
|
+
readOnlyHint: z
|
|
36
|
+
.boolean()
|
|
37
|
+
.optional()
|
|
38
|
+
.describe("Indicates the tool performs read-only operations"),
|
|
39
|
+
/**
|
|
40
|
+
* A hint indicating that the tool may interact with external systems.
|
|
41
|
+
*/
|
|
42
|
+
openWorldHint: z
|
|
43
|
+
.boolean()
|
|
44
|
+
.optional()
|
|
45
|
+
.describe("Indicates the tool interacts with external, unpredictable systems"),
|
|
46
|
+
/**
|
|
47
|
+
* Indicates that the tool has no side effects when called multiple times.
|
|
48
|
+
*/
|
|
49
|
+
idempotentHint: z
|
|
50
|
+
.boolean()
|
|
51
|
+
.optional()
|
|
52
|
+
.describe("Indicates the tool produces consistent results for identical inputs"),
|
|
53
|
+
/**
|
|
54
|
+
* Indicates that the tool may produce destructive side effects.
|
|
55
|
+
*/
|
|
56
|
+
destructiveHint: z
|
|
57
|
+
.boolean()
|
|
58
|
+
.optional()
|
|
59
|
+
.describe("Indicates the tool may perform destructive or irreversible operations"),
|
|
60
|
+
/**
|
|
61
|
+
* Domain classification for filtering and organization.
|
|
62
|
+
*/
|
|
63
|
+
domain: z
|
|
64
|
+
.string()
|
|
65
|
+
.optional()
|
|
66
|
+
.describe("Domain classification for client-side filtering"),
|
|
67
|
+
/**
|
|
68
|
+
* Category classification for filtering and organization.
|
|
69
|
+
*/
|
|
70
|
+
category: z
|
|
71
|
+
.string()
|
|
72
|
+
.optional()
|
|
73
|
+
.describe("Category classification for client-side filtering"),
|
|
74
|
+
/**
|
|
75
|
+
* Toolsets that the tool belongs to.
|
|
76
|
+
*/
|
|
77
|
+
toolsets: z
|
|
78
|
+
.array(z.string())
|
|
79
|
+
.optional()
|
|
80
|
+
.describe("Toolset memberships for client-side grouping"),
|
|
81
|
+
/**
|
|
82
|
+
* Additional custom metadata.
|
|
83
|
+
*/
|
|
84
|
+
customMetadata: MetadataSchema.optional().describe("Additional custom metadata for the tool"),
|
|
85
|
+
})
|
|
86
|
+
.catchall(z.unknown())
|
|
87
|
+
.describe("Tool annotations providing hints about tool behavior");
|
|
88
|
+
/**
|
|
89
|
+
* Column definition schema for database result sets
|
|
90
|
+
*/
|
|
91
|
+
export const ColumnDefinitionSchema = z
|
|
92
|
+
.object({
|
|
93
|
+
name: z.string().describe("Column name as returned by the database"),
|
|
94
|
+
type: z.string().optional().describe("Database reported data type"),
|
|
95
|
+
label: z.string().optional().describe("Human-friendly label if provided"),
|
|
96
|
+
})
|
|
97
|
+
.describe("Database column metadata");
|
|
98
|
+
/**
|
|
99
|
+
* Base parameter constraint schemas for reuse
|
|
100
|
+
*/
|
|
101
|
+
export const ParameterConstraintsSchema = z
|
|
102
|
+
.object({
|
|
103
|
+
min: z.number().optional().describe("Minimum value for numeric types"),
|
|
104
|
+
max: z.number().optional().describe("Maximum value for numeric types"),
|
|
105
|
+
minLength: z
|
|
106
|
+
.number()
|
|
107
|
+
.optional()
|
|
108
|
+
.describe("Minimum length for string/array types"),
|
|
109
|
+
maxLength: z
|
|
110
|
+
.number()
|
|
111
|
+
.optional()
|
|
112
|
+
.describe("Maximum length for string/array types"),
|
|
113
|
+
pattern: z
|
|
114
|
+
.string()
|
|
115
|
+
.optional()
|
|
116
|
+
.describe("Regex pattern for string validation"),
|
|
117
|
+
})
|
|
118
|
+
.describe("Parameter validation constraints");
|
|
119
|
+
//# sourceMappingURL=common.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"common.js","sourceRoot":"","sources":["../../../src/ibmi-mcp-server/schemas/common.ts"],"names":[],"mappings":"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"}
|