UNPKG

@entro314labs/ai-changelog-generator

Version:

AI-powered changelog generator with MCP server support - works with most providers, online and local models

83 lines (82 loc) 2.67 kB
/** * DiffProcessor - Central utility for intelligent diff compression and processing * * Handles large diffs by applying smart reduction strategies while preserving * semantic meaning for AI analysis. */ export declare class DiffProcessor { [key: string]: any; constructor(options?: Record<string, any>); getDefaultMaxSize(): any; getDefaultPriorityFiles(): any; /** * Process a collection of files with diffs, applying intelligent compression */ processFiles(files: any, _options?: Record<string, any>): { processedFiles: any[]; totalSize: number; patterns: Record<string, any>; filesProcessed: number; filesSkipped: number; }; /** * Process a single file's diff with intelligent compression */ processFileDiff(file: any, options?: Record<string, any>): any; /** * Prioritize files by importance for analysis */ prioritizeFiles(files: any): any[]; /** * Calculate file importance score */ calculateFileImportance(file: any): number; /** * Detect bulk change patterns across files */ detectChangePatterns(files: any): Record<string, any>; /** * Check if a file matches a bulk pattern */ matchesBulkPattern(file: any, patterns: any): any; /** * Apply diff filtering to remove noise */ applyDiffFiltering(diff: any, _file: any): any; /** * Check if a file appears to be mostly formatting changes */ isLikelyFormattingChange(file: any): boolean; /** * Apply intelligent truncation that preserves structure */ intelligentTruncation(diff: any, budget: any, options?: Record<string, any>): any; /** * Generate fallback description for files without diffs */ generateFallbackDescription(file: any): string; /** * Get file type description */ getFileTypeDescription(filePath: any): "JSON configuration" | "JavaScript/TypeScript file" | "documentation file" | "file" | "package configuration" | "test file"; /** * Create summary for remaining files that weren't processed */ createRemainingFilesSummary(remainingFiles: any, _patterns: any): { path: string; status: string; diff: string; processed: boolean; compressionApplied: boolean; isSummary: boolean; }; /** * Categorize a file for summary purposes */ categorizeFile(file: any): "build" | "configuration" | "documentation" | "other" | "test"; /** * Estimate size of processed content */ estimateSize(content: any): any; } export default DiffProcessor;