dify/api/core/app/apps
Yansong Zhang 73fd439541 fix(api): resolve sandbox deadlock under gevent and refine integration
- Skip Local sandbox provider under gevent worker (subprocess pipes
  cause cooperative threading deadlock with Celery's gevent pool).
- Add non-blocking sandbox readiness check before tool execution.
- Add gevent timeout wrapper for sandbox bash session.
- Fix CLI binary resolution: add SANDBOX_DIFY_CLI_ROOT config field.
- Fix ExecutionContext.node_id propagation.
- Fix SkillInitializer to gracefully handle missing skill bundles.
- Update _invoke_tool_in_sandbox to use correct `dify execute` CLI
  subcommand format (not `invoke-tool`).

The full sandbox-in-agent pipeline works end-to-end for network-based
providers (Docker, E2B, SSH). Local provider is skipped under gevent
but works in non-gevent contexts.

Made-with: Cursor
2026-04-10 10:51:40 +08:00
..
advanced_chat feat(api): integrate Sandbox Provider into Agent V2 execution pipeline 2026-04-10 10:14:42 +08:00
agent_chat refactor(api): replace legacy agent runners with StrategyFactory in AgentChatAppRunner (Phase 4) 2026-04-09 09:42:23 +08:00
chat chore(api): align Python support with 3.12 (#34419) 2026-04-02 05:07:32 +00:00
common fix(api): resolve all remaining known issues 2026-04-09 12:53:11 +08:00
completion chore(api): align Python support with 3.12 (#34419) 2026-04-02 05:07:32 +00:00
pipeline chore(api): align Python support with 3.12 (#34419) 2026-04-02 05:07:32 +00:00
workflow feat(api): integrate Sandbox Provider into Agent V2 execution pipeline 2026-04-10 10:14:42 +08:00
__init__.py FEAT: NEW WORKFLOW ENGINE (#3160) 2024-04-08 18:51:46 +08:00
base_app_generate_response_converter.py refactor(api): type error stream response with TypedDict (#34641) 2026-04-07 05:57:42 +00:00
base_app_generator.py refactor(api): use standalone graphon package (#34209) 2026-03-27 21:05:32 +00:00
base_app_queue_manager.py refactor(api): use standalone graphon package (#34209) 2026-03-27 21:05:32 +00:00
base_app_runner.py refactor(api): use standalone graphon package (#34209) 2026-03-27 21:05:32 +00:00
draft_variable_saver.py refactor(api): rename dify_graph to graphon (#34095) 2026-03-25 21:58:56 +08:00
exc.py refactor: decouple Node and NodeData (#22581) 2025-07-18 10:08:51 +08:00
message_based_app_generator.py refactor(api): continue decoupling dify_graph from API concerns (#33580) 2026-03-25 20:32:24 +08:00
message_based_app_queue_manager.py remove bare list, dict, Sequence, None, Any (#25058) 2025-09-06 03:32:23 +08:00
message_generator.py feat: Human Input Node (#32060) 2026-02-09 14:57:23 +08:00
streaming_utils.py fix(api): excessive high CPU usage caused by RedisClientWrapper (#32212) 2026-02-11 09:49:29 +08:00
workflow_app_runner.py fix(api): resolve sandbox deadlock under gevent and refine integration 2026-04-10 10:51:40 +08:00