OptionalcontextUser: UserInfoThe user the engine config runs as (server-side).
Optionalprovider: IMetadataProviderThe request-scoped metadata provider (multi-provider safe).
Key-resolution seam deciding which vendors count as runnable. Defaults to the
platform lookup (AI_VENDOR_API_KEY__<driver>); the voice-picker query has no run context and
passes none, so today the list always reflects the platform's keys.
Active realtime models, each with its driver's voices.
Enumerates the active Realtime models with each driver's supported voices — the source for the dev model/voice picker. Only models with an Active vendor + resolvable API key + ClassFactory driver are returned (a model you can't actually run isn't worth offering). Voices come from the driver (BaseRealtimeModel.SupportedVoices) — the near-term, driver-owned source of truth. A persona voice whose persona also has a preset Video binding on the same vendor names that avatar (RealtimeModelVoiceOption.AvatarID), when the model shows avatars on that vendor (RealtimeModelShowsAvatar: its Video/Output row allows video or it has none, and the driver renders avatars on its endpoint); driver voices never do. So the picker marks a voice "Comes with an avatar" only where a call can show one. A persona with a face doesn't stand in for its plain voice, so the plain voice is listed too.