@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,131 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @fileoverview SQL formatting utilities for database result presentation.
|
|
3
|
+
* Provides type-aware formatting helpers for SQL results, including column alignment
|
|
4
|
+
* and type indicators.
|
|
5
|
+
* @module src/utils/formatting/sqlFormattingUtils
|
|
6
|
+
*/
|
|
7
|
+
/**
|
|
8
|
+
* IBM i DB2 numeric data types that should be right-aligned in tables.
|
|
9
|
+
* @private
|
|
10
|
+
*/
|
|
11
|
+
const NUMERIC_TYPES = new Set([
|
|
12
|
+
"INTEGER",
|
|
13
|
+
"SMALLINT",
|
|
14
|
+
"BIGINT",
|
|
15
|
+
"DECIMAL",
|
|
16
|
+
"NUMERIC",
|
|
17
|
+
"FLOAT",
|
|
18
|
+
"REAL",
|
|
19
|
+
"DOUBLE",
|
|
20
|
+
"DECFLOAT",
|
|
21
|
+
"INT",
|
|
22
|
+
"DEC",
|
|
23
|
+
]);
|
|
24
|
+
/**
|
|
25
|
+
* IBM i DB2 text data types that should be left-aligned in tables.
|
|
26
|
+
* @private
|
|
27
|
+
*/
|
|
28
|
+
const TEXT_TYPES = new Set([
|
|
29
|
+
"VARCHAR",
|
|
30
|
+
"CHAR",
|
|
31
|
+
"CHARACTER",
|
|
32
|
+
"CLOB",
|
|
33
|
+
"VARGRAPHIC",
|
|
34
|
+
"GRAPHIC",
|
|
35
|
+
"DBCLOB",
|
|
36
|
+
"BLOB",
|
|
37
|
+
"BINARY",
|
|
38
|
+
"VARBINARY",
|
|
39
|
+
]);
|
|
40
|
+
/**
|
|
41
|
+
* IBM i DB2 temporal data types that should be left-aligned in tables.
|
|
42
|
+
* @private
|
|
43
|
+
*/
|
|
44
|
+
const TEMPORAL_TYPES = new Set(["DATE", "TIME", "TIMESTAMP", "TIMESTMP"]);
|
|
45
|
+
/**
|
|
46
|
+
* Determine the appropriate column alignment based on IBM i DB2 data type.
|
|
47
|
+
* Numeric types are right-aligned for better visual comparison,
|
|
48
|
+
* while text and temporal types are left-aligned.
|
|
49
|
+
*
|
|
50
|
+
* @param columnType - The database column type (e.g., 'INTEGER', 'VARCHAR')
|
|
51
|
+
* @returns The recommended alignment for this column type
|
|
52
|
+
*
|
|
53
|
+
* @example
|
|
54
|
+
* ```typescript
|
|
55
|
+
* getColumnAlignment('INTEGER'); // 'right'
|
|
56
|
+
* getColumnAlignment('VARCHAR'); // 'left'
|
|
57
|
+
* getColumnAlignment('TIMESTAMP'); // 'left'
|
|
58
|
+
* getColumnAlignment('UNKNOWN'); // 'left' (default)
|
|
59
|
+
* ```
|
|
60
|
+
*/
|
|
61
|
+
export function getColumnAlignment(columnType) {
|
|
62
|
+
if (!columnType) {
|
|
63
|
+
return "left"; // Default for unknown types
|
|
64
|
+
}
|
|
65
|
+
// Normalize type name (uppercase, remove precision/scale info)
|
|
66
|
+
const normalizedType = columnType.toUpperCase().split("(")[0].trim();
|
|
67
|
+
// Check type categories
|
|
68
|
+
if (NUMERIC_TYPES.has(normalizedType)) {
|
|
69
|
+
return "right";
|
|
70
|
+
}
|
|
71
|
+
if (TEXT_TYPES.has(normalizedType) || TEMPORAL_TYPES.has(normalizedType)) {
|
|
72
|
+
return "left";
|
|
73
|
+
}
|
|
74
|
+
// Default to left alignment for unknown types
|
|
75
|
+
return "left";
|
|
76
|
+
}
|
|
77
|
+
/**
|
|
78
|
+
* Format a column header with type indicator.
|
|
79
|
+
* Appends the data type in parentheses for LLM clarity.
|
|
80
|
+
*
|
|
81
|
+
* @param columnName - The column name
|
|
82
|
+
* @param columnType - The database column type (optional)
|
|
83
|
+
* @returns Formatted header string
|
|
84
|
+
*
|
|
85
|
+
* @example
|
|
86
|
+
* ```typescript
|
|
87
|
+
* formatColumnHeader('EMPLOYEE_ID', 'INTEGER');
|
|
88
|
+
* // Returns: 'EMPLOYEE_ID (INTEGER)'
|
|
89
|
+
*
|
|
90
|
+
* formatColumnHeader('NAME', 'VARCHAR(50)');
|
|
91
|
+
* // Returns: 'NAME (VARCHAR)'
|
|
92
|
+
*
|
|
93
|
+
* formatColumnHeader('STATUS');
|
|
94
|
+
* // Returns: 'STATUS'
|
|
95
|
+
* ```
|
|
96
|
+
*/
|
|
97
|
+
export function formatColumnHeader(columnName, columnType) {
|
|
98
|
+
if (!columnType) {
|
|
99
|
+
return columnName;
|
|
100
|
+
}
|
|
101
|
+
// Extract base type without precision/scale
|
|
102
|
+
const baseType = columnType.split("(")[0].trim().toUpperCase();
|
|
103
|
+
return `${columnName} (${baseType})`;
|
|
104
|
+
}
|
|
105
|
+
/**
|
|
106
|
+
* Build a column alignment map for use with TableFormatter.
|
|
107
|
+
* Maps column names to their appropriate alignment based on their data types.
|
|
108
|
+
*
|
|
109
|
+
* @param columns - Array of column definitions with name and type
|
|
110
|
+
* @returns Record mapping column names to alignment values
|
|
111
|
+
*
|
|
112
|
+
* @example
|
|
113
|
+
* ```typescript
|
|
114
|
+
* const columns = [
|
|
115
|
+
* { name: 'ID', type: 'INTEGER' },
|
|
116
|
+
* { name: 'NAME', type: 'VARCHAR' },
|
|
117
|
+
* { name: 'SALARY', type: 'DECIMAL' }
|
|
118
|
+
* ];
|
|
119
|
+
*
|
|
120
|
+
* buildColumnAlignmentMap(columns);
|
|
121
|
+
* // Returns: { ID: 'right', NAME: 'left', SALARY: 'right' }
|
|
122
|
+
* ```
|
|
123
|
+
*/
|
|
124
|
+
export function buildColumnAlignmentMap(columns) {
|
|
125
|
+
const alignmentMap = {};
|
|
126
|
+
for (const column of columns) {
|
|
127
|
+
alignmentMap[column.name] = getColumnAlignment(column.type);
|
|
128
|
+
}
|
|
129
|
+
return alignmentMap;
|
|
130
|
+
}
|
|
131
|
+
//# sourceMappingURL=sqlFormattingUtils.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sqlFormattingUtils.js","sourceRoot":"","sources":["../../../src/utils/formatting/sqlFormattingUtils.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAIH;;;GAGG;AACH,MAAM,aAAa,GAAG,IAAI,GAAG,CAAC;IAC5B,SAAS;IACT,UAAU;IACV,QAAQ;IACR,SAAS;IACT,SAAS;IACT,OAAO;IACP,MAAM;IACN,QAAQ;IACR,UAAU;IACV,KAAK;IACL,KAAK;CACN,CAAC,CAAC;AAEH;;;GAGG;AACH,MAAM,UAAU,GAAG,IAAI,GAAG,CAAC;IACzB,SAAS;IACT,MAAM;IACN,WAAW;IACX,MAAM;IACN,YAAY;IACZ,SAAS;IACT,QAAQ;IACR,MAAM;IACN,QAAQ;IACR,WAAW;CACZ,CAAC,CAAC;AAEH;;;GAGG;AACH,MAAM,cAAc,GAAG,IAAI,GAAG,CAAC,CAAC,MAAM,EAAE,MAAM,EAAE,WAAW,EAAE,UAAU,CAAC,CAAC,CAAC;AAE1E;;;;;;;;;;;;;;;GAeG;AACH,MAAM,UAAU,kBAAkB,CAAC,UAA8B;IAC/D,IAAI,CAAC,UAAU,EAAE,CAAC;QAChB,OAAO,MAAM,CAAC,CAAC,4BAA4B;IAC7C,CAAC;IAED,+DAA+D;IAC/D,MAAM,cAAc,GAAG,UAAU,CAAC,WAAW,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAE,CAAC,IAAI,EAAE,CAAC;IAEtE,wBAAwB;IACxB,IAAI,aAAa,CAAC,GAAG,CAAC,cAAc,CAAC,EAAE,CAAC;QACtC,OAAO,OAAO,CAAC;IACjB,CAAC;IAED,IAAI,UAAU,CAAC,GAAG,CAAC,cAAc,CAAC,IAAI,cAAc,CAAC,GAAG,CAAC,cAAc,CAAC,EAAE,CAAC;QACzE,OAAO,MAAM,CAAC;IAChB,CAAC;IAED,8CAA8C;IAC9C,OAAO,MAAM,CAAC;AAChB,CAAC;AAED;;;;;;;;;;;;;;;;;;;GAmBG;AACH,MAAM,UAAU,kBAAkB,CAChC,UAAkB,EAClB,UAAmB;IAEnB,IAAI,CAAC,UAAU,EAAE,CAAC;QAChB,OAAO,UAAU,CAAC;IACpB,CAAC;IAED,4CAA4C;IAC5C,MAAM,QAAQ,GAAG,UAAU,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAE,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;IAChE,OAAO,GAAG,UAAU,KAAK,QAAQ,GAAG,CAAC;AACvC,CAAC;AAED;;;;;;;;;;;;;;;;;;GAkBG;AACH,MAAM,UAAU,uBAAuB,CACrC,OAA+C;IAE/C,MAAM,YAAY,GAA8B,EAAE,CAAC;IAEnD,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE,CAAC;QAC7B,YAAY,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,kBAAkB,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;IAC9D,CAAC;IAED,OAAO,YAAY,CAAC;AACtB,CAAC"}
|
|
@@ -0,0 +1,268 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @fileoverview Table formatter utility for creating tables in multiple formats.
|
|
3
|
+
* Supports markdown, ASCII, grid (Unicode), and compact table styles with configurable
|
|
4
|
+
* alignment, truncation, and formatting options.
|
|
5
|
+
* @module src/utils/formatting/tableFormatter
|
|
6
|
+
*/
|
|
7
|
+
import { type RequestContext } from "../index.js";
|
|
8
|
+
/**
|
|
9
|
+
* Table output style options.
|
|
10
|
+
*/
|
|
11
|
+
export type TableStyle = "markdown" | "ascii" | "grid" | "compact";
|
|
12
|
+
/**
|
|
13
|
+
* Column alignment options.
|
|
14
|
+
*/
|
|
15
|
+
export type Alignment = "left" | "center" | "right";
|
|
16
|
+
/**
|
|
17
|
+
* Configuration options for table formatting.
|
|
18
|
+
*/
|
|
19
|
+
export interface TableFormatterOptions {
|
|
20
|
+
/**
|
|
21
|
+
* Table style to use for rendering.
|
|
22
|
+
* - markdown: GitHub-style markdown tables (| Header | Header |)
|
|
23
|
+
* - ascii: ASCII box drawing with +, -, | characters
|
|
24
|
+
* - grid: Unicode box-drawing characters (┌─┬─┐)
|
|
25
|
+
* - compact: Space-separated columns (no borders)
|
|
26
|
+
*/
|
|
27
|
+
style?: TableStyle;
|
|
28
|
+
/**
|
|
29
|
+
* Column-specific alignment configuration.
|
|
30
|
+
* Key is column name (for object arrays) or index (for raw arrays).
|
|
31
|
+
* @example { name: 'left', age: 'right', email: 'center' }
|
|
32
|
+
*/
|
|
33
|
+
alignment?: Record<string, Alignment>;
|
|
34
|
+
/**
|
|
35
|
+
* Maximum width for any column. Content exceeding this will be truncated.
|
|
36
|
+
*/
|
|
37
|
+
maxWidth?: number;
|
|
38
|
+
/**
|
|
39
|
+
* Whether to truncate long content with ellipsis (default: true).
|
|
40
|
+
* If false, content may wrap or overflow depending on style.
|
|
41
|
+
*/
|
|
42
|
+
truncate?: boolean;
|
|
43
|
+
/**
|
|
44
|
+
* Header styling option.
|
|
45
|
+
* - bold: Headers in bold (markdown only)
|
|
46
|
+
* - uppercase: Convert headers to uppercase
|
|
47
|
+
* - none: No special header formatting
|
|
48
|
+
*/
|
|
49
|
+
headerStyle?: "bold" | "uppercase" | "none";
|
|
50
|
+
/**
|
|
51
|
+
* Minimum column width (default: 3).
|
|
52
|
+
*/
|
|
53
|
+
minWidth?: number;
|
|
54
|
+
/**
|
|
55
|
+
* Padding around cell content (default: 1 space).
|
|
56
|
+
*/
|
|
57
|
+
padding?: number;
|
|
58
|
+
/**
|
|
59
|
+
* String to use for NULL/undefined values (default: '-').
|
|
60
|
+
* Use this to display NULL values in a more readable format.
|
|
61
|
+
*/
|
|
62
|
+
nullReplacement?: string;
|
|
63
|
+
}
|
|
64
|
+
/**
|
|
65
|
+
* Result from table formatting with metadata.
|
|
66
|
+
* Includes the formatted table string and statistics about NULL values.
|
|
67
|
+
*/
|
|
68
|
+
export interface TableFormattingResult {
|
|
69
|
+
/**
|
|
70
|
+
* The formatted table as a string.
|
|
71
|
+
*/
|
|
72
|
+
table: string;
|
|
73
|
+
/**
|
|
74
|
+
* Metadata about the formatting operation.
|
|
75
|
+
*/
|
|
76
|
+
metadata: {
|
|
77
|
+
/**
|
|
78
|
+
* Count of NULL/undefined values per column.
|
|
79
|
+
* Key is column name (or index for raw arrays).
|
|
80
|
+
*/
|
|
81
|
+
nullCounts: Record<string, number>;
|
|
82
|
+
};
|
|
83
|
+
}
|
|
84
|
+
/**
|
|
85
|
+
* Utility class for formatting tabular data into various table styles.
|
|
86
|
+
* Provides methods for rendering arrays of objects or raw 2D arrays as tables.
|
|
87
|
+
*/
|
|
88
|
+
export declare class TableFormatter {
|
|
89
|
+
/**
|
|
90
|
+
* Default formatting options.
|
|
91
|
+
* @private
|
|
92
|
+
*/
|
|
93
|
+
private readonly defaultOptions;
|
|
94
|
+
/**
|
|
95
|
+
* Track NULL value counts per column during formatting.
|
|
96
|
+
* Reset before each formatting operation.
|
|
97
|
+
* @private
|
|
98
|
+
*/
|
|
99
|
+
private nullCounts;
|
|
100
|
+
/**
|
|
101
|
+
* Format an array of objects as a table.
|
|
102
|
+
* Automatically extracts headers from object keys.
|
|
103
|
+
*
|
|
104
|
+
* @template T - Type of objects in the array
|
|
105
|
+
* @param data - Array of objects to format
|
|
106
|
+
* @param options - Table formatting options
|
|
107
|
+
* @param context - Optional request context for logging
|
|
108
|
+
* @returns Formatted table string
|
|
109
|
+
* @throws {McpError} If data is invalid or formatting fails
|
|
110
|
+
*
|
|
111
|
+
* @example
|
|
112
|
+
* ```typescript
|
|
113
|
+
* const data = [
|
|
114
|
+
* { name: 'Alice', age: 30, role: 'Engineer' },
|
|
115
|
+
* { name: 'Bob', age: 25, role: 'Designer' }
|
|
116
|
+
* ];
|
|
117
|
+
* const table = tableFormatter.format(data, { style: 'grid' });
|
|
118
|
+
* ```
|
|
119
|
+
*/
|
|
120
|
+
format<T extends Record<string, unknown>>(data: T[], options?: TableFormatterOptions, context?: RequestContext): string;
|
|
121
|
+
/**
|
|
122
|
+
* Format a raw 2D array with explicit headers.
|
|
123
|
+
* Provides full control over headers and cell values.
|
|
124
|
+
*
|
|
125
|
+
* @param headers - Array of column headers
|
|
126
|
+
* @param rows - 2D array of cell values
|
|
127
|
+
* @param options - Table formatting options
|
|
128
|
+
* @param context - Optional request context for logging
|
|
129
|
+
* @returns Formatted table string
|
|
130
|
+
* @throws {McpError} If headers/rows are invalid or formatting fails
|
|
131
|
+
*
|
|
132
|
+
* @example
|
|
133
|
+
* ```typescript
|
|
134
|
+
* const headers = ['Name', 'Age', 'Role'];
|
|
135
|
+
* const rows = [
|
|
136
|
+
* ['Alice', '30', 'Engineer'],
|
|
137
|
+
* ['Bob', '25', 'Designer']
|
|
138
|
+
* ];
|
|
139
|
+
* const table = tableFormatter.formatRaw(headers, rows, { style: 'ascii' });
|
|
140
|
+
* ```
|
|
141
|
+
*/
|
|
142
|
+
formatRaw(headers: string[], rows: string[][], options?: TableFormatterOptions, context?: RequestContext): string;
|
|
143
|
+
/**
|
|
144
|
+
* Format an array of objects as a table with NULL value tracking.
|
|
145
|
+
* Returns both the formatted table and metadata about NULL values.
|
|
146
|
+
*
|
|
147
|
+
* @template T - Type of objects in the array
|
|
148
|
+
* @param data - Array of objects to format
|
|
149
|
+
* @param options - Table formatting options
|
|
150
|
+
* @param context - Optional request context for logging
|
|
151
|
+
* @returns Object containing formatted table and metadata
|
|
152
|
+
* @throws {McpError} If data is invalid or formatting fails
|
|
153
|
+
*
|
|
154
|
+
* @example
|
|
155
|
+
* ```typescript
|
|
156
|
+
* const data = [
|
|
157
|
+
* { name: 'Alice', age: 30, salary: null },
|
|
158
|
+
* { name: 'Bob', age: 25, salary: 50000 }
|
|
159
|
+
* ];
|
|
160
|
+
* const result = tableFormatter.formatWithMetadata(data, { style: 'grid' });
|
|
161
|
+
* console.log(result.table);
|
|
162
|
+
* console.log(result.metadata.nullCounts); // { salary: 1 }
|
|
163
|
+
* ```
|
|
164
|
+
*/
|
|
165
|
+
formatWithMetadata<T extends Record<string, unknown>>(data: T[], options?: TableFormatterOptions, context?: RequestContext): TableFormattingResult;
|
|
166
|
+
/**
|
|
167
|
+
* Format a raw 2D array with NULL value tracking.
|
|
168
|
+
* Returns both the formatted table and metadata about NULL values.
|
|
169
|
+
*
|
|
170
|
+
* Note: For raw arrays, NULL tracking uses column indices as keys.
|
|
171
|
+
*
|
|
172
|
+
* @param headers - Array of column headers
|
|
173
|
+
* @param rows - 2D array of cell values (may contain null/undefined)
|
|
174
|
+
* @param options - Table formatting options
|
|
175
|
+
* @param context - Optional request context for logging
|
|
176
|
+
* @returns Object containing formatted table and metadata
|
|
177
|
+
* @throws {McpError} If headers/rows are invalid or formatting fails
|
|
178
|
+
*
|
|
179
|
+
* @example
|
|
180
|
+
* ```typescript
|
|
181
|
+
* const headers = ['Name', 'Age', 'Salary'];
|
|
182
|
+
* const rows = [
|
|
183
|
+
* ['Alice', 30, null],
|
|
184
|
+
* ['Bob', 25, 50000]
|
|
185
|
+
* ];
|
|
186
|
+
* const result = tableFormatter.formatRawWithMetadata(headers, rows);
|
|
187
|
+
* console.log(result.metadata.nullCounts); // { '2': 1 } (column index 2)
|
|
188
|
+
* ```
|
|
189
|
+
*/
|
|
190
|
+
formatRawWithMetadata(headers: string[], rows: (string | null | undefined)[][], options?: TableFormatterOptions, context?: RequestContext): TableFormattingResult;
|
|
191
|
+
/**
|
|
192
|
+
* Apply header styling transformations.
|
|
193
|
+
* @private
|
|
194
|
+
*/
|
|
195
|
+
private applyHeaderStyle;
|
|
196
|
+
/**
|
|
197
|
+
* Calculate column widths and metadata.
|
|
198
|
+
* @private
|
|
199
|
+
*/
|
|
200
|
+
private calculateColumns;
|
|
201
|
+
/**
|
|
202
|
+
* Render table using the specified style.
|
|
203
|
+
* @private
|
|
204
|
+
*/
|
|
205
|
+
private renderTable;
|
|
206
|
+
/**
|
|
207
|
+
* Render markdown-style table.
|
|
208
|
+
* @private
|
|
209
|
+
*/
|
|
210
|
+
private renderMarkdown;
|
|
211
|
+
/**
|
|
212
|
+
* Render ASCII box-drawing table.
|
|
213
|
+
* @private
|
|
214
|
+
*/
|
|
215
|
+
private renderAscii;
|
|
216
|
+
/**
|
|
217
|
+
* Render Unicode grid table.
|
|
218
|
+
* @private
|
|
219
|
+
*/
|
|
220
|
+
private renderGrid;
|
|
221
|
+
/**
|
|
222
|
+
* Render compact space-separated table.
|
|
223
|
+
* @private
|
|
224
|
+
*/
|
|
225
|
+
private renderCompact;
|
|
226
|
+
/**
|
|
227
|
+
* Format a single cell with alignment and truncation.
|
|
228
|
+
* @private
|
|
229
|
+
*/
|
|
230
|
+
private formatCell;
|
|
231
|
+
/**
|
|
232
|
+
* Convert any value to a string for display in table.
|
|
233
|
+
* Tracks NULL values per column when columnKey is provided.
|
|
234
|
+
* @private
|
|
235
|
+
*/
|
|
236
|
+
private stringify;
|
|
237
|
+
}
|
|
238
|
+
/**
|
|
239
|
+
* Singleton instance of TableFormatter.
|
|
240
|
+
* Use this instance to format tabular data into various table styles.
|
|
241
|
+
*
|
|
242
|
+
* @example
|
|
243
|
+
* ```typescript
|
|
244
|
+
* import { tableFormatter } from '../index.js';
|
|
245
|
+
*
|
|
246
|
+
* const data = [
|
|
247
|
+
* { name: 'Alice', age: 30, role: 'Engineer' },
|
|
248
|
+
* { name: 'Bob', age: 25, role: 'Designer' }
|
|
249
|
+
* ];
|
|
250
|
+
*
|
|
251
|
+
* // Markdown table (default)
|
|
252
|
+
* console.log(tableFormatter.format(data));
|
|
253
|
+
*
|
|
254
|
+
* // Grid table with right-aligned age
|
|
255
|
+
* console.log(tableFormatter.format(data, {
|
|
256
|
+
* style: 'grid',
|
|
257
|
+
* alignment: { age: 'right' }
|
|
258
|
+
* }));
|
|
259
|
+
*
|
|
260
|
+
* // Compact table with uppercase headers
|
|
261
|
+
* console.log(tableFormatter.format(data, {
|
|
262
|
+
* style: 'compact',
|
|
263
|
+
* headerStyle: 'uppercase'
|
|
264
|
+
* }));
|
|
265
|
+
* ```
|
|
266
|
+
*/
|
|
267
|
+
export declare const tableFormatter: TableFormatter;
|
|
268
|
+
//# sourceMappingURL=tableFormatter.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tableFormatter.d.ts","sourceRoot":"","sources":["../../../src/utils/formatting/tableFormatter.ts"],"names":[],"mappings":"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"}
|