Convert 6 synchronous LLM routes to async 202+WebSocket pattern: - generate-response (focus_group_ai): persona chat response - generate-key-themes (focus_group_ai): discussion analysis - modify-with-ai (personas): AI persona modification - export-profile (personas): markdown profile export - describe-asset (focus_groups): image AI description Each route now returns 202 + task_id immediately, runs LLM in asyncio background task, delivers result via WebSocket task_completed event. Frontend listeners updated to wait for ws:task_completed instead of HTTP response body. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com> |
||
|---|---|---|
| .. | ||
| auth | ||
| models | ||
| routes | ||
| services | ||
| utils | ||
| .DS_Store | ||
| __init__.py | ||
| db.py | ||
| extensions.py | ||
| websocket_debug_tap.py | ||
| websocket_manager.py | ||
| websocket_manager_async.py | ||