Merge pull request #1306 from NousResearch/hermes/hermes-2ba57c8a

fix: backfill model on gateway sessions after agent runs
This commit is contained in:
Teknium 2026-03-14 06:48:32 -07:00 committed by GitHub
commit 917adcbaf4
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
5 changed files with 54 additions and 7 deletions

View file

@ -1652,10 +1652,11 @@ class GatewayRunner:
skip_db=agent_persisted,
)
# Update session with actual prompt token count from the agent
# Update session with actual prompt token count and model from the agent
self.session_store.update_session(
session_entry.session_key,
last_prompt_tokens=agent_result.get("last_prompt_tokens", 0),
model=agent_result.get("model"),
)
# Auto voice reply: send TTS audio before the text response
@ -3988,6 +3989,7 @@ class GatewayRunner:
_agent = agent_holder[0]
if _agent and hasattr(_agent, "context_compressor"):
_last_prompt_toks = getattr(_agent.context_compressor, "last_prompt_tokens", 0)
_resolved_model = getattr(_agent, "model", None) if _agent else None
if not final_response:
error_msg = f"⚠️ {result['error']}" if result.get("error") else "(No response generated)"
@ -3998,6 +4000,7 @@ class GatewayRunner:
"tools": tools_holder[0] or [],
"history_offset": len(agent_history),
"last_prompt_tokens": _last_prompt_toks,
"model": _resolved_model,
}
# Scan tool results for MEDIA:<path> tags that need to be delivered
@ -4060,6 +4063,7 @@ class GatewayRunner:
"tools": tools_holder[0] or [],
"history_offset": len(agent_history),
"last_prompt_tokens": _last_prompt_toks,
"model": _resolved_model,
"session_id": effective_session_id,
}

View file

@ -594,6 +594,7 @@ class SessionStore:
input_tokens: int = 0,
output_tokens: int = 0,
last_prompt_tokens: int = None,
model: str = None,
) -> None:
"""Update a session's metadata after an interaction."""
self._ensure_loaded()
@ -611,7 +612,8 @@ class SessionStore:
if self._db:
try:
self._db.update_token_counts(
entry.session_id, input_tokens, output_tokens
entry.session_id, input_tokens, output_tokens,
model=model,
)
except Exception as e:
logger.debug("Session DB operation failed: %s", e)