
















@@ -1,10 +1,6 @@
11import type { OpenClawConfig } from "openclaw/plugin-sdk/config-runtime";
22import { formatErrorMessage } from "openclaw/plugin-sdk/error-runtime";
3-import { resolveConfiguredCapabilityProvider } from "openclaw/plugin-sdk/provider-selection-runtime";
4-import type {
5-RealtimeVoiceProviderConfig,
6-RealtimeVoiceProviderPlugin,
7-} from "openclaw/plugin-sdk/realtime-voice";
3+import type { ResolvedRealtimeVoiceProvider } from "openclaw/plugin-sdk/realtime-voice";
84import type { VoiceCallConfig } from "./config.js";
95import { resolveVoiceCallConfig, validateProviderConfig } from "./config.js";
106import type { CoreAgentDeps, CoreConfig } from "./core-bridge.js";
@@ -34,10 +30,7 @@ type Logger = {
3430debug?: (message: string) => void;
3531};
363237-type ResolvedRealtimeProvider = {
38-provider: RealtimeVoiceProviderPlugin;
39-providerConfig: RealtimeVoiceProviderConfig;
40-};
33+type ResolvedRealtimeProvider = ResolvedRealtimeVoiceProvider;
41344235type TelnyxProviderModule = typeof import("./providers/telnyx.js");
4336type TwilioProviderModule = typeof import("./providers/twilio.js");
@@ -197,36 +190,12 @@ async function resolveRealtimeProvider(params: {
197190config: VoiceCallConfig;
198191fullConfig: OpenClawConfig;
199192}): Promise<ResolvedRealtimeProvider> {
200-const { getRealtimeVoiceProvider, listRealtimeVoiceProviders } = await loadRealtimeVoiceRuntime();
201-const resolution = resolveConfiguredCapabilityProvider({
193+const { resolveConfiguredRealtimeVoiceProvider } = await loadRealtimeVoiceRuntime();
194+return resolveConfiguredRealtimeVoiceProvider({
202195configuredProviderId: params.config.realtime.provider,
203196providerConfigs: params.config.realtime.providers,
204197cfg: params.fullConfig,
205-cfgForResolve: params.fullConfig,
206-getConfiguredProvider: (providerId) => getRealtimeVoiceProvider(providerId, params.fullConfig),
207-listProviders: () => listRealtimeVoiceProviders(params.fullConfig),
208-resolveProviderConfig: ({ provider, cfg, rawConfig }) =>
209-provider.resolveConfig?.({ cfg, rawConfig }) ?? rawConfig,
210-isProviderConfigured: ({ provider, cfg, providerConfig }) =>
211-provider.isConfigured({ cfg, providerConfig }),
212198});
213-if (!resolution.ok && resolution.code === "missing-configured-provider") {
214-throw new Error(
215-`Realtime voice provider "${resolution.configuredProviderId}" is not registered`,
216-);
217-}
218-if (!resolution.ok && resolution.code === "no-registered-provider") {
219-throw new Error("No realtime voice provider registered");
220-}
221-if (!resolution.ok) {
222-throw new Error(`Realtime voice provider "${resolution.provider?.id}" is not configured`);
223-}
224-225-const provider = resolution.provider;
226-return {
227- provider,
228-providerConfig: resolution.providerConfig,
229-};
230199}
231200232201export async function createVoiceCallRuntime(params: {
此内容由惯性聚合(RSS阅读器)自动聚合整理,仅供阅读参考。 原文来自 — 版权归原作者所有。