dify/api/core/tools/utils
Yansong Zhang 44491e427c feat(api): enable all sandbox/skill controller routes and resolve dependencies (P0)
Resolve the full dependency chain to enable all previously disabled controllers:

Enabled routes:
- sandbox_files: sandbox file browser API
- sandbox_providers: sandbox provider management API
- app_asset: app asset management API
- skills: skill extraction API
- CLI API blueprint: DifyCli callback endpoints (/cli/api/*)

Dependencies extracted (64 files, ~8000 lines):
- models/sandbox.py, models/app_asset.py: DB models
- core/zip_sandbox/: zip-based sandbox execution
- core/session/: CLI API session management
- core/memory/: base memory + node token buffer
- core/helper/creators.py: helper utilities
- core/llm_generator/: context models, output models, utils
- core/workflow/nodes/command/: command node type
- core/workflow/nodes/file_upload/: file upload node type
- core/app/entities/: app_asset_entities, app_bundle_entities, llm_generation_entities
- services/: asset_content, skill, workflow_collaboration, workflow_comment
- controllers/console/app/error.py: AppAsset error classes
- core/tools/utils/system_encryption.py

Import fixes:
- dify_graph.enums -> graphon.enums in skill_service.py
- get_signed_file_url_for_plugin -> get_signed_file_url in cli_api.py

All 5 controllers verified: import OK, Flask starts successfully.
46 existing tests still pass.

Made-with: Cursor
2026-04-09 09:36:16 +08:00
..
dataset_retriever refactor(api): tighten types for Tenant.custom_config_dict and MCPToolProvider.headers (#34698) 2026-04-08 01:36:42 +00:00
__init__.py improve: generalize tool parameter converter (#4786) 2024-06-03 21:26:58 +08:00
configuration.py feat: Add Hologres as a VDB & FullText DB choice (#32830) 2026-03-15 20:55:02 +08:00
dataset_retriever_tool.py Fix: Remove core/tools from pyrightconfig.json and fix type errors (#26413) 2025-09-29 19:22:38 +08:00
encryption.py feat: introduce trigger functionality (#27644) 2025-11-12 17:59:37 +08:00
message_transformer.py refactor(api): use standalone graphon package (#34209) 2026-03-27 21:05:32 +00:00
model_invocation_utils.py refactor(api): use standalone graphon package (#34209) 2026-03-27 21:05:32 +00:00
parser.py refactor(api): replace dict/Mapping with TypedDict in core/tools (#33610) 2026-03-18 08:00:27 +09:00
system_encryption.py feat(api): enable all sandbox/skill controller routes and resolve dependencies (P0) 2026-04-09 09:36:16 +08:00
system_oauth_encryption.py chore: add ast-grep rule to convert Optional[T] to T | None (#25560) 2025-09-15 13:06:33 +08:00
text_processing_utils.py fix: [xxx](xxx) render as xxx](xxx) (#30392) 2025-12-31 10:30:15 +08:00
uuid_utils.py Support OAuth Integration for Plugin Tools (#22550) 2025-07-17 17:18:44 +08:00
web_reader_tool.py feat: using charset_normalizer instead of chardet (#29022) 2025-12-05 11:19:19 +08:00
workflow_configuration_sync.py refactor(api): use standalone graphon package (#34209) 2026-03-27 21:05:32 +00:00
yaml_utils.py rm type ignore (#25715) 2025-10-21 11:26:58 +08:00