From 42fb9aa4aaa96d24575ec5fb9f95a0403dc2f2cd Mon Sep 17 00:00:00 2001 From: Gabriel Luiz Freitas Almeida Date: Wed, 7 Feb 2024 23:41:05 -0300 Subject: [PATCH] makes Text an input_type if field_type is str --- src/backend/langflow/template/field/base.py | 20 ++++++++++++++++++-- 1 file changed, 18 insertions(+), 2 deletions(-) diff --git a/src/backend/langflow/template/field/base.py b/src/backend/langflow/template/field/base.py index 021c0104d..c012b332f 100644 --- a/src/backend/langflow/template/field/base.py +++ b/src/backend/langflow/template/field/base.py @@ -1,8 +1,7 @@ from typing import Any, Callable, Optional, Union -from pydantic import BaseModel, ConfigDict, Field, field_serializer - from langflow.field_typing.range_spec import RangeSpec +from pydantic import BaseModel, ConfigDict, Field, field_serializer, model_serializer class TemplateField(BaseModel): @@ -67,6 +66,17 @@ class TemplateField(BaseModel): def to_dict(self): return self.model_dump(by_alias=True, exclude_none=True) + @model_serializer(mode="wrap") + def serialize_model(self, handler): + result = handler(self) + # If the field is str, we add the Text input type + if self.field_type == "str": + if "input_types" not in result: + result["input_types"] = ["Text"] + else: + result["input_types"].append("Text") + return result + @field_serializer("file_path") def serialize_file_path(self, value): return value if self.field_type == "file" else "" @@ -76,3 +86,9 @@ class TemplateField(BaseModel): if value == "float" and self.range_spec is None: self.range_spec = RangeSpec() return value + return value + return value + return value + return value + return value + return value