UNPKG

semantic-ds-toolkit

Version:

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

61 lines 2.3 kB
import { StableColumnAnchor, ColumnData, AnchorReconciliationResult, ReconciliationOptions } from '../types/anchor.types'; export interface ConfidenceMetrics { overall_confidence: number; semantic_confidence: number; structural_confidence: number; statistical_confidence: number; name_confidence: number; breakdown: { strong_matches: number; weak_matches: number; no_matches: number; new_columns: number; }; } export interface ReconciliationStrategy { name: string; confidence_threshold: number; drift_tolerance: number; semantic_weight: number; structural_weight: number; enable_fuzzy_matching: boolean; } export interface EnhancedReconciliationResult extends AnchorReconciliationResult { confidence_metrics: ConfidenceMetrics; strategy_used: string; reconciliation_time_ms: number; potential_issues: string[]; recommendations: string[]; } export interface AnchorDrift { anchor_id: string; column_name: string; drift_type: 'statistical' | 'semantic' | 'structural'; severity: 'low' | 'medium' | 'high'; details: Record<string, any>; suggested_action: 'accept' | 'investigate' | 'reject'; } export declare class SmartAnchorReconciler { private anchorSystem; private strategies; constructor(); private initializeStrategies; reconcileAnchorsAdvanced(datasetName: string, newColumns: ColumnData[], existingAnchors: StableColumnAnchor[], strategyName?: string, customOptions?: Partial<ReconciliationOptions>): EnhancedReconciliationResult; private enhanceMatches; private findFuzzyMatch; private calculateAdjustedConfidence; private getMatchReasons; private calculateConfidenceMetrics; private analyzeDrift; private identifyPotentialIssues; private generateRecommendations; getReconciliationStrategies(): string[]; addCustomStrategy(name: string, strategy: ReconciliationStrategy): void; getStrategy(name: string): ReconciliationStrategy | undefined; analyzeAnchorEvolution(anchorHistory: StableColumnAnchor[][], windowSize?: number): { stability_score: number; trending_patterns: string[]; evolution_summary: Record<string, any>; }; } //# sourceMappingURL=reconciler.d.ts.map