UNPKG

survey-mcp-server

Version:

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

29 lines (28 loc) 1.67 kB
export { ValidationMiddleware, validationMiddleware, ValidationResult } from './validation.js'; export { SanitizationMiddleware, sanitizationMiddleware, SanitizationOptions } from './sanitization.js'; export { ErrorHandlingMiddleware, errorHandlingMiddleware, BaseError, ValidationError as MiddlewareValidationError, SanitizationError, DatabaseError, SearchError, ExternalApiError, NotFoundError, ConfigurationError, TimeoutError, ErrorCode, ErrorDetails } from './error-handling.js'; import { ToolArguments, ToolResponse } from '../types/index.js'; export interface MiddlewareOptions { skipValidation?: boolean; skipSanitization?: boolean; sanitizationOptions?: { allowHtml?: boolean; stripScripts?: boolean; maxStringLength?: number; allowedTags?: string[]; allowedAttributes?: string[]; }; timeout?: number; } export declare class MiddlewareChain { private static instance; private constructor(); static getInstance(): MiddlewareChain; processToolCall<T>(toolName: string, input: ToolArguments, operation: (sanitizedInput: ToolArguments) => Promise<T>, options?: MiddlewareOptions): Promise<T>; handleError(error: Error, toolName?: string): ToolResponse; wrapDatabaseOperation<T>(operation: () => Promise<T>, operationName: string, timeout?: number): Promise<T>; wrapSearchOperation<T>(operation: () => Promise<T>, operationName: string, timeout?: number): Promise<T>; wrapExternalApiOperation<T>(operation: () => Promise<T>, operationName: string, timeout?: number): Promise<T>; validateMongoQuery(query: any): any; } export declare const middlewareChain: MiddlewareChain;