Spracherkennung für: .ts vermutete Sprache: Unknown {[0] [0] [0]} [Methode: Schwerpunktbildung, einfache Gewichte, sechs Dimensionen]
import type { OpenClawConfig } from "../config/types.openclaw.js";
import { resolvePluginCapabilityProviders } from "../plugins/capability-provider-runtime.js";
import {
buildCapabilityProviderMaps,
normalizeCapabilityProviderId,
} from "../plugins/provider-registry-shared.js";
import type { RealtimeVoiceProviderPlugin } from "../plugins/types.js";
import type { RealtimeVoiceProviderId } from "./provider-types.js";
export function normalizeRealtimeVoiceProviderId(
providerId: string | undefined,
): RealtimeVoiceProviderId | undefined {
return normalizeCapabilityProviderId(providerId);
}
function resolveRealtimeVoiceProviderEntries(cfg?: OpenClawConfig): RealtimeVoiceProviderPlugin[] {
return resolvePluginCapabilityProviders({
key: "realtimeVoiceProviders",
cfg,
});
}
function buildProviderMaps(cfg?: OpenClawConfig): {
canonical: Map<string, RealtimeVoiceProviderPlugin>;
aliases: Map<string, RealtimeVoiceProviderPlugin>;
} {
return buildCapabilityProviderMaps(resolveRealtimeVoiceProviderEntries(cfg));
}
export function listRealtimeVoiceProviders(cfg?: OpenClawConfig): RealtimeVoiceProviderPlugin[] {
return [...buildProviderMaps(cfg).canonical.values()];
}
export function getRealtimeVoiceProvider(
providerId: string | undefined,
cfg?: OpenClawConfig,
): RealtimeVoiceProviderPlugin | undefined {
const normalized = normalizeRealtimeVoiceProviderId(providerId);
if (!normalized) {
return undefined;
}
return buildProviderMaps(cfg).aliases.get(normalized);
}
export function canonicalizeRealtimeVoiceProviderId(
providerId: string | undefined,
cfg?: OpenClawConfig,
): RealtimeVoiceProviderId | undefined {
const normalized = normalizeRealtimeVoiceProviderId(providerId);
if (!normalized) {
return undefined;
}
return getRealtimeVoiceProvider(normalized, cfg)?.id ?? normalized;
}
¤ Dauer der Verarbeitung: 0.21 Sekunden
(vorverarbeitet am 2026-04-27)
¤
*© Formatika GbR, Deutschland