mirror of
https://github.com/NousResearch/hermes-agent.git
synced 2026-05-06 02:41:48 +00:00
fix(delegate): correct _spawn_child → _build_child_agent in comments
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This commit is contained in:
parent
42d72b5922
commit
0b5fd40a01
2 changed files with 27 additions and 17 deletions
|
|
@ -2237,11 +2237,17 @@ def _resolve_delegation_credentials(cfg: dict, parent_agent) -> dict:
|
|||
"""Resolve credentials for subagent delegation.
|
||||
|
||||
If ``delegation.base_url`` is configured, subagents use that direct
|
||||
OpenAI-compatible endpoint. Otherwise, if ``delegation.provider`` is
|
||||
configured, the full credential bundle (base_url, api_key, api_mode,
|
||||
provider) is resolved via the runtime provider system — the same path used
|
||||
by CLI/gateway startup. This lets subagents run on a completely different
|
||||
provider:model pair.
|
||||
OpenAI-compatible endpoint. ``delegation.api_key`` overrides the key; when
|
||||
omitted, ``api_key`` is returned as ``None`` so ``_build_child_agent``
|
||||
inherits the parent agent's key (``effective_api_key = override_api_key or
|
||||
parent_api_key``). This lets providers that store their key outside
|
||||
``OPENAI_API_KEY`` (e.g. ``MINIMAX_API_KEY``, ``DASHSCOPE_API_KEY``) work
|
||||
without a duplicate config entry.
|
||||
|
||||
Otherwise, if ``delegation.provider`` is configured, the full credential
|
||||
bundle (base_url, api_key, api_mode, provider) is resolved via the runtime
|
||||
provider system — the same path used by CLI/gateway startup. This lets
|
||||
subagents run on a completely different provider:model pair.
|
||||
|
||||
If neither base_url nor provider is configured, returns None values so the
|
||||
child inherits everything from the parent agent.
|
||||
|
|
@ -2254,12 +2260,13 @@ def _resolve_delegation_credentials(cfg: dict, parent_agent) -> dict:
|
|||
configured_api_key = str(cfg.get("api_key") or "").strip() or None
|
||||
|
||||
if configured_base_url:
|
||||
api_key = configured_api_key or os.getenv("OPENAI_API_KEY", "").strip()
|
||||
if not api_key:
|
||||
raise ValueError(
|
||||
"Delegation base_url is configured but no API key was found. "
|
||||
"Set delegation.api_key or OPENAI_API_KEY."
|
||||
)
|
||||
# When delegation.api_key is not set, return None so _build_child_agent
|
||||
# falls back to the parent agent's API key via the credential inheritance
|
||||
# path (effective_api_key = override_api_key or parent_api_key). This
|
||||
# lets providers that store their key in a non-OPENAI_API_KEY env var
|
||||
# (e.g. MINIMAX_API_KEY, DASHSCOPE_API_KEY) work without requiring
|
||||
# callers to duplicate the key under delegation.api_key.
|
||||
api_key = configured_api_key # None → inherited from parent in _build_child_agent
|
||||
|
||||
base_lower = configured_base_url.lower()
|
||||
provider = "custom"
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue