feat: add xai realtime transcription

This commit is contained in:
Peter Steinberger
2026-04-23 01:35:08 +01:00
parent d4c171f594
commit 67f09ea87a
12 changed files with 899 additions and 25 deletions

View File

@@ -128,6 +128,7 @@ export const pluginRegistrationContractCases = {
pluginId: "xai",
providerIds: ["xai"],
webSearchProviderIds: ["grok"],
realtimeTranscriptionProviderIds: ["xai"],
mediaUnderstandingProviderIds: ["xai"],
},
zai: {

View File

@@ -3,6 +3,7 @@ import type {
MediaUnderstandingProviderPlugin,
MusicGenerationProviderPlugin,
ProviderPlugin,
RealtimeTranscriptionProviderPlugin,
SpeechProviderPlugin,
VideoGenerationProviderPlugin,
} from "../../../src/plugins/types.js";
@@ -10,6 +11,7 @@ import { createTestPluginApi } from "./plugin-api.js";
type RegisteredProviderCollections = {
providers: ProviderPlugin[];
realtimeTranscriptionProviders: RealtimeTranscriptionProviderPlugin[];
speechProviders: SpeechProviderPlugin[];
mediaProviders: MediaUnderstandingProviderPlugin[];
imageProviders: ImageGenerationProviderPlugin[];
@@ -27,6 +29,7 @@ export async function registerProviderPlugin(params: {
name: string;
}): Promise<RegisteredProviderCollections> {
const providers: ProviderPlugin[] = [];
const realtimeTranscriptionProviders: RealtimeTranscriptionProviderPlugin[] = [];
const speechProviders: SpeechProviderPlugin[] = [];
const mediaProviders: MediaUnderstandingProviderPlugin[] = [];
const imageProviders: ImageGenerationProviderPlugin[] = [];
@@ -43,6 +46,9 @@ export async function registerProviderPlugin(params: {
registerProvider: (provider) => {
providers.push(provider);
},
registerRealtimeTranscriptionProvider: (provider) => {
realtimeTranscriptionProviders.push(provider);
},
registerSpeechProvider: (provider) => {
speechProviders.push(provider);
},
@@ -63,6 +69,7 @@ export async function registerProviderPlugin(params: {
return {
providers,
realtimeTranscriptionProviders,
speechProviders,
mediaProviders,
imageProviders,