dify/api/core/workflow/nodes
Yansong Zhang 96374d7f6a refactor(api): replace legacy agent runners with StrategyFactory in AgentChatAppRunner (Phase 4)
Replace the hardcoded FunctionCallAgentRunner / CotChatAgentRunner /
CotCompletionAgentRunner selection in AgentChatAppRunner with the new
AgentAppRunner class that uses StrategyFactory from Phase 1.

Before: AgentChatAppRunner manually selects FC/CoT runner class based on
model features and LLM mode, then instantiates it directly.

After: AgentChatAppRunner instantiates AgentAppRunner (from sandbox branch),
which internally uses StrategyFactory.create_strategy() to auto-select
the right strategy, and uses ToolInvokeHook for proper agent_invoke
with file handling and thought persistence.

This unifies the agent execution engine: both the new Agent V2 workflow
node and the legacy agent-chat app now use the same StrategyFactory
and AgentPattern implementations.

Also fix: command and file_upload nodes use string node_type instead of
BuiltinNodeTypes.COMMAND/FILE_UPLOAD (not in current graphon version).

46 tests pass. Flask starts successfully.

Made-with: Cursor
2026-04-09 09:42:23 +08:00
..
agent refactor(api): use standalone graphon package (#34209) 2026-03-27 21:05:32 +00:00
agent_v2 feat(api): wire sandbox into Agent V2 node execution pipeline 2026-04-08 17:46:34 +08:00
command refactor(api): replace legacy agent runners with StrategyFactory in AgentChatAppRunner (Phase 4) 2026-04-09 09:42:23 +08:00
datasource refactor(api): use standalone graphon package (#34209) 2026-03-27 21:05:32 +00:00
file_upload refactor(api): replace legacy agent runners with StrategyFactory in AgentChatAppRunner (Phase 4) 2026-04-09 09:42:23 +08:00
knowledge_index refactor(api): migrate consumers to shared RAG domain entities from core/rag/entities/ (#34692) 2026-04-07 23:22:56 +00:00
knowledge_retrieval refactor(api): migrate consumers to shared RAG domain entities from core/rag/entities/ (#34692) 2026-04-07 23:22:56 +00:00
trigger_plugin refactor(api): use standalone graphon package (#34209) 2026-03-27 21:05:32 +00:00
trigger_schedule refactor(api): use standalone graphon package (#34209) 2026-03-27 21:05:32 +00:00
trigger_webhook chore: normalize frozenset literals and myscale typing (#34327) 2026-03-31 08:21:22 +00:00
__init__.py refactor(api): move workflow knowledge nodes and trigger nodes (#33445) 2026-03-15 15:24:59 +08:00