refactor(api): rename dify_graph to graphon (#34095)

This commit is contained in:
99
2026-03-25 21:58:56 +08:00
committed by GitHub
parent 7e9d00a5a6
commit 52e7492cbc
898 changed files with 2687 additions and 2687 deletions

View File

@@ -8,7 +8,7 @@ from sqlalchemy.orm import Session
from configs import dify_config
from constants import HEADER_NAME_CSRF_TOKEN
from dify_graph.enums import WorkflowExecutionStatus
from graphon.enums import WorkflowExecutionStatus
from libs.datetime_utils import naive_utc_now
from libs.token import _real_cookie_name, generate_csrf_token
from models import Account, DifySetup, Tenant, TenantAccountJoin

View File

@@ -7,8 +7,8 @@ from sqlalchemy import select
from sqlalchemy.orm import Session
from core.workflow.variable_prefixes import CONVERSATION_VARIABLE_NODE_ID, ENVIRONMENT_VARIABLE_NODE_ID
from dify_graph.variables.segments import StringSegment
from factories.variable_factory import segment_to_variable
from graphon.variables.segments import StringSegment
from models import Workflow
from models.model import AppMode
from models.workflow import WorkflowDraftVariable

View File

@@ -32,17 +32,17 @@ from core.app.layers.pause_state_persist_layer import (
WorkflowResumptionContext,
)
from core.workflow.system_variables import build_system_variables
from dify_graph.entities.pause_reason import SchedulingPause
from dify_graph.enums import WorkflowExecutionStatus
from dify_graph.graph_engine.entities.commands import GraphEngineCommand
from dify_graph.graph_engine.layers.base import GraphEngineLayerNotInitializedError
from dify_graph.graph_events.graph import GraphRunPausedEvent
from dify_graph.model_runtime.entities.llm_entities import LLMUsage
from dify_graph.runtime.graph_runtime_state import GraphRuntimeState
from dify_graph.runtime.graph_runtime_state_protocol import ReadOnlyGraphRuntimeState
from dify_graph.runtime.read_only_wrappers import ReadOnlyGraphRuntimeStateWrapper
from dify_graph.runtime.variable_pool import VariablePool
from extensions.ext_storage import storage
from graphon.entities.pause_reason import SchedulingPause
from graphon.enums import WorkflowExecutionStatus
from graphon.graph_engine.entities.commands import GraphEngineCommand
from graphon.graph_engine.layers.base import GraphEngineLayerNotInitializedError
from graphon.graph_events.graph import GraphRunPausedEvent
from graphon.model_runtime.entities.llm_entities import LLMUsage
from graphon.runtime.graph_runtime_state import GraphRuntimeState
from graphon.runtime.graph_runtime_state_protocol import ReadOnlyGraphRuntimeState
from graphon.runtime.read_only_wrappers import ReadOnlyGraphRuntimeStateWrapper
from graphon.runtime.variable_pool import VariablePool
from libs.datetime_utils import naive_utc_now
from models import Account
from models import WorkflowPause as WorkflowPauseModel
@@ -545,7 +545,7 @@ class TestPauseStatePersistenceLayerTestContainers:
layer.initialize(graph_runtime_state, command_channel)
# Import other event types
from dify_graph.graph_events.graph import (
from graphon.graph_events.graph import (
GraphRunFailedEvent,
GraphRunStartedEvent,
GraphRunSucceededEvent,

View File

@@ -17,7 +17,7 @@ from core.workflow.human_input_compat import (
MemberRecipient,
WebAppDeliveryMethod,
)
from dify_graph.nodes.human_input.entities import FormDefinition, HumanInputNodeData, UserAction
from graphon.nodes.human_input.entities import FormDefinition, HumanInputNodeData, UserAction
from models.account import Account, Tenant, TenantAccountJoin, TenantAccountRole
from models.human_input import (
EmailExternalRecipientPayload,

View File

@@ -15,18 +15,18 @@ from core.repositories.sqlalchemy_workflow_execution_repository import SQLAlchem
from core.repositories.sqlalchemy_workflow_node_execution_repository import SQLAlchemyWorkflowNodeExecutionRepository
from core.workflow.node_runtime import DifyHumanInputNodeRuntime
from core.workflow.system_variables import build_system_variables
from dify_graph.enums import WorkflowType
from dify_graph.graph import Graph
from dify_graph.graph_engine.command_channels.in_memory_channel import InMemoryChannel
from dify_graph.graph_engine.graph_engine import GraphEngine
from dify_graph.nodes.end.end_node import EndNode
from dify_graph.nodes.end.entities import EndNodeData
from dify_graph.nodes.human_input.entities import HumanInputNodeData, UserAction
from dify_graph.nodes.human_input.enums import HumanInputFormStatus
from dify_graph.nodes.human_input.human_input_node import HumanInputNode
from dify_graph.nodes.start.entities import StartNodeData
from dify_graph.nodes.start.start_node import StartNode
from dify_graph.runtime import GraphRuntimeState, VariablePool
from graphon.enums import WorkflowType
from graphon.graph import Graph
from graphon.graph_engine.command_channels.in_memory_channel import InMemoryChannel
from graphon.graph_engine.graph_engine import GraphEngine
from graphon.nodes.end.end_node import EndNode
from graphon.nodes.end.entities import EndNodeData
from graphon.nodes.human_input.entities import HumanInputNodeData, UserAction
from graphon.nodes.human_input.enums import HumanInputFormStatus
from graphon.nodes.human_input.human_input_node import HumanInputNode
from graphon.nodes.start.entities import StartNodeData
from graphon.nodes.start.start_node import StartNode
from graphon.runtime import GraphRuntimeState, VariablePool
from libs.datetime_utils import naive_utc_now
from models import Account
from models.account import Tenant, TenantAccountJoin, TenantAccountRole

View File

@@ -7,10 +7,10 @@ import pytest
from sqlalchemy.orm import Session
from core.app.file_access import DatabaseFileAccessController
from dify_graph.file import File, FileTransferMethod, FileType
from extensions.ext_database import db
from extensions.storage.storage_type import StorageType
from factories.file_factory import StorageKeyLoader
from graphon.file import File, FileTransferMethod, FileType
from models import ToolFile, UploadFile
from models.enums import CreatorUserRole

View File

@@ -5,7 +5,7 @@ from datetime import datetime, timedelta
from decimal import Decimal
from uuid import uuid4
from dify_graph.nodes.human_input.entities import FormDefinition, UserAction
from graphon.nodes.human_input.entities import FormDefinition, UserAction
from models.account import Account, Tenant, TenantAccountJoin
from models.enums import ConversationFromSource, InvokeFrom
from models.execution_extra_content import HumanInputContent

View File

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

View File

@@ -11,12 +11,12 @@ import pytest
from sqlalchemy import Engine, delete, select
from sqlalchemy.orm import Session, sessionmaker
from dify_graph.entities import WorkflowExecution
from dify_graph.entities.pause_reason import HumanInputRequired, PauseReasonType
from dify_graph.enums import WorkflowExecutionStatus
from dify_graph.nodes.human_input.entities import FormDefinition, FormInput, UserAction
from dify_graph.nodes.human_input.enums import FormInputType, HumanInputFormStatus
from extensions.ext_storage import storage
from graphon.entities import WorkflowExecution
from graphon.entities.pause_reason import HumanInputRequired, PauseReasonType
from graphon.enums import WorkflowExecutionStatus
from graphon.nodes.human_input.entities import FormDefinition, FormInput, UserAction
from graphon.nodes.human_input.enums import FormInputType, HumanInputFormStatus
from libs.datetime_utils import naive_utc_now
from models.enums import CreatorUserRole, WorkflowRunTriggeredFrom
from models.human_input import (

View File

@@ -15,8 +15,8 @@ import pytest
from sqlalchemy import Engine, delete, select
from sqlalchemy.orm import Session, sessionmaker
from dify_graph.nodes.human_input.entities import FormDefinition, UserAction
from dify_graph.nodes.human_input.enums import HumanInputFormStatus
from graphon.nodes.human_input.entities import FormDefinition, UserAction
from graphon.nodes.human_input.enums import HumanInputFormStatus
from models.account import Account, Tenant, TenantAccountJoin, TenantAccountRole
from models.enums import ConversationFromSource, InvokeFrom
from models.execution_extra_content import ExecutionExtraContent, HumanInputContent

View File

@@ -11,8 +11,8 @@ from sqlalchemy import Engine, delete
from sqlalchemy import exc as sa_exc
from sqlalchemy.orm import Session, sessionmaker
from dify_graph.entities import WorkflowExecution
from dify_graph.enums import WorkflowExecutionStatus
from graphon.entities import WorkflowExecution
from graphon.enums import WorkflowExecutionStatus
from libs.datetime_utils import naive_utc_now
from models.enums import CreatorUserRole, WorkflowRunTriggeredFrom
from models.workflow import WorkflowRun, WorkflowType

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 dify_graph.file import FileTransferMethod, FileType
from graphon.file import FileTransferMethod, FileType
from models.enums import CreatorUserRole
# Add files to message

View File

@@ -5,8 +5,8 @@ from uuid import uuid4
import pytest
from sqlalchemy.orm import sessionmaker
from dify_graph.variables import StringVariable
from extensions.ext_database import db
from graphon.variables import StringVariable
from models.workflow import ConversationVariable
from services.conversation_variable_updater import ConversationVariableNotFoundError, ConversationVariableUpdater

View File

@@ -13,7 +13,7 @@ from sqlalchemy.orm import Session
from core.rag.index_processor.constant.index_type import IndexStructureType, IndexTechniqueType
from core.rag.retrieval.retrieval_methods import RetrievalMethod
from dify_graph.model_runtime.entities.model_entities import ModelType
from graphon.model_runtime.entities.model_entities import ModelType
from models.account import Account, Tenant, TenantAccountJoin, TenantAccountRole
from models.dataset import Dataset, DatasetPermissionEnum, Document, ExternalKnowledgeBindings, Pipeline
from models.enums import DatasetRuntimeMode, DataSourceType, DocumentCreatedFrom, IndexingStatus

View File

@@ -5,7 +5,7 @@ import pytest
from sqlalchemy.orm import Session
from core.rag.index_processor.constant.index_type import IndexTechniqueType
from dify_graph.model_runtime.entities.model_entities import ModelType
from graphon.model_runtime.entities.model_entities import ModelType
from models.account import Account, Tenant, TenantAccountJoin, TenantAccountRole
from models.dataset import Dataset, ExternalKnowledgeBindings
from models.enums import DataSourceType

View File

@@ -7,7 +7,7 @@ from uuid import uuid4
from sqlalchemy import select
from dify_graph.enums import WorkflowExecutionStatus
from graphon.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

@@ -10,8 +10,8 @@ from core.workflow.human_input_compat import (
EmailRecipients,
ExternalRecipient,
)
from dify_graph.enums import BuiltinNodeTypes
from dify_graph.nodes.human_input.entities import HumanInputNodeData
from graphon.enums import BuiltinNodeTypes
from graphon.nodes.human_input.entities import HumanInputNodeData
from models.account import Account, Tenant, TenantAccountJoin, TenantAccountRole
from models.model import App, AppMode
from models.workflow import Workflow, WorkflowType

View File

@@ -8,9 +8,9 @@ import pytest
from faker import Faker
from sqlalchemy.orm import Session
from dify_graph.file.enums import FileType
from enums.cloud_plan import CloudPlan
from extensions.ext_redis import redis_client
from graphon.file.enums import FileType
from models.account import Account, Tenant, TenantAccountJoin, TenantAccountRole
from models.enums import (
ConversationFromSource,

View File

@@ -5,7 +5,7 @@ from faker import Faker
from sqlalchemy.orm import Session
from core.entities.model_entities import ModelStatus
from dify_graph.model_runtime.entities.model_entities import FetchFrom, ModelType
from graphon.model_runtime.entities.model_entities import FetchFrom, ModelType
from models import Account, Tenant, TenantAccountJoin, TenantAccountRole
from models.provider import Provider, ProviderModel, ProviderModelSetting, ProviderType
from services.model_provider_service import ModelProviderService
@@ -406,8 +406,8 @@ class TestModelProviderService:
# Create mock models
from core.entities.model_entities import ModelWithProviderEntity, SimpleModelProviderEntity
from dify_graph.model_runtime.entities.common_entities import I18nObject
from dify_graph.model_runtime.entities.provider_entities import ProviderEntity
from graphon.model_runtime.entities.common_entities import I18nObject
from graphon.model_runtime.entities.provider_entities import ProviderEntity
# Create real model objects instead of mocks
provider_entity_1 = SimpleModelProviderEntity(
@@ -644,7 +644,7 @@ class TestModelProviderService:
# Create mock default model response
from core.entities.model_entities import DefaultModelEntity, DefaultModelProviderEntity
from dify_graph.model_runtime.entities.common_entities import I18nObject
from graphon.model_runtime.entities.common_entities import I18nObject
mock_default_model = DefaultModelEntity(
model="gpt-3.5-turbo",

View File

@@ -10,7 +10,7 @@ import pytest
from faker import Faker
from sqlalchemy.orm import Session
from dify_graph.entities.workflow_execution import WorkflowExecutionStatus
from graphon.entities.workflow_execution import WorkflowExecutionStatus
from models import EndUser, Workflow, WorkflowAppLog, WorkflowArchiveLog, WorkflowRun
from models.enums import AppTriggerType, CreatorUserRole, WorkflowRunTriggeredFrom
from models.workflow import WorkflowAppLogCreatedFrom

View File

@@ -3,7 +3,7 @@ from faker import Faker
from sqlalchemy.orm import Session
from core.workflow.variable_prefixes import CONVERSATION_VARIABLE_NODE_ID, SYSTEM_VARIABLE_NODE_ID
from dify_graph.variables.segments import StringSegment
from graphon.variables.segments import StringSegment
from models import App, Workflow
from models.enums import DraftVariableType
from models.workflow import WorkflowDraftVariable
@@ -482,7 +482,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 dify_graph.variables.variables import StringVariable
from graphon.variables.variables import StringVariable
conv_var = StringVariable(
id=fake.uuid4(),
@@ -734,7 +734,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 dify_graph.variables.variables import StringVariable
from graphon.variables.variables import StringVariable
conv_var1 = StringVariable(
id=fake.uuid4(),

View File

@@ -1503,10 +1503,10 @@ class TestWorkflowService:
import uuid
from datetime import datetime
from dify_graph.enums import BuiltinNodeTypes, WorkflowNodeExecutionStatus
from dify_graph.graph_events import NodeRunSucceededEvent
from dify_graph.node_events import NodeRunResult
from dify_graph.nodes.base.node import Node
from graphon.enums import BuiltinNodeTypes, WorkflowNodeExecutionStatus
from graphon.graph_events import NodeRunSucceededEvent
from graphon.node_events import NodeRunResult
from graphon.nodes.base.node import Node
# Create mock node
mock_node = MagicMock(spec=Node)
@@ -1548,12 +1548,12 @@ class TestWorkflowService:
# Assert
assert result is not None
assert result.node_id == node_id
from dify_graph.enums import BuiltinNodeTypes
from graphon.enums import BuiltinNodeTypes
assert result.node_type == BuiltinNodeTypes.START # Should match the mock node type
assert result.title == "Test Node"
# Import the enum for comparison
from dify_graph.enums import WorkflowNodeExecutionStatus
from graphon.enums import WorkflowNodeExecutionStatus
assert result.status == WorkflowNodeExecutionStatus.SUCCEEDED
assert result.inputs is not None
@@ -1578,10 +1578,10 @@ class TestWorkflowService:
import uuid
from datetime import datetime
from dify_graph.enums import BuiltinNodeTypes, WorkflowNodeExecutionStatus
from dify_graph.graph_events import NodeRunFailedEvent
from dify_graph.node_events import NodeRunResult
from dify_graph.nodes.base.node import Node
from graphon.enums import BuiltinNodeTypes, WorkflowNodeExecutionStatus
from graphon.graph_events import NodeRunFailedEvent
from graphon.node_events import NodeRunResult
from graphon.nodes.base.node import Node
# Create mock node
mock_node = MagicMock(spec=Node)
@@ -1623,7 +1623,7 @@ class TestWorkflowService:
assert result is not None
assert result.node_id == node_id
# Import the enum for comparison
from dify_graph.enums import WorkflowNodeExecutionStatus
from graphon.enums import WorkflowNodeExecutionStatus
assert result.status == WorkflowNodeExecutionStatus.FAILED
assert result.error is not None
@@ -1647,10 +1647,10 @@ class TestWorkflowService:
import uuid
from datetime import datetime
from dify_graph.enums import BuiltinNodeTypes, ErrorStrategy, WorkflowNodeExecutionStatus
from dify_graph.graph_events import NodeRunFailedEvent
from dify_graph.node_events import NodeRunResult
from dify_graph.nodes.base.node import Node
from graphon.enums import BuiltinNodeTypes, ErrorStrategy, WorkflowNodeExecutionStatus
from graphon.graph_events import NodeRunFailedEvent
from graphon.node_events import NodeRunResult
from graphon.nodes.base.node import Node
# Create mock node with continue_on_error
mock_node = MagicMock(spec=Node)
@@ -1693,7 +1693,7 @@ class TestWorkflowService:
assert result is not None
assert result.node_id == node_id
# Import the enum for comparison
from dify_graph.enums import WorkflowNodeExecutionStatus
from graphon.enums import WorkflowNodeExecutionStatus
assert result.status == WorkflowNodeExecutionStatus.EXCEPTION # Should be EXCEPTION, not FAILED
assert result.outputs is not None

View File

@@ -18,9 +18,9 @@ from core.app.app_config.entities import (
PromptTemplateEntity,
)
from core.prompt.utils.prompt_template_parser import PromptTemplateParser
from dify_graph.model_runtime.entities.llm_entities import LLMMode
from dify_graph.model_runtime.entities.message_entities import PromptMessageRole
from dify_graph.variables.input_entities import VariableEntity, VariableEntityType
from graphon.model_runtime.entities.llm_entities import LLMMode
from graphon.model_runtime.entities.message_entities import PromptMessageRole
from graphon.variables.input_entities import VariableEntity, VariableEntityType
from models import Account, Tenant
from models.api_based_extension import APIBasedExtension, APIBasedExtensionPoint
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 dify_graph.enums import WorkflowNodeExecutionStatus
from graphon.enums import WorkflowNodeExecutionStatus
from libs.datetime_utils import naive_utc_now
from models.enums import CreatorUserRole
from models.workflow import WorkflowNodeExecutionModel

View File

@@ -16,10 +16,10 @@ from core.workflow.human_input_compat import (
ExternalRecipient,
MemberRecipient,
)
from dify_graph.enums import WorkflowExecutionStatus
from dify_graph.nodes.human_input.entities import HumanInputNodeData
from dify_graph.runtime import GraphRuntimeState, VariablePool
from extensions.ext_storage import storage
from graphon.enums import WorkflowExecutionStatus
from graphon.nodes.human_input.entities import HumanInputNodeData
from graphon.runtime import GraphRuntimeState, VariablePool
from models.account import Account, AccountStatus, Tenant, TenantAccountJoin, TenantAccountRole
from models.enums import CreatorUserRole, WorkflowRunTriggeredFrom
from models.human_input import HumanInputDelivery, HumanInputForm, HumanInputFormRecipient

View File

@@ -4,9 +4,9 @@ from unittest.mock import ANY, call, patch
import pytest
from core.db.session_factory import session_factory
from dify_graph.variables.segments import StringSegment
from dify_graph.variables.types import SegmentType
from extensions.storage.storage_type import StorageType
from graphon.variables.segments import StringSegment
from graphon.variables.types import SegmentType
from libs.datetime_utils import naive_utc_now
from models import Tenant
from models.enums import CreatorUserRole

View File

@@ -27,9 +27,9 @@ import pytest
from sqlalchemy import delete, select
from sqlalchemy.orm import Session, selectinload, sessionmaker
from dify_graph.entities import WorkflowExecution
from dify_graph.enums import WorkflowExecutionStatus
from extensions.ext_storage import storage
from graphon.entities import WorkflowExecution
from graphon.enums import WorkflowExecutionStatus
from libs.datetime_utils import naive_utc_now
from models import Account
from models import WorkflowPause as WorkflowPauseModel

View File

@@ -23,7 +23,7 @@ from core.trigger.debug import event_selectors
from core.trigger.debug.event_bus import TriggerDebugEventBus
from core.trigger.debug.event_selectors import PluginTriggerDebugEventPoller, WebhookTriggerDebugEventPoller
from core.trigger.debug.events import PluginTriggerDebugEvent, build_plugin_pool_key
from dify_graph.enums import BuiltinNodeTypes
from graphon.enums import BuiltinNodeTypes
from libs.datetime_utils import naive_utc_now
from models.account import Account, Tenant
from models.enums import AppTriggerStatus, AppTriggerType, CreatorUserRole, WorkflowTriggerStatus