diff --git a/pipeline/models/__init__.py b/pipeline/models/__init__.py new file mode 100644 index 0000000..e69de29 diff --git a/pipeline/models/adapters.py b/pipeline/models/adapters.py new file mode 100644 index 0000000..1f2c8dd --- /dev/null +++ b/pipeline/models/adapters.py @@ -0,0 +1,25 @@ +from typing import Any +from pydantic import BaseModel, Field + + +class AdapterRecord(BaseModel): + """ + Record output from each adapter. + """ + + source: str = Field(..., description="Source type") + data: dict[str, Any] = Field(..., description="Data output from the adapter") + + +class OutputData(BaseModel): + """ + Output data from a pipeline run. + """ + + records: list[AdapterRecord] = Field(..., description="List of adapter records") + unified: bool | None = Field( + default=False, description="Whether the records are unified" + ) + metadata: dict[str, Any] | None = Field( + default=None, description="Metadata about the run" + ) diff --git a/pipeline/models.py b/pipeline/models/models.py similarity index 100% rename from pipeline/models.py rename to pipeline/models/models.py