diff --git a/src/config/model-alias-defaults.test.ts b/src/config/model-alias-defaults.test.ts index 62afb0a6bc..015feeac36 100644 --- a/src/config/model-alias-defaults.test.ts +++ b/src/config/model-alias-defaults.test.ts @@ -4,6 +4,31 @@ import { applyModelDefaults } from "./defaults.js"; import type { OpenClawConfig } from "./types.js"; describe("applyModelDefaults", () => { + function buildProxyProviderConfig(overrides?: { contextWindow?: number; maxTokens?: number }) { + return { + models: { + providers: { + myproxy: { + baseUrl: "https://proxy.example/v1", + apiKey: "sk-test", + api: "openai-completions", + models: [ + { + id: "gpt-5.2", + name: "GPT-5.2", + reasoning: false, + input: ["text"], + cost: { input: 0, output: 0, cacheRead: 0, cacheWrite: 0 }, + contextWindow: overrides?.contextWindow ?? 200_000, + maxTokens: overrides?.maxTokens ?? 8192, + }, + ], + }, + }, + }, + } satisfies OpenClawConfig; + } + it("adds default aliases when models are present", () => { const cfg = { agents: { @@ -58,28 +83,7 @@ describe("applyModelDefaults", () => { }); it("fills missing model provider defaults", () => { - const cfg = { - models: { - providers: { - myproxy: { - baseUrl: "https://proxy.example/v1", - apiKey: "sk-test", - api: "openai-completions", - models: [ - { - id: "gpt-5.2", - name: "GPT-5.2", - reasoning: false, - input: ["text"], - cost: { input: 0, output: 0, cacheRead: 0, cacheWrite: 0 }, - contextWindow: 200_000, - maxTokens: 8192, - }, - ], - }, - }, - }, - } satisfies OpenClawConfig; + const cfg = buildProxyProviderConfig(); const next = applyModelDefaults(cfg); const model = next.models?.providers?.myproxy?.models?.[0]; @@ -92,28 +96,7 @@ describe("applyModelDefaults", () => { }); it("clamps maxTokens to contextWindow", () => { - const cfg = { - models: { - providers: { - myproxy: { - baseUrl: "https://proxy.example/v1", - apiKey: "sk-test", - api: "openai-completions", - models: [ - { - id: "gpt-5.2", - name: "GPT-5.2", - reasoning: false, - input: ["text"], - cost: { input: 0, output: 0, cacheRead: 0, cacheWrite: 0 }, - contextWindow: 32768, - maxTokens: 40960, - }, - ], - }, - }, - }, - } satisfies OpenClawConfig; + const cfg = buildProxyProviderConfig({ contextWindow: 32768, maxTokens: 40960 }); const next = applyModelDefaults(cfg); const model = next.models?.providers?.myproxy?.models?.[0];