dify/api/core/helper
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
..
code_executor refactor(api): use standalone graphon package (#34209) 2026-03-27 21:05:32 +00:00
__init__.py feat: server multi models support (#799) 2023-08-12 00:57:00 +08:00
creators.py feat(api): enable all sandbox/skill controller routes and resolve dependencies (P0) 2026-04-09 09:36:16 +08:00
credential_utils.py refactor(api): tighten types for Tenant.custom_config_dict and MCPToolProvider.headers (#34698) 2026-04-08 01:36:42 +00:00
csv_sanitizer.py chore: normalize frozenset literals and myscale typing (#34327) 2026-03-31 08:21:22 +00:00
download.py Introduce Plugins (#13836) 2025-02-17 17:05:13 +08:00
encrypter.py refactor: core/tools, agent, callback_handler, encrypter, llm_generator, plugin, inner_api (#34205) 2026-03-28 10:14:43 +00:00
http_client_pooling.py improve: pooling httpx clients for requests to code sandbox and ssrf (#26052) 2025-09-24 22:14:50 +08:00
marketplace.py feat: use static manifest for pre-caching all plugin manifests before checking updates (#31942) 2026-02-05 18:58:17 +08:00
model_provider_cache.py chore: add ast-grep rule to convert Optional[T] to T | None (#25560) 2025-09-15 13:06:33 +08:00
moderation.py refactor(api): use standalone graphon package (#34209) 2026-03-27 21:05:32 +00:00
module_import_helper.py chore(api): align Python support with 3.12 (#34419) 2026-04-02 05:07:32 +00:00
name_generator.py feat: introduce trigger functionality (#27644) 2025-11-12 17:59:37 +08:00
position_helper.py chore(api): align Python support with 3.12 (#34419) 2026-04-02 05:07:32 +00:00
provider_cache.py chore: add ast-grep rule to convert Optional[T] to T | None (#25560) 2025-09-15 13:06:33 +08:00
provider_encryption.py feat: introduce trigger functionality (#27644) 2025-11-12 17:59:37 +08:00
ssrf_proxy.py chore(api): align Python support with 3.12 (#34419) 2026-04-02 05:07:32 +00:00
tool_parameter_cache.py chore: add ast-grep rule to convert Optional[T] to T | None (#25560) 2025-09-15 13:06:33 +08:00
trace_id_helper.py feat(refactoring): Support Structured Logging (JSON) (#30170) 2026-01-04 11:46:46 +08:00