UNPKG

marketing-post-generator-mcp

Version:

A powerful MCP server for AI-powered marketing blog post generation with Claude integration

42 lines 1.97 kB
import { ErrorHandlingService } from './ErrorHandlingService'; import { RateLimitService } from '../../services/rateLimit/RateLimitService'; import { createMcpErrorWrapper } from '../errors/McpErrorWrapper'; import { createLogger } from '../../utils/logger'; // Service tokens export const SERVICE_TOKENS = { ERROR_HANDLING_SERVICE: 'ErrorHandlingService', RATE_LIMIT_SERVICE: 'RateLimitService', MCP_ERROR_WRAPPER: 'McpErrorWrapper', LOGGER: 'Logger', }; export function registerErrorHandlingServices(container, config) { // Register logger container.register(SERVICE_TOKENS.LOGGER, () => createLogger({ level: config.logging.level, format: config.logging.format }), true); // Register error handling service container.register(SERVICE_TOKENS.ERROR_HANDLING_SERVICE, () => new ErrorHandlingService(config.errorHandling), true); // Register rate limit service container.register(SERVICE_TOKENS.RATE_LIMIT_SERVICE, () => { const logger = container.resolve(SERVICE_TOKENS.LOGGER); return new RateLimitService(logger); }, true); // Register MCP error wrapper container.register(SERVICE_TOKENS.MCP_ERROR_WRAPPER, () => { const errorHandlingService = container.resolve(SERVICE_TOKENS.ERROR_HANDLING_SERVICE); const logger = container.resolve(SERVICE_TOKENS.LOGGER); return createMcpErrorWrapper(errorHandlingService.getErrorHandler(), logger); }, true); } // Helper function to resolve services export function getErrorHandlingService(container) { return container.resolve(SERVICE_TOKENS.ERROR_HANDLING_SERVICE); } export function getRateLimitService(container) { return container.resolve(SERVICE_TOKENS.RATE_LIMIT_SERVICE); } export function getMcpErrorWrapper(container) { return container.resolve(SERVICE_TOKENS.MCP_ERROR_WRAPPER); } export function getLogger(container) { return container.resolve(SERVICE_TOKENS.LOGGER); } //# sourceMappingURL=index.js.map