xAI: strip unsupported payload fields

This commit is contained in:
huntharo 2026-03-27 15:01:48 -04:00 committed by Peter Steinberger
parent fd748171b8
commit 8ca3710b90
1 changed files with 23 additions and 0 deletions

View File

@ -43,6 +43,29 @@ describe("extra-params: xAI tool payload compatibility", () => {
expect(payload.tools?.[0]?.function).not.toHaveProperty("strict");
});
it("strips xai Responses reasoning payload fields", () => {
const payload = runExtraParamsCase({
applyProvider: "xai",
applyModelId: "grok-4.20-beta-latest-reasoning",
model: {
api: "openai-responses",
provider: "xai",
id: "grok-4.20-beta-latest-reasoning",
} as Model<"openai-responses">,
payload: {
model: "grok-4.20-beta-latest-reasoning",
input: [],
reasoning: { effort: "high", summary: "auto" },
reasoningEffort: "high",
reasoning_effort: "high",
},
}).payload as Record<string, unknown>;
expect(payload).not.toHaveProperty("reasoning");
expect(payload).not.toHaveProperty("reasoningEffort");
expect(payload).not.toHaveProperty("reasoning_effort");
});
it("keeps function.strict for non-xai providers", () => {
const payload = runToolPayloadCase("openai", "gpt-5.4");