mirror of
https://github.com/openclaw/openclaw.git
synced 2026-04-19 02:07:26 +00:00
refactor(commands): share provider config merge wrapper
This commit is contained in:
@@ -50,6 +50,7 @@ export {
|
|||||||
} from "./onboard-auth.config-litellm.js";
|
} from "./onboard-auth.config-litellm.js";
|
||||||
import {
|
import {
|
||||||
applyAgentDefaultModelPrimary,
|
applyAgentDefaultModelPrimary,
|
||||||
|
applyOnboardAuthAgentModelsAndProviders,
|
||||||
applyProviderConfigWithDefaultModel,
|
applyProviderConfigWithDefaultModel,
|
||||||
applyProviderConfigWithDefaultModels,
|
applyProviderConfigWithDefaultModels,
|
||||||
applyProviderConfigWithModelCatalog,
|
applyProviderConfigWithModelCatalog,
|
||||||
@@ -124,20 +125,7 @@ export function applyZaiProviderConfig(
|
|||||||
models: mergedModels.length > 0 ? mergedModels : defaultModels,
|
models: mergedModels.length > 0 ? mergedModels : defaultModels,
|
||||||
};
|
};
|
||||||
|
|
||||||
return {
|
return applyOnboardAuthAgentModelsAndProviders(cfg, { agentModels: models, providers });
|
||||||
...cfg,
|
|
||||||
agents: {
|
|
||||||
...cfg.agents,
|
|
||||||
defaults: {
|
|
||||||
...cfg.agents?.defaults,
|
|
||||||
models,
|
|
||||||
},
|
|
||||||
},
|
|
||||||
models: {
|
|
||||||
mode: cfg.models?.mode ?? "merge",
|
|
||||||
providers,
|
|
||||||
},
|
|
||||||
};
|
|
||||||
}
|
}
|
||||||
|
|
||||||
export function applyZaiConfig(
|
export function applyZaiConfig(
|
||||||
@@ -321,20 +309,7 @@ export function applySyntheticProviderConfig(cfg: OpenClawConfig): OpenClawConfi
|
|||||||
models: mergedModels.length > 0 ? mergedModels : syntheticModels,
|
models: mergedModels.length > 0 ? mergedModels : syntheticModels,
|
||||||
};
|
};
|
||||||
|
|
||||||
return {
|
return applyOnboardAuthAgentModelsAndProviders(cfg, { agentModels: models, providers });
|
||||||
...cfg,
|
|
||||||
agents: {
|
|
||||||
...cfg.agents,
|
|
||||||
defaults: {
|
|
||||||
...cfg.agents?.defaults,
|
|
||||||
models,
|
|
||||||
},
|
|
||||||
},
|
|
||||||
models: {
|
|
||||||
mode: cfg.models?.mode ?? "merge",
|
|
||||||
providers,
|
|
||||||
},
|
|
||||||
};
|
|
||||||
}
|
}
|
||||||
|
|
||||||
export function applySyntheticConfig(cfg: OpenClawConfig): OpenClawConfig {
|
export function applySyntheticConfig(cfg: OpenClawConfig): OpenClawConfig {
|
||||||
|
|||||||
@@ -1,5 +1,6 @@
|
|||||||
import type { OpenClawConfig } from "../config/config.js";
|
import type { OpenClawConfig } from "../config/config.js";
|
||||||
import type { ModelProviderConfig } from "../config/types.models.js";
|
import type { ModelProviderConfig } from "../config/types.models.js";
|
||||||
|
import { applyOnboardAuthAgentModelsAndProviders } from "./onboard-auth.config-shared.js";
|
||||||
import {
|
import {
|
||||||
buildMinimaxApiModelDefinition,
|
buildMinimaxApiModelDefinition,
|
||||||
buildMinimaxModelDefinition,
|
buildMinimaxModelDefinition,
|
||||||
@@ -44,20 +45,7 @@ export function applyMinimaxProviderConfig(cfg: OpenClawConfig): OpenClawConfig
|
|||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
||||||
return {
|
return applyOnboardAuthAgentModelsAndProviders(cfg, { agentModels: models, providers });
|
||||||
...cfg,
|
|
||||||
agents: {
|
|
||||||
...cfg.agents,
|
|
||||||
defaults: {
|
|
||||||
...cfg.agents?.defaults,
|
|
||||||
models,
|
|
||||||
},
|
|
||||||
},
|
|
||||||
models: {
|
|
||||||
mode: cfg.models?.mode ?? "merge",
|
|
||||||
providers,
|
|
||||||
},
|
|
||||||
};
|
|
||||||
}
|
}
|
||||||
|
|
||||||
export function applyMinimaxHostedProviderConfig(
|
export function applyMinimaxHostedProviderConfig(
|
||||||
@@ -89,20 +77,7 @@ export function applyMinimaxHostedProviderConfig(
|
|||||||
models: mergedModels.length > 0 ? mergedModels : [hostedModel],
|
models: mergedModels.length > 0 ? mergedModels : [hostedModel],
|
||||||
};
|
};
|
||||||
|
|
||||||
return {
|
return applyOnboardAuthAgentModelsAndProviders(cfg, { agentModels: models, providers });
|
||||||
...cfg,
|
|
||||||
agents: {
|
|
||||||
...cfg.agents,
|
|
||||||
defaults: {
|
|
||||||
...cfg.agents?.defaults,
|
|
||||||
models,
|
|
||||||
},
|
|
||||||
},
|
|
||||||
models: {
|
|
||||||
mode: cfg.models?.mode ?? "merge",
|
|
||||||
providers,
|
|
||||||
},
|
|
||||||
};
|
|
||||||
}
|
}
|
||||||
|
|
||||||
export function applyMinimaxConfig(cfg: OpenClawConfig): OpenClawConfig {
|
export function applyMinimaxConfig(cfg: OpenClawConfig): OpenClawConfig {
|
||||||
|
|||||||
@@ -17,6 +17,29 @@ function extractAgentDefaultModelFallbacks(model: unknown): string[] | undefined
|
|||||||
return Array.isArray(fallbacks) ? fallbacks.map((v) => String(v)) : undefined;
|
return Array.isArray(fallbacks) ? fallbacks.map((v) => String(v)) : undefined;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
export function applyOnboardAuthAgentModelsAndProviders(
|
||||||
|
cfg: OpenClawConfig,
|
||||||
|
params: {
|
||||||
|
agentModels: Record<string, AgentModelEntryConfig>;
|
||||||
|
providers: Record<string, ModelProviderConfig>;
|
||||||
|
},
|
||||||
|
): 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(
|
export function applyAgentDefaultModelPrimary(
|
||||||
cfg: OpenClawConfig,
|
cfg: OpenClawConfig,
|
||||||
primary: string,
|
primary: string,
|
||||||
@@ -81,20 +104,10 @@ export function applyProviderConfigWithDefaultModels(
|
|||||||
models: mergedModels.length > 0 ? mergedModels : defaultModels,
|
models: mergedModels.length > 0 ? mergedModels : defaultModels,
|
||||||
};
|
};
|
||||||
|
|
||||||
return {
|
return applyOnboardAuthAgentModelsAndProviders(cfg, {
|
||||||
...cfg,
|
agentModels: params.agentModels,
|
||||||
agents: {
|
providers,
|
||||||
...cfg.agents,
|
});
|
||||||
defaults: {
|
|
||||||
...cfg.agents?.defaults,
|
|
||||||
models: params.agentModels,
|
|
||||||
},
|
|
||||||
},
|
|
||||||
models: {
|
|
||||||
mode: cfg.models?.mode ?? "merge",
|
|
||||||
providers,
|
|
||||||
},
|
|
||||||
};
|
|
||||||
}
|
}
|
||||||
|
|
||||||
export function applyProviderConfigWithDefaultModel(
|
export function applyProviderConfigWithDefaultModel(
|
||||||
@@ -159,18 +172,8 @@ export function applyProviderConfigWithModelCatalog(
|
|||||||
models: mergedModels.length > 0 ? mergedModels : catalogModels,
|
models: mergedModels.length > 0 ? mergedModels : catalogModels,
|
||||||
};
|
};
|
||||||
|
|
||||||
return {
|
return applyOnboardAuthAgentModelsAndProviders(cfg, {
|
||||||
...cfg,
|
agentModels: params.agentModels,
|
||||||
agents: {
|
providers,
|
||||||
...cfg.agents,
|
});
|
||||||
defaults: {
|
|
||||||
...cfg.agents?.defaults,
|
|
||||||
models: params.agentModels,
|
|
||||||
},
|
|
||||||
},
|
|
||||||
models: {
|
|
||||||
mode: cfg.models?.mode ?? "merge",
|
|
||||||
providers,
|
|
||||||
},
|
|
||||||
};
|
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user