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:
@@ -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)
|
@router.get("/quota", response_model=AIQuotaStatusResponse)
|
||||||
async def get_quota(
|
async def get_quota(
|
||||||
current_user: Annotated[User, Depends(get_current_active_user)],
|
current_user: Annotated[User, Depends(get_current_active_user)],
|
||||||
|
|||||||
Reference in New Issue
Block a user