mirror of
https://github.com/diegosouzapw/OmniRoute.git
synced 2026-09-14 02:42:24 +03:00
#12934 unioned customModels into getAllActiveSyncedModels() alongside the dispatch-time readers it was actually fixing (#12597: getActiveSyncedCatalog, reconcileProvidersWithActiveSyncedCatalog, getActiveProvidersWithSyncedModel). getAllActiveSyncedModels() is not a dispatch reader. Its three consumers read it as "what the provider's live sync reported": /v1/models feeds its synced-emission loop (and has a separate custom-model pass right after, which owns the specialty-registry dedupe, hidePaid and the vision overrides), /api/models uses it to decide whether an exclusive-listing provider suppresses a static row, and getSyncedAutoAliases derives tier aliases from it. Blurring custom rows into "synced" made a custom embedding/rerank model on jina-ai come out as the alias row `jina/<id>` (parentless primary) with the registry's canonical `jina-ai/<id>` demoted to its child — the inverse of the identity every other specialty model of that provider carries, and it also dropped the registry's `dimensions`. Drop the union there only; the dispatch trio keeps it, so #12597's tests and the 400-on-picker-model fix are untouched. Locked by a new case in custom-models-live-catalog-12597.test.ts and by both jina cases in models-catalog-route.test.ts ("does not duplicate imported/custom Jina specialty models"), which encode the two identities side by side.