From 1c0f18f89751bad31f34689f02679d7ac7305684 Mon Sep 17 00:00:00 2001 From: Gabriel Luiz Freitas Almeida Date: Fri, 22 Sep 2023 14:56:16 -0300 Subject: [PATCH] =?UTF-8?q?=F0=9F=94=A7=20fix(=5F=5Fmain=5F=5F.py):=20upda?= =?UTF-8?q?te=20import=20statements=20to=20reflect=20changes=20in=20module?= =?UTF-8?q?=20structure=20=F0=9F=94=A7=20fix(endpoints.py):=20update=20imp?= =?UTF-8?q?ort=20statement=20to=20reflect=20changes=20in=20module=20struct?= =?UTF-8?q?ure=20=F0=9F=94=A7=20fix(flows.py):=20update=20import=20stateme?= =?UTF-8?q?nts=20to=20reflect=20changes=20in=20module=20structure=20?= =?UTF-8?q?=F0=9F=94=A7=20fix(login.py):=20update=20import=20statement=20t?= =?UTF-8?q?o=20reflect=20changes=20in=20module=20structure=20=F0=9F=94=A7?= =?UTF-8?q?=20fix(base.py):=20update=20import=20statement=20to=20reflect?= =?UTF-8?q?=20changes=20in=20module=20structure=20=F0=9F=94=A7=20fix(base.?= =?UTF-8?q?py):=20update=20import=20statement=20to=20reflect=20changes=20i?= =?UTF-8?q?n=20module=20structure=20=F0=9F=94=A7=20fix(custom=5Fcomponent.?= =?UTF-8?q?py):=20update=20import=20statement=20to=20reflect=20changes=20i?= =?UTF-8?q?n=20module=20structure=20=F0=9F=94=A7=20fix(base.py):=20update?= =?UTF-8?q?=20import=20statement=20to=20reflect=20changes=20in=20module=20?= =?UTF-8?q?structure=20=F0=9F=94=A7=20fix(base.py):=20update=20import=20st?= =?UTF-8?q?atement=20to=20reflect=20changes=20in=20module=20structure=20?= =?UTF-8?q?=F0=9F=94=A7=20fix(base.py):=20update=20import=20statement=20to?= =?UTF-8?q?=20reflect=20changes=20in=20module=20structure=20=F0=9F=94=A7?= =?UTF-8?q?=20fix(base.py):=20update=20import=20statement=20to=20reflect?= =?UTF-8?q?=20changes=20in=20module=20structure=20=F0=9F=94=A7=20fix(base.?= =?UTF-8?q?py):=20update=20import=20statement=20to=20reflect=20changes=20i?= =?UTF-8?q?n=20module=20structure=20=F0=9F=94=A7=20fix(base.py):=20update?= =?UTF-8?q?=20import=20statement=20to=20reflect=20changes=20in=20module=20?= =?UTF-8?q?structure=20=F0=9F=94=A7=20fix(base.py):=20update=20import=20st?= =?UTF-8?q?atement=20to=20reflect=20changes=20in=20module=20structure=20?= =?UTF-8?q?=F0=9F=94=A7=20fix(base.py):=20update=20import=20statement=20to?= =?UTF-8?q?=20reflect=20changes=20in=20module=20structure=20=F0=9F=94=A7?= =?UTF-8?q?=20fix(base.py):=20update=20import=20statement=20to=20reflect?= =?UTF-8?q?=20changes=20in=20module=20structure=20=F0=9F=94=A7=20fix(base.?= =?UTF-8?q?py):=20update=20import=20statement=20to=20reflect=20changes=20i?= =?UTF-8?q?n=20module=20structure=20=F0=9F=94=A7=20fix(base.py):=20update?= =?UTF-8?q?=20import=20statement=20to=20reflect=20changes=20in=20module=20?= =?UTF-8?q?structure=20=F0=9F=94=A7=20fix(base.py):=20update=20import=20st?= =?UTF-8?q?atement=20to=20reflect=20changes=20in=20module=20structure=20?= =?UTF-8?q?=F0=9F=94=A7=20fix(base.py):=20update=20import=20statement=20to?= =?UTF-8?q?=20reflect=20changes=20in=20module=20structure=20=F0=9F=94=A7?= =?UTF-8?q?=20fix(base.py):=20update=20import=20statement=20to=20reflect?= =?UTF-8?q?=20changes=20in=20module=20structure=20=F0=9F=94=A7=20fix(base.?= =?UTF-8?q?py):=20update=20import=20statement=20to=20reflect=20changes=20i?= =?UTF-8?q?n=20module=20structure=20=F0=9F=94=A7=20fix(base.py):=20update?= =?UTF-8?q?=20import=20statement=20to=20reflect=20changes=20in=20module=20?= =?UTF-8?q?structure=20=F0=9F=94=A7=20fix(base.py):=20update=20import=20st?= =?UTF-8?q?atement=20to=20reflect=20changes=20in=20module=20structure=20?= =?UTF-8?q?=F0=9F=94=A7=20fix(base.py):=20update=20import=20statement=20to?= =?UTF-8?q?=20reflect=20changes=20in=20module=20structure=20=F0=9F=94=A7?= =?UTF-8?q?=20fix(base.py):=20update=20import=20statement=20to=20reflect?= =?UTF-8?q?=20changes=20in=20module=20structure=20=F0=9F=94=A7=20fix(base.?= =?UTF-8?q?py):=20update=20import=20statement=20to=20reflect=20changes=20i?= =?UTF-8?q?n=20module=20structure=20=F0=9F=94=A7=20fix(base.py):=20update?= =?UTF-8?q?=20import=20statement=20to=20reflect=20changes=20in=20module=20?= =?UTF-8?q?structure=20=F0=9F=94=A7=20fix(base.py):=20update=20import=20st?= =?UTF-8?q?atement=20to=20reflect=20changes=20in=20module=20structure?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 🔧 fix(process.py): update import statement for get_session_service in langflow.processing.process module to reflect correct module location 🔧 fix(utils.py): update import statement for get_session and get_settings_service in langflow.services.auth.utils module to reflect correct module location 🔧 fix(manager.py): update import statement for ServiceType.CACHE_MANAGER in langflow.services.chat.manager module to reflect correct module location 🔧 fix(manager.py): update import statement for ServiceType.DATABASE_MANAGER in langflow.services.chat.manager module to reflect correct module location 🔧 fix(utils.py): update import statement for get_settings_service in langflow.services.database.manager module to reflect correct module location 🔧 fix(utils.py): update import statement for get_settings_service in langflow.services.database.utils module to reflect correct module location 🔧 fix(getters.py): update import statement for DatabaseManager, SettingsManager, ChatManager in langflow.services.getters module to reflect correct module location 🔧 fix(getters.py): update import statement for get_settings_manager in langflow.services.getters module to reflect correct function name change 🔧 fix(getters.py): update import statement for get_db_manager in langflow.services.getters module to reflect correct function name change 🔧 fix(getters.py): update import statement for get_chat_manager in langflow.services.getters module to reflect correct function name change 🔧 fix(getters.py): update import statement for get_settings_manager in langflow.services.getters module to reflect correct function name change 🔧 fix(getters.py): update import statement for get_db_manager in langflow.services.getters module to reflect correct function name change 🔧 fix(getters.py): update import statement for get_session in langflow.services.getters module to reflect correct function name change 🔧 fix(getters.py): update import statement for get_chat_manager in langflow.services.getters module to reflect correct function name change 🔧 fix(langfuse.py): update import statement for get_settings_service in langflow.services.plugins.langfuse module to reflect correct module location 🔧 fix(schema.py): update import statement for ServiceType.AUTH_MANAGER, ServiceType.CACHE_MANAGER, ServiceType.SETTINGS_MANAGER, ServiceType.DATABASE_MANAGER, ServiceType.CHAT_MANAGER, ServiceType.SESSION_MANAGER, ServiceType.TASK_MANAGER in langflow.services.schema module to reflect correct module location 🔧 fix --- src/backend/langflow/__main__.py | 2 +- src/backend/langflow/api/v1/endpoints.py | 2 +- src/backend/langflow/api/v1/flows.py | 4 +- src/backend/langflow/api/v1/login.py | 2 +- src/backend/langflow/interface/agents/base.py | 2 +- src/backend/langflow/interface/base.py | 2 +- src/backend/langflow/interface/chains/base.py | 2 +- .../interface/custom/custom_component.py | 2 +- .../interface/document_loaders/base.py | 2 +- .../langflow/interface/embeddings/base.py | 2 +- src/backend/langflow/interface/listing.py | 2 +- src/backend/langflow/interface/llms/base.py | 2 +- .../langflow/interface/memories/base.py | 2 +- .../langflow/interface/output_parsers/base.py | 2 +- .../langflow/interface/prompts/base.py | 2 +- .../langflow/interface/retrievers/base.py | 2 +- .../langflow/interface/text_splitters/base.py | 2 +- .../langflow/interface/toolkits/base.py | 2 +- src/backend/langflow/interface/tools/base.py | 2 +- .../langflow/interface/utilities/base.py | 2 +- src/backend/langflow/interface/utils.py | 2 +- .../langflow/interface/vector_store/base.py | 2 +- src/backend/langflow/processing/process.py | 2 +- src/backend/langflow/services/auth/utils.py | 2 +- src/backend/langflow/services/chat/manager.py | 2 +- .../langflow/services/database/manager.py | 2 +- .../langflow/services/database/utils.py | 2 +- src/backend/langflow/services/getters.py | 57 ++++++++++++++++--- .../langflow/services/plugins/langfuse.py | 2 +- src/backend/langflow/services/schema.py | 14 ++--- src/backend/langflow/worker.py | 2 +- tests/test_process.py | 2 +- 32 files changed, 86 insertions(+), 47 deletions(-) diff --git a/src/backend/langflow/__main__.py b/src/backend/langflow/__main__.py index c63b371ed..c17d39d91 100644 --- a/src/backend/langflow/__main__.py +++ b/src/backend/langflow/__main__.py @@ -3,7 +3,7 @@ import time import httpx from langflow.services.database.utils import session_getter from langflow.services.manager import initialize_services, initialize_settings_service -from langflow.services.utils import get_db_service, get_settings_service +from langflow.services.getters import get_db_service, get_settings_service from multiprocess import Process, cpu_count # type: ignore import platform diff --git a/src/backend/langflow/api/v1/endpoints.py b/src/backend/langflow/api/v1/endpoints.py index 4d034a59f..ade2f19e7 100644 --- a/src/backend/langflow/api/v1/endpoints.py +++ b/src/backend/langflow/api/v1/endpoints.py @@ -26,7 +26,7 @@ from langflow.interface.types import ( build_langchain_template_custom_component, ) -from langflow.services.utils import get_session +from langflow.services.getters import get_session try: from langflow.worker import process_graph_cached_task diff --git a/src/backend/langflow/api/v1/flows.py b/src/backend/langflow/api/v1/flows.py index be49ad836..9953db0db 100644 --- a/src/backend/langflow/api/v1/flows.py +++ b/src/backend/langflow/api/v1/flows.py @@ -12,8 +12,8 @@ from langflow.services.database.models.flow import ( FlowUpdate, ) from langflow.services.database.models.user.user import User -from langflow.services.utils import get_session -from langflow.services.utils import get_settings_service +from langflow.services.getters import get_session +from langflow.services.getters import get_settings_service import orjson from sqlmodel import Session from fastapi import APIRouter, Depends, HTTPException diff --git a/src/backend/langflow/api/v1/login.py b/src/backend/langflow/api/v1/login.py index 969cf096e..d45302c2e 100644 --- a/src/backend/langflow/api/v1/login.py +++ b/src/backend/langflow/api/v1/login.py @@ -12,7 +12,7 @@ from langflow.services.auth.utils import ( get_current_active_user, ) -from langflow.services.utils import get_settings_service +from langflow.services.getters import get_settings_service router = APIRouter(tags=["Login"]) diff --git a/src/backend/langflow/interface/agents/base.py b/src/backend/langflow/interface/agents/base.py index 16df6d98f..696f5afd0 100644 --- a/src/backend/langflow/interface/agents/base.py +++ b/src/backend/langflow/interface/agents/base.py @@ -5,7 +5,7 @@ from langchain.agents import types from langflow.custom.customs import get_custom_nodes from langflow.interface.agents.custom import CUSTOM_AGENTS from langflow.interface.base import LangChainTypeCreator -from langflow.services.utils import get_settings_service +from langflow.services.getters import get_settings_service from langflow.template.frontend_node.agents import AgentFrontendNode from loguru import logger diff --git a/src/backend/langflow/interface/base.py b/src/backend/langflow/interface/base.py index f622cf478..13dd05619 100644 --- a/src/backend/langflow/interface/base.py +++ b/src/backend/langflow/interface/base.py @@ -2,7 +2,7 @@ from abc import ABC, abstractmethod from typing import Any, Dict, List, Optional, Type, Union from langchain.chains.base import Chain from langchain.agents import AgentExecutor -from langflow.services.utils import get_settings_service +from langflow.services.getters import get_settings_service from pydantic import BaseModel from langflow.template.field.base import TemplateField diff --git a/src/backend/langflow/interface/chains/base.py b/src/backend/langflow/interface/chains/base.py index c18ff34ab..b2d07b7e4 100644 --- a/src/backend/langflow/interface/chains/base.py +++ b/src/backend/langflow/interface/chains/base.py @@ -3,7 +3,7 @@ from typing import Any, Dict, List, Optional, Type from langflow.custom.customs import get_custom_nodes from langflow.interface.base import LangChainTypeCreator from langflow.interface.importing.utils import import_class -from langflow.services.utils import get_settings_service +from langflow.services.getters import get_settings_service from langflow.template.frontend_node.chains import ChainFrontendNode from loguru import logger diff --git a/src/backend/langflow/interface/custom/custom_component.py b/src/backend/langflow/interface/custom/custom_component.py index ef6761081..49ac81ab1 100644 --- a/src/backend/langflow/interface/custom/custom_component.py +++ b/src/backend/langflow/interface/custom/custom_component.py @@ -4,7 +4,7 @@ from fastapi import HTTPException from langflow.interface.custom.constants import CUSTOM_COMPONENT_SUPPORTED_TYPES from langflow.interface.custom.component import Component from langflow.interface.custom.directory_reader import DirectoryReader -from langflow.services.utils import get_db_service +from langflow.services.getters import get_db_service from langflow.interface.custom.utils import extract_inner_type from langflow.utils import validate diff --git a/src/backend/langflow/interface/document_loaders/base.py b/src/backend/langflow/interface/document_loaders/base.py index 84c84ee55..e2c379b67 100644 --- a/src/backend/langflow/interface/document_loaders/base.py +++ b/src/backend/langflow/interface/document_loaders/base.py @@ -1,7 +1,7 @@ from typing import Dict, List, Optional, Type from langflow.interface.base import LangChainTypeCreator -from langflow.services.utils import get_settings_service +from langflow.services.getters import get_settings_service from langflow.template.frontend_node.documentloaders import DocumentLoaderFrontNode from langflow.interface.custom_lists import documentloaders_type_to_cls_dict diff --git a/src/backend/langflow/interface/embeddings/base.py b/src/backend/langflow/interface/embeddings/base.py index 72d9a4cdb..d280cf1c1 100644 --- a/src/backend/langflow/interface/embeddings/base.py +++ b/src/backend/langflow/interface/embeddings/base.py @@ -2,7 +2,7 @@ from typing import Dict, List, Optional, Type from langflow.interface.base import LangChainTypeCreator from langflow.interface.custom_lists import embedding_type_to_cls_dict -from langflow.services.utils import get_settings_service +from langflow.services.getters import get_settings_service from langflow.template.frontend_node.base import FrontendNode from langflow.template.frontend_node.embeddings import EmbeddingFrontendNode diff --git a/src/backend/langflow/interface/listing.py b/src/backend/langflow/interface/listing.py index 2851e4ea8..aa72e568e 100644 --- a/src/backend/langflow/interface/listing.py +++ b/src/backend/langflow/interface/listing.py @@ -1,4 +1,4 @@ -from langflow.services.utils import get_settings_service +from langflow.services.getters import get_settings_service from langflow.utils.lazy_load import LazyLoadDictBase diff --git a/src/backend/langflow/interface/llms/base.py b/src/backend/langflow/interface/llms/base.py index 74ec78af6..ffb7fa2f2 100644 --- a/src/backend/langflow/interface/llms/base.py +++ b/src/backend/langflow/interface/llms/base.py @@ -2,7 +2,7 @@ from typing import Dict, List, Optional, Type from langflow.interface.base import LangChainTypeCreator from langflow.interface.custom_lists import llm_type_to_cls_dict -from langflow.services.utils import get_settings_service +from langflow.services.getters import get_settings_service from langflow.template.frontend_node.llms import LLMFrontendNode from loguru import logger diff --git a/src/backend/langflow/interface/memories/base.py b/src/backend/langflow/interface/memories/base.py index fa3576305..3f3658304 100644 --- a/src/backend/langflow/interface/memories/base.py +++ b/src/backend/langflow/interface/memories/base.py @@ -2,7 +2,7 @@ from typing import Dict, List, Optional, Type from langflow.interface.base import LangChainTypeCreator from langflow.interface.custom_lists import memory_type_to_cls_dict -from langflow.services.utils import get_settings_service +from langflow.services.getters import get_settings_service from langflow.template.frontend_node.base import FrontendNode from langflow.template.frontend_node.memories import MemoryFrontendNode diff --git a/src/backend/langflow/interface/output_parsers/base.py b/src/backend/langflow/interface/output_parsers/base.py index 93d4eeeda..06dfdf4eb 100644 --- a/src/backend/langflow/interface/output_parsers/base.py +++ b/src/backend/langflow/interface/output_parsers/base.py @@ -4,7 +4,7 @@ from langchain import output_parsers from langflow.interface.base import LangChainTypeCreator from langflow.interface.importing.utils import import_class -from langflow.services.utils import get_settings_service +from langflow.services.getters import get_settings_service from langflow.template.frontend_node.output_parsers import OutputParserFrontendNode from loguru import logger diff --git a/src/backend/langflow/interface/prompts/base.py b/src/backend/langflow/interface/prompts/base.py index 01ac40ab6..29d3e8ba8 100644 --- a/src/backend/langflow/interface/prompts/base.py +++ b/src/backend/langflow/interface/prompts/base.py @@ -5,7 +5,7 @@ from langchain import prompts from langflow.custom.customs import get_custom_nodes from langflow.interface.base import LangChainTypeCreator from langflow.interface.importing.utils import import_class -from langflow.services.utils import get_settings_service +from langflow.services.getters import get_settings_service from langflow.template.frontend_node.prompts import PromptFrontendNode from loguru import logger diff --git a/src/backend/langflow/interface/retrievers/base.py b/src/backend/langflow/interface/retrievers/base.py index 5562cf264..4ee40e659 100644 --- a/src/backend/langflow/interface/retrievers/base.py +++ b/src/backend/langflow/interface/retrievers/base.py @@ -4,7 +4,7 @@ from langchain import retrievers from langflow.interface.base import LangChainTypeCreator from langflow.interface.importing.utils import import_class -from langflow.services.utils import get_settings_service +from langflow.services.getters import get_settings_service from langflow.template.frontend_node.retrievers import RetrieverFrontendNode from loguru import logger diff --git a/src/backend/langflow/interface/text_splitters/base.py b/src/backend/langflow/interface/text_splitters/base.py index abf3640c8..4f337817f 100644 --- a/src/backend/langflow/interface/text_splitters/base.py +++ b/src/backend/langflow/interface/text_splitters/base.py @@ -1,7 +1,7 @@ from typing import Dict, List, Optional, Type from langflow.interface.base import LangChainTypeCreator -from langflow.services.utils import get_settings_service +from langflow.services.getters import get_settings_service from langflow.template.frontend_node.textsplitters import TextSplittersFrontendNode from langflow.interface.custom_lists import textsplitter_type_to_cls_dict diff --git a/src/backend/langflow/interface/toolkits/base.py b/src/backend/langflow/interface/toolkits/base.py index d358fcde8..73ca4852f 100644 --- a/src/backend/langflow/interface/toolkits/base.py +++ b/src/backend/langflow/interface/toolkits/base.py @@ -4,7 +4,7 @@ from langchain.agents import agent_toolkits from langflow.interface.base import LangChainTypeCreator from langflow.interface.importing.utils import import_class, import_module -from langflow.services.utils import get_settings_service +from langflow.services.getters import get_settings_service from loguru import logger from langflow.utils.util import build_template_from_class diff --git a/src/backend/langflow/interface/tools/base.py b/src/backend/langflow/interface/tools/base.py index cdc161d8f..a99025ff7 100644 --- a/src/backend/langflow/interface/tools/base.py +++ b/src/backend/langflow/interface/tools/base.py @@ -15,7 +15,7 @@ from langflow.interface.tools.constants import ( OTHER_TOOLS, ) from langflow.interface.tools.util import get_tool_params -from langflow.services.utils import get_settings_service +from langflow.services.getters import get_settings_service from langflow.template.field.base import TemplateField from langflow.template.template.base import Template diff --git a/src/backend/langflow/interface/utilities/base.py b/src/backend/langflow/interface/utilities/base.py index b1e7c461b..665143da2 100644 --- a/src/backend/langflow/interface/utilities/base.py +++ b/src/backend/langflow/interface/utilities/base.py @@ -5,7 +5,7 @@ from langchain import SQLDatabase, utilities from langflow.custom.customs import get_custom_nodes from langflow.interface.base import LangChainTypeCreator from langflow.interface.importing.utils import import_class -from langflow.services.utils import get_settings_service +from langflow.services.getters import get_settings_service from langflow.template.frontend_node.utilities import UtilitiesFrontendNode from loguru import logger diff --git a/src/backend/langflow/interface/utils.py b/src/backend/langflow/interface/utils.py index 388697b2a..7b78e75c5 100644 --- a/src/backend/langflow/interface/utils.py +++ b/src/backend/langflow/interface/utils.py @@ -10,7 +10,7 @@ from langchain.base_language import BaseLanguageModel from PIL.Image import Image from loguru import logger from langflow.services.chat.config import ChatConfig -from langflow.services.utils import get_settings_service +from langflow.services.getters import get_settings_service def load_file_into_dict(file_path: str) -> dict: diff --git a/src/backend/langflow/interface/vector_store/base.py b/src/backend/langflow/interface/vector_store/base.py index 7c0567362..786031a6b 100644 --- a/src/backend/langflow/interface/vector_store/base.py +++ b/src/backend/langflow/interface/vector_store/base.py @@ -4,7 +4,7 @@ from langchain import vectorstores from langflow.interface.base import LangChainTypeCreator from langflow.interface.importing.utils import import_class -from langflow.services.utils import get_settings_service +from langflow.services.getters import get_settings_service from langflow.template.frontend_node.vectorstores import VectorStoreFrontendNode from loguru import logger diff --git a/src/backend/langflow/processing/process.py b/src/backend/langflow/processing/process.py index fa35bd348..4c96e2fde 100644 --- a/src/backend/langflow/processing/process.py +++ b/src/backend/langflow/processing/process.py @@ -6,7 +6,7 @@ from langflow.interface.run import ( get_memory_key, update_memory_keys, ) -from langflow.services.utils import get_session_service +from langflow.services.getters import get_session_service from loguru import logger from langflow.graph import Graph from langchain.chains.base import Chain diff --git a/src/backend/langflow/services/auth/utils.py b/src/backend/langflow/services/auth/utils.py index a8c7d7b4f..b72514798 100644 --- a/src/backend/langflow/services/auth/utils.py +++ b/src/backend/langflow/services/auth/utils.py @@ -12,7 +12,7 @@ from langflow.services.database.models.user.crud import ( get_user_by_username, update_user_last_login_at, ) -from langflow.services.utils import get_session, get_settings_service +from langflow.services.getters import get_session, get_settings_service from sqlmodel import Session oauth2_login = OAuth2PasswordBearer(tokenUrl="api/v1/login") diff --git a/src/backend/langflow/services/chat/manager.py b/src/backend/langflow/services/chat/manager.py index 029c26ecd..3fe937ce8 100644 --- a/src/backend/langflow/services/chat/manager.py +++ b/src/backend/langflow/services/chat/manager.py @@ -52,7 +52,7 @@ class ChatService(Service): self.chat_history = ChatHistory() self.chat_cache = cache_service self.chat_cache.attach(self.update) - self.cache_service = service_manager.get(ServiceType.CACHE_MANAGER) + self.cache_service = service_manager.get(ServiceType.CACHE_SERVICE) def on_chat_history_update(self): """Send the last chat message to the client.""" diff --git a/src/backend/langflow/services/database/manager.py b/src/backend/langflow/services/database/manager.py index 46ced4524..ca7f34d10 100644 --- a/src/backend/langflow/services/database/manager.py +++ b/src/backend/langflow/services/database/manager.py @@ -3,7 +3,7 @@ from typing import TYPE_CHECKING from langflow.services.base import Service from langflow.services.database.models.user.crud import get_user_by_username from langflow.services.database.utils import Result, TableResults -from langflow.services.utils import get_settings_service +from langflow.services.getters import get_settings_service from sqlalchemy import inspect import sqlalchemy as sa from sqlmodel import SQLModel, Session, create_engine diff --git a/src/backend/langflow/services/database/utils.py b/src/backend/langflow/services/database/utils.py index 5ac62ee93..ce4990fa1 100644 --- a/src/backend/langflow/services/database/utils.py +++ b/src/backend/langflow/services/database/utils.py @@ -13,7 +13,7 @@ def initialize_database(): logger.debug("Initializing database") from langflow.services import service_manager, ServiceType - database_service = service_manager.get(ServiceType.DATABASE_MANAGER) + database_service = service_manager.get(ServiceType.DATABASE_SERVICE) try: database_service.check_schema_health() except Exception as exc: diff --git a/src/backend/langflow/services/getters.py b/src/backend/langflow/services/getters.py index 8b32aef02..43b344d40 100644 --- a/src/backend/langflow/services/getters.py +++ b/src/backend/langflow/services/getters.py @@ -3,24 +3,63 @@ from typing import TYPE_CHECKING, Generator if TYPE_CHECKING: - from langflow.services.database.manager import DatabaseManager - from langflow.services.settings.manager import SettingsManager - from langflow.services.chat.manager import ChatManager + from langflow.services.database.manager import DatabaseService + from langflow.services.settings.manager import SettingsService + from langflow.services.cache.manager import BaseCacheService + from langflow.services.session.manager import SessionService + from langflow.services.task.manager import TaskService + from langflow.services.chat.manager import ChatService from sqlmodel import Session -def get_settings_manager() -> "SettingsManager": - return service_manager.get(ServiceType.SETTINGS_MANAGER) +def get_settings_service() -> "SettingsService": + try: + return service_manager.get(ServiceType.SETTINGS_MANAGER) + except ValueError: + # initialize settings service + from langflow.services.manager import initialize_settings_service + + initialize_settings_service() + return service_manager.get(ServiceType.SETTINGS_MANAGER) -def get_db_manager() -> "DatabaseManager": +def get_db_service() -> "DatabaseService": return service_manager.get(ServiceType.DATABASE_MANAGER) def get_session() -> Generator["Session", None, None]: - db_manager = service_manager.get(ServiceType.DATABASE_MANAGER) - yield from db_manager.get_session() + db_service = service_manager.get(ServiceType.DATABASE_MANAGER) + yield from db_service.get_session() -def get_chat_manager() -> "ChatManager": +def get_cache_service() -> "BaseCacheService": + return service_manager.get(ServiceType.CACHE_MANAGER) + + +def get_session_service() -> "SessionService": + return service_manager.get(ServiceType.SESSION_MANAGER) + + +def get_task_service() -> "TaskService": + return service_manager.get(ServiceType.TASK_MANAGER) + + +def get_chat_service() -> "ChatService": return service_manager.get(ServiceType.CHAT_MANAGER) + + +def get_settings_service() -> "SettingsService": + return service_manager.get(ServiceType.SETTINGS_SERVICE) + + +def get_db_service() -> "DatabaseService": + return service_manager.get(ServiceType.DATABASE_SERVICE) + + +def get_session() -> Generator["Session", None, None]: + db_service = service_manager.get(ServiceType.DATABASE_SERVICE) + yield from db_service.get_session() + + +def get_chat_service() -> "ChatService": + return service_manager.get(ServiceType.CHAT_SERVICE) diff --git a/src/backend/langflow/services/plugins/langfuse.py b/src/backend/langflow/services/plugins/langfuse.py index bc50ccc2c..29d59808b 100644 --- a/src/backend/langflow/services/plugins/langfuse.py +++ b/src/backend/langflow/services/plugins/langfuse.py @@ -1,4 +1,4 @@ -from langflow.services.utils import get_settings_service +from langflow.services.getters import get_settings_service from langflow.utils.logger import logger ### Temporary implementation diff --git a/src/backend/langflow/services/schema.py b/src/backend/langflow/services/schema.py index 8b2bb75c2..8b3b41fcb 100644 --- a/src/backend/langflow/services/schema.py +++ b/src/backend/langflow/services/schema.py @@ -7,10 +7,10 @@ class ServiceType(str, Enum): registered with the service manager. """ - AUTH_MANAGER = "auth_service" - CACHE_MANAGER = "cache_service" - SETTINGS_MANAGER = "settings_service" - DATABASE_MANAGER = "database_service" - CHAT_MANAGER = "chat_service" - SESSION_MANAGER = "session_service" - TASK_MANAGER = "task_service" + AUTH_SERVICE = "auth_service" + CACHE_SERVICE = "cache_service" + SETTINGS_SERVICE = "settings_service" + DATABASE_SERVICE = "database_service" + CHAT_SERVICE = "chat_service" + SESSION_SERVICE = "session_service" + TASK_SERVICE = "task_service" diff --git a/src/backend/langflow/worker.py b/src/backend/langflow/worker.py index 92f6f1f7c..7b5f67b7b 100644 --- a/src/backend/langflow/worker.py +++ b/src/backend/langflow/worker.py @@ -10,7 +10,7 @@ from langflow.processing.process import ( process_inputs, ) from langflow.services.manager import initialize_session_service -from langflow.services.utils import get_session_service +from langflow.services.getters import get_session_service if TYPE_CHECKING: from langflow.graph.vertex.base import Vertex diff --git a/tests/test_process.py b/tests/test_process.py index 775d17145..0588800dc 100644 --- a/tests/test_process.py +++ b/tests/test_process.py @@ -1,5 +1,5 @@ from langflow.processing.process import process_tweaks -from langflow.services.utils import get_session_service +from langflow.services.getters import get_session_service def test_no_tweaks():