mirror of
https://github.com/nesquena/hermes-webui.git
synced 2026-07-21 07:00:23 +00:00
6e499eb1dd
Refs nesquena/hermes-webui#5096 Co-authored-by: b3nw <b3nw@users.noreply.github.com>
25 lines
968 B
Python
25 lines
968 B
Python
"""truncate_session_at_keep aligns context when lengths differ (#5096 C)."""
|
|
|
|
from api.models import Session
|
|
from api.session_ops import truncate_session_at_keep
|
|
|
|
|
|
def test_truncate_session_at_keep_compaction_prefix():
|
|
s = Session(
|
|
session_id="t1",
|
|
messages=[
|
|
{"role": "user", "content": "u1", "timestamp": 1},
|
|
{"role": "assistant", "content": "a1", "timestamp": 2},
|
|
{"role": "user", "content": "gone", "timestamp": 3},
|
|
],
|
|
context_messages=[
|
|
{"role": "user", "content": "cref", "timestamp": 0.5},
|
|
{"role": "user", "content": "u1", "timestamp": 1},
|
|
{"role": "assistant", "content": "a1", "timestamp": 2},
|
|
{"role": "user", "content": "gone", "timestamp": 3},
|
|
],
|
|
)
|
|
truncate_session_at_keep(s, 2)
|
|
assert len(s.messages) == 2
|
|
assert len(s.context_messages) == 3
|
|
assert "gone" not in [m["content"] for m in s.context_messages] |