UNPKG

@andrebuzeli/advanced-memory-markdown-mcp

Version:

Advanced Memory Bank MCP v3.1.5 - Sistema avançado de gerenciamento de memória com isolamento de projetos por IDE, sincronização sob demanda, backup a cada 30min, apenas arquivos .md principais sincronizados, pasta reasoning temporária com limpeza automát

68 lines 2.29 kB
/** * Error Handler - Centralized error handling following MCP best practices * Implements proper error categorization, logging, and user-friendly messages */ import { McpError } from '@modelcontextprotocol/sdk/types.js'; export declare enum MCPErrorType { INVALID_PARAMS = "INVALID_PARAMS", RESOURCE_NOT_FOUND = "RESOURCE_NOT_FOUND", PERMISSION_DENIED = "PERMISSION_DENIED", INTERNAL_ERROR = "INTERNAL_ERROR", TIMEOUT = "TIMEOUT", VALIDATION_ERROR = "VALIDATION_ERROR", NETWORK_ERROR = "NETWORK_ERROR" } export interface ErrorContext { operation: string; projectName?: string; resourceId?: string; userId?: string; timestamp: number; stackTrace?: string | undefined; } export declare class MCPErrorHandler { private static instance; private errorLog; private readonly maxLogSize; private constructor(); static getInstance(): MCPErrorHandler; /** * Handle and format errors according to MCP standards */ handleError(error: unknown, context: ErrorContext): McpError; /** * Validate parameters and throw appropriate errors */ validateParams(params: any, requiredFields: string[], operation: string): void; /** * Create user-friendly error messages */ createUserFriendlyMessage(error: Error, context: ErrorContext): string; /** * Get error statistics for monitoring */ getErrorStats(): { totalErrors: number; errorsByType: Record<string, number>; recentErrors: Array<{ operation: string; timestamp: number; type: string; }>; }; /** * Clear error log (for maintenance) */ clearErrorLog(): void; private normalizeError; private categorizeError; private createMCPError; private createValidationError; private getErrorCode; private logError; } export declare const errorHandler: MCPErrorHandler; export declare function validateProjectName(projectName: string, operation: string): void; export declare function validateRequiredParams(params: any, required: string[], operation: string): void; export declare function handleAsyncError<T>(promise: Promise<T>, context: ErrorContext): Promise<T>; //# sourceMappingURL=error-handler.d.ts.map