# --------------------------------------------------------------------------- # Adaptive Presentation Engine — environment config # Copy to `.env` and fill in the values. Never commit real secrets. # --------------------------------------------------------------------------- # LLM provider: "anthropic" or "openai_compat" LLM_MODE=anthropic BASELINE_LLM_MODE=anthropic ADAPTIVE_LLM_MODE=anthropic # --- Anthropic (Claude) --- ANTHROPIC_API_KEY=REPLACE_ME ANTHROPIC_MODEL=claude-sonnet-4-6 ANTHROPIC_FAST_MODE_ENABLED=1 # --- OpenAI-compatible (OpenAI, Groq, etc.) --- OPENAI_API_KEY= OPENAI_BASE_URL=https://api.openai.com/v1 OPENAI_MODEL=gpt-4.1 # --- Generation budgets --- COMBINED_TIMEOUT_SECONDS=45 COMBINED_MAX_TOKENS=4000 # --- Widget output mode: "json" (preferred) or "html" --- WIDGET_MODE=json # --- Bandit / format enforcement --- STRICT_PRIMITIVES=1 # --- Admin bootstrap (required for primitives / strategy management) --- ADMIN_USERNAME=admin ADMIN_EMAIL=admin@example.com ADMIN_PASSWORD=CHANGE_ME_STRONG_PASSWORD # --- Auth --- # Generate a strong random value for production (e.g. `python -c "import secrets;print(secrets.token_urlsafe(64))"`). JWT_SECRET=change-me-to-a-long-random-secret JWT_EXPIRE_SECONDS=604800 # --- Runtime env --- # "development" exposes password-reset tokens to the caller for local testing. # Must be "production" in real deployments. ENV=development