/** * Migration types for AIM Studio update command * * These types support intelligent migration during updates, * handling file renames, deletions, and user modification detection. */ /** * A single migration action (rename, rename-dir, or delete) */ export interface MigrationItem { /** Type of migration action */ type: "rename" | "rename-dir" | "delete"; /** Source path (relative to project root) */ from: string; /** Target path for renames (relative to project root) */ to?: string; /** Human-readable description of the change */ description?: string; } /** * Migration manifest for a specific version */ export interface MigrationManifest { /** Target version this migration upgrades to */ version: string; /** Human-readable description of changes in this version */ description?: string; /** List of migration actions */ migrations: MigrationItem[]; /** Detailed changelog for display to users */ changelog?: string; /** Whether this version contains breaking changes */ breaking?: boolean; /** Whether users should run --migrate (recommended for breaking changes) */ recommendMigrate?: boolean; /** Detailed migration guide for AI-assisted fixes (markdown format) */ migrationGuide?: string; /** Instructions for AI assistants on how to help with migration */ aiInstructions?: string; } /** * Classification of how a migration should be handled */ export type MigrationClassification = "auto" | "confirm" | "conflict" | "skip"; /** * Classified migration item with its determined action */ export interface ClassifiedMigrationItem extends MigrationItem { classification: MigrationClassification; } /** * Result of classifying all migrations */ export interface ClassifiedMigrations { /** Unmodified files - safe to auto-migrate */ auto: MigrationItem[]; /** User-modified files - need confirmation */ confirm: MigrationItem[]; /** Conflict - both old and new exist */ conflict: MigrationItem[]; /** Skip - old file doesn't exist */ skip: MigrationItem[]; } /** * Result of executing migrations */ export interface MigrationResult { /** Number of files renamed */ renamed: number; /** Number of files deleted */ deleted: number; /** Number of files skipped (user choice or no action needed) */ skipped: number; /** Number of conflicts encountered */ conflicts: number; } /** * User action choice for migration confirmation */ export type MigrationAction = "rename" | "backup-rename" | "skip" | "view-diff"; /** * Template hashes storage structure * Maps relative file paths to their SHA256 hashes */ export type TemplateHashes = Record; //# sourceMappingURL=migration.d.ts.map