diff --git a/agent/agent_runtime_helpers.py b/agent/agent_runtime_helpers.py index a418088916a9..dd600495c91e 100644 --- a/agent/agent_runtime_helpers.py +++ b/agent/agent_runtime_helpers.py @@ -2873,7 +2873,10 @@ def sanitize_api_messages(messages: List[Dict[str, Any]]) -> List[Dict[str, Any] seen_assistant_call_ids.add(cid) kept_tcs.append(tc) if len(kept_tcs) != len(msg.get("tool_calls") or []): - msg = {**msg, "tool_calls": kept_tcs} + if kept_tcs: + msg = {**msg, "tool_calls": kept_tcs} + else: + msg = {k: v for k, v in msg.items() if k != "tool_calls"} deduped.append(msg) elif role == "tool": cid = (msg.get("tool_call_id") or "").strip() diff --git a/agent/transports/chat_completions.py b/agent/transports/chat_completions.py index 086883eca1c7..e5daeb56a494 100644 --- a/agent/transports/chat_completions.py +++ b/agent/transports/chat_completions.py @@ -23,7 +23,7 @@ def _reasoning_config_for_model(model: str, reasoning_config: dict | None) -> di if not isinstance(reasoning_config, dict): return reasoning_config if ( - "gpt-5.6" in (model or "").lower() + ("gpt-5.6" in (model or "").lower() or "glm-" in (model or "").lower()) and str(reasoning_config.get("effort") or "").strip().lower() == "ultra" ): normalized = dict(reasoning_config) diff --git a/hermes_cli/main.py b/hermes_cli/main.py index b9bb4737e199..845e4f29ec09 100644 --- a/hermes_cli/main.py +++ b/hermes_cli/main.py @@ -16084,10 +16084,11 @@ def _progress(info): os.path.getsize(db_path) / (1024 * 1024) if db_path.exists() else 0.0 ) saved = before_mb - after_mb + saved_label = f"reclaimed {saved:.1f} MB" if saved >= 0 else f"grew by {-saved:.1f} MB" print(f"\nāœ“ Search index optimized.") print( f" Database size: {before_mb:.1f} MB -> {after_mb:.1f} MB " - f"(reclaimed {saved:.1f} MB)" + f"({saved_label})" ) if result.get("vacuumed") is False: print(" (VACUUM was skipped or failed — run "