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
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
613 changed files with 2008 additions and 2012 deletions

View File

@ -1,6 +1,7 @@
[importlinter] [importlinter]
root_packages = root_packages =
core core
dify_graph
configs configs
controllers controllers
extensions extensions
@ -21,48 +22,48 @@ layers =
runtime runtime
entities entities
containers = containers =
core.workflow dify_graph
ignore_imports = ignore_imports =
core.workflow.nodes.base.node -> core.workflow.graph_events dify_graph.nodes.base.node -> dify_graph.graph_events
core.workflow.nodes.iteration.iteration_node -> core.workflow.graph_events dify_graph.nodes.iteration.iteration_node -> dify_graph.graph_events
core.workflow.nodes.loop.loop_node -> core.workflow.graph_events dify_graph.nodes.loop.loop_node -> dify_graph.graph_events
core.workflow.nodes.iteration.iteration_node -> core.app.workflow.node_factory dify_graph.nodes.iteration.iteration_node -> core.workflow.node_factory
core.workflow.nodes.loop.loop_node -> core.app.workflow.node_factory dify_graph.nodes.loop.loop_node -> core.workflow.node_factory
core.workflow.nodes.iteration.iteration_node -> core.app.workflow.layers.llm_quota dify_graph.nodes.iteration.iteration_node -> core.app.workflow.layers.llm_quota
core.workflow.nodes.loop.loop_node -> core.app.workflow.layers.llm_quota dify_graph.nodes.loop.loop_node -> core.app.workflow.layers.llm_quota
core.workflow.nodes.iteration.iteration_node -> core.workflow.graph_engine dify_graph.nodes.iteration.iteration_node -> dify_graph.graph_engine
core.workflow.nodes.iteration.iteration_node -> core.workflow.graph dify_graph.nodes.iteration.iteration_node -> dify_graph.graph
core.workflow.nodes.iteration.iteration_node -> core.workflow.graph_engine.command_channels dify_graph.nodes.iteration.iteration_node -> dify_graph.graph_engine.command_channels
core.workflow.nodes.loop.loop_node -> core.workflow.graph_engine dify_graph.nodes.loop.loop_node -> dify_graph.graph_engine
core.workflow.nodes.loop.loop_node -> core.workflow.graph dify_graph.nodes.loop.loop_node -> dify_graph.graph
core.workflow.nodes.loop.loop_node -> core.workflow.graph_engine.command_channels dify_graph.nodes.loop.loop_node -> dify_graph.graph_engine.command_channels
# TODO(QuantumGhost): fix the import violation later # TODO(QuantumGhost): fix the import violation later
core.workflow.entities.pause_reason -> core.workflow.nodes.human_input.entities dify_graph.entities.pause_reason -> dify_graph.nodes.human_input.entities
[importlinter:contract:workflow-infrastructure-dependencies] [importlinter:contract:workflow-infrastructure-dependencies]
name = Workflow Infrastructure Dependencies name = Workflow Infrastructure Dependencies
type = forbidden type = forbidden
source_modules = source_modules =
core.workflow dify_graph
forbidden_modules = forbidden_modules =
extensions.ext_database extensions.ext_database
extensions.ext_redis extensions.ext_redis
allow_indirect_imports = True allow_indirect_imports = True
ignore_imports = ignore_imports =
core.workflow.nodes.agent.agent_node -> extensions.ext_database dify_graph.nodes.agent.agent_node -> extensions.ext_database
core.workflow.nodes.llm.file_saver -> extensions.ext_database dify_graph.nodes.llm.file_saver -> extensions.ext_database
core.workflow.nodes.llm.node -> extensions.ext_database dify_graph.nodes.llm.node -> extensions.ext_database
core.workflow.nodes.tool.tool_node -> extensions.ext_database dify_graph.nodes.tool.tool_node -> extensions.ext_database
# TODO(QuantumGhost): use DI to avoid depending on global DB. # TODO(QuantumGhost): use DI to avoid depending on global DB.
core.workflow.nodes.human_input.human_input_node -> extensions.ext_database dify_graph.nodes.human_input.human_input_node -> extensions.ext_database
[importlinter:contract:workflow-external-imports] [importlinter:contract:workflow-external-imports]
name = Workflow External Imports name = Workflow External Imports
type = forbidden type = forbidden
source_modules = source_modules =
core.workflow dify_graph
forbidden_modules = forbidden_modules =
configs configs
controllers controllers
@ -100,77 +101,68 @@ forbidden_modules =
core.trigger core.trigger
core.variables core.variables
ignore_imports = ignore_imports =
core.workflow.nodes.loop.loop_node -> core.app.workflow.node_factory dify_graph.nodes.loop.loop_node -> core.workflow.node_factory
core.workflow.workflow_entry -> core.app.workflow.layers.observability dify_graph.nodes.agent.agent_node -> core.model_manager
core.workflow.nodes.agent.agent_node -> core.model_manager dify_graph.nodes.agent.agent_node -> core.provider_manager
core.workflow.nodes.agent.agent_node -> core.provider_manager dify_graph.nodes.agent.agent_node -> core.tools.tool_manager
core.workflow.nodes.agent.agent_node -> core.tools.tool_manager dify_graph.nodes.document_extractor.node -> core.helper.ssrf_proxy
core.workflow.nodes.document_extractor.node -> core.helper.ssrf_proxy dify_graph.nodes.iteration.iteration_node -> core.workflow.node_factory
core.workflow.nodes.iteration.iteration_node -> core.app.workflow.node_factory dify_graph.nodes.iteration.iteration_node -> core.app.workflow.layers.llm_quota
core.workflow.nodes.iteration.iteration_node -> core.app.workflow.layers.llm_quota dify_graph.nodes.llm.llm_utils -> core.model_manager
core.workflow.nodes.llm.llm_utils -> core.model_manager dify_graph.nodes.llm.protocols -> core.model_manager
core.workflow.nodes.llm.protocols -> core.model_manager dify_graph.nodes.llm.llm_utils -> core.model_runtime.model_providers.__base.large_language_model
core.workflow.nodes.llm.llm_utils -> core.model_runtime.model_providers.__base.large_language_model dify_graph.nodes.llm.node -> core.tools.signature
core.workflow.nodes.llm.node -> core.tools.signature dify_graph.nodes.tool.tool_node -> core.callback_handler.workflow_tool_callback_handler
core.workflow.nodes.tool.tool_node -> core.callback_handler.workflow_tool_callback_handler dify_graph.nodes.tool.tool_node -> core.tools.tool_engine
core.workflow.nodes.tool.tool_node -> core.tools.tool_engine dify_graph.nodes.tool.tool_node -> core.tools.tool_manager
core.workflow.nodes.tool.tool_node -> core.tools.tool_manager dify_graph.nodes.agent.agent_node -> core.agent.entities
core.workflow.workflow_entry -> configs dify_graph.nodes.agent.agent_node -> core.agent.plugin_entities
core.workflow.workflow_entry -> models.workflow dify_graph.nodes.base.node -> core.app.entities.app_invoke_entities
core.workflow.nodes.agent.agent_node -> core.agent.entities dify_graph.nodes.human_input.human_input_node -> core.app.entities.app_invoke_entities
core.workflow.nodes.agent.agent_node -> core.agent.plugin_entities dify_graph.nodes.knowledge_index.knowledge_index_node -> core.app.entities.app_invoke_entities
core.workflow.nodes.base.node -> core.app.entities.app_invoke_entities dify_graph.nodes.knowledge_retrieval.knowledge_retrieval_node -> core.app.app_config.entities
core.workflow.nodes.human_input.human_input_node -> core.app.entities.app_invoke_entities dify_graph.nodes.parameter_extractor.parameter_extractor_node -> core.prompt.advanced_prompt_transform
core.workflow.nodes.knowledge_index.knowledge_index_node -> core.app.entities.app_invoke_entities dify_graph.nodes.parameter_extractor.parameter_extractor_node -> core.prompt.simple_prompt_transform
core.workflow.nodes.knowledge_retrieval.knowledge_retrieval_node -> core.app.app_config.entities dify_graph.nodes.parameter_extractor.parameter_extractor_node -> core.model_runtime.model_providers.__base.large_language_model
core.workflow.nodes.parameter_extractor.parameter_extractor_node -> core.prompt.advanced_prompt_transform dify_graph.nodes.question_classifier.question_classifier_node -> core.prompt.simple_prompt_transform
core.workflow.nodes.parameter_extractor.parameter_extractor_node -> core.prompt.simple_prompt_transform dify_graph.nodes.parameter_extractor.parameter_extractor_node -> core.model_manager
core.workflow.nodes.parameter_extractor.parameter_extractor_node -> core.model_runtime.model_providers.__base.large_language_model dify_graph.nodes.question_classifier.question_classifier_node -> core.model_manager
core.workflow.nodes.question_classifier.question_classifier_node -> core.prompt.simple_prompt_transform dify_graph.nodes.tool.tool_node -> core.tools.utils.message_transformer
core.workflow.workflow_entry -> core.app.apps.exc dify_graph.nodes.tool.tool_node -> models
core.workflow.workflow_entry -> core.app.entities.app_invoke_entities dify_graph.nodes.agent.agent_node -> models.model
core.workflow.workflow_entry -> core.app.workflow.layers.llm_quota dify_graph.nodes.llm.file_saver -> core.helper.ssrf_proxy
core.workflow.workflow_entry -> core.app.workflow.node_factory dify_graph.nodes.llm.node -> core.helper.code_executor
core.workflow.nodes.parameter_extractor.parameter_extractor_node -> core.model_manager dify_graph.nodes.template_transform.template_renderer -> core.helper.code_executor.code_executor
core.workflow.nodes.question_classifier.question_classifier_node -> core.model_manager dify_graph.nodes.llm.node -> core.llm_generator.output_parser.errors
core.workflow.nodes.tool.tool_node -> core.tools.utils.message_transformer dify_graph.nodes.llm.node -> core.llm_generator.output_parser.structured_output
core.workflow.nodes.tool.tool_node -> models dify_graph.nodes.llm.node -> core.model_manager
core.workflow.nodes.agent.agent_node -> models.model dify_graph.nodes.agent.entities -> core.prompt.entities.advanced_prompt_entities
core.workflow.nodes.llm.file_saver -> core.helper.ssrf_proxy dify_graph.nodes.llm.entities -> core.prompt.entities.advanced_prompt_entities
core.workflow.nodes.llm.node -> core.helper.code_executor dify_graph.nodes.llm.node -> core.prompt.entities.advanced_prompt_entities
core.workflow.nodes.template_transform.template_renderer -> core.helper.code_executor.code_executor dify_graph.nodes.llm.node -> core.prompt.utils.prompt_message_util
core.workflow.nodes.llm.node -> core.llm_generator.output_parser.errors dify_graph.nodes.parameter_extractor.entities -> core.prompt.entities.advanced_prompt_entities
core.workflow.nodes.llm.node -> core.llm_generator.output_parser.structured_output dify_graph.nodes.parameter_extractor.parameter_extractor_node -> core.prompt.entities.advanced_prompt_entities
core.workflow.nodes.llm.node -> core.model_manager dify_graph.nodes.parameter_extractor.parameter_extractor_node -> core.prompt.utils.prompt_message_util
core.workflow.nodes.agent.entities -> core.prompt.entities.advanced_prompt_entities dify_graph.nodes.question_classifier.entities -> core.prompt.entities.advanced_prompt_entities
core.workflow.nodes.llm.entities -> core.prompt.entities.advanced_prompt_entities dify_graph.nodes.question_classifier.question_classifier_node -> core.prompt.utils.prompt_message_util
core.workflow.nodes.llm.node -> core.prompt.entities.advanced_prompt_entities dify_graph.nodes.knowledge_index.entities -> core.rag.retrieval.retrieval_methods
core.workflow.nodes.llm.node -> core.prompt.utils.prompt_message_util dify_graph.nodes.llm.node -> models.dataset
core.workflow.nodes.parameter_extractor.entities -> core.prompt.entities.advanced_prompt_entities dify_graph.nodes.agent.agent_node -> core.tools.utils.message_transformer
core.workflow.nodes.parameter_extractor.parameter_extractor_node -> core.prompt.entities.advanced_prompt_entities dify_graph.nodes.llm.file_saver -> core.tools.signature
core.workflow.nodes.parameter_extractor.parameter_extractor_node -> core.prompt.utils.prompt_message_util dify_graph.nodes.llm.file_saver -> core.tools.tool_file_manager
core.workflow.nodes.question_classifier.entities -> core.prompt.entities.advanced_prompt_entities dify_graph.nodes.tool.tool_node -> core.tools.errors
core.workflow.nodes.question_classifier.question_classifier_node -> core.prompt.utils.prompt_message_util dify_graph.nodes.agent.agent_node -> extensions.ext_database
core.workflow.nodes.knowledge_index.entities -> core.rag.retrieval.retrieval_methods dify_graph.nodes.llm.file_saver -> extensions.ext_database
core.workflow.nodes.llm.node -> models.dataset dify_graph.nodes.llm.node -> extensions.ext_database
core.workflow.nodes.agent.agent_node -> core.tools.utils.message_transformer dify_graph.nodes.tool.tool_node -> extensions.ext_database
core.workflow.nodes.llm.file_saver -> core.tools.signature dify_graph.nodes.human_input.human_input_node -> extensions.ext_database
core.workflow.nodes.llm.file_saver -> core.tools.tool_file_manager dify_graph.nodes.human_input.human_input_node -> core.repositories.human_input_repository
core.workflow.nodes.tool.tool_node -> core.tools.errors dify_graph.nodes.agent.agent_node -> models
core.workflow.nodes.agent.agent_node -> extensions.ext_database dify_graph.nodes.base.node -> models.enums
core.workflow.nodes.llm.file_saver -> extensions.ext_database dify_graph.nodes.loop.loop_node -> core.app.workflow.layers.llm_quota
core.workflow.nodes.llm.node -> extensions.ext_database dify_graph.nodes.llm.node -> models.model
core.workflow.nodes.tool.tool_node -> extensions.ext_database dify_graph.nodes.agent.agent_node -> services
core.workflow.nodes.human_input.human_input_node -> extensions.ext_database dify_graph.nodes.tool.tool_node -> services
core.workflow.nodes.human_input.human_input_node -> core.repositories.human_input_repository
core.workflow.workflow_entry -> extensions.otel.runtime
core.workflow.nodes.agent.agent_node -> models
core.workflow.nodes.base.node -> models.enums
core.workflow.nodes.loop.loop_node -> core.app.workflow.layers.llm_quota
core.workflow.nodes.llm.node -> models.model
core.workflow.workflow_entry -> models.enums
core.workflow.nodes.agent.agent_node -> services
core.workflow.nodes.tool.tool_node -> services
[importlinter:contract:model-runtime-no-internal-imports] [importlinter:contract:model-runtime-no-internal-imports]
name = Model Runtime Internal Imports name = Model Runtime Internal Imports
@ -214,7 +206,7 @@ forbidden_modules =
core.tools core.tools
core.trigger core.trigger
core.variables core.variables
core.workflow dify_graph
ignore_imports = ignore_imports =
core.model_runtime.model_providers.__base.ai_model -> configs core.model_runtime.model_providers.__base.ai_model -> configs
core.model_runtime.model_providers.__base.ai_model -> extensions.ext_redis core.model_runtime.model_providers.__base.ai_model -> extensions.ext_redis
@ -231,7 +223,7 @@ layers =
graph_engine graph_engine
response_coordinator response_coordinator
containers = containers =
core.workflow.graph_engine dify_graph.graph_engine
[importlinter:contract:worker] [importlinter:contract:worker]
name = Worker name = Worker
@ -240,7 +232,7 @@ layers =
graph_engine graph_engine
worker worker
containers = containers =
core.workflow.graph_engine dify_graph.graph_engine
[importlinter:contract:graph-engine-architecture] [importlinter:contract:graph-engine-architecture]
name = Graph Engine Architecture name = Graph Engine Architecture
@ -256,28 +248,28 @@ layers =
worker_management worker_management
domain domain
containers = containers =
core.workflow.graph_engine dify_graph.graph_engine
[importlinter:contract:domain-isolation] [importlinter:contract:domain-isolation]
name = Domain Model Isolation name = Domain Model Isolation
type = forbidden type = forbidden
source_modules = source_modules =
core.workflow.graph_engine.domain dify_graph.graph_engine.domain
forbidden_modules = forbidden_modules =
core.workflow.graph_engine.worker_management dify_graph.graph_engine.worker_management
core.workflow.graph_engine.command_channels dify_graph.graph_engine.command_channels
core.workflow.graph_engine.layers dify_graph.graph_engine.layers
core.workflow.graph_engine.protocols dify_graph.graph_engine.protocols
[importlinter:contract:worker-management] [importlinter:contract:worker-management]
name = Worker Management name = Worker Management
type = forbidden type = forbidden
source_modules = source_modules =
core.workflow.graph_engine.worker_management dify_graph.graph_engine.worker_management
forbidden_modules = forbidden_modules =
core.workflow.graph_engine.orchestration dify_graph.graph_engine.orchestration
core.workflow.graph_engine.command_processing dify_graph.graph_engine.command_processing
core.workflow.graph_engine.event_management dify_graph.graph_engine.event_management
[importlinter:contract:graph-traversal-components] [importlinter:contract:graph-traversal-components]
@ -287,11 +279,11 @@ layers =
edge_processor edge_processor
skip_propagator skip_propagator
containers = containers =
core.workflow.graph_engine.graph_traversal dify_graph.graph_engine.graph_traversal
[importlinter:contract:command-channels] [importlinter:contract:command-channels]
name = Command Channels Independence name = Command Channels Independence
type = independence type = independence
modules = modules =
core.workflow.graph_engine.command_channels.in_memory_channel dify_graph.graph_engine.command_channels.in_memory_channel
core.workflow.graph_engine.command_channels.redis_channel dify_graph.graph_engine.command_channels.redis_channel

