survey-mcp-server
Version:
Survey management server handling survey creation, response collection, analysis, and reporting with database access for data management
61 lines (60 loc) • 1.8 kB
TypeScript
export interface ConfigValidationOptions {
strictMode?: boolean;
allowMissingOptional?: boolean;
validateCredentials?: boolean;
sanitizeSecrets?: boolean;
}
export interface ConfigValidationResult {
isValid: boolean;
errors: Array<{
field: string;
message: string;
severity: 'error' | 'warning' | 'info';
}>;
sanitizedConfig?: any;
securityIssues?: Array<{
field: string;
issue: string;
recommendation: string;
}>;
}
export interface ConfigField {
name: string;
type: 'string' | 'number' | 'boolean' | 'object' | 'array';
required: boolean;
sensitive?: boolean;
validation?: {
minLength?: number;
maxLength?: number;
pattern?: RegExp;
enum?: string[];
min?: number;
max?: number;
custom?: (value: any) => {
isValid: boolean;
message?: string;
};
};
default?: any;
description?: string;
environmentVariable?: string;
}
export declare class ConfigValidator {
private static instance;
private constructor();
static getInstance(): ConfigValidator;
validateConfiguration(config: any, schema: ConfigField[], options?: ConfigValidationOptions): ConfigValidationResult;
private validateField;
private validateType;
private validateFieldRules;
private validateSensitiveField;
private isWeakCredential;
private isDefaultCredential;
private isExposedCredential;
private validateEnvironmentSecurity;
private getNestedValue;
private setNestedValue;
private findUnknownFields;
generateConfigReport(validationResult: ConfigValidationResult, includeRecommendations?: boolean): string;
}
export declare const configValidator: ConfigValidator;