OptionalmodelId: stringThe MJ: AI Models Name or ID to prefer, or null/empty for none.
Optionalvoice: stringThe provider-native voice id (e.g. echo), or null/empty for none.
The JSON string, or null when nothing was overridden (keeps the cascade at its lower layers).
Builds the runtime-override
ConfigOverridesJsonenvelope (the highest-precedence cascade layer) from a per-session model and/or voice choice — the single, surface-agnostic shape every realtime host uses to carry a dev's pick into ResolveEffectiveRealtimeConfig. The native-chat picker produces the same shape client-side (BuildRealtimeConfigOverridesJsonin@memberjunction/ng-conversations); the server-bridged hosts (LiveKit, Zoom/Teams) build it here so both funnel into the one override slot.Envelope:
{"realtime":{"modelPreference":"<id>","voice":{"providers":{"openai":{"voice":"<v>"}}}}}.openaiis the realtime provider today; add providers here when others ship realtime voices.