UNPKG

semantic-ds-toolkit

Version:

Performance-first semantic layer for modern data stacks - Stable Column Anchors & intelligent inference

75 lines 2.74 kB
import { ColumnFingerprint } from '../types/anchor.types'; import { DriftType } from './drift-detector'; export interface PatternDriftAnalysis { similarity_score: number; new_patterns: PatternInfo[]; lost_patterns: PatternInfo[]; changed_patterns: PatternChange[]; format_stability: 'stable' | 'minor_change' | 'major_change' | 'format_shift'; sample_analysis: SampleDriftAnalysis; } export interface PatternInfo { pattern: string; frequency: number; confidence: number; examples: string[]; semantic_type?: string; } export interface PatternChange { old_pattern: string; new_pattern: string; similarity: number; impact_severity: 'low' | 'medium' | 'high'; transformation_type: 'format_evolution' | 'encoding_change' | 'scale_change' | 'semantic_drift'; } export interface SampleDriftAnalysis { format_consistency: number; length_distribution_change: number; character_set_changes: string[]; structural_changes: StructuralChange[]; } export interface StructuralChange { type: 'delimiter_change' | 'casing_change' | 'encoding_change' | 'prefix_suffix_change'; description: string; impact: number; examples: { before: string; after: string; }[]; } export declare class PatternDriftDetector { private readonly COMMON_PATTERNS; private readonly SEMANTIC_PATTERNS; detectPatternDrift(historicalFingerprint: ColumnFingerprint, currentFingerprint: ColumnFingerprint, similarityThreshold?: number): Promise<DriftType | null>; analyzePatternDrift(historicalFingerprint: ColumnFingerprint, currentFingerprint: ColumnFingerprint): Promise<PatternDriftAnalysis>; private extractPatterns; private analyzePattern; private detectPatternsFromSamples; private generateStructuralPatterns; private detectCharacterClassPatterns; private generateCharacterClassPattern; private matchesCharacterClass; private calculatePatternSimilarity; private findNewPatterns; private findLostPatterns; private findChangedPatterns; private analyzeSampleDrift; private calculateFormatConsistency; private calculateLengthDistributionChange; private detectCharacterSetChanges; private detectStructuralChanges; private detectDelimiterChanges; private detectCasingChanges; private detectAffixChanges; private deduplicatePatterns; private calculatePatternConfidence; private identifySemanticType; private assessFormatStability; private assessChangeImpact; private identifyTransformationType; private countDelimiters; private analyzeCasing; private extractCommonAffixes; private compareAffixes; } //# sourceMappingURL=pattern-drift.d.ts.map