test(display): exercise real usage and usage-less provider controls

This commit is contained in:
Teknium
2026-09-07 03:41:38 -07:00
parent 04767e7aaa
commit b4e2ae9e76
2 changed files with 16 additions and 5 deletions
+3 -4
View File
@@ -1,9 +1,8 @@
"""Live session context-window breakdown for UI surfaces.
Estimates how the next provider request is composed: system prompt tiers,
tool schemas, and conversation history. Uses the same rough char/4 heuristic
as ``agent.model_metadata.estimate_request_tokens_rough`` so numbers align
with compression thresholds — not exact tokenizer counts.
Estimates system prompt tiers, tool schemas, and conversation history for the
category breakdown. Overall occupancy retains its provider-usage or estimate
provenance; category estimates are not exact tokenizer counts or gate authority.
"""
from __future__ import annotations
+13 -1
View File
@@ -40,10 +40,13 @@ def child(out: Path) -> None:
class ProviderFixture(BaseHTTPRequestHandler):
def do_POST(self):
request = json.loads(self.rfile.read(int(self.headers["Content-Length"])))
(out / "provider-request.json").write_text(json.dumps(request, indent=2))
request_file = "provider-request-unmetered.json" if getattr(self.server, "omit_usage", False) else "provider-request.json"
(out / request_file).write_text(json.dumps(request, indent=2))
response = {"id": "fixture", "object": "chat.completion", "created": 0, "model": "fixture",
"choices": [{"index": 0, "finish_reason": "stop", "message": {"role": "assistant", "content": "fixture answer"}}],
"usage": {"prompt_tokens": 1234, "completion_tokens": 20, "total_tokens": 1254}}
if getattr(self.server, "omit_usage", False):
response.pop("usage")
body = json.dumps(response).encode()
self.send_response(200)
self.send_header("Content-Type", "application/json")
@@ -88,6 +91,15 @@ def child(out: Path) -> None:
print(asyncio.run(runner._handle_context_command(MessageEvent(text="/context", source=source, message_id="fixture"))), flush=True)
results[scenario] = {"breakdown": compute_session_context_breakdown(agent, cli.conversation_history), "usage": usage}
(out / "payloads.json").write_text(json.dumps(results, indent=2))
server.omit_usage = True
unmetered = AIAgent(model="fixture", provider="openai-compat", api_key="fixture", base_url=base_url, enabled_toolsets=[], quiet_mode=True, skip_context_files=True, skip_memory=True, save_trajectories=False)
unmetered.context_compressor._config_context_length = 100_000
unmetered.context_compressor._resolved_context_length = 100_000
unmetered.context_compressor.maybe_seed_preflight_display_tokens(1234)
unmetered._disable_streaming = True
unmetered_result = unmetered.run_conversation("fixture without usage")
assert unmetered_result["completed"]
(out / "unmetered-result.json").write_text(json.dumps({"last_prompt_tokens": unmetered_result["last_prompt_tokens"]}))
server.shutdown()
server.server_close()
print("DISPLAY_PROBE_COMPLETE", flush=True)