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