Learn · Start here

RMC overview

RMC stores room events, delivers authorized subscriptions over a shared WebSocket, and coordinates background work and native media.

RMC gives an application a shared record of a conversation and the work around it. A room holds that record. Participants publish events and subscribe to the parts they are allowed to see.

For example, a support conversation might have a customer transcript, a specialist view, and a background summary task. They share one room, but each consumes a different view of its history.

Start with the client API

Runtime responsibilities

RMC stores ordered room events and delivers them to authorized subscribers. Adapters perform requested work. Native providers carry audio and video.

The application publishes through participant authority and room ordering to SQLite. Independent subscriptions receive committed history over one WebSocket. Browser tracks use separate LiveKit or OpenAI Realtime media connections. Async execution runs outside the logical room plane through direct adapters, returning durable progress and results.
The room coordinates durable facts and work. Native providers carry media; adapters connect work execution.Open SVG ↗Excalidraw source ↓

The architecture walkthrough follows a message through these responsibilities.

RMC and application responsibilities

RMC owns Your application decides
Room history and event order What a room represents and when it ends
Publication and replay Event meanings and how each view renders them
Participant permissions Which users receive which grants
Work coordination and results What triggers work and how to use its output
Authorized media setup Capture, playback, and local media cleanup

What belongs in a room

Keep facts a returning client needs: messages, observations, task results, and shared documents. Use events for what happened, state for current values, and artifacts for versioned results such as a report.

Keep continuous audio/video on native media connections. Typing indicators and meters stay in provider or local UI state. The media guide explains how these paths connect.

Current limitations

History is ordered within each room. Replay can repeat work a client already processed, so consumers need duplicate handling. The SDK recovers an interrupted connection; your application owns recovery after a page or process restart. See delivery and recovery.

Extensions and proposed changes

The integration catalog lists current implementations. The design direction and open questions discuss possible changes separately from the client contract. Use the source map for implementation and tests.

Search the documentation

Type to search all guides.

Diagram

100%Open original ↗