Extend · Choose a contract

Adapters

Connect current work and media implementations through small, directly wired contracts.

An adapter connects an RMC contract to an implementation or external service. The client requests room operations; the host chooses and configures the implementation that handles them.

For example, a client requests reasoning through a delegation. The registered adapter translates that request into the reasoner service's API and returns its result to RMC.

Start with the contract you need

Contract Adapter responsibility Current example
Delegation Execute an objective using authorized context HTTP reasoner
Media Issue scoped join credentials and coordinate provider cleanup LiveKit
Voice Set up a voice session and handle provider controls OpenAI Realtime

A room agent has a different trigger: it reacts to committed events instead of a requested task.

Follow a requested-work adapter

The host registers an adapter and its capabilities in code. A delegation requests a capability such as reasoning.ask. RMC selects a matching adapter, supplies authorized context, and records its progress and result.

The adapter owns the service call and its failure handling. RMC owns the task's identity, revisions, cancellation request, and accepted outcomes. See the work guide for the registration interface and client flow.

Put failures at the integration boundary

An integration must define timeouts, cancellation, and duplicate handling for any external action it performs. Room history records the outcome; it cannot undo an external write.

Keep provider credentials in trusted host configuration. Use the integration catalog for existing implementations and routing rules, or build an extension for a runnable example.

Search the documentation

Type to search all guides.

Diagram

100%Open original ↗