/** * Validation Processing Factory * * Core orchestrator for the ADPA Quality Assurance Engine validation system. * Manages the execution of multiple validators and aggregates results into * comprehensive compliance reports. * * This factory provides the main interface for running validation checks * and follows the same architectural pattern as the DocumentGenerator's * ProcessorFactory for consistency and maintainability. * * @version 1.0.0 * @author ADPA Quality Assurance Engine Team * @created June 2025 */ import { IValidator, ValidationConfig, ValidationResult } from './interfaces/IValidator.js'; /** * Comprehensive validation report aggregating all validator results */ export interface ComprehensiveValidationReport { /** Overall validation summary */ summary: { totalValidators: number; passedValidators: number; failedValidators: number; overallScore: number; maxPossibleScore: number; overallPassed: boolean; executionTimeMs: number; timestamp: Date; }; /** Results from individual validators */ validatorResults: ValidationResult[]; /** Aggregated issues by severity */ issuesSummary: { critical: string[]; warning: string[]; info: string[]; }; /** Aggregated strengths */ strengths: string[]; /** Aggregated recommendations */ recommendations: string[]; /** Consistency score for cross-document validation */ consistencyScore: number; /** Document-specific scores */ documentScores: Record; /** PMBOK compliance assessment */ pmbokCompliance: { score: number; isCompliant: boolean; missingElements: string[]; documentQuality: Record; }; } /** * Options for validation execution */ export interface ValidationExecutionOptions { /** Whether to run validations in parallel */ parallel?: boolean; /** Maximum number of concurrent validations */ maxConcurrency?: number; /** Whether to stop on first critical failure */ stopOnCriticalFailure?: boolean; /** Whether to include detailed analysis */ includeDetailedAnalysis?: boolean; /** Specific validators to run (if not provided, runs all applicable) */ validatorIds?: string[]; /** Tags to filter validators */ tags?: string[]; /** Minimum score threshold for overall compliance */ complianceThreshold?: number; } /** * Main validation processing factory */ export declare class ValidationFactory { private registry; constructor(); /** * Run comprehensive validation on the provided documents * @param config Validation configuration * @param options Execution options * @returns Comprehensive validation report */ runComprehensiveValidation(config: ValidationConfig, options?: ValidationExecutionOptions): Promise; /** * Run a specific validator * @param validatorId The validator ID to run * @param config Validation configuration * @returns Validation result */ runValidator(validatorId: string, config: ValidationConfig): Promise; /** * Get available validators for the given document types * @param documentTypes Document types to check * @returns Array of applicable validators */ getApplicableValidators(documentTypes: string[]): IValidator[]; /** * Register a new validator * @param validator The validator to register * @param options Registration options */ registerValidator(validator: IValidator, options?: { enabled?: boolean; version?: string; tags?: string[]; metadata?: Record; }): void; /** * Get registry statistics */ getStats(): { totalValidators: number; enabledValidators: number; disabledValidators: number; totalTags: number; validatorsByPriority: Record; }; /** * List all registered validators */ listValidators(): void; /** * Run validators in parallel */ private runValidatorsInParallel; /** * Run validators sequentially */ private runValidatorsSequentially; /** * Safely run a validator with error handling */ private runValidatorSafely; /** * Aggregate validation results into comprehensive report */ private aggregateResults; } //# sourceMappingURL=ValidationFactory.d.ts.map