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
Rooms, events, and views
Understand the objects in a room and how they relate to each other.
Read the concept map → 02 · RUNPublish and subscribe
Run a local client, publish an event, and replay it after reconnecting.
Start the quickstart → 03 · BUILDConnect your client
Share a room handle and give each view its own subscription.
Use the TypeScript SDK → 04 · EXTENDAdd application behavior
Choose how a client requests work or an agent reacts to an event.
Choose an extension →Runtime responsibilities
RMC stores ordered room events and delivers them to authorized subscribers. Adapters perform requested work. Native providers carry audio and video.
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.