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:
Teknium
2026-09-02 20:47:14 -07:00
parent e3d78021f3
commit e4a149a64f
5 changed files with 142 additions and 246 deletions
+14 -30
View File
@@ -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)