mirror of
https://github.com/openclaw/openclaw.git
synced 2026-02-19 18:39:20 -05:00
test(config): cover maxTokens clamping
This commit is contained in:
@@ -215,7 +215,6 @@ export function applyModelDefaults(cfg: OpenClawConfig): OpenClawConfig {
|
||||
}
|
||||
|
||||
const defaultMaxTokens = Math.min(DEFAULT_MODEL_MAX_TOKENS, contextWindow);
|
||||
// Clamp maxTokens to contextWindow to prevent invalid configurations
|
||||
const rawMaxTokens = isPositiveNumber(raw.maxTokens) ? raw.maxTokens : defaultMaxTokens;
|
||||
const maxTokens = Math.min(rawMaxTokens, contextWindow);
|
||||
if (raw.maxTokens !== maxTokens) {
|
||||
|
||||
@@ -80,4 +80,23 @@ describe("applyModelDefaults", () => {
|
||||
expect(model?.contextWindow).toBe(DEFAULT_CONTEXT_TOKENS);
|
||||
expect(model?.maxTokens).toBe(8192);
|
||||
});
|
||||
|
||||
it("clamps maxTokens to contextWindow", () => {
|
||||
const cfg = {
|
||||
models: {
|
||||
providers: {
|
||||
myproxy: {
|
||||
api: "openai-completions",
|
||||
models: [{ id: "gpt-5.2", name: "GPT-5.2", contextWindow: 32768, maxTokens: 40960 }],
|
||||
},
|
||||
},
|
||||
},
|
||||
} satisfies OpenClawConfig;
|
||||
|
||||
const next = applyModelDefaults(cfg);
|
||||
const model = next.models?.providers?.myproxy?.models?.[0];
|
||||
|
||||
expect(model?.contextWindow).toBe(32768);
|
||||
expect(model?.maxTokens).toBe(32768);
|
||||
});
|
||||
});
|
||||
|
||||
Reference in New Issue
Block a user