semblance_backup/backend/app/services
michael fcf79ad302 Fix empty error messages from Google GenAI SDK
Catch genai_errors.APIError specifically and extract e.code and e.message
attributes for proper error logging. The generic str(e) was returning empty
strings for Google API errors, making debugging impossible.

- Import google.genai.errors for specific exception handling
- Add APIError catch before generic Exception in generate_content()
- Add APIError catch before generic Exception in generate_contextual_response()
- Properly categorize errors by HTTP code for retry logic (429/500+ retryable)
- Fix time.sleep to await asyncio.sleep in contextual response handler

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-07 13:26:55 -06:00
..
ai_moderator_service.py changed permissions 2025-12-19 19:26:16 +00:00
ai_persona_service.py changed permissions 2025-12-19 19:26:16 +00:00
ai_runner_service.py changed permissions 2025-12-19 19:26:16 +00:00
autonomous_conversation_controller.py changed permissions 2025-12-19 19:26:16 +00:00
bulk_persona_export_service.py changed permissions 2025-12-19 19:26:16 +00:00
conversation_context_service.py changed permissions 2025-12-19 19:26:16 +00:00
conversation_decision_service.py changed permissions 2025-12-19 19:26:16 +00:00
conversation_state_manager.py changed permissions 2025-12-19 19:26:16 +00:00
customer_data_service.py changed permissions 2025-12-19 19:26:16 +00:00
focus_group_response_service.py changed permissions 2025-12-19 19:26:16 +00:00
focus_group_service.py changed permissions 2025-12-19 19:26:16 +00:00
focus_group_summary_service.py changed permissions 2025-12-19 19:26:16 +00:00
image_description_service.py changed permissions 2025-12-19 19:26:16 +00:00
key_theme_service.py changed permissions 2025-12-19 19:26:16 +00:00
llm_service.py Fix empty error messages from Google GenAI SDK 2026-01-07 13:26:55 -06:00
msal_service.py changed permissions 2025-12-19 19:26:16 +00:00
persona_export_service.py changed permissions 2025-12-19 19:26:16 +00:00
persona_modification_service.py changed permissions 2025-12-19 19:26:16 +00:00
task_manager.py changed permissions 2025-12-19 19:26:16 +00:00