diff --git a/src/adapters/cursor/effort-map.ts b/src/adapters/cursor/effort-map.ts index 1dc70a793..e4b838a28 100644 --- a/src/adapters/cursor/effort-map.ts +++ b/src/adapters/cursor/effort-map.ts @@ -35,10 +35,9 @@ const CURSOR_MODEL_EFFORT_TIERS: Record = { // cursor-grok-4.5-{low,medium,high}-fast. The bare Fast id returns not_found. "grok-4.5": ["low", "medium", "high"], "grok-4.5-fast": ["low", "medium", "high"], - // 260813 preemptive: grok-4.6 tiers mirrored from grok-4.5 ahead of Cursor's lineup update, - // so the suffix/wire handling is already correct the day the slugs appear. - "grok-4.6": ["low", "medium", "high"], - "grok-4.6-fast": ["low", "medium", "high"], + // Cursor Agent CLI lists low, medium, high, and xhigh for Grok 4.6. + "grok-4.6": ["low", "medium", "high", "xhigh"], + "grok-4.6-fast": ["low", "medium", "high", "xhigh"], "gpt-5.1": ["low", "high"], "gpt-5.1-codex-max": ["low", "medium", "high", "xhigh"], "gpt-5.1-codex-mini": ["low", "high"], diff --git a/tests/cursor-effort-suffix.test.ts b/tests/cursor-effort-suffix.test.ts index 2d4c627f0..d81c8aa9f 100644 --- a/tests/cursor-effort-suffix.test.ts +++ b/tests/cursor-effort-suffix.test.ts @@ -135,6 +135,13 @@ describe("Cursor per-model reasoning-effort suffix", () => { } }); + test("grok-4.6 exposes Cursor's xhigh tier", () => { + expect(modelIdFor("cursor/grok-4.6", "low")).toBe("cursor-grok-4.6-low"); + expect(modelIdFor("cursor/grok-4.6", "high")).toBe("cursor-grok-4.6-high"); + expect(modelIdFor("cursor/grok-4.6", "xhigh")).toBe("cursor-grok-4.6-xhigh"); + expect(cursorModelEffortLadder("grok-4.6")).toEqual(["low", "medium", "high", "xhigh"]); + }); + test("kimi-k3 maps to its live effort-suffixed variants", () => { expect(modelIdFor("cursor/kimi-k3", "low")).toBe("kimi-k3-low"); expect(modelIdFor("cursor/kimi-k3", "medium")).toBe("kimi-k3-high");