fix: expand openrouter thinking-off regression coverage (#24863) (thanks @DevSecTim)

This commit is contained in:
Peter Steinberger
2026-02-24 03:54:15 +00:00
parent b96d32c1c2
commit de0e01259a
2 changed files with 50 additions and 0 deletions

View File

@@ -261,6 +261,55 @@ describe("applyExtraParamsToAgent", () => {
expect(payloads[0]?.reasoning).toEqual({ effort: "low" });
});
it("removes legacy reasoning_effort and keeps reasoning unset when thinkingLevel is off", () => {
const payloads: Record<string, unknown>[] = [];
const baseStreamFn: StreamFn = (_model, _context, options) => {
const payload: Record<string, unknown> = { reasoning_effort: "high" };
options?.onPayload?.(payload);
payloads.push(payload);
return {} as ReturnType<StreamFn>;
};
const agent = { streamFn: baseStreamFn };
applyExtraParamsToAgent(agent, undefined, "openrouter", "openrouter/auto", undefined, "off");
const model = {
api: "openai-completions",
provider: "openrouter",
id: "openrouter/auto",
} as Model<"openai-completions">;
const context: Context = { messages: [] };
void agent.streamFn?.(model, context, {});
expect(payloads).toHaveLength(1);
expect(payloads[0]).not.toHaveProperty("reasoning_effort");
expect(payloads[0]).not.toHaveProperty("reasoning");
});
it("does not inject effort when payload already has reasoning.max_tokens", () => {
const payloads: Record<string, unknown>[] = [];
const baseStreamFn: StreamFn = (_model, _context, options) => {
const payload: Record<string, unknown> = { reasoning: { max_tokens: 256 } };
options?.onPayload?.(payload);
payloads.push(payload);
return {} as ReturnType<StreamFn>;
};
const agent = { streamFn: baseStreamFn };
applyExtraParamsToAgent(agent, undefined, "openrouter", "openrouter/auto", undefined, "low");
const model = {
api: "openai-completions",
provider: "openrouter",
id: "openrouter/auto",
} as Model<"openai-completions">;
const context: Context = { messages: [] };
void agent.streamFn?.(model, context, {});
expect(payloads).toHaveLength(1);
expect(payloads[0]).toEqual({ reasoning: { max_tokens: 256 } });
});
it("adds OpenRouter attribution headers to stream options", () => {
const { calls, agent } = createOptionsCaptureAgent();