shared_db_session.py
1 """Multi-Agent Shared Session - DB Persistence Test""" 2 import sys 3 sys.path.insert(0, 'src/praisonai') 4 from praisonai.persistence import create_conversation_store 5 from praisonai.persistence.conversation.base import ConversationSession, ConversationMessage 6 7 # Create shared session for multiple agents 8 store = create_conversation_store("sqlite", path="/tmp/multi_agent.db") 9 session_id = "shared-session-123" 10 11 # Create session 12 session = ConversationSession(session_id=session_id, agent_id="multi") 13 try: 14 store.create_session(session) 15 except Exception: 16 pass 17 18 # Agent 1 writes 19 msg1 = ConversationMessage(session_id=session_id, role="user", content="Agent1: Hello") 20 store.add_message(session_id, msg1) 21 msg2 = ConversationMessage(session_id=session_id, role="assistant", content="Agent1: Hi there!") 22 store.add_message(session_id, msg2) 23 24 # Agent 2 writes to same session 25 msg3 = ConversationMessage(session_id=session_id, role="user", content="Agent2: What did Agent1 say?") 26 store.add_message(session_id, msg3) 27 msg4 = ConversationMessage(session_id=session_id, role="assistant", content="Agent2: Agent1 said Hello") 28 store.add_message(session_id, msg4) 29 30 # Verify both agents' messages are in session 31 messages = store.get_messages(session_id) 32 print(f"Total messages in shared session: {len(messages)}") 33 assert len(messages) >= 4, "Should have messages from both agents" 34 35 # Verify content 36 contents = [m.content for m in messages] 37 assert any("Agent1" in c for c in contents), "Should have Agent1 messages" 38 assert any("Agent2" in c for c in contents), "Should have Agent2 messages" 39 40 print("PASSED: Multi-agent shared session persistence")