Real-Time

WebSocket and SSE streaming architecture

Recursiv supports real-time chat, agent streaming, and admin event feeds.

WebSocket (Socket.IO)

Used for:

  • Chat messages + typing
  • Agent thinking / streaming updates
  • Brain chat streaming (brain_stream)

Server:

  • packages/server/src/features/realtime/WebSocketService.ts

Client:

  • packages/client/src/core/providers/WebSocketProvider.tsx

Server-Sent Events (SSE)

Used for:

  • Dispatcher stream (admin roadmap dashboard)
  • Agent stream (/api/agent-stream/:conversationId/:agentId)

Authenticated dispatcher stream:

/api/v1/dispatcher/stream-auth

Notes

  • SSE endpoints require CORS ALLOWED_ORIGINS in production.
  • WebSocket connections use session cookies for auth.