UNPKG

survey-mcp-server

Version:

Survey management server handling survey creation, response collection, analysis, and reporting with database access for data management

92 lines (91 loc) 3.17 kB
import { ToolResponse } from '../types/index.js'; export declare enum ErrorCode { VALIDATION_ERROR = "VALIDATION_ERROR", SANITIZATION_ERROR = "SANITIZATION_ERROR", DATABASE_ERROR = "DATABASE_ERROR", SEARCH_ERROR = "SEARCH_ERROR", EXTERNAL_API_ERROR = "EXTERNAL_API_ERROR", AUTHENTICATION_ERROR = "AUTHENTICATION_ERROR", AUTHORIZATION_ERROR = "AUTHORIZATION_ERROR", NOT_FOUND = "NOT_FOUND", INTERNAL_ERROR = "INTERNAL_ERROR", RATE_LIMIT_ERROR = "RATE_LIMIT_ERROR", TIMEOUT_ERROR = "TIMEOUT_ERROR", CONFIGURATION_ERROR = "CONFIGURATION_ERROR" } export interface ErrorDetails { code: ErrorCode; message: string; field?: string; details?: any; correlationId?: string; timestamp?: Date; retryable?: boolean; } export declare class BaseError extends Error { readonly code: ErrorCode; readonly statusCode: number; readonly isOperational: boolean; readonly field?: string; readonly details?: any; readonly correlationId: string; readonly timestamp: Date; readonly retryable: boolean; constructor(errorDetails: ErrorDetails, statusCode?: number, isOperational?: boolean); private generateCorrelationId; toJSON(): { name: string; message: string; code: ErrorCode; statusCode: number; field: string | undefined; details: any; correlationId: string; timestamp: string; retryable: boolean; }; } export declare class ValidationError extends BaseError { constructor(message: string, field?: string, details?: any); } export declare class SanitizationError extends BaseError { constructor(message: string, details?: any); } export declare class DatabaseError extends BaseError { constructor(message: string, details?: any, retryable?: boolean); } export declare class SearchError extends BaseError { constructor(message: string, details?: any, retryable?: boolean); } export declare class ExternalApiError extends BaseError { constructor(message: string, details?: any, retryable?: boolean); } export declare class NotFoundError extends BaseError { constructor(message: string, details?: any); } export declare class ConfigurationError extends BaseError { constructor(message: string, details?: any); } export declare class TimeoutError extends BaseError { constructor(message: string, details?: any); } export declare class ErrorHandlingMiddleware { private static instance; private constructor(); static getInstance(): ErrorHandlingMiddleware; handleError(error: Error | BaseError, toolName?: string): ToolResponse; wrapAsyncOperation<T>(operation: () => Promise<T>, errorContext?: { toolName?: string; operationType?: string; timeout?: number; }): Promise<T>; private logError; private createErrorResponse; private normalizeError; private isRetryableMongoError; private sanitizeErrorMessage; private generateCorrelationId; isOperationalError(error: Error): boolean; shouldRetry(error: Error): boolean; } export declare const errorHandlingMiddleware: ErrorHandlingMiddleware;