UNPKG

@memory-bank/mcp

Version:

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

77 lines 2.53 kB
import { BaseError } from './BaseError.js'; /** * Error codes for shared utilities */ export const SharedUtilsErrorCodes = { UNKNOWN_ERROR: 'UNKNOWN_ERROR', VALIDATION_ERROR: 'VALIDATION_ERROR', CONVERSION_ERROR: 'CONVERSION_ERROR', PARSING_ERROR: 'PARSING_ERROR', FORMAT_ERROR: 'FORMAT_ERROR', INVALID_ARGUMENT: 'INVALID_ARGUMENT', }; /** * Error class for shared utilities */ export class SharedUtilsError extends BaseError { /** * Create a new SharedUtilsError * * @param code Error code (without prefix) * @param message Human-readable error message * @param details Additional error details * @param options Additional error options */ constructor(code, message, details, options) { super(`SHARED_UTILS_${code}`, message, details, options); } /** * Shared utils errors are typically internal/server errors */ getHttpStatusCode() { return 500; } /** * Create a new SharedUtilsError with the same code but a new message * Useful for adding context to existing errors * * @param newMessage New error message * @param additionalDetails Additional details to merge with existing details */ withMessage(newMessage, additionalDetails) { const combinedDetails = { ...this.details, ...additionalDetails, originalMessage: this.message }; const codeMatch = this.code.match(/SHARED_UTILS_(\w+)/); const codeWithoutPrefix = codeMatch ? codeMatch[1] : SharedUtilsErrorCodes.UNKNOWN_ERROR; return new SharedUtilsError(codeWithoutPrefix, newMessage, combinedDetails, { cause: this.cause }); } } /** * Factory functions for creating standard shared utils errors */ export const SharedUtilsErrors = { /** * Create a validation error */ validationError: (message, additionalDetails) => { return new SharedUtilsError('VALIDATION_ERROR', message, additionalDetails); }, /** * Create a parsing error */ parsingError: (message, cause, additionalDetails) => { return new SharedUtilsError('PARSING_ERROR', message, additionalDetails, { cause }); }, /** * Create an invalid argument error */ invalidArgument: (argumentName, message, additionalDetails) => { return new SharedUtilsError('INVALID_ARGUMENT', message, { argumentName, ...additionalDetails }); } }; //# sourceMappingURL=SharedUtilsError.js.map