Yansong Zhang
8f3a3ea03e
feat(api): enable Agent mode in workflow/service APIs and add default config (Phase 7)
...
Ensure new Agent apps (AppMode.AGENT) can access all workflow-related
APIs and Service API chat endpoints:
- Add AppMode.AGENT to 13 workflow controller mode checks
- Add AppMode.AGENT to 4 workflow_run controller mode checks
- Add AppMode.AGENT to workflow_draft_variable controller
- Add AppMode.AGENT to Service API chat, conversation, message endpoints
- Add AgentV2Node.get_default_config() with prompt templates and strategy defaults
- 46 unit tests all passing (8 new Phase 7 tests)
Old agent/agent-chat paths remain completely unchanged.
Made-with: Cursor
2026-04-08 12:41:37 +08:00
Yansong Zhang
96641a93f6
feat(api): add Agent V2 node and new Agent app type (Phase 1-3)
...
Introduce a new unified Agent V2 workflow node that combines LLM capabilities
with agent tool-calling loops, along with a new AppMode.AGENT for standalone
agent apps backed by single-node workflows.
Phase 1 — Agent Patterns:
- Add core/agent/patterns/ module (AgentPattern, FunctionCallStrategy,
ReActStrategy, StrategyFactory) ported from feat/support-agent-sandbox
- Add ExecutionContext, AgentLog, AgentResult entities
- Add Tool.to_prompt_message_tool() for LLM-consumable tool conversion
Phase 2 — Agent V2 Workflow Node:
- Add core/workflow/nodes/agent_v2/ (AgentV2Node, AgentV2NodeData,
AgentV2ToolManager, AgentV2EventAdapter)
- Register agent-v2 node type in DifyNodeFactory
- No-tools path: single LLM call (LLM Node equivalent)
- Tools path: FC/ReAct loop via StrategyFactory
Phase 3 — Agent App Type:
- Add AppMode.AGENT to model enum
- Add WorkflowGraphFactory for auto-generating start->agent_v2->answer graphs
- AppService.create_app() creates workflow draft for AGENT mode
- AppGenerateService.generate() routes AGENT to AdvancedChatAppGenerator
- Console API and DSL import/export support AGENT mode
- Default app template for AGENT mode
Old agent/agent-chat/LLM node paths are fully preserved.
38 unit tests all passing.
Made-with: Cursor
2026-04-08 12:31:23 +08:00
corevibe555
c825d5dcf6
refactor(api): tighten types for Tenant.custom_config_dict and MCPToolProvider.headers ( #34698 )
2026-04-08 01:36:42 +00:00
corevibe555
624db69f12
refactor(api): remove duplicated RAG entities from services layer ( #34689 )
2026-04-07 23:36:59 +00:00
corevibe555
80a7843f45
refactor(api): migrate consumers to shared RAG domain entities from core/rag/entities/ ( #34692 )
2026-04-07 23:22:56 +00:00
Renzo
72adb5468c
refactor: migrate session.query to select API in retrieval_service ( #34638 )
2026-04-07 04:46:30 +00:00
Renzo
b55bef4438
refactor: migrate session.query to select API in core misc modules ( #34608 )
2026-04-07 04:08:34 +00:00
Akash Kumar
9a8c853a2e
test: added unit test for remaining files in core helper folder ( #33288 )
...
Co-authored-by: rajatagarwal-oss <rajat.agarwal@infocusp.com>
Co-authored-by: sahil-infocusp <73810410+sahil-infocusp@users.noreply.github.com>
2026-04-02 06:50:58 +00:00
wangxiaolei
993a301468
fix: fix online_drive is not a valid datasource_type ( #34440 )
2026-04-02 04:45:02 +00:00
jimmyzhuu
b23ea0397a
fix: apply Baidu Vector DB connection timeout when initializing Mochow client ( #34328 )
2026-04-01 06:16:09 +00:00
Dream
c51cd42cb4
refactor(api): replace json.loads with Pydantic validation in controllers and infra layers ( #34277 )
...
Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>
2026-04-01 05:41:44 +00:00
Full Stack Engineer
09ee8ea1f5
fix: support qa_preview shape in IndexProcessor preview formatting ( #34151 )
...
Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>
Co-authored-by: Crazywoola <100913391+crazywoola@users.noreply.github.com>
2026-04-01 04:22:23 +00:00
Renzo
4bd388669a
refactor: core/app pipeline, core/datasource, and core/indexing_runner ( #34359 )
...
Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>
2026-04-01 02:20:56 +00:00
wangxiaolei
57f358a96b
perf: use global httpx client instead of per request create new one ( #34311 )
...
Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>
2026-04-01 01:19:32 +00:00
99
f27d669f87
chore: normalize frozenset literals and myscale typing ( #34327 )
2026-03-31 08:21:22 +00:00
tmimmanuel
1344c3b280
refactor: use EnumText for model_type in provider models ( #34300 )
...
Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>
2026-03-31 00:31:33 +00:00
lif
bc14ad6a8f
fix: map checkbox and json_object types in MCP schema publishing ( #34226 )
...
Signed-off-by: majiayu000 <1835304752@qq.com>
Co-authored-by: Asuka Minato <i@asukaminato.eu.org>
2026-03-30 15:05:57 +00:00
lif
ae9a16a397
fix: upgrade langfuse SDK to v3+ for LLM-as-judge support ( #34265 )
...
Signed-off-by: majiayu000 <1835304752@qq.com>
2026-03-30 13:06:55 +00:00
Renzo
456684dfc3
refactor: core/rag docstore, datasource, embedding, rerank, retrieval ( #34203 )
...
Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>
Co-authored-by: Asuka Minato <i@asukaminato.eu.org>
2026-03-30 08:09:49 +00:00
Renzo
364d7ebc40
refactor: core/tools, agent, callback_handler, encrypter, llm_generator, plugin, inner_api ( #34205 )
...
Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>
Co-authored-by: Asuka Minato <i@asukaminato.eu.org>
2026-03-28 10:14:43 +00:00
99
40591a7c50
refactor(api): use standalone graphon package ( #34209 )
...
Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>
2026-03-27 21:05:32 +00:00
Renzo
32d394d65b
refactor: select in core/ops trace manager and trace providers ( #34197 )
...
Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>
2026-03-27 14:00:26 +00:00
Xiyuan Chen
5a8a68cab8
feat: enterprise otel exporter ( #33138 )
...
Co-authored-by: QuantumGhost <obelisk.reg+git@gmail.com>
Co-authored-by: Yunlu Wen <yunlu.wen@dify.ai>
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>
2026-03-27 07:56:31 +00:00
wangxiaolei
689761bfcb
feat: return correct dify-plugin-daemon error message ( #34171 )
2026-03-27 06:02:29 +00:00
99
fcfc96ca05
chore: remove stale mypy suppressions and align dataset service tests ( #34130 )
2026-03-26 12:34:44 +00:00
-LAN-
496baa9335
chore(api): remove backend utcnow usage ( #34131 )
2026-03-26 08:51:49 +00:00
Achieve3318
5341cd015b
fix: dataset query created_by empty UUID in iteration subgraph ( #34004 ) ( #34044 )
...
Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>
2026-03-26 14:57:19 +08:00
99
52e7492cbc
refactor(api): rename dify_graph to graphon ( #34095 )
2026-03-25 21:58:56 +08:00
-LAN-
56593f20b0
refactor(api): continue decoupling dify_graph from API concerns ( #33580 )
...
Signed-off-by: -LAN- <laipz8200@outlook.com>
Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>
Co-authored-by: WH-2099 <wh2099@pm.me>
2026-03-25 20:32:24 +08:00
tmimmanuel
a946015ebf
test: replace indexing_technique string literals with IndexTechnique ( #34042 )
2026-03-25 12:39:58 +09:00
Rajat Agarwal
6f137fdb00
test: unit test cases for rag.cleaner, rag.data_post_processor and rag.datasource ( #32521 )
2026-03-25 02:19:15 +08:00
Rajat Agarwal
36cc1bf025
test: unit test cases for sub modules in core.app (except core.app.apps) ( #32476 )
2026-03-25 02:13:28 +08:00
scdeng
67d5c9d148
feat: configurable model parameters with variable reference support in LLM, Question Classifier and Variable Extractor nodes ( #33082 )
...
Co-authored-by: -LAN- <laipz8200@outlook.com>
Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>
2026-03-24 17:41:51 +08:00
Zhanyuan Guo
7fe25f1365
fix(rate_limit): flush redis cache when __init__ is triggered by changing max_active_requests ( #33830 )
...
Co-authored-by: gemini-code-assist[bot] <176961590+gemini-code-assist[bot]@users.noreply.github.com>
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>
2026-03-24 15:08:55 +08:00
tmimmanuel
8b634a9bee
refactor: use EnumText for ApiToolProvider.schema_type_str and Docume… ( #33983 )
2026-03-24 13:27:50 +09:00
tmimmanuel
cc17c8e883
refactor: use EnumText for TidbAuthBinding.status and MessageFile.type ( #33975 )
2026-03-24 05:38:29 +09:00
kurokobo
30deeb6f1c
feat(firecrawl): follow pagination when crawl status is completed ( #33864 )
...
Co-authored-by: Crazywoola <100913391+crazywoola@users.noreply.github.com>
2026-03-23 21:19:32 +08:00
wangxiaolei
01d97fa2cf
fix: type object 'str' has no attribute 'LLM' ( #33899 )
2026-03-23 14:51:56 +09:00
mahammadasim
31506b27ab
test: added for core module moderation, repositories, schemas ( #32514 )
...
Co-authored-by: Rajat Agarwal <rajat.agarwal@infocusp.com>
2026-03-22 23:57:12 +08:00
wangxiaolei
40846c262c
perf: tidb_on_qdrant_vector delete_by_ids use batch delete ( #33846 )
2026-03-22 21:09:43 +09:00
tmimmanuel
f41d1d0822
refactor: use EnumText for Conversation/Message invoke_from and from_source ( #33832 )
...
Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>
Co-authored-by: Asuka Minato <i@asukaminato.eu.org>
2026-03-21 11:47:48 +09:00
Zixuan Cheng
8c9831177a
fix(api): preserve citation metadata in web responses ( #33778 )
...
Co-authored-by: AI Assistant <bot@demo.com>
2026-03-20 10:49:12 +08:00
盐粒 Yanli
df0ded210f
fix: preserve timing metrics in parallel iteration ( #33216 )
2026-03-19 18:05:52 +08:00
QuantumGhost
c93289e93c
fix(api): add trigger_info to WorkflowNodeExecutionMetadataKey ( #33753 )
...
Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>
2026-03-19 17:56:49 +08:00
tmimmanuel
e4f1d3c63a
refactor: use EnumText(StorageType) for UploadFile.storage_type ( #33728 )
2026-03-19 15:15:32 +09:00
BitToby
b2a388b7bf
refactor(api): type Firecrawl API responses with TypedDict ( #33691 )
2026-03-19 04:00:06 +09:00
tmimmanuel
29577cac14
refactor: EnumText for preferred_provider_type MessageChain, Banner ( #33696 )
...
Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>
2026-03-19 03:53:04 +09:00
QuantumGhost
29c70736dc
fix(api): Preserving the content transform logic in fetch_prompt_messages ( #33666 )
...
Co-authored-by: gemini-code-assist[bot] <176961590+gemini-code-assist[bot]@users.noreply.github.com>
Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>
2026-03-18 19:41:25 +08:00
tmimmanuel
04c0bf61fa
refactor: use EnumText in provider models ( #33634 )
2026-03-18 13:27:40 +09:00
BitToby
485da15a4d
refactor(api): replace dict/Mapping with TypedDict in core/rag retrieval_service.py ( #33615 )
...
Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>
2026-03-18 11:49:09 +09:00