@aaswe/codebase-ai
Version:
AI-Assisted Software Engineering (AASWE) - Rich codebase context for IDE LLMs
123 lines • 3.98 kB
TypeScript
/**
* 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