Files
OmniRoute/tests
Markus Hartung 2981cdb5a9 fix(combos): use the routing-alias prefix, not raw providerId, when serializing combo model steps (#11433)
buildPrecisionComboModelStep() rebuilt a step's `model` field as
`${providerId}/${modelId}` from the canonical provider id. For the
no-auth "OpenCode Free" provider (id "opencode") this produced
"opencode/<model>", but "opencode" also doubles as a manual
routing-prefix override (open-sse/services/model.ts) that resolves to
the unrelated paid "OpenCode Zen" provider. So every step built this
way silently misrouted, even though step.providerId correctly said
"opencode".

Thread the provider's already-computed routing-alias prefix (e.g. "oc")
through an optional modelPrefix param, and pass it from the three
affected call sites: the precision single-select picker and
handleAddBuilderStep in combos/page.tsx, buildGlobalModelList (global
search), and buildManualComboModelStep (manual "oc/<model>" entry,
which now preserves the typed prefix instead of collapsing it back to
the canonical id). step.providerId keeps carrying the canonical id
unconditionally, so routing/duplicate-detection identity is unaffected.
findNextSuggestedConnectionId is unaffected since its duplicate check
keys off entry.providerId, not the parsed model prefix.

ALIAS_TO_PROVIDER_ID / resolveProviderAlias() / the routingPrefix
computation in builderOptions.ts are untouched — they were already
correct (#2901) and are the source of truth this fix threads through.
2026-08-26 13:15:31 -03:00
..