fix(tui): resolve runtime provider in _make_agent (#11884)

_make_agent() was not calling resolve_runtime_provider(), so bare-slug
models (e.g. 'claude-opus-4-6' with provider: anthropic) left provider,
base_url, and api_key empty in AIAgent — causing HTTP 404 at
api.anthropic.com.

Now mirrors cli.py: calls resolve_runtime_provider(requested=None) and
forwards all 7 resolved fields to AIAgent.

Adds regression test.
This commit is contained in:
Kaio 2026-04-17 18:40:46 -07:00
parent 3a6351454b
commit 9ed6eb0cca
2 changed files with 57 additions and 0 deletions

View file

@ -911,12 +911,21 @@ def _reset_session_agent(sid: str, session: dict) -> dict:
def _make_agent(sid: str, key: str, session_id: str | None = None):
from run_agent import AIAgent
from hermes_cli.runtime_provider import resolve_runtime_provider
cfg = _load_cfg()
system_prompt = cfg.get("agent", {}).get("system_prompt", "") or ""
if not system_prompt:
system_prompt = _resolve_personality_prompt(cfg)
runtime = resolve_runtime_provider(requested=None)
return AIAgent(
model=_resolve_model(),
provider=runtime.get("provider"),
base_url=runtime.get("base_url"),
api_key=runtime.get("api_key"),
api_mode=runtime.get("api_mode"),
acp_command=runtime.get("command"),
acp_args=runtime.get("args"),
credential_pool=runtime.get("credential_pool"),
quiet_mode=True,
verbose_logging=_load_tool_progress_mode() == "verbose",
reasoning_config=_load_reasoning_config(),