UNPKG

semantic-ds-toolkit

Version:

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

58 lines 1.84 kB
export interface FileChange { filename: string; status: 'added' | 'modified' | 'removed' | 'renamed' | 'copied' | 'changed' | 'unchanged'; additions: number; deletions: number; changes: number; patch?: string; previous_filename?: string; } export interface SchemaChange { type: 'column_added' | 'column_removed' | 'column_renamed' | 'type_changed' | 'constraint_changed'; table: string; column: string; before?: any; after?: any; confidence: number; } export interface SemanticFileChange { file: string; action: 'created' | 'updated' | 'deleted'; mappings_added: number; mappings_removed: number; mappings_modified: number; } export interface PRAnalysisResult { prNumber?: number; hasSemanticChanges: boolean; schemaChanges: SchemaChange[]; semanticFileChanges: SemanticFileChange[]; dataFileChanges: FileChange[]; processingTime?: number; riskLevel: 'low' | 'medium' | 'high'; suggestedActions: string[]; } export declare class PRAnalyzer { private readonly SCHEMA_FILE_PATTERNS; private readonly DATA_FILE_PATTERNS; private readonly SEMANTIC_FILE_PATTERNS; analyzePR(prData: { pr: any; diff: string; files: FileChange[]; }): Promise<PRAnalysisResult>; private analyzeSchemaChanges; private extractSQLSchemaChanges; private extractPythonSchemaChanges; private analyzeSemanticFileChanges; private analyzeMappingChanges; private analyzeDataFileChanges; private extractTableName; private extractPythonTableName; private calculateRiskLevel; private generateSuggestedActions; isSemanticFile(filename: string): boolean; isSchemaFile(filename: string): boolean; isDataFile(filename: string): boolean; } //# sourceMappingURL=pr-analyzer.d.ts.map