"""Daemon configuration resolution (REQ-005).""" from __future__ import annotations import os from dataclasses import dataclass @dataclass(frozen=True) class DaemonConfig: dsn: str total_slots: int host: str port: int @staticmethod def from_env() -> "DaemonConfig": dsn = os.environ.get("TREX_POSTGRESQL_DSN") if not dsn: raise RuntimeError( "TREX_POSTGRESQL_DSN is required to start the slot-core daemon." ) return DaemonConfig( dsn=dsn, total_slots=int(os.environ.get("TREX_TOTAL_SLOTS", "10")), host=os.environ.get("TREX_API_HOST", "127.0.0.1"), port=int(os.environ.get("TREX_API_PORT", "8080")), )