{"repo":"NousResearch/hermes-agent","public_id":"20145","display_label":"Provider API mode routing and endpoint detection fixes","summary":"These issues and PRs address how provider plugins resolve and honor the correct API transport mode (e.g., anthropic_messages) based on endpoint URL and ProviderProfile configuration. The work covers both auto-detection of the appropriate mode from the base URL and ensuring runtime resolution does not drop explicitly configured api_mode values.","subsystem":"agent","counts":{"members":5,"open_issues":0,"open_issues_distinct":0,"open_prs":0,"closed_issues":2,"merged_prs":1,"attempt_prs":2},"landed_fix":{"status":"merged_to_main","basis":"structural","pr":116856},"resolution":{"state":"partially_resolved","by":"pr-116856"},"freshness":{"state":"verified","last_verified_at":"2026-09-20T17:11:41+00:00","is_stale":false},"grouping":{"backbone":"STRUCTURAL_PARTIAL","link_density":0.33599999999999997},"fix_edges":[{"issue_number":53054,"pr_number":116856,"tier":"verified","basis":"closing_ref","confidence":0.95,"recoverable_from_timeline":true}],"members":[{"kind":"issue","number":20145,"title":"[FR] Auto-switch transport to anthropic_messages when DeepSeek provider points to /anthropic endpoint","url":null,"state":"closed"},{"kind":"issue","number":53054,"title":"[Bug]: provider plugins' ProviderProfile.api_mode dropped at runtime — anthropic_messages plugins with non-/anthropic base_url 404","url":null,"state":"closed"},{"kind":"pr","number":53055,"title":"fix(providers): gate plugin api_mode by endpoint (#53054)","url":null,"state":"closed","close_reason":{"refs":[{"kind":"commit","value":"da2b6a47b93","number":0},{"kind":"commit","value":"2dda233946","number":0},{"kind":"pr","value":"#76836","number":76836},{"kind":"pr","value":"#116856","number":116856},{"kind":"pr","value":"#53054","number":53054},{"kind":"pr","value":"#116856","number":116856}],"category":"superseded_by_pr","implication":"superseded"},"merged":false},{"kind":"pr","number":65956,"title":"fix(providers): honor ProviderProfile.api_mode in api_mode resolution","url":null,"state":"closed","close_reason":{"refs":[{"kind":"commit","value":"8c8003f80b","number":0}],"category":"implemented_elsewhere","implication":"superseded"},"merged":false},{"kind":"pr","number":116856,"title":"Plugin ProviderProfile.api_mode reaches the runtime transport, registered dialects included (#53054, salvage #116154 #53055)","url":null,"state":"merged","close_reason":{"category":"merged","implication":"superseded"},"merged":true,"is_fix_pr":true,"fix_tier":"verified","files_changed":["agent/agent_init.py","agent/transports/__init__.py","contributors/emails/[redacted:email]","hermes_cli/providers.py","hermes_cli/runtime_provider.py","tests/agent/transports/test_plugin_transport_api_mode.py","tools/delegate_tool_config.py","website/docs/developer-guide/model-provider-plugin.md"]}],"trust":{"default_tier":"verified","includes_suggested":false}}