diff --git a/src/backend/base/langflow/api/v1/chat.py b/src/backend/base/langflow/api/v1/chat.py index 500fab7cb..a01d2a223 100644 --- a/src/backend/base/langflow/api/v1/chat.py +++ b/src/backend/base/langflow/api/v1/chat.py @@ -187,7 +187,8 @@ async def build_vertex( logger.exception(f"Error building vertex: {exc}") params = format_exception_message(exc) valid = False - logs = {vertex.outputs[0]["name"]: [Log(message=params, type="error")]} + output_label = vertex.outputs[0]["name"] if vertex.outputs else "output" + logs = {output_label: [Log(message=params, type="error")]} result_data_response = ResultDataResponse(results={}) artifacts = {} # If there's an error building the vertex diff --git a/src/backend/base/langflow/api/v1/schemas.py b/src/backend/base/langflow/api/v1/schemas.py index c44e0f676..093dfd6c0 100644 --- a/src/backend/base/langflow/api/v1/schemas.py +++ b/src/backend/base/langflow/api/v1/schemas.py @@ -245,7 +245,7 @@ class VerticesOrderResponse(BaseModel): class ResultDataResponse(BaseModel): results: Optional[Any] = Field(default_factory=dict) - logs: dict[str, Log] = Field(default_factory=dict) + logs: dict[str, List[Log]] = Field(default_factory=dict) message: Optional[Any] = Field(default_factory=dict) artifacts: Optional[Any] = Field(default_factory=dict) timedelta: Optional[float] = None diff --git a/src/backend/base/langflow/schema/schema.py b/src/backend/base/langflow/schema/schema.py index 56a2bf21e..24dd30e68 100644 --- a/src/backend/base/langflow/schema/schema.py +++ b/src/backend/base/langflow/schema/schema.py @@ -29,7 +29,7 @@ def build_logs_from_artifacts(artifacts: dict) -> dict: elif _type: log = Log(message=message, type=_type) - logs[key] = log + logs[key] = [log] return logs