mirror of
https://github.com/moltbot/moltbot.git
synced 2026-04-21 05:32:53 +00:00
55 lines
1.6 KiB
TypeScript
55 lines
1.6 KiB
TypeScript
import {
|
|
applyProviderNativeStreamingUsageCompatWithPlugin,
|
|
normalizeProviderConfigWithPlugin,
|
|
resolveProviderConfigApiKeyWithPlugin,
|
|
} from "../plugins/provider-runtime.js";
|
|
import { resolveProviderPluginLookupKey } from "./models-config.providers.policy.lookup.js";
|
|
import type { ProviderConfig } from "./models-config.providers.secrets.js";
|
|
|
|
export function applyProviderNativeStreamingUsagePolicy(
|
|
providerKey: string,
|
|
provider: ProviderConfig,
|
|
): ProviderConfig {
|
|
const runtimeProviderKey = resolveProviderPluginLookupKey(providerKey, provider);
|
|
return (
|
|
applyProviderNativeStreamingUsageCompatWithPlugin({
|
|
provider: runtimeProviderKey,
|
|
context: {
|
|
provider: providerKey,
|
|
providerConfig: provider,
|
|
},
|
|
}) ?? provider
|
|
);
|
|
}
|
|
|
|
export function normalizeProviderConfigPolicy(
|
|
providerKey: string,
|
|
provider: ProviderConfig,
|
|
): ProviderConfig {
|
|
const runtimeProviderKey = resolveProviderPluginLookupKey(providerKey, provider);
|
|
return (
|
|
normalizeProviderConfigWithPlugin({
|
|
provider: runtimeProviderKey,
|
|
context: {
|
|
provider: providerKey,
|
|
providerConfig: provider,
|
|
},
|
|
}) ?? provider
|
|
);
|
|
}
|
|
|
|
export function resolveProviderConfigApiKeyPolicy(
|
|
providerKey: string,
|
|
provider?: ProviderConfig,
|
|
): ((env: NodeJS.ProcessEnv) => string | undefined) | undefined {
|
|
const runtimeProviderKey = resolveProviderPluginLookupKey(providerKey, provider).trim();
|
|
return (env) =>
|
|
resolveProviderConfigApiKeyWithPlugin({
|
|
provider: runtimeProviderKey,
|
|
context: {
|
|
provider: providerKey,
|
|
env,
|
|
},
|
|
});
|
|
}
|