mirror of
https://github.com/openclaw/openclaw.git
synced 2026-05-06 19:20:43 +00:00
35 lines
1.2 KiB
TypeScript
35 lines
1.2 KiB
TypeScript
import type { PluginManifestRegistry } from "../plugins/manifest-registry.js";
|
|
import { resolveBundledProviderPolicySurface } from "../plugins/provider-public-artifacts.js";
|
|
import type { ModelProviderConfig, OpenClawConfig } from "./types.js";
|
|
|
|
export function normalizeProviderConfigForConfigDefaults(params: {
|
|
provider: string;
|
|
providerConfig: ModelProviderConfig;
|
|
manifestRegistry?: Pick<PluginManifestRegistry, "plugins">;
|
|
}): ModelProviderConfig {
|
|
const normalized = resolveBundledProviderPolicySurface(params.provider, {
|
|
manifestRegistry: params.manifestRegistry,
|
|
})?.normalizeConfig?.({
|
|
provider: params.provider,
|
|
providerConfig: params.providerConfig,
|
|
});
|
|
return normalized && normalized !== params.providerConfig ? normalized : params.providerConfig;
|
|
}
|
|
|
|
export function applyProviderConfigDefaultsForConfig(params: {
|
|
provider: string;
|
|
config: OpenClawConfig;
|
|
env: NodeJS.ProcessEnv;
|
|
manifestRegistry?: Pick<PluginManifestRegistry, "plugins">;
|
|
}): OpenClawConfig {
|
|
return (
|
|
resolveBundledProviderPolicySurface(params.provider, {
|
|
manifestRegistry: params.manifestRegistry,
|
|
})?.applyConfigDefaults?.({
|
|
provider: params.provider,
|
|
config: params.config,
|
|
env: params.env,
|
|
}) ?? params.config
|
|
);
|
|
}
|