diff --git a/src/backend/base/langflow/components/helpers/CreateList.py b/src/backend/base/langflow/components/helpers/CreateList.py new file mode 100644 index 000000000..217e16dfe --- /dev/null +++ b/src/backend/base/langflow/components/helpers/CreateList.py @@ -0,0 +1,27 @@ +from langflow.custom import Component +from langflow.inputs import StrInput +from langflow.schema import Data +from langflow.template import Output + +class CreateListComponent(Component): + display_name = "Create List" + description = "Creates a list of texts." + icon = "list" + + inputs = [ + StrInput( + name="texts", + display_name="Texts", + info="Enter one or more texts.", + is_list=True, + ), + ] + + outputs = [ + Output(display_name="Data List", name="list", method="create_list"), + ] + + def create_list(self) -> list[Data]: + data = [Data(text=text) for text in self.texts] + self.status = data + return data diff --git a/src/backend/base/langflow/components/helpers/IDGenerator.py b/src/backend/base/langflow/components/helpers/IDGenerator.py index 72a944f71..7e63f870b 100644 --- a/src/backend/base/langflow/components/helpers/IDGenerator.py +++ b/src/backend/base/langflow/components/helpers/IDGenerator.py @@ -5,7 +5,7 @@ from langflow.custom import CustomComponent from langflow.schema.dotdict import dotdict -class UUIDGeneratorComponent(CustomComponent): +class IDGeneratorComponent(CustomComponent): display_name = "ID Generator" description = "Generates a unique ID." diff --git a/src/backend/base/langflow/components/helpers/__init__.py b/src/backend/base/langflow/components/helpers/__init__.py index 1941e38b8..fcc9e83ee 100644 --- a/src/backend/base/langflow/components/helpers/__init__.py +++ b/src/backend/base/langflow/components/helpers/__init__.py @@ -1,22 +1,25 @@ from .CombineText import CombineTextComponent from .CustomComponent import CustomComponent from .FilterData import FilterDataComponent -from .IDGenerator import UUIDGeneratorComponent +from .IDGenerator import IDGeneratorComponent from .Memory import MemoryComponent from .MergeData import MergeDataComponent from .ParseData import ParseDataComponent from .SplitText import SplitTextComponent from .StoreMessage import StoreMessageComponent +from .CreateList import CreateListComponent __all__ = [ + "CreateListComponent", "CombineTextComponent", "CustomComponent", "FilterDataComponent", - "UUIDGeneratorComponent", + "IDGeneratorComponent", "MemoryComponent", "MergeDataComponent", "ParseDataComponent", "SplitTextComponent", "StoreMessageComponent", + "ListComponent", ] diff --git a/src/backend/base/langflow/components/prototypes/ConditionalRouter.py b/src/backend/base/langflow/components/prototypes/ConditionalRouter.py index 8305730ba..07c8103f0 100644 --- a/src/backend/base/langflow/components/prototypes/ConditionalRouter.py +++ b/src/backend/base/langflow/components/prototypes/ConditionalRouter.py @@ -66,21 +66,17 @@ class ConditionalRouterComponent(Component): def true_response(self) -> Message: result = self.evaluate_condition(self.input_text, self.match_text, self.operator, self.case_sensitive) if result: - self.stop("false_result") - response = self.message if self.message else self.input_text - self.status = response - return response + self.status = self.message + return self.message else: self.stop("true_result") - return Message() + return None def false_response(self) -> Message: result = self.evaluate_condition(self.input_text, self.match_text, self.operator, self.case_sensitive) if not result: - self.stop("true_result") - response = self.message if self.message else self.input_text - self.status = response - return response + self.status = self.message + return self.message else: self.stop("false_result") - return Message() + return None diff --git a/src/backend/base/langflow/components/prototypes/Pass.py b/src/backend/base/langflow/components/prototypes/Pass.py index 28e9ea524..a84164380 100644 --- a/src/backend/base/langflow/components/prototypes/Pass.py +++ b/src/backend/base/langflow/components/prototypes/Pass.py @@ -3,7 +3,6 @@ from langflow.io import MessageInput from langflow.schema.message import Message from langflow.template import Output - class PassMessageComponent(Component): display_name = "Pass" description = "Forwards the input message, unchanged." @@ -19,7 +18,7 @@ class PassMessageComponent(Component): name="ignored_message", display_name="Ignored Message", info="A second message to be ignored. Used as a workaround for continuity.", - advanced=True, + advanced=True ), ] diff --git a/tests/unit/test_helper_components.py b/tests/unit/test_helper_components.py index 9e9c4f63a..dc07c5835 100644 --- a/tests/unit/test_helper_components.py +++ b/tests/unit/test_helper_components.py @@ -31,7 +31,7 @@ from langflow.schema import Data def test_uuid_generator_component(): # Arrange - uuid_generator_component = helpers.UUIDGeneratorComponent() + uuid_generator_component = helpers.IDGeneratorComponent() uuid_generator_component.code = open(helpers.IDGenerator.__file__, "r").read() frontend_node, _ = build_custom_component_template(uuid_generator_component)