Teknium
afea650e16
fix(model-picker): OpenAI shows curated models; OpenRouter no longer phantom-shows ( #37404 )
...
The model picker now matches `hermes model` for OpenAI, and OpenRouter
stops appearing as authenticated when only OPENAI_API_KEY is set.
- models.py: provider_model_ids() for the default api.openai.com endpoint
intersects the live /v1/models dump (120+ entries incl. embeddings,
whisper, tts, dall-e, moderation, legacy chat) with the curated agentic
list, preserving curated order. Custom OpenAI-compatible endpoints keep
the live list verbatim so discovery still works.
- providers.py: drop extra_env_vars=("OPENAI_API_KEY",) from the openrouter
overlay. list_authenticated_providers reads extra_env_vars to decide
whether a provider is authenticated, so any OpenAI user saw a phantom
OpenRouter row. Runtime OpenRouter credential resolution still falls back
to OPENAI_API_KEY (runtime_provider.py), independent of the overlay.
- Regression tests for both paths.
2026-06-02 06:31:37 -07:00
..
2026-05-28 22:26:25 -07:00
2026-05-18 10:14:38 -07:00
2026-06-01 23:35:23 -07:00
2026-06-01 20:30:08 -07:00
2026-06-02 00:29:44 -07:00
2026-05-29 12:17:12 +10:00
2026-05-28 22:26:25 -07:00
2026-03-14 14:27:20 +03:00
2026-06-02 05:52:54 -07:00
2026-06-02 06:31:37 -07:00
2026-05-17 23:28:45 -07:00
2026-05-29 22:29:48 -07:00
2026-05-28 22:26:25 -07:00
2026-04-30 02:35:29 -07:00
2026-06-02 21:16:41 +10:00
2026-05-28 22:26:25 -07:00
2026-06-01 03:01:20 -07:00
2026-05-14 22:27:09 -07:00
2026-05-30 02:38:18 -07:00
2026-05-28 22:26:25 -07:00
2026-06-02 00:29:44 -07:00
2026-06-01 01:22:38 -07:00
2026-06-01 19:52:28 -07:00
2025-10-01 23:29:25 +00:00
2026-06-01 19:51:03 -07:00
2026-03-17 02:53:33 -07:00
2026-04-21 01:56:35 -07:00
2026-04-28 04:58:22 -07:00
2026-04-21 06:06:16 -07:00
2026-05-28 22:26:25 -07:00
2026-05-28 22:26:25 -07:00
2026-05-28 22:26:25 -07:00
2026-05-18 21:43:59 -07:00
2026-04-29 23:18:55 -07:00
2026-05-28 22:26:25 -07:00
2026-06-02 16:13:44 +10:00
2026-06-01 16:06:44 +10:00
2026-06-01 13:32:55 +10:00
2026-05-28 22:26:25 -07:00
2026-05-25 15:18:55 -07:00
2026-05-28 22:26:25 -07:00
2026-05-28 22:26:25 -07:00
2026-04-30 04:32:06 -07:00
2026-05-28 22:26:25 -07:00
2026-05-28 22:26:25 -07:00
2026-05-02 01:49:55 -07:00
2026-05-31 17:46:56 -05:00
2026-05-28 21:40:39 -07:00
2026-05-27 14:31:55 -07:00
2026-06-01 20:41:34 -05:00
2026-05-29 22:29:48 -07:00
2026-05-27 10:49:33 -07:00
2026-06-01 20:13:42 -07:00
2026-05-14 09:05:31 -07:00
2026-05-06 04:02:02 -07:00
2026-05-27 13:55:51 -07:00
2026-04-28 06:45:55 -07:00
2026-05-28 22:26:25 -07:00
2026-05-07 13:04:08 -07:00
2026-05-28 22:26:25 -07:00
2026-05-28 22:26:25 -07:00
2026-05-28 22:26:25 -07:00
2026-05-17 02:29:41 -07:00
2026-05-28 22:26:25 -07:00
2026-04-20 12:23:05 -07:00
2026-04-19 22:44:47 -07:00
2026-05-28 22:26:25 -07:00
2026-03-24 08:19:23 -07:00
2026-05-28 22:26:25 -07:00
2026-05-28 22:26:25 -07:00
2026-05-28 22:26:25 -07:00
2026-05-28 22:26:25 -07:00
2026-05-16 12:15:45 -07:00
2026-05-29 23:23:54 -07:00
2026-05-28 22:26:25 -07:00
2026-05-28 22:26:25 -07:00
2026-05-29 13:24:12 -07:00
2026-04-08 00:41:36 -07:00
2026-05-21 16:40:04 +05:30
2026-05-16 00:57:39 -07:00
2026-03-19 15:16:35 +01:00
2026-05-28 22:26:25 -07:00
2026-05-07 13:04:08 -07:00
2026-05-28 22:26:25 -07:00
2026-05-28 22:26:25 -07:00
2026-05-28 22:26:25 -07:00
2026-05-28 22:26:25 -07:00
2026-05-28 22:26:25 -07:00
2026-05-07 05:46:05 -07:00
2026-05-28 22:26:25 -07:00
2026-06-01 22:28:36 -04:00
2026-03-30 13:28:10 +09:00
2026-05-28 22:26:25 -07:00
2026-04-26 18:50:49 -07:00
2026-05-28 22:26:25 -07:00
2026-05-28 22:26:25 -07:00