diff --git a/src/commands/onboard-auth.config-core.ts b/src/commands/onboard-auth.config-core.ts index 069931fa75..037c28e372 100644 --- a/src/commands/onboard-auth.config-core.ts +++ b/src/commands/onboard-auth.config-core.ts @@ -50,6 +50,7 @@ export { } from "./onboard-auth.config-litellm.js"; import { applyAgentDefaultModelPrimary, + applyOnboardAuthAgentModelsAndProviders, applyProviderConfigWithDefaultModel, applyProviderConfigWithDefaultModels, applyProviderConfigWithModelCatalog, @@ -124,20 +125,7 @@ export function applyZaiProviderConfig( models: mergedModels.length > 0 ? mergedModels : defaultModels, }; - return { - ...cfg, - agents: { - ...cfg.agents, - defaults: { - ...cfg.agents?.defaults, - models, - }, - }, - models: { - mode: cfg.models?.mode ?? "merge", - providers, - }, - }; + return applyOnboardAuthAgentModelsAndProviders(cfg, { agentModels: models, providers }); } export function applyZaiConfig( @@ -321,20 +309,7 @@ export function applySyntheticProviderConfig(cfg: OpenClawConfig): OpenClawConfi models: mergedModels.length > 0 ? mergedModels : syntheticModels, }; - return { - ...cfg, - agents: { - ...cfg.agents, - defaults: { - ...cfg.agents?.defaults, - models, - }, - }, - models: { - mode: cfg.models?.mode ?? "merge", - providers, - }, - }; + return applyOnboardAuthAgentModelsAndProviders(cfg, { agentModels: models, providers }); } export function applySyntheticConfig(cfg: OpenClawConfig): OpenClawConfig { diff --git a/src/commands/onboard-auth.config-minimax.ts b/src/commands/onboard-auth.config-minimax.ts index 48eed2f8a3..3fa91254bb 100644 --- a/src/commands/onboard-auth.config-minimax.ts +++ b/src/commands/onboard-auth.config-minimax.ts @@ -1,5 +1,6 @@ import type { OpenClawConfig } from "../config/config.js"; import type { ModelProviderConfig } from "../config/types.models.js"; +import { applyOnboardAuthAgentModelsAndProviders } from "./onboard-auth.config-shared.js"; import { buildMinimaxApiModelDefinition, buildMinimaxModelDefinition, @@ -44,20 +45,7 @@ export function applyMinimaxProviderConfig(cfg: OpenClawConfig): OpenClawConfig }; } - return { - ...cfg, - agents: { - ...cfg.agents, - defaults: { - ...cfg.agents?.defaults, - models, - }, - }, - models: { - mode: cfg.models?.mode ?? "merge", - providers, - }, - }; + return applyOnboardAuthAgentModelsAndProviders(cfg, { agentModels: models, providers }); } export function applyMinimaxHostedProviderConfig( @@ -89,20 +77,7 @@ export function applyMinimaxHostedProviderConfig( models: mergedModels.length > 0 ? mergedModels : [hostedModel], }; - return { - ...cfg, - agents: { - ...cfg.agents, - defaults: { - ...cfg.agents?.defaults, - models, - }, - }, - models: { - mode: cfg.models?.mode ?? "merge", - providers, - }, - }; + return applyOnboardAuthAgentModelsAndProviders(cfg, { agentModels: models, providers }); } export function applyMinimaxConfig(cfg: OpenClawConfig): OpenClawConfig { diff --git a/src/commands/onboard-auth.config-shared.ts b/src/commands/onboard-auth.config-shared.ts index ed12dcf2d9..c2726eb833 100644 --- a/src/commands/onboard-auth.config-shared.ts +++ b/src/commands/onboard-auth.config-shared.ts @@ -17,6 +17,29 @@ function extractAgentDefaultModelFallbacks(model: unknown): string[] | undefined return Array.isArray(fallbacks) ? fallbacks.map((v) => String(v)) : undefined; } +export function applyOnboardAuthAgentModelsAndProviders( + cfg: OpenClawConfig, + params: { + agentModels: Record; + providers: Record; + }, +): OpenClawConfig { + return { + ...cfg, + agents: { + ...cfg.agents, + defaults: { + ...cfg.agents?.defaults, + models: params.agentModels, + }, + }, + models: { + mode: cfg.models?.mode ?? "merge", + providers: params.providers, + }, + }; +} + export function applyAgentDefaultModelPrimary( cfg: OpenClawConfig, primary: string, @@ -81,20 +104,10 @@ export function applyProviderConfigWithDefaultModels( models: mergedModels.length > 0 ? mergedModels : defaultModels, }; - return { - ...cfg, - agents: { - ...cfg.agents, - defaults: { - ...cfg.agents?.defaults, - models: params.agentModels, - }, - }, - models: { - mode: cfg.models?.mode ?? "merge", - providers, - }, - }; + return applyOnboardAuthAgentModelsAndProviders(cfg, { + agentModels: params.agentModels, + providers, + }); } export function applyProviderConfigWithDefaultModel( @@ -159,18 +172,8 @@ export function applyProviderConfigWithModelCatalog( models: mergedModels.length > 0 ? mergedModels : catalogModels, }; - return { - ...cfg, - agents: { - ...cfg.agents, - defaults: { - ...cfg.agents?.defaults, - models: params.agentModels, - }, - }, - models: { - mode: cfg.models?.mode ?? "merge", - providers, - }, - }; + return applyOnboardAuthAgentModelsAndProviders(cfg, { + agentModels: params.agentModels, + providers, + }); }