litellm/ui
tessellark 84617874b8
fix(ui): resolve auto router templates through ids a * catch-all lists over a partial wildcard (#49331)
* fix(ui): resolve auto router templates through ids a * catch-all lists over a partial wildcard

* fix(ui): resolve wildcard-listed ids by their routed model in the Simple view and named aliases

A catch-all's fixed model or base_model no longer keys every listed id as that one model, a named alias like claude/* over anthropic/claude-* keys its ids by the model the router sends them to, and the Simple view suggests a pair from those ids too

* fix(ui): credit a wildcard-listed id only through the pattern and provider the router uses

When several named wildcards match a listed id, only the one the router's
specificity sort picks is credited. A captured route counts only when its
provider is one /model_group/info reports for the group, so an alias that
points elsewhere keeps its own name. Paused catch-alls credit nothing, and
a name with its own text before the star captures like the proxy lists it.

* fix(ui): resolve model group aliases before wildcards in auto router templates

An alias that shadows an id the catch-all lists now counts as the model the router sends it to, and paused deployments credit no template model

* fix(ui): wait for aliases, read them as admin only, and skip paused wildcard routes in auto router templates

* fix(ui): let slashless wildcard model names take part in route precedence

The router puts every model_name holding a star into its pattern list, with
or without a slash, so a listed id like opus-5-5 under a "*" catch-all goes
to a more specific opus-* deployment first. The dashboard skipped slashless
names when it picked the route, so a paused opus-* still credited opus-5-5
through the catch-all and a template could fill a tier that answers 403.

The old "derives no pattern from a slashless wildcard model_name" test
described /models listing, not routing, and is replaced by the routed case.

---------

Co-authored-by: mateo-berri <277851410+mateo-berri@users.noreply.github.com>
2026-10-30 22:09:33 -07:00
..
docker-entrypoint.d feat(helm): support a separate hostname per component in the componentized deploy (#46360) 2026-10-14 14:56:36 -07:00
litellm-dashboard fix(ui): resolve auto router templates through ids a * catch-all lists over a partial wildcard (#49331) 2026-10-30 22:09:33 -07:00
Dockerfile build(docker): refresh base images and ship only runtime files in component images (#48279) 2026-10-24 22:33:45 -07:00
nginx.conf feat(helm): support a separate hostname per component in the componentized deploy (#46360) 2026-10-14 14:56:36 -07:00