mirror of
https://github.com/NousResearch/hermes-agent.git
synced 2026-07-01 12:02:05 +00:00
fix(byterover): honor auto extract config
This commit is contained in:
parent
f062cf076b
commit
52a09d8faf
2 changed files with 127 additions and 1 deletions
61
tests/plugins/memory/test_byterover_provider.py
Normal file
61
tests/plugins/memory/test_byterover_provider.py
Normal file
|
|
@ -0,0 +1,61 @@
|
|||
"""Tests for the ByteRover memory provider config gates."""
|
||||
|
||||
from plugins.memory.byterover import ByteRoverMemoryProvider
|
||||
|
||||
|
||||
def test_auto_extract_false_skips_sync_turn(monkeypatch):
|
||||
calls = []
|
||||
provider = ByteRoverMemoryProvider({"auto_extract": False})
|
||||
provider.initialize("session-1")
|
||||
|
||||
monkeypatch.setattr("plugins.memory.byterover._run_brv", lambda *args, **kwargs: calls.append((args, kwargs)))
|
||||
|
||||
provider.sync_turn("please remember this detail", "acknowledged")
|
||||
|
||||
assert calls == []
|
||||
assert provider._sync_thread is None
|
||||
|
||||
|
||||
def test_auto_extract_false_skips_memory_write(monkeypatch):
|
||||
calls = []
|
||||
provider = ByteRoverMemoryProvider({"auto_extract": "false"})
|
||||
provider.initialize("session-1")
|
||||
|
||||
monkeypatch.setattr("plugins.memory.byterover._run_brv", lambda *args, **kwargs: calls.append((args, kwargs)))
|
||||
|
||||
provider.on_memory_write("add", "user", "User prefers concise responses")
|
||||
|
||||
assert calls == []
|
||||
|
||||
|
||||
def test_auto_extract_false_skips_pre_compress(monkeypatch):
|
||||
calls = []
|
||||
provider = ByteRoverMemoryProvider({"auto_extract": "off"})
|
||||
provider.initialize("session-1")
|
||||
|
||||
monkeypatch.setattr("plugins.memory.byterover._run_brv", lambda *args, **kwargs: calls.append((args, kwargs)))
|
||||
|
||||
result = provider.on_pre_compress([
|
||||
{"role": "user", "content": "remember this"},
|
||||
{"role": "assistant", "content": "stored"},
|
||||
])
|
||||
|
||||
assert result == ""
|
||||
assert calls == []
|
||||
|
||||
|
||||
def test_auto_extract_false_keeps_explicit_curate_tool(monkeypatch):
|
||||
calls = []
|
||||
provider = ByteRoverMemoryProvider({"auto_extract": False})
|
||||
provider.initialize("session-1")
|
||||
|
||||
def fake_run(args, **kwargs):
|
||||
calls.append(args)
|
||||
return {"success": True, "output": "ok"}
|
||||
|
||||
monkeypatch.setattr("plugins.memory.byterover._run_brv", fake_run)
|
||||
|
||||
result = provider.handle_tool_call("brv_curate", {"content": "Important project fact"})
|
||||
|
||||
assert "Memory curated successfully" in result
|
||||
assert calls == [["curate", "--", "Important project fact"]]
|
||||
Loading…
Add table
Add a link
Reference in a new issue