diff --git a/src/backend/langflow/field_typing/__init__.py b/src/backend/langflow/field_typing/__init__.py index de8f020c6..15ce03693 100644 --- a/src/backend/langflow/field_typing/__init__.py +++ b/src/backend/langflow/field_typing/__init__.py @@ -13,6 +13,7 @@ from .constants import ( Callable, Chain, ChatPromptTemplate, + Code, Data, Document, Embeddings, @@ -73,4 +74,5 @@ __all__ = [ "Prompt", "RangeSpec", "TemplateField", + "Code", ] diff --git a/src/backend/langflow/field_typing/constants.py b/src/backend/langflow/field_typing/constants.py index ed0c0e442..5977cd9f8 100644 --- a/src/backend/langflow/field_typing/constants.py +++ b/src/backend/langflow/field_typing/constants.py @@ -34,6 +34,10 @@ class Prompt: pass +class Code: + pass + + LANGCHAIN_BASE_TYPES = { "Chain": Chain, "AgentExecutor": AgentExecutor, diff --git a/src/backend/langflow/interface/custom/utils.py b/src/backend/langflow/interface/custom/utils.py index f0ef4444f..681b5f214 100644 --- a/src/backend/langflow/interface/custom/utils.py +++ b/src/backend/langflow/interface/custom/utils.py @@ -121,7 +121,13 @@ def get_field_properties(extra_field): def process_type(field_type: str): if field_type.startswith("list") or field_type.startswith("List"): return extract_inner_type(field_type) - return "prompt" if field_type == "Prompt" else field_type + + # field_type is a string can be Prompt or Code too + # so we just need to lower if it is the case + lowercase_type = field_type.lower() + if lowercase_type in ["prompt", "code"]: + return lowercase_type + return field_type def add_new_custom_field( diff --git a/src/backend/langflow/utils/types.py b/src/backend/langflow/utils/types.py deleted file mode 100644 index 3657d550e..000000000 --- a/src/backend/langflow/utils/types.py +++ /dev/null @@ -1,2 +0,0 @@ -class Prompt: - pass