UNPKG

@boundless-oss/atlas

Version:

Atlas - MCP Server for comprehensive startup project management

136 lines (120 loc) 2.91 kB
export interface Migration { id: string; version: string; name: string; description?: string; type: MigrationType; status: MigrationStatus; createdAt: string; executedAt?: string; duration?: number; checksum: string; up: MigrationScript; down?: MigrationScript; dependencies?: string[]; tags?: string[]; author?: string; } export type MigrationType = 'schema' | 'data' | 'seed' | 'index' | 'procedure' | 'config'; export type MigrationStatus = 'pending' | 'running' | 'completed' | 'failed' | 'rolled_back' | 'skipped'; export interface MigrationScript { type: 'sql' | 'javascript' | 'typescript' | 'shell'; content: string; transaction?: boolean; timeout?: number; } export interface MigrationPlan { migrations: Migration[]; estimatedDuration: number; risks: MigrationRisk[]; rollbackable: boolean; dependencies: DependencyGraph; } export interface MigrationRisk { migration: string; description: string; severity: 'low' | 'medium' | 'high'; mitigation?: string; } export interface DependencyGraph { nodes: string[]; edges: Array<[string, string]>; } export interface MigrationHistory { projectId: string; migrations: MigrationRecord[]; currentVersion: string; lastMigration?: MigrationRecord; } export interface MigrationRecord { migrationId: string; version: string; name: string; status: MigrationStatus; executedAt: string; duration: number; error?: string; logs?: MigrationLog[]; } export interface MigrationLog { timestamp: string; level: 'info' | 'warning' | 'error' | 'debug'; message: string; details?: any; } export interface MigrationConfig { migrationsPath: string; database?: DatabaseConfig; apiEndpoint?: string; fileSystem?: FileSystemConfig; validation?: ValidationConfig; hooks?: MigrationHooks; } export interface DatabaseConfig { type: 'postgres' | 'mysql' | 'mongodb' | 'sqlite'; connectionString?: string; host?: string; port?: number; database?: string; username?: string; password?: string; ssl?: boolean; } export interface FileSystemConfig { basePath: string; backupPath?: string; encoding?: string; } export interface ValidationConfig { checksumValidation: boolean; syntaxCheck: boolean; dryRun: boolean; requireRollback: boolean; } export interface MigrationHooks { beforeAll?: string; beforeEach?: string; afterEach?: string; afterAll?: string; onError?: string; } export interface MigrationTemplate { name: string; type: MigrationType; description: string; template: string; variables?: Record<string, string>; } export interface DataTransformation { source: string; target: string; transform: (data: any) => any; validation?: (data: any) => boolean; batchSize?: number; } export interface MigrationValidation { isValid: boolean; errors: string[]; warnings: string[]; suggestions: string[]; }