refactor(workflow-file): phase2 replace remaining imports and remove core.file

Complete phase 2 of the file module migration by replacing the remaining repository-wide legacy imports and deleting the temporary core.file compatibility package introduced in phase 1.

What this commit changes
- Replace legacy core.file.* imports with core.workflow.file.* across:
  - controllers
  - core app/agent/datasource/prompt/rag/tools/variables
  - factories, fields, libs, models, services
  - otel parser integration points
  - unit and integration tests that referenced legacy paths
- Migrate residual runtime usages in app/task pipeline paths that still referenced core.file symbols.
- Update tests and model serialization helpers that relied on old module paths.
- Remove the compatibility bridge package entirely:
  - delete core/file/__init__.py
  - delete core/file/constants.py
  - delete core/file/enums.py
  - delete core/file/file_manager.py
  - delete core/file/helpers.py
  - delete core/file/models.py
  - delete core/file/tool_file_parser.py

Verification
- No Python references to core.file remain ( -> empty).
- Targeted regression tests for migrated file primitives and factory/type flows passed:
  - tests/unit_tests/core/test_file.py
  - tests/unit_tests/factories/test_variable_factory.py
  - tests/unit_tests/services/test_variable_truncator.py

Result
- The repository now uses core.workflow.file as the single canonical file namespace.
- The migration is fully split into two commits: phase 1 compatibility + phase 2 full cutover.
This commit is contained in:
WH-2099
2026-02-11 15:01:48 +08:00
parent c56d650e83
commit b4c0fb9463
78 changed files with 87 additions and 195 deletions

View File

@ -14,7 +14,6 @@ from sqlalchemy.sql.expression import and_, or_
from configs import dify_config
from core.app.entities.app_invoke_entities import InvokeFrom
from core.file.models import File
from core.variables import Segment, StringSegment, VariableBase
from core.variables.consts import SELECTORS_LENGTH
from core.variables.segments import (
@ -25,6 +24,7 @@ from core.variables.types import SegmentType
from core.variables.utils import dumps_with_segments
from core.workflow.constants import CONVERSATION_VARIABLE_NODE_ID, ENVIRONMENT_VARIABLE_NODE_ID, SYSTEM_VARIABLE_NODE_ID
from core.workflow.enums import SystemVariableKey
from core.workflow.file.models import File
from core.workflow.nodes import NodeType
from core.workflow.nodes.variable_assigner.common.helpers import get_updated_variables
from core.workflow.variable_loader import VariableLoader