diff --git a/backend/app/api/endpoints/ai_builder.py b/backend/app/api/endpoints/ai_builder.py index b0c7aa41..f3740d07 100644 --- a/backend/app/api/endpoints/ai_builder.py +++ b/backend/app/api/endpoints/ai_builder.py @@ -54,34 +54,6 @@ def _require_ai_enabled() -> None: detail="AI flow builder is not configured. Set GOOGLE_AI_API_KEY or ANTHROPIC_API_KEY.", ) - -@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)], diff --git a/backend/app/core/ai_provider.py b/backend/app/core/ai_provider.py index b3cf16e4..cea16269 100644 --- a/backend/app/core/ai_provider.py +++ b/backend/app/core/ai_provider.py @@ -68,7 +68,7 @@ class GeminiProvider(AIProvider): response_mime_type="application/json", ) - response = await client.models.generate_content_async( + response = await client.aio.models.generate_content( model=self._model, contents=contents, config=config, diff --git a/backend/tests/test_ai_provider.py b/backend/tests/test_ai_provider.py index a263d5e3..611c8e7b 100644 --- a/backend/tests/test_ai_provider.py +++ b/backend/tests/test_ai_provider.py @@ -137,7 +137,7 @@ class TestGeminiProvider: mock_response.usage_metadata = mock_usage mock_client = MagicMock() - mock_client.models.generate_content_async = AsyncMock( + mock_client.aio.models.generate_content = AsyncMock( return_value=mock_response ) @@ -172,7 +172,7 @@ class TestGeminiProvider: assert input_tokens == 80 assert output_tokens == 40 - mock_client.models.generate_content_async.assert_called_once() + mock_client.aio.models.generate_content.assert_called_once() @pytest.mark.asyncio async def test_generate_json_handles_none_usage(self): @@ -185,7 +185,7 @@ class TestGeminiProvider: mock_response.usage_metadata = mock_usage mock_client = MagicMock() - mock_client.models.generate_content_async = AsyncMock( + mock_client.aio.models.generate_content = AsyncMock( return_value=mock_response )