"""Runtime settings API for LLM provider and API keys.""" from pydantic import BaseModel from fastapi import APIRouter from app.config import public_settings, update_runtime_settings router = APIRouter() class SettingsUpdate(BaseModel): llm_provider: str | None = None openai_api_key: str | None = None anthropic_api_key: str | None = None deepseek_api_key: str | None = None custom_openai_api_key: str | None = None custom_openai_base_url: str | None = None custom_openai_model: str | None = None @router.get("") async def get_runtime_settings(): return public_settings() @router.put("") async def update_settings(body: SettingsUpdate): payload = body.model_dump(exclude_unset=True) update_runtime_settings(payload) return public_settings()