UNPKG

supa-seed

Version:

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

167 lines 5.47 kB
/** * Manual Override System for Epic 2: Smart Platform Detection Engine * Provides manual override capabilities and validation for detection results * Part of Task 2.1.6: Add manual override support and validation */ import { PlatformArchitectureType, ContentDomainType, PlatformArchitectureDetectionResult, ArchitectureEvidence, OverrideValidationResult } from './detection-types'; /** * Manual override configuration */ export interface ManualOverrideConfig { /** Force specific architecture type */ architectureType?: PlatformArchitectureType; /** Force specific content domain */ contentDomain?: ContentDomainType; /** Override confidence score */ confidenceOverride?: number; /** Force specific platform features to be present/absent */ platformFeatures?: Record<string, boolean>; /** Add custom evidence to support the override */ customEvidence?: ArchitectureEvidence[]; /** Custom reasoning to include in results */ customReasoning?: string[]; /** Override specific detection metrics */ metricOverrides?: { schemaComplexity?: number; evidenceCount?: number; }; /** Validation preferences */ validation?: { /** Whether to validate against existing evidence */ validateAgainstEvidence: boolean; /** Whether to allow overrides that conflict with high-confidence evidence */ allowHighConfidenceConflicts: boolean; /** Minimum confidence required to override */ minimumConfidenceToOverride: number; /** Whether to include warnings in validation */ includeWarnings: boolean; }; /** Metadata about the override */ metadata?: { /** Reason for the override */ reason: string; /** Who created the override */ createdBy?: string; /** When the override was created */ createdAt?: string; /** Override version for tracking */ version?: string; }; } /** * Override application result */ export interface OverrideApplicationResult { /** The modified detection result */ result: PlatformArchitectureDetectionResult; /** Validation result of the override */ validation: OverrideValidationResult; /** Applied overrides summary */ appliedOverrides: { architectureTypeOverridden: boolean; confidenceOverridden: boolean; featuresOverridden: string[]; evidenceAdded: number; reasoningAdded: number; }; /** Override metadata */ metadata: { overrideId: string; applicationTime: string; originalResult: { architectureType: PlatformArchitectureType; confidence: number; }; }; } /** * Override conflict information */ export interface OverrideConflict { /** Type of conflict */ type: 'evidence_conflict' | 'confidence_conflict' | 'feature_conflict'; /** Description of the conflict */ description: string; /** Severity of the conflict */ severity: 'low' | 'medium' | 'high'; /** Conflicting evidence or features */ conflictingItems: string[]; /** Suggested resolution */ suggestedResolution: string; } /** * Manual Override Manager */ export declare class ManualOverrideManager { private overrideHistory; /** * Apply manual overrides to a detection result */ applyOverrides(originalResult: PlatformArchitectureDetectionResult, overrides: ManualOverrideConfig): Promise<OverrideApplicationResult>; /** * Validate manual override against existing evidence */ validateOverride(originalResult: PlatformArchitectureDetectionResult, overrides: ManualOverrideConfig): Promise<OverrideValidationResult>; /** * Validate architecture type override */ private validateArchitectureTypeOverride; /** * Validate confidence override */ private validateConfidenceOverride; /** * Validate platform feature overrides */ private validateFeatureOverrides; /** * Validate custom evidence */ private validateCustomEvidence; /** * Update recommendations based on applied overrides */ private updateRecommendationsForOverrides; /** * Generate a unique override ID */ private generateOverrideId; /** * Calculate confidence level from confidence score */ private calculateConfidenceLevel; /** * Generate feature name from feature ID */ private generateFeatureName; /** * Infer feature category from feature ID */ private inferFeatureCategory; /** * Record override in history for tracking */ private recordOverrideInHistory; /** * Get override history for analysis */ getOverrideHistory(overrideId?: string): ManualOverrideConfig[]; /** * Clear override history */ clearOverrideHistory(): void; /** * Create a pre-configured override for common scenarios */ createTemplateOverride(scenario: 'force_individual' | 'force_team' | 'force_hybrid' | 'high_confidence' | 'low_confidence'): Partial<ManualOverrideConfig>; } /** * Default manual override validation configuration */ export declare const DEFAULT_OVERRIDE_VALIDATION: { validateAgainstEvidence: boolean; allowHighConfidenceConflicts: boolean; minimumConfidenceToOverride: number; includeWarnings: boolean; }; //# sourceMappingURL=manual-overrides.d.ts.map