mirror of
https://github.com/nesquena/hermes-webui.git
synced 2026-06-04 08:00:23 +00:00
11ba36beb9
# Conflicts: # CHANGELOG.md # api/routes.py
49 lines
1.7 KiB
Python
49 lines
1.7 KiB
Python
from api.streaming import _webui_ephemeral_system_prompt
|
|
|
|
|
|
def test_webui_ephemeral_prompt_includes_browser_surface_context():
|
|
prompt = _webui_ephemeral_system_prompt(
|
|
"Use a concise tone.",
|
|
surface_context={
|
|
"source": "webui",
|
|
"session_id": "session-123",
|
|
"profile": "default",
|
|
"workspace": "/tmp/example-workspace",
|
|
},
|
|
)
|
|
|
|
assert "Use a concise tone." in prompt
|
|
assert "WebUI session context" in prompt
|
|
assert "Source: webui" in prompt
|
|
assert "Session ID: session-123" in prompt
|
|
assert "Profile: default" in prompt
|
|
assert "Workspace: /tmp/example-workspace" in prompt
|
|
assert "not the same live transcript as Telegram" in prompt
|
|
assert "Do not copy or dump this browser transcript" in prompt
|
|
assert "Write to external notes or durable memory only" in prompt
|
|
assert "otherwise leave notes unchanged" in prompt
|
|
assert "what note/section changed" in prompt
|
|
assert "explicit captures" in prompt
|
|
assert "durable user preferences" in prompt
|
|
assert "Do not include terse planning fragments" in prompt
|
|
assert "Need inspect email" in prompt
|
|
assert "clear user-facing progress" in prompt
|
|
|
|
|
|
def test_webui_ephemeral_prompt_skips_empty_surface_fields():
|
|
prompt = _webui_ephemeral_system_prompt(
|
|
None,
|
|
surface_context={
|
|
"source": "webui",
|
|
"session_id": "",
|
|
"profile": None,
|
|
"workspace": " ",
|
|
},
|
|
)
|
|
|
|
assert "WebUI session context" in prompt
|
|
assert "Source: webui" in prompt
|
|
assert "Session ID:" not in prompt
|
|
assert "Profile:" not in prompt
|
|
assert "Workspace:" not in prompt
|