Research_Agent / phidata /phi /memory /workflow.py
zykrix
Re-added phidata as a normal folder (final fix)
c96b98a
Raw
History Blame Contribute Delete
1.15 kB
from typing import Dict, List, Any, Optional
from pydantic import BaseModel, ConfigDict
from phi.run.response import RunResponse
from phi.utils.log import logger
class WorkflowRun(BaseModel):
input: Optional[Dict[str, Any]] = None
response: Optional[RunResponse] = None
model_config = ConfigDict(arbitrary_types_allowed=True)
class WorkflowMemory(BaseModel):
runs: List[WorkflowRun] = []
model_config = ConfigDict(arbitrary_types_allowed=True)
def to_dict(self) -> Dict[str, Any]:
return self.model_dump(exclude_none=True)
def add_run(self, workflow_run: WorkflowRun) -> None:
"""Adds a WorkflowRun to the runs list."""
self.runs.append(workflow_run)
logger.debug("Added WorkflowRun to WorkflowMemory")
def clear(self) -> None:
"""Clear the WorkflowMemory"""
self.runs = []
def deep_copy(self, *, update: Optional[Dict[str, Any]] = None) -> "WorkflowMemory":
new_memory = self.model_copy(deep=True, update=update)
# clear the new memory to remove any references to the old memory
new_memory.clear()
return new_memory