openclaw
Version:
Multi-channel AI gateway with extensible messaging integrations
26 lines (25 loc) • 1.15 kB
JavaScript
import { r as normalizeCapabilityProviderId, t as buildCapabilityProviderIndex } from "./provider-registry-shared-DVSyKRD5.js";
import { i as resolvePluginCapabilityProviders, r as resolvePluginCapabilityProvider } from "./capability-provider-runtime-DOgjx571.js";
//#region src/media-generation/provider-registry.ts
/** Shares normalized provider listing while preserving targeted transcription lookup. */
function createMediaProviderRegistry(key, options = {}) {
const buildProviderIndex = (mode, cfg, additionalProviderIds) => buildCapabilityProviderIndex(resolvePluginCapabilityProviders({
key,
cfg,
additionalProviderIds
}), mode);
return {
listProviders: (cfg, additionalProviderIds) => [...buildProviderIndex("canonical", cfg, additionalProviderIds).values()],
getProvider: (providerId, cfg) => {
const normalized = normalizeCapabilityProviderId(providerId);
if (!normalized) return;
return options.directLookup ? resolvePluginCapabilityProvider({
key,
providerId: normalized,
cfg
}) : buildProviderIndex("aliases", cfg).get(normalized);
}
};
}
//#endregion
export { createMediaProviderRegistry as t };