Files
OmniRoute/tests
Diego Rodrigues de Sa e Souza 62bea04b25 fix(sse): route the public OpenAI GPT-5.6 family through the Responses API (#7242)
* fix(sse): route the public OpenAI GPT-5.6 family through the Responses API

OpenAI's Chat Completions endpoint rejects GPT-5.6 requests that combine
function tools with an active reasoning_effort:

  400 "Function tools with reasoning_effort are not supported for
  <model> in /v1/chat/completions. Please use /v1/responses instead."

The openai (API-key) registry entries for gpt-5.6 / -sol / -terra / -luna
were missing the per-model `targetFormat` tag, so every request was posted
to /v1/chat/completions. Any agentic client sending tools + reasoning to
openai/gpt-5.6-sol hit the 400 and burned a combo fallback attempt.

OmniRoute already has the generic mechanism this needs — the same
per-model `targetFormat: "openai-responses"` override that routes
gpt-5.5-pro / gpt-5.4-pro (#5842). It drives BOTH the outbound URL
(DefaultExecutor.buildUrl → api.openai.com/v1/responses) and the body
translation (chatCore's resolveChatCoreTargetFormat → openai-responses).
Tagging GPT_5_6_API_CAPABILITIES is therefore the whole fix; no new
transport table or routing branch is required.

Scoped to the public OpenAI API catalog: the codex provider has its own
Responses transport and is untouched.

Co-authored-by: Sutarto Jordan Chrisfivo <Jordannst@users.noreply.github.com>
Inspired-by: https://github.com/decolua/9router/pull/2547

* chore(changelog): fragment for #7242

---------

Co-authored-by: Sutarto Jordan Chrisfivo <Jordannst@users.noreply.github.com>
2026-07-17 10:40:45 -03:00
..
2026-05-23 01:46:59 -03:00
2026-07-13 09:12:40 -03:00
2026-07-02 10:47:13 -03:00
2026-06-19 06:49:01 -03:00
2026-07-06 02:25:17 -03:00
2026-07-13 09:12:40 -03:00
2026-07-13 09:12:40 -03:00
2026-06-13 17:27:40 -03:00