dify/api/controllers/console/workspace
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
..
__init__.py refactor: migrate session.query to select API in console controllers (#34607) 2026-04-07 04:19:30 +00:00
account.py refactor(api): clean redundant type ignore in request query parsing 🤖🤖🤖 (#34350) 2026-03-31 22:52:35 +00:00
agent_providers.py refactor(api): use standalone graphon package (#34209) 2026-03-27 21:05:32 +00:00
dsl.py feat(api): enable all sandbox/skill controller routes and resolve dependencies (P0) 2026-04-09 09:36:16 +08:00
endpoint.py refactor(api): use standalone graphon package (#34209) 2026-03-27 21:05:32 +00:00
error.py fix: drop dead code phase2 unused class (#22042) 2025-07-17 09:33:07 +08:00
load_balancing_config.py refactor(api): use standalone graphon package (#34209) 2026-03-27 21:05:32 +00:00
members.py refactor: select in console explore and workspace controllers (#33842) 2026-03-21 20:06:17 +09:00
model_providers.py refactor(api): clean redundant type ignore in request query parsing 🤖🤖🤖 (#34350) 2026-03-31 22:52:35 +00:00
models.py refactor: use EnumText for model_type in provider models (#34300) 2026-03-31 00:31:33 +00:00
plugin.py refactor(api): use standalone graphon package (#34209) 2026-03-27 21:05:32 +00:00
sandbox_providers.py feat(api): port Sandbox + VirtualEnvironment + Skill system from feat/support-agent-sandbox (Phase 5-6) 2026-04-08 17:39:02 +08:00
tool_providers.py refactor: use sessionmaker().begin() in console workspace and misc co… (#34284) 2026-03-31 14:28:05 +00:00
trigger_providers.py refactor: use sessionmaker().begin() in console workspace and misc co… (#34284) 2026-03-31 14:28:05 +00:00
workspace.py refactor(api): type Tenant custom config with TypedDict and tighten MCP headers type (#34670) 2026-04-07 13:18:19 +00:00