Both the auxiliary ladder (agent/auxiliary_client.py::_resolve_call_client) and main-agent init (agent/agent_init.py::_routed_client_kwargs) told users to "Set the <PROVIDER_ID>_API_KEY environment variable" when an explicit provider had no credentials. Deriving the name from the id invents variables nothing reads: MINIMAX-OAUTH_API_KEY for `minimax-oauth` (not even a valid shell name), ALIBABA_API_KEY where the registry reads DASHSCOPE_API_KEY. agent_init already consulted PROVIDER_REGISTRY but fell back to the invented name for OAuth providers, whose api_key_env_vars is deliberately empty. One helper, agent/auxiliary_unavailable.py::missing_provider_credentials_message, now builds the sentence for both surfaces from the registry: the first registered env var for API-key providers, `hermes auth add <provider>` for OAuth providers, and only "switch provider" for registry rows with neither (bedrock, vertex, external-process). The compression permanent-failure classifier learns the new "no credentials were found" phrase so an OAuth aux provider without a login still stops the retry loop. Salvages #89517 (@liuhao1024, aux surface, earliest for #114405) and #79007 (@TUARAN, main-init surface, #78996); supersedes #114410, #114430, #114582, #90222, #90281, #89541. Co-authored-by: CodeMiner-掘金安东尼 <729922845@qq.com> Co-authored-by: Chukuwebuka-2003 <ebulamicheal@gmail.com> Co-authored-by: Mohamad Kanso <91088196+MohamadKanso@users.noreply.github.com> Co-authored-by: rocks737 <234251857+rocks737@users.noreply.github.com>
3 lines
27 B
Plaintext
3 lines
27 B
Plaintext
TUARAN
|
|
# PR #79007 salvage
|