




















@@ -2,6 +2,7 @@ import { applyXaiModelCompat } from "./model-compat.js";
2233type XaiRuntimeModelCompat = {
44compat?: unknown;
5+id?: unknown;
56reasoning?: unknown;
67thinkingLevelMap?: XaiThinkingLevelMap;
78};
@@ -27,15 +28,45 @@ const XAI_REASONING_EFFORTS = {
2728xhigh: "high",
2829} satisfies NonNullable<XaiRuntimeModelCompat["thinkingLevelMap"]>;
293031+const XAI_SUPPORTED_REASONING_EFFORTS = ["none", "low", "medium", "high"] as const;
32+33+function normalizeXaiCompatModelId(id: unknown): string {
34+return typeof id === "string" ? id.trim().toLowerCase() : "";
35+}
36+37+function supportsConfigurableXaiReasoningEffort(model: XaiRuntimeModelCompat): boolean {
38+const id = normalizeXaiCompatModelId(model.id);
39+return model.reasoning === true && (id === "grok-4.3" || id.startsWith("grok-4.3-"));
40+}
41+42+function resolveXaiReasoningEffortCompat(model: XaiRuntimeModelCompat): Record<string, unknown> {
43+if (supportsConfigurableXaiReasoningEffort(model)) {
44+return {
45+supportsReasoningEffort: true,
46+supportedReasoningEfforts: [...XAI_SUPPORTED_REASONING_EFFORTS],
47+};
48+}
49+return { supportsReasoningEffort: false };
50+}
51+3052export function applyXaiRuntimeModelCompat<T extends XaiRuntimeModelCompat>(
3153model: T,
32-): T & { thinkingLevelMap: XaiThinkingLevelMap } {
54+): T & { compat: Record<string, unknown>; thinkingLevelMap: XaiThinkingLevelMap } {
3355const withCompat = applyXaiModelCompat(model);
56+const supportsReasoningEffort = supportsConfigurableXaiReasoningEffort(withCompat);
57+const existingCompat =
58+withCompat.compat && typeof withCompat.compat === "object"
59+ ? (withCompat.compat as Record<string, unknown>)
60+ : {};
3461return {
3562 ...withCompat,
63+compat: {
64+ ...existingCompat,
65+ ...resolveXaiReasoningEffortCompat(withCompat),
66+},
3667thinkingLevelMap: {
3768 ...withCompat.thinkingLevelMap,
38- ...(withCompat.reasoning ? XAI_REASONING_EFFORTS : XAI_UNSUPPORTED_REASONING_EFFORTS),
69+ ...(supportsReasoningEffort ? XAI_REASONING_EFFORTS : XAI_UNSUPPORTED_REASONING_EFFORTS),
3970},
4071};
4172}
此内容由惯性聚合(RSS阅读器)自动聚合整理,仅供阅读参考。 原文来自 — 版权归原作者所有。