fix(models): route Union Alpha through messages
This commit is contained in:
@@ -2255,14 +2255,14 @@ def opencode_zen_free_runtime(provider_id: Optional[str], model_id: Optional[str
|
||||
|
||||
# Per-family (model-id prefix → api_mode) routing from OpenCode's published Zen/Go endpoint
|
||||
# tables, checked in order. GPT/Codex/Grok and Muse Spark use /v1/responses (Muse Spark 503s on
|
||||
# chat/completions); Claude (Zen) and MiniMax (Go) use /v1/messages, as do Qwen models on both
|
||||
# relays; everything else falls through to /v1/chat/completions.
|
||||
# chat/completions); Claude (Zen), MiniMax (Go), Union Alpha, and Qwen use /v1/messages;
|
||||
# everything else falls through to /v1/chat/completions.
|
||||
_OPENCODE_API_MODE_PREFIXES: dict[str, tuple[tuple[tuple[str, ...], str], ...]] = {
|
||||
"opencode-go": (
|
||||
(("gpt-", "grok-", "muse-spark"), "codex_responses"),
|
||||
(("minimax-", "qwen"), "anthropic_messages")),
|
||||
(("minimax-", "qwen", "union-alpha"), "anthropic_messages")),
|
||||
"opencode-zen": (
|
||||
(("claude-",), "anthropic_messages"), (("gpt-", "grok-", "muse-spark"), "codex_responses"),
|
||||
(("claude-", "union-alpha"), "anthropic_messages"), (("gpt-", "grok-", "muse-spark"), "codex_responses"),
|
||||
(("qwen",), "anthropic_messages"))}
|
||||
|
||||
|
||||
|
||||
@@ -263,6 +263,9 @@ class TestCopilotNormalization:
|
||||
assert opencode_model_api_mode("opencode-go", "kimi-k2.7-code") == "chat_completions"
|
||||
assert opencode_model_api_mode("opencode-go", "glm-5.2") == "chat_completions"
|
||||
assert opencode_model_api_mode("opencode-go", "minimax-m3") == "anthropic_messages"
|
||||
# Union Alpha is exposed through /v1/messages on both relays.
|
||||
assert opencode_model_api_mode("opencode-go", "union-alpha") == "anthropic_messages"
|
||||
assert opencode_model_api_mode("opencode-zen", "opencode-zen/union-alpha") == "anthropic_messages"
|
||||
# GPT models on Go are Responses-only (Go endpoint table).
|
||||
assert opencode_model_api_mode("opencode-go", "gpt-5.6-luna") == "codex_responses"
|
||||
assert opencode_model_api_mode("opencode-go", "opencode-go/gpt-5.6-luna") == "codex_responses"
|
||||
|
||||
Reference in New Issue
Block a user