fix: sanitize chat payloads and provider precedence (#1253)

fix: sanitize chat payloads and provider precedence
This commit is contained in:
Teknium 2026-03-14 00:09:14 -07:00 committed by GitHub
commit 29176f302e
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
8 changed files with 159 additions and 11 deletions

View file

@ -746,8 +746,8 @@ def cmd_model(args):
config_provider = model_cfg.get("provider")
effective_provider = (
os.getenv("HERMES_INFERENCE_PROVIDER")
or config_provider
config_provider
or os.getenv("HERMES_INFERENCE_PROVIDER")
or "auto"
)
try:

View file

@ -29,19 +29,21 @@ def _get_model_config() -> Dict[str, Any]:
def resolve_requested_provider(requested: Optional[str] = None) -> str:
"""Resolve provider request from explicit arg, env, then config."""
"""Resolve provider request from explicit arg, config, then env."""
if requested and requested.strip():
return requested.strip().lower()
env_provider = os.getenv("HERMES_INFERENCE_PROVIDER", "").strip().lower()
if env_provider:
return env_provider
model_cfg = _get_model_config()
cfg_provider = model_cfg.get("provider")
if isinstance(cfg_provider, str) and cfg_provider.strip():
return cfg_provider.strip().lower()
# Prefer the persisted config selection over any stale shell/.env
# provider override so chat uses the endpoint the user last saved.
env_provider = os.getenv("HERMES_INFERENCE_PROVIDER", "").strip().lower()
if env_provider:
return env_provider
return "auto"