From fcaa84f0e4e8a60486cd7051fc55b979c851c6e9 Mon Sep 17 00:00:00 2001 From: Matt Van Horn Date: Sat, 18 Jul 2026 06:44:34 -0700 Subject: [PATCH] fix(omp): accept thinkingLevel "max" when importing OMP sessions (#2191) Co-authored-by: Matt Van Horn <455140+mvanhorn@users.noreply.github.com> --- .../src/server/agent/providers/omp/agent.test.ts | 7 +++++++ .../server/src/server/agent/providers/omp/agent.ts | 6 ++++-- .../server/src/server/agent/providers/omp/rpc-types.ts | 10 +++++++++- 3 files changed, 20 insertions(+), 3 deletions(-) diff --git a/packages/server/src/server/agent/providers/omp/agent.test.ts b/packages/server/src/server/agent/providers/omp/agent.test.ts index 7ac3608a7..be6666248 100644 --- a/packages/server/src/server/agent/providers/omp/agent.test.ts +++ b/packages/server/src/server/agent/providers/omp/agent.test.ts @@ -67,6 +67,13 @@ describe("OMP agent client and session", () => { }); }); + test("preserves max as the selected thinking option", async () => { + const omp = new OmpHarness(); + await omp.start({ thinkingOptionId: "max" }); + + expect(omp.launchConfiguration().argv).toEqual(expect.arrayContaining(["--thinking", "max"])); + }); + test("streams a prompt through completion", async () => { const omp = new OmpHarness(); await omp.start(); diff --git a/packages/server/src/server/agent/providers/omp/agent.ts b/packages/server/src/server/agent/providers/omp/agent.ts index 23066b631..a16187096 100644 --- a/packages/server/src/server/agent/providers/omp/agent.ts +++ b/packages/server/src/server/agent/providers/omp/agent.ts @@ -136,7 +136,8 @@ const OMP_THINKING_OPTIONS: ReadonlyArray<{ { id: "low", label: "Low", description: "Faster reasoning" }, { id: "medium", label: "Medium", description: "Balanced reasoning", isDefault: true }, { id: "high", label: "High", description: "Deeper reasoning" }, - { id: "xhigh", label: "XHigh", description: "Maximum reasoning" }, + { id: "xhigh", label: "XHigh", description: "Extra-high reasoning" }, + { id: "max", label: "Max", description: "Maximum reasoning" }, ] as const; export interface OmpAgentClientOptions { @@ -269,7 +270,8 @@ function isOmpThinkingLevel(value: string | null | undefined): value is OmpThink value === "low" || value === "medium" || value === "high" || - value === "xhigh" + value === "xhigh" || + value === "max" ); } diff --git a/packages/server/src/server/agent/providers/omp/rpc-types.ts b/packages/server/src/server/agent/providers/omp/rpc-types.ts index df3c7f9b3..bdd5412a4 100644 --- a/packages/server/src/server/agent/providers/omp/rpc-types.ts +++ b/packages/server/src/server/agent/providers/omp/rpc-types.ts @@ -1,6 +1,14 @@ import { z } from "zod"; -export const OmpThinkingLevelSchema = z.enum(["off", "minimal", "low", "medium", "high", "xhigh"]); +export const OmpThinkingLevelSchema = z.enum([ + "off", + "minimal", + "low", + "medium", + "high", + "xhigh", + "max", +]); export const OmpImageContentSchema = z .object({ type: z.literal("image"), data: z.string(), mimeType: z.string() })