mirror of
https://github.com/openclaw/openclaw.git
synced 2026-08-26 04:15:48 -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>
50 lines
1.4 KiB
TypeScript
50 lines
1.4 KiB
TypeScript
// Xai plugin module implements model id behavior.
|
|
export const XAI_OAUTH_AUTO_MODEL_ID = "auto";
|
|
|
|
export function isXaiGrok46ModelId(id: string): boolean {
|
|
const normalized = normalizeXaiModelId(id.trim().toLowerCase());
|
|
return normalized === "grok-4.6";
|
|
}
|
|
|
|
export function isXaiFrontierModelId(id: string): boolean {
|
|
const normalized = normalizeXaiModelId(id.trim().toLowerCase());
|
|
return (
|
|
normalized === "grok-4.6" || normalized === "grok-4.5" || normalized.startsWith("grok-4.5-")
|
|
);
|
|
}
|
|
|
|
export function resolveXaiOAuthAutoModelId(
|
|
id: string,
|
|
params?: Record<string, unknown> | null,
|
|
): string {
|
|
if (id.trim().toLowerCase() !== XAI_OAUTH_AUTO_MODEL_ID) {
|
|
return id;
|
|
}
|
|
const canonicalModelId = params?.canonicalModelId;
|
|
return typeof canonicalModelId === "string" && canonicalModelId.trim()
|
|
? canonicalModelId.trim()
|
|
: id;
|
|
}
|
|
|
|
export function normalizeXaiModelId(id: string): string {
|
|
if (id === "grok-4.3-latest") {
|
|
return "grok-4.3";
|
|
}
|
|
if (id === "grok-4.5-latest") {
|
|
return "grok-4.5";
|
|
}
|
|
if (id === "grok-build-latest") {
|
|
return "grok-4.5";
|
|
}
|
|
if (id === "grok-code-fast-1" || id === "grok-code-fast" || id === "grok-code-fast-1-0825") {
|
|
return "grok-build-0.1";
|
|
}
|
|
if (id === "grok-4-fast-reasoning") {
|
|
return "grok-4-fast";
|
|
}
|
|
if (id === "grok-4-1-fast-reasoning") {
|
|
return "grok-4-1-fast";
|
|
}
|
|
return id;
|
|
}
|