UNPKG

supa-seed

Version:

A constraint-aware, framework-agnostic database seeding framework with deep PostgreSQL business logic discovery and MakerKit integration support

171 lines 6.02 kB
/** * Auto-Configuration System for Epic 2: Smart Platform Detection Engine * Generates platform-specific configurations based on detection results * Part of Task 2.3.1: Create auto-configurator system with platform-specific config generation */ import type { FlexibleSeedConfig } from '../../core/types/config-types'; import type { PlatformArchitectureType, ContentDomainType, ConfidenceLevel } from './detection-types'; import type { UnifiedDetectionResult } from './detection-integration'; /** * Auto-generated configuration result */ export interface AutoConfigurationResult { /** Generated configuration based on detection */ configuration: Partial<FlexibleSeedConfig>; /** Confidence in the auto-configuration */ confidence: number; /** Confidence level category */ confidenceLevel: ConfidenceLevel; /** Reasoning for configuration choices */ reasoning: string[]; /** Warnings about configuration choices */ warnings: string[]; /** Detection results used for configuration */ detectionResults: UnifiedDetectionResult; /** Configuration generation metrics */ generationMetrics: { /** Time taken for configuration generation (ms) */ executionTime: number; /** Number of configuration templates applied */ templatesApplied: number; /** Configuration strategy used */ strategyUsed: string; }; } /** * Configuration template for specific platform/domain combinations */ export interface ConfigurationTemplate { /** Template identifier */ id: string; /** Template name */ name: string; /** Template description */ description: string; /** Platform architecture this template applies to */ architecture: PlatformArchitectureType | 'any'; /** Content domain this template applies to */ domain: ContentDomainType | 'any'; /** Minimum confidence required to apply template */ minimumConfidence: number; /** Template priority (higher = more specific) */ priority: number; /** Configuration overrides to apply */ configurationOverrides: Partial<FlexibleSeedConfig>; /** Template application logic */ shouldApply: (detection: UnifiedDetectionResult) => boolean; /** Custom configuration generation function */ generateConfig?: (detection: UnifiedDetectionResult, baseConfig: Partial<FlexibleSeedConfig>) => Partial<FlexibleSeedConfig>; } /** * Auto-configuration generation strategies */ export type AutoConfigurationStrategy = 'comprehensive' | 'minimal' | 'conservative' | 'optimized'; /** * Auto-configuration system options */ export interface AutoConfigurationOptions { /** Configuration generation strategy */ strategy: AutoConfigurationStrategy; /** Base configuration to extend */ baseConfiguration?: Partial<FlexibleSeedConfig>; /** Whether to apply domain-specific extensions */ enableDomainExtensions: boolean; /** Whether to apply architecture-specific optimizations */ enableArchitectureOptimizations: boolean; /** Minimum confidence threshold for applying configurations */ confidenceThreshold: number; /** Custom configuration templates to include */ customTemplates?: ConfigurationTemplate[]; /** Configuration overrides that take priority */ configurationOverrides?: Partial<FlexibleSeedConfig>; } /** * Main Auto-Configuration System * Generates platform-specific configurations based on detection results */ export declare class AutoConfigurator { private configurationTemplates; constructor(); /** * Generate auto-configuration from detection results */ generateConfiguration(detectionResults: UnifiedDetectionResult, options?: Partial<AutoConfigurationOptions>): Promise<AutoConfigurationResult>; /** * Execute configuration generation based on strategy */ private executeConfigurationStrategy; /** * Generate comprehensive configuration with all detected features */ private generateComprehensiveConfiguration; /** * Generate minimal configuration with only essential settings */ private generateMinimalConfiguration; /** * Generate conservative configuration with safe fallbacks */ private generateConservativeConfiguration; /** * Generate optimized configuration for performance */ private generateOptimizedConfiguration; /** * Generate architecture-specific configuration */ private generateArchitectureConfiguration; /** * Generate domain-specific configuration */ private generateDomainConfiguration; /** * Generate essential architecture configuration (minimal mode) */ private generateEssentialArchitectureConfiguration; /** * Generate essential domain configuration (minimal mode) */ private generateEssentialDomainConfiguration; /** * Get applicable configuration templates */ private getApplicableTemplates; /** * Calculate configuration confidence based on detection results */ private calculateConfigurationConfidence; /** * Assess configuration completeness */ private assessConfigurationCompleteness; /** * Get optimized user count for architecture type */ private getOptimizedUserCount; /** * Get optimized seeding parameters for domain */ private getOptimizedSeedingParams; /** * Get confidence level from confidence score */ private getConfidenceLevel; /** * Create fallback configuration when generation fails */ private createFallbackConfiguration; /** * Merge options with defaults */ private mergeWithDefaults; /** * Initialize default configuration templates */ private initializeDefaultTemplates; } /** * Default auto-configuration options */ export declare const DEFAULT_AUTO_CONFIGURATION_OPTIONS: AutoConfigurationOptions; //# sourceMappingURL=auto-configurator.d.ts.map