fix(openrouter): remove conflicting reasoning_effort from payload (#24120)

Merged via /review-pr -> /prepare-pr -> /merge-pr.

Prepared head SHA: cc8ef4bb05
Co-authored-by: tenequm <22403766+tenequm@users.noreply.github.com>
Co-authored-by: gumadeiras <5599352+gumadeiras@users.noreply.github.com>
Reviewed-by: @gumadeiras
This commit is contained in:
Misha Kolesnik
2026-02-23 06:41:29 +00:00
committed by GitHub
parent f3adf142c1
commit ec1bc41cf2
2 changed files with 8 additions and 0 deletions

View File

@@ -376,6 +376,13 @@ function createOpenRouterWrapper(
onPayload: (payload) => {
if (thinkingLevel && payload && typeof payload === "object") {
const payloadObj = payload as Record<string, unknown>;
// pi-ai may inject a top-level reasoning_effort (OpenAI flat format).
// OpenRouter expects the nested reasoning.effort format instead, and
// rejects payloads containing both fields. Remove the flat field so
// only the nested one is sent.
delete payloadObj.reasoning_effort;
const existingReasoning = payloadObj.reasoning;
// OpenRouter treats reasoning.effort and reasoning.max_tokens as