File size: 1,110 Bytes
58974f8 |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 |
from .base_memory import BaseMemory
from dataclasses import dataclass
@dataclass
class Task:
def __init__(self, name: str, description: str):
self.name = name
self.description = description
class TaskChain:
def __init__(self, tasks: list):
self.tasks = tasks
def append(self, task: Task):
self.tasks.append(task)
def clear(self):
self.tasks = []
def __str__(self):
return "\n".join([f"{task.name}: {task.description}" for task in self.tasks])
class PlanMemory(BaseMemory):
def __init__(self, initial_message, initial_task) -> None:
self.messages = initial_message if initial_message else []
self.tasks = TaskChain(initial_task) if initial_task else TaskChain([])
def append(self, message: str) -> None:
self.messages.append(message)
#todo: parse message for tasks & add to task chain
self.tasks.append(Task("Task", message))
def clear(self) -> None:
self.messages = []
def load(self) -> None:
pass
def save(self) -> None:
pass |