chore: reorg imports (#35308)

Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>
This commit is contained in:
Yunlu Wen
2026-04-16 08:50:02 +00:00
committed by GitHub
co-authored by autofix-ci[bot]
parent e8af6a6b3b
commit 3193e8a712
545 changed files with 1480 additions and 1604 deletions
@@ -1,9 +1,8 @@
from collections.abc import Generator
from graphon.node_events import StreamCompletedEvent
from core.datasource.datasource_manager import DatasourceManager
from core.datasource.entities.datasource_entities import DatasourceMessage
from graphon.node_events import StreamCompletedEvent
def _gen_var_stream() -> Generator[DatasourceMessage, None, None]:
@@ -1,8 +1,7 @@
from graphon.enums import WorkflowNodeExecutionStatus
from graphon.node_events import NodeRunResult, StreamCompletedEvent
from core.app.entities.app_invoke_entities import DIFY_RUN_CONTEXT_KEY
from core.workflow.nodes.datasource.datasource_node import DatasourceNode
from graphon.enums import WorkflowNodeExecutionStatus
from graphon.node_events import NodeRunResult, StreamCompletedEvent
class _Seg:
@@ -4,6 +4,9 @@ from collections.abc import Generator, Sequence
from decimal import Decimal
from json import dumps
from core.plugin.entities.plugin_daemon import PluginModelProviderEntity
from core.plugin.impl.model import PluginModelClient
# import monkeypatch
from graphon.model_runtime.entities.common_entities import I18nObject
from graphon.model_runtime.entities.llm_entities import (
@@ -23,9 +26,6 @@ from graphon.model_runtime.entities.model_entities import (
)
from graphon.model_runtime.entities.provider_entities import ConfigurateMethod, ProviderEntity
from core.plugin.entities.plugin_daemon import PluginModelProviderEntity
from core.plugin.impl.model import PluginModelClient
class MockModelClass(PluginModelClient):
def fetch_model_providers(self, tenant_id: str) -> Sequence[PluginModelProviderEntity]:
@@ -3,10 +3,6 @@ import unittest
import uuid
import pytest
from graphon.nodes import BuiltinNodeTypes
from graphon.variables.segments import StringSegment
from graphon.variables.types import SegmentType
from graphon.variables.variables import StringVariable
from sqlalchemy import delete, func, select
from sqlalchemy.orm import Session
@@ -15,6 +11,10 @@ from extensions.ext_database import db
from extensions.ext_storage import storage
from extensions.storage.storage_type import StorageType
from factories.variable_factory import build_segment
from graphon.nodes import BuiltinNodeTypes
from graphon.variables.segments import StringSegment
from graphon.variables.types import SegmentType
from graphon.variables.variables import StringVariable
from libs import datetime_utils
from models.enums import CreatorUserRole
from models.model import UploadFile
@@ -2,11 +2,11 @@ import uuid
from unittest.mock import patch
import pytest
from graphon.variables.segments import StringSegment
from sqlalchemy import delete, func, select
from core.db.session_factory import session_factory
from extensions.storage.storage_type import StorageType
from graphon.variables.segments import StringSegment
from models import Tenant
from models.enums import CreatorUserRole
from models.model import App, UploadFile
@@ -209,7 +209,6 @@ class TestDeleteDraftVariablesWithOffloadIntegration:
def setup_offload_test_data(self, app_and_tenant):
tenant, app = app_and_tenant
from graphon.variables.types import SegmentType
from libs.datetime_utils import naive_utc_now
with session_factory.create_session() as session:
@@ -453,7 +452,6 @@ class TestDeleteDraftVariablesSessionCommit:
def setup_offload_test_data(self, app_and_tenant):
"""Create test data with offload files for session commit tests."""
from graphon.variables.types import SegmentType
from libs.datetime_utils import naive_utc_now
tenant, app = app_and_tenant
@@ -1,12 +1,11 @@
from unittest.mock import MagicMock
from graphon.model_runtime.entities.model_entities import ModelType
from core.app.entities.app_invoke_entities import ModelConfigWithCredentialsEntity
from core.entities.provider_configuration import ProviderConfiguration, ProviderModelBundle
from core.entities.provider_entities import CustomConfiguration, CustomProviderConfiguration, SystemConfiguration
from core.model_manager import ModelInstance
from core.plugin.impl.model_runtime_factory import create_plugin_model_provider_factory
from graphon.model_runtime.entities.model_entities import ModelType
from models.provider import ProviderType
@@ -2,17 +2,17 @@ import time
import uuid
import pytest
from configs import dify_config
from core.app.entities.app_invoke_entities import InvokeFrom, UserFrom
from core.workflow.node_factory import DifyNodeFactory
from core.workflow.system_variables import build_system_variables
from graphon.enums import WorkflowNodeExecutionStatus
from graphon.graph import Graph
from graphon.node_events import NodeRunResult
from graphon.nodes.code.code_node import CodeNode
from graphon.nodes.code.limits import CodeNodeLimits
from graphon.runtime import GraphRuntimeState, VariablePool
from configs import dify_config
from core.app.entities.app_invoke_entities import InvokeFrom, UserFrom
from core.workflow.node_factory import DifyNodeFactory
from core.workflow.system_variables import build_system_variables
from tests.workflow_test_utils import build_test_graph_init_params
pytest_plugins = ("tests.integration_tests.workflow.nodes.__mock.code_executor",)
@@ -3,11 +3,6 @@ import uuid
from urllib.parse import urlencode
import pytest
from graphon.enums import WorkflowNodeExecutionStatus
from graphon.file.file_manager import file_manager
from graphon.graph import Graph
from graphon.nodes.http_request import HttpRequestNode, HttpRequestNodeConfig
from graphon.runtime import GraphRuntimeState, VariablePool
from configs import dify_config
from core.app.entities.app_invoke_entities import InvokeFrom, UserFrom
@@ -16,6 +11,11 @@ from core.tools.tool_file_manager import ToolFileManager
from core.workflow.node_factory import DifyNodeFactory
from core.workflow.node_runtime import DifyFileReferenceFactory
from core.workflow.system_variables import build_system_variables
from graphon.enums import WorkflowNodeExecutionStatus
from graphon.file.file_manager import file_manager
from graphon.graph import Graph
from graphon.nodes.http_request import HttpRequestNode, HttpRequestNodeConfig
from graphon.runtime import GraphRuntimeState, VariablePool
from tests.workflow_test_utils import build_test_graph_init_params
pytest_plugins = ("tests.integration_tests.workflow.nodes.__mock.http",)
@@ -192,6 +192,7 @@ def test_custom_authorization_header(setup_http_mock):
@pytest.mark.parametrize("setup_http_mock", [["none"]], indirect=True)
def test_custom_auth_with_empty_api_key_raises_error(setup_http_mock):
"""Test: In custom authentication mode, when the api_key is empty, AuthorizationConfigError should be raised."""
from core.workflow.system_variables import build_system_variables
from graphon.enums import BuiltinNodeTypes
from graphon.nodes.http_request.entities import (
HttpRequestNodeAuthorization,
@@ -202,8 +203,6 @@ def test_custom_auth_with_empty_api_key_raises_error(setup_http_mock):
from graphon.nodes.http_request.executor import Executor
from graphon.runtime import VariablePool
from core.workflow.system_variables import build_system_variables
# Create variable pool
variable_pool = VariablePool(
system_variables=build_system_variables(user_id="test", files=[]),
@@ -4,6 +4,11 @@ import uuid
from collections.abc import Generator
from unittest.mock import MagicMock, patch
from core.app.entities.app_invoke_entities import InvokeFrom, UserFrom
from core.llm_generator.output_parser.structured_output import _parse_structured_output
from core.model_manager import ModelInstance
from core.workflow.system_variables import build_system_variables
from extensions.ext_database import db
from graphon.enums import WorkflowNodeExecutionStatus
from graphon.node_events import StreamCompletedEvent
from graphon.nodes.llm.file_saver import LLMFileSaver
@@ -12,12 +17,6 @@ from graphon.nodes.llm.protocols import CredentialsProvider, ModelFactory
from graphon.nodes.llm.runtime_protocols import PromptMessageSerializerProtocol
from graphon.nodes.protocols import HttpClientProtocol
from graphon.runtime import GraphRuntimeState, VariablePool
from core.app.entities.app_invoke_entities import InvokeFrom, UserFrom
from core.llm_generator.output_parser.structured_output import _parse_structured_output
from core.model_manager import ModelInstance
from core.workflow.system_variables import build_system_variables
from extensions.ext_database import db
from tests.workflow_test_utils import build_test_graph_init_params
"""FOR MOCK FIXTURES, DO NOT REMOVE"""
@@ -3,17 +3,16 @@ import time
import uuid
from unittest.mock import MagicMock
from graphon.enums import WorkflowNodeExecutionStatus
from graphon.model_runtime.entities import AssistantPromptMessage, UserPromptMessage
from graphon.nodes.llm.protocols import CredentialsProvider, ModelFactory
from graphon.nodes.parameter_extractor.parameter_extractor_node import ParameterExtractorNode
from graphon.runtime import GraphRuntimeState, VariablePool
from core.app.entities.app_invoke_entities import InvokeFrom, UserFrom
from core.model_manager import ModelInstance
from core.workflow.node_runtime import DifyPromptMessageSerializer
from core.workflow.system_variables import build_system_variables
from extensions.ext_database import db
from graphon.enums import WorkflowNodeExecutionStatus
from graphon.model_runtime.entities import AssistantPromptMessage, UserPromptMessage
from graphon.nodes.llm.protocols import CredentialsProvider, ModelFactory
from graphon.nodes.parameter_extractor.parameter_extractor_node import ParameterExtractorNode
from graphon.runtime import GraphRuntimeState, VariablePool
from tests.integration_tests.workflow.nodes.__mock.model import get_mocked_fetch_model_instance
from tests.workflow_test_utils import build_test_graph_init_params
@@ -1,15 +1,14 @@
import time
import uuid
from core.app.entities.app_invoke_entities import InvokeFrom, UserFrom
from core.workflow.node_factory import DifyNodeFactory
from core.workflow.system_variables import build_system_variables
from graphon.enums import WorkflowNodeExecutionStatus
from graphon.graph import Graph
from graphon.nodes.template_transform.template_transform_node import TemplateTransformNode
from graphon.runtime import GraphRuntimeState, VariablePool
from graphon.template_rendering import TemplateRenderError
from core.app.entities.app_invoke_entities import InvokeFrom, UserFrom
from core.workflow.node_factory import DifyNodeFactory
from core.workflow.system_variables import build_system_variables
from tests.workflow_test_utils import build_test_graph_init_params
@@ -2,18 +2,17 @@ import time
import uuid
from unittest.mock import MagicMock, patch
from graphon.enums import WorkflowNodeExecutionStatus
from graphon.graph import Graph
from graphon.node_events import StreamCompletedEvent
from graphon.nodes.protocols import ToolFileManagerProtocol
from graphon.nodes.tool.tool_node import ToolNode
from graphon.runtime import GraphRuntimeState, VariablePool
from core.app.entities.app_invoke_entities import InvokeFrom, UserFrom
from core.tools.utils.configuration import ToolParameterConfigurationManager
from core.workflow.node_factory import DifyNodeFactory
from core.workflow.node_runtime import DifyToolNodeRuntime
from core.workflow.system_variables import build_system_variables
from graphon.enums import WorkflowNodeExecutionStatus
from graphon.graph import Graph
from graphon.node_events import StreamCompletedEvent
from graphon.nodes.protocols import ToolFileManagerProtocol
from graphon.nodes.tool.tool_node import ToolNode
from graphon.runtime import GraphRuntimeState, VariablePool
from tests.workflow_test_utils import build_test_graph_init_params
@@ -4,11 +4,11 @@ import json
import uuid
from flask.testing import FlaskClient
from graphon.enums import WorkflowExecutionStatus
from sqlalchemy.orm import Session
from configs import dify_config
from constants import HEADER_NAME_CSRF_TOKEN
from graphon.enums import WorkflowExecutionStatus
from libs.datetime_utils import naive_utc_now
from libs.token import _real_cookie_name, generate_csrf_token
from models import Account, DifySetup, Tenant, TenantAccountJoin
@@ -3,12 +3,12 @@
import uuid
from flask.testing import FlaskClient
from graphon.variables.segments import StringSegment
from sqlalchemy import select
from sqlalchemy.orm import Session
from core.workflow.variable_prefixes import CONVERSATION_VARIABLE_NODE_ID, ENVIRONMENT_VARIABLE_NODE_ID
from factories.variable_factory import segment_to_variable
from graphon.variables.segments import StringSegment
from models import Workflow
from models.model import AppMode
from models.workflow import WorkflowDraftVariable
@@ -22,13 +22,6 @@ import uuid
from time import time
import pytest
from graphon.entities.pause_reason import SchedulingPause
from graphon.enums import WorkflowExecutionStatus
from graphon.graph_engine.entities.commands import GraphEngineCommand
from graphon.graph_engine.layers.base import GraphEngineLayerNotInitializedError
from graphon.graph_events import GraphRunPausedEvent
from graphon.model_runtime.entities.llm_entities import LLMUsage
from graphon.runtime import GraphRuntimeState, ReadOnlyGraphRuntimeState, ReadOnlyGraphRuntimeStateWrapper, VariablePool
from sqlalchemy import Engine, delete, select
from sqlalchemy.orm import Session
@@ -40,6 +33,13 @@ from core.app.layers.pause_state_persist_layer import (
)
from core.workflow.system_variables import build_system_variables
from extensions.ext_storage import storage
from graphon.entities.pause_reason import SchedulingPause
from graphon.enums import WorkflowExecutionStatus
from graphon.graph_engine.entities.commands import GraphEngineCommand
from graphon.graph_engine.layers.base import GraphEngineLayerNotInitializedError
from graphon.graph_events import GraphRunPausedEvent
from graphon.model_runtime.entities.llm_entities import LLMUsage
from graphon.runtime import GraphRuntimeState, ReadOnlyGraphRuntimeState, ReadOnlyGraphRuntimeStateWrapper, VariablePool
from libs.datetime_utils import naive_utc_now
from models import Account
from models import WorkflowPause as WorkflowPauseModel
@@ -4,7 +4,6 @@ from __future__ import annotations
from uuid import uuid4
from graphon.nodes.human_input.entities import FormDefinition, HumanInputNodeData, UserAction
from sqlalchemy import Engine, select
from sqlalchemy.orm import Session
@@ -18,6 +17,7 @@ from core.workflow.human_input_compat import (
MemberRecipient,
WebAppDeliveryMethod,
)
from graphon.nodes.human_input.entities import FormDefinition, HumanInputNodeData, UserAction
from models.account import (
Account,
AccountStatus,
@@ -4,6 +4,17 @@ from datetime import timedelta
from unittest.mock import MagicMock
import pytest
from sqlalchemy import delete, select
from sqlalchemy.orm import Session
from core.app.app_config.entities import WorkflowUIBasedAppConfig
from core.app.entities.app_invoke_entities import InvokeFrom, WorkflowAppGenerateEntity
from core.app.workflow.layers import PersistenceWorkflowInfo, WorkflowPersistenceLayer
from core.repositories.human_input_repository import HumanInputFormEntity, HumanInputFormRepository
from core.repositories.sqlalchemy_workflow_execution_repository import SQLAlchemyWorkflowExecutionRepository
from core.repositories.sqlalchemy_workflow_node_execution_repository import SQLAlchemyWorkflowNodeExecutionRepository
from core.workflow.node_runtime import DifyHumanInputNodeRuntime
from core.workflow.system_variables import build_system_variables
from graphon.enums import WorkflowType
from graphon.graph import Graph
from graphon.graph_engine import GraphEngine
@@ -16,17 +27,6 @@ from graphon.nodes.human_input.human_input_node import HumanInputNode
from graphon.nodes.start.entities import StartNodeData
from graphon.nodes.start.start_node import StartNode
from graphon.runtime import GraphRuntimeState, VariablePool
from sqlalchemy import delete, select
from sqlalchemy.orm import Session
from core.app.app_config.entities import WorkflowUIBasedAppConfig
from core.app.entities.app_invoke_entities import InvokeFrom, WorkflowAppGenerateEntity
from core.app.workflow.layers import PersistenceWorkflowInfo, WorkflowPersistenceLayer
from core.repositories.human_input_repository import HumanInputFormEntity, HumanInputFormRepository
from core.repositories.sqlalchemy_workflow_execution_repository import SQLAlchemyWorkflowExecutionRepository
from core.repositories.sqlalchemy_workflow_node_execution_repository import SQLAlchemyWorkflowNodeExecutionRepository
from core.workflow.node_runtime import DifyHumanInputNodeRuntime
from core.workflow.system_variables import build_system_variables
from libs.datetime_utils import naive_utc_now
from models import Account
from models.account import AccountStatus, Tenant, TenantAccountJoin, TenantAccountRole, TenantStatus
@@ -4,13 +4,13 @@ from unittest.mock import patch
from uuid import uuid4
import pytest
from graphon.file import File, FileTransferMethod, FileType
from sqlalchemy.orm import Session
from core.app.file_access import DatabaseFileAccessController
from extensions.ext_database import db
from extensions.storage.storage_type import StorageType
from factories.file_factory import StorageKeyLoader
from graphon.file import File, FileTransferMethod, FileType
from models import ToolFile, UploadFile
from models.enums import CreatorUserRole
@@ -6,7 +6,6 @@ from decimal import Decimal
from uuid import uuid4
from graphon.nodes.human_input.entities import FormDefinition, UserAction
from libs.datetime_utils import naive_utc_now
from models.account import Account, Tenant, TenantAccountJoin
from models.enums import ConversationFromSource, InvokeFrom
@@ -10,10 +10,10 @@ from unittest.mock import patch
from uuid import uuid4
import pytest
from graphon.file import FILE_MODEL_IDENTITY, FileTransferMethod
from sqlalchemy.orm import Session
from core.workflow.file_reference import build_file_reference
from graphon.file import FILE_MODEL_IDENTITY, FileTransferMethod
from models.model import App, AppMode, Conversation, Message
@@ -9,9 +9,9 @@ from collections.abc import Generator
from uuid import uuid4
import pytest
from graphon.enums import WorkflowExecutionStatus
from sqlalchemy.orm import Session
from graphon.enums import WorkflowExecutionStatus
from models.enums import ConversationFromSource, InvokeFrom
from models.model import App, AppMode, Conversation, Message, Site
from models.workflow import Workflow, WorkflowRun, WorkflowRunTriggeredFrom, WorkflowType
@@ -4,13 +4,13 @@ from typing import Any, NamedTuple
import pytest
import sqlalchemy as sa
from graphon.model_runtime.entities.model_entities import ModelType
from sqlalchemy import exc as sa_exc
from sqlalchemy import insert, select
from sqlalchemy.engine import Connection, Engine
from sqlalchemy.orm import DeclarativeBase, Mapped, Session, mapped_column
from sqlalchemy.sql.sqltypes import VARCHAR
from graphon.model_runtime.entities.model_entities import ModelType
from models.types import EnumText
_USER_TABLE = "enum_text_users"
@@ -5,10 +5,10 @@ from __future__ import annotations
from datetime import timedelta
from uuid import uuid4
from graphon.enums import WorkflowNodeExecutionStatus
from sqlalchemy import Engine, delete
from sqlalchemy.orm import Session, sessionmaker
from graphon.enums import WorkflowNodeExecutionStatus
from libs.datetime_utils import naive_utc_now
from models.enums import CreatorUserRole
from models.workflow import WorkflowNodeExecutionModel
@@ -8,15 +8,15 @@ from unittest.mock import Mock
from uuid import uuid4
import pytest
from sqlalchemy import Engine, delete, select
from sqlalchemy.orm import Session, sessionmaker
from extensions.ext_storage import storage
from graphon.entities import WorkflowExecution
from graphon.entities.pause_reason import HumanInputRequired, PauseReasonType
from graphon.enums import WorkflowExecutionStatus
from graphon.nodes.human_input.entities import FormDefinition, FormInput, UserAction
from graphon.nodes.human_input.enums import FormInputType, HumanInputFormStatus
from sqlalchemy import Engine, delete, select
from sqlalchemy.orm import Session, sessionmaker
from extensions.ext_storage import storage
from libs.datetime_utils import naive_utc_now
from models.enums import CreatorUserRole, WorkflowRunTriggeredFrom
from models.human_input import (
@@ -12,11 +12,11 @@ from decimal import Decimal
from uuid import uuid4
import pytest
from graphon.nodes.human_input.entities import FormDefinition, UserAction
from graphon.nodes.human_input.enums import HumanInputFormStatus
from sqlalchemy import Engine, delete, select
from sqlalchemy.orm import Session, sessionmaker
from graphon.nodes.human_input.entities import FormDefinition, UserAction
from graphon.nodes.human_input.enums import HumanInputFormStatus
from libs.datetime_utils import naive_utc_now
from models.account import Account, Tenant, TenantAccountJoin, TenantAccountRole
from models.enums import ConversationFromSource, InvokeFrom
@@ -7,6 +7,11 @@ from datetime import datetime
from decimal import Decimal
from uuid import uuid4
from sqlalchemy import Engine
from sqlalchemy.orm import Session, sessionmaker
from core.repositories import SQLAlchemyWorkflowNodeExecutionRepository
from core.repositories.factory import OrderConfig
from graphon.entities import WorkflowNodeExecution
from graphon.enums import (
BuiltinNodeTypes,
@@ -14,11 +19,6 @@ from graphon.enums import (
WorkflowNodeExecutionStatus,
)
from graphon.model_runtime.utils.encoders import jsonable_encoder
from sqlalchemy import Engine
from sqlalchemy.orm import Session, sessionmaker
from core.repositories import SQLAlchemyWorkflowNodeExecutionRepository
from core.repositories.factory import OrderConfig
from models.account import Account, Tenant
from models.enums import CreatorUserRole
from models.workflow import WorkflowNodeExecutionModel, WorkflowNodeExecutionTriggeredFrom
@@ -7,12 +7,12 @@ from datetime import timedelta
from uuid import uuid4
import pytest
from graphon.entities import WorkflowExecution
from graphon.enums import WorkflowExecutionStatus
from sqlalchemy import Engine, delete
from sqlalchemy import exc as sa_exc
from sqlalchemy.orm import Session, sessionmaker
from graphon.entities import WorkflowExecution
from graphon.enums import WorkflowExecutionStatus
from libs.datetime_utils import naive_utc_now
from models.enums import CreatorUserRole, WorkflowRunTriggeredFrom
from models.workflow import WorkflowRun, WorkflowType
@@ -842,7 +842,6 @@ class TestAgentService:
conversation, message = self._create_test_conversation_and_message(db_session_with_containers, app, account)
from graphon.file import FileTransferMethod, FileType
from models.enums import CreatorUserRole
# Add files to message
@@ -9,7 +9,6 @@ from uuid import uuid4
import pytest
import yaml
from faker import Faker
from graphon.enums import BuiltinNodeTypes
from core.trigger.constants import (
TRIGGER_PLUGIN_NODE_TYPE,
@@ -17,6 +16,7 @@ from core.trigger.constants import (
TRIGGER_WEBHOOK_NODE_TYPE,
)
from extensions.ext_redis import redis_client
from graphon.enums import BuiltinNodeTypes
from models import Account, AppMode
from models.model import AppModelConfig, IconType
from services import app_dsl_service
@@ -5,11 +5,11 @@ from unittest.mock import patch
from uuid import uuid4
import pytest
from graphon.variables import FloatVariable, IntegerVariable, StringVariable
from sqlalchemy.orm import sessionmaker
from core.app.entities.app_invoke_entities import InvokeFrom
from extensions.ext_database import db
from graphon.variables import FloatVariable, IntegerVariable, StringVariable
from models.account import Account, Tenant, TenantAccountJoin
from models.enums import ConversationFromSource
from models.model import App, Conversation, EndUser
@@ -3,10 +3,10 @@
from uuid import uuid4
import pytest
from graphon.variables import StringVariable
from sqlalchemy.orm import sessionmaker
from extensions.ext_database import db
from graphon.variables import StringVariable
from models.workflow import ConversationVariable
from services.conversation_variable_updater import ConversationVariableNotFoundError, ConversationVariableUpdater
@@ -9,11 +9,11 @@ from unittest.mock import Mock, patch
from uuid import uuid4
import pytest
from graphon.model_runtime.entities.model_entities import ModelType
from sqlalchemy.orm import Session
from core.rag.index_processor.constant.index_type import IndexStructureType, IndexTechniqueType
from core.rag.retrieval.retrieval_methods import RetrievalMethod
from graphon.model_runtime.entities.model_entities import ModelType
from models.account import Account, Tenant, TenantAccountJoin, TenantAccountRole
from models.dataset import Dataset, DatasetPermissionEnum, Document, ExternalKnowledgeBindings, Pipeline
from models.enums import DatasetRuntimeMode, DataSourceType, DocumentCreatedFrom, IndexingStatus
@@ -3,10 +3,10 @@ from unittest.mock import Mock, patch
from uuid import uuid4
import pytest
from graphon.model_runtime.entities.model_entities import ModelType
from sqlalchemy.orm import Session
from core.rag.index_processor.constant.index_type import IndexTechniqueType
from graphon.model_runtime.entities.model_entities import ModelType
from models.account import (
Account,
AccountStatus,
@@ -5,9 +5,9 @@ Testcontainers integration tests for archived workflow run deletion service.
from datetime import UTC, datetime, timedelta
from uuid import uuid4
from graphon.enums import WorkflowExecutionStatus
from sqlalchemy import select
from graphon.enums import WorkflowExecutionStatus
from models.enums import CreatorUserRole, WorkflowRunTriggeredFrom
from models.workflow import WorkflowArchiveLog, WorkflowRun
from services.retention.workflow_run.delete_archived_workflow_run import ArchivedWorkflowRunDeletion
@@ -3,8 +3,6 @@ import uuid
from unittest.mock import MagicMock
import pytest
from graphon.enums import BuiltinNodeTypes
from graphon.nodes.human_input.entities import HumanInputNodeData
from core.workflow.human_input_compat import (
EmailDeliveryConfig,
@@ -12,6 +10,8 @@ from core.workflow.human_input_compat import (
EmailRecipients,
ExternalRecipient,
)
from graphon.enums import BuiltinNodeTypes
from graphon.nodes.human_input.entities import HumanInputNodeData
from models.account import Account, Tenant, TenantAccountJoin, TenantAccountRole
from models.model import App, AppMode
from models.workflow import Workflow, WorkflowType
@@ -5,7 +5,6 @@ from unittest.mock import MagicMock, patch
from uuid import uuid4
import pytest
from graphon.runtime import VariablePool
from sqlalchemy.engine import Engine
from configs import dify_config
@@ -16,6 +15,7 @@ from core.workflow.human_input_compat import (
ExternalRecipient,
MemberRecipient,
)
from graphon.runtime import VariablePool
from models.account import Account, TenantAccountJoin
from services import human_input_delivery_test_service as service_module
from services.human_input_delivery_test_service import (
@@ -8,11 +8,11 @@ from unittest.mock import MagicMock, patch
import pytest
from faker import Faker
from graphon.file import FileType
from sqlalchemy.orm import Session
from enums.cloud_plan import CloudPlan
from extensions.ext_redis import redis_client
from graphon.file import FileType
from models.account import Account, Tenant, TenantAccountJoin, TenantAccountRole
from models.enums import (
ConversationFromSource,
@@ -2,10 +2,10 @@ from unittest.mock import MagicMock, patch
import pytest
from faker import Faker
from graphon.model_runtime.entities.model_entities import FetchFrom, ModelType
from sqlalchemy.orm import Session
from core.entities.model_entities import ModelStatus
from graphon.model_runtime.entities.model_entities import FetchFrom, ModelType
from models import Account, Tenant, TenantAccountJoin, TenantAccountRole
from models.provider import Provider, ProviderModel, ProviderModelSetting, ProviderType
from services.model_provider_service import ModelProviderService
@@ -405,11 +405,10 @@ class TestModelProviderService:
mock_provider_manager = mock_external_service_dependencies["provider_manager"].return_value
# Create mock models
from core.entities.model_entities import ModelWithProviderEntity, SimpleModelProviderEntity
from graphon.model_runtime.entities.common_entities import I18nObject
from graphon.model_runtime.entities.provider_entities import ProviderEntity
from core.entities.model_entities import ModelWithProviderEntity, SimpleModelProviderEntity
# Create real model objects instead of mocks
provider_entity_1 = SimpleModelProviderEntity(
ProviderEntity(
@@ -644,9 +643,8 @@ class TestModelProviderService:
mock_provider_manager = mock_external_service_dependencies["provider_manager"].return_value
# Create mock default model response
from graphon.model_runtime.entities.common_entities import I18nObject
from core.entities.model_entities import DefaultModelEntity, DefaultModelProviderEntity
from graphon.model_runtime.entities.common_entities import I18nObject
mock_default_model = DefaultModelEntity(
model="gpt-3.5-turbo",
@@ -8,9 +8,9 @@ from unittest.mock import patch
import pytest
from faker import Faker
from graphon.enums import WorkflowExecutionStatus
from sqlalchemy.orm import Session
from graphon.enums import WorkflowExecutionStatus
from models import EndUser, Workflow, WorkflowAppLog, WorkflowArchiveLog, WorkflowRun
from models.enums import AppTriggerType, CreatorUserRole, WorkflowRunTriggeredFrom
from models.workflow import WorkflowAppLogCreatedFrom
@@ -1,9 +1,9 @@
import pytest
from faker import Faker
from graphon.variables.segments import StringSegment
from sqlalchemy.orm import Session
from core.workflow.variable_prefixes import CONVERSATION_VARIABLE_NODE_ID, SYSTEM_VARIABLE_NODE_ID
from graphon.variables.segments import StringSegment
from models import App, Workflow
from models.enums import DraftVariableType
from models.workflow import WorkflowDraftVariable
@@ -5,9 +5,6 @@ from unittest.mock import MagicMock, patch
import pytest
from faker import Faker
from graphon.model_runtime.entities.llm_entities import LLMMode
from graphon.model_runtime.entities.message_entities import PromptMessageRole
from graphon.variables.input_entities import VariableEntity, VariableEntityType
from sqlalchemy.orm import Session
from core.app.app_config.entities import (
@@ -21,6 +18,9 @@ from core.app.app_config.entities import (
PromptTemplateEntity,
)
from core.prompt.utils.prompt_template_parser import PromptTemplateParser
from graphon.model_runtime.entities.llm_entities import LLMMode
from graphon.model_runtime.entities.message_entities import PromptMessageRole
from graphon.variables.input_entities import VariableEntity, VariableEntityType
from models import Account, Tenant
from models.api_based_extension import APIBasedExtension, APIBasedExtensionPoint
from models.model import App, AppMode, AppModelConfig
@@ -1,10 +1,10 @@
from datetime import datetime, timedelta
from uuid import uuid4
from graphon.enums import WorkflowNodeExecutionStatus
from sqlalchemy import Engine, select
from sqlalchemy.orm import Session, sessionmaker
from graphon.enums import WorkflowNodeExecutionStatus
from libs.datetime_utils import naive_utc_now
from models.enums import CreatorUserRole
from models.workflow import WorkflowNodeExecutionModel
@@ -3,9 +3,6 @@ from datetime import UTC, datetime
from unittest.mock import patch
import pytest
from graphon.enums import WorkflowExecutionStatus
from graphon.nodes.human_input.entities import HumanInputNodeData
from graphon.runtime import GraphRuntimeState, VariablePool
from sqlalchemy import delete
from configs import dify_config
@@ -21,6 +18,9 @@ from core.workflow.human_input_compat import (
MemberRecipient,
)
from extensions.ext_storage import storage
from graphon.enums import WorkflowExecutionStatus
from graphon.nodes.human_input.entities import HumanInputNodeData
from graphon.runtime import GraphRuntimeState, VariablePool
from models.account import Account, AccountStatus, Tenant, TenantAccountJoin, TenantAccountRole
from models.enums import CreatorUserRole, WorkflowRunTriggeredFrom
from models.human_input import HumanInputDelivery, HumanInputForm, HumanInputFormRecipient
@@ -2,12 +2,12 @@ import uuid
from unittest.mock import ANY, call, patch
import pytest
from graphon.variables.segments import StringSegment
from graphon.variables.types import SegmentType
from sqlalchemy import delete, func, select
from core.db.session_factory import session_factory
from extensions.storage.storage_type import StorageType
from graphon.variables.segments import StringSegment
from graphon.variables.types import SegmentType
from libs.datetime_utils import naive_utc_now
from models import Tenant
from models.enums import CreatorUserRole
@@ -24,12 +24,12 @@ from dataclasses import dataclass
from datetime import timedelta
import pytest
from graphon.entities import WorkflowExecution
from graphon.enums import WorkflowExecutionStatus
from sqlalchemy import delete, func, select
from sqlalchemy.orm import Session, selectinload, sessionmaker
from extensions.ext_storage import storage
from graphon.entities import WorkflowExecution
from graphon.enums import WorkflowExecutionStatus
from libs.datetime_utils import naive_utc_now
from models import Account
from models import WorkflowPause as WorkflowPauseModel
@@ -10,7 +10,6 @@ from typing import Any
import pytest
from flask import Flask, Response
from flask.testing import FlaskClient
from graphon.enums import BuiltinNodeTypes
from sqlalchemy import select
from sqlalchemy.orm import Session
@@ -25,6 +24,7 @@ from core.trigger.debug import event_selectors
from core.trigger.debug.event_bus import TriggerDebugEventBus
from core.trigger.debug.event_selectors import PluginTriggerDebugEventPoller, WebhookTriggerDebugEventPoller
from core.trigger.debug.events import PluginTriggerDebugEvent, build_plugin_pool_key
from graphon.enums import BuiltinNodeTypes
from libs.datetime_utils import naive_utc_now
from models.account import Account, Tenant
from models.enums import AppTriggerStatus, AppTriggerType, CreatorUserRole, WorkflowTriggerStatus
@@ -4,7 +4,6 @@ import io
from types import SimpleNamespace
import pytest
from graphon.model_runtime.errors.invoke import InvokeError
from werkzeug.datastructures import FileStorage
from werkzeug.exceptions import InternalServerError
@@ -21,6 +20,7 @@ from controllers.console.app.error import (
UnsupportedAudioTypeError,
)
from core.errors.error import ModelCurrentlyNotSupportError, ProviderTokenNotInitError, QuotaExceededError
from graphon.model_runtime.errors.invoke import InvokeError
from services.audio_service import AudioService
from services.errors.app_model_config import AppModelConfigBrokenError
from services.errors.audio import (
@@ -5,10 +5,10 @@ from datetime import UTC, datetime
from types import SimpleNamespace
import pytest
from graphon.variables.types import SegmentType
from pydantic import ValidationError
from controllers.console.app import conversation_variables as conversation_variables_module
from graphon.variables.types import SegmentType
def _unwrap(func):
@@ -6,11 +6,11 @@ from types import SimpleNamespace
from unittest.mock import Mock
import pytest
from graphon.file import File, FileTransferMethod, FileType
from werkzeug.exceptions import HTTPException, NotFound
from controllers.console.app import workflow as workflow_module
from controllers.console.app.error import DraftWorkflowNotExist, DraftWorkflowNotSync
from graphon.file import File, FileTransferMethod, FileType
def _unwrap(func):
@@ -2,9 +2,8 @@ from __future__ import annotations
from datetime import UTC, datetime
from graphon.enums import WorkflowExecutionStatus
from controllers.console.app import workflow_app_log as workflow_app_log_module
from graphon.enums import WorkflowExecutionStatus
def test_workflow_app_log_query_parses_bool_and_datetime():
@@ -6,14 +6,14 @@ from unittest.mock import Mock
import pytest
from flask import Flask
from graphon.entities.pause_reason import HumanInputRequired
from graphon.enums import WorkflowExecutionStatus
from graphon.nodes.human_input.entities import FormInput, UserAction
from graphon.nodes.human_input.enums import FormInputType
from controllers.console import wraps as console_wraps
from controllers.console.app import workflow_run as workflow_run_module
from controllers.web.error import NotFoundError
from graphon.entities.pause_reason import HumanInputRequired
from graphon.enums import WorkflowExecutionStatus
from graphon.nodes.human_input.entities import FormInput, UserAction
from graphon.nodes.human_input.enums import FormInputType
from libs import login as login_lib
from models.account import Account, AccountStatus, TenantAccountRole
from models.workflow import WorkflowRun
@@ -5,7 +5,6 @@ from unittest.mock import MagicMock, patch
import pytest
from flask_restx import marshal
from graphon.variables.types import SegmentType
from controllers.console.app.workflow_draft_variable import (
_WORKFLOW_DRAFT_VARIABLE_FIELDS,
@@ -16,6 +15,7 @@ from controllers.console.app.workflow_draft_variable import (
)
from core.workflow.variable_prefixes import CONVERSATION_VARIABLE_NODE_ID, SYSTEM_VARIABLE_NODE_ID
from factories.variable_factory import build_segment
from graphon.variables.types import SegmentType
from libs.datetime_utils import naive_utc_now
from libs.uuid_utils import uuidv7
from models.workflow import WorkflowDraftVariable, WorkflowDraftVariableFile
@@ -1,7 +1,6 @@
from unittest.mock import MagicMock, patch
import pytest
from graphon.model_runtime.errors.validate import CredentialsValidateFailedError
from werkzeug.exceptions import Forbidden, NotFound
from controllers.console import console_ns
@@ -18,6 +17,7 @@ from controllers.console.datasets.rag_pipeline.datasource_auth import (
DatasourceUpdateProviderNameApi,
)
from core.plugin.impl.oauth import OAuthHandler
from graphon.model_runtime.errors.validate import CredentialsValidateFailedError
from services.datasource_provider_service import DatasourceProviderService
from services.plugin.oauth_service import OAuthProxyService
@@ -2,7 +2,6 @@ from unittest.mock import MagicMock, patch
import pytest
from flask import Response
from graphon.variables.types import SegmentType
from controllers.console import console_ns
from controllers.console.app.error import DraftWorkflowNotExist
@@ -16,6 +15,7 @@ from controllers.console.datasets.rag_pipeline.rag_pipeline_draft_variable impor
)
from controllers.web.error import InvalidArgumentError, NotFoundError
from core.workflow.variable_prefixes import SYSTEM_VARIABLE_NODE_ID
from graphon.variables.types import SegmentType
from models.account import Account
@@ -1,7 +1,6 @@
from unittest.mock import MagicMock, patch
import pytest
from graphon.model_runtime.errors.invoke import InvokeError
from werkzeug.exceptions import Forbidden, InternalServerError, NotFound
import services
@@ -21,6 +20,7 @@ from core.errors.error import (
ProviderTokenNotInitError,
QuotaExceededError,
)
from graphon.model_runtime.errors.invoke import InvokeError
from models.account import Account
from services.dataset_service import DatasetService
from services.hit_testing_service import HitTestingService
@@ -2,7 +2,6 @@ from io import BytesIO
from unittest.mock import MagicMock, patch
import pytest
from graphon.model_runtime.errors.invoke import InvokeError
from werkzeug.exceptions import InternalServerError
import controllers.console.explore.audio as audio_module
@@ -20,6 +19,7 @@ from core.errors.error import (
ProviderTokenNotInitError,
QuotaExceededError,
)
from graphon.model_runtime.errors.invoke import InvokeError
from services.errors.audio import (
AudioTooLargeServiceError,
NoAudioUploadedServiceError,
@@ -1,7 +1,6 @@
from unittest.mock import MagicMock, patch
import pytest
from graphon.model_runtime.errors.invoke import InvokeError
from werkzeug.exceptions import InternalServerError, NotFound
import controllers.console.explore.message as module
@@ -22,6 +21,7 @@ from core.errors.error import (
ProviderTokenNotInitError,
QuotaExceededError,
)
from graphon.model_runtime.errors.invoke import InvokeError
from services.errors.conversation import ConversationNotExistsError
from services.errors.message import (
FirstMessageNotExistsError,
@@ -3,7 +3,6 @@ from unittest.mock import MagicMock, patch
from uuid import uuid4
import pytest
from graphon.model_runtime.errors.invoke import InvokeError
from werkzeug.exceptions import Forbidden, InternalServerError, NotFound
import controllers.console.explore.trial as module
@@ -26,6 +25,7 @@ from core.errors.error import (
ProviderTokenNotInitError,
QuotaExceededError,
)
from graphon.model_runtime.errors.invoke import InvokeError
from models import Account
from models.account import TenantStatus
from models.model import AppMode
@@ -11,9 +11,10 @@ from unittest.mock import MagicMock
import pytest
from flask import Flask
from flask.views import MethodView
from werkzeug.exceptions import Forbidden
from graphon.model_runtime.entities.model_entities import ModelType
from graphon.model_runtime.errors.validate import CredentialsValidateFailedError
from werkzeug.exceptions import Forbidden
if not hasattr(builtins, "MethodView"):
builtins.MethodView = MethodView # type: ignore[attr-defined]
@@ -1,7 +1,6 @@
from unittest.mock import MagicMock, patch
import pytest
from graphon.model_runtime.errors.validate import CredentialsValidateFailedError
from pydantic_core import ValidationError
from werkzeug.exceptions import Forbidden
@@ -14,6 +13,7 @@ from controllers.console.workspace.model_providers import (
ModelProviderValidateApi,
PreferredProviderTypeUpdateApi,
)
from graphon.model_runtime.errors.validate import CredentialsValidateFailedError
VALID_UUID = "123e4567-e89b-12d3-a456-426614174000"
INVALID_UUID = "123"
@@ -2,8 +2,6 @@ from unittest.mock import MagicMock, patch
import pytest
from flask import Flask
from graphon.model_runtime.entities.model_entities import ModelType
from graphon.model_runtime.errors.validate import CredentialsValidateFailedError
from controllers.console.workspace.models import (
DefaultModelApi,
@@ -16,6 +14,8 @@ from controllers.console.workspace.models import (
ModelProviderModelParameterRuleApi,
ModelProviderModelValidateApi,
)
from graphon.model_runtime.entities.model_entities import ModelType
from graphon.model_runtime.errors.validate import CredentialsValidateFailedError
def unwrap(func):
@@ -13,7 +13,6 @@ from types import SimpleNamespace
from unittest.mock import Mock, patch
import pytest
from graphon.model_runtime.errors.invoke import InvokeError
from werkzeug.datastructures import FileStorage
from werkzeug.exceptions import InternalServerError
@@ -30,6 +29,7 @@ from controllers.service_api.app.error import (
UnsupportedAudioTypeError,
)
from core.errors.error import ModelCurrentlyNotSupportError, ProviderTokenNotInitError, QuotaExceededError
from graphon.model_runtime.errors.invoke import InvokeError
from services.audio_service import AudioService
from services.errors.app_model_config import AppModelConfigBrokenError
from services.errors.audio import (
@@ -16,7 +16,6 @@ from types import SimpleNamespace
from unittest.mock import Mock, patch
import pytest
from graphon.model_runtime.errors.invoke import InvokeError
from pydantic import ValidationError
from werkzeug.exceptions import BadRequest, NotFound
@@ -35,6 +34,7 @@ from controllers.service_api.app.error import (
NotChatAppError,
)
from core.errors.error import QuotaExceededError
from graphon.model_runtime.errors.invoke import InvokeError
from models.model import App, AppMode, EndUser
from services.app_generate_service import AppGenerateService
from services.app_task_service import AppTaskService
@@ -20,7 +20,6 @@ from types import SimpleNamespace
from unittest.mock import Mock, patch
import pytest
from graphon.variables.types import SegmentType
from werkzeug.exceptions import BadRequest, NotFound
import services
@@ -38,6 +37,7 @@ from controllers.service_api.app.conversation import (
ConversationVariableUpdatePayload,
)
from controllers.service_api.app.error import NotChatAppError
from graphon.variables.types import SegmentType
from models.model import App, AppMode, EndUser
from services.conversation_service import ConversationService
from services.errors.conversation import (
@@ -20,7 +20,6 @@ from types import SimpleNamespace
from unittest.mock import Mock, patch
import pytest
from graphon.enums import WorkflowExecutionStatus
from werkzeug.exceptions import BadRequest, NotFound
from controllers.service_api.app.error import NotWorkflowAppError
@@ -37,6 +36,7 @@ from controllers.service_api.app.workflow import (
WorkflowTaskStopApi,
)
from controllers.web.error import InvokeRateLimitError as InvokeRateLimitHttpError
from graphon.enums import WorkflowExecutionStatus
from models.model import App, AppMode
from services.app_generate_service import AppGenerateService
from services.errors.app import IsDraftWorkflowError, WorkflowNotFoundError
@@ -1,8 +1,7 @@
from types import SimpleNamespace
from graphon.enums import WorkflowExecutionStatus
from controllers.service_api.app.workflow import WorkflowRunOutputsField, WorkflowRunStatusField
from graphon.enums import WorkflowExecutionStatus
def test_workflow_run_status_field_with_enum() -> None:
@@ -8,7 +8,6 @@ from unittest.mock import MagicMock, patch
import pytest
from flask import Flask
from graphon.model_runtime.errors.invoke import InvokeError
from controllers.web.audio import AudioApi, TextApi
from controllers.web.error import (
@@ -22,6 +21,7 @@ from controllers.web.error import (
UnsupportedAudioTypeError,
)
from core.errors.error import ModelCurrentlyNotSupportError, ProviderTokenNotInitError, QuotaExceededError
from graphon.model_runtime.errors.invoke import InvokeError
from services.errors.audio import (
AudioTooLargeServiceError,
NoAudioUploadedServiceError,
@@ -7,7 +7,6 @@ from unittest.mock import MagicMock, patch
import pytest
from flask import Flask
from graphon.model_runtime.errors.invoke import InvokeError
from controllers.web.completion import ChatApi, ChatStopApi, CompletionApi, CompletionStopApi
from controllers.web.error import (
@@ -19,6 +18,7 @@ from controllers.web.error import (
ProviderQuotaExceededError,
)
from core.errors.error import ModelCurrentlyNotSupportError, ProviderTokenNotInitError, QuotaExceededError
from graphon.model_runtime.errors.invoke import InvokeError
def _completion_app() -> SimpleNamespace:
@@ -2,11 +2,11 @@ import json
from unittest.mock import MagicMock
import pytest
from graphon.model_runtime.entities.llm_entities import LLMUsage
from core.agent.cot_agent_runner import CotAgentRunner
from core.agent.entities import AgentScratchpadUnit
from core.agent.errors import AgentMaxIterationError
from graphon.model_runtime.entities.llm_entities import LLMUsage
class DummyRunner(CotAgentRunner):
@@ -1,9 +1,9 @@
from unittest.mock import MagicMock, patch
import pytest
from graphon.model_runtime.entities.message_entities import TextPromptMessageContent
from core.agent.cot_chat_agent_runner import CotChatAgentRunner
from graphon.model_runtime.entities.message_entities import TextPromptMessageContent
from tests.unit_tests.core.agent.conftest import (
DummyAgentConfig,
DummyAppConfig,
@@ -1,6 +1,8 @@
import json
import pytest
from core.agent.cot_completion_agent_runner import CotCompletionAgentRunner
from graphon.model_runtime.entities.message_entities import (
AssistantPromptMessage,
ImagePromptMessageContent,
@@ -8,8 +10,6 @@ from graphon.model_runtime.entities.message_entities import (
UserPromptMessage,
)
from core.agent.cot_completion_agent_runner import CotCompletionAgentRunner
# -----------------------------
# Fixtures
# -----------------------------
@@ -3,6 +3,11 @@ from typing import Any
from unittest.mock import MagicMock
import pytest
from core.agent.errors import AgentMaxIterationError
from core.agent.fc_agent_runner import FunctionCallAgentRunner
from core.app.apps.base_app_queue_manager import PublishFrom
from core.app.entities.queue_entities import QueueMessageFileEvent
from graphon.model_runtime.entities.llm_entities import LLMUsage
from graphon.model_runtime.entities.message_entities import (
DocumentPromptMessageContent,
@@ -11,11 +16,6 @@ from graphon.model_runtime.entities.message_entities import (
UserPromptMessage,
)
from core.agent.errors import AgentMaxIterationError
from core.agent.fc_agent_runner import FunctionCallAgentRunner
from core.app.apps.base_app_queue_manager import PublishFrom
from core.app.entities.queue_entities import QueueMessageFileEvent
# ==============================
# Dummy Helper Classes
# ==============================
@@ -2,8 +2,6 @@ from types import SimpleNamespace
from unittest.mock import MagicMock
import pytest
from graphon.model_runtime.entities.llm_entities import LLMMode
from graphon.model_runtime.entities.model_entities import ModelPropertyKey
from core.app.app_config.easy_ui_based_app.model_config.converter import ModelConfigConverter
from core.entities.model_entities import ModelStatus
@@ -12,6 +10,8 @@ from core.errors.error import (
ProviderTokenNotInitError,
QuotaExceededError,
)
from graphon.model_runtime.entities.llm_entities import LLMMode
from graphon.model_runtime.entities.model_entities import ModelPropertyKey
class TestModelConfigConverter:
@@ -1,9 +1,9 @@
import pytest
from graphon.variables.input_entities import VariableEntityType
from core.app.app_config.easy_ui_based_app.variables.manager import (
BasicVariablesConfigManager,
)
from graphon.variables.input_entities import VariableEntityType
class TestBasicVariablesConfigManagerConvert:
@@ -1,8 +1,7 @@
from core.app.app_config.features.file_upload.manager import FileUploadConfigManager
from graphon.file import FileTransferMethod, FileUploadConfig, ImageConfig
from graphon.model_runtime.entities.message_entities import ImagePromptMessageContent
from core.app.app_config.features.file_upload.manager import FileUploadConfigManager
def test_convert_with_vision():
config = {
@@ -1,10 +1,10 @@
import pytest
from graphon.variables.input_entities import VariableEntity, VariableEntityType
from core.app.app_config.entities import (
DatasetRetrieveConfigEntity,
PromptTemplateEntity,
)
from graphon.variables.input_entities import VariableEntity, VariableEntityType
class TestAppConfigEntities:
@@ -3,12 +3,12 @@
from unittest.mock import MagicMock, patch
from uuid import uuid4
from graphon.variables import SegmentType
from sqlalchemy.orm import Session
from core.app.apps.advanced_chat.app_runner import AdvancedChatAppRunner
from core.app.entities.app_invoke_entities import AdvancedChatAppGenerateEntity, InvokeFrom
from factories import variable_factory
from graphon.variables import SegmentType
from models import ConversationVariable, Workflow
MINIMAL_GRAPH = {
@@ -1,7 +1,5 @@
from collections.abc import Generator
from graphon.enums import WorkflowNodeExecutionStatus
from core.app.apps.advanced_chat.generate_response_converter import AdvancedChatAppGenerateResponseConverter
from core.app.entities.task_entities import (
ChatbotAppBlockingResponse,
@@ -12,6 +10,7 @@ from core.app.entities.task_entities import (
NodeStartStreamResponse,
PingStreamResponse,
)
from graphon.enums import WorkflowNodeExecutionStatus
class TestAdvancedChatGenerateResponseConverter:
@@ -6,8 +6,6 @@ from types import SimpleNamespace
from unittest import mock
import pytest
from graphon.entities.pause_reason import HumanInputRequired
from graphon.enums import WorkflowExecutionStatus
from core.app.apps.advanced_chat import generate_task_pipeline as pipeline_module
from core.app.entities.app_invoke_entities import InvokeFrom
@@ -19,6 +17,8 @@ from core.app.entities.queue_entities import (
QueueWorkflowSucceededEvent,
)
from core.app.entities.task_entities import StreamEvent
from graphon.entities.pause_reason import HumanInputRequired
from graphon.enums import WorkflowExecutionStatus
from models.enums import MessageStatus
from models.execution_extra_content import HumanInputContent
from models.model import AppMode, EndUser
@@ -4,8 +4,6 @@ from contextlib import contextmanager
from types import SimpleNamespace
import pytest
from graphon.enums import BuiltinNodeTypes
from graphon.runtime import GraphRuntimeState, VariablePool
from core.app.app_config.entities import AppAdditionalFeatures, WorkflowUIBasedAppConfig
from core.app.apps.advanced_chat.generate_task_pipeline import (
@@ -49,6 +47,8 @@ from core.app.entities.task_entities import (
)
from core.base.tts.app_generator_tts_publisher import AudioTrunk
from core.workflow.system_variables import build_system_variables
from graphon.enums import BuiltinNodeTypes
from graphon.runtime import GraphRuntimeState, VariablePool
from libs.datetime_utils import naive_utc_now
from models.enums import MessageStatus
from models.model import AppMode, EndUser
@@ -1,12 +1,12 @@
import contextlib
import pytest
from graphon.model_runtime.errors.invoke import InvokeAuthorizationError
from pydantic import ValidationError
from core.app.apps.agent_chat.app_generator import AgentChatAppGenerator
from core.app.apps.exc import GenerateTaskStoppedError
from core.app.entities.app_invoke_entities import InvokeFrom
from graphon.model_runtime.errors.invoke import InvokeAuthorizationError
class DummyAccount:
@@ -1,10 +1,10 @@
import pytest
from graphon.model_runtime.entities.llm_entities import LLMMode
from graphon.model_runtime.entities.model_entities import ModelFeature, ModelPropertyKey
from core.agent.entities import AgentEntity
from core.app.apps.agent_chat.app_runner import AgentChatAppRunner
from core.moderation.base import ModerationError
from graphon.model_runtime.entities.llm_entities import LLMMode
from graphon.model_runtime.entities.model_entities import ModelFeature, ModelPropertyKey
@pytest.fixture
@@ -2,7 +2,6 @@ from types import SimpleNamespace
from unittest.mock import Mock, patch
import pytest
from graphon.model_runtime.errors.invoke import InvokeAuthorizationError
from core.app.apps.chat.app_generator import ChatAppGenerator
from core.app.apps.chat.app_runner import ChatAppRunner
@@ -10,6 +9,7 @@ from core.app.apps.exc import GenerateTaskStoppedError
from core.app.entities.app_invoke_entities import InvokeFrom
from core.app.entities.queue_entities import QueueAnnotationReplyEvent
from core.moderation.base import ModerationError
from graphon.model_runtime.errors.invoke import InvokeAuthorizationError
from models.model import AppMode
@@ -4,13 +4,13 @@ from unittest.mock import MagicMock, patch
from uuid import uuid4
import pytest
from graphon.file import FileTransferMethod, FileType
from graphon.model_runtime.entities.message_entities import ImagePromptMessageContent
from core.app.apps.base_app_queue_manager import PublishFrom
from core.app.apps.base_app_runner import AppRunner
from core.app.entities.app_invoke_entities import InvokeFrom
from core.app.entities.queue_entities import QueueMessageFileEvent
from graphon.file import FileTransferMethod, FileType
from graphon.model_runtime.entities.message_entities import ImagePromptMessageContent
from models.enums import CreatorUserRole
@@ -1,11 +1,11 @@
from types import SimpleNamespace
import pytest
from graphon.runtime import GraphRuntimeState, VariablePool
from core.app.apps.common.graph_runtime_state_support import GraphRuntimeStateSupport
from core.workflow.system_variables import build_system_variables
from core.workflow.variable_pool_initializer import add_variables_to_pool
from graphon.runtime import GraphRuntimeState, VariablePool
def _make_state(workflow_run_id: str | None) -> GraphRuntimeState:
@@ -1,10 +1,9 @@
from collections.abc import Mapping, Sequence
from core.app.apps.common.workflow_response_converter import WorkflowResponseConverter
from graphon.file import FILE_MODEL_IDENTITY, File, FileTransferMethod, FileType
from graphon.variables.segments import ArrayFileSegment, FileSegment
from core.app.apps.common.workflow_response_converter import WorkflowResponseConverter
class TestWorkflowResponseConverterFetchFilesFromVariableValue:
"""Test class for WorkflowResponseConverter._fetch_files_from_variable_value method"""
@@ -1,13 +1,12 @@
from datetime import UTC, datetime
from types import SimpleNamespace
from graphon.entities import WorkflowStartReason
from graphon.runtime import GraphRuntimeState, VariablePool
from core.app.apps.common.workflow_response_converter import WorkflowResponseConverter
from core.app.entities.app_invoke_entities import InvokeFrom
from core.app.entities.queue_entities import QueueHumanInputFormFilledEvent, QueueHumanInputFormTimeoutEvent
from core.workflow.system_variables import build_system_variables
from graphon.entities import WorkflowStartReason
from graphon.runtime import GraphRuntimeState, VariablePool
def _build_converter():
@@ -1,11 +1,10 @@
from types import SimpleNamespace
from graphon.entities import WorkflowStartReason
from graphon.runtime import GraphRuntimeState, VariablePool
from core.app.apps.common.workflow_response_converter import WorkflowResponseConverter
from core.app.entities.app_invoke_entities import InvokeFrom
from core.workflow.system_variables import build_system_variables
from graphon.entities import WorkflowStartReason
from graphon.runtime import GraphRuntimeState, VariablePool
def _build_converter() -> WorkflowResponseConverter:
@@ -10,8 +10,6 @@ from typing import Any
from unittest.mock import Mock
import pytest
from graphon.entities import WorkflowStartReason
from graphon.enums import BuiltinNodeTypes
from core.app.app_config.entities import WorkflowUIBasedAppConfig
from core.app.apps.common.workflow_response_converter import WorkflowResponseConverter
@@ -27,6 +25,8 @@ from core.app.entities.queue_entities import (
QueueNodeSucceededEvent,
)
from core.workflow.system_variables import build_system_variables
from graphon.entities import WorkflowStartReason
from graphon.enums import BuiltinNodeTypes
from libs.datetime_utils import naive_utc_now
from models import Account
from models.model import AppMode
@@ -2,11 +2,11 @@ from types import SimpleNamespace
from unittest.mock import MagicMock
import pytest
from graphon.model_runtime.entities.message_entities import ImagePromptMessageContent
import core.app.apps.completion.app_runner as module
from core.app.apps.completion.app_runner import CompletionAppRunner
from core.moderation.base import ModerationError
from graphon.model_runtime.entities.message_entities import ImagePromptMessageContent
@pytest.fixture
@@ -3,13 +3,13 @@ from types import SimpleNamespace
from unittest.mock import MagicMock
import pytest
from graphon.model_runtime.errors.invoke import InvokeAuthorizationError
from pydantic import ValidationError
import core.app.apps.completion.app_generator as module
from core.app.apps.completion.app_generator import CompletionAppGenerator
from core.app.apps.exc import GenerateTaskStoppedError
from core.app.entities.app_invoke_entities import InvokeFrom
from graphon.model_runtime.errors.invoke import InvokeAuthorizationError
from services.errors.app import MoreLikeThisDisabledError
from services.errors.message import MessageNotExistsError
@@ -1,7 +1,5 @@
from collections.abc import Generator
from graphon.enums import WorkflowExecutionStatus, WorkflowNodeExecutionStatus
from core.app.apps.pipeline.generate_response_converter import WorkflowAppGenerateResponseConverter
from core.app.entities.task_entities import (
AppStreamResponse,
@@ -12,6 +10,7 @@ from core.app.entities.task_entities import (
WorkflowAppBlockingResponse,
WorkflowAppStreamResponse,
)
from graphon.enums import WorkflowExecutionStatus, WorkflowNodeExecutionStatus
def test_convert_blocking_full_and_simple_response():
@@ -1,5 +1,4 @@
import pytest
from graphon.model_runtime.entities.llm_entities import LLMResult
import core.app.apps.pipeline.pipeline_queue_manager as module
from core.app.apps.base_app_queue_manager import PublishFrom
@@ -14,6 +13,7 @@ from core.app.entities.queue_entities import (
QueueWorkflowPartialSuccessEvent,
QueueWorkflowSucceededEvent,
)
from graphon.model_runtime.entities.llm_entities import LLMResult
def test_publish_sets_stop_listen_and_raises_on_stopped(mocker):
@@ -22,11 +22,11 @@ from types import SimpleNamespace
from unittest.mock import MagicMock
import pytest
from graphon.graph_events import GraphRunFailedEvent
import core.app.apps.pipeline.pipeline_runner as module
from core.app.apps.pipeline.pipeline_runner import PipelineRunner
from core.app.entities.app_invoke_entities import InvokeFrom, UserFrom
from graphon.graph_events import GraphRunFailedEvent
def _build_app_generate_entity() -> SimpleNamespace:
@@ -1,7 +1,7 @@
import pytest
from graphon.variables.input_entities import VariableEntity, VariableEntityType
from core.app.apps.base_app_generator import BaseAppGenerator
from graphon.variables.input_entities import VariableEntity, VariableEntityType
def test_validate_inputs_with_zero():
@@ -476,9 +476,8 @@ class TestBaseAppGeneratorExtras:
assert converted[1] == "event: ping\n\n"
def test_get_draft_var_saver_factory_debugger(self):
from graphon.enums import BuiltinNodeTypes
from core.app.entities.app_invoke_entities import InvokeFrom
from graphon.enums import BuiltinNodeTypes
from models import Account
base_app_generator = BaseAppGenerator()
@@ -4,15 +4,6 @@ from types import SimpleNamespace
from unittest.mock import MagicMock
import pytest
from graphon.model_runtime.entities.llm_entities import LLMResult, LLMResultChunk, LLMResultChunkDelta, LLMUsage
from graphon.model_runtime.entities.message_entities import (
AssistantPromptMessage,
ImagePromptMessageContent,
PromptMessageRole,
TextPromptMessageContent,
)
from graphon.model_runtime.entities.model_entities import ModelPropertyKey
from graphon.model_runtime.errors.invoke import InvokeBadRequestError
from core.app.app_config.entities import (
AdvancedChatMessageEntity,
@@ -23,6 +14,15 @@ from core.app.app_config.entities import (
from core.app.apps.base_app_runner import AppRunner
from core.app.entities.app_invoke_entities import InvokeFrom
from core.app.entities.queue_entities import QueueAgentMessageEvent, QueueLLMChunkEvent, QueueMessageEndEvent
from graphon.model_runtime.entities.llm_entities import LLMResult, LLMResultChunk, LLMResultChunkDelta, LLMUsage
from graphon.model_runtime.entities.message_entities import (
AssistantPromptMessage,
ImagePromptMessageContent,
PromptMessageRole,
TextPromptMessageContent,
)
from graphon.model_runtime.entities.model_entities import ModelPropertyKey
from graphon.model_runtime.errors.invoke import InvokeBadRequestError
from models.model import AppMode
@@ -4,6 +4,11 @@ from types import ModuleType, SimpleNamespace
from typing import Any
import graphon.nodes.human_input.entities # noqa: F401
from core.app.apps.advanced_chat import app_generator as adv_app_gen_module
from core.app.apps.workflow import app_generator as wf_app_gen_module
from core.app.entities.app_invoke_entities import InvokeFrom
from core.workflow.node_factory import DifyNodeFactory
from core.workflow.system_variables import build_system_variables
from graphon.entities import WorkflowStartReason
from graphon.entities.base_node_data import BaseNodeData, RetryConfig
from graphon.entities.graph_config import NodeConfigDict, NodeConfigDictAdapter
@@ -25,12 +30,6 @@ from graphon.nodes.base.node import Node
from graphon.nodes.end.entities import EndNodeData
from graphon.nodes.start.entities import StartNodeData
from graphon.runtime import GraphRuntimeState, VariablePool
from core.app.apps.advanced_chat import app_generator as adv_app_gen_module
from core.app.apps.workflow import app_generator as wf_app_gen_module
from core.app.entities.app_invoke_entities import InvokeFrom
from core.workflow.node_factory import DifyNodeFactory
from core.workflow.system_variables import build_system_variables
from tests.workflow_test_utils import build_test_graph_init_params
if "core.ops.ops_trace_manager" not in sys.modules:
@@ -4,6 +4,23 @@ from datetime import UTC, datetime
from types import SimpleNamespace
import pytest
from core.app.apps.workflow_app_runner import WorkflowBasedAppRunner
from core.app.entities.app_invoke_entities import InvokeFrom, UserFrom
from core.app.entities.queue_entities import (
QueueAgentLogEvent,
QueueIterationCompletedEvent,
QueueLoopCompletedEvent,
QueueNodeExceptionEvent,
QueueNodeFailedEvent,
QueueNodeRetryEvent,
QueueNodeSucceededEvent,
QueueTextChunkEvent,
QueueWorkflowPausedEvent,
QueueWorkflowStartedEvent,
QueueWorkflowSucceededEvent,
)
from core.workflow.system_variables import default_system_variables
from graphon.entities.pause_reason import HumanInputRequired
from graphon.enums import BuiltinNodeTypes
from graphon.graph_events import (
@@ -24,23 +41,6 @@ from graphon.node_events import NodeRunResult
from graphon.runtime import GraphRuntimeState, VariablePool
from graphon.variables.variables import StringVariable
from core.app.apps.workflow_app_runner import WorkflowBasedAppRunner
from core.app.entities.app_invoke_entities import InvokeFrom, UserFrom
from core.app.entities.queue_entities import (
QueueAgentLogEvent,
QueueIterationCompletedEvent,
QueueLoopCompletedEvent,
QueueNodeExceptionEvent,
QueueNodeFailedEvent,
QueueNodeRetryEvent,
QueueNodeSucceededEvent,
QueueTextChunkEvent,
QueueWorkflowPausedEvent,
QueueWorkflowStartedEvent,
QueueWorkflowSucceededEvent,
)
from core.workflow.system_variables import default_system_variables
class TestWorkflowBasedAppRunner:
def test_resolve_user_from(self):
@@ -1,11 +1,11 @@
from unittest.mock import MagicMock
import pytest
from graphon.entities.pause_reason import HumanInputRequired
from graphon.graph_events import GraphRunPausedEvent
from core.app.apps.workflow_app_runner import WorkflowBasedAppRunner
from core.app.entities.queue_entities import QueueWorkflowPausedEvent
from graphon.entities.pause_reason import HumanInputRequired
from graphon.graph_events import GraphRunPausedEvent
class _DummyQueueManager:
@@ -4,14 +4,14 @@ from typing import Any
from unittest.mock import MagicMock, patch
import pytest
from graphon.entities.graph_config import NodeConfigDictAdapter
from graphon.runtime import GraphRuntimeState, VariablePool
from core.app.apps.base_app_queue_manager import AppQueueManager
from core.app.apps.workflow.app_runner import WorkflowAppRunner
from core.app.apps.workflow_app_runner import WorkflowBasedAppRunner
from core.app.entities.app_invoke_entities import InvokeFrom, WorkflowAppGenerateEntity
from core.workflow.system_variables import default_system_variables
from graphon.entities.graph_config import NodeConfigDictAdapter
from graphon.runtime import GraphRuntimeState, VariablePool
from models.workflow import Workflow

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