
















@@ -94,6 +94,42 @@ describe("onboard auth provider config merges", () => {
9494});
9595});
969697+it("normalizes retired Google agent model keys when adding provider models", () => {
98+const cfg: OpenClawConfig = {
99+agents: {
100+defaults: {
101+models: {
102+"google/gemini-3-pro-preview": {
103+alias: "Gemini",
104+params: { thinkingLevel: "high" },
105+},
106+},
107+},
108+},
109+};
110+111+const next = applyProviderConfigWithDefaultModels(cfg, {
112+agentModels: {
113+"google/gemini-3.1-pro-preview": {
114+params: { serviceTier: "standard" },
115+},
116+},
117+providerId: "custom",
118+api: "openai-completions",
119+baseUrl: "https://new.example.com/v1",
120+defaultModels: [makeModel("model-b")],
121+defaultModelId: "model-b",
122+});
123+124+expect(next.agents?.defaults?.models).toEqual({
125+"google/gemini-3.1-pro-preview": {
126+alias: "Gemini",
127+params: { thinkingLevel: "high", serviceTier: "standard" },
128+},
129+});
130+expect(next.agents?.defaults?.models).not.toHaveProperty("google/gemini-3-pro-preview");
131+});
132+97133it("merges model catalogs without duplicating existing model ids", () => {
98134const cfg: OpenClawConfig = {
99135models: {
@@ -150,6 +186,19 @@ describe("onboard auth provider config merges", () => {
150186});
151187});
152188189+it("normalizes retired Google alias presets before emitting config", () => {
190+expect(
191+withAgentModelAliases(
192+{
193+"google/gemini-3-pro-preview": { alias: "Pinned" },
194+},
195+[{ modelRef: "google/gemini-3-pro-preview", alias: "Preset" }],
196+),
197+).toEqual({
198+"google/gemini-3.1-pro-preview": { alias: "Pinned" },
199+});
200+});
201+153202it("applies default-model presets with alias and primary model", () => {
154203const next = applyProviderConfigWithDefaultModelPreset(
155204{
此内容由惯性聚合(RSS阅读器)自动聚合整理,仅供阅读参考。 原文来自 — 版权归原作者所有。