import os
from fastapi import HTTPException, Security
from fastapi.security import APIKeyHeader

API_KEY_HEADER = APIKeyHeader(name="X-AI-Key", auto_error=False)
EXPECTED_KEY   = os.getenv("AI_API_KEY", "")


async def verify_api_key(api_key: str = Security(API_KEY_HEADER)) -> str:
    if not EXPECTED_KEY:
        raise RuntimeError("AI_API_KEY environment variable not set.")
    if not api_key or api_key != EXPECTED_KEY:
        raise HTTPException(status_code=403, detail="Invalid or missing AI API key.")
    return api_key
