From ec24470ce85c14a2fd6b78a9b04f82e171c46f18 Mon Sep 17 00:00:00 2001 From: Gabriel Luiz Freitas Almeida Date: Mon, 25 Mar 2024 12:29:48 -0300 Subject: [PATCH] Update input type mappings and function arguments --- src/backend/langflow/helpers/flow.py | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/src/backend/langflow/helpers/flow.py b/src/backend/langflow/helpers/flow.py index 5194ce05c..2127d043c 100644 --- a/src/backend/langflow/helpers/flow.py +++ b/src/backend/langflow/helpers/flow.py @@ -12,9 +12,9 @@ if TYPE_CHECKING: from langflow.graph.vertex.base import Vertex INPUT_TYPE_MAP = { - "ChatInput": "str", - "TextInput": "str", - "JSONInput": "dict", + "ChatInput": {"type_hint": "Optional[str]", "default": ""}, + "TextInput": {"type_hint": "Optional[str]", "default": ""}, + "JSONInput": {"type_hint": "Optional[dict]", "default": {}}, } @@ -105,7 +105,10 @@ def generate_function_for_flow(inputs: List["Vertex"], flow_id: str) -> Coroutin result = function(input1, input2) """ # Prepare function arguments with type hints and default values - args = [f"{input_.display_name.lower().replace(' ', '_')}: {INPUT_TYPE_MAP[input_.base_name]}" for input_ in inputs] + args = [ + f"{input_.display_name.lower().replace(' ', '_')}: {INPUT_TYPE_MAP[input_.base_name]['type_hint']} = {INPUT_TYPE_MAP[input_.base_name]['default']}" + for input_ in inputs + ] # Maintain original argument names for constructing the tweaks dictionary original_arg_names = [input_.display_name for input_ in inputs] @@ -120,6 +123,7 @@ def generate_function_for_flow(inputs: List["Vertex"], flow_id: str) -> Coroutin ) func_body = f""" +from typing import Optional async def flow_function({func_args}): tweaks = {{ {arg_mappings} }} from langflow.helpers.flow import run_flow