fix(agent): bound per-session file state

This commit is contained in:
yu-xin-c
2026-08-15 23:49:20 +08:00
committed by Xubin Ren
parent ecef2b055d
commit 42afebb0cb
8 changed files with 73 additions and 7 deletions
+29
View File
@@ -0,0 +1,29 @@
import pytest
from nanobot.agent.tools.file_state import FileStateStore
def test_file_state_store_evicts_least_recently_used_session() -> None:
store = FileStateStore(max_sessions=2)
first = store.for_session("first")
second = store.for_session("second")
assert store.for_session("first") is first
store.for_session("third")
assert store.for_session("first") is first
assert store.for_session("second") is not second
def test_file_state_store_discards_reset_session() -> None:
store = FileStateStore()
previous = store.for_session("websocket:chat")
store.discard("websocket:chat")
assert store.for_session("websocket:chat") is not previous
def test_file_state_store_requires_positive_capacity() -> None:
with pytest.raises(ValueError, match="max_sessions must be positive"):
FileStateStore(max_sessions=0)