25 lines
829 B
Python
25 lines
829 B
Python
from agent_platform.runtime.context import ContextPolicy
|
|
|
|
|
|
def test_context_removes_rendered_tool_details_and_compacts() -> None:
|
|
policy = ContextPolicy()
|
|
messages = [
|
|
{"role": "user", "content": "old-" + "x" * 10_000},
|
|
{
|
|
"role": "assistant",
|
|
"content": '<details type="tool_calls" done="true"><summary>x</summary>secret trace</details> visible',
|
|
},
|
|
{"role": "user", "content": "current task"},
|
|
]
|
|
result = policy.prepare(
|
|
messages,
|
|
system_prompt="system",
|
|
memories=[{"content": "remember this"}],
|
|
char_budget=8_500,
|
|
)
|
|
serialized = str(result.messages)
|
|
assert "secret trace" not in serialized
|
|
assert "current task" in serialized
|
|
assert "remember this" in serialized
|
|
assert result.dropped_messages >= 1
|