




















@@ -5441,6 +5441,32 @@ describe("buildOpenAICompletionsParams sanitizes reasoning replay fields", () =>
54415441maxTokens: 8192,
54425442} satisfies Model<"openai-completions">;
544354435444+const nativeDeepSeekModel = {
5445+id: "deepseek-v4-flash",
5446+name: "DeepSeek V4 Flash",
5447+api: "openai-completions",
5448+provider: "deepseek",
5449+baseUrl: "https://api.deepseek.com",
5450+reasoning: true,
5451+input: ["text"],
5452+cost: { input: 0, output: 0, cacheRead: 0, cacheWrite: 0 },
5453+contextWindow: 1_000_000,
5454+maxTokens: 384_000,
5455+} satisfies Model<"openai-completions">;
5456+5457+const nativeZaiModel = {
5458+id: "glm-5.1",
5459+name: "GLM 5.1",
5460+api: "openai-completions",
5461+provider: "zai",
5462+baseUrl: "https://api.z.ai/api/paas/v4",
5463+reasoning: true,
5464+input: ["text"],
5465+cost: { input: 0, output: 0, cacheRead: 0, cacheWrite: 0 },
5466+contextWindow: 200_000,
5467+maxTokens: 131_072,
5468+} satisfies Model<"openai-completions">;
5469+54445470const xiaomiModel = {
54455471id: "mimo-v2.5-pro",
54465472name: "MiMo V2.5 Pro",
@@ -5589,6 +5615,26 @@ describe("buildOpenAICompletionsParams sanitizes reasoning replay fields", () =>
55895615}
55905616});
559156175618+it.each([
5619+["DeepSeek", nativeDeepSeekModel],
5620+["Z.AI", nativeZaiModel],
5621+] as const)("preserves native %s reasoning_content replay", (_label, model) => {
5622+const assistant = getAssistantMessage(buildReplayParams(model, "reasoning_content"));
5623+5624+expect(assistant.reasoning_content).toBe("Need to answer politely.");
5625+});
5626+5627+it.each([
5628+["DeepSeek", nativeDeepSeekModel],
5629+["Z.AI", nativeZaiModel],
5630+] as const)("strips non-native %s reasoning replay fields", (_label, model) => {
5631+const assistant = getAssistantMessage(buildReplayParams(model, "reasoning_details"));
5632+5633+expect(assistant).not.toHaveProperty("reasoning_details");
5634+expect(assistant).not.toHaveProperty("reasoning");
5635+expect(assistant).not.toHaveProperty("reasoning_text");
5636+});
5637+55925638it("normalizes OpenRouter reasoning_text to reasoning", () => {
55935639const assistant = getAssistantMessage(buildReplayParams(openRouterModel, "reasoning_text"));
55945640此内容由惯性聚合(RSS阅读器)自动聚合整理,仅供阅读参考。 原文来自 — 版权归原作者所有。