Files
ai_orchestrator/docs/adr/003-event-stream-transport.md

1.1 KiB
Raw Permalink Blame History

ADR 003: User Event Stream Transport

Status

Accepted

Context

UI требует поток событий по task execution:

  • task_started
  • node_started
  • node_completed
  • confirmation_required
  • task_completed
  • task_failed

В исходных документах упомянуты SSE/WebSocket, но как основной transport нужно выбрать один.

Decision

Основной transport для пользовательского event stream: Server-Sent Events.

WebSocket не исключается, но считается вторичным adapter для будущих realtime-потребностей.

Rationale

SSE проще для:

  • однонаправленного server-to-client прогресса;
  • проксирования;
  • reconnect semantics;
  • дебага и совместимости с обычными HTTP-инструментами.

WebSocket нужен не UI в первую очередь, а local worker transport.

Consequences

GET /tasks/{id}/events фиксируется как SSE endpoint.