first commit
This commit is contained in:
@@ -0,0 +1,40 @@
|
||||
from __future__ import annotations
|
||||
|
||||
import unittest
|
||||
|
||||
from src.agent_context_usage import collect_context_usage, format_context_usage
|
||||
from src.agent_session import AgentSessionState
|
||||
|
||||
|
||||
class AgentContextUsageTests(unittest.TestCase):
|
||||
def test_collect_context_usage_formats_breakdown(self) -> None:
|
||||
session = AgentSessionState.create(
|
||||
['# Intro\nhello', '# System\nworld'],
|
||||
'inspect repo',
|
||||
user_context={'currentDate': "Today's date is 2026-04-01."},
|
||||
system_context={'gitStatus': 'Current branch: main'},
|
||||
)
|
||||
session.append_assistant(
|
||||
'Reading files',
|
||||
(
|
||||
{
|
||||
'id': 'call_1',
|
||||
'type': 'function',
|
||||
'function': {'name': 'read_file', 'arguments': '{"path":"a.py"}'},
|
||||
},
|
||||
),
|
||||
)
|
||||
session.append_tool('read_file', 'call_1', '{"ok": true, "content": "print(1)"}')
|
||||
|
||||
report = collect_context_usage(
|
||||
session=session,
|
||||
model='Qwen/Qwen3-Coder-30B-A3B-Instruct',
|
||||
strategy='test session',
|
||||
)
|
||||
rendered = format_context_usage(report)
|
||||
|
||||
self.assertGreater(report.total_tokens, 0)
|
||||
self.assertIn('## Context Usage', rendered)
|
||||
self.assertIn('### System Prompt Sections', rendered)
|
||||
self.assertIn('### Message Breakdown', rendered)
|
||||
self.assertIn('#### Top Tools', rendered)
|
||||
Reference in New Issue
Block a user