diff --git a/cognee/modules/pipelines/models/PipelineRunInfo.py b/cognee/modules/pipelines/models/PipelineRunInfo.py index 5f5a91c34..2a1da34cc 100644 --- a/cognee/modules/pipelines/models/PipelineRunInfo.py +++ b/cognee/modules/pipelines/models/PipelineRunInfo.py @@ -1,6 +1,7 @@ -from typing import Any, Optional +from typing import Any, Optional, List, Union from uuid import UUID from pydantic import BaseModel +from cognee.modules.data.models.Data import Data class PipelineRunInfo(BaseModel): @@ -8,11 +9,15 @@ class PipelineRunInfo(BaseModel): pipeline_run_id: UUID dataset_id: UUID dataset_name: str - payload: Optional[Any] = None + # Data must be mentioned in typing to allow custom encoders for Data to be activated + payload: Optional[Union[Any, List[Data]]] = None data_ingestion_info: Optional[list] = None model_config = { "arbitrary_types_allowed": True, + "from_attributes": True, + # Add custom encoding handler for Data ORM model + "json_encoders": {Data: lambda d: d.to_json()}, }