@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,501 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @fileoverview Markdown builder utility for creating well-structured, semantic markdown content
|
|
3
|
+
* @module utils/formatting/markdownBuilder
|
|
4
|
+
*/
|
|
5
|
+
/**
|
|
6
|
+
* Utility class for building well-formatted markdown content with consistent structure.
|
|
7
|
+
*
|
|
8
|
+
* This builder provides a fluent API for creating markdown documents with proper
|
|
9
|
+
* spacing, hierarchy, and semantic structure. It helps eliminate string concatenation
|
|
10
|
+
* and ensures consistent formatting across all tool response formatters.
|
|
11
|
+
*
|
|
12
|
+
* @example
|
|
13
|
+
* ```typescript
|
|
14
|
+
* const md = new MarkdownBuilder()
|
|
15
|
+
* .h1('Commit Created Successfully')
|
|
16
|
+
* .keyValue('Commit Hash', 'abc123def')
|
|
17
|
+
* .keyValue('Author', 'John Doe')
|
|
18
|
+
* .section('Files Changed', () => {
|
|
19
|
+
* md.list(['file1.ts', 'file2.ts']);
|
|
20
|
+
* });
|
|
21
|
+
*
|
|
22
|
+
* const markdown = md.build();
|
|
23
|
+
* ```
|
|
24
|
+
*/
|
|
25
|
+
export class MarkdownBuilder {
|
|
26
|
+
sections = [];
|
|
27
|
+
/**
|
|
28
|
+
* Add a level 1 heading.
|
|
29
|
+
* @param text - The heading text
|
|
30
|
+
* @param emoji - Optional emoji to prepend
|
|
31
|
+
* @returns this builder for chaining
|
|
32
|
+
*/
|
|
33
|
+
h1(text, emoji) {
|
|
34
|
+
const prefix = emoji ? `${emoji} ` : "";
|
|
35
|
+
this.sections.push(`# ${prefix}${text}\n\n`);
|
|
36
|
+
return this;
|
|
37
|
+
}
|
|
38
|
+
/**
|
|
39
|
+
* Add a level 2 heading.
|
|
40
|
+
* @param text - The heading text
|
|
41
|
+
* @param emoji - Optional emoji to prepend
|
|
42
|
+
* @returns this builder for chaining
|
|
43
|
+
*/
|
|
44
|
+
h2(text, emoji) {
|
|
45
|
+
const prefix = emoji ? `${emoji} ` : "";
|
|
46
|
+
this.sections.push(`## ${prefix}${text}\n\n`);
|
|
47
|
+
return this;
|
|
48
|
+
}
|
|
49
|
+
/**
|
|
50
|
+
* Add a level 3 heading.
|
|
51
|
+
* @param text - The heading text
|
|
52
|
+
* @param emoji - Optional emoji to prepend
|
|
53
|
+
* @returns this builder for chaining
|
|
54
|
+
*/
|
|
55
|
+
h3(text, emoji) {
|
|
56
|
+
const prefix = emoji ? `${emoji} ` : "";
|
|
57
|
+
this.sections.push(`### ${prefix}${text}\n\n`);
|
|
58
|
+
return this;
|
|
59
|
+
}
|
|
60
|
+
/**
|
|
61
|
+
* Add a level 4 heading.
|
|
62
|
+
* @param text - The heading text
|
|
63
|
+
* @returns this builder for chaining
|
|
64
|
+
*/
|
|
65
|
+
h4(text) {
|
|
66
|
+
this.sections.push(`#### ${text}\n\n`);
|
|
67
|
+
return this;
|
|
68
|
+
}
|
|
69
|
+
/**
|
|
70
|
+
* Add a bold key-value pair on a single line.
|
|
71
|
+
* @param key - The key (will be bolded)
|
|
72
|
+
* @param value - The value
|
|
73
|
+
* @returns this builder for chaining
|
|
74
|
+
*/
|
|
75
|
+
keyValue(key, value) {
|
|
76
|
+
const displayValue = value === null ? "null" : String(value);
|
|
77
|
+
this.sections.push(`**${key}:** ${displayValue}\n`);
|
|
78
|
+
return this;
|
|
79
|
+
}
|
|
80
|
+
/**
|
|
81
|
+
* Add a key-value pair without bolding (for less emphasis).
|
|
82
|
+
* @param key - The key
|
|
83
|
+
* @param value - The value
|
|
84
|
+
* @returns this builder for chaining
|
|
85
|
+
*/
|
|
86
|
+
keyValuePlain(key, value) {
|
|
87
|
+
const displayValue = value === null ? "null" : String(value);
|
|
88
|
+
this.sections.push(`${key}: ${displayValue}\n`);
|
|
89
|
+
return this;
|
|
90
|
+
}
|
|
91
|
+
/**
|
|
92
|
+
* Add a bulleted or numbered list.
|
|
93
|
+
* @param items - Array of items to list
|
|
94
|
+
* @param ordered - If true, creates a numbered list
|
|
95
|
+
* @returns this builder for chaining
|
|
96
|
+
*/
|
|
97
|
+
list(items, ordered = false) {
|
|
98
|
+
if (items.length === 0)
|
|
99
|
+
return this;
|
|
100
|
+
const marker = ordered ? (i) => `${i + 1}.` : () => "-";
|
|
101
|
+
this.sections.push(items.map((item, i) => `${marker(i)} ${item}`).join("\n") + "\n\n");
|
|
102
|
+
return this;
|
|
103
|
+
}
|
|
104
|
+
/**
|
|
105
|
+
* Add a code block with optional language syntax highlighting.
|
|
106
|
+
* @param content - The code content
|
|
107
|
+
* @param language - Optional language identifier (e.g., 'typescript', 'diff', 'json')
|
|
108
|
+
* @returns this builder for chaining
|
|
109
|
+
*/
|
|
110
|
+
codeBlock(content, language = "") {
|
|
111
|
+
this.sections.push(`\`\`\`${language}\n${content}\n\`\`\`\n\n`);
|
|
112
|
+
return this;
|
|
113
|
+
}
|
|
114
|
+
/**
|
|
115
|
+
* Add inline code (backticks).
|
|
116
|
+
* @param code - The code text
|
|
117
|
+
* @returns this builder for chaining
|
|
118
|
+
*/
|
|
119
|
+
inlineCode(code) {
|
|
120
|
+
this.sections.push(`\`${code}\``);
|
|
121
|
+
return this;
|
|
122
|
+
}
|
|
123
|
+
/**
|
|
124
|
+
* Add a paragraph of text.
|
|
125
|
+
* @param text - The paragraph content
|
|
126
|
+
* @returns this builder for chaining
|
|
127
|
+
*/
|
|
128
|
+
paragraph(text) {
|
|
129
|
+
this.sections.push(`${text}\n\n`);
|
|
130
|
+
return this;
|
|
131
|
+
}
|
|
132
|
+
/**
|
|
133
|
+
* Add a blockquote.
|
|
134
|
+
* @param text - The quoted text
|
|
135
|
+
* @returns this builder for chaining
|
|
136
|
+
*/
|
|
137
|
+
blockquote(text) {
|
|
138
|
+
const lines = text.split("\n");
|
|
139
|
+
const quoted = lines.map((line) => `> ${line}`).join("\n");
|
|
140
|
+
this.sections.push(`${quoted}\n\n`);
|
|
141
|
+
return this;
|
|
142
|
+
}
|
|
143
|
+
/**
|
|
144
|
+
* Add a horizontal rule.
|
|
145
|
+
* @returns this builder for chaining
|
|
146
|
+
*/
|
|
147
|
+
hr() {
|
|
148
|
+
this.sections.push("---\n\n");
|
|
149
|
+
return this;
|
|
150
|
+
}
|
|
151
|
+
/**
|
|
152
|
+
* Add a link.
|
|
153
|
+
* @param text - The link text
|
|
154
|
+
* @param url - The URL
|
|
155
|
+
* @returns this builder for chaining
|
|
156
|
+
*/
|
|
157
|
+
link(text, url) {
|
|
158
|
+
this.sections.push(`[${text}](${url})`);
|
|
159
|
+
return this;
|
|
160
|
+
}
|
|
161
|
+
/**
|
|
162
|
+
* Add a table from structured data.
|
|
163
|
+
* @param headers - Array of column headers
|
|
164
|
+
* @param rows - Array of rows, each row is an array of cell values
|
|
165
|
+
* @returns this builder for chaining
|
|
166
|
+
*/
|
|
167
|
+
table(headers, rows) {
|
|
168
|
+
if (headers.length === 0 || rows.length === 0)
|
|
169
|
+
return this;
|
|
170
|
+
// Header row
|
|
171
|
+
this.sections.push(`| ${headers.join(" | ")} |\n`);
|
|
172
|
+
// Separator row
|
|
173
|
+
this.sections.push(`| ${headers.map(() => "---").join(" | ")} |\n`);
|
|
174
|
+
// Data rows
|
|
175
|
+
rows.forEach((row) => {
|
|
176
|
+
this.sections.push(`| ${row.join(" | ")} |\n`);
|
|
177
|
+
});
|
|
178
|
+
this.sections.push("\n");
|
|
179
|
+
return this;
|
|
180
|
+
}
|
|
181
|
+
/**
|
|
182
|
+
* Add a section with a heading and callback for content.
|
|
183
|
+
* This is useful for grouping related content.
|
|
184
|
+
*
|
|
185
|
+
* @example
|
|
186
|
+
* ```typescript
|
|
187
|
+
* md.section('Files Changed', () => {
|
|
188
|
+
* md.list(['file1.ts', 'file2.ts']);
|
|
189
|
+
* });
|
|
190
|
+
* ```
|
|
191
|
+
*
|
|
192
|
+
* @param title - The section heading
|
|
193
|
+
* @param levelOrContent - Heading level (2-4) or callback function
|
|
194
|
+
* @param content - Callback function (if level is provided)
|
|
195
|
+
* @returns this builder for chaining
|
|
196
|
+
*/
|
|
197
|
+
section(title, levelOrContent, content) {
|
|
198
|
+
const level = typeof levelOrContent === "function" ? 2 : levelOrContent;
|
|
199
|
+
const callback = typeof levelOrContent === "function" ? levelOrContent : content;
|
|
200
|
+
switch (level) {
|
|
201
|
+
case 2:
|
|
202
|
+
this.h2(title);
|
|
203
|
+
break;
|
|
204
|
+
case 3:
|
|
205
|
+
this.h3(title);
|
|
206
|
+
break;
|
|
207
|
+
case 4:
|
|
208
|
+
this.h4(title);
|
|
209
|
+
break;
|
|
210
|
+
}
|
|
211
|
+
callback();
|
|
212
|
+
return this;
|
|
213
|
+
}
|
|
214
|
+
/**
|
|
215
|
+
* Add a collapsible details section (HTML details/summary).
|
|
216
|
+
* Note: Not all markdown renderers support this.
|
|
217
|
+
*
|
|
218
|
+
* @param summary - The summary text (always visible)
|
|
219
|
+
* @param details - The detailed content (collapsed by default)
|
|
220
|
+
* @returns this builder for chaining
|
|
221
|
+
*/
|
|
222
|
+
details(summary, details) {
|
|
223
|
+
this.sections.push(`<details>\n<summary>${summary}</summary>\n\n`);
|
|
224
|
+
this.sections.push(`${details}\n\n`);
|
|
225
|
+
this.sections.push(`</details>\n\n`);
|
|
226
|
+
return this;
|
|
227
|
+
}
|
|
228
|
+
/**
|
|
229
|
+
* Add a status/alert box (GitHub/GitLab style).
|
|
230
|
+
* Renders as a highlighted blockquote with an icon.
|
|
231
|
+
*
|
|
232
|
+
* Supported types:
|
|
233
|
+
* - 'note': 📝 Neutral information
|
|
234
|
+
* - 'tip': 💡 Helpful suggestions
|
|
235
|
+
* - 'important': ❗ Critical information
|
|
236
|
+
* - 'warning': ⚠️ Warning/caution
|
|
237
|
+
* - 'caution': 🚨 Danger/destructive action
|
|
238
|
+
*
|
|
239
|
+
* @param type - Alert type
|
|
240
|
+
* @param content - Alert content (can be multi-line)
|
|
241
|
+
* @returns this builder for chaining
|
|
242
|
+
*
|
|
243
|
+
* @example
|
|
244
|
+
* ```typescript
|
|
245
|
+
* md.alert('warning', 'This operation cannot be undone!');
|
|
246
|
+
* // Renders: > [!WARNING]
|
|
247
|
+
* // > This operation cannot be undone!
|
|
248
|
+
* ```
|
|
249
|
+
*/
|
|
250
|
+
alert(type, content) {
|
|
251
|
+
const typeUpper = type.toUpperCase();
|
|
252
|
+
const lines = content.split("\n");
|
|
253
|
+
this.sections.push(`> [!${typeUpper}]\n`);
|
|
254
|
+
lines.forEach((line) => {
|
|
255
|
+
this.sections.push(`> ${line}\n`);
|
|
256
|
+
});
|
|
257
|
+
this.sections.push("\n");
|
|
258
|
+
return this;
|
|
259
|
+
}
|
|
260
|
+
/**
|
|
261
|
+
* Add a task list with checkboxes (GitHub style).
|
|
262
|
+
*
|
|
263
|
+
* @param items - Array of tasks with checked status
|
|
264
|
+
* @returns this builder for chaining
|
|
265
|
+
*
|
|
266
|
+
* @example
|
|
267
|
+
* ```typescript
|
|
268
|
+
* md.taskList([
|
|
269
|
+
* { checked: true, text: 'Complete setup' },
|
|
270
|
+
* { checked: false, text: 'Run tests' },
|
|
271
|
+
* ]);
|
|
272
|
+
* // Renders: - [x] Complete setup
|
|
273
|
+
* // - [ ] Run tests
|
|
274
|
+
* ```
|
|
275
|
+
*/
|
|
276
|
+
taskList(items) {
|
|
277
|
+
if (items.length === 0)
|
|
278
|
+
return this;
|
|
279
|
+
this.sections.push(items
|
|
280
|
+
.map((item) => `- [${item.checked ? "x" : " "}] ${item.text}`)
|
|
281
|
+
.join("\n") + "\n\n");
|
|
282
|
+
return this;
|
|
283
|
+
}
|
|
284
|
+
/**
|
|
285
|
+
* Add an image with alt text and optional title.
|
|
286
|
+
*
|
|
287
|
+
* @param altText - Alternative text for the image
|
|
288
|
+
* @param url - Image URL
|
|
289
|
+
* @param title - Optional title (shown on hover)
|
|
290
|
+
* @returns this builder for chaining
|
|
291
|
+
*
|
|
292
|
+
* @example
|
|
293
|
+
* ```typescript
|
|
294
|
+
* md.image('Architecture diagram', '/assets/diagram.png', 'System Architecture');
|
|
295
|
+
* // Renders: 
|
|
296
|
+
* ```
|
|
297
|
+
*/
|
|
298
|
+
image(altText, url, title) {
|
|
299
|
+
const titlePart = title ? ` "${title}"` : "";
|
|
300
|
+
this.sections.push(`\n\n`);
|
|
301
|
+
return this;
|
|
302
|
+
}
|
|
303
|
+
/**
|
|
304
|
+
* Add strikethrough text.
|
|
305
|
+
*
|
|
306
|
+
* @param text - Text to strike through
|
|
307
|
+
* @returns this builder for chaining
|
|
308
|
+
*
|
|
309
|
+
* @example
|
|
310
|
+
* ```typescript
|
|
311
|
+
* md.text('Price: ').strikethrough('$100').text(' $80');
|
|
312
|
+
* // Renders: Price: ~~$100~~ $80
|
|
313
|
+
* ```
|
|
314
|
+
*/
|
|
315
|
+
strikethrough(text) {
|
|
316
|
+
this.sections.push(`~~${text}~~`);
|
|
317
|
+
return this;
|
|
318
|
+
}
|
|
319
|
+
/**
|
|
320
|
+
* Add a diff-style code block showing additions and deletions.
|
|
321
|
+
* Useful for showing file changes, configuration updates, etc.
|
|
322
|
+
*
|
|
323
|
+
* @param changes - Object with optional additions, deletions, and context lines
|
|
324
|
+
* @returns this builder for chaining
|
|
325
|
+
*
|
|
326
|
+
* @example
|
|
327
|
+
* ```typescript
|
|
328
|
+
* md.diff({
|
|
329
|
+
* additions: ['const newFeature = true;'],
|
|
330
|
+
* deletions: ['const oldFeature = false;'],
|
|
331
|
+
* context: ['// Configuration'],
|
|
332
|
+
* });
|
|
333
|
+
* // Renders as a diff code block with +/- prefixes
|
|
334
|
+
* ```
|
|
335
|
+
*/
|
|
336
|
+
diff(changes) {
|
|
337
|
+
const lines = [];
|
|
338
|
+
// Context lines (no prefix)
|
|
339
|
+
if (changes.context) {
|
|
340
|
+
lines.push(...changes.context.map((line) => ` ${line}`));
|
|
341
|
+
}
|
|
342
|
+
// Deletions (- prefix)
|
|
343
|
+
if (changes.deletions) {
|
|
344
|
+
lines.push(...changes.deletions.map((line) => `- ${line}`));
|
|
345
|
+
}
|
|
346
|
+
// Additions (+ prefix)
|
|
347
|
+
if (changes.additions) {
|
|
348
|
+
lines.push(...changes.additions.map((line) => `+ ${line}`));
|
|
349
|
+
}
|
|
350
|
+
if (lines.length > 0) {
|
|
351
|
+
this.codeBlock(lines.join("\n"), "diff");
|
|
352
|
+
}
|
|
353
|
+
return this;
|
|
354
|
+
}
|
|
355
|
+
/**
|
|
356
|
+
* Add a badge/shield (uses shields.io style).
|
|
357
|
+
*
|
|
358
|
+
* @param label - Badge label (left side)
|
|
359
|
+
* @param message - Badge message (right side)
|
|
360
|
+
* @param color - Optional color (e.g., 'green', 'red', 'blue', 'yellow')
|
|
361
|
+
* @returns this builder for chaining
|
|
362
|
+
*
|
|
363
|
+
* @example
|
|
364
|
+
* ```typescript
|
|
365
|
+
* md.badge('build', 'passing', 'green');
|
|
366
|
+
* // Renders: 
|
|
367
|
+
* ```
|
|
368
|
+
*/
|
|
369
|
+
badge(label, message, color = "blue") {
|
|
370
|
+
const encodedLabel = encodeURIComponent(label);
|
|
371
|
+
const encodedMessage = encodeURIComponent(message);
|
|
372
|
+
const url = `https://img.shields.io/badge/${encodedLabel}-${encodedMessage}-${color}`;
|
|
373
|
+
this.sections.push(``);
|
|
374
|
+
return this;
|
|
375
|
+
}
|
|
376
|
+
/**
|
|
377
|
+
* Add bold text.
|
|
378
|
+
*
|
|
379
|
+
* @param text - Text to make bold
|
|
380
|
+
* @returns this builder for chaining
|
|
381
|
+
*
|
|
382
|
+
* @example
|
|
383
|
+
* ```typescript
|
|
384
|
+
* md.text('This is ').bold('important').text(' information.');
|
|
385
|
+
* // Renders: This is **important** information.
|
|
386
|
+
* ```
|
|
387
|
+
*/
|
|
388
|
+
bold(text) {
|
|
389
|
+
this.sections.push(`**${text}**`);
|
|
390
|
+
return this;
|
|
391
|
+
}
|
|
392
|
+
/**
|
|
393
|
+
* Add italic text.
|
|
394
|
+
*
|
|
395
|
+
* @param text - Text to make italic
|
|
396
|
+
* @returns this builder for chaining
|
|
397
|
+
*
|
|
398
|
+
* @example
|
|
399
|
+
* ```typescript
|
|
400
|
+
* md.text('This is ').italic('emphasized').text('.');
|
|
401
|
+
* // Renders: This is *emphasized*.
|
|
402
|
+
* ```
|
|
403
|
+
*/
|
|
404
|
+
italic(text) {
|
|
405
|
+
this.sections.push(`*${text}*`);
|
|
406
|
+
return this;
|
|
407
|
+
}
|
|
408
|
+
/**
|
|
409
|
+
* Add bold and italic text.
|
|
410
|
+
*
|
|
411
|
+
* @param text - Text to make bold and italic
|
|
412
|
+
* @returns this builder for chaining
|
|
413
|
+
*
|
|
414
|
+
* @example
|
|
415
|
+
* ```typescript
|
|
416
|
+
* md.boldItalic('Very important');
|
|
417
|
+
* // Renders: ***Very important***
|
|
418
|
+
* ```
|
|
419
|
+
*/
|
|
420
|
+
boldItalic(text) {
|
|
421
|
+
this.sections.push(`***${text}***`);
|
|
422
|
+
return this;
|
|
423
|
+
}
|
|
424
|
+
/**
|
|
425
|
+
* Add raw markdown content directly.
|
|
426
|
+
* Use this for custom formatting not covered by other methods.
|
|
427
|
+
*
|
|
428
|
+
* @param markdown - Raw markdown string
|
|
429
|
+
* @returns this builder for chaining
|
|
430
|
+
*/
|
|
431
|
+
raw(markdown) {
|
|
432
|
+
this.sections.push(markdown);
|
|
433
|
+
return this;
|
|
434
|
+
}
|
|
435
|
+
/**
|
|
436
|
+
* Add a blank line for spacing.
|
|
437
|
+
* @returns this builder for chaining
|
|
438
|
+
*/
|
|
439
|
+
blankLine() {
|
|
440
|
+
this.sections.push("\n");
|
|
441
|
+
return this;
|
|
442
|
+
}
|
|
443
|
+
/**
|
|
444
|
+
* Add text without any formatting or line breaks.
|
|
445
|
+
* Useful for inline text that will be followed by other inline elements.
|
|
446
|
+
*
|
|
447
|
+
* @param text - The text to add
|
|
448
|
+
* @returns this builder for chaining
|
|
449
|
+
*/
|
|
450
|
+
text(text) {
|
|
451
|
+
this.sections.push(text);
|
|
452
|
+
return this;
|
|
453
|
+
}
|
|
454
|
+
/**
|
|
455
|
+
* Conditionally add content based on a predicate.
|
|
456
|
+
*
|
|
457
|
+
* @example
|
|
458
|
+
* ```typescript
|
|
459
|
+
* md.when(files.length > 0, () => {
|
|
460
|
+
* md.h2('Files Changed').list(files);
|
|
461
|
+
* });
|
|
462
|
+
* ```
|
|
463
|
+
*
|
|
464
|
+
* @param condition - If true, execute the callback
|
|
465
|
+
* @param content - Callback function to build conditional content
|
|
466
|
+
* @returns this builder for chaining
|
|
467
|
+
*/
|
|
468
|
+
when(condition, content) {
|
|
469
|
+
if (condition) {
|
|
470
|
+
content();
|
|
471
|
+
}
|
|
472
|
+
return this;
|
|
473
|
+
}
|
|
474
|
+
/**
|
|
475
|
+
* Build the final markdown string.
|
|
476
|
+
* Trims trailing whitespace and ensures the document ends cleanly.
|
|
477
|
+
*
|
|
478
|
+
* @returns The complete markdown document as a string
|
|
479
|
+
*/
|
|
480
|
+
build() {
|
|
481
|
+
return this.sections.join("").trim();
|
|
482
|
+
}
|
|
483
|
+
/**
|
|
484
|
+
* Reset the builder to start building a new document.
|
|
485
|
+
* @returns this builder for chaining
|
|
486
|
+
*/
|
|
487
|
+
reset() {
|
|
488
|
+
this.sections = [];
|
|
489
|
+
return this;
|
|
490
|
+
}
|
|
491
|
+
}
|
|
492
|
+
/**
|
|
493
|
+
* Helper function to create a MarkdownBuilder instance.
|
|
494
|
+
* Provides a shorter alternative to `new MarkdownBuilder()`.
|
|
495
|
+
*
|
|
496
|
+
* @returns A new MarkdownBuilder instance
|
|
497
|
+
*/
|
|
498
|
+
export function markdown() {
|
|
499
|
+
return new MarkdownBuilder();
|
|
500
|
+
}
|
|
501
|
+
//# sourceMappingURL=markdownBuilder.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"markdownBuilder.js","sourceRoot":"","sources":["../../../src/utils/formatting/markdownBuilder.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,69 @@
|
|
|
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
|
+
import type { Alignment } from "./tableFormatter.js";
|
|
8
|
+
/**
|
|
9
|
+
* Determine the appropriate column alignment based on IBM i DB2 data type.
|
|
10
|
+
* Numeric types are right-aligned for better visual comparison,
|
|
11
|
+
* while text and temporal types are left-aligned.
|
|
12
|
+
*
|
|
13
|
+
* @param columnType - The database column type (e.g., 'INTEGER', 'VARCHAR')
|
|
14
|
+
* @returns The recommended alignment for this column type
|
|
15
|
+
*
|
|
16
|
+
* @example
|
|
17
|
+
* ```typescript
|
|
18
|
+
* getColumnAlignment('INTEGER'); // 'right'
|
|
19
|
+
* getColumnAlignment('VARCHAR'); // 'left'
|
|
20
|
+
* getColumnAlignment('TIMESTAMP'); // 'left'
|
|
21
|
+
* getColumnAlignment('UNKNOWN'); // 'left' (default)
|
|
22
|
+
* ```
|
|
23
|
+
*/
|
|
24
|
+
export declare function getColumnAlignment(columnType: string | undefined): Alignment;
|
|
25
|
+
/**
|
|
26
|
+
* Format a column header with type indicator.
|
|
27
|
+
* Appends the data type in parentheses for LLM clarity.
|
|
28
|
+
*
|
|
29
|
+
* @param columnName - The column name
|
|
30
|
+
* @param columnType - The database column type (optional)
|
|
31
|
+
* @returns Formatted header string
|
|
32
|
+
*
|
|
33
|
+
* @example
|
|
34
|
+
* ```typescript
|
|
35
|
+
* formatColumnHeader('EMPLOYEE_ID', 'INTEGER');
|
|
36
|
+
* // Returns: 'EMPLOYEE_ID (INTEGER)'
|
|
37
|
+
*
|
|
38
|
+
* formatColumnHeader('NAME', 'VARCHAR(50)');
|
|
39
|
+
* // Returns: 'NAME (VARCHAR)'
|
|
40
|
+
*
|
|
41
|
+
* formatColumnHeader('STATUS');
|
|
42
|
+
* // Returns: 'STATUS'
|
|
43
|
+
* ```
|
|
44
|
+
*/
|
|
45
|
+
export declare function formatColumnHeader(columnName: string, columnType?: string): string;
|
|
46
|
+
/**
|
|
47
|
+
* Build a column alignment map for use with TableFormatter.
|
|
48
|
+
* Maps column names to their appropriate alignment based on their data types.
|
|
49
|
+
*
|
|
50
|
+
* @param columns - Array of column definitions with name and type
|
|
51
|
+
* @returns Record mapping column names to alignment values
|
|
52
|
+
*
|
|
53
|
+
* @example
|
|
54
|
+
* ```typescript
|
|
55
|
+
* const columns = [
|
|
56
|
+
* { name: 'ID', type: 'INTEGER' },
|
|
57
|
+
* { name: 'NAME', type: 'VARCHAR' },
|
|
58
|
+
* { name: 'SALARY', type: 'DECIMAL' }
|
|
59
|
+
* ];
|
|
60
|
+
*
|
|
61
|
+
* buildColumnAlignmentMap(columns);
|
|
62
|
+
* // Returns: { ID: 'right', NAME: 'left', SALARY: 'right' }
|
|
63
|
+
* ```
|
|
64
|
+
*/
|
|
65
|
+
export declare function buildColumnAlignmentMap(columns: Array<{
|
|
66
|
+
name: string;
|
|
67
|
+
type?: string;
|
|
68
|
+
}>): Record<string, Alignment>;
|
|
69
|
+
//# sourceMappingURL=sqlFormattingUtils.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sqlFormattingUtils.d.ts","sourceRoot":"","sources":["../../../src/utils/formatting/sqlFormattingUtils.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAC;AA2CrD;;;;;;;;;;;;;;;GAeG;AACH,wBAAgB,kBAAkB,CAAC,UAAU,EAAE,MAAM,GAAG,SAAS,GAAG,SAAS,CAmB5E;AAED;;;;;;;;;;;;;;;;;;;GAmBG;AACH,wBAAgB,kBAAkB,CAChC,UAAU,EAAE,MAAM,EAClB,UAAU,CAAC,EAAE,MAAM,GAClB,MAAM,CAQR;AAED;;;;;;;;;;;;;;;;;;GAkBG;AACH,wBAAgB,uBAAuB,CACrC,OAAO,EAAE,KAAK,CAAC;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,IAAI,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC,GAC9C,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,CAQ3B"}
|