UNPKG

@memory-bank/mcp

Version:

Memory-enabled Co-Pilot (MCP) server for managing project documentation and context

60 lines 1.9 kB
import { BaseError } from "../../shared/errors/BaseError.js"; import { logger } from "../../shared/utils/logger.js"; /** * Presenter for MCP responses */ export class MCPResponsePresenter { /** * Present successful response * @param result Result data * @returns MCP response object */ presentSuccess(result) { return { success: true, data: result, }; } /** * Present error response * @param error Error object * @returns MCP error response object */ presentError(error) { const errorContext = { errorName: error.name, errorMessage: error.message, }; if (error instanceof BaseError) { errorContext.errorCode = error.code; errorContext.errorDetails = error.details; if (error.cause) { errorContext.cause = error.cause instanceof Error ? { name: error.cause.name, message: error.cause.message } : error.cause; } } if (process.env.NODE_ENV === 'development') { errorContext.stack = error.stack; } logger.error(`Error: ${error.message}`, errorContext); let errorResponse = { success: false, error: { code: 'UNKNOWN_ERROR', message: 'An unexpected error occurred', details: process.env.NODE_ENV === 'development' ? { stack: error.stack } : undefined, }, }; if (error instanceof BaseError) { errorResponse = { success: false, error: { code: error.code, message: error.message, details: error.details, }, }; } return errorResponse; } } //# sourceMappingURL=MCPResponsePresenter.js.map