debug: add temporary /ai/provider-debug endpoint

Shows which provider is selected and whether keys are loaded.
Remove after debugging the 502 on PR env.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
chihlasm
2026-02-27 00:02:47 -05:00
parent 0fb3126fd2
commit dc68d992a4

View File

@@ -55,6 +55,33 @@ def _require_ai_enabled() -> None:
)
@router.get("/provider-debug")
async def provider_debug(
current_user: Annotated[User, Depends(get_current_active_user)],
_: None = Depends(require_engineer_or_admin),
):
"""Temporary debug endpoint — shows which AI provider would be selected."""
from app.core.ai_provider import get_ai_provider
has_gemini_key = bool(settings.GOOGLE_AI_API_KEY)
has_anthropic_key = bool(settings.ANTHROPIC_API_KEY)
provider_setting = settings.AI_PROVIDER
try:
provider = get_ai_provider()
provider_type = type(provider).__name__
except RuntimeError as e:
provider_type = f"ERROR: {e}"
return {
"ai_provider_setting": provider_setting,
"has_gemini_key": has_gemini_key,
"gemini_key_prefix": settings.GOOGLE_AI_API_KEY[:8] + "..." if settings.GOOGLE_AI_API_KEY else None,
"has_anthropic_key": has_anthropic_key,
"anthropic_key_prefix": settings.ANTHROPIC_API_KEY[:8] + "..." if settings.ANTHROPIC_API_KEY else None,
"selected_provider": provider_type,
"gemini_model": settings.AI_MODEL_GEMINI,
"anthropic_model": settings.AI_MODEL_ANTHROPIC,
}
@router.get("/quota", response_model=AIQuotaStatusResponse)
async def get_quota(
current_user: Annotated[User, Depends(get_current_active_user)],