semantic-ds-toolkit
Version:
Performance-first semantic layer for modern data stacks - Stable Column Anchors & intelligent inference
75 lines • 2.74 kB
TypeScript
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