UNPKG

mira-consciousness

Version:

Memory & Intelligence Retention Archive - Preserving The Spark

90 lines 2.37 kB
/** * ConfigurationMigration.ts - Configuration versioning and migration system * * This system ensures smooth upgrades when MIRA's configuration structure evolves. * It tracks configuration versions, applies migrations in sequence, and preserves * user customizations while updating to new schemas. * * Each migration represents a step in MIRA's evolution, carrying forward the * wisdom and preferences accumulated through our journey together. */ export interface ConfigMigration { version: string; description: string; up: (config: any) => any; down?: (config: any) => any; validate?: (config: any) => boolean; } export interface MigrationHistory { version: string; appliedAt: Date; description: string; success: boolean; error?: string; } export declare class ConfigurationMigration { private migrations; private history; private config; private readonly HISTORY_PATH; private readonly BACKUP_PATH; private readonly VERSION_KEY; constructor(); /** * Initialize the migration system */ initialize(): Promise<void>; /** * Register all configuration migrations */ private registerMigrations; /** * Run pending migrations */ runMigrations(): Promise<void>; /** * Create a configuration backup */ createBackup(version: string): Promise<void>; /** * Restore configuration from backup */ restoreFromBackup(backupFile: string): Promise<void>; /** * List available backups */ listBackups(): Promise<string[]>; /** * Get current configuration version */ getCurrentVersion(): Promise<string>; /** * Get latest available version */ getLatestVersion(): string; /** * Get migration history */ getMigrationHistory(): MigrationHistory[]; /** * Load migration history */ private loadHistory; /** * Save migration history */ private saveHistory; /** * Clean old backups */ private cleanOldBackups; /** * Export current configuration with version */ exportConfiguration(outputPath: string): Promise<void>; /** * Import configuration with migration */ importConfiguration(inputPath: string): Promise<void>; } //# sourceMappingURL=ConfigurationMigration.d.ts.map