# ============================== Required at runtime ============================== # OpenRouter API key - ALL LLM roles (agent, fallback, language detection, # summarization) AND the embeddings run through OpenRouter (see config.py). OPEN_ROUTER_API_KEY=your_openrouter_api_key_here # Weaviate Cloud (EU cluster) WEAVIATE_API_KEY=your_weaviate_api_key WEAVIATE_CLUSTER_URL=your_weaviate_rest_endpoint_url # ============================== Optional ============================== # Only needed for the opt-in LLM test suites (RUN_LLM_EVAL / RUN_UAT_LLM_JUDGE), # not by the runtime agent. # OPENAI_API_KEY=your_openai_api_key_here # Docling remote PDF parsing in the facts pipeline (falls back to pypdf without it). # HUGGING_FACE_API_KEY=your_hf_api_key # Weaviate manual database backups (only if the manual backup backend is selected) # WEAVIATE_BACKUP_PATH=path_to_directory # LangSmith tracing (debugging and monitoring) # LANGSMITH_TRACING=true # LANGSMITH_API_KEY=your_langsmith_api_key # LANGSMITH_PROJECT=your_project_name # LANGSMITH_ENDPOINT=https://api.smith.langchain.com # ============================== Fact-change alerts ============================== # Used by src/notification/notification_center.py when the facts pipeline # detects price/deadline changes. In production these run as GitHub Actions # secrets (.github/workflows/update_programme_facts.yml) - only set them # locally if you want a machine to send alerts itself. # NOTIFY_SMTP_HOST=smtp.example.com # NOTIFY_SMTP_PORT=587 # NOTIFY_SMTP_USER=alerts@example.com # NOTIFY_SMTP_PASSWORD=your_smtp_password # NOTIFY_SMTP_USE_TLS=true # NOTIFY_FROM_EMAIL=alerts@example.com # NOTIFY_TO_EMAIL=team@example.com # NOTIFY_SLACK_WEBHOOK_URL=https://hooks.slack.com/services/...