mirror of
https://github.com/NousResearch/hermes-agent.git
synced 2026-05-10 03:22:05 +00:00
fix: harden memory-context leak boundaries
This commit is contained in:
parent
3ce47677e9
commit
936ac82fe5
7 changed files with 108 additions and 6 deletions
16
run_agent.py
16
run_agent.py
|
|
@ -5834,6 +5834,15 @@ class AIAgent:
|
|||
if getattr(self, "_stream_needs_break", False) and text and text.strip():
|
||||
self._stream_needs_break = False
|
||||
text = "\n\n" + text
|
||||
prepended_break = True
|
||||
else:
|
||||
prepended_break = False
|
||||
if isinstance(text, str):
|
||||
text = sanitize_context(self._strip_think_blocks(text or ""))
|
||||
if not prepended_break:
|
||||
text = text.lstrip("\n")
|
||||
if not text:
|
||||
return
|
||||
callbacks = [cb for cb in (self.stream_delta_callback, self._stream_callback) if cb is not None]
|
||||
delivered = False
|
||||
for cb in callbacks:
|
||||
|
|
@ -7612,7 +7621,7 @@ class AIAgent:
|
|||
# API replay, session transcript, gateway delivery, CLI display,
|
||||
# compression, title generation.
|
||||
if isinstance(_san_content, str) and _san_content:
|
||||
_san_content = self._strip_think_blocks(_san_content).strip()
|
||||
_san_content = sanitize_context(self._strip_think_blocks(_san_content)).strip()
|
||||
|
||||
msg = {
|
||||
"role": "assistant",
|
||||
|
|
@ -12339,8 +12348,9 @@ class AIAgent:
|
|||
truncated_response_prefix = ""
|
||||
length_continue_retries = 0
|
||||
|
||||
# Strip <think> blocks from user-facing response (keep raw in messages for trajectory)
|
||||
final_response = self._strip_think_blocks(final_response).strip()
|
||||
# Strip internal context / reasoning wrappers from the user-facing
|
||||
# response (keep only clean visible text in transcript + UI).
|
||||
final_response = sanitize_context(self._strip_think_blocks(final_response)).strip()
|
||||
|
||||
final_msg = self._build_assistant_message(assistant_message, finish_reason)
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue