UNPKG

openclaw

Version:

Multi-channel AI gateway with extensible messaging integrations

31 lines (30 loc) • 1.42 kB
import { _ as normalizeXaiRealtimeProviderConfig, g as normalizeXaiRealtimeBaseUrl } from "../../realtime-voice-config-Cvhpk7eO.mjs"; import { s as assertXaiRealtimeVoiceRequestSupported } from "../../capability-provider-metadata-factory--ds7-QzD.mjs"; import { t as createXaiRealtimeVoiceProviderMetadata } from "../../capability-provider-metadata-B8415VSa.mjs"; import { t as resolveXaiRealtimeApiKey } from "../../realtime-voice-auth.runtime-CTBYhnkO.mjs"; import { t as XaiRealtimeVoiceBridge } from "../../realtime-voice-bridge-N0Ki4c33.mjs"; //#region extensions/xai/realtime-voice-provider.ts function buildXaiRealtimeVoiceProvider() { return { ...createXaiRealtimeVoiceProviderMetadata(), createBridge: (req) => { const config = normalizeXaiRealtimeProviderConfig(req.providerConfig); assertXaiRealtimeVoiceRequestSupported(req); return new XaiRealtimeVoiceBridge({ ...req, apiKey: config.apiKey, baseUrl: normalizeXaiRealtimeBaseUrl(config.baseUrl), model: config.model, voice: config.voice, vadThreshold: config.vadThreshold, silenceDurationMs: config.silenceDurationMs, prefixPaddingMs: config.prefixPaddingMs, reasoningEffort: config.reasoningEffort, sessionResumption: config.sessionResumption, resolveApiKey: () => resolveXaiRealtimeApiKey(config.apiKey, req.cfg, req.agentId) }); } }; } //#endregion export { buildXaiRealtimeVoiceProvider };