"""Server domain models. Internal domain-focused models used by server_service. These represent the business domain layer and are independent of HTTP response shapes. Response models are defined in `app.models.server` and mappers convert domain models to response models at the router boundary. """ from __future__ import annotations from dataclasses import dataclass @dataclass(frozen=True) class DomainServerSettings: """Fail2ban server-level settings (domain model).""" log_level: str log_target: str db_path: str db_purge_age: int db_max_matches: int syslog_socket: str | None = None @dataclass(frozen=True) class DomainServerSettingsResult: """Server settings with warnings (domain model).""" settings: DomainServerSettings warnings: dict[str, bool]