File size: 2,119 Bytes
4efde5d
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
#!/usr/bin/env python3
"""
Test script to demonstrate the context manager debug functionality.
"""

import sys
import os
sys.path.append(os.path.dirname(os.path.abspath(__file__)))

from agentpress.context_manager import ContextManager

def test_context_compression():
    """Test the context compression with debug output."""
    
    # Create sample messages that will trigger compression
    sample_messages = [
        {
            "role": "system",
            "content": "You are a helpful AI assistant.",
            "message_id": "msg_001"
        },
        {
            "role": "user", 
            "content": "Hello, can you help me with a complex task that involves analyzing a large dataset and generating comprehensive reports? " * 100,  # Make it long
            "message_id": "msg_002"
        },
        {
            "role": "assistant",
            "content": "Certainly! I'd be happy to help you with your dataset analysis and report generation. Let me break this down into manageable steps... " * 200,  # Make it very long
            "message_id": "msg_003"
        },
        {
            "role": "user",
            "content": "Great! Here's my dataset: " + "x" * 10000,  # Large content
            "message_id": "msg_004"
        }
    ]
    
    # Create context manager
    cm = ContextManager()
    
    # Test compression with debug
    print("Testing context compression with debug output...")
    print(f"Original messages count: {len(sample_messages)}")
    
    compressed = cm.compress_messages(
        messages=sample_messages,
        llm_model="gpt-4",
        thread_id="test_thread_123",
        agent_run_id="test_run_456"
    )
    
    print(f"Compressed messages count: {len(compressed)}")
    print(f"Debug files saved to: {cm.debug_dir}")
    
    # List the debug files
    import glob
    debug_files = glob.glob(os.path.join(cm.debug_dir, "*.json"))
    print(f"Debug files created: {len(debug_files)}")
    for file in debug_files[-3:]:  # Show last 3 files
        print(f"  - {os.path.basename(file)}")

if __name__ == "__main__":
    test_context_compression()