HERMES-GIELIE/api
MrFant a4417d11f9 fix: handle dict model entries in provider models list
When a provider's 'models' config contains dicts (e.g. {"id": "x", "label": "y"})
instead of plain strings, _apply_provider_prefix() crashes with:
  AttributeError: 'dict' object has no attribute 'startswith'

This happens because the list comprehension at line 3505 passes the raw dict
as the model ID. The fix extracts 'id' and 'label' from dict entries while
keeping string entries as-is.

Fixes the /api/models and /api/onboarding/status 500 errors.
2026-05-13 13:49:40 +08:00
..
__init__.py
agent_health.py fix(agent-health): treat stale running gateway as unknown 2026-05-11 23:13:09 +00:00
agent_sessions.py fix: align fork lineage projection paths 2026-05-11 17:15:22 +08:00
auth.py fix(stage-326): preserve SESSION_TTL constant + reconcile #1957 tests 2026-05-09 18:33:28 +00:00
background.py
clarify.py
commands.py fix(security): drop unsafe-eval + add jsdelivr to CSP, sanitize plugin error 2026-05-11 17:53:02 +00:00
compression_anchor.py docs: clarify compression anchor helpers 2026-05-12 01:43:16 -07:00
config.py fix: handle dict model entries in provider models list 2026-05-13 13:49:40 +08:00
dashboard_probe.py feat: link official Hermes dashboard 2026-05-05 01:23:55 +00:00
extensions.py
gateway_watcher.py
goals.py fix(i18n): localize /goal runtime status strings 2026-05-10 15:21:24 +08:00
helpers.py fix: add cdn.jsdelivr.net to CSP connect-src to allow xterm source map fetches 2026-05-07 20:42:55 +00:00
kanban_bridge.py stage-315 absorb: document handle_kanban_* three-valued return contract 2026-05-07 18:52:01 +00:00
metering.py fix: show TPS in assistant message headers 2026-05-04 21:26:43 +00:00
models.py Add worktree-backed session creation 2026-05-11 12:12:40 +08:00
oauth.py fix(oauth): serialize Anthropic env fallback reads 2026-05-07 02:47:19 +00:00
onboarding.py Fix Xiaomi API key env detection 2026-05-11 07:33:52 +08:00
profiles.py docs: clarify compression anchor helpers 2026-05-12 01:43:16 -07:00
providers.py fix(providers): load Codex quota from credential pool 2026-05-11 21:46:24 -06:00
request_diagnostics.py fix: add request wedge diagnostics 2026-05-08 15:37:08 +00:00
rollback.py
routes.py stage-344: apply Opus SHOULD-FIX #1+#2 — #2128 multi-tab race + stale-done re-emit 2026-05-12 16:37:37 +00:00
session_ops.py
session_recovery.py fix: audit turn journal terminal collisions 2026-05-12 05:20:06 -07:00
startup.py
state_sync.py
streaming.py Merge pull request #2136 into stage-345 2026-05-12 23:11:48 +00:00
system_health.py feat: add VPS resource health panel 2026-05-05 17:30:56 +00:00
terminal.py
turn_journal.py fix: audit turn journal terminal collisions 2026-05-12 05:20:06 -07:00
updates.py fix: normalize update banner repository URLs 2026-05-05 08:29:00 -07:00
upload.py
workspace.py refactor: reduce stale workspace recovery fix 2026-05-12 06:28:35 -06:00
worktrees.py stage-342: apply Opus SHOULD-FIX — tighten worktree status _run_git timeout 5s → 2s 2026-05-12 05:22:01 +00:00