diff --git a/src/backend/base/langflow/services/database/models/transactions/model.py b/src/backend/base/langflow/services/database/models/transactions/model.py index 68edddde7..972284948 100644 --- a/src/backend/base/langflow/services/database/models/transactions/model.py +++ b/src/backend/base/langflow/services/database/models/transactions/model.py @@ -2,12 +2,14 @@ from datetime import datetime, timezone from typing import TYPE_CHECKING from uuid import UUID, uuid4 -from pydantic import field_validator +from pydantic import field_serializer, field_validator from sqlmodel import JSON, Column, Field, Relationship, SQLModel if TYPE_CHECKING: from langflow.services.database.models.flow.model import Flow +from langflow.utils.util_strings import truncate_long_strings + class TransactionBase(SQLModel): timestamp: datetime = Field(default_factory=lambda: datetime.now(timezone.utc)) @@ -32,6 +34,10 @@ class TransactionBase(SQLModel): value = UUID(value) return value + @field_serializer("outputs") + def serialize_outputs(self, data) -> dict: + return truncate_long_strings(data) + class TransactionTable(TransactionBase, table=True): # type: ignore[call-arg] __tablename__ = "transaction" diff --git a/src/backend/base/langflow/services/database/models/vertex_builds/model.py b/src/backend/base/langflow/services/database/models/vertex_builds/model.py index 5abccaaa8..5b82dcdb9 100644 --- a/src/backend/base/langflow/services/database/models/vertex_builds/model.py +++ b/src/backend/base/langflow/services/database/models/vertex_builds/model.py @@ -9,6 +9,8 @@ from sqlmodel import JSON, Column, Field, Relationship, SQLModel if TYPE_CHECKING: from langflow.services.database.models.flow.model import Flow +from langflow.utils.util_strings import truncate_long_strings + class VertexBuildBase(SQLModel): timestamp: datetime = Field(default_factory=lambda: datetime.now(timezone.utc)) @@ -39,6 +41,14 @@ class VertexBuildBase(SQLModel): value = value.replace(tzinfo=timezone.utc) return value + @field_serializer("data") + def serialize_data(self, data: dict) -> dict: + return truncate_long_strings(data) + + @field_serializer("artifacts") + def serialize_artifacts(self, data) -> dict: + return truncate_long_strings(data) + class VertexBuildTable(VertexBuildBase, table=True): # type: ignore[call-arg] __tablename__ = "vertex_build"