View File

@ -12,7 +12,7 @@ or any other web framework.
import contextvars import contextvars
from collections.abc import Callable from collections.abc import Callable
from core.workflow.context.execution_context import ( from dify_graph.context.execution_context import (
ExecutionContext, ExecutionContext,
IExecutionContext, IExecutionContext,
NullAppContext, NullAppContext,

View File

@ -10,8 +10,8 @@ from typing import Any, final
from flask import Flask, current_app, g from flask import Flask, current_app, g
from core.workflow.context import register_context_capturer from dify_graph.context import register_context_capturer
from core.workflow.context.execution_context import ( from dify_graph.context.execution_context import (
AppContext, AppContext,
IExecutionContext, IExecutionContext,
) )

View File

@ -4,7 +4,7 @@ from typing import Any, TypeAlias
from pydantic import BaseModel, ConfigDict, computed_field from pydantic import BaseModel, ConfigDict, computed_field
from core.workflow.file import helpers as file_helpers from dify_graph.file import helpers as file_helpers
from models.model import IconType from models.model import IconType
JSONValue: TypeAlias = str | int | float | bool | None | dict[str, Any] | list[Any] JSONValue: TypeAlias = str | int | float | bool | None | dict[str, Any] | list[Any]

View File

@ -25,8 +25,8 @@ from controllers.console.wraps import (
) )
from core.ops.ops_trace_manager import OpsTraceManager from core.ops.ops_trace_manager import OpsTraceManager
from core.rag.retrieval.retrieval_methods import RetrievalMethod from core.rag.retrieval.retrieval_methods import RetrievalMethod
from core.workflow.enums import NodeType, WorkflowExecutionStatus from dify_graph.enums import NodeType, WorkflowExecutionStatus
from core.workflow.file import helpers as file_helpers from dify_graph.file import helpers as file_helpers
from extensions.ext_database import db from extensions.ext_database import db
from libs.login import current_account_with_tenant, login_required from libs.login import current_account_with_tenant, login_required
from models import App, DatasetPermissionEnum, Workflow from models import App, DatasetPermissionEnum, Workflow

View File

@ -29,9 +29,9 @@ from core.trigger.debug.event_selectors import (
create_event_poller, create_event_poller,
select_trigger_debug_events, select_trigger_debug_events,
) )
from core.workflow.enums import NodeType from dify_graph.enums import NodeType
from core.workflow.file.models import File from dify_graph.file.models import File
from core.workflow.graph_engine.manager import GraphEngineManager from dify_graph.graph_engine.manager import GraphEngineManager
from extensions.ext_database import db from extensions.ext_database import db
from extensions.ext_redis import redis_client from extensions.ext_redis import redis_client
from factories import file_factory, variable_factory from factories import file_factory, variable_factory

View File

@ -9,7 +9,7 @@ from sqlalchemy.orm import Session
from controllers.console import console_ns from controllers.console import console_ns
from controllers.console.app.wraps import get_app_model from controllers.console.app.wraps import get_app_model
from controllers.console.wraps import account_initialization_required, setup_required from controllers.console.wraps import account_initialization_required, setup_required
from core.workflow.enums import WorkflowExecutionStatus from dify_graph.enums import WorkflowExecutionStatus
from extensions.ext_database import db from extensions.ext_database import db
from fields.workflow_app_log_fields import ( from fields.workflow_app_log_fields import (
build_workflow_app_log_pagination_model, build_workflow_app_log_pagination_model,

View File

@ -15,11 +15,11 @@ from controllers.console.app.error import (
from controllers.console.app.wraps import get_app_model from controllers.console.app.wraps import get_app_model
from controllers.console.wraps import account_initialization_required, edit_permission_required, setup_required from controllers.console.wraps import account_initialization_required, edit_permission_required, setup_required
from controllers.web.error import InvalidArgumentError, NotFoundError from controllers.web.error import InvalidArgumentError, NotFoundError
from core.workflow.constants import CONVERSATION_VARIABLE_NODE_ID, SYSTEM_VARIABLE_NODE_ID from dify_graph.constants import CONVERSATION_VARIABLE_NODE_ID, SYSTEM_VARIABLE_NODE_ID
from core.workflow.file import helpers as file_helpers from dify_graph.file import helpers as file_helpers
from core.workflow.variables.segment_group import SegmentGroup from dify_graph.variables.segment_group import SegmentGroup
from core.workflow.variables.segments import ArrayFileSegment, FileSegment, Segment from dify_graph.variables.segments import ArrayFileSegment, FileSegment, Segment
from core.workflow.variables.types import SegmentType from dify_graph.variables.types import SegmentType
from extensions.ext_database import db from extensions.ext_database import db
from factories.file_factory import build_from_mapping, build_from_mappings from factories.file_factory import build_from_mapping, build_from_mappings
from factories.variable_factory import build_segment_with_type from factories.variable_factory import build_segment_with_type

View File

@ -12,8 +12,8 @@ from controllers.console import console_ns
from controllers.console.app.wraps import get_app_model from controllers.console.app.wraps import get_app_model
from controllers.console.wraps import account_initialization_required, setup_required from controllers.console.wraps import account_initialization_required, setup_required
from controllers.web.error import NotFoundError from controllers.web.error import NotFoundError
from core.workflow.entities.pause_reason import HumanInputRequired from dify_graph.entities.pause_reason import HumanInputRequired
from core.workflow.enums import WorkflowExecutionStatus from dify_graph.enums import WorkflowExecutionStatus
from extensions.ext_database import db from extensions.ext_database import db
from fields.end_user_fields import simple_end_user_fields from fields.end_user_fields import simple_end_user_fields
from fields.member_fields import simple_account_fields from fields.member_fields import simple_account_fields

View File

@ -21,8 +21,8 @@ from controllers.console.app.workflow_draft_variable import (
from controllers.console.datasets.wraps import get_rag_pipeline from controllers.console.datasets.wraps import get_rag_pipeline
from controllers.console.wraps import account_initialization_required, setup_required from controllers.console.wraps import account_initialization_required, setup_required
from controllers.web.error import InvalidArgumentError, NotFoundError from controllers.web.error import InvalidArgumentError, NotFoundError
from core.workflow.constants import CONVERSATION_VARIABLE_NODE_ID, SYSTEM_VARIABLE_NODE_ID from dify_graph.constants import CONVERSATION_VARIABLE_NODE_ID, SYSTEM_VARIABLE_NODE_ID
from core.workflow.variables.types import SegmentType from dify_graph.variables.types import SegmentType
from extensions.ext_database import db from extensions.ext_database import db
from factories.file_factory import build_from_mapping, build_from_mappings from factories.file_factory import build_from_mapping, build_from_mappings
from factories.variable_factory import build_segment_with_type from factories.variable_factory import build_segment_with_type

View File

@ -42,7 +42,7 @@ from core.errors.error import (
QuotaExceededError, QuotaExceededError,
) )
from core.model_runtime.errors.invoke import InvokeError from core.model_runtime.errors.invoke import InvokeError
from core.workflow.graph_engine.manager import GraphEngineManager from dify_graph.graph_engine.manager import GraphEngineManager
from extensions.ext_database import db from extensions.ext_database import db
from extensions.ext_redis import redis_client from extensions.ext_redis import redis_client
from fields.app_fields import ( from fields.app_fields import (

View File

@ -22,7 +22,7 @@ from core.errors.error import (
QuotaExceededError, QuotaExceededError,
) )
from core.model_runtime.errors.invoke import InvokeError from core.model_runtime.errors.invoke import InvokeError
from core.workflow.graph_engine.manager import GraphEngineManager from dify_graph.graph_engine.manager import GraphEngineManager
from extensions.ext_redis import redis_client from extensions.ext_redis import redis_client
from libs import helper from libs import helper
from libs.login import current_account_with_tenant from libs.login import current_account_with_tenant

View File

@ -13,7 +13,7 @@ from controllers.common.errors import (
) )
from controllers.console import console_ns from controllers.console import console_ns
from core.helper import ssrf_proxy from core.helper import ssrf_proxy
from core.workflow.file import helpers as file_helpers from dify_graph.file import helpers as file_helpers
from extensions.ext_database import db from extensions.ext_database import db
from fields.file_fields import FileWithSignedUrl, RemoteFileInfo from fields.file_fields import FileWithSignedUrl, RemoteFileInfo
from libs.login import current_account_with_tenant, login_required from libs.login import current_account_with_tenant, login_required

View File

@ -8,7 +8,7 @@ from werkzeug.exceptions import Forbidden
import services import services
from core.tools.tool_file_manager import ToolFileManager from core.tools.tool_file_manager import ToolFileManager
from core.workflow.file.helpers import verify_plugin_file_signature from dify_graph.file.helpers import verify_plugin_file_signature
from fields.file_fields import FileResponse from fields.file_fields import FileResponse
from ..common.errors import ( from ..common.errors import (

View File

@ -29,7 +29,7 @@ from core.plugin.entities.request import (
RequestRequestUploadFile, RequestRequestUploadFile,
) )
from core.tools.entities.tool_entities import ToolProviderType from core.tools.entities.tool_entities import ToolProviderType
from core.workflow.file.helpers import get_signed_file_url_for_plugin from dify_graph.file.helpers import get_signed_file_url_for_plugin
from libs.helper import length_prefixed_response from libs.helper import length_prefixed_response
from models import Account, Tenant from models import Account, Tenant
from models.model import EndUser from models.model import EndUser

View File

@ -10,7 +10,7 @@ from controllers.console.app.mcp_server import AppMCPServerStatus
from controllers.mcp import mcp_ns from controllers.mcp import mcp_ns
from core.mcp import types as mcp_types from core.mcp import types as mcp_types
from core.mcp.server.streamable_http import handle_mcp_request from core.mcp.server.streamable_http import handle_mcp_request
from core.workflow.variables.input_entities import VariableEntity from dify_graph.variables.input_entities import VariableEntity
from extensions.ext_database import db from extensions.ext_database import db
from libs import helper from libs import helper
from models.model import App, AppMCPServer, AppMode, EndUser from models.model import App, AppMCPServer, AppMode, EndUser

View File

@ -28,8 +28,8 @@ from core.errors.error import (
) )
from core.helper.trace_id_helper import get_external_trace_id from core.helper.trace_id_helper import get_external_trace_id
from core.model_runtime.errors.invoke import InvokeError from core.model_runtime.errors.invoke import InvokeError
from core.workflow.enums import WorkflowExecutionStatus from dify_graph.enums import WorkflowExecutionStatus
from core.workflow.graph_engine.manager import GraphEngineManager from dify_graph.graph_engine.manager import GraphEngineManager
from extensions.ext_database import db from extensions.ext_database import db
from extensions.ext_redis import redis_client from extensions.ext_redis import redis_client
from fields.workflow_app_log_fields import build_workflow_app_log_pagination_model from fields.workflow_app_log_fields import build_workflow_app_log_pagination_model

View File

@ -11,7 +11,7 @@ from controllers.common.errors import (
UnsupportedFileTypeError, UnsupportedFileTypeError,
) )
from core.helper import ssrf_proxy from core.helper import ssrf_proxy
from core.workflow.file import helpers as file_helpers from dify_graph.file import helpers as file_helpers
from extensions.ext_database import db from extensions.ext_database import db
from fields.file_fields import FileWithSignedUrl, RemoteFileInfo from fields.file_fields import FileWithSignedUrl, RemoteFileInfo
from services.file_service import FileService from services.file_service import FileService

View File

@ -23,7 +23,7 @@ from core.errors.error import (
QuotaExceededError, QuotaExceededError,
) )
from core.model_runtime.errors.invoke import InvokeError from core.model_runtime.errors.invoke import InvokeError
from core.workflow.graph_engine.manager import GraphEngineManager from dify_graph.graph_engine.manager import GraphEngineManager
from extensions.ext_redis import redis_client from extensions.ext_redis import redis_client
from libs import helper from libs import helper
from models.model import App, AppMode, EndUser from models.model import App, AppMode, EndUser

View File

@ -39,7 +39,7 @@ from core.tools.entities.tool_entities import (
) )
from core.tools.tool_manager import ToolManager from core.tools.tool_manager import ToolManager
from core.tools.utils.dataset_retriever_tool import DatasetRetrieverTool from core.tools.utils.dataset_retriever_tool import DatasetRetrieverTool
from core.workflow.file import file_manager from dify_graph.file import file_manager
from extensions.ext_database import db from extensions.ext_database import db
from factories import file_factory from factories import file_factory
from models.enums import CreatorUserRole from models.enums import CreatorUserRole

