summaryrefslogtreecommitdiff
path: root/memory.py
diff options
context:
space:
mode:
Diffstat (limited to 'memory.py')
-rw-r--r--memory.py21
1 files changed, 21 insertions, 0 deletions
diff --git a/memory.py b/memory.py
index 6ba3368..aab2064 100644
--- a/memory.py
+++ b/memory.py
@@ -1,5 +1,26 @@
from dataclasses import dataclass, field
+from datetime import UTC, datetime
from enum import Enum
+from uuid import UUID, uuid7
+
+
+class MemoryCategory(Enum):
+ SEMANTIC = "semantic"
+ EPISODIC = "episodic"
+
+
+@dataclass
+class LongTermMemory:
+ id: UUID
+ content: str
+ category: MemoryCategory
+ created_at: datetime
+
+ @classmethod
+ def create(cls, content: str, category: MemoryCategory) -> LongTermMemory:
+ return cls(
+ id=uuid7(), content=content, category=category, created_at=datetime.now(UTC)
+ )
class TaskStatus(Enum):