| 53 | |
| 54 | @dataclass(frozen=True) |
| 55 | class AppConfig: |
| 56 | llm: LLMConfig = field(default_factory=LLMConfig) |
| 57 | kafka: KafkaConfig = field(default_factory=KafkaConfig) |
| 58 | elasticsearch: ElasticsearchConfig = field(default_factory=ElasticsearchConfig) |
| 59 | redis: RedisConfig = field(default_factory=RedisConfig) |
| 60 | notification: NotificationConfig = field(default_factory=NotificationConfig) |
| 61 | |
| 62 | monitor_interval_minutes: int = int(os.getenv("MONITOR_INTERVAL_MINUTES", "60")) |
| 63 | quality_threshold: float = float(os.getenv("QUALITY_THRESHOLD", "7.0")) |
| 64 | max_reflexion_retries: int = int(os.getenv("MAX_REFLEXION_RETRIES", "3")) |
| 65 | |
| 66 | |
| 67 | config = AppConfig() |