fix(cli): return unique session search hits up to limit

This commit is contained in:
刘昊 2026-04-23 08:09:21 +08:00
parent 402d048eb6
commit 3521430694
3 changed files with 45 additions and 14 deletions

View file

@ -784,6 +784,25 @@ class TestNewEndpoints:
except Exception:
pass
def test_session_search_returns_limit_unique_sessions(self):
from hermes_state import SessionDB
db = SessionDB()
try:
db.create_session(session_id="session-a", source="cli", model="anthropic/claude-sonnet-4")
db.create_session(session_id="session-b", source="cli", model="anthropic/claude-sonnet-4")
for _ in range(25):
db.append_message("session-a", role="user", content="needle exact phrase")
db.append_message("session-b", role="user", content="needle exact phrase")
finally:
db.close()
resp = self.client.get('/api/sessions/search?q="needle exact phrase"&limit=2')
assert resp.status_code == 200
data = resp.json()
assert [result["session_id"] for result in data["results"]] == ["session-a", "session-b"]
# ---------------------------------------------------------------------------
# Model context length: normalize/denormalize + /api/model/info