Download tests/plugins/test_honcho_session_context.py from SaylorTwift/hermes-agent: direct link, hf CLI and curl.
- Browser
- Download file 2.71 kB
-
https://huggingface.co/SaylorTwift/hermes-agent/resolve/main/tests/plugins/test_honcho_session_context.py
- Command line
-
hf download hf://SaylorTwift/hermes-agent/tests/plugins/test_honcho_session_context.py
-
curl -L -o test_honcho_session_context.py https://huggingface.co/SaylorTwift/hermes-agent/resolve/main/tests/plugins/test_honcho_session_context.py
2.71 kB
| """Tests for Honcho session context peer resolution.""" | |
| from types import SimpleNamespace | |
| from plugins.memory.honcho.session import HonchoSession, HonchoSessionManager | |
| class _FakeSummary: | |
| content = "summary" | |
| class _FakeContext: | |
| summary = _FakeSummary() | |
| peer_representation = "representation" | |
| peer_card = ["fact"] | |
| messages = [] | |
| class _RecordingHonchoSession: | |
| def __init__(self): | |
| self.calls = [] | |
| def context(self, **kwargs): | |
| self.calls.append(kwargs) | |
| return _FakeContext() | |
| def _manager_with_cached_session(*, ai_observe_others=True): | |
| cfg = SimpleNamespace( | |
| write_frequency="turn", | |
| dialectic_reasoning_level="low", | |
| dialectic_dynamic=True, | |
| dialectic_max_chars=600, | |
| observation_mode="directional", | |
| user_observe_me=True, | |
| user_observe_others=True, | |
| ai_observe_me=True, | |
| ai_observe_others=ai_observe_others, | |
| message_max_chars=25000, | |
| dialectic_max_input_chars=10000, | |
| ) | |
| mgr = HonchoSessionManager(honcho=SimpleNamespace(), config=cfg) | |
| session = HonchoSession( | |
| key="test-session", | |
| user_peer_id="chris", | |
| assistant_peer_id="hermes", | |
| honcho_session_id="test-session", | |
| ) | |
| fake_honcho_session = _RecordingHonchoSession() | |
| mgr._cache[session.key] = session | |
| mgr._sessions_cache[session.honcho_session_id] = fake_honcho_session | |
| return mgr, fake_honcho_session | |
| def test_session_context_user_alias_uses_assistant_observer_when_ai_can_observe_others(): | |
| mgr, fake = _manager_with_cached_session(ai_observe_others=True) | |
| result = mgr.get_session_context("test-session", peer="user") | |
| assert result["summary"] == "summary" | |
| assert fake.calls == [ | |
| { | |
| "summary": True, | |
| "tokens": None, | |
| "peer_target": "chris", | |
| "peer_perspective": "hermes", | |
| } | |
| ] | |
| def test_session_context_explicit_user_peer_matches_user_alias(): | |
| mgr, fake = _manager_with_cached_session(ai_observe_others=True) | |
| mgr.get_session_context("test-session", peer="chris") | |
| assert fake.calls == [ | |
| { | |
| "summary": True, | |
| "tokens": None, | |
| "peer_target": "chris", | |
| "peer_perspective": "hermes", | |
| } | |
| ] | |
| def test_session_context_user_alias_uses_user_self_observer_when_ai_cannot_observe_others(): | |
| mgr, fake = _manager_with_cached_session(ai_observe_others=False) | |
| mgr.get_session_context("test-session", peer="user") | |
| assert fake.calls == [ | |
| { | |
| "summary": True, | |
| "tokens": None, | |
| "peer_target": "chris", | |
| "peer_perspective": "chris", | |
| } | |
| ] | |