64 lines
1.2 KiB
Python
64 lines
1.2 KiB
Python
from abc import ABC, abstractmethod
|
|
|
|
|
|
class MemoryBase(ABC):
|
|
@abstractmethod
|
|
def get(self, memory_id):
|
|
"""
|
|
Retrieve a memory by ID.
|
|
|
|
Args:
|
|
memory_id (str): ID of the memory to retrieve.
|
|
|
|
Returns:
|
|
dict: Retrieved memory.
|
|
"""
|
|
pass
|
|
|
|
@abstractmethod
|
|
def get_all(self):
|
|
"""
|
|
List all memories.
|
|
|
|
Returns:
|
|
list: List of all memories.
|
|
"""
|
|
pass
|
|
|
|
@abstractmethod
|
|
def update(self, memory_id, data):
|
|
"""
|
|
Update a memory by ID.
|
|
|
|
Args:
|
|
memory_id (str): ID of the memory to update.
|
|
data (dict): Data to update the memory with.
|
|
|
|
Returns:
|
|
dict: Updated memory.
|
|
"""
|
|
pass
|
|
|
|
@abstractmethod
|
|
def delete(self, memory_id):
|
|
"""
|
|
Delete a memory by ID.
|
|
|
|
Args:
|
|
memory_id (str): ID of the memory to delete.
|
|
"""
|
|
pass
|
|
|
|
@abstractmethod
|
|
def history(self, memory_id):
|
|
"""
|
|
Get the history of changes for a memory by ID.
|
|
|
|
Args:
|
|
memory_id (str): ID of the memory to get history for.
|
|
|
|
Returns:
|
|
list: List of changes for the memory.
|
|
"""
|
|
pass
|