UNPKG

supa-seed

Version:

A constraint-aware, framework-agnostic database seeding framework with deep PostgreSQL business logic discovery and MakerKit integration support

166 lines 5.34 kB
/** * Override Validation System for Epic 2: Smart Platform Detection Engine * Validates manual platform and domain overrides against auto-detection results * Part of Task 2.4.2: Create override validation utilities (FR-2.5) */ import type { FlexibleSeedConfig } from '../../core/types/config-types'; import type { UnifiedDetectionResult } from './detection-integration'; import type { PlatformArchitectureType, ContentDomainType, ConfidenceLevel } from './detection-types'; /** * Override validation result */ export interface OverrideValidationResult { /** Whether the overall validation passed */ valid: boolean; /** Validation confidence score */ confidence: number; /** Validation confidence level */ confidenceLevel: ConfidenceLevel; /** Platform architecture validation */ platformArchitecture: { hasOverride: boolean; overrideValue?: PlatformArchitectureType; detectedValue?: PlatformArchitectureType; conflictSeverity: 'none' | 'low' | 'medium' | 'high'; recommendedAction: 'proceed' | 'warn' | 'review' | 'reject'; validation: { valid: boolean; confidence: number; reasoning: string[]; warnings: string[]; }; }; /** Content domain validation */ contentDomain: { hasOverride: boolean; overrideValue?: ContentDomainType; detectedValue?: ContentDomainType; conflictSeverity: 'none' | 'low' | 'medium' | 'high'; recommendedAction: 'proceed' | 'warn' | 'review' | 'reject'; validation: { valid: boolean; confidence: number; reasoning: string[]; warnings: string[]; }; }; /** Overall validation metadata */ validation: { totalConflicts: number; highSeverityConflicts: number; validationTime: number; validationMethod: string; recommendations: string[]; warnings: string[]; errors: string[]; }; } /** * Override conflict types */ export interface OverrideConflict { type: 'platform_architecture_mismatch' | 'content_domain_mismatch' | 'configuration_inconsistency'; severity: 'low' | 'medium' | 'high'; description: string; overrideValue: string; detectedValue: string; detectionConfidence: number; suggestedResolution: string; autoFixAvailable: boolean; } /** * Override validation options */ export interface OverrideValidationOptions { /** Whether to enable strict validation mode */ strictMode: boolean; /** Warning level for validation output */ warningLevel: 'none' | 'basic' | 'detailed'; /** Minimum confidence threshold to challenge overrides */ confidenceThreshold: number; /** Whether to validate domain-specific configurations */ validateDomainSpecific: boolean; /** Whether to check for configuration inconsistencies */ checkConfigurationConsistency: boolean; /** Whether to suggest auto-fixes for conflicts */ suggestAutoFixes: boolean; } /** * Main Override Validation Engine */ export declare class OverrideValidator { /** * Validate manual overrides against detection results */ validateOverrides(config: FlexibleSeedConfig, detectionResults: UnifiedDetectionResult, options?: Partial<OverrideValidationOptions>): Promise<OverrideValidationResult>; /** * Validate platform architecture override */ private validatePlatformArchitectureOverride; /** * Validate content domain override */ private validateContentDomainOverride; /** * Validate domain-specific configurations */ private validateDomainSpecificConfigurations; /** * Check if architecture override is logically consistent with detected patterns */ private isArchitectureLogicallyConsistent; /** * Check if domain override is logically consistent with detected patterns */ private isDomainLogicallyConsistent; /** * Generate validation recommendations */ private generateValidationRecommendations; /** * Count total conflicts */ private countConflicts; /** * Count high-severity conflicts */ private countHighSeverityConflicts; /** * Get confidence level from score */ private getConfidenceLevel; /** * Create failure result */ private createFailureResult; /** * Merge options with defaults */ private mergeWithDefaults; } /** * Utility functions for override validation */ export declare class OverrideValidationUtils { /** * Check if configuration has any manual overrides */ static hasManualOverrides(config: FlexibleSeedConfig): boolean; /** * Extract override summary for logging */ static getOverrideSummary(config: FlexibleSeedConfig): string; /** * Create default validation options */ static getDefaultValidationOptions(): OverrideValidationOptions; /** * Format validation result for display */ static formatValidationResult(result: OverrideValidationResult): string; } /** * Default override validation options */ export declare const DEFAULT_OVERRIDE_VALIDATION_OPTIONS: OverrideValidationOptions; //# sourceMappingURL=override-validator.d.ts.map