@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
TypeScript
/**
* 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