@boundless-oss/atlas
Version:
Atlas - MCP Server for comprehensive startup project management
121 lines • 3.1 kB
TypeScript
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[];
}
//# sourceMappingURL=types.d.ts.map