supa-seed
Version:
A constraint-aware, framework-agnostic database seeding framework with deep PostgreSQL business logic discovery and MakerKit integration support
182 lines • 9.12 kB
TypeScript
/**
* Schema-First Architecture - Main Integration Module
* Exports all components of the new schema-driven approach
* v2.1.0 - Complete architectural overhaul addressing beta tester feedback
*/
export { SchemaIntrospector } from './schema-introspector';
export type { SchemaIntrospectionResult, DatabaseTable, DatabaseColumn, DatabaseConstraint, SchemaRelationship, TablePattern, ConstraintRule, SchemaRecommendation } from './schema-introspector';
export { WorkflowBuilder } from '../features/generation/workflow-builder';
export { WorkflowExecutor } from '../features/generation/workflow-executor';
export type { UserCreationWorkflow as LegacyUserCreationWorkflow, WorkflowStep as LegacyWorkflowStep, WorkflowField, WorkflowCondition, WorkflowBuilderConfig } from '../features/generation/workflow-builder';
export type { WorkflowExecutionResult, ExecutionConfig } from '../features/generation/workflow-executor';
export { ConstraintValidator } from '../features/analysis/constraint-validator';
export type { ValidationRule, ValidationResult, ValidationError, ValidationWarning, AutoFix } from '../features/analysis/constraint-validator';
export { DynamicColumnMapper } from './dynamic-column-mapper';
export type { SemanticField, ColumnMapping, TableColumnMap, MappingRecommendation, MappingConfig } from './dynamic-column-mapper';
export { RelationshipDiscoverer } from './relationship-discoverer';
export type { RelationshipGraph, TableNode, RelationshipEdge, SeedingStrategy, RelationshipAnalysis } from './relationship-discoverer';
export { SchemaDrivenAdapter } from './schema-driven-adapter';
export { FrameworkAgnosticUserCreator } from './framework-agnostic-user-creator';
export type { UserCreationRequest, UserCreationResponse, SchemaAdapterConfig } from './schema-driven-adapter';
export type { AdaptiveUserCreationConfig, AdaptiveCreationResult } from './framework-agnostic-user-creator';
export { ConfigMigrator } from './config-migrator';
export { ArchitectureTestSuite } from './architecture-test-suite';
export type { LegacyConfig, ModernConfig, MigrationResult } from './config-migrator';
export type { TestScenario, TestResult, TestSuiteResult } from './architecture-test-suite';
export { ConstraintDiscoveryEngine } from '../features/analysis/constraint-discovery-engine';
export { ConstraintAwareExecutor } from '../features/analysis/constraint-aware-executor';
export { WorkflowGenerator } from '../features/generation/workflow-generator';
export { V2_2_0_Migrator } from './v2-2-0-migrator';
export { ConstraintAwareTestSuite } from '../features/analysis/constraint-aware-test-suite';
export type { ConstraintMetadata, BusinessRule, AutoFixSuggestion, PostgreSQLFunction, PostgreSQLTrigger, TableDependency, DependencyGraph } from '../features/analysis/constraint-discovery-engine';
export type { WorkflowConfiguration, UserCreationWorkflow, WorkflowStep, ConstraintCondition, ExecutionResult, ConstraintViolation } from '../features/analysis/constraint-aware-executor';
export type { WorkflowGenerationOptions, GeneratedWorkflowMetadata } from '../features/generation/workflow-generator';
export type { V2_2_0_Config, V2_2_0_MigrationOptions, V2_2_0_MigrationResult } from './v2-2-0-migrator';
export type { TestScenario as V2_2_0_TestScenario, TestResult as V2_2_0_TestResult, TestSuiteResult as V2_2_0_TestSuiteResult, AssertionResult } from '../features/analysis/constraint-aware-test-suite';
export type { ExecutionContext, StepResult, AutoFixApplied, ExecutionSummary } from '../features/analysis/constraint-aware-executor';
import { SchemaDrivenAdapter } from './schema-driven-adapter';
import { FrameworkAgnosticUserCreator } from './framework-agnostic-user-creator';
import { ConstraintDiscoveryEngine } from '../features/analysis/constraint-discovery-engine';
import { ConstraintAwareExecutor } from '../features/analysis/constraint-aware-executor';
import { WorkflowGenerator } from '../features/generation/workflow-generator';
import { V2_2_0_Migrator } from './v2-2-0-migrator';
import { ConstraintAwareTestSuite } from '../features/analysis/constraint-aware-test-suite';
export declare function createSchemaDrivenSeeder(client: any, config?: Partial<any>): SchemaDrivenAdapter;
export declare function createFrameworkAgnosticCreator(client: any, config?: Partial<any>): FrameworkAgnosticUserCreator;
export declare function createConstraintDiscoveryEngine(client: any): ConstraintDiscoveryEngine;
export declare function createConstraintAwareExecutor(client: any): ConstraintAwareExecutor;
export declare function createWorkflowGenerator(client: any): WorkflowGenerator;
export declare function createV2_2_0_Migrator(client: any): V2_2_0_Migrator;
export declare function createConstraintAwareTestSuite(client: any): ConstraintAwareTestSuite;
export declare function createConstraintAwareSeeder(client: any, options?: {
tableNames?: string[];
generationOptions?: Partial<any>;
}): Promise<{
generator: WorkflowGenerator;
executor: ConstraintAwareExecutor;
configuration: import("../features/analysis/constraint-aware-executor").WorkflowConfiguration;
metadata: import("../features/generation/workflow-generator").GeneratedWorkflowMetadata;
createUser(userData: any): Promise<import("../features/analysis/constraint-aware-executor").ExecutionResult>;
}>;
export declare const CURRENT_VERSION = "2.4.3";
export declare const CONSTRAINT_AWARE_VERSION = "2.2.0";
export declare const SCHEMA_FIRST_VERSION = "2.1.0";
export declare const V2_2_0_MIGRATION_NOTES: {
from: string;
to: string;
majorFeatures: string[];
architecturalChanges: string[];
coreImprovements: string[];
betaTesterIssuesResolved: string[];
};
export declare const MIGRATION_NOTES: {
from: string;
to: string;
changes: string[];
betaTesterIssuesAddressed: string[];
};
export declare const DEFAULT_CONSTRAINT_AWARE_CONFIG: {
version: string;
strategy: string;
seeding: {
enableSchemaIntrospection: boolean;
enableConstraintValidation: boolean;
enableAutoFixes: boolean;
enableProgressiveEnhancement: boolean;
enableGracefulDegradation: boolean;
enableDeepConstraintDiscovery: boolean;
enableBusinessLogicParsing: boolean;
enableWorkflowGeneration: boolean;
};
schema: {
autoDetectFramework: boolean;
columnMapping: {
enableDynamicMapping: boolean;
enableFuzzyMatching: boolean;
enablePatternMatching: boolean;
minimumConfidence: number;
};
constraints: {
enableValidation: boolean;
enableAutoFixes: boolean;
createDependenciesOnDemand: boolean;
enableDeepDiscovery: boolean;
parseTriggerFunctions: boolean;
buildDependencyGraph: boolean;
preValidateOperations: boolean;
};
relationships: {
enableDiscovery: boolean;
respectForeignKeys: boolean;
handleCircularDependencies: boolean;
enableParallelSeeding: boolean;
};
};
execution: {
enableRollback: boolean;
maxRetries: number;
timeoutMs: number;
enableCaching: boolean;
cacheTimeout: number;
constraintValidationStrategy: string;
errorHandlingStrategy: string;
autoFixStrategy: string;
};
compatibility: {
enableLegacyMode: boolean;
legacyFallbacks: string[];
supportSchemaFirstMode: boolean;
enableV2_1_0_Fallback: boolean;
};
};
export declare const DEFAULT_SCHEMA_FIRST_CONFIG: {
version: string;
seeding: {
enableSchemaIntrospection: boolean;
enableConstraintValidation: boolean;
enableAutoFixes: boolean;
enableProgressiveEnhancement: boolean;
enableGracefulDegradation: boolean;
};
schema: {
autoDetectFramework: boolean;
columnMapping: {
enableDynamicMapping: boolean;
enableFuzzyMatching: boolean;
enablePatternMatching: boolean;
minimumConfidence: number;
};
constraints: {
enableValidation: boolean;
enableAutoFixes: boolean;
createDependenciesOnDemand: boolean;
};
relationships: {
enableDiscovery: boolean;
respectForeignKeys: boolean;
handleCircularDependencies: boolean;
enableParallelSeeding: boolean;
};
};
execution: {
enableRollback: boolean;
maxRetries: number;
timeoutMs: number;
enableCaching: boolean;
cacheTimeout: number;
};
compatibility: {
enableLegacyMode: boolean;
legacyFallbacks: string[];
};
};
/**
* Quick start function for immediate use
* Automatically configures the best settings based on database analysis
*/
export declare function quickStart(client: any, options?: {
userCount?: number;
email?: string;
enableTesting?: boolean;
}): Promise<any>;
//# sourceMappingURL=index.d.ts.map