From c83792a8cdce2b6ac9adfa8c98e4ca6714f04335 Mon Sep 17 00:00:00 2001 From: OmniRoute Ops Date: Mon, 11 May 2026 16:24:05 +0000 Subject: [PATCH] address review: exclude arrays from reasoning check + hoist regex constants Per gemini-code-assist review on #2162: - Add `!Array.isArray(b.reasoning)` guard so spread of array-typed reasoning doesn't pollute the body with numeric-keyed entries - Hoist /devstral/i and /(claude|haiku|oswe)/i to module-level MISTRAL_NO_REASONING_EFFORT_PATTERN and GITHUB_NO_REASONING_EFFORT_PATTERN constants to avoid per-call RegExp construction --- open-sse/executors/base.ts | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/open-sse/executors/base.ts b/open-sse/executors/base.ts index fcdb69b9e8..0fa829c7bb 100644 --- a/open-sse/executors/base.ts +++ b/open-sse/executors/base.ts @@ -190,6 +190,8 @@ export function mergeAbortSignals(primary: AbortSignal, secondary: AbortSignal): * Models that genuinely support xhigh (registry flag supportsXHighEffort) * pass through unchanged. */ +const MISTRAL_NO_REASONING_EFFORT_PATTERN = /devstral/i; +const GITHUB_NO_REASONING_EFFORT_PATTERN = /(claude|haiku|oswe)/i; export function sanitizeReasoningEffortForProvider( body: unknown, provider: string, @@ -199,7 +201,7 @@ export function sanitizeReasoningEffortForProvider( if (!body || typeof body !== "object" || Array.isArray(body)) return body; const b = body as Record; const reasoning = - b.reasoning && typeof b.reasoning === "object" + b.reasoning && typeof b.reasoning === "object" && !Array.isArray(b.reasoning) ? (b.reasoning as Record) : null; const effort = b.reasoning_effort ?? reasoning?.effort; @@ -220,8 +222,8 @@ export function sanitizeReasoningEffortForProvider( } const rejecting = - (provider === "mistral" && /devstral/i.test(modelStr)) || - (provider === "github" && /(claude|haiku|oswe)/i.test(modelStr)); + (provider === "mistral" && MISTRAL_NO_REASONING_EFFORT_PATTERN.test(modelStr)) || + (provider === "github" && GITHUB_NO_REASONING_EFFORT_PATTERN.test(modelStr)); if (rejecting) { log?.info?.( "REASONING_SANITIZE",