Barclays-banner-builder/backend/app/api
Vadym Samoilenko 7e82a535a9 Add conversational brief interface (AC1 chat-style)
Replaces the one-shot form with a Copygen-style chat at
/conversations/:id. Each turn is classified as generate / refine /
clarify by a lightweight LLM intent router; generate and refine intents
enqueue an RQ job that produces a new BannerSet, while clarify returns
an inline reply without touching banners.

New backend:
- Conversation + ConversationMessage models + migration 0005
- intent_router service (chat_structured, 3-intent schema)
- chat_turn RQ task with _persist_banner_set helper extracted from
  _generate_copy_async for reuse
- /api/conversations CRUD + POST /messages endpoint
- JobType.CHAT_TURN added

New frontend:
- ChatBrief page: message bubbles, inline BannerPreview cards with
  checkbox selection and "Open banner editor" CTA (same Medium+Large
  validation rule as VariantsGrid)
- ConversationLanding: /conversations/new creates and redirects
- conversationId added to journey store
- "New Brief" nav now points to /conversations/new
- Default route redirects to /conversations/new

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-28 21:53:17 +01:00
..
__init__.py Add full Sprint 0+1 implementation: Docker, FastAPI, React, RAG, deploy 2026-04-17 12:01:42 +01:00
admin.py Replace TOV checkboxes with free-text field (tov_text) 2026-04-17 14:05:51 +01:00
auth.py Replace passlib with bcrypt directly — passlib incompatible with bcrypt>=4.0 2026-04-17 12:15:06 +01:00
banner_sets.py AC3 in-situ banner visualisation — Medium/Large model, icons, themes, BannerPreview 2026-04-28 20:30:43 +01:00
banner_variants.py AC3 in-situ banner visualisation — Medium/Large model, icons, themes, BannerPreview 2026-04-28 20:30:43 +01:00
briefs.py AC3 in-situ banner visualisation — Medium/Large model, icons, themes, BannerPreview 2026-04-28 20:30:43 +01:00
conversations.py Add conversational brief interface (AC1 chat-style) 2026-04-28 21:53:17 +01:00
dam.py Fix 422 on DAM empty search, add favicon, fix email autocomplete 2026-04-17 14:02:22 +01:00
health.py Add full Sprint 0+1 implementation: Docker, FastAPI, React, RAG, deploy 2026-04-17 12:01:42 +01:00
icons.py AC3 in-situ banner visualisation — Medium/Large model, icons, themes, BannerPreview 2026-04-28 20:30:43 +01:00
jobs.py Add full Sprint 0+1 implementation: Docker, FastAPI, React, RAG, deploy 2026-04-17 12:01:42 +01:00
router.py Add conversational brief interface (AC1 chat-style) 2026-04-28 21:53:17 +01:00