mirror of
https://github.com/NousResearch/hermes-agent.git
synced 2026-07-31 19:16:29 +00:00
refactor: single-owner model switch parsing + effective-model resolution (kills the api_server/run.py divergence class)
This commit is contained in:
parent
bd93ccb890
commit
ba7da1332c
7 changed files with 461 additions and 40 deletions
25
cli.py
25
cli.py
|
|
@ -9057,7 +9057,7 @@ class HermesCLI(CLIAgentSetupMixin, CLICommandsMixin, CLIBillingMixin):
|
|||
"""
|
||||
from hermes_cli.model_switch import (
|
||||
switch_model,
|
||||
parse_model_flags_detailed,
|
||||
parse_model_switch_args,
|
||||
resolve_persist_behavior,
|
||||
)
|
||||
from hermes_cli.providers import get_label
|
||||
|
|
@ -9067,18 +9067,17 @@ class HermesCLI(CLIAgentSetupMixin, CLICommandsMixin, CLIBillingMixin):
|
|||
raw_args = parts[1].strip() if len(parts) > 1 else ""
|
||||
|
||||
# Parse --provider, --global, --session, --once, and --refresh flags
|
||||
parsed_flags = parse_model_flags_detailed(raw_args)
|
||||
model_input = parsed_flags.model_input
|
||||
explicit_provider = parsed_flags.explicit_provider
|
||||
is_global_flag = parsed_flags.is_global
|
||||
force_refresh = parsed_flags.force_refresh
|
||||
is_session = parsed_flags.is_session
|
||||
one_turn = parsed_flags.is_once
|
||||
if is_global_flag and one_turn:
|
||||
_cprint(" ✗ /model --once cannot be combined with --global")
|
||||
return
|
||||
if one_turn and not model_input and not explicit_provider:
|
||||
_cprint(" ✗ /model --once requires a model or provider.")
|
||||
# via the shared single-owner parser (hermes_cli.model_switch).
|
||||
request = parse_model_switch_args(raw_args)
|
||||
model_input = request.target
|
||||
explicit_provider = request.explicit_provider
|
||||
is_global_flag = request.is_global
|
||||
force_refresh = request.force_refresh
|
||||
is_session = request.is_session
|
||||
one_turn = request.is_once
|
||||
if request.errors:
|
||||
# CLI decoration: " ✗ " prefix over the canonical error copy.
|
||||
_cprint(f" ✗ {request.error_messages()[0]}")
|
||||
return
|
||||
# Resolve the effective persistence once: --global forces persist,
|
||||
# --session/--once force session-scope, otherwise defer to
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue