refactor: move workflow package to dify_graph (#32844)

This commit is contained in:
-LAN-
2026-03-02 18:42:30 +08:00
committed by GitHub
parent 9c33923985
commit c917838f9c
613 changed files with 2008 additions and 2012 deletions

View File

@ -841,7 +841,7 @@ class TestAgentService:
app, account = self._create_test_app_and_account(db_session_with_containers, mock_external_service_dependencies)
conversation, message = self._create_test_conversation_and_message(db_session_with_containers, app, account)
from core.workflow.file import FileTransferMethod, FileType
from dify_graph.file import FileTransferMethod, FileType
from extensions.ext_database import db
from models.enums import CreatorUserRole

View File

@ -7,7 +7,7 @@ from uuid import uuid4
from sqlalchemy import select
from core.workflow.enums import WorkflowExecutionStatus
from dify_graph.enums import WorkflowExecutionStatus
from models.enums import CreatorUserRole, WorkflowRunTriggeredFrom
from models.workflow import WorkflowArchiveLog, WorkflowRun
from services.retention.workflow_run.delete_archived_workflow_run import ArchivedWorkflowRunDeletion

View File

@ -4,8 +4,8 @@ from unittest.mock import MagicMock
import pytest
from core.workflow.enums import NodeType
from core.workflow.nodes.human_input.entities import (
from dify_graph.enums import NodeType
from dify_graph.nodes.human_input.entities import (
EmailDeliveryConfig,
EmailDeliveryMethod,
EmailRecipients,

View File

@ -6,7 +6,7 @@ from unittest.mock import patch
import pytest
from faker import Faker
from core.workflow.entities.workflow_execution import WorkflowExecutionStatus
from dify_graph.entities.workflow_execution import WorkflowExecutionStatus
from models import EndUser, Workflow, WorkflowAppLog, WorkflowRun
from models.enums import CreatorUserRole
from services.account_service import AccountService, TenantService

View File

@ -1,8 +1,8 @@
import pytest
from faker import Faker
from core.workflow.constants import CONVERSATION_VARIABLE_NODE_ID, SYSTEM_VARIABLE_NODE_ID
from core.workflow.variables.segments import StringSegment
from dify_graph.constants import CONVERSATION_VARIABLE_NODE_ID, SYSTEM_VARIABLE_NODE_ID
from dify_graph.variables.segments import StringSegment
from models import App, Workflow
from models.enums import DraftVariableType
from models.workflow import WorkflowDraftVariable
@ -467,7 +467,7 @@ class TestWorkflowDraftVariableService:
fake = Faker()
app = self._create_test_app(db_session_with_containers, mock_external_service_dependencies, fake=fake)
workflow = self._create_test_workflow(db_session_with_containers, app, fake=fake)
from core.workflow.variables.variables import StringVariable
from dify_graph.variables.variables import StringVariable
conv_var = StringVariable(
id=fake.uuid4(),
@ -650,7 +650,7 @@ class TestWorkflowDraftVariableService:
fake = Faker()
app = self._create_test_app(db_session_with_containers, mock_external_service_dependencies, fake=fake)
workflow = self._create_test_workflow(db_session_with_containers, app, fake=fake)
from core.workflow.variables.variables import StringVariable
from dify_graph.variables.variables import StringVariable
conv_var1 = StringVariable(
id=fake.uuid4(),

View File

@ -1393,8 +1393,8 @@ class TestWorkflowService:
from unittest.mock import patch
from core.app.workflow.node_factory import DifyNodeFactory
from core.model_manager import ModelInstance
from core.workflow.node_factory import DifyNodeFactory
# Act
with patch.object(
@ -1472,10 +1472,10 @@ class TestWorkflowService:
import uuid
from datetime import datetime
from core.workflow.enums import NodeType, WorkflowNodeExecutionStatus
from core.workflow.graph_events import NodeRunSucceededEvent
from core.workflow.node_events import NodeRunResult
from core.workflow.nodes.base.node import Node
from dify_graph.enums import NodeType, WorkflowNodeExecutionStatus
from dify_graph.graph_events import NodeRunSucceededEvent
from dify_graph.node_events import NodeRunResult
from dify_graph.nodes.base.node import Node
# Create mock node
mock_node = MagicMock(spec=Node)
@ -1517,12 +1517,12 @@ class TestWorkflowService:
# Assert
assert result is not None
assert result.node_id == node_id
from core.workflow.enums import NodeType
from dify_graph.enums import NodeType
assert result.node_type == NodeType.START # Should match the mock node type
assert result.title == "Test Node"
# Import the enum for comparison
from core.workflow.enums import WorkflowNodeExecutionStatus
from dify_graph.enums import WorkflowNodeExecutionStatus
assert result.status == WorkflowNodeExecutionStatus.SUCCEEDED
assert result.inputs is not None
@ -1547,10 +1547,10 @@ class TestWorkflowService:
import uuid
from datetime import datetime
from core.workflow.enums import NodeType, WorkflowNodeExecutionStatus
from core.workflow.graph_events import NodeRunFailedEvent
from core.workflow.node_events import NodeRunResult
from core.workflow.nodes.base.node import Node
from dify_graph.enums import NodeType, WorkflowNodeExecutionStatus
from dify_graph.graph_events import NodeRunFailedEvent
from dify_graph.node_events import NodeRunResult
from dify_graph.nodes.base.node import Node
# Create mock node
mock_node = MagicMock(spec=Node)
@ -1592,7 +1592,7 @@ class TestWorkflowService:
assert result is not None
assert result.node_id == node_id
# Import the enum for comparison
from core.workflow.enums import WorkflowNodeExecutionStatus
from dify_graph.enums import WorkflowNodeExecutionStatus
assert result.status == WorkflowNodeExecutionStatus.FAILED
assert result.error is not None
@ -1616,10 +1616,10 @@ class TestWorkflowService:
import uuid
from datetime import datetime
from core.workflow.enums import ErrorStrategy, NodeType, WorkflowNodeExecutionStatus
from core.workflow.graph_events import NodeRunFailedEvent
from core.workflow.node_events import NodeRunResult
from core.workflow.nodes.base.node import Node
from dify_graph.enums import ErrorStrategy, NodeType, WorkflowNodeExecutionStatus
from dify_graph.graph_events import NodeRunFailedEvent
from dify_graph.node_events import NodeRunResult
from dify_graph.nodes.base.node import Node
# Create mock node with continue_on_error
mock_node = MagicMock(spec=Node)
@ -1662,7 +1662,7 @@ class TestWorkflowService:
assert result is not None
assert result.node_id == node_id
# Import the enum for comparison
from core.workflow.enums import WorkflowNodeExecutionStatus
from dify_graph.enums import WorkflowNodeExecutionStatus
assert result.status == WorkflowNodeExecutionStatus.EXCEPTION # Should be EXCEPTION, not FAILED
assert result.outputs is not None

View File

@ -13,7 +13,7 @@ from core.app.app_config.entities import (
)
from core.model_runtime.entities.llm_entities import LLMMode
from core.prompt.utils.prompt_template_parser import PromptTemplateParser
from core.workflow.variables.input_entities import VariableEntity, VariableEntityType
from dify_graph.variables.input_entities import VariableEntity, VariableEntityType
from models import Account, Tenant
from models.api_based_extension import APIBasedExtension
from models.model import App, AppMode, AppModelConfig

View File

@ -4,7 +4,7 @@ from uuid import uuid4
from sqlalchemy import Engine, select
from sqlalchemy.orm import Session, sessionmaker
from core.workflow.enums import WorkflowNodeExecutionStatus
from dify_graph.enums import WorkflowNodeExecutionStatus
from libs.datetime_utils import naive_utc_now
from models.enums import CreatorUserRole
from models.workflow import WorkflowNodeExecutionModel