UNPKG

@re-shell/cli

Version:

Full-stack development platform uniting microservices and microfrontends. Build complete applications with .NET (ASP.NET Core Web API, Minimal API), Java (Spring Boot, Quarkus, Micronaut, Vert.x), Rust (Actix-Web, Warp, Rocket, Axum), Python (FastAPI, Dja

102 lines (101 loc) 3 kB
import { WorkspaceDefinition } from './workspace-schema'; export interface BackupMetadata { id: string; name: string; description?: string; timestamp: string; workspaceFile: string; version: string; size: number; hash: string; tags?: string[]; includeState?: boolean; includeCache?: boolean; includeTemplates?: boolean; } export interface BackupContent { metadata: BackupMetadata; workspace: WorkspaceDefinition; state?: any; cache?: any; templates?: any; files?: Record<string, string>; } export interface BackupIndex { version: string; backups: Record<string, BackupMetadata>; metadata: { created: string; lastModified: string; totalBackups: number; totalSize: number; }; } export interface BackupOptions { name?: string; description?: string; includeState?: boolean; includeCache?: boolean; includeTemplates?: boolean; includeFiles?: boolean; filePatterns?: string[]; tags?: string[]; compress?: boolean; } export interface RestoreOptions { force?: boolean; selective?: boolean; restoreState?: boolean; restoreCache?: boolean; restoreTemplates?: boolean; restoreFiles?: boolean; targetPath?: string; } export declare class WorkspaceBackupManager { private backupDir; private indexPath; private index; private rootPath; constructor(rootPath?: string); init(): Promise<void>; createBackup(workspaceFile: string, options?: BackupOptions): Promise<string>; listBackups(): Promise<BackupMetadata[]>; getBackup(id: string): Promise<BackupContent | null>; restoreBackup(id: string, options?: RestoreOptions): Promise<void>; deleteBackup(id: string): Promise<void>; exportBackup(id: string, outputPath: string): Promise<void>; importBackup(filePath: string): Promise<string>; cleanupBackups(options?: { keepCount?: number; keepDays?: number; dryRun?: boolean; }): Promise<{ deletedCount: number; freedSpace: number; }>; getBackupStatistics(): { totalBackups: number; totalSize: number; oldestBackup?: string; newestBackup?: string; averageSize: number; }; private generateBackupId; private createDefaultIndex; private loadIndex; private saveIndex; private saveWorkspaceDefinition; private backupDirectory; private restoreDirectory; private backupFiles; private restoreFiles; } export declare function createWorkspaceBackupManager(rootPath?: string): Promise<WorkspaceBackupManager>; export declare function createQuickBackup(workspaceFile: string, name?: string): Promise<string>; export interface BackupComparison { added: string[]; removed: string[]; modified: string[]; unchanged: string[]; } export declare function compareBackups(manager: WorkspaceBackupManager, id1: string, id2: string): Promise<BackupComparison>;