feat: create an IO Category (#8229)

* create an IO bundle

* Update styleUtils.ts

* [autofix.ci] apply automated fixes

* change folder names

* [autofix.ci] apply automated fixes

* Update test_endpoints.py

* refactor: update test IDs for input/output components in specs

* test: update test IDs for chat input/output components in decisionFlow.spec.ts

* test: update test IDs for input/output components in generalBugs-shard-5.spec.ts

* Update styleUtils.ts

* 🐛 (typescript_test.yml): increase the maximum shard count to 40 to improve test distribution and efficiency

* fix FE Tests Input output component Ids

* [autofix.ci] apply automated fixes

* ✅ (filterEdge-shard-1.spec.ts): update test to log error message when element is not visible before asserting visibility

* ✅ (notifications.spec.ts): update test selectors for better clarity and consistency in the notifications feature test suite

* 🐛 (typescript_test.yml): adjust the maximum shard count to 10 to prevent exceeding the limit and optimize test execution.

---------

Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>
Co-authored-by: deon-sanchez <deon.sanchez@datastax.com>
Co-authored-by: Deon Sanchez <69873175+deon-sanchez@users.noreply.github.com>
Co-authored-by: cristhianzl <cristhian.lousa@gmail.com>
This commit is contained in:
Edwin Jose 2025-05-30 13:58:34 -04:00 • committed by GitHub
commit dc222d93f5
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
62 changed files with 130 additions and 138 deletions

View file

@ -17,7 +17,7 @@ from blockbuster import blockbuster_ctx
from dotenv import load_dotenv
from fastapi.testclient import TestClient
from httpx import ASGITransport, AsyncClient
from langflow.components.inputs import ChatInput
from langflow.components.input_output import ChatInput
from langflow.graph import Graph
from langflow.initial_setup.constants import STARTER_FOLDER_NAME
from langflow.main import create_app

View file

@ -1,4 +1,4 @@
from langflow.components.inputs import ChatInput
from langflow.components.input_output import ChatInput
from langflow.components.processing.parse_json_data import ParseJSONDataComponent
from langflow.schema import Data

View file

@ -1,4 +1,4 @@
from langflow.components.inputs import ChatInput
from langflow.components.input_output import ChatInput
from langflow.memory import aget_messages
from langflow.schema.message import Message

View file

@ -1,4 +1,4 @@
from langflow.components.inputs import TextInputComponent
from langflow.components.input_output import TextInputComponent
from langflow.schema.message import Message
from tests.integration.utils import run_single_component

View file

@ -1,4 +1,4 @@
from langflow.components.outputs import ChatOutput
from langflow.components.input_output import ChatOutput
from langflow.memory import aget_messages
from langflow.schema.message import Message

View file

@ -1,4 +1,4 @@
from langflow.components.outputs import TextOutputComponent
from langflow.components.input_output import TextOutputComponent
from langflow.schema.message import Message
from tests.integration.utils import run_single_component

View file

@ -1,5 +1,4 @@
from langflow.components.inputs import ChatInput
from langflow.components.outputs import ChatOutput
from langflow.components.input_output import ChatInput, ChatOutput
from langflow.components.prompts import PromptComponent
from langflow.graph import Graph
from langflow.schema.message import Message

View file

@ -2,9 +2,9 @@ import os
import pytest
from langflow.base.tools.component_tool import ComponentToolkit
from langflow.components.input_output.chat_output import ChatOutput
from langflow.components.langchain_utilities import ToolCallingAgentComponent
from langflow.components.languagemodels import OpenAIModelComponent
from langflow.components.outputs.chat import ChatOutput
from langflow.components.tools.calculator import CalculatorToolComponent
from langflow.graph import Graph
from langflow.schema.data import Data

View file

@ -1,6 +1,6 @@
import pytest
from anyio import Path
from langflow.components.inputs import ChatInput, TextInputComponent
from langflow.components.input_output import ChatInput, TextInputComponent
from langflow.schema.message import Message
from langflow.utils.constants import MESSAGE_SENDER_AI, MESSAGE_SENDER_NAME_USER, MESSAGE_SENDER_USER

View file

@ -1,5 +1,5 @@
import pytest
from langflow.components.outputs import ChatOutput
from langflow.components.input_output import ChatOutput
from langflow.schema.data import Data
from langflow.schema.dataframe import DataFrame
from langflow.schema.message import Message

View file

@ -1,5 +1,5 @@
import pytest
from langflow.components.outputs import TextOutputComponent
from langflow.components.input_output import TextOutputComponent
from tests.base import ComponentTestBaseWithoutClient

View file

@ -1,5 +1,5 @@
import pytest
from langflow.components.inputs.chat import ChatInput
from langflow.components.input_output.chat import ChatInput
from langflow.schema.message import Message

View file

@ -3,8 +3,7 @@ from typing import Any
import pytest
from langflow.components.crewai import CrewAIAgentComponent, SequentialTaskComponent
from langflow.components.custom_component import CustomComponent
from langflow.components.inputs import ChatInput
from langflow.components.outputs import ChatOutput
from langflow.components.input_output import ChatInput, ChatOutput
from langflow.custom.utils import update_component_build_config
from langflow.schema import dotdict
from langflow.template import Output

View file

@ -1,9 +1,8 @@
import re
import pytest
from langflow.components.inputs import ChatInput
from langflow.components.input_output import ChatInput, ChatOutput
from langflow.components.languagemodels import OpenAIModelComponent
from langflow.components.outputs import ChatOutput
from langflow.components.prompts import PromptComponent
from langflow.graph import Graph

View file

@ -1,6 +1,5 @@
import pytest
from langflow.components.inputs import ChatInput
from langflow.components.outputs import ChatOutput
from langflow.components.input_output import ChatInput, ChatOutput
from langflow.graph import Graph
from langflow.graph.graph.constants import Finish
from langflow.graph.state.model import create_state_model

View file

@ -2,9 +2,8 @@ import logging
from collections import deque
import pytest
from langflow.components.inputs import ChatInput
from langflow.components.input_output import ChatInput, ChatOutput, TextOutputComponent
from langflow.components.langchain_utilities import ToolCallingAgentComponent
from langflow.components.outputs import ChatOutput, TextOutputComponent
from langflow.components.tools import YfinanceToolComponent
from langflow.graph import Graph
from langflow.graph.graph.constants import Finish

View file

@ -1,7 +1,7 @@
import asyncio
import pytest
from langflow.components.outputs import ChatOutput
from langflow.components.input_output import ChatOutput
from langflow.custom import Component
from langflow.events.event_manager import EventManager
from langflow.graph import Graph

View file

@ -1,11 +1,10 @@
import os
import pytest
from langflow.components.inputs import ChatInput
from langflow.components.inputs.text import TextInputComponent
from langflow.components.input_output import ChatInput, ChatOutput, TextOutputComponent
from langflow.components.input_output.text import TextInputComponent
from langflow.components.languagemodels import OpenAIModelComponent
from langflow.components.logic.conditional_router import ConditionalRouterComponent
from langflow.components.outputs import ChatOutput, TextOutputComponent
from langflow.components.prompts import PromptComponent
from langflow.custom import Component
from langflow.graph import Graph

View file

@ -2,9 +2,8 @@ from typing import TYPE_CHECKING
import pytest
from langflow.components.helpers.memory import MemoryComponent
from langflow.components.inputs import ChatInput
from langflow.components.input_output import ChatInput, ChatOutput
from langflow.components.languagemodels import OpenAIModelComponent
from langflow.components.outputs import ChatOutput
from langflow.components.prompts import PromptComponent
from langflow.graph import Graph
from langflow.graph.graph.constants import Finish

View file

@ -4,9 +4,8 @@ from typing import TYPE_CHECKING
import pytest
from langflow.components.helpers.memory import MemoryComponent
from langflow.components.inputs import ChatInput
from langflow.components.input_output import ChatInput, ChatOutput
from langflow.components.languagemodels import OpenAIModelComponent
from langflow.components.outputs import ChatOutput
from langflow.components.prompts import PromptComponent
from langflow.graph import Graph
from langflow.graph.graph.constants import Finish

View file

@ -5,9 +5,8 @@ from textwrap import dedent
import pytest
from langflow.components.data import FileComponent
from langflow.components.embeddings import OpenAIEmbeddingsComponent
from langflow.components.inputs import ChatInput
from langflow.components.input_output import ChatInput, ChatOutput
from langflow.components.languagemodels import OpenAIModelComponent
from langflow.components.outputs import ChatOutput
from langflow.components.processing import ParseDataComponent
from langflow.components.processing.split_text import SplitTextComponent
from langflow.components.prompts import PromptComponent

View file

@ -1,7 +1,7 @@
from typing import TYPE_CHECKING, Literal
import pytest
from langflow.components.inputs import ChatInput
from langflow.components.input_output import ChatInput
from langflow.inputs.inputs import DropdownInput, FileInput, IntInput, NestedDictInput, StrInput
from langflow.io.schema import create_input_schema

View file

@ -123,9 +123,9 @@ async def test_get_all(client: AsyncClient, logged_in_headers):
assert len(all_names) <= len(
files
) # Less or equal because we might have some files that don't have the dependencies installed
assert "ChatInput" in json_response["inputs"]
assert "ChatInput" in json_response["input_output"]
assert "Prompt" in json_response["prompts"]
assert "ChatOutput" in json_response["outputs"]
assert "ChatOutput" in json_response["input_output"]
@pytest.mark.usefixtures("active_user")