Skip to content

fix: resolve bare model names to connection defaultModel before upstream calls - #474

Open
anuragg-saxenaa wants to merge 5 commits into
decolua:masterfrom
anuragg-saxenaa:master
Open

anuragg-saxenaa wants to merge 5 commits into
decolua:masterfrom
anuragg-saxenaa:master

Conversation

@anuragg-saxenaa

Copy link
Copy Markdown
Contributor

Summary

  • getProviderCredentials now returns defaultModel from the selected connection
  • handleChatCore and handleEmbeddingsCore use the resolved real model ID instead of bare alias names (e.g. "auto") when no "/" separator is present
  • Prevents API rejections when MiniMax connections use bare model names in their aliases

Test plan

  • Send a chat request using a bare model name (e.g. "auto") through a MiniMax connection — verify the upstream receives the real model ID
  • Send a chat request using an explicitly qualified model (e.g. "minimax/auto") — verify behavior is unchanged
  • Test embeddings endpoint with bare model names

🤖 Generated with Claude Code

anuragg-saxenaa and others added 5 commits April 1, 2026 23:33
…eam calls

When a connection uses a bare model name (e.g. "auto", "pro") in its alias,
the qualified model string like "minimax/auto" was sent upstream — but "auto"
is not a valid MiniMax model ID. This caused API rejections.

Now getProviderCredentials returns defaultModel from the selected connection,
and both handleChatCore/handleEmbeddingsCore receive the resolved real model ID
instead of the alias. Only applies to bare names (no "/" separator).

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
diegosouzapw pushed a commit to diegosouzapw/OmniRoute that referenced this pull request Jun 26, 2026
…upstream calls

When a bare model name (no "/", e.g. an alias that resolved to "auto")
reaches the upstream call and the selected connection declares a
defaultModel, resolve the bare name to that real model ID so the provider
receives a concrete model rather than the placeholder. A "/"-qualified
model name is an explicit provider/model choice and is left untouched.

The resolution is wired in the chat handler (handleSingleModelChat) and the
embeddings service, both via a new pure helper
resolveBareModelToConnectionDefault in open-sse/services/model.ts, and the
connection's defaultModel is now surfaced on the credentials object returned
by getProviderCredentials.

Co-authored-by: Anurag Saxena <anuragg.saxenaa@gmail.com>
Inspired-by: decolua/9router#474
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant