UNPKG

@aaswe/codebase-ai

Version:

AI-Assisted Software Engineering (AASWE) - Rich codebase context for IDE LLMs

123 lines 3.98 kB
/** * Business Context Preserver * * System to preserve developer enhancements and business context during re-analysis. * Handles conflict resolution, context merging, and enhancement tracking. */ import { EventEmitter } from 'events'; export interface BusinessContextConfig { preservationEnabled: boolean; backupEnabled: boolean; backupDirectory: string; conflictResolution: 'preserve' | 'merge' | 'prompt'; enhancementMarkers: string[]; businessContextPatterns: RegExp[]; maxBackupVersions: number; } export interface EnhancementMetadata { id: string; filePath: string; type: 'business_context' | 'documentation' | 'custom_property' | 'relationship'; content: string; author?: string; timestamp: Date; version: string; hash: string; preservationPriority: 'high' | 'medium' | 'low'; } export interface ConflictResolution { conflictId: string; filePath: string; conflictType: 'content_mismatch' | 'structure_change' | 'property_conflict'; originalContent: string; newContent: string; enhancedContent: string; resolution: 'keep_original' | 'keep_new' | 'merge' | 'manual'; resolvedContent?: string | undefined; timestamp: Date; } export interface PreservationResult { success: boolean; preservedEnhancements: number; conflictsDetected: number; conflictsResolved: number; backupsCreated: number; errors: PreservationError[]; warnings: string[]; processingTime: number; statistics: PreservationStatistics; } export interface PreservationError { type: 'EXTRACTION_ERROR' | 'MERGE_ERROR' | 'BACKUP_ERROR' | 'VALIDATION_ERROR'; message: string; filePath?: string; enhancementId?: string; details?: any; } export interface PreservationStatistics { totalFilesProcessed: number; enhancementsExtracted: number; enhancementsPreserved: number; enhancementsLost: number; conflictsAutoResolved: number; conflictsRequiringManualResolution: number; backupFilesCreated: number; } /** * Business Context Preserver * * Preserves developer enhancements and business context during automatic re-analysis * with intelligent conflict resolution and enhancement tracking. */ export declare class BusinessContextPreserver extends EventEmitter { private config; private enhancementCache; private conflictQueue; private backupFilesCreated; private isInitialized; constructor(config?: Partial<BusinessContextConfig>); /** * Initialize the business context preserver */ initialize(): Promise<void>; /** * Preserve business context before re-analysis */ preserveContext(filePaths: string[]): Promise<PreservationResult>; /** * Restore business context after re-analysis */ restoreContext(filePaths: string[]): Promise<PreservationResult>; /** * Get pending conflicts requiring manual resolution */ getPendingConflicts(): ConflictResolution[]; /** * Resolve a conflict manually */ resolveConflict(conflictId: string, resolution: 'keep_original' | 'keep_new' | 'merge', resolvedContent?: string): Promise<boolean>; /** * Get preservation statistics */ getStatistics(): PreservationStatistics; /** * Preserve business context (alias for preserveContext) */ preserveBusinessContext(filePaths: string[]): Promise<PreservationResult>; private preserveFileContext; private restoreFileContext; private extractEnhancements; private mergeEnhancements; private mergeEnhancement; private extractCommentEnhancements; private createBackup; private cleanupOldBackups; private findInsertionPoint; private determineEnhancementType; private determinePriority; private generateEnhancementId; private generateConflictId; private generateHash; private initializeStats; } //# sourceMappingURL=BusinessContextPreserver.d.ts.map