/** * Smart Migration - Database Migration Tracker with 83% Token Reduction * * Features: * - Migration status tracking (pending, applied, failed) * - Migration history and rollback support * - Migration file generation * - Checksum verification * - Execution time tracking * - Migration dependency analysis * * Token Reduction Strategy: * - Cached runs: Summary only (95% reduction) * - Migrations list: Top 20 recent (85% reduction) * - Status summary: Counts only (90% reduction) * - History: Last 50 actions (80% reduction) * - Rollback info: Summary only (85% reduction) * - Average: 83%+ reduction */ import { CacheEngine } from '../../core/cache-engine.js'; import { TokenCounter } from '../../core/token-counter.js'; import { MetricsCollector } from '../../core/metrics.js'; export type MigrationAction = 'list' | 'status' | 'pending' | 'history' | 'rollback' | 'generate'; export type MigrationStatus = 'pending' | 'applied' | 'failed'; export type MigrationDirection = 'up' | 'down'; export interface SmartMigrationOptions { action?: MigrationAction; migrationId?: string; direction?: MigrationDirection; limit?: number; ttl?: number; force?: boolean; } export interface Migration { id: string; name: string; status: MigrationStatus; appliedAt?: string; executionTime?: number; checksum?: string; } export interface MigrationStatusSummary { total: number; pending: number; applied: number; failed: number; lastMigration?: { id: string; name: string; appliedAt: string; }; } export interface MigrationHistoryEntry { migrationId: string; action: 'apply' | 'rollback'; timestamp: string; executionTime: number; success: boolean; error?: string; } export interface RollbackResult { migrationId: string; success: boolean; executionTime: number; changesReverted: number; } export interface GeneratedMigration { migrationId: string; filename: string; content: string; } export interface SmartMigrationResult { migrations?: Migration[]; status?: MigrationStatusSummary; history?: MigrationHistoryEntry[]; rollback?: RollbackResult; generated?: GeneratedMigration; cached: boolean; } export interface SmartMigrationOutput { result: string; tokens: { baseline: number; actual: number; saved: number; reduction: number; }; cached: boolean; executionTime: number; } export declare class SmartMigration { private cache; private tokenCounter; private metrics; constructor(cache: CacheEngine, tokenCounter: TokenCounter, metrics: MetricsCollector); run(options: SmartMigrationOptions): Promise; private validateOptions; private executeMigrationAction; private listMigrations; private getMigrationStatus; private getPendingMigrations; private getMigrationHistory; private rollbackMigration; private generateMigration; private isReadOnlyAction; private generateChecksum; private generateCacheKey; private getCachedResult; private cacheResult; private transformOutput; private formatVerboseOutput; private formatCachedOutput; private formatStatusOutput; private formatMigrationsOutput; private formatHistoryOutput; private formatRollbackOutput; private formatGeneratedOutput; } export declare function getSmartMigration(cache: CacheEngine, tokenCounter: TokenCounter, metrics: MetricsCollector): SmartMigration; export declare function runSmartMigration(options: SmartMigrationOptions): Promise; export declare const SMART_MIGRATION_TOOL_DEFINITION: { readonly name: "smart_migration"; readonly description: "Database migration tracker with status monitoring and 83% token reduction. Supports listing migrations, checking status, viewing history, rollback operations, and migration generation."; readonly inputSchema: { readonly type: "object"; readonly properties: { readonly action: { readonly type: "string"; readonly enum: readonly ["list", "status", "pending", "history", "rollback", "generate"]; readonly description: "Action to perform (default: list)"; readonly default: "list"; }; readonly migrationId: { readonly type: "string"; readonly description: "Migration ID (required for rollback and generate actions)"; }; readonly direction: { readonly type: "string"; readonly enum: readonly ["up", "down"]; readonly description: "Migration direction for rollback (default: down)"; readonly default: "down"; }; readonly limit: { readonly type: "number"; readonly description: "Maximum number of results (default: 20 for list/pending, 50 for history)"; readonly default: 20; }; readonly force: { readonly type: "boolean"; readonly description: "Force fresh analysis, bypassing cache"; readonly default: false; }; readonly ttl: { readonly type: "number"; readonly description: "Cache TTL in seconds (default: 3600)"; readonly default: 3600; }; }; }; }; //# sourceMappingURL=smart-migration.d.ts.map