mirror of
https://github.com/openclaw/openclaw.git
synced 2026-08-24 19:35:28 -06:00
095f3e1a44
* feat(xai): add Grok 4.6 catalog and preserve OAuth xhigh Add first-class Grok 4.6 discovery, pricing, and reasoning metadata while keeping the existing Grok 4.3 API-key and server-tool defaults unchanged. Preserve xhigh only for Grok 4.6 so OAuth auto no longer inherits the Grok 4.5 high downgrade. Closes nothing; tracks #122734. * fix(xai): resolve the OAuth auto alias to its canonical model in the thinking policy The OAuth catalog row keeps id "auto" and records the provider-selected target in params.canonicalModelId; judging the raw alias collapsed the default OAuth route to an off-only thinking picker for every model. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> * test(xai): refresh catalog-order assertions and restore stream deadlines for Grok 4.6 Exact-order catalog and onboarding arrays now include the new row with its metadata assertion; payload-capture timeouts return to their original values, Grok 4.5 off-clamp and Grok 4.3 modern-model coverage are restored, and the Grok 4.6 xhigh boundary test passes its id explicitly. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> * feat(agents): add Grok 4.6 to the curated high-signal live matrix xai is a curated-only high-signal provider, so the new flagship was structurally excluded from default live sweeps; add it alongside Grok 4.5 with its test and docs mirrors, matching the 4.5 precedent. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> * fix(xai): align Grok frontier metadata * fix(xai): align Grok 4.6 catalog contract Remove the unsupported moving alias, centralize OAuth auto target resolution, correct cached pricing, and keep live coverage on the stable xhigh completion path. Co-authored-by: Kiran Magic <262980978+kiranmagic7@users.noreply.github.com> --------- Co-authored-by: Kiran Magic <262980978+kiranmagic7@users.noreply.github.com> Co-authored-by: Kiran Magic <kiran@Alices-Laptop.local> Co-authored-by: Claude Fable 5 <noreply@anthropic.com> Co-authored-by: Kiran <kiranmagic7@users.noreply.github.com> Co-authored-by: Peter Steinberger <steipete@gmail.com>
104 lines
2.6 KiB
TypeScript
104 lines
2.6 KiB
TypeScript
// Xai tests cover runtime model compat plugin behavior.
|
|
import { describe, expect, it } from "vitest";
|
|
import { applyXaiRuntimeModelCompat } from "./runtime-model-compat.js";
|
|
|
|
describe("xai runtime model compat", () => {
|
|
it("maps OpenClaw thinking levels to xAI efforts for reasoning-capable models", () => {
|
|
const model = applyXaiRuntimeModelCompat({
|
|
id: "grok-4.3",
|
|
provider: "xai",
|
|
reasoning: true,
|
|
});
|
|
|
|
expect(model.compat).toMatchObject({
|
|
supportsReasoningEffort: true,
|
|
supportedReasoningEfforts: ["none", "low", "medium", "high"],
|
|
});
|
|
expect(model.thinkingLevelMap).toEqual({
|
|
off: "none",
|
|
minimal: "low",
|
|
low: "low",
|
|
medium: "medium",
|
|
high: "high",
|
|
xhigh: "high",
|
|
});
|
|
});
|
|
|
|
it("preserves Grok 4.6 xhigh reasoning", () => {
|
|
const model = applyXaiRuntimeModelCompat({
|
|
id: "grok-4.6",
|
|
provider: "xai",
|
|
reasoning: true,
|
|
});
|
|
|
|
expect(model.compat).toMatchObject({
|
|
supportsReasoningEffort: true,
|
|
supportedReasoningEfforts: ["low", "medium", "high", "xhigh"],
|
|
});
|
|
expect(model.thinkingLevelMap).toEqual({
|
|
off: null,
|
|
minimal: "low",
|
|
low: "low",
|
|
medium: "medium",
|
|
high: "high",
|
|
xhigh: "xhigh",
|
|
});
|
|
});
|
|
|
|
it("maps Grok 4.5 thinking levels to its supported reasoning efforts", () => {
|
|
const model = applyXaiRuntimeModelCompat({
|
|
id: "grok-4.5",
|
|
provider: "xai",
|
|
reasoning: true,
|
|
});
|
|
|
|
expect(model.compat).toMatchObject({
|
|
supportsReasoningEffort: true,
|
|
supportedReasoningEfforts: ["low", "medium", "high"],
|
|
});
|
|
expect(model.thinkingLevelMap).toEqual({
|
|
off: null,
|
|
minimal: "low",
|
|
low: "low",
|
|
medium: "medium",
|
|
high: "high",
|
|
xhigh: "high",
|
|
});
|
|
});
|
|
|
|
it("suppresses reasoning efforts for non-reasoning models", () => {
|
|
const model = applyXaiRuntimeModelCompat({
|
|
id: "grok-4-fast-non-reasoning",
|
|
provider: "xai",
|
|
reasoning: false,
|
|
});
|
|
|
|
expect(model.thinkingLevelMap).toEqual({
|
|
off: null,
|
|
minimal: null,
|
|
low: null,
|
|
medium: null,
|
|
high: null,
|
|
xhigh: null,
|
|
});
|
|
});
|
|
|
|
it("does not advertise configurable reasoning effort for older xAI reasoning models", () => {
|
|
const model = applyXaiRuntimeModelCompat({
|
|
id: "grok-4.20-0309-reasoning",
|
|
provider: "xai",
|
|
reasoning: true,
|
|
});
|
|
|
|
expect(model.compat).toMatchObject({ supportsReasoningEffort: false });
|
|
expect(model.thinkingLevelMap).toEqual({
|
|
off: null,
|
|
minimal: null,
|
|
low: null,
|
|
medium: null,
|
|
high: null,
|
|
xhigh: null,
|
|
});
|
|
});
|
|
});
|