feat: live agent answers (SSE streaming) + «Чат» tab on phones
CI / ruff · pytest (pull_request) Successful in 2m43s

- POST /dialog/{token}/events/stream: Server-Sent Events with the agent's steps («Смотрю вашу карту ЕМИАС…»,
  «Ищу в клинических рекомендациях…»), the answer as the model writes it (OpenRouter stream=true), then the
  final replies (same as /events, incl. the forbidden-output filter and sources). X-Accel-Buffering: no.
- Web: free-text messages use the stream — a live bubble with steps, typing dots and a cursor; falls back to
  the plain request if the stream breaks.
- Phones: the bottom tab bar gets «Чат» (it had no way back to the chat).

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
2026-10-05 12:52:19 +03:00
co-authored by Claude Opus 5.5
parent d662a69c7e
commit d1f92407f9
11 changed files with 381 additions and 6 deletions
+2
View File
@@ -16,6 +16,7 @@ export const ru = {
doctor: "Врач",
profile: "Профиль",
messages: "Сообщения",
chat: "Чат",
signIn: "Вход",
help: "Помощь",
},
@@ -251,6 +252,7 @@ export const ru = {
noticeTitle: "Опрос приостановлен",
},
messages: {
typing: "Помощник печатает",
title: "Сообщения",
inputLabel: "Сообщение",
inputPlaceholder: "Напишите сообщение",