liuhao1024
60cc42e38b
fix(inventory): deduplicate models between user-defined and aggregator providers
...
When a user-defined provider (e.g. litellm-proxy) and an aggregator
(e.g. openrouter) both advertise the same model name, the Desktop/TUI
model picker would show the model under both groups. Selecting it from
the aggregator row silently set model.provider to the aggregator,
breaking calls because the aggregator doesn't actually serve that model
ID.
Fix: after list_authenticated_providers() returns, collect all models
from user-defined provider rows and filter them out of aggregator rows.
Uses is_aggregator() from hermes_cli/providers.py to identify
aggregators. Case-insensitive matching.
Fixes #45954
2026-06-15 12:25:41 -07:00
..
2026-06-10 12:14:57 +10:00
2026-06-14 08:42:06 -07:00
2026-06-10 02:21:00 -07:00
2026-06-13 02:36:09 -07:00
2026-06-07 01:21:58 -07:00
2026-06-08 15:12:12 -07:00
2026-06-08 11:57:03 -07:00
2026-06-15 05:40:23 -07:00
2026-06-15 05:51:47 -07:00
2026-06-11 09:01:52 -07:00
2026-06-11 10:49:47 -07:00
2026-06-01 19:51:03 -07:00
2026-06-08 11:29:53 -07:00
2026-06-11 10:49:47 -07:00
2026-06-15 07:46:34 -07:00
2026-06-01 19:51:03 -07:00
2026-06-14 11:13:38 -07:00
2026-06-15 20:51:48 +10:00
2026-06-10 20:46:17 -07:00
2026-06-01 16:58:58 -07:00
2026-06-09 13:56:33 +10:00
2026-06-03 19:37:04 -07:00
2026-06-15 12:24:46 -07:00
2026-06-08 10:01:47 -07:00
2026-06-06 19:53:58 -07:00
2026-06-14 08:42:06 -07:00
2026-05-31 01:16:33 -07:00
2026-06-06 18:22:38 -07:00
2026-06-15 12:25:41 -07:00
2026-06-13 05:50:09 -07:00
2026-06-06 19:29:00 -07:00
2026-06-07 06:14:24 -07:00
2026-06-04 07:39:53 -07:00
2026-06-03 05:41:35 -07:00
2026-06-15 06:18:27 -07:00
2026-06-05 07:54:08 -05:00
2026-06-14 04:24:14 -07:00
2026-06-14 04:46:54 -07:00
2026-06-14 04:24:14 -07:00
2026-05-30 07:45:26 -07:00
2026-06-04 14:03:02 +10:00
2026-06-06 23:07:25 +05:30
2026-06-08 22:31:06 -07:00
2026-06-10 00:24:06 -07:00
2026-06-13 13:47:08 -07:00
2026-06-14 14:01:03 -07:00
2026-06-13 06:05:30 -07:00
2026-06-14 14:01:03 -07:00
2026-06-12 08:51:10 +00:00
2026-06-11 07:51:01 -07:00
2026-05-30 07:31:48 -07:00
2026-06-13 13:23:59 -07:00
2026-06-13 02:36:09 -07:00
2026-06-04 02:20:31 +05:30
2026-06-07 21:50:57 -07:00
2026-06-15 11:43:23 +10:00
2026-05-30 02:53:42 -07:00
2026-06-08 15:53:09 -07:00
2026-06-08 07:03:12 -07:00
2026-06-14 02:09:16 -07:00
2026-06-06 18:36:40 -07:00
2026-06-12 11:48:06 -07:00
2026-06-15 14:10:51 +10:00
2026-06-15 07:46:34 -07:00
2026-06-11 07:51:01 -07:00
2026-06-14 13:50:36 -07:00
2026-06-14 22:54:54 +05:30
2026-06-11 10:49:47 -07:00
2026-06-10 21:39:22 -04:00
2026-06-11 10:49:47 -07:00
2026-06-05 03:20:10 -07:00
2026-06-14 03:20:21 -07:00
2026-06-14 16:47:57 -07:00
2026-06-06 18:22:38 -07:00
2026-06-14 04:52:54 -07:00
2026-06-08 11:32:43 -07:00
2026-06-09 23:21:14 -07:00