"""Configuration for enhancement processing."""

from dataclasses import dataclass


@dataclass
class EnhancementConfig:
    """Configuration for enhancement processing."""

    model: str = "deepseek-chat"
    temperature: float = 0.0
    max_tokens: int = 4096
    quality_threshold: float = 0.7
    enable_caching: bool = True
    cache_ttl: int = 86400  # 24 hours
    max_retries: int = 3
    retry_delay: float = 1.0
    preserve_timestamps: bool = True
    preserve_speaker_markers: bool = True

    def validate(self) -> None:
        """Validate configuration values."""
        if not 0 <= self.temperature <= 1:
            raise ValueError("Temperature must be between 0 and 1")
        
        if not 0 <= self.quality_threshold <= 1:
            raise ValueError("Quality threshold must be between 0 and 1")
        
        if self.max_tokens <= 0:
            raise ValueError("Max tokens must be positive")
        
        if self.cache_ttl <= 0:
            raise ValueError("Cache TTL must be positive")
