"""asf-ai settings surface (minimal; extensible).""" from __future__ import annotations from functools import lru_cache from pydantic_settings import BaseSettings, SettingsConfigDict class AISettings(BaseSettings): mongo_uri: str = "mongodb://172.19.40.102:27017,172.19.40.103:27017/asf?replicaSet=rs0" mongo_db: str = "asf" default_provider: str = "mock" # Provider-specific (optional — only required if the chosen provider is used) openai_api_key: str | None = None anthropic_api_key: str | None = None nvidia_api_key: str | None = None model_config = SettingsConfigDict( env_file=".env", env_file_encoding="utf-8", extra="ignore", ) @lru_cache(maxsize=1) def get_settings() -> AISettings: return AISettings()