mirror of
https://github.com/NousResearch/hermes-agent.git
synced 2026-11-06 05:17:15 +00:00
- providers.profile_for_host is the single host->profile lookup (declared hostnames, exact or subdomain), memoized per (hermes_home_key, host, metadata) and invalidated by a registry generation counter bumped on every registration (process-wide or per-home layer). - agent/provider_route_hooks.route_profiles = named profile, then profile_for_host(base_url); replaces L1's every-profile scan, L2's conversation_loop._credential_refresh_profile host scan and L3's agent/endpoint_profile.py + ProviderProfile.serves_endpoint (deleted). - Copilot hostnames gain models.github.ai (the L3 Responses/reasoning gate host); per-site differences (carriers, editor headers, initiator) stay in the plugin hooks keyed on base_url. - Pure per-request hooks (request_headers, max_tokens_param) are memoized per argument set so a plugins.isolation: host proxy pays one IPC call per request shape. - hermes_cli/models.py: delete _should_use_copilot_responses_api / copilot_model_api_mode; runtime_provider routes per-model providers through api_mode_for_model generically. - credential_refresh_notice seam restores main's Copilot refresh status lines. - auth._env_key_auto_detected: ambient-credential check reads list_providers once instead of a per-pid get_provider_profile miss that walked the provider ladder (welcome_trial regression).