View File

@ -22,7 +22,7 @@ from core.prompt.agent_history_prompt_transform import AgentHistoryPromptTransfo
from core.tools.__base.tool import Tool from core.tools.__base.tool import Tool
from core.tools.entities.tool_entities import ToolInvokeMeta from core.tools.entities.tool_entities import ToolInvokeMeta
from core.tools.tool_engine import ToolEngine from core.tools.tool_engine import ToolEngine
from core.workflow.nodes.agent.exc import AgentMaxIterationError from dify_graph.nodes.agent.exc import AgentMaxIterationError
from models.model import Message from models.model import Message
logger = logging.getLogger(__name__) logger = logging.getLogger(__name__)

View File

@ -10,7 +10,7 @@ from core.model_runtime.entities import (
) )
from core.model_runtime.entities.message_entities import ImagePromptMessageContent, PromptMessageContentUnionTypes from core.model_runtime.entities.message_entities import ImagePromptMessageContent, PromptMessageContentUnionTypes
from core.model_runtime.utils.encoders import jsonable_encoder from core.model_runtime.utils.encoders import jsonable_encoder
from core.workflow.file import file_manager from dify_graph.file import file_manager
class CotChatAgentRunner(CotAgentRunner): class CotChatAgentRunner(CotAgentRunner):

View File

@ -24,8 +24,8 @@ from core.model_runtime.entities.message_entities import ImagePromptMessageConte
from core.prompt.agent_history_prompt_transform import AgentHistoryPromptTransform from core.prompt.agent_history_prompt_transform import AgentHistoryPromptTransform
from core.tools.entities.tool_entities import ToolInvokeMeta from core.tools.entities.tool_entities import ToolInvokeMeta
from core.tools.tool_engine import ToolEngine from core.tools.tool_engine import ToolEngine
from core.workflow.file import file_manager from dify_graph.file import file_manager
from core.workflow.nodes.agent.exc import AgentMaxIterationError from dify_graph.nodes.agent.exc import AgentMaxIterationError
from models.model import Message from models.model import Message
logger = logging.getLogger(__name__) logger = logging.getLogger(__name__)

View File

@ -2,7 +2,7 @@ import re
from core.app.app_config.entities import ExternalDataVariableEntity from core.app.app_config.entities import ExternalDataVariableEntity
from core.external_data_tool.factory import ExternalDataToolFactory from core.external_data_tool.factory import ExternalDataToolFactory
from core.workflow.variables.input_entities import VariableEntity, VariableEntityType from dify_graph.variables.input_entities import VariableEntity, VariableEntityType
_ALLOWED_VARIABLE_ENTITY_TYPE = frozenset( _ALLOWED_VARIABLE_ENTITY_TYPE = frozenset(
[ [

View File

@ -6,8 +6,8 @@ from pydantic import BaseModel, Field
from core.model_runtime.entities.llm_entities import LLMMode from core.model_runtime.entities.llm_entities import LLMMode
from core.model_runtime.entities.message_entities import PromptMessageRole from core.model_runtime.entities.message_entities import PromptMessageRole
from core.workflow.file import FileUploadConfig from dify_graph.file import FileUploadConfig
from core.workflow.variables.input_entities import VariableEntity as WorkflowVariableEntity from dify_graph.variables.input_entities import VariableEntity as WorkflowVariableEntity
from models.model import AppMode from models.model import AppMode

View File

@ -2,7 +2,7 @@ from collections.abc import Mapping
from typing import Any from typing import Any
from constants import DEFAULT_FILE_NUMBER_LIMITS from constants import DEFAULT_FILE_NUMBER_LIMITS
from core.workflow.file import FileUploadConfig from dify_graph.file import FileUploadConfig
class FileUploadConfigManager: class FileUploadConfigManager:

View File

@ -1,7 +1,7 @@
import re import re
from core.app.app_config.entities import RagPipelineVariableEntity from core.app.app_config.entities import RagPipelineVariableEntity
from core.workflow.variables.input_entities import VariableEntity from dify_graph.variables.input_entities import VariableEntity
from models.workflow import Workflow from models.workflow import Workflow

View File

@ -35,14 +35,14 @@ from core.model_runtime.errors.invoke import InvokeAuthorizationError
from core.ops.ops_trace_manager import TraceQueueManager from core.ops.ops_trace_manager import TraceQueueManager
from core.prompt.utils.get_thread_messages_length import get_thread_messages_length from core.prompt.utils.get_thread_messages_length import get_thread_messages_length
from core.repositories import DifyCoreRepositoryFactory from core.repositories import DifyCoreRepositoryFactory
from core.workflow.graph_engine.layers.base import GraphEngineLayer from dify_graph.graph_engine.layers.base import GraphEngineLayer
from core.workflow.repositories.draft_variable_repository import ( from dify_graph.repositories.draft_variable_repository import (
DraftVariableSaverFactory, DraftVariableSaverFactory,
) )
from core.workflow.repositories.workflow_execution_repository import WorkflowExecutionRepository from dify_graph.repositories.workflow_execution_repository import WorkflowExecutionRepository
from core.workflow.repositories.workflow_node_execution_repository import WorkflowNodeExecutionRepository from dify_graph.repositories.workflow_node_execution_repository import WorkflowNodeExecutionRepository
from core.workflow.runtime import GraphRuntimeState from dify_graph.runtime import GraphRuntimeState
from core.workflow.variable_loader import DUMMY_VARIABLE_LOADER, VariableLoader from dify_graph.variable_loader import DUMMY_VARIABLE_LOADER, VariableLoader
from extensions.ext_database import db from extensions.ext_database import db
from factories import file_factory from factories import file_factory
from libs.flask_utils import preserve_flask_contexts from libs.flask_utils import preserve_flask_contexts

View File

@ -25,16 +25,16 @@ from core.app.workflow.layers.persistence import PersistenceWorkflowInfo, Workfl
from core.db.session_factory import session_factory from core.db.session_factory import session_factory
from core.moderation.base import ModerationError from core.moderation.base import ModerationError
from core.moderation.input_moderation import InputModeration from core.moderation.input_moderation import InputModeration
from core.workflow.enums import WorkflowType
from core.workflow.graph_engine.command_channels.redis_channel import RedisChannel
from core.workflow.graph_engine.layers.base import GraphEngineLayer
from core.workflow.repositories.workflow_execution_repository import WorkflowExecutionRepository
from core.workflow.repositories.workflow_node_execution_repository import WorkflowNodeExecutionRepository
from core.workflow.runtime import GraphRuntimeState, VariablePool
from core.workflow.system_variable import SystemVariable
from core.workflow.variable_loader import VariableLoader
from core.workflow.variables.variables import Variable
from core.workflow.workflow_entry import WorkflowEntry from core.workflow.workflow_entry import WorkflowEntry
from dify_graph.enums import WorkflowType
from dify_graph.graph_engine.command_channels.redis_channel import RedisChannel
from dify_graph.graph_engine.layers.base import GraphEngineLayer
from dify_graph.repositories.workflow_execution_repository import WorkflowExecutionRepository
from dify_graph.repositories.workflow_node_execution_repository import WorkflowNodeExecutionRepository
from dify_graph.runtime import GraphRuntimeState, VariablePool
from dify_graph.system_variable import SystemVariable
from dify_graph.variable_loader import VariableLoader
from dify_graph.variables.variables import Variable
from extensions.ext_database import db from extensions.ext_database import db
from extensions.ext_redis import redis_client from extensions.ext_redis import redis_client
from extensions.otel import WorkflowAppRunnerHandler, trace_span from extensions.otel import WorkflowAppRunnerHandler, trace_span

View File

@ -67,12 +67,12 @@ from core.model_runtime.entities.llm_entities import LLMUsage
from core.model_runtime.utils.encoders import jsonable_encoder from core.model_runtime.utils.encoders import jsonable_encoder
from core.ops.ops_trace_manager import TraceQueueManager from core.ops.ops_trace_manager import TraceQueueManager
from core.repositories.human_input_repository import HumanInputFormRepositoryImpl from core.repositories.human_input_repository import HumanInputFormRepositoryImpl
from core.workflow.entities.pause_reason import HumanInputRequired from dify_graph.entities.pause_reason import HumanInputRequired
from core.workflow.enums import WorkflowExecutionStatus from dify_graph.enums import WorkflowExecutionStatus
from core.workflow.nodes import NodeType from dify_graph.nodes import NodeType
from core.workflow.repositories.draft_variable_repository import DraftVariableSaverFactory from dify_graph.repositories.draft_variable_repository import DraftVariableSaverFactory
from core.workflow.runtime import GraphRuntimeState from dify_graph.runtime import GraphRuntimeState
from core.workflow.system_variable import SystemVariable from dify_graph.system_variable import SystemVariable
from extensions.ext_database import db from extensions.ext_database import db
from libs.datetime_utils import naive_utc_now from libs.datetime_utils import naive_utc_now
from models import Account, Conversation, EndUser, Message, MessageFile from models import Account, Conversation, EndUser, Message, MessageFile

View File

@ -4,21 +4,21 @@ from typing import TYPE_CHECKING, Any, Union, final
from sqlalchemy.orm import Session from sqlalchemy.orm import Session
from core.app.entities.app_invoke_entities import InvokeFrom from core.app.entities.app_invoke_entities import InvokeFrom
from core.workflow.enums import NodeType from dify_graph.enums import NodeType
from core.workflow.file import File, FileUploadConfig from dify_graph.file import File, FileUploadConfig
from core.workflow.repositories.draft_variable_repository import ( from dify_graph.repositories.draft_variable_repository import (
DraftVariableSaver, DraftVariableSaver,
DraftVariableSaverFactory, DraftVariableSaverFactory,
NoopDraftVariableSaver, NoopDraftVariableSaver,
) )
from core.workflow.variables.input_entities import VariableEntityType from dify_graph.variables.input_entities import VariableEntityType
from factories import file_factory from factories import file_factory
from libs.orjson import orjson_dumps from libs.orjson import orjson_dumps
from models import Account, EndUser from models import Account, EndUser
from services.workflow_draft_variable_service import DraftVariableSaver as DraftVariableSaverImpl from services.workflow_draft_variable_service import DraftVariableSaver as DraftVariableSaverImpl
if TYPE_CHECKING: if TYPE_CHECKING:
from core.workflow.variables.input_entities import VariableEntity from dify_graph.variables.input_entities import VariableEntity
class BaseAppGenerator: class BaseAppGenerator:

View File

@ -20,7 +20,7 @@ from core.app.entities.queue_entities import (
QueueStopEvent, QueueStopEvent,
WorkflowQueueMessage, WorkflowQueueMessage,
) )
from core.workflow.runtime import GraphRuntimeState from dify_graph.runtime import GraphRuntimeState
from extensions.ext_redis import redis_client from extensions.ext_redis import redis_client
logger = logging.getLogger(__name__) logger = logging.getLogger(__name__)

View File

@ -38,13 +38,13 @@ from core.prompt.advanced_prompt_transform import AdvancedPromptTransform
from core.prompt.entities.advanced_prompt_entities import ChatModelMessage, CompletionModelPromptTemplate, MemoryConfig from core.prompt.entities.advanced_prompt_entities import ChatModelMessage, CompletionModelPromptTemplate, MemoryConfig
from core.prompt.simple_prompt_transform import ModelMode, SimplePromptTransform from core.prompt.simple_prompt_transform import ModelMode, SimplePromptTransform
from core.tools.tool_file_manager import ToolFileManager from core.tools.tool_file_manager import ToolFileManager
from core.workflow.file.enums import FileTransferMethod, FileType from dify_graph.file.enums import FileTransferMethod, FileType
from extensions.ext_database import db from extensions.ext_database import db
from models.enums import CreatorUserRole from models.enums import CreatorUserRole
from models.model import App, AppMode, Message, MessageAnnotation, MessageFile from models.model import App, AppMode, Message, MessageAnnotation, MessageFile
if TYPE_CHECKING: if TYPE_CHECKING:
from core.workflow.file.models import File from dify_graph.file.models import File
_logger = logging.getLogger(__name__) _logger = logging.getLogger(__name__)

View File

@ -16,7 +16,7 @@ from core.model_manager import ModelInstance
from core.model_runtime.entities.message_entities import ImagePromptMessageContent from core.model_runtime.entities.message_entities import ImagePromptMessageContent
from core.moderation.base import ModerationError from core.moderation.base import ModerationError
from core.rag.retrieval.dataset_retrieval import DatasetRetrieval from core.rag.retrieval.dataset_retrieval import DatasetRetrieval
from core.workflow.file import File from dify_graph.file import File
from extensions.ext_database import db from extensions.ext_database import db
from models.model import App, Conversation, Message from models.model import App, Conversation, Message

View File

@ -4,7 +4,7 @@ from __future__ import annotations
from typing import TYPE_CHECKING from typing import TYPE_CHECKING
from core.workflow.runtime import GraphRuntimeState from dify_graph.runtime import GraphRuntimeState
if TYPE_CHECKING: if TYPE_CHECKING:
from core.app.task_pipeline.based_generate_task_pipeline import BasedGenerateTaskPipeline from core.app.task_pipeline.based_generate_task_pipeline import BasedGenerateTaskPipeline

View File

@ -49,21 +49,21 @@ from core.plugin.impl.datasource import PluginDatasourceManager
from core.tools.entities.tool_entities import ToolProviderType from core.tools.entities.tool_entities import ToolProviderType
from core.tools.tool_manager import ToolManager from core.tools.tool_manager import ToolManager
from core.trigger.trigger_manager import TriggerManager from core.trigger.trigger_manager import TriggerManager
from core.workflow.entities.pause_reason import HumanInputRequired from core.workflow.workflow_entry import WorkflowEntry
from core.workflow.entities.workflow_start_reason import WorkflowStartReason from dify_graph.entities.pause_reason import HumanInputRequired
from core.workflow.enums import ( from dify_graph.entities.workflow_start_reason import WorkflowStartReason
from dify_graph.enums import (
NodeType, NodeType,
SystemVariableKey, SystemVariableKey,
WorkflowExecutionStatus, WorkflowExecutionStatus,
WorkflowNodeExecutionMetadataKey, WorkflowNodeExecutionMetadataKey,
WorkflowNodeExecutionStatus, WorkflowNodeExecutionStatus,
) )
from core.workflow.file import FILE_MODEL_IDENTITY, File from dify_graph.file import FILE_MODEL_IDENTITY, File
from core.workflow.runtime import GraphRuntimeState from dify_graph.runtime import GraphRuntimeState
from core.workflow.system_variable import SystemVariable from dify_graph.system_variable import SystemVariable
from core.workflow.variables.segments import ArrayFileSegment, FileSegment, Segment from dify_graph.variables.segments import ArrayFileSegment, FileSegment, Segment
from core.workflow.workflow_entry import WorkflowEntry from dify_graph.workflow_type_encoder import WorkflowRuntimeTypeConverter
from core.workflow.workflow_type_encoder import WorkflowRuntimeTypeConverter
from extensions.ext_database import db from extensions.ext_database import db
from libs.datetime_utils import naive_utc_now from libs.datetime_utils import naive_utc_now
from models import Account, EndUser from models import Account, EndUser

View File

@ -14,7 +14,7 @@ from core.model_manager import ModelInstance
from core.model_runtime.entities.message_entities import ImagePromptMessageContent from core.model_runtime.entities.message_entities import ImagePromptMessageContent
from core.moderation.base import ModerationError from core.moderation.base import ModerationError
from core.rag.retrieval.dataset_retrieval import DatasetRetrieval from core.rag.retrieval.dataset_retrieval import DatasetRetrieval
from core.workflow.file import File from dify_graph.file import File
from extensions.ext_database import db from extensions.ext_database import db
from models.model import App, Message from models.model import App, Message

View File

@ -36,10 +36,10 @@ from core.entities.knowledge_entities import PipelineDataset, PipelineDocument
from core.model_runtime.errors.invoke import InvokeAuthorizationError from core.model_runtime.errors.invoke import InvokeAuthorizationError
from core.rag.index_processor.constant.built_in_field import BuiltInField from core.rag.index_processor.constant.built_in_field import BuiltInField
from core.repositories.factory import DifyCoreRepositoryFactory from core.repositories.factory import DifyCoreRepositoryFactory
from core.workflow.repositories.draft_variable_repository import DraftVariableSaverFactory from dify_graph.repositories.draft_variable_repository import DraftVariableSaverFactory
from core.workflow.repositories.workflow_execution_repository import WorkflowExecutionRepository from dify_graph.repositories.workflow_execution_repository import WorkflowExecutionRepository
from core.workflow.repositories.workflow_node_execution_repository import WorkflowNodeExecutionRepository from dify_graph.repositories.workflow_node_execution_repository import WorkflowNodeExecutionRepository
from core.workflow.variable_loader import DUMMY_VARIABLE_LOADER, VariableLoader from dify_graph.variable_loader import DUMMY_VARIABLE_LOADER, VariableLoader
from extensions.ext_database import db from extensions.ext_database import db
from libs.flask_utils import preserve_flask_contexts from libs.flask_utils import preserve_flask_contexts
from models import Account, EndUser, Workflow, WorkflowNodeExecutionTriggeredFrom from models import Account, EndUser, Workflow, WorkflowNodeExecutionTriggeredFrom

View File

@ -10,18 +10,18 @@ from core.app.entities.app_invoke_entities import (
RagPipelineGenerateEntity, RagPipelineGenerateEntity,
) )
from core.app.workflow.layers.persistence import PersistenceWorkflowInfo, WorkflowPersistenceLayer from core.app.workflow.layers.persistence import PersistenceWorkflowInfo, WorkflowPersistenceLayer
from core.app.workflow.node_factory import DifyNodeFactory from core.workflow.node_factory import DifyNodeFactory
from core.workflow.entities.graph_init_params import GraphInitParams
from core.workflow.enums import WorkflowType
from core.workflow.graph import Graph
from core.workflow.graph_events import GraphEngineEvent, GraphRunFailedEvent
from core.workflow.repositories.workflow_execution_repository import WorkflowExecutionRepository
from core.workflow.repositories.workflow_node_execution_repository import WorkflowNodeExecutionRepository
from core.workflow.runtime import GraphRuntimeState, VariablePool
from core.workflow.system_variable import SystemVariable
from core.workflow.variable_loader import VariableLoader
from core.workflow.variables.variables import RAGPipelineVariable, RAGPipelineVariableInput
from core.workflow.workflow_entry import WorkflowEntry from core.workflow.workflow_entry import WorkflowEntry
from dify_graph.entities.graph_init_params import GraphInitParams
from dify_graph.enums import WorkflowType
from dify_graph.graph import Graph
from dify_graph.graph_events import GraphEngineEvent, GraphRunFailedEvent
from dify_graph.repositories.workflow_execution_repository import WorkflowExecutionRepository
from dify_graph.repositories.workflow_node_execution_repository import WorkflowNodeExecutionRepository
from dify_graph.runtime import GraphRuntimeState, VariablePool
from dify_graph.system_variable import SystemVariable
from dify_graph.variable_loader import VariableLoader
from dify_graph.variables.variables import RAGPipelineVariable, RAGPipelineVariableInput
from extensions.ext_database import db from extensions.ext_database import db
from models.dataset import Document, Pipeline from models.dataset import Document, Pipeline
from models.enums import UserFrom from models.enums import UserFrom

View File

@ -31,12 +31,12 @@ from core.helper.trace_id_helper import extract_external_trace_id_from_args
from core.model_runtime.errors.invoke import InvokeAuthorizationError from core.model_runtime.errors.invoke import InvokeAuthorizationError
from core.ops.ops_trace_manager import TraceQueueManager from core.ops.ops_trace_manager import TraceQueueManager
from core.repositories import DifyCoreRepositoryFactory from core.repositories import DifyCoreRepositoryFactory
from core.workflow.graph_engine.layers.base import GraphEngineLayer from dify_graph.graph_engine.layers.base import GraphEngineLayer
from core.workflow.repositories.draft_variable_repository import DraftVariableSaverFactory from dify_graph.repositories.draft_variable_repository import DraftVariableSaverFactory
from core.workflow.repositories.workflow_execution_repository import WorkflowExecutionRepository from dify_graph.repositories.workflow_execution_repository import WorkflowExecutionRepository
from core.workflow.repositories.workflow_node_execution_repository import WorkflowNodeExecutionRepository from dify_graph.repositories.workflow_node_execution_repository import WorkflowNodeExecutionRepository
from core.workflow.runtime import GraphRuntimeState from dify_graph.runtime import GraphRuntimeState
from core.workflow.variable_loader import DUMMY_VARIABLE_LOADER, VariableLoader from dify_graph.variable_loader import DUMMY_VARIABLE_LOADER, VariableLoader
from extensions.ext_database import db from extensions.ext_database import db
from factories import file_factory from factories import file_factory
from libs.flask_utils import preserve_flask_contexts from libs.flask_utils import preserve_flask_contexts

View File

@ -8,15 +8,15 @@ from core.app.apps.workflow.app_config_manager import WorkflowAppConfig
from core.app.apps.workflow_app_runner import WorkflowBasedAppRunner from core.app.apps.workflow_app_runner import WorkflowBasedAppRunner
from core.app.entities.app_invoke_entities import InvokeFrom, WorkflowAppGenerateEntity from core.app.entities.app_invoke_entities import InvokeFrom, WorkflowAppGenerateEntity
from core.app.workflow.layers.persistence import PersistenceWorkflowInfo, WorkflowPersistenceLayer from core.app.workflow.layers.persistence import PersistenceWorkflowInfo, WorkflowPersistenceLayer
from core.workflow.enums import WorkflowType
from core.workflow.graph_engine.command_channels.redis_channel import RedisChannel
from core.workflow.graph_engine.layers.base import GraphEngineLayer
from core.workflow.repositories.workflow_execution_repository import WorkflowExecutionRepository
from core.workflow.repositories.workflow_node_execution_repository import WorkflowNodeExecutionRepository
from core.workflow.runtime import GraphRuntimeState, VariablePool
from core.workflow.system_variable import SystemVariable
from core.workflow.variable_loader import VariableLoader
from core.workflow.workflow_entry import WorkflowEntry from core.workflow.workflow_entry import WorkflowEntry
from dify_graph.enums import WorkflowType
from dify_graph.graph_engine.command_channels.redis_channel import RedisChannel
from dify_graph.graph_engine.layers.base import GraphEngineLayer
from dify_graph.repositories.workflow_execution_repository import WorkflowExecutionRepository
from dify_graph.repositories.workflow_node_execution_repository import WorkflowNodeExecutionRepository
from dify_graph.runtime import GraphRuntimeState, VariablePool
from dify_graph.system_variable import SystemVariable
from dify_graph.variable_loader import VariableLoader
from extensions.ext_redis import redis_client from extensions.ext_redis import redis_client
from extensions.otel import WorkflowAppRunnerHandler, trace_span from extensions.otel import WorkflowAppRunnerHandler, trace_span
from libs.datetime_utils import naive_utc_now from libs.datetime_utils import naive_utc_now

View File

@ -55,11 +55,11 @@ from core.app.entities.task_entities import (
from core.app.task_pipeline.based_generate_task_pipeline import BasedGenerateTaskPipeline from core.app.task_pipeline.based_generate_task_pipeline import BasedGenerateTaskPipeline
from core.base.tts import AppGeneratorTTSPublisher, AudioTrunk from core.base.tts import AppGeneratorTTSPublisher, AudioTrunk
from core.ops.ops_trace_manager import TraceQueueManager from core.ops.ops_trace_manager import TraceQueueManager
from core.workflow.entities.workflow_start_reason import WorkflowStartReason from dify_graph.entities.workflow_start_reason import WorkflowStartReason
from core.workflow.enums import WorkflowExecutionStatus from dify_graph.enums import WorkflowExecutionStatus
from core.workflow.repositories.draft_variable_repository import DraftVariableSaverFactory from dify_graph.repositories.draft_variable_repository import DraftVariableSaverFactory
from core.workflow.runtime import GraphRuntimeState from dify_graph.runtime import GraphRuntimeState
from core.workflow.system_variable import SystemVariable from dify_graph.system_variable import SystemVariable
from extensions.ext_database import db from extensions.ext_database import db
from models import Account from models import Account
from models.enums import CreatorUserRole from models.enums import CreatorUserRole

View File

@ -29,12 +29,13 @@ from core.app.entities.queue_entities import (
QueueWorkflowStartedEvent, QueueWorkflowStartedEvent,
QueueWorkflowSucceededEvent, QueueWorkflowSucceededEvent,
) )
from core.app.workflow.node_factory import DifyNodeFactory from core.workflow.node_factory import DifyNodeFactory
from core.workflow.entities import GraphInitParams from core.workflow.workflow_entry import WorkflowEntry
from core.workflow.entities.pause_reason import HumanInputRequired from dify_graph.entities import GraphInitParams
from core.workflow.graph import Graph from dify_graph.entities.pause_reason import HumanInputRequired
from core.workflow.graph_engine.layers.base import GraphEngineLayer from dify_graph.graph import Graph
from core.workflow.graph_events import ( from dify_graph.graph_engine.layers.base import GraphEngineLayer
from dify_graph.graph_events import (
GraphEngineEvent, GraphEngineEvent,
GraphRunFailedEvent, GraphRunFailedEvent,
GraphRunPartialSucceededEvent, GraphRunPartialSucceededEvent,
@ -60,13 +61,12 @@ from core.workflow.graph_events import (
NodeRunStreamChunkEvent, NodeRunStreamChunkEvent,
NodeRunSucceededEvent, NodeRunSucceededEvent,
) )
from core.workflow.graph_events.graph import GraphRunAbortedEvent from dify_graph.graph_events.graph import GraphRunAbortedEvent
from core.workflow.nodes import NodeType from dify_graph.nodes import NodeType
from core.workflow.nodes.node_mapping import NODE_TYPE_CLASSES_MAPPING from dify_graph.nodes.node_mapping import NODE_TYPE_CLASSES_MAPPING
from core.workflow.runtime import GraphRuntimeState, VariablePool from dify_graph.runtime import GraphRuntimeState, VariablePool
from core.workflow.system_variable import SystemVariable from dify_graph.system_variable import SystemVariable
from core.workflow.variable_loader import DUMMY_VARIABLE_LOADER, VariableLoader, load_into_variable_pool from dify_graph.variable_loader import DUMMY_VARIABLE_LOADER, VariableLoader, load_into_variable_pool
from core.workflow.workflow_entry import WorkflowEntry
from models.enums import UserFrom from models.enums import UserFrom
from models.workflow import Workflow from models.workflow import Workflow
from tasks.mail_human_input_delivery_task import dispatch_human_input_email_task from tasks.mail_human_input_delivery_task import dispatch_human_input_email_task

View File

@ -8,7 +8,7 @@ from constants import UUID_NIL
from core.app.app_config.entities import EasyUIBasedAppConfig, WorkflowUIBasedAppConfig from core.app.app_config.entities import EasyUIBasedAppConfig, WorkflowUIBasedAppConfig
from core.entities.provider_configuration import ProviderModelBundle from core.entities.provider_configuration import ProviderModelBundle
from core.model_runtime.entities.model_entities import AIModelEntity from core.model_runtime.entities.model_entities import AIModelEntity
from core.workflow.file import File, FileUploadConfig from dify_graph.file import File, FileUploadConfig
if TYPE_CHECKING: if TYPE_CHECKING:
from core.ops.ops_trace_manager import TraceQueueManager from core.ops.ops_trace_manager import TraceQueueManager

View File

@ -7,11 +7,11 @@ from pydantic import BaseModel, ConfigDict, Field
from core.model_runtime.entities.llm_entities import LLMResult, LLMResultChunk from core.model_runtime.entities.llm_entities import LLMResult, LLMResultChunk
from core.rag.entities.citation_metadata import RetrievalSourceMetadata from core.rag.entities.citation_metadata import RetrievalSourceMetadata
from core.workflow.entities import AgentNodeStrategyInit from dify_graph.entities import AgentNodeStrategyInit
from core.workflow.entities.pause_reason import PauseReason from dify_graph.entities.pause_reason import PauseReason
from core.workflow.entities.workflow_start_reason import WorkflowStartReason from dify_graph.entities.workflow_start_reason import WorkflowStartReason
from core.workflow.enums import WorkflowNodeExecutionMetadataKey from dify_graph.enums import WorkflowNodeExecutionMetadataKey
from core.workflow.nodes import NodeType from dify_graph.nodes import NodeType
class QueueEvent(StrEnum): class QueueEvent(StrEnum):

View File

@ -6,10 +6,10 @@ from pydantic import BaseModel, ConfigDict, Field
from core.model_runtime.entities.llm_entities import LLMResult, LLMUsage from core.model_runtime.entities.llm_entities import LLMResult, LLMUsage
from core.rag.entities.citation_metadata import RetrievalSourceMetadata from core.rag.entities.citation_metadata import RetrievalSourceMetadata
from core.workflow.entities import AgentNodeStrategyInit from dify_graph.entities import AgentNodeStrategyInit
from core.workflow.entities.workflow_start_reason import WorkflowStartReason from dify_graph.entities.workflow_start_reason import WorkflowStartReason
from core.workflow.enums import WorkflowExecutionStatus, WorkflowNodeExecutionMetadataKey, WorkflowNodeExecutionStatus from dify_graph.enums import WorkflowExecutionStatus, WorkflowNodeExecutionMetadataKey, WorkflowNodeExecutionStatus
from core.workflow.nodes.human_input.entities import FormInput, UserAction from dify_graph.nodes.human_input.entities import FormInput, UserAction
class AnnotationReplyAccount(BaseModel): class AnnotationReplyAccount(BaseModel):

View File

@ -1,12 +1,12 @@
import logging import logging
from core.workflow.constants import CONVERSATION_VARIABLE_NODE_ID from dify_graph.constants import CONVERSATION_VARIABLE_NODE_ID
from core.workflow.conversation_variable_updater import ConversationVariableUpdater from dify_graph.conversation_variable_updater import ConversationVariableUpdater
from core.workflow.enums import NodeType from dify_graph.enums import NodeType
from core.workflow.graph_engine.layers.base import GraphEngineLayer from dify_graph.graph_engine.layers.base import GraphEngineLayer
from core.workflow.graph_events import GraphEngineEvent, NodeRunSucceededEvent from dify_graph.graph_events import GraphEngineEvent, NodeRunSucceededEvent
from core.workflow.nodes.variable_assigner.common import helpers as common_helpers from dify_graph.nodes.variable_assigner.common import helpers as common_helpers
from core.workflow.variables import VariableBase from dify_graph.variables import VariableBase
logger = logging.getLogger(__name__) logger = logging.getLogger(__name__)

View File

@ -6,9 +6,9 @@ from sqlalchemy import Engine
from sqlalchemy.orm import Session, sessionmaker from sqlalchemy.orm import Session, sessionmaker
from core.app.entities.app_invoke_entities import AdvancedChatAppGenerateEntity, WorkflowAppGenerateEntity from core.app.entities.app_invoke_entities import AdvancedChatAppGenerateEntity, WorkflowAppGenerateEntity
from core.workflow.graph_engine.layers.base import GraphEngineLayer from dify_graph.graph_engine.layers.base import GraphEngineLayer
from core.workflow.graph_events.base import GraphEngineEvent from dify_graph.graph_events.base import GraphEngineEvent
from core.workflow.graph_events.graph import GraphRunPausedEvent from dify_graph.graph_events.graph import GraphRunPausedEvent
from models.model import AppMode from models.model import AppMode
from repositories.api_workflow_run_repository import APIWorkflowRunRepository from repositories.api_workflow_run_repository import APIWorkflowRunRepository
from repositories.factory import DifyAPIRepositoryFactory from repositories.factory import DifyAPIRepositoryFactory

View File

@ -1,6 +1,6 @@
from core.workflow.graph_engine.layers.base import GraphEngineLayer from dify_graph.graph_engine.layers.base import GraphEngineLayer
from core.workflow.graph_events.base import GraphEngineEvent from dify_graph.graph_events.base import GraphEngineEvent
from core.workflow.graph_events.graph import GraphRunPausedEvent from dify_graph.graph_events.graph import GraphRunPausedEvent
class SuspendLayer(GraphEngineLayer): class SuspendLayer(GraphEngineLayer):

View File

@ -4,9 +4,9 @@ from typing import ClassVar
from apscheduler.schedulers.background import BackgroundScheduler # type: ignore from apscheduler.schedulers.background import BackgroundScheduler # type: ignore
from core.workflow.graph_engine.entities.commands import CommandType, GraphEngineCommand from dify_graph.graph_engine.entities.commands import CommandType, GraphEngineCommand
from core.workflow.graph_engine.layers.base import GraphEngineLayer from dify_graph.graph_engine.layers.base import GraphEngineLayer
from core.workflow.graph_events.base import GraphEngineEvent from dify_graph.graph_events.base import GraphEngineEvent
from services.workflow.entities import WorkflowScheduleCFSPlanEntity from services.workflow.entities import WorkflowScheduleCFSPlanEntity
from services.workflow.scheduler import CFSPlanScheduler, SchedulerCommand from services.workflow.scheduler import CFSPlanScheduler, SchedulerCommand

View File

@ -5,9 +5,9 @@ from typing import Any, ClassVar
from pydantic import TypeAdapter from pydantic import TypeAdapter
from core.db.session_factory import session_factory from core.db.session_factory import session_factory
from core.workflow.graph_engine.layers.base import GraphEngineLayer from dify_graph.graph_engine.layers.base import GraphEngineLayer
from core.workflow.graph_events.base import GraphEngineEvent from dify_graph.graph_events.base import GraphEngineEvent
from core.workflow.graph_events.graph import GraphRunFailedEvent, GraphRunPausedEvent, GraphRunSucceededEvent from dify_graph.graph_events.graph import GraphRunFailedEvent, GraphRunPausedEvent, GraphRunSucceededEvent
from models.enums import WorkflowTriggerStatus from models.enums import WorkflowTriggerStatus
from repositories.sqlalchemy_workflow_trigger_log_repository import SQLAlchemyWorkflowTriggerLogRepository from repositories.sqlalchemy_workflow_trigger_log_repository import SQLAlchemyWorkflowTriggerLogRepository
from tasks.workflow_cfs_scheduler.cfs_scheduler import AsyncWorkflowCFSPlanEntity from tasks.workflow_cfs_scheduler.cfs_scheduler import AsyncWorkflowCFSPlanEntity

View File

@ -7,9 +7,9 @@ from core.errors.error import ProviderTokenNotInitError
from core.model_manager import ModelInstance, ModelManager from core.model_manager import ModelInstance, ModelManager
from core.model_runtime.entities.model_entities import ModelType from core.model_runtime.entities.model_entities import ModelType
from core.provider_manager import ProviderManager from core.provider_manager import ProviderManager
from core.workflow.nodes.llm.entities import ModelConfig from dify_graph.nodes.llm.entities import ModelConfig
from core.workflow.nodes.llm.exc import LLMModeRequiredError, ModelNotExistError from dify_graph.nodes.llm.exc import LLMModeRequiredError, ModelNotExistError
from core.workflow.nodes.llm.protocols import CredentialsProvider, ModelFactory from dify_graph.nodes.llm.protocols import CredentialsProvider, ModelFactory
class DifyCredentialsProvider: class DifyCredentialsProvider:

View File

@ -57,8 +57,8 @@ from core.ops.ops_trace_manager import TraceQueueManager, TraceTask
from core.prompt.utils.prompt_message_util import PromptMessageUtil from core.prompt.utils.prompt_message_util import PromptMessageUtil
from core.prompt.utils.prompt_template_parser import PromptTemplateParser from core.prompt.utils.prompt_template_parser import PromptTemplateParser
from core.tools.signature import sign_tool_file from core.tools.signature import sign_tool_file
from core.workflow.file import helpers as file_helpers from dify_graph.file import helpers as file_helpers
from core.workflow.file.enums import FileTransferMethod from dify_graph.file.enums import FileTransferMethod
from events.message_event import message_was_created from events.message_event import message_was_created
from extensions.ext_database import db from extensions.ext_database import db
from libs.datetime_utils import naive_utc_now from libs.datetime_utils import naive_utc_now

View File

@ -1,3 +1,3 @@
from .node_factory import DifyNodeFactory from core.workflow.node_factory import DifyNodeFactory
__all__ = ["DifyNodeFactory"] __all__ = ["DifyNodeFactory"]

View File

@ -5,13 +5,13 @@ from collections.abc import Generator
from configs import dify_config from configs import dify_config
from core.helper.ssrf_proxy import ssrf_proxy from core.helper.ssrf_proxy import ssrf_proxy
from core.tools.signature import sign_tool_file from core.tools.signature import sign_tool_file
from core.workflow.file.protocols import HttpResponseProtocol, WorkflowFileRuntimeProtocol from dify_graph.file.protocols import HttpResponseProtocol, WorkflowFileRuntimeProtocol
from core.workflow.file.runtime import set_workflow_file_runtime from dify_graph.file.runtime import set_workflow_file_runtime
from extensions.ext_storage import storage from extensions.ext_storage import storage
class DifyWorkflowFileRuntime(WorkflowFileRuntimeProtocol): class DifyWorkflowFileRuntime(WorkflowFileRuntimeProtocol):
"""Production runtime wiring for ``core.workflow.file``.""" """Production runtime wiring for ``dify_graph.file``."""
@property @property
def files_url(self) -> str: def files_url(self) -> str:

View File

@ -12,17 +12,17 @@ from typing_extensions import override
from core.app.llm import deduct_llm_quota, ensure_llm_quota_available from core.app.llm import deduct_llm_quota, ensure_llm_quota_available
from core.errors.error import QuotaExceededError from core.errors.error import QuotaExceededError
from core.model_manager import ModelInstance from core.model_manager import ModelInstance
from core.workflow.enums import NodeType from dify_graph.enums import NodeType
from core.workflow.graph_engine.entities.commands import AbortCommand, CommandType from dify_graph.graph_engine.entities.commands import AbortCommand, CommandType
from core.workflow.graph_engine.layers.base import GraphEngineLayer from dify_graph.graph_engine.layers.base import GraphEngineLayer
from core.workflow.graph_events import GraphEngineEvent, GraphNodeEventBase from dify_graph.graph_events import GraphEngineEvent, GraphNodeEventBase
from core.workflow.graph_events.node import NodeRunSucceededEvent from dify_graph.graph_events.node import NodeRunSucceededEvent
from core.workflow.nodes.base.node import Node from dify_graph.nodes.base.node import Node
if TYPE_CHECKING: if TYPE_CHECKING:
from core.workflow.nodes.llm.node import LLMNode from dify_graph.nodes.llm.node import LLMNode
from core.workflow.nodes.parameter_extractor.parameter_extractor_node import ParameterExtractorNode from dify_graph.nodes.parameter_extractor.parameter_extractor_node import ParameterExtractorNode
from core.workflow.nodes.question_classifier.question_classifier_node import QuestionClassifierNode from dify_graph.nodes.question_classifier.question_classifier_node import QuestionClassifierNode
logger = logging.getLogger(__name__) logger = logging.getLogger(__name__)

View File

@ -16,10 +16,10 @@ from opentelemetry.trace import Span, SpanKind, Tracer, get_tracer, set_span_in_
from typing_extensions import override from typing_extensions import override
from configs import dify_config from configs import dify_config
from core.workflow.enums import NodeType from dify_graph.enums import NodeType
from core.workflow.graph_engine.layers.base import GraphEngineLayer from dify_graph.graph_engine.layers.base import GraphEngineLayer
from core.workflow.graph_events import GraphNodeEventBase from dify_graph.graph_events import GraphNodeEventBase
from core.workflow.nodes.base.node import Node from dify_graph.nodes.base.node import Node
from extensions.otel.parser import ( from extensions.otel.parser import (
DefaultNodeOTelParser, DefaultNodeOTelParser,
LLMNodeOTelParser, LLMNodeOTelParser,

View File

@ -17,17 +17,17 @@ from typing import Any, Union
from core.app.entities.app_invoke_entities import AdvancedChatAppGenerateEntity, WorkflowAppGenerateEntity from core.app.entities.app_invoke_entities import AdvancedChatAppGenerateEntity, WorkflowAppGenerateEntity
from core.ops.entities.trace_entity import TraceTaskName from core.ops.entities.trace_entity import TraceTaskName
from core.ops.ops_trace_manager import TraceQueueManager, TraceTask from core.ops.ops_trace_manager import TraceQueueManager, TraceTask
from core.workflow.constants import SYSTEM_VARIABLE_NODE_ID from dify_graph.constants import SYSTEM_VARIABLE_NODE_ID
from core.workflow.entities import WorkflowExecution, WorkflowNodeExecution from dify_graph.entities import WorkflowExecution, WorkflowNodeExecution
from core.workflow.enums import ( from dify_graph.enums import (
SystemVariableKey, SystemVariableKey,
WorkflowExecutionStatus, WorkflowExecutionStatus,
WorkflowNodeExecutionMetadataKey, WorkflowNodeExecutionMetadataKey,
WorkflowNodeExecutionStatus, WorkflowNodeExecutionStatus,
WorkflowType, WorkflowType,
) )
from core.workflow.graph_engine.layers.base import GraphEngineLayer from dify_graph.graph_engine.layers.base import GraphEngineLayer
from core.workflow.graph_events import ( from dify_graph.graph_events import (
GraphEngineEvent, GraphEngineEvent,
GraphRunAbortedEvent, GraphRunAbortedEvent,
GraphRunFailedEvent, GraphRunFailedEvent,
@ -42,9 +42,9 @@ from core.workflow.graph_events import (
NodeRunStartedEvent, NodeRunStartedEvent,
NodeRunSucceededEvent, NodeRunSucceededEvent,
) )
from core.workflow.node_events import NodeRunResult from dify_graph.node_events import NodeRunResult
from core.workflow.repositories.workflow_execution_repository import WorkflowExecutionRepository from dify_graph.repositories.workflow_execution_repository import WorkflowExecutionRepository
from core.workflow.repositories.workflow_node_execution_repository import WorkflowNodeExecutionRepository from dify_graph.repositories.workflow_node_execution_repository import WorkflowNodeExecutionRepository
from libs.datetime_utils import naive_utc_now from libs.datetime_utils import naive_utc_now

View File

@ -213,6 +213,6 @@ class DatasourceFileManager:
# init tool_file_parser # init tool_file_parser
# from core.workflow.file.datasource_file_parser import datasource_file_manager # from dify_graph.file.datasource_file_parser import datasource_file_manager
# #
# datasource_file_manager["manager"] = DatasourceFileManager # datasource_file_manager["manager"] = DatasourceFileManager

View File

@ -24,12 +24,12 @@ from core.datasource.utils.message_transformer import DatasourceFileMessageTrans
from core.datasource.website_crawl.website_crawl_provider import WebsiteCrawlDatasourcePluginProviderController from core.datasource.website_crawl.website_crawl_provider import WebsiteCrawlDatasourcePluginProviderController
from core.db.session_factory import session_factory from core.db.session_factory import session_factory
from core.plugin.impl.datasource import PluginDatasourceManager from core.plugin.impl.datasource import PluginDatasourceManager
from core.workflow.entities.workflow_node_execution import WorkflowNodeExecutionStatus from dify_graph.entities.workflow_node_execution import WorkflowNodeExecutionStatus
from core.workflow.enums import WorkflowNodeExecutionMetadataKey from dify_graph.enums import WorkflowNodeExecutionMetadataKey
from core.workflow.file import File from dify_graph.file import File
from core.workflow.file.enums import FileTransferMethod, FileType from dify_graph.file.enums import FileTransferMethod, FileType
from core.workflow.node_events import NodeRunResult, StreamChunkEvent, StreamCompletedEvent from dify_graph.node_events import NodeRunResult, StreamChunkEvent, StreamCompletedEvent
from core.workflow.repositories.datasource_manager_protocol import DatasourceParameter, OnlineDriveDownloadFileParam from dify_graph.repositories.datasource_manager_protocol import DatasourceParameter, OnlineDriveDownloadFileParam
from factories import file_factory from factories import file_factory
from models.model import UploadFile from models.model import UploadFile
from models.tools import ToolFile from models.tools import ToolFile

View File

@ -4,7 +4,7 @@ from mimetypes import guess_extension, guess_type
from core.datasource.entities.datasource_entities import DatasourceMessage from core.datasource.entities.datasource_entities import DatasourceMessage
from core.tools.tool_file_manager import ToolFileManager from core.tools.tool_file_manager import ToolFileManager
from core.workflow.file import File, FileTransferMethod, FileType from dify_graph.file import File, FileTransferMethod, FileType
from models.tools import ToolFile from models.tools import ToolFile
logger = logging.getLogger(__name__) logger = logging.getLogger(__name__)

View File

@ -5,7 +5,7 @@ from typing import Any, TypeAlias
from pydantic import BaseModel, ConfigDict, Field from pydantic import BaseModel, ConfigDict, Field
from core.workflow.nodes.human_input.entities import FormInput, UserAction from dify_graph.nodes.human_input.entities import FormInput, UserAction
from models.execution_extra_content import ExecutionContentType from models.execution_extra_content import ExecutionContentType

View File

@ -15,7 +15,7 @@ from core.helper.provider_cache import NoOpProviderCredentialCache
from core.mcp.types import OAuthClientInformation, OAuthClientMetadata, OAuthTokens from core.mcp.types import OAuthClientInformation, OAuthClientMetadata, OAuthTokens
from core.tools.entities.common_entities import I18nObject from core.tools.entities.common_entities import I18nObject
from core.tools.entities.tool_entities import ToolProviderType from core.tools.entities.tool_entities import ToolProviderType
from core.workflow.file import helpers as file_helpers from dify_graph.file import helpers as file_helpers
if TYPE_CHECKING: if TYPE_CHECKING:
from models.tools import MCPToolProvider from models.tools import MCPToolProvider

View File

@ -13,7 +13,7 @@ from core.helper.code_executor.jinja2.jinja2_transformer import Jinja2TemplateTr
from core.helper.code_executor.python3.python3_transformer import Python3TemplateTransformer from core.helper.code_executor.python3.python3_transformer import Python3TemplateTransformer
from core.helper.code_executor.template_transformer import TemplateTransformer from core.helper.code_executor.template_transformer import TemplateTransformer
from core.helper.http_client_pooling import get_pooled_http_client from core.helper.http_client_pooling import get_pooled_http_client
from core.workflow.nodes.code.entities import CodeLanguage from dify_graph.nodes.code.entities import CodeLanguage
logger = logging.getLogger(__name__) logger = logging.getLogger(__name__)
code_execution_endpoint_url = URL(str(dify_config.CODE_EXECUTION_ENDPOINT)) code_execution_endpoint_url = URL(str(dify_config.CODE_EXECUTION_ENDPOINT))

View File

@ -5,7 +5,7 @@ from base64 import b64encode
from collections.abc import Mapping from collections.abc import Mapping
from typing import Any from typing import Any
from core.workflow.variables.utils import dumps_with_segments from dify_graph.variables.utils import dumps_with_segments
class TemplateTransformer(ABC): class TemplateTransformer(ABC):

View File

@ -31,7 +31,7 @@ from core.ops.entities.trace_entity import TraceTaskName
from core.ops.ops_trace_manager import TraceQueueManager, TraceTask from core.ops.ops_trace_manager import TraceQueueManager, TraceTask
from core.ops.utils import measure_time from core.ops.utils import measure_time
from core.prompt.utils.prompt_template_parser import PromptTemplateParser from core.prompt.utils.prompt_template_parser import PromptTemplateParser
from core.workflow.entities.workflow_node_execution import WorkflowNodeExecutionMetadataKey from dify_graph.entities.workflow_node_execution import WorkflowNodeExecutionMetadataKey
from extensions.ext_database import db from extensions.ext_database import db
from extensions.ext_storage import storage from extensions.ext_storage import storage
from models import App, Message, WorkflowNodeExecutionModel from models import App, Message, WorkflowNodeExecutionModel

View File

@ -7,7 +7,7 @@ from configs import dify_config
from core.app.entities.app_invoke_entities import InvokeFrom from core.app.entities.app_invoke_entities import InvokeFrom
from core.app.features.rate_limiting.rate_limit import RateLimitGenerator from core.app.features.rate_limiting.rate_limit import RateLimitGenerator
from core.mcp import types as mcp_types from core.mcp import types as mcp_types
from core.workflow.variables.input_entities import VariableEntity, VariableEntityType from dify_graph.variables.input_entities import VariableEntity, VariableEntityType
from models.model import App, AppMCPServer, AppMode, EndUser from models.model import App, AppMCPServer, AppMode, EndUser
from services.app_generate_service import AppGenerateService from services.app_generate_service import AppGenerateService

View File

@ -15,7 +15,7 @@ from core.model_runtime.entities import (
) )
from core.model_runtime.entities.message_entities import PromptMessageContentUnionTypes from core.model_runtime.entities.message_entities import PromptMessageContentUnionTypes
from core.prompt.utils.extract_thread_messages import extract_thread_messages from core.prompt.utils.extract_thread_messages import extract_thread_messages
from core.workflow.file import file_manager from dify_graph.file import file_manager
from extensions.ext_database import db from extensions.ext_database import db
from factories import file_factory from factories import file_factory
from models.model import AppMode, Conversation, Message, MessageFile from models.model import AppMode, Conversation, Message, MessageFile

View File

@ -57,8 +57,8 @@ from core.ops.entities.trace_entity import (
WorkflowTraceInfo, WorkflowTraceInfo,
) )
from core.repositories import DifyCoreRepositoryFactory from core.repositories import DifyCoreRepositoryFactory
from core.workflow.entities import WorkflowNodeExecution from dify_graph.entities import WorkflowNodeExecution
from core.workflow.enums import NodeType, WorkflowNodeExecutionMetadataKey from dify_graph.enums import NodeType, WorkflowNodeExecutionMetadataKey
from extensions.ext_database import db from extensions.ext_database import db
from models import WorkflowNodeExecutionTriggeredFrom from models import WorkflowNodeExecutionTriggeredFrom

View File

@ -14,8 +14,8 @@ from core.ops.aliyun_trace.entities.semconv import (
GenAISpanKind, GenAISpanKind,
) )
from core.rag.models.document import Document from core.rag.models.document import Document
from core.workflow.entities import WorkflowNodeExecution from dify_graph.entities import WorkflowNodeExecution
from core.workflow.enums import WorkflowNodeExecutionStatus from dify_graph.enums import WorkflowNodeExecutionStatus
from extensions.ext_database import db from extensions.ext_database import db
from models import EndUser from models import EndUser

View File

@ -28,7 +28,7 @@ from core.ops.langfuse_trace.entities.langfuse_trace_entity import (
) )
from core.ops.utils import filter_none_values from core.ops.utils import filter_none_values
from core.repositories import DifyCoreRepositoryFactory from core.repositories import DifyCoreRepositoryFactory
from core.workflow.enums import NodeType from dify_graph.enums import NodeType
from extensions.ext_database import db from extensions.ext_database import db
from models import EndUser, WorkflowNodeExecutionTriggeredFrom from models import EndUser, WorkflowNodeExecutionTriggeredFrom
from models.enums import MessageStatus from models.enums import MessageStatus

View File

@ -28,7 +28,7 @@ from core.ops.langsmith_trace.entities.langsmith_trace_entity import (
) )
from core.ops.utils import filter_none_values, generate_dotted_order from core.ops.utils import filter_none_values, generate_dotted_order
from core.repositories import DifyCoreRepositoryFactory from core.repositories import DifyCoreRepositoryFactory
from core.workflow.enums import NodeType, WorkflowNodeExecutionMetadataKey from dify_graph.enums import NodeType, WorkflowNodeExecutionMetadataKey
from extensions.ext_database import db from extensions.ext_database import db
from models import EndUser, MessageFile, WorkflowNodeExecutionTriggeredFrom from models import EndUser, MessageFile, WorkflowNodeExecutionTriggeredFrom

View File

@ -23,7 +23,7 @@ from core.ops.entities.trace_entity import (
TraceTaskName, TraceTaskName,
WorkflowTraceInfo, WorkflowTraceInfo,
) )
from core.workflow.enums import NodeType from dify_graph.enums import NodeType
from extensions.ext_database import db from extensions.ext_database import db
from models import EndUser from models import EndUser
from models.workflow import WorkflowNodeExecutionModel from models.workflow import WorkflowNodeExecutionModel

View File

@ -22,7 +22,7 @@ from core.ops.entities.trace_entity import (
WorkflowTraceInfo, WorkflowTraceInfo,
) )
from core.repositories import DifyCoreRepositoryFactory from core.repositories import DifyCoreRepositoryFactory
from core.workflow.enums import NodeType, WorkflowNodeExecutionMetadataKey from dify_graph.enums import NodeType, WorkflowNodeExecutionMetadataKey
from extensions.ext_database import db from extensions.ext_database import db
from models import EndUser, MessageFile, WorkflowNodeExecutionTriggeredFrom from models import EndUser, MessageFile, WorkflowNodeExecutionTriggeredFrom

View File

@ -35,7 +35,7 @@ from models.workflow import WorkflowAppLog
from tasks.ops_trace_task import process_trace_tasks from tasks.ops_trace_task import process_trace_tasks
if TYPE_CHECKING: if TYPE_CHECKING:
from core.workflow.entities import WorkflowExecution from dify_graph.entities import WorkflowExecution
logger = logging.getLogger(__name__) logger = logging.getLogger(__name__)

View File

@ -41,7 +41,7 @@ from core.ops.tencent_trace.entities.semconv import (
from core.ops.tencent_trace.entities.tencent_trace_entity import SpanData from core.ops.tencent_trace.entities.tencent_trace_entity import SpanData
from core.ops.tencent_trace.utils import TencentTraceUtils from core.ops.tencent_trace.utils import TencentTraceUtils
from core.rag.models.document import Document from core.rag.models.document import Document
from core.workflow.entities.workflow_node_execution import ( from dify_graph.entities.workflow_node_execution import (
WorkflowNodeExecution, WorkflowNodeExecution,
WorkflowNodeExecutionMetadataKey, WorkflowNodeExecutionMetadataKey,
WorkflowNodeExecutionStatus, WorkflowNodeExecutionStatus,

View File

@ -24,10 +24,10 @@ from core.ops.tencent_trace.entities.tencent_trace_entity import SpanData
from core.ops.tencent_trace.span_builder import TencentSpanBuilder from core.ops.tencent_trace.span_builder import TencentSpanBuilder
from core.ops.tencent_trace.utils import TencentTraceUtils from core.ops.tencent_trace.utils import TencentTraceUtils
from core.repositories import SQLAlchemyWorkflowNodeExecutionRepository from core.repositories import SQLAlchemyWorkflowNodeExecutionRepository
from core.workflow.entities.workflow_node_execution import ( from dify_graph.entities.workflow_node_execution import (
WorkflowNodeExecution, WorkflowNodeExecution,
) )
from core.workflow.nodes import NodeType from dify_graph.nodes import NodeType
from extensions.ext_database import db from extensions.ext_database import db
from models import Account, App, TenantAccountJoin, WorkflowNodeExecutionTriggeredFrom from models import Account, App, TenantAccountJoin, WorkflowNodeExecutionTriggeredFrom

View File

@ -31,7 +31,7 @@ from core.ops.entities.trace_entity import (
) )
from core.ops.weave_trace.entities.weave_trace_entity import WeaveTraceModel from core.ops.weave_trace.entities.weave_trace_entity import WeaveTraceModel
from core.repositories import DifyCoreRepositoryFactory from core.repositories import DifyCoreRepositoryFactory
from core.workflow.enums import NodeType, WorkflowNodeExecutionMetadataKey from dify_graph.enums import NodeType, WorkflowNodeExecutionMetadataKey
from extensions.ext_database import db from extensions.ext_database import db
from models import EndUser, MessageFile, WorkflowNodeExecutionTriggeredFrom from models import EndUser, MessageFile, WorkflowNodeExecutionTriggeredFrom

View File

@ -1,17 +1,17 @@
from core.plugin.backwards_invocation.base import BaseBackwardsInvocation from core.plugin.backwards_invocation.base import BaseBackwardsInvocation
from core.workflow.enums import NodeType from dify_graph.enums import NodeType
from core.workflow.nodes.parameter_extractor.entities import ( from dify_graph.nodes.parameter_extractor.entities import (
ModelConfig as ParameterExtractorModelConfig, ModelConfig as ParameterExtractorModelConfig,
) )
from core.workflow.nodes.parameter_extractor.entities import ( from dify_graph.nodes.parameter_extractor.entities import (
ParameterConfig, ParameterConfig,
ParameterExtractorNodeData, ParameterExtractorNodeData,
) )
from core.workflow.nodes.question_classifier.entities import ( from dify_graph.nodes.question_classifier.entities import (
ClassConfig, ClassConfig,
QuestionClassifierNodeData, QuestionClassifierNodeData,
) )
from core.workflow.nodes.question_classifier.entities import ( from dify_graph.nodes.question_classifier.entities import (
ModelConfig as QuestionClassifierModelConfig, ModelConfig as QuestionClassifierModelConfig,
) )
from services.workflow_service import WorkflowService from services.workflow_service import WorkflowService

View File

@ -18,16 +18,16 @@ from core.model_runtime.entities.message_entities import (
) )
from core.model_runtime.entities.model_entities import ModelType from core.model_runtime.entities.model_entities import ModelType
from core.plugin.utils.http_parser import deserialize_response from core.plugin.utils.http_parser import deserialize_response
from core.workflow.nodes.parameter_extractor.entities import ( from dify_graph.nodes.parameter_extractor.entities import (
ModelConfig as ParameterExtractorModelConfig, ModelConfig as ParameterExtractorModelConfig,
) )
from core.workflow.nodes.parameter_extractor.entities import ( from dify_graph.nodes.parameter_extractor.entities import (
ParameterConfig, ParameterConfig,
) )
from core.workflow.nodes.question_classifier.entities import ( from dify_graph.nodes.question_classifier.entities import (
ClassConfig, ClassConfig,
) )
from core.workflow.nodes.question_classifier.entities import ( from dify_graph.nodes.question_classifier.entities import (
ModelConfig as QuestionClassifierModelConfig, ModelConfig as QuestionClassifierModelConfig,
) )

View File

@ -1,7 +1,7 @@
from typing import Any from typing import Any
from core.tools.entities.tool_entities import ToolSelector from core.tools.entities.tool_entities import ToolSelector
from core.workflow.file.models import File from dify_graph.file.models import File
def convert_parameters_to_plugin_format(parameters: dict[str, Any]) -> dict[str, Any]: def convert_parameters_to_plugin_format(parameters: dict[str, Any]) -> dict[str, Any]:

View File

@ -17,9 +17,9 @@ from core.model_runtime.entities.message_entities import ImagePromptMessageConte
from core.prompt.entities.advanced_prompt_entities import ChatModelMessage, CompletionModelPromptTemplate, MemoryConfig from core.prompt.entities.advanced_prompt_entities import ChatModelMessage, CompletionModelPromptTemplate, MemoryConfig
from core.prompt.prompt_transform import PromptTransform from core.prompt.prompt_transform import PromptTransform
from core.prompt.utils.prompt_template_parser import PromptTemplateParser from core.prompt.utils.prompt_template_parser import PromptTemplateParser
from core.workflow.file import file_manager from dify_graph.file import file_manager
from core.workflow.file.models import File from dify_graph.file.models import File
from core.workflow.runtime import VariablePool from dify_graph.runtime import VariablePool
class AdvancedPromptTransform(PromptTransform): class AdvancedPromptTransform(PromptTransform):

View File

@ -18,11 +18,11 @@ from core.model_runtime.entities.message_entities import (
from core.prompt.entities.advanced_prompt_entities import MemoryConfig from core.prompt.entities.advanced_prompt_entities import MemoryConfig
from core.prompt.prompt_transform import PromptTransform from core.prompt.prompt_transform import PromptTransform
from core.prompt.utils.prompt_template_parser import PromptTemplateParser from core.prompt.utils.prompt_template_parser import PromptTemplateParser
from core.workflow.file import file_manager from dify_graph.file import file_manager
from models.model import AppMode from models.model import AppMode
if TYPE_CHECKING: if TYPE_CHECKING:
from core.workflow.file.models import File from dify_graph.file.models import File
class ModelMode(StrEnum): class ModelMode(StrEnum):

View File

@ -9,8 +9,8 @@ from flask import current_app
from sqlalchemy import delete, func, select from sqlalchemy import delete, func, select
from core.db.session_factory import session_factory from core.db.session_factory import session_factory
from core.workflow.nodes.knowledge_index.exc import KnowledgeIndexNodeError from dify_graph.nodes.knowledge_index.exc import KnowledgeIndexNodeError
from core.workflow.repositories.index_processor_protocol import Preview, PreviewItem, QaPreview from dify_graph.repositories.index_processor_protocol import Preview, PreviewItem, QaPreview
from models.dataset import Dataset, Document, DocumentSegment from models.dataset import Dataset, Document, DocumentSegment
from .index_processor_factory import IndexProcessorFactory from .index_processor_factory import IndexProcessorFactory

View File

@ -35,7 +35,7 @@ from core.rag.index_processor.index_processor_base import BaseIndexProcessor
from core.rag.models.document import AttachmentDocument, Document, MultimodalGeneralStructureChunk from core.rag.models.document import AttachmentDocument, Document, MultimodalGeneralStructureChunk
from core.rag.retrieval.retrieval_methods import RetrievalMethod from core.rag.retrieval.retrieval_methods import RetrievalMethod
from core.tools.utils.text_processing_utils import remove_leading_symbols from core.tools.utils.text_processing_utils import remove_leading_symbols
from core.workflow.file import File, FileTransferMethod, FileType, file_manager from dify_graph.file import File, FileTransferMethod, FileType, file_manager
from extensions.ext_database import db from extensions.ext_database import db
from factories.file_factory import build_from_mapping from factories.file_factory import build_from_mapping
from libs import helper from libs import helper

View File

@ -4,7 +4,7 @@ from typing import Any
from pydantic import BaseModel, Field from pydantic import BaseModel, Field
from core.workflow.file import File from dify_graph.file import File
class ChildDocument(BaseModel): class ChildDocument(BaseModel):

View File

@ -60,9 +60,9 @@ from core.rag.retrieval.template_prompts import (
) )
from core.tools.signature import sign_upload_file from core.tools.signature import sign_upload_file
from core.tools.utils.dataset_retriever.dataset_retriever_base_tool import DatasetRetrieverBaseTool from core.tools.utils.dataset_retriever.dataset_retriever_base_tool import DatasetRetrieverBaseTool
from core.workflow.file import File, FileTransferMethod, FileType from dify_graph.file import File, FileTransferMethod, FileType
from core.workflow.nodes.knowledge_retrieval import exc from dify_graph.nodes.knowledge_retrieval import exc
from core.workflow.repositories.rag_retrieval_protocol import ( from dify_graph.repositories.rag_retrieval_protocol import (
KnowledgeRetrievalRequest, KnowledgeRetrievalRequest,
Source, Source,
SourceChildChunk, SourceChildChunk,

View File

@ -11,8 +11,8 @@ from typing import Union
from sqlalchemy.engine import Engine from sqlalchemy.engine import Engine
from sqlalchemy.orm import sessionmaker from sqlalchemy.orm import sessionmaker
from core.workflow.entities.workflow_execution import WorkflowExecution from dify_graph.entities.workflow_execution import WorkflowExecution
from core.workflow.repositories.workflow_execution_repository import WorkflowExecutionRepository from dify_graph.repositories.workflow_execution_repository import WorkflowExecutionRepository
from libs.helper import extract_tenant_id from libs.helper import extract_tenant_id
from models import Account, CreatorUserRole, EndUser from models import Account, CreatorUserRole, EndUser
from models.enums import WorkflowRunTriggeredFrom from models.enums import WorkflowRunTriggeredFrom

View File

@ -12,8 +12,8 @@ from typing import Union
from sqlalchemy.engine import Engine from sqlalchemy.engine import Engine
from sqlalchemy.orm import sessionmaker from sqlalchemy.orm import sessionmaker
from core.workflow.entities.workflow_node_execution import WorkflowNodeExecution from dify_graph.entities.workflow_node_execution import WorkflowNodeExecution
from core.workflow.repositories.workflow_node_execution_repository import ( from dify_graph.repositories.workflow_node_execution_repository import (
OrderConfig, OrderConfig,
WorkflowNodeExecutionRepository, WorkflowNodeExecutionRepository,
) )

View File

@ -11,8 +11,8 @@ from sqlalchemy.engine import Engine
from sqlalchemy.orm import sessionmaker from sqlalchemy.orm import sessionmaker
from configs import dify_config from configs import dify_config
from core.workflow.repositories.workflow_execution_repository import WorkflowExecutionRepository from dify_graph.repositories.workflow_execution_repository import WorkflowExecutionRepository
from core.workflow.repositories.workflow_node_execution_repository import WorkflowNodeExecutionRepository from dify_graph.repositories.workflow_node_execution_repository import WorkflowNodeExecutionRepository
from libs.module_loading import import_string from libs.module_loading import import_string
from models import Account, EndUser from models import Account, EndUser
from models.enums import WorkflowRunTriggeredFrom from models.enums import WorkflowRunTriggeredFrom

View File

@ -7,7 +7,7 @@ from typing import Any
from sqlalchemy import Engine, select from sqlalchemy import Engine, select
from sqlalchemy.orm import Session, selectinload, sessionmaker from sqlalchemy.orm import Session, selectinload, sessionmaker
from core.workflow.nodes.human_input.entities import ( from dify_graph.nodes.human_input.entities import (
DeliveryChannelConfig, DeliveryChannelConfig,
EmailDeliveryMethod, EmailDeliveryMethod,
EmailRecipients, EmailRecipients,
@ -17,12 +17,12 @@ from core.workflow.nodes.human_input.entities import (
MemberRecipient, MemberRecipient,
WebAppDeliveryMethod, WebAppDeliveryMethod,
) )
from core.workflow.nodes.human_input.enums import ( from dify_graph.nodes.human_input.enums import (
DeliveryMethodType, DeliveryMethodType,
HumanInputFormKind, HumanInputFormKind,
HumanInputFormStatus, HumanInputFormStatus,
) )
from core.workflow.repositories.human_input_form_repository import ( from dify_graph.repositories.human_input_form_repository import (
FormCreateParams, FormCreateParams,
FormNotFoundError, FormNotFoundError,
HumanInputFormEntity, HumanInputFormEntity,

View File

@ -9,10 +9,10 @@ from typing import Union
from sqlalchemy.engine import Engine from sqlalchemy.engine import Engine
from sqlalchemy.orm import sessionmaker from sqlalchemy.orm import sessionmaker
from core.workflow.entities import WorkflowExecution from dify_graph.entities import WorkflowExecution
from core.workflow.enums import WorkflowExecutionStatus, WorkflowType from dify_graph.enums import WorkflowExecutionStatus, WorkflowType
from core.workflow.repositories.workflow_execution_repository import WorkflowExecutionRepository from dify_graph.repositories.workflow_execution_repository import WorkflowExecutionRepository
from core.workflow.workflow_type_encoder import WorkflowRuntimeTypeConverter from dify_graph.workflow_type_encoder import WorkflowRuntimeTypeConverter
from libs.helper import extract_tenant_id from libs.helper import extract_tenant_id
from models import ( from models import (
Account, Account,

View File

@ -18,10 +18,10 @@ from tenacity import before_sleep_log, retry, retry_if_exception, stop_after_att
from configs import dify_config from configs import dify_config
from core.model_runtime.utils.encoders import jsonable_encoder from core.model_runtime.utils.encoders import jsonable_encoder
from core.workflow.entities import WorkflowNodeExecution from dify_graph.entities import WorkflowNodeExecution
from core.workflow.enums import NodeType, WorkflowNodeExecutionMetadataKey, WorkflowNodeExecutionStatus from dify_graph.enums import NodeType, WorkflowNodeExecutionMetadataKey, WorkflowNodeExecutionStatus
from core.workflow.repositories.workflow_node_execution_repository import OrderConfig, WorkflowNodeExecutionRepository from dify_graph.repositories.workflow_node_execution_repository import OrderConfig, WorkflowNodeExecutionRepository
from core.workflow.workflow_type_encoder import WorkflowRuntimeTypeConverter from dify_graph.workflow_type_encoder import WorkflowRuntimeTypeConverter
from extensions.ext_storage import storage from extensions.ext_storage import storage
from libs.helper import extract_tenant_id from libs.helper import extract_tenant_id
from libs.uuid_utils import uuidv7 from libs.uuid_utils import uuidv7

View File

@ -8,8 +8,8 @@ from core.plugin.entities.parameters import PluginParameterOption
from core.tools.builtin_tool.tool import BuiltinTool from core.tools.builtin_tool.tool import BuiltinTool
from core.tools.entities.common_entities import I18nObject from core.tools.entities.common_entities import I18nObject
from core.tools.entities.tool_entities import ToolInvokeMessage, ToolParameter from core.tools.entities.tool_entities import ToolInvokeMessage, ToolParameter
from core.workflow.file.enums import FileType from dify_graph.file.enums import FileType
from core.workflow.file.file_manager import download from dify_graph.file.file_manager import download
from services.model_provider_service import ModelProviderService from services.model_provider_service import ModelProviderService

View File

@ -13,7 +13,7 @@ from core.tools.__base.tool_runtime import ToolRuntime
from core.tools.entities.tool_bundle import ApiToolBundle from core.tools.entities.tool_bundle import ApiToolBundle
from core.tools.entities.tool_entities import ToolEntity, ToolInvokeMessage, ToolProviderType from core.tools.entities.tool_entities import ToolEntity, ToolInvokeMessage, ToolProviderType
from core.tools.errors import ToolInvokeError, ToolParameterValidationError, ToolProviderCredentialValidationError from core.tools.errors import ToolInvokeError, ToolParameterValidationError, ToolProviderCredentialValidationError
from core.workflow.file.file_manager import download from dify_graph.file.file_manager import download
API_TOOL_DEFAULT_TIMEOUT = ( API_TOOL_DEFAULT_TIMEOUT = (
int(getenv("API_TOOL_DEFAULT_CONNECT_TIMEOUT", "10")), int(getenv("API_TOOL_DEFAULT_CONNECT_TIMEOUT", "10")),

View File

@ -31,8 +31,8 @@ from core.tools.errors import (
) )
from core.tools.utils.message_transformer import ToolFileMessageTransformer, safe_json_value from core.tools.utils.message_transformer import ToolFileMessageTransformer, safe_json_value
from core.tools.workflow_as_tool.tool import WorkflowTool from core.tools.workflow_as_tool.tool import WorkflowTool
from core.workflow.file import FileType from dify_graph.file import FileType
from core.workflow.file.models import FileTransferMethod from dify_graph.file.models import FileTransferMethod
from extensions.ext_database import db from extensions.ext_database import db
from models.enums import CreatorUserRole from models.enums import CreatorUserRole
from models.model import Message, MessageFile from models.model import Message, MessageFile

View File

@ -243,7 +243,7 @@ class ToolFileManager:
# init tool_file_parser # init tool_file_parser
from core.workflow.file.tool_file_parser import set_tool_file_manager_factory from dify_graph.file.tool_file_parser import set_tool_file_manager_factory
def _factory() -> ToolFileManager: def _factory() -> ToolFileManager:

View File

@ -24,14 +24,14 @@ from core.tools.plugin_tool.provider import PluginToolProviderController
from core.tools.plugin_tool.tool import PluginTool from core.tools.plugin_tool.tool import PluginTool
from core.tools.utils.uuid_utils import is_valid_uuid from core.tools.utils.uuid_utils import is_valid_uuid
from core.tools.workflow_as_tool.provider import WorkflowToolProviderController from core.tools.workflow_as_tool.provider import WorkflowToolProviderController
from core.workflow.runtime.variable_pool import VariablePool from dify_graph.runtime.variable_pool import VariablePool
from extensions.ext_database import db from extensions.ext_database import db
from models.provider_ids import ToolProviderID from models.provider_ids import ToolProviderID
from services.enterprise.plugin_manager_service import PluginCredentialType from services.enterprise.plugin_manager_service import PluginCredentialType
from services.tools.mcp_tools_manage_service import MCPToolManageService from services.tools.mcp_tools_manage_service import MCPToolManageService
if TYPE_CHECKING: if TYPE_CHECKING:
from core.workflow.nodes.tool.entities import ToolEntity from dify_graph.nodes.tool.entities import ToolEntity
from core.agent.entities import AgentToolEntity from core.agent.entities import AgentToolEntity
from core.app.entities.app_invoke_entities import InvokeFrom from core.app.entities.app_invoke_entities import InvokeFrom
@ -62,7 +62,7 @@ from models.tools import ApiToolProvider, BuiltinToolProvider, WorkflowToolProvi
from services.tools.tools_transform_service import ToolTransformService from services.tools.tools_transform_service import ToolTransformService
if TYPE_CHECKING: if TYPE_CHECKING:
from core.workflow.nodes.tool.entities import ToolEntity from dify_graph.nodes.tool.entities import ToolEntity
logger = logging.getLogger(__name__) logger = logging.getLogger(__name__)
@ -1017,8 +1017,8 @@ class ToolManager:
""" """
Convert tool parameters type Convert tool parameters type
""" """
from core.workflow.nodes.tool.entities import ToolNodeData from dify_graph.nodes.tool.entities import ToolNodeData
from core.workflow.nodes.tool.exc import ToolParameterError from dify_graph.nodes.tool.exc import ToolParameterError
runtime_parameters = {} runtime_parameters = {}
for parameter in parameters: for parameter in parameters:

View File

@ -10,7 +10,7 @@ import pytz
from core.tools.entities.tool_entities import ToolInvokeMessage from core.tools.entities.tool_entities import ToolInvokeMessage
from core.tools.tool_file_manager import ToolFileManager from core.tools.tool_file_manager import ToolFileManager
from core.workflow.file import File, FileTransferMethod, FileType from dify_graph.file import File, FileTransferMethod, FileType
from libs.login import current_user from libs.login import current_user
from models import Account from models import Account

View File

@ -3,9 +3,9 @@ from typing import Any
from core.tools.entities.tool_entities import WorkflowToolParameterConfiguration from core.tools.entities.tool_entities import WorkflowToolParameterConfiguration
from core.tools.errors import WorkflowToolHumanInputNotSupportedError from core.tools.errors import WorkflowToolHumanInputNotSupportedError
from core.workflow.enums import NodeType from dify_graph.enums import NodeType
from core.workflow.nodes.base.entities import OutputVariableEntity from dify_graph.nodes.base.entities import OutputVariableEntity
from core.workflow.variables.input_entities import VariableEntity from dify_graph.variables.input_entities import VariableEntity
class WorkflowToolConfigurationUtils: class WorkflowToolConfigurationUtils:

Some files were not shown because too many files have changed in this diff Show More