fix(model-heuristics): register Grok family with reasoningEffort support
Grok model IDs (e.g. `grok-4.3`, `grok-3-mini`) were missing from `HEURISTIC_MODEL_FAMILY_REGISTRY`, so `resolveCompatibleModelSettings` returned an "unknown family" result for them. The `chat.params` hook treats unknown families as "no reasoning support" and deletes `output.options.reasoningEffort` before the request leaves the plugin, so users routing Grok via OpenAI-compatible endpoints never saw their reasoning effort forwarded — even with `forceReasoning: true`. Add a `grok` family entry that includes any model ID containing "grok", exposes `low | medium | high` variants, and sets `reasoningEfforts` so the heuristic surfaces the same capability flag used by the `chat.params` hook. Extend the family table-driven test in `model-settings-compatibility.test.ts` to cover `grok-4.3`.
This commit is contained in:
@@ -45,6 +45,12 @@ export const HEURISTIC_MODEL_FAMILY_REGISTRY: ReadonlyArray<HeuristicModelFamily
|
|||||||
includes: ["gemini"],
|
includes: ["gemini"],
|
||||||
variants: ["low", "medium", "high"],
|
variants: ["low", "medium", "high"],
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
family: "grok",
|
||||||
|
includes: ["grok"],
|
||||||
|
variants: ["low", "medium", "high"],
|
||||||
|
reasoningEfforts: ["low", "medium", "high"],
|
||||||
|
},
|
||||||
{
|
{
|
||||||
family: "kimi-thinking",
|
family: "kimi-thinking",
|
||||||
includes: ["kimi-thinking", "k2-thinking", "k2-think"],
|
includes: ["kimi-thinking", "k2-thinking", "k2-think"],
|
||||||
|
|||||||
@@ -253,6 +253,7 @@ describe("resolveCompatibleModelSettings", () => {
|
|||||||
hasReasoningEffort: boolean
|
hasReasoningEffort: boolean
|
||||||
}> = [
|
}> = [
|
||||||
{ name: "Gemini", modelID: "gemini-3.1-pro", expectedVariants: ["low", "medium", "high"], hasReasoningEffort: false },
|
{ name: "Gemini", modelID: "gemini-3.1-pro", expectedVariants: ["low", "medium", "high"], hasReasoningEffort: false },
|
||||||
|
{ name: "Grok", modelID: "grok-4.3", expectedVariants: ["low", "medium", "high"], hasReasoningEffort: true },
|
||||||
{ name: "Kimi (kimi)", modelID: "kimi-k2.5", expectedVariants: ["low", "medium", "high"], hasReasoningEffort: false },
|
{ name: "Kimi (kimi)", modelID: "kimi-k2.5", expectedVariants: ["low", "medium", "high"], hasReasoningEffort: false },
|
||||||
{ name: "Kimi (k2)", modelID: "k2-v2", expectedVariants: ["low", "medium", "high"], hasReasoningEffort: false },
|
{ name: "Kimi (k2)", modelID: "k2-v2", expectedVariants: ["low", "medium", "high"], hasReasoningEffort: false },
|
||||||
{ name: "GLM", modelID: "glm-5", expectedVariants: ["low", "medium", "high"], hasReasoningEffort: false },
|
{ name: "GLM", modelID: "glm-5", expectedVariants: ["low", "medium", "high"], hasReasoningEffort: false },
|
||||||
|
|||||||
Reference in New Issue
Block a user