Signed-off-by: -LAN- <laipz8200@outlook.com>tags/1.3.1
| @@ -25,8 +25,8 @@ from core.app.entities.task_entities import ChatbotAppBlockingResponse, ChatbotA | |||
| from core.model_runtime.errors.invoke import InvokeAuthorizationError | |||
| from core.ops.ops_trace_manager import TraceQueueManager | |||
| from core.prompt.utils.get_thread_messages_length import get_thread_messages_length | |||
| from core.repository import RepositoryFactory | |||
| from core.repository.workflow_node_execution_repository import WorkflowNodeExecutionRepository | |||
| from core.workflow.repository import RepositoryFactory | |||
| from core.workflow.repository.workflow_node_execution_repository import WorkflowNodeExecutionRepository | |||
| from extensions.ext_database import db | |||
| from factories import file_factory | |||
| from models.account import Account | |||
| @@ -62,10 +62,10 @@ from core.app.task_pipeline.workflow_cycle_manage import WorkflowCycleManage | |||
| from core.model_runtime.entities.llm_entities import LLMUsage | |||
| from core.model_runtime.utils.encoders import jsonable_encoder | |||
| from core.ops.ops_trace_manager import TraceQueueManager | |||
| from core.repository.workflow_node_execution_repository import WorkflowNodeExecutionRepository | |||
| from core.workflow.enums import SystemVariableKey | |||
| from core.workflow.graph_engine.entities.graph_runtime_state import GraphRuntimeState | |||
| from core.workflow.nodes import NodeType | |||
| from core.workflow.repository.workflow_node_execution_repository import WorkflowNodeExecutionRepository | |||
| from events.message_event import message_was_created | |||
| from extensions.ext_database import db | |||
| from models import Conversation, EndUser, Message, MessageFile | |||
| @@ -23,8 +23,8 @@ from core.app.entities.app_invoke_entities import InvokeFrom, WorkflowAppGenerat | |||
| from core.app.entities.task_entities import WorkflowAppBlockingResponse, WorkflowAppStreamResponse | |||
| from core.model_runtime.errors.invoke import InvokeAuthorizationError | |||
| from core.ops.ops_trace_manager import TraceQueueManager | |||
| from core.repository import RepositoryFactory | |||
| from core.repository.workflow_node_execution_repository import WorkflowNodeExecutionRepository | |||
| from core.workflow.repository import RepositoryFactory | |||
| from core.workflow.repository.workflow_node_execution_repository import WorkflowNodeExecutionRepository | |||
| from extensions.ext_database import db | |||
| from factories import file_factory | |||
| from models import Account, App, EndUser, Workflow | |||
| @@ -54,8 +54,8 @@ from core.app.entities.task_entities import ( | |||
| from core.app.task_pipeline.based_generate_task_pipeline import BasedGenerateTaskPipeline | |||
| from core.app.task_pipeline.workflow_cycle_manage import WorkflowCycleManage | |||
| from core.ops.ops_trace_manager import TraceQueueManager | |||
| from core.repository.workflow_node_execution_repository import WorkflowNodeExecutionRepository | |||
| from core.workflow.enums import SystemVariableKey | |||
| from core.workflow.repository.workflow_node_execution_repository import WorkflowNodeExecutionRepository | |||
| from extensions.ext_database import db | |||
| from models.account import Account | |||
| from models.enums import CreatedByRole | |||
| @@ -49,12 +49,12 @@ from core.file import FILE_MODEL_IDENTITY, File | |||
| from core.model_runtime.utils.encoders import jsonable_encoder | |||
| from core.ops.entities.trace_entity import TraceTaskName | |||
| from core.ops.ops_trace_manager import TraceQueueManager, TraceTask | |||
| from core.repository.workflow_node_execution_repository import WorkflowNodeExecutionRepository | |||
| from core.tools.tool_manager import ToolManager | |||
| from core.workflow.entities.node_entities import NodeRunMetadataKey | |||
| from core.workflow.enums import SystemVariableKey | |||
| from core.workflow.nodes import NodeType | |||
| from core.workflow.nodes.tool.entities import ToolNodeData | |||
| from core.workflow.repository.workflow_node_execution_repository import WorkflowNodeExecutionRepository | |||
| from core.workflow.workflow_entry import WorkflowEntry | |||
| from models.account import Account | |||
| from models.enums import CreatedByRole, WorkflowRunTriggeredFrom | |||
| @@ -29,7 +29,7 @@ from core.ops.langfuse_trace.entities.langfuse_trace_entity import ( | |||
| UnitEnum, | |||
| ) | |||
| from core.ops.utils import filter_none_values | |||
| from core.repository.repository_factory import RepositoryFactory | |||
| from core.workflow.repository.repository_factory import RepositoryFactory | |||
| from extensions.ext_database import db | |||
| from models.model import EndUser | |||
| @@ -28,7 +28,7 @@ from core.ops.langsmith_trace.entities.langsmith_trace_entity import ( | |||
| LangSmithRunUpdateModel, | |||
| ) | |||
| from core.ops.utils import filter_none_values, generate_dotted_order | |||
| from core.repository.repository_factory import RepositoryFactory | |||
| from core.workflow.repository.repository_factory import RepositoryFactory | |||
| from extensions.ext_database import db | |||
| from models.model import EndUser, MessageFile | |||
| @@ -22,7 +22,7 @@ from core.ops.entities.trace_entity import ( | |||
| TraceTaskName, | |||
| WorkflowTraceInfo, | |||
| ) | |||
| from core.repository.repository_factory import RepositoryFactory | |||
| from core.workflow.repository.repository_factory import RepositoryFactory | |||
| from extensions.ext_database import db | |||
| from models.model import EndUser, MessageFile | |||
| @@ -2,5 +2,5 @@ | |||
| Repository implementations for data access. | |||
| This package contains concrete implementations of the repository interfaces | |||
| defined in the core.repository package. | |||
| defined in the core.workflow.repository package. | |||
| """ | |||
| @@ -11,9 +11,9 @@ from typing import Any | |||
| from sqlalchemy.orm import sessionmaker | |||
| from configs import dify_config | |||
| from core.repository.repository_factory import RepositoryFactory | |||
| from core.repositories.workflow_node_execution import SQLAlchemyWorkflowNodeExecutionRepository | |||
| from core.workflow.repository.repository_factory import RepositoryFactory | |||
| from extensions.ext_database import db | |||
| from repositories.workflow_node_execution import SQLAlchemyWorkflowNodeExecutionRepository | |||
| logger = logging.getLogger(__name__) | |||
| @@ -2,7 +2,7 @@ | |||
| WorkflowNodeExecution repository implementations. | |||
| """ | |||
| from repositories.workflow_node_execution.sqlalchemy_repository import SQLAlchemyWorkflowNodeExecutionRepository | |||
| from core.repositories.workflow_node_execution.sqlalchemy_repository import SQLAlchemyWorkflowNodeExecutionRepository | |||
| __all__ = [ | |||
| "SQLAlchemyWorkflowNodeExecutionRepository", | |||
| @@ -10,7 +10,7 @@ from sqlalchemy import UnaryExpression, asc, delete, desc, select | |||
| from sqlalchemy.engine import Engine | |||
| from sqlalchemy.orm import sessionmaker | |||
| from core.repository.workflow_node_execution_repository import OrderConfig | |||
| from core.workflow.repository.workflow_node_execution_repository import OrderConfig | |||
| from models.workflow import WorkflowNodeExecution, WorkflowNodeExecutionStatus, WorkflowNodeExecutionTriggeredFrom | |||
| logger = logging.getLogger(__name__) | |||
| @@ -6,8 +6,8 @@ for accessing and manipulating data, regardless of the underlying | |||
| storage mechanism. | |||
| """ | |||
| from core.repository.repository_factory import RepositoryFactory | |||
| from core.repository.workflow_node_execution_repository import WorkflowNodeExecutionRepository | |||
| from core.workflow.repository.repository_factory import RepositoryFactory | |||
| from core.workflow.repository.workflow_node_execution_repository import WorkflowNodeExecutionRepository | |||
| __all__ = [ | |||
| "RepositoryFactory", | |||
| @@ -8,7 +8,7 @@ It does not contain any implementation details or dependencies on specific repos | |||
| from collections.abc import Callable, Mapping | |||
| from typing import Any, Literal, Optional, cast | |||
| from core.repository.workflow_node_execution_repository import WorkflowNodeExecutionRepository | |||
| from core.workflow.repository.workflow_node_execution_repository import WorkflowNodeExecutionRepository | |||
| # Type for factory functions - takes a dict of parameters and returns any repository type | |||
| RepositoryFactoryFunc = Callable[[Mapping[str, Any]], Any] | |||
| @@ -4,8 +4,8 @@ Extension for initializing repositories. | |||
| This extension registers repository implementations with the RepositoryFactory. | |||
| """ | |||
| from core.repositories.repository_registry import register_repositories | |||
| from dify_app import DifyApp | |||
| from repositories.repository_registry import register_repositories | |||
| def init_app(_app: DifyApp) -> None: | |||
| @@ -2,8 +2,8 @@ import threading | |||
| from typing import Optional | |||
| import contexts | |||
| from core.repository import RepositoryFactory | |||
| from core.repository.workflow_node_execution_repository import OrderConfig | |||
| from core.workflow.repository import RepositoryFactory | |||
| from core.workflow.repository.workflow_node_execution_repository import OrderConfig | |||
| from extensions.ext_database import db | |||
| from libs.infinite_scroll_pagination import InfiniteScrollPagination | |||
| from models.enums import WorkflowRunTriggeredFrom | |||
| @@ -11,7 +11,6 @@ from sqlalchemy.orm import Session | |||
| from core.app.apps.advanced_chat.app_config_manager import AdvancedChatAppConfigManager | |||
| from core.app.apps.workflow.app_config_manager import WorkflowAppConfigManager | |||
| from core.model_runtime.utils.encoders import jsonable_encoder | |||
| from core.repository import RepositoryFactory | |||
| from core.variables import Variable | |||
| from core.workflow.entities.node_entities import NodeRunResult | |||
| from core.workflow.errors import WorkflowNodeRunFailedError | |||
| @@ -22,6 +21,7 @@ from core.workflow.nodes.enums import ErrorStrategy | |||
| from core.workflow.nodes.event import RunCompletedEvent | |||
| from core.workflow.nodes.event.types import NodeEvent | |||
| from core.workflow.nodes.node_mapping import LATEST_VERSION, NODE_TYPE_CLASSES_MAPPING | |||
| from core.workflow.repository import RepositoryFactory | |||
| from core.workflow.workflow_entry import WorkflowEntry | |||
| from events.app_event import app_draft_workflow_was_synced, app_published_workflow_was_updated | |||
| from extensions.ext_database import db | |||
| @@ -7,7 +7,7 @@ from celery import shared_task # type: ignore | |||
| from sqlalchemy import delete | |||
| from sqlalchemy.exc import SQLAlchemyError | |||
| from core.repository import RepositoryFactory | |||
| from core.workflow.repository import RepositoryFactory | |||
| from extensions.ext_database import db | |||
| from models.dataset import AppDatasetJoin | |||
| from models.model import ( | |||
| @@ -8,9 +8,9 @@ import pytest | |||
| from pytest_mock import MockerFixture | |||
| from sqlalchemy.orm import Session, sessionmaker | |||
| from core.repository.workflow_node_execution_repository import OrderConfig | |||
| from core.repositories.workflow_node_execution.sqlalchemy_repository import SQLAlchemyWorkflowNodeExecutionRepository | |||
| from core.workflow.repository.workflow_node_execution_repository import OrderConfig | |||
| from models.workflow import WorkflowNodeExecution | |||
| from repositories.workflow_node_execution.sqlalchemy_repository import SQLAlchemyWorkflowNodeExecutionRepository | |||
| @pytest.fixture | |||
| @@ -80,7 +80,7 @@ def test_get_by_node_execution_id(repository, session, mocker: MockerFixture): | |||
| """Test get_by_node_execution_id method.""" | |||
| session_obj, _ = session | |||
| # Set up mock | |||
| mock_select = mocker.patch("repositories.workflow_node_execution.sqlalchemy_repository.select") | |||
| mock_select = mocker.patch("core.repositories.workflow_node_execution.sqlalchemy_repository.select") | |||
| mock_stmt = mocker.MagicMock() | |||
| mock_select.return_value = mock_stmt | |||
| mock_stmt.where.return_value = mock_stmt | |||
| @@ -99,7 +99,7 @@ def test_get_by_workflow_run(repository, session, mocker: MockerFixture): | |||
| """Test get_by_workflow_run method.""" | |||
| session_obj, _ = session | |||
| # Set up mock | |||
| mock_select = mocker.patch("repositories.workflow_node_execution.sqlalchemy_repository.select") | |||
| mock_select = mocker.patch("core.repositories.workflow_node_execution.sqlalchemy_repository.select") | |||
| mock_stmt = mocker.MagicMock() | |||
| mock_select.return_value = mock_stmt | |||
| mock_stmt.where.return_value = mock_stmt | |||
| @@ -120,7 +120,7 @@ def test_get_running_executions(repository, session, mocker: MockerFixture): | |||
| """Test get_running_executions method.""" | |||
| session_obj, _ = session | |||
| # Set up mock | |||
| mock_select = mocker.patch("repositories.workflow_node_execution.sqlalchemy_repository.select") | |||
| mock_select = mocker.patch("core.repositories.workflow_node_execution.sqlalchemy_repository.select") | |||
| mock_stmt = mocker.MagicMock() | |||
| mock_select.return_value = mock_stmt | |||
| mock_stmt.where.return_value = mock_stmt | |||
| @@ -158,7 +158,7 @@ def test_clear(repository, session, mocker: MockerFixture): | |||
| """Test clear method.""" | |||
| session_obj, _ = session | |||
| # Set up mock | |||
| mock_delete = mocker.patch("repositories.workflow_node_execution.sqlalchemy_repository.delete") | |||
| mock_delete = mocker.patch("core.repositories.workflow_node_execution.sqlalchemy_repository.delete") | |||
| mock_stmt = mocker.MagicMock() | |||
| mock_delete.return_value = mock_stmt | |||
| mock_stmt.where.return_value = mock_stmt | |||