fix(tui): preserve provider precedence on startup

This commit is contained in:
Brooklyn Nicholson
2026-04-25 13:25:43 -05:00
parent e9c47c7042
commit 57b43fdd4b
2 changed files with 10 additions and 5 deletions

View File

@@ -98,6 +98,14 @@ def test_startup_runtime_uses_tui_provider_env(monkeypatch):
assert server._resolve_startup_runtime() == ("nous/hermes-test", "nous")
def test_startup_runtime_does_not_treat_inference_provider_as_explicit(monkeypatch):
monkeypatch.setenv("HERMES_MODEL", "nous/hermes-test")
monkeypatch.delenv("HERMES_TUI_PROVIDER", raising=False)
monkeypatch.setenv("HERMES_INFERENCE_PROVIDER", "nous")
assert server._resolve_startup_runtime() == ("nous/hermes-test", None)
def test_startup_runtime_detects_provider_for_model_env(monkeypatch):
monkeypatch.setenv("HERMES_MODEL", "sonnet")
monkeypatch.delenv("HERMES_TUI_PROVIDER", raising=False)

View File

@@ -573,10 +573,7 @@ def _resolve_model() -> str:
def _resolve_startup_runtime() -> tuple[str, str | None]:
model = _resolve_model()
explicit_provider = (
os.environ.get("HERMES_TUI_PROVIDER", "")
or os.environ.get("HERMES_INFERENCE_PROVIDER", "")
).strip()
explicit_provider = os.environ.get("HERMES_TUI_PROVIDER", "").strip()
if explicit_provider:
return model, explicit_provider
@@ -595,7 +592,7 @@ def _resolve_startup_runtime() -> tuple[str, str | None]:
str(cfg.get("provider") or "").strip().lower()
if isinstance(cfg, dict)
else ""
) or "auto"
) or os.environ.get("HERMES_INFERENCE_PROVIDER", "").strip().lower() or "auto"
detected = detect_provider_for_model(explicit_model, current_provider)
if detected:
provider, detected_model = detected