diff --git a/src/backend/base/langflow/services/utils.py b/src/backend/base/langflow/services/utils.py index 5b8752e9d4..14b623a65e 100644 --- a/src/backend/base/langflow/services/utils.py +++ b/src/backend/base/langflow/services/utils.py @@ -487,6 +487,7 @@ def register_all_service_factories() -> None: from lfx.services.schema import ServiceType service_manager = get_service_manager() + from lfx.services.executor import factory as executor_factory from lfx.services.mcp_composer import factory as mcp_composer_factory from lfx.services.settings import factory as settings_factory @@ -542,6 +543,7 @@ def register_all_service_factories() -> None: ) service_manager.register_factory(authorization_factory.AuthorizationServiceFactory()) service_manager.register_factory(mcp_composer_factory.MCPComposerServiceFactory()) + service_manager.register_factory(executor_factory.ExecutorServiceFactory()) service_manager.set_factory_registered() diff --git a/src/lfx/tests/unit/run/test_base.py b/src/lfx/tests/unit/run/test_base.py index fda94111be..e9b9e0e9c3 100644 --- a/src/lfx/tests/unit/run/test_base.py +++ b/src/lfx/tests/unit/run/test_base.py @@ -180,7 +180,7 @@ class TestRunFlowJsonInput: mock_graph.edges = [] mock_graph.prepare = MagicMock() - async def mock_async_start(_inputs, **_kwargs): + async def mock_async_start(_inputs=None, **_kwargs): yield mock_graph.async_start = mock_async_start @@ -308,7 +308,7 @@ class TestRunFlowSessionId: graph.edges = [] graph.prepare = MagicMock() - async def _async_start(_inputs, **_kwargs): + async def _async_start(_inputs=None, **_kwargs): yield graph.async_start = _async_start @@ -469,7 +469,7 @@ class TestRunFlowSessionIdPropagation: graph.edges = [] graph.prepare = MagicMock() - async def _async_start(_inputs, **_kwargs): + async def _async_start(_inputs=None, **_kwargs): yield graph.async_start = _async_start @@ -574,7 +574,7 @@ class TestRunFlowUserId: graph.edges = [] graph.prepare = MagicMock() - async def _async_start(_inputs, **_kwargs): + async def _async_start(_inputs=None, **_kwargs): yield graph.async_start = _async_start @@ -671,7 +671,7 @@ class TestRunFlowFallbackToEnvVars: graph.edges = [] graph.prepare = MagicMock() - async def _async_start(_inputs, **kwargs): + async def _async_start(_inputs=None, **kwargs): captured.update(kwargs) yield @@ -743,7 +743,7 @@ class TestRunFlowGlobalVariables: mock_graph.edges = [] mock_graph.prepare = MagicMock() - async def mock_async_start(_inputs, **_kwargs): + async def mock_async_start(_inputs=None, **_kwargs): yield mock_graph.async_start = mock_async_start @@ -784,7 +784,7 @@ graph = Graph(chat_input, chat_output) mock_graph.edges = [] mock_graph.prepare = MagicMock() - async def mock_async_start(_inputs, **_kwargs): + async def mock_async_start(_inputs=None, **_kwargs): yield mock_graph.async_start = mock_async_start @@ -825,7 +825,7 @@ class TestRunFlowOutputFormats: mock_graph.edges = [] mock_graph.prepare = MagicMock() - async def mock_async_start(_inputs, **_kwargs): + async def mock_async_start(_inputs=None, **_kwargs): yield mock_graph.async_start = mock_async_start @@ -938,7 +938,7 @@ class TestRunFlowTiming: mock_result.vertex.display_name = "TestComponent" mock_result.vertex.id = "test-id-123" - async def mock_async_start(_inputs, **_kwargs): + async def mock_async_start(_inputs=None, **_kwargs): yield mock_result mock_graph.async_start = mock_async_start @@ -1133,7 +1133,7 @@ class TestRunFlowVariableValidation: mock_graph.edges = [] mock_graph.prepare = MagicMock() - async def mock_async_start(_inputs, **_kwargs): + async def mock_async_start(_inputs=None, **_kwargs): yield mock_graph.async_start = mock_async_start @@ -1169,7 +1169,7 @@ class TestRunFlowInputValueHandling: mock_graph.edges = [] mock_graph.prepare = MagicMock() - async def mock_async_start(_inputs, **_kwargs): + async def mock_async_start(_inputs=None, **_kwargs): yield mock_graph.async_start = mock_async_start @@ -1207,7 +1207,7 @@ class TestRunFlowInputValueHandling: mock_graph.edges = [] mock_graph.prepare = MagicMock() - async def mock_async_start(_inputs, **_kwargs): + async def mock_async_start(_inputs=None, **_kwargs): yield mock_graph.async_start = mock_async_start @@ -1264,7 +1264,7 @@ class TestRunFlowJsonFileExecution: mock_graph.edges = [] mock_graph.prepare = MagicMock() - async def mock_async_start(_inputs, **_kwargs): + async def mock_async_start(_inputs=None, **_kwargs): yield mock_graph.async_start = mock_async_start @@ -1364,7 +1364,7 @@ class TestRunFlowExecutionErrors: mock_graph.edges = [] mock_graph.prepare = MagicMock() - async def failing_async_start(_inputs, **_kwargs): + async def failing_async_start(_inputs=None, **_kwargs): msg = "Execution failed" raise ValueError(msg) yield # Required to make it an async generator @@ -1662,7 +1662,7 @@ class TestUpgradeFlowOption: mock_graph.edges = [] mock_graph.prepare = MagicMock() - async def _async_start(_inputs, **_kwargs): + async def _async_start(_inputs=None, **_kwargs): yield mock_graph.async_start = _async_start @@ -1703,7 +1703,7 @@ class TestUpgradeFlowOption: mock_graph.edges = [] mock_graph.prepare = MagicMock() - async def _async_start(_inputs, **_kwargs): + async def _async_start(_inputs=None, **_kwargs): yield mock_graph.async_start = _async_start @@ -1740,7 +1740,7 @@ class TestUpgradeFlowOption: mock_graph.edges = [] mock_graph.prepare = MagicMock() - async def _async_start(_inputs, **_kwargs): + async def _async_start(_inputs=None, **_kwargs): yield mock_graph.async_start = _async_start @@ -1783,7 +1783,7 @@ class TestUpgradeFlowOption: mock_graph.edges = [] mock_graph.prepare = MagicMock() - async def _async_start(_inputs, **_kwargs): + async def _async_start(_inputs=None, **_kwargs): yield mock_graph.async_start = _async_start @@ -1822,7 +1822,7 @@ class TestUpgradeFlowOption: mock_graph.edges = [] mock_graph.prepare = MagicMock() - async def _async_start(_inputs, **_kwargs): + async def _async_start(_inputs=None, **_kwargs): yield mock_graph.async_start = _async_start diff --git a/src/lfx/tests/unit/services/settings/test_settings_composition.py b/src/lfx/tests/unit/services/settings/test_settings_composition.py index 467004ce66..eec9321363 100644 --- a/src/lfx/tests/unit/services/settings/test_settings_composition.py +++ b/src/lfx/tests/unit/services/settings/test_settings_composition.py @@ -176,6 +176,7 @@ EXPECTED_FIELDS = { "redis_queue_polling_stale_threshold_s", "redis_queue_polling_watchdog_interval_s", "max_ingestion_timeout_secs", + "executor_kind", # UiSettings "embedded_mode", "hide_getting_started_progress",