claudes-office
Version:
CLI tool to initialize Claude's office in your project
73 lines (72 loc) • 2.31 kB
TypeScript
/**
* Backup system utilities for the update command
* These utilities help create, manage and restore backups
*/
/**
* Options for backup creation
*/
export interface BackupOptions {
/** Custom name for the backup */
name?: string;
/** Directory to store backups */
backupDir?: string;
/** Files to include in backup (relative to source) */
include?: string[];
/** Files to exclude from backup (relative to source) */
exclude?: string[];
}
/**
* Information about a backup
*/
export interface BackupInfo {
/** Unique ID of the backup */
id: string;
/** Name of the backup */
name: string;
/** Path to the backup file */
path: string;
/** Time the backup was created */
createdAt: Date;
/** Size of the backup in bytes */
size: number;
}
/**
* Create a backup of a directory
* @param sourceDir - Directory to backup
* @param options - Backup options
* @returns Information about the created backup
*/
export declare function createBackup(sourceDir: string, options?: BackupOptions): Promise<BackupInfo>;
/**
* Restore a backup to a directory
* @param backupPath - Path to the backup file
* @param destDir - Directory to restore to
* @param overwrite - Whether to overwrite existing files
* @returns Whether the restoration was successful
*/
export declare function restoreBackup(backupPath: string, destDir: string, overwrite?: boolean): Promise<boolean>;
/**
* List all backups in a directory
* @param backupDir - Directory containing backups
* @returns Array of backup information
*/
export declare function listBackups(backupDir: string): Promise<BackupInfo[]>;
/**
* Delete a backup
* @param backupPath - Path to the backup file
* @returns Whether the deletion was successful
*/
export declare function deleteBackup(backupPath: string): Promise<boolean>;
/**
* Delete old backups exceeding a limit
* @param backupDir - Directory containing backups
* @param limit - Maximum number of backups to keep
* @returns Number of backups deleted
*/
export declare function cleanupOldBackups(backupDir: string, limit: number): Promise<number>;
/**
* Format backup size for display
* @param size - Size in bytes
* @returns Formatted size string
*/
export declare function formatBackupSize(size: number): string;