Spaces:
Sleeping
Sleeping
| from .base_memory import BaseMemory | |
| from dataclasses import 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 |