from functools import lru_cache from pydantic import Field from pydantic_settings import BaseSettings, SettingsConfigDict class Settings(BaseSettings): app_name: str = "AI Knowledge Spine Chunking Service" environment: str = "local" database_url: str = Field( default="postgresql+psycopg://postgres:postgres@localhost:5432/ai_knowledge_spine", description="SQLAlchemy database URL for chunking and claim persistence.", ) model_config = SettingsConfigDict( env_prefix="AKS_", env_file=".env", extra="ignore", ) @lru_cache def get_settings() -> Settings: return Settings()