#!/usr/bin/env python3 """ Test script for session manager. """ import sys from pathlib import Path # Add parent directory to path sys.path.insert(0, str(Path(__file__).parent.parent)) from conversation.session_manager import get_session_manager def test_session_management(): """Test basic session management.""" print("=" * 60) print("Session Manager Test") print("=" * 60) manager = get_session_manager() # Create session print("\n1. Creating session...") session_id = manager.create_session(agent_type="family") print(f" ✅ Created session: {session_id}") # Add messages print("\n2. Adding messages...") manager.add_message(session_id, "user", "What time is it?") manager.add_message(session_id, "assistant", "It's 3:45 PM EST.") manager.add_message(session_id, "user", "Set a timer for 10 minutes") manager.add_message(session_id, "assistant", "Timer set for 10 minutes.") print(f" ✅ Added 4 messages") # Get context print("\n3. Getting context...") context = manager.get_context_messages(session_id) print(f" ✅ Got {len(context)} messages in context") for msg in context: print(f" {msg['role']}: {msg['content'][:50]}...") # Get session print("\n4. Retrieving session...") session = manager.get_session(session_id) print(f" ✅ Session retrieved: {session.agent_type}, {len(session.messages)} messages") # Test with tool calls print("\n5. Testing with tool calls...") manager.add_message( session_id, "assistant", "I'll check the weather for you.", tool_calls=[{"name": "weather", "arguments": {"location": "San Francisco"}}], tool_results=[{"tool": "weather", "result": "72°F, sunny"}] ) context = manager.get_context_messages(session_id) last_msg = context[-1] print(f" ✅ Message with tool calls: {len(last_msg.get('tool_calls', []))} calls") print("\n" + "=" * 60) print("✅ All tests passed!") print("=" * 60) if __name__ == "__main__": test_session_management()