refactor(hermes_cli): group B — _rewrite_key generalization (v31/v35 fold), _put in provider normalizer, dedup loop flatten, gateway configured-dict; AST-neutral layout hug/pack
This commit is contained in:
@@ -26,8 +26,7 @@ def _estimate_tokens(agent: Any, messages: Optional[List[dict]]) -> Optional[int
|
||||
|
||||
if messages is not None:
|
||||
protect = (
|
||||
int(getattr(cc, "protect_first_n", 3)) + int(getattr(cc, "protect_last_n", 20)) + 1
|
||||
)
|
||||
int(getattr(cc, "protect_first_n", 3)) + int(getattr(cc, "protect_last_n", 20)) + 1)
|
||||
if len(messages) <= protect:
|
||||
return None
|
||||
try:
|
||||
@@ -37,9 +36,7 @@ def _estimate_tokens(agent: Any, messages: Optional[List[dict]]) -> Optional[int
|
||||
tools = getattr(agent, "tools", None)
|
||||
return int(
|
||||
estimate_request_tokens_rough(
|
||||
messages, system_prompt=system_prompt, tools=tools or None
|
||||
)
|
||||
)
|
||||
messages, system_prompt=system_prompt, tools=tools or None))
|
||||
except Exception:
|
||||
pass
|
||||
|
||||
@@ -59,8 +56,7 @@ def merge_preflight_compression_warning(
|
||||
config_context_length: int | None = None,
|
||||
configured_model: str | None = None,
|
||||
configured_provider: str | None = None,
|
||||
configured_base_url: str | None = None,
|
||||
) -> None:
|
||||
configured_base_url: str | None = None) -> None:
|
||||
"""If the next user message will likely preflight-compress, append a warning."""
|
||||
if not result.success or agent is None:
|
||||
return
|
||||
@@ -90,8 +86,7 @@ def merge_preflight_compression_warning(
|
||||
config_context_length=config_context_length,
|
||||
configured_model=_or_agent(configured_model, "model"),
|
||||
configured_provider=_or_agent(configured_provider, "provider"),
|
||||
configured_base_url=_or_agent(configured_base_url, "base_url"),
|
||||
)
|
||||
configured_base_url=_or_agent(configured_base_url, "base_url"))
|
||||
if not new_ctx:
|
||||
return
|
||||
|
||||
@@ -113,8 +108,7 @@ def merge_preflight_compression_warning(
|
||||
f"Session is ~{estimate:,} tokens; "
|
||||
f"{result.new_model} allows {new_ctx:,} "
|
||||
f"(auto-compress at ~{new_threshold:,}). "
|
||||
f"Your next message will run preflight compression before the model replies."
|
||||
)
|
||||
f"Your next message will run preflight compression before the model replies.")
|
||||
_append_warning(result, "".join(parts))
|
||||
|
||||
|
||||
@@ -125,8 +119,7 @@ def enrich_model_switch_warnings_for_gateway(
|
||||
session_key: str,
|
||||
source: Any,
|
||||
custom_providers: list | None = None,
|
||||
load_gateway_config: Callable[[], dict] | None = None,
|
||||
) -> None:
|
||||
load_gateway_config: Callable[[], dict] | None = None) -> None:
|
||||
"""Gateway helper: cached agent + session DB messages."""
|
||||
lock = getattr(runner, "_agent_cache_lock", None)
|
||||
cache = getattr(runner, "_agent_cache", None)
|
||||
@@ -139,19 +132,18 @@ def enrich_model_switch_warnings_for_gateway(
|
||||
if agent is None:
|
||||
return
|
||||
|
||||
cfg_ctx = None
|
||||
configured_model = None
|
||||
configured_provider = None
|
||||
configured_base_url = None
|
||||
configured: dict = dict.fromkeys(
|
||||
("config_context_length", "configured_model", "configured_provider", "configured_base_url"))
|
||||
if load_gateway_config is not None:
|
||||
try:
|
||||
cfg = load_gateway_config()
|
||||
model_cfg = cfg.get("model", {}) if isinstance(cfg, dict) else {}
|
||||
if isinstance(model_cfg, dict) and model_cfg.get("context_length") is not None:
|
||||
cfg_ctx = int(model_cfg["context_length"])
|
||||
configured_model = model_cfg.get("default") or model_cfg.get("model")
|
||||
configured_provider = model_cfg.get("provider")
|
||||
configured_base_url = model_cfg.get("base_url")
|
||||
configured.update(
|
||||
config_context_length=int(model_cfg["context_length"]),
|
||||
configured_model=model_cfg.get("default") or model_cfg.get("model"),
|
||||
configured_provider=model_cfg.get("provider"),
|
||||
configured_base_url=model_cfg.get("base_url"))
|
||||
except Exception:
|
||||
pass
|
||||
|
||||
@@ -166,12 +158,4 @@ def enrich_model_switch_warnings_for_gateway(
|
||||
pass
|
||||
|
||||
merge_preflight_compression_warning(
|
||||
result,
|
||||
agent=agent,
|
||||
messages=messages,
|
||||
custom_providers=custom_providers,
|
||||
config_context_length=cfg_ctx,
|
||||
configured_model=configured_model,
|
||||
configured_provider=configured_provider,
|
||||
configured_base_url=configured_base_url,
|
||||
)
|
||||
result, agent=agent, messages=messages, custom_providers=custom_providers, **configured)
|
||||
|
||||
Reference in New Issue
Block a user