"""Configuration — matches fastapi-gsap settings pattern.""" from pydantic_settings import BaseSettings, SettingsConfigDict from typing import Optional class Settings(BaseSettings): model_config = SettingsConfigDict(env_file=".env", case_sensitive=False, extra="ignore") # Service llm_broker_port: int = 8092 broker_did: str = "did:web:guildhouse.dev/service/llm-broker" # GSAP broker gsap_broker_url: str = "http://localhost:8000" gsap_bearer_token: str = "" # Keycloak Admin keycloak_url: str = "http://localhost:8080" keycloak_realm: str = "substrate" keycloak_admin_client_id: str = "llm-broker-admin" keycloak_admin_client_secret: str = "" # Chronicle chronicle_webhook_url: Optional[str] = None # Delegation defaults default_delegation_ttl_minutes: int = 60 default_max_commands: int = 500 max_delegation_depth: int = 1 # CORS cors_origins: list[str] = ["http://localhost:3000", "http://localhost:8000"] # Database database_url: str = "sqlite+aiosqlite:///./llm_broker.db" settings = Settings()