mcp-adr-analysis-server
Version:
MCP server for analyzing Architectural Decision Records and project architecture
93 lines • 2.75 kB
TypeScript
/**
* Memory Rollback Manager
*
* Provides safe rollback capabilities for memory-centric architecture migration.
* Handles restoration of legacy systems and data integrity validation.
*/
import { MemoryEntityManager } from './memory-entity-manager.js';
export interface RollbackConfig {
backupDirectory: string;
validateBeforeRollback: boolean;
createPreRollbackBackup: boolean;
preserveMemoryData: boolean;
rollbackTimeout: number;
}
export interface RollbackResult {
success: boolean;
rollbackType: 'full' | 'partial' | 'failed';
restoredFiles: string[];
preservedData?: string;
errors: Array<{
operation: string;
error: string;
critical: boolean;
}>;
performance: {
startTime: string;
endTime: string;
durationMs: number;
};
validation: {
preRollbackValid: boolean;
postRollbackValid: boolean;
issues: string[];
};
}
export interface BackupManifest {
timestamp: string;
migrationVersion: string;
projectPath: string;
backupContents: {
cache: boolean;
docs: boolean;
memoryData?: boolean;
};
fileList: Array<{
originalPath: string;
backupPath: string;
fileSize: number;
checksum: string;
}>;
}
export declare class MemoryRollbackManager {
private logger;
private config;
private projectConfig;
constructor(_memoryManager: MemoryEntityManager, config?: Partial<RollbackConfig>);
/**
* Perform complete rollback to legacy system
*/
performFullRollback(backupPath?: string): Promise<RollbackResult>;
/**
* Perform selective rollback of specific components
*/
performSelectiveRollback(components: Array<'cache' | 'docs' | 'memory'>, backupPath?: string): Promise<RollbackResult>;
/**
* Validate that rollback can be performed safely
*/
validateRollbackReadiness(backupPath?: string): Promise<{
canRollback: boolean;
issues: string[];
recommendations: string[];
backupInfo?: BackupManifest;
}>;
/**
* Create rollback plan documentation
*/
generateRollbackPlan(backupPath?: string): Promise<string>;
private findLatestBackup;
private validateBackup;
private createPreRollbackBackup;
private preserveMemoryData;
private stopMemoryServices;
private clearMemoryData;
private restoreLegacyData;
private restoreComponent;
private validateLegacyRestoration;
private restartLegacyServices;
private attemptPartialRecovery;
private checkDiskSpace;
private checkRunningProcesses;
private copyDirectory;
}
//# sourceMappingURL=memory-rollback-manager.d.ts.map