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-BzEI0RLc.js"; import { s as assertXaiRealtimeVoiceRequestSupported } from "../../capability-provider-metadata-factory-BjaSolS_.js"; import { t as createXaiRealtimeVoiceProviderMetadata } from "../../capability-provider-metadata-3SLkHpj3.js"; import { t as resolveXaiRealtimeApiKey } from "../../realtime-voice-auth.runtime-BsjGk970.js"; import { t as XaiRealtimeVoiceBridge } from "../../realtime-voice-bridge-RADQ7d6N.js"; //#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 };