IACR MCP Server

""" Module for handling temporary memory storage of agent messages. """ import pickle import base64 from ...storage.configuration import Configuration def save_temporary_memory(messages: list, agent_id: str) -> None: """ Save messages for a specific agent ID in temporary memory using pickledb. Args: messages: List of messages to store agent_id: Unique identifier for the agent """ # Serialize messages using pickle and base64 encode for storage serialized_messages = base64.b64encode(pickle.dumps(messages)).decode('utf-8') Configuration.set(f"temp_memory_{agent_id}", serialized_messages) def get_temporary_memory(agent_id: str) -> list: """ Retrieve messages for a specific agent ID from temporary memory. Args: agent_id: Unique identifier for the agent Returns: List of messages if found, None if not found """ serialized_messages = Configuration.get(f"temp_memory_{agent_id}") if serialized_messages is None: return None # Deserialize messages from base64 encoded pickle messages = pickle.loads(base64.b64decode(serialized_messages)) return messages