Commit Graph

834 Commits

Author SHA1 Message Date
QuantumGhost 874406d934
security(api): fix privilege escalation vulnerability in model config and chat message APIs (#25518)
The `ChatMessageApi` (`POST /console/api/apps/{app_id}/chat-messages`) and 
`ModelConfigResource` (`POST /console/api/apps/{app_id}/model-config`) 
endpoints do not properly validate user permissions, allowing users without `editor` 
permission to access restricted functionality.

This PR addresses this issue by adding proper permission check.
2025-09-11 14:53:35 +08:00
Asuka Minato cbc0e639e4
update sql in batch (#24801)
Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>
Co-authored-by: -LAN- <laipz8200@outlook.com>
2025-09-10 13:00:17 +08:00
Guangdong Liu b51c724a94
refactor: Migrate part of the console basic API module to Flask-RESTX (#24732)
Signed-off-by: -LAN- <laipz8200@outlook.com>
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
Co-authored-by: crazywoola <100913391+crazywoola@users.noreply.github.com>
Co-authored-by: -LAN- <laipz8200@outlook.com>
2025-09-10 12:15:47 +08:00
Will fecdb9554d
fix: inner_api get_user_tenant (#25462) 2025-09-10 11:31:16 +08:00
-LAN- 08dd3f7b50
Fix basedpyright type errors (#25435)
Signed-off-by: -LAN- <laipz8200@outlook.com>
Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>
2025-09-10 01:54:26 +08:00
Asuka Minato 38057b1b0e
add typing to all wraps (#25405)
Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>
2025-09-09 16:48:33 +08:00
Yongtao Huang 4aba570fa8
Fix flask response: 200 -> {}, 200 (#25404) 2025-09-09 15:06:18 +08:00
Xiyuan Chen 64c9a2f678
Feat/credential policy (#25151)
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>
2025-09-08 23:45:05 -07:00
Yeuoly 720ecea737
fix: tenant_id was not specific when retrieval end-user in plugin backwards invocation wraps (#25377)
Co-authored-by: gemini-code-assist[bot] <176961590+gemini-code-assist[bot]@users.noreply.github.com>
2025-09-09 09:49:35 +08:00
zyssyz123 ea61420441
Revert "feat: email register refactor" (#25367) 2025-09-08 19:20:09 +08:00
zyssyz123 860ee20c71
feat: email register refactor (#25344)
Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>
Co-authored-by: crazywoola <100913391+crazywoola@users.noreply.github.com>
2025-09-08 17:51:43 +08:00
Cluas f891c67eca
feat: add MCP server headers support #22718 (#24760)
Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>
Co-authored-by: crazywoola <100913391+crazywoola@users.noreply.github.com>
Co-authored-by: Novice <novice12185727@gmail.com>
2025-09-08 14:10:55 +08:00
ZalterCitty 4ee49f3550
chore: remove weird account login (#22247)
Co-authored-by: zhuqingchao <zhuqingchao@xiaomi.com>
Co-authored-by: crazywoola <100913391+crazywoola@users.noreply.github.com>
2025-09-08 10:44:36 +08:00
Asuka Minato f6059ef389
add more typing (#24949)
Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>
2025-09-08 10:40:00 +08:00
Asuka Minato 16a3e21410
more assert (#24996)
Signed-off-by: -LAN- <laipz8200@outlook.com>
Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>
Co-authored-by: -LAN- <laipz8200@outlook.com>
Co-authored-by: crazywoola <100913391+crazywoola@users.noreply.github.com>
2025-09-08 09:59:43 +08:00
-LAN- 9b8a03b53b
[Chore/Refactor] Improve type annotations in models module (#25281)
Signed-off-by: -LAN- <laipz8200@outlook.com>
Co-authored-by: crazywoola <100913391+crazywoola@users.noreply.github.com>
2025-09-08 09:42:27 +08:00
Asuka Minato a78339a040
remove bare list, dict, Sequence, None, Any (#25058)
Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>
Co-authored-by: -LAN- <laipz8200@outlook.com>
2025-09-06 03:32:23 +08:00
kenwoodjw 1ba69b8abf
fix: child chunk API 404 due to UUID type comparison (#25234)
Signed-off-by: kenwoodjw <blackxin55+@gmail.com>
2025-09-05 14:00:28 +08:00
Yongtao Huang 865ba8bb4f
Minor fix: correct get_app_model mode for delete() (#25082)
Signed-off-by: Yongtao Huang <yongtaoh2022@gmail.com>
2025-09-04 11:08:31 +08:00
NeatGuyCoding a9c7669c16
chore: comply to RFC 6750 and improve bearer token split (#24955) 2025-09-03 22:29:08 +08:00
非法操作 b673560b92
feat: improve multi model credentials (#25009)
Co-authored-by: Claude <noreply@anthropic.com>
2025-09-03 13:52:31 +08:00
-LAN- 9d5956cef8
[Chore/Refactor] Switch from MyPy to Basedpyright for type checking (#25047)
Signed-off-by: -LAN- <laipz8200@outlook.com>
2025-09-03 11:52:26 +08:00
湛露先生 1fff4620e6
clean console apis and rag cleans. (#25042)
Signed-off-by: zhanluxianshen <zhanluxianshen@163.com>
Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>
2025-09-03 11:25:18 +08:00
Will 5092e5f631
fix: workflow not published (#25030) 2025-09-03 10:07:31 +08:00
Yongtao Huang bc9efa7ea8
Refactor: use DatasourceType.XX.value instead of hardcoded (#25015)
Signed-off-by: Yongtao Huang <yongtaoh2022@gmail.com>
Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>
2025-09-03 08:56:48 +08:00
Will d33dfee8a3
fix: EndUser is not bound to a Session (#25010) 2025-09-02 21:37:21 +08:00
GuanMu 25a11bfafc
Export DSL from history (#24939)
Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>
2025-09-02 21:36:52 +08:00
Novice 68c75f221b
fix: workflow log status filter add parial success status (#24977) 2025-09-02 16:24:03 +08:00
Bowen Liang 7b379e2a61
chore: apply ty checks on api code with script and ci action (#24653) 2025-09-02 16:05:13 +08:00
Yongtao Huang 067b0d07c4
Fix: ensure InstalledApp deletion uses model instances instead of Row (#24942)
Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>
2025-09-02 11:59:38 +08:00
jiangbo721 e048588a88
fix: remove duplicated code (#24893) 2025-09-02 08:58:31 +08:00
Asuka Minato d41d4deaac
example enum to StrEnum (#24877)
Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>
2025-09-01 15:40:26 +08:00
NeatGuyCoding 2e6e414a9e
the conversion OAuthGrantType(parsed_args["grant_type"]) can raise ValueError for invalid values which is not caught and will produce a 500 (#24854) 2025-09-01 10:05:54 +08:00
NeatGuyCoding c45d676477
remove duplicated authorization header handling and bearer should be case-insensitive (#24852) 2025-09-01 10:05:19 +08:00
Asuka Minato b8d8dddd5a
example of decorator typing (#24857)
Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>
2025-09-01 10:04:24 +08:00
Asuka Minato 24e2b72b71
Update ast-grep pattern for session.query (#24828)
Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>
2025-08-31 17:03:51 +08:00
Novice 1a34ff8a67
fix: change the mcp server strucutre to support github copilot (#24788) 2025-08-29 18:00:58 +08:00
kenwoodjw e4383d6167
Chore: remove dupliacte logic in DatasetApi.get() (#24769)
Signed-off-by: kenwoodjw <blackxin55+@gmail.com>
2025-08-29 14:25:36 +08:00
Junyan Qin (Chin) f32e176d6a
feat: oauth provider (#24206)
Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>
Co-authored-by: yessenia <yessenia.contact@gmail.com>
2025-08-29 14:10:51 +08:00
Bowen Liang 39064197da
chore: cleanup unnecessary mypy suppressions on imports (#24712) 2025-08-28 23:17:25 +08:00
Eric Guo ecf74d91e2
fix: has_more logic in ChatMessageListApi to ensure correct on behavior when no more messages are available. (#24661) 2025-08-28 15:05:52 +08:00
Guangdong Liu 47f02eec96
refactor: Migrate part of the web API module to Flask-RESTX (#24659) 2025-08-28 09:22:31 +08:00
Guangdong Liu 06dd4d6e00
feat: migrate part of the web chat module to Flask-RESTX (#24664) 2025-08-28 09:21:42 +08:00
Yongtao Huang 2a29c61041
Refactor: replace count() > 0 check with exists() (#24583)
Co-authored-by: Yongtao Huang <99629139+hyongtao-db@users.noreply.github.com>
Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>
2025-08-27 17:46:52 +08:00
Guangdong Liu 917ed8cf84
feat: migrate part of the web API module to Flask-RESTX (#24577)
Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>
2025-08-27 16:05:22 +08:00
Yongtao Huang 826f19e968
Chore : rm dead code detected by pylance (#24588) 2025-08-27 13:19:40 +08:00
Yongtao Huang b486d72b8e
Chore: remove dead var in `DocumentBatchIndexingEstimateApi` (#24497)
Co-authored-by: Yongtao Huang <99629139+hyongtao-db@users.noreply.github.com>
2025-08-26 23:33:50 +08:00
Yongtao Huang fa753239ad
Refactor: use logger = logging.getLogger(__name__) in logging (#24515)
Co-authored-by: Yongtao Huang <99629139+hyongtao-db@users.noreply.github.com>
Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>
Co-authored-by: crazywoola <100913391+crazywoola@users.noreply.github.com>
2025-08-26 18:10:31 +08:00
-LAN- cfb8d224da
fix: standardize authentication error messages to prevent user enumeration (#24324)
Signed-off-by: -LAN- <laipz8200@outlook.com>
Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>
2025-08-26 09:46:23 +08:00
Yongtao Huang ac5aed7a45
Fix missing return 200 in response handling (#24499)
Co-authored-by: Yongtao Huang <99629139+hyongtao-db@users.noreply.github.com>
Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>
2025-08-26 09:24:18 +08:00
Guangdong Liu f6cfe80bf5
feat: migrate Inner API module to Flask-RESTX (#24492) 2025-08-26 00:23:48 +08:00
Asuka Minato 2b91ba2411
example: limit current user usage (#24470)
Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>
2025-08-26 00:23:29 +08:00
非法操作 6010d5f24c
feat: add multi model credentials (#24451)
Co-authored-by: zxhlyh <jasonapring2015@outlook.com>
Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>
2025-08-25 16:12:29 +08:00
quicksand b08bfa203a
fix(flask_restx): invite member email parse error (#24464) 2025-08-25 15:50:20 +08:00
quicksand a06681913d
remove: document download file permission (#24459) 2025-08-25 15:11:48 +08:00
quicksand 424fdf4b52
fix: flask_restx namespace path wrong (#24456) 2025-08-25 14:56:20 +08:00
-LAN- a9e106b17e
fix: Fix login error handling by raising exception instead of returning (#24452) 2025-08-25 13:54:25 +08:00
znn 3aedc139ac
fix delete conversations via Api and delete conversations from db as well (#23591)
Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>
Co-authored-by: crazywoola <427733928@qq.com>
Co-authored-by: crazywoola <100913391+crazywoola@users.noreply.github.com>
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
2025-08-25 09:43:45 +08:00
Yongtao Huang 9a18911eba
Fix auth error handling (#24420)
Signed-off-by: Yongtao Huang <yongtaoh2022@gmail.com>
Co-authored-by: Yongtao Huang <99629139+hyongtao-db@users.noreply.github.com>
2025-08-25 09:28:10 +08:00
-LAN- 8c6e655380
feat: API docs for /files (#24423)
Signed-off-by: -LAN- <laipz8200@outlook.com>
2025-08-25 09:27:09 +08:00
-LAN- 3075d415e1
feat: API docs for mcp (#24424)
Signed-off-by: -LAN- <laipz8200@outlook.com>
2025-08-25 09:27:01 +08:00
-LAN- b7466f8b65
feat: API docs for service api (#24425)
Signed-off-by: -LAN- <laipz8200@outlook.com>
2025-08-25 09:26:54 +08:00
Asuka Minato 18dce66443
try flask_restful -> flask_restx (#24310)
Signed-off-by: -LAN- <laipz8200@outlook.com>
Co-authored-by: -LAN- <laipz8200@outlook.com>
2025-08-24 13:45:47 +08:00
kenwoodjw 8a348bea21
fix child-chunk ownership validation (#24374)
Signed-off-by: kenwoodjw <blackxin55+@gmail.com>
2025-08-23 20:17:44 +08:00
willzhao 5ab6bc283c
[CHORE]: x: T = None to x: Optional[T] = None (#24217) 2025-08-21 21:58:39 +08:00
Guangdong Liu 1abf1240b2
refactor: replace try-except blocks with contextlib.suppress for cleaner exception handling (#24284) 2025-08-21 18:18:49 +08:00
Xiyuan Chen cfefe4f738
Feat: Education (#24208)
Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>
2025-08-20 15:38:14 +08:00
Stream c2606f9062
fix: correct behaviour of code fix (#24152)
Co-authored-by: Joel <iamjoel007@gmail.com>
Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>
2025-08-19 14:18:49 +08:00
Asuka Minato 70da81d0e5
try ast-grep (#24149) 2025-08-19 13:41:52 +08:00
Asuka Minato ebd2c8236d
an example of suppress (#24136) 2025-08-19 00:21:26 +08:00
Zhehao Peng c0702aacac
Use typing.Literal to replace str places (#24099)
Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>
2025-08-18 21:34:13 +08:00
Stream ae7de7d36b
fix: treat default template of code as empty (#24106)
Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>
2025-08-18 16:52:27 +08:00
Joel de9c5f10b3
feat: enchance prompt and code (#23633)
Co-authored-by: stream <stream@dify.ai>
Co-authored-by: Stream <1542763342@qq.com>
Co-authored-by: Stream <Stream_2@qq.com>
Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>
2025-08-18 12:29:12 +08:00
耐小心 4b9812ce6a
fix: move database service call inside session context in workflow draft variable API (#23996) 2025-08-15 18:23:42 +08:00
xubo f560116fb2
fix: 504 Gateway Time-out error on /console/api/version endpoint (#23961) 2025-08-15 11:25:25 +08:00
heyszt aa71173dbb
Feat: External_trace_id compatible with OpenTelemetry (#23918)
Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>
2025-08-15 09:13:41 +08:00
Alex Chim 4a2e6af9b5
Fixes #23921 (#23924)
Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>
2025-08-14 15:54:25 +08:00
QuantumGhost 7286b4ad06
fix(api): resolve "Message not exists" error in admin feedback creation (#23232)
Fix regression introduced in PR #22580 where admin users encountered 
"Message not exists" errors when creating feedback on messages created 
by other users.

The issue was caused by `MessageService.create_feedback()` incorrectly 
filtering messages by the current user's ID, preventing admins from 
accessing messages created by end users. 

Reverts: #22580
2025-08-13 23:57:25 +08:00
Yongtao Huang bf2f03f911
Restructure the File errors in controller (#23801)
Co-authored-by: Yongtao Huang <99629139+hyongtao-db@users.noreply.github.com>
Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>
2025-08-13 17:06:07 +08:00
Will 1ffe190557
Feat/improved mcp timeout configs (#23605)
Co-authored-by: crazywoola <427733928@qq.com>
2025-08-12 13:14:00 +08:00
Yongtao Huang 431e0105de
Fix bare raise in if blocks (#23671)
Signed-off-by: Yongtao Huang <yongtaoh2022@gmail.com>
2025-08-09 22:40:55 +08:00
crazywoola 1c60b7f070
Revert "feat: improved MCP timeout" (#23602) 2025-08-08 11:20:53 +08:00
Will 4b0480c8b3
feat: improved MCP timeout (#23546) 2025-08-08 09:08:14 +08:00
lyzno1 2edd32fdea
fix: resolve AppCard description overlap with tag area (#23585)
Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>
2025-08-08 09:05:55 +08:00
lyzno1 d98071a088
feat: add Service API file preview endpoint (#23534)
Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>
2025-08-07 21:44:29 +08:00
yunqiqiliang e01510e2a6
feat: Add Clickzetta Lakehouse vector database integration (#22551)
Co-authored-by: Claude <noreply@anthropic.com>
2025-08-07 14:21:46 +08:00
Yongtao Huang e072b7dafa
Chore: remove unused variable pruned_memory (#23514) 2025-08-07 09:06:17 +08:00
Yongtao Huang b8ef0c84e6
Fix: moved `file =` after file presence validation (#23453)
Signed-off-by: Yongtao Huang <yongtaoh2022@gmail.com>
2025-08-06 13:44:12 +08:00
Xiyuan Chen 904af20023
Feat/webapp opt (#23283) 2025-08-05 16:07:48 +08:00
Yongtao Huang 146d870098
Fix: avoid Flask route conflict by merging `DocumentDetailApi` and `DocumentDeleteApi` (#23333)
Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>
2025-08-04 14:37:36 +08:00
Yongtao Huang 964fa132cb
Chore: fix typo, no code change (#23331) 2025-08-03 22:30:28 +08:00
qiaofenlin 20f0238aab
feat: support workflow version specification in workflow and chat APIs (#23188)
Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
2025-08-03 16:27:12 +08:00
Warren Wong 6d5a7684b4
feat: Add Download Button to UI for Knowledge Resource Source Files (#23320) 2025-08-03 16:26:11 +08:00
Asuka Minato 58608f51da
replace db with sa to get typing support (#23240) 2025-08-02 23:54:23 +08:00
Alex Chim 8ab3fda5a8
[Enhancement] Allow modify conversation variable via api (#23112)
Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>
2025-08-01 09:34:56 +08:00
NeatGuyCoding 07cff1ed2c
minor fix: fix flask api resources only accept one resource for same url (#23168) 2025-07-30 17:05:02 +08:00
NeatGuyCoding 070379a900
minor fix: fix wrong check of annotation_ids (#23164) 2025-07-30 17:04:31 +08:00
GuanMu 4499cda186
Feat annotations panel (#22968) 2025-07-30 13:40:48 +08:00
lyzno1 0ea010d7ee
fix: metadata API nullable validation consistency issue (#23133)
Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>
2025-07-30 10:33:24 +08:00
Shaun 00cb1c26a1
refactor: pass external_trace_id to message trace (#23089)
Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>
2025-07-29 19:34:46 +08:00
Yongtao Huang 57e0a12ccd
Refactor: remove redundant full module paths in exception handlers (#23076)
Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>
2025-07-29 09:40:51 +08:00
NeatGuyCoding 537c04745d
minor fix: using the same AccountInFreezeError (#23061)
Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>
2025-07-28 18:24:27 +08:00
zyssyz123 de28bb1075
fix: changed email login use oauth will create an new account (#23057) 2025-07-28 16:32:25 +08:00
zhaobingshuang 5c5f61b2aa
fix(dataset): CELERY_BROKER uses amqp rabbitmq. When adding document segments in batches and uploading large files, the status will always remain stuck at "In batch processing" #22709 (#23038) 2025-07-28 14:24:13 +08:00
呆萌闷油瓶 ee50a2bcd5
feat: clear all annotation (#22878)
Co-authored-by: crazywoola <100913391+crazywoola@users.noreply.github.com>
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
2025-07-25 18:06:03 +08:00
Asuka Minato a189d293f8
make logging not use f-str, change others to f-str (#22882) 2025-07-25 10:32:48 +08:00
quicksand 8340d775bd
Improve: support custom model parameters in auto-generator (#22924) 2025-07-25 09:00:26 +08:00
KVOJJJin d6b980a2dd
Feat: change user email freezes limit (#22912)
Co-authored-by: Yansong Zhang <916125788@qq.com>
2025-07-25 08:48:23 +08:00
zyssyz123 6ac06486e3
Feat/change user email freezes limit (#22900) 2025-07-24 15:36:53 +08:00
KVOJJJin de611ab344
Feat: add notification for change email completed (#22812)
Co-authored-by: Yansong Zhang <916125788@qq.com>
2025-07-24 14:16:39 +08:00
Asuka Minato ef51678c73
orm filter -> where (#22801)
Signed-off-by: -LAN- <laipz8200@outlook.com>
Co-authored-by: -LAN- <laipz8200@outlook.com>
Co-authored-by: Claude <noreply@anthropic.com>
2025-07-24 00:57:45 +08:00
Junyan Qin (Chin) eaae79a581
feat: plugin auto upgrade strategy (#19758)
Co-authored-by: Joel <iamjoel007@gmail.com>
Co-authored-by: crazywoola <427733928@qq.com>
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
Co-authored-by: Novice <novice12185727@gmail.com>
2025-07-23 15:33:39 +08:00
Maries ad67094e54
feat: oauth refresh token (#22744)
Co-authored-by: Yeuoly <admin@srmxy.cn>
2025-07-23 13:12:39 +08:00
qfl 841e53dbbe
feat(trace): support external trace id propagation (#22623)
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
2025-07-22 15:17:43 +08:00
Bowen Liang 74940ad3f2
chore: code improvement for mcp_client and mcp_tools_manage_service (#22645) 2025-07-21 09:52:55 +08:00
Aryan Raj ce794335e9
Fix/replace datetime patterns with naive utc now (#22654) 2025-07-20 11:05:53 +08:00
jiangbo721 ffee6f3288
fix: admin feedback uses the same method create_feedback (#22580)
Co-authored-by: 刘江波 <jiangbo721@163.com>
2025-07-18 10:10:31 +08:00
-LAN- 1715dd4320
refactor: Fix some type error (#22594)
Signed-off-by: -LAN- <laipz8200@outlook.com>
2025-07-18 09:26:29 +08:00
hato_code 62586719b3
fix: remove redundant partial member list retrieval in dataset API (#15492) 2025-07-17 22:56:18 +08:00
Maries a4ef900916
Support OAuth Integration for Plugin Tools (#22550)
Co-authored-by: zxhlyh <jasonapring2015@outlook.com>
Co-authored-by: Yeuoly <admin@srmxy.cn>
2025-07-17 17:18:44 +08:00
NeatGuyCoding 93c27b134d
minor typo fix: remove debug code and fix typo (#22539) 2025-07-17 13:52:15 +08:00
zyssyz123 a4f421028c
Feat/change user email (#22213)
Co-authored-by: NFish <douxc512@gmail.com>
Co-authored-by: JzoNg <jzongcode@gmail.com>
Co-authored-by: Garfield Dai <dai.hai@foxmail.com>
2025-07-17 10:55:59 +08:00
yihong d2933c2bfe
fix: drop dead code phase2 unused class (#22042)
Signed-off-by: yihong0618 <zouzou0208@gmail.com>
2025-07-17 09:33:07 +08:00
qfl bdb9f29948
feat(app): support custom max_active_requests per app (#22073) 2025-07-16 15:31:19 +08:00
baonudesifeizhai d52fb18457
feat: auto-fill MCP server description with app description #22443 (#22477) 2025-07-16 15:03:33 +08:00
QuantumGhost 2c1ab4879f
refactor(api): Separate SegmentType for Integer/Float to Enable Pydantic Serialization (#22025)
refactor(api): Separate SegmentType for Integer/Float to Enable Pydantic Serialization (#22025)

This PR addresses serialization issues in the VariablePool model by separating the `value_type` tags for `IntegerSegment`/`FloatSegment` and `IntegerVariable`/`FloatVariable`. Previously, both Integer and Float types shared the same `SegmentType.NUMBER` tag, causing conflicts during serialization.

Key changes:
- Introduce distinct `value_type` tags for Integer and Float segments/variables
- Add `VariableUnion` and `SegmentUnion` types for proper type discrimination
- Leverage Pydantic's discriminated union feature for seamless serialization/deserialization
- Enable accurate serialization of data structures containing these types

Closes #22024.
2025-07-16 12:31:37 +08:00
-LAN- df89629e04
fix: conversatino statistic including data from debugger (#22412)
Signed-off-by: -LAN- <laipz8200@outlook.com>
2025-07-15 15:45:45 +08:00
-LAN- 6eb155ae69
feat(api/repo): Allow to config repository implementation (#21458)
Signed-off-by: -LAN- <laipz8200@outlook.com>
Co-authored-by: QuantumGhost <obelisk.reg+git@gmail.com>
2025-07-14 14:54:38 +08:00
NeatGuyCoding 6c233e05a9
minor fix: wrong and (#22242) 2025-07-12 19:59:07 +08:00
NeatGuyCoding f929bfb94c
minor fix: remove duplicates, fix typo, and add restriction for get mcp server (#22170)
Signed-off-by: neatguycoding <15627489+NeatGuyCoding@users.noreply.github.com>
2025-07-11 09:40:17 +08:00
Novice 535fff62f3
feat: add MCP support (#20716)
Co-authored-by: QuantumGhost <obelisk.reg+git@gmail.com>
2025-07-10 14:01:34 +08:00
Yongtao Huang de54f8d0ef
Chore: remove unreachable code (#21986) 2025-07-07 21:55:34 +08:00
cutiechi 47954aa284
feat(api): validate and reject external datasets in document update (#21783) 2025-07-03 14:50:53 +08:00
jiangbo721 31eb8548ef
fix: Before publish the app, preview the voice of tts, it raise an er… (#21821)
Co-authored-by: 刘江波 <jiangbo721@163.com>
2025-07-03 10:53:14 +08:00
baonudesifeizhai 8516d15a4e
fix: handle configure button for notion internal integration (#21412) 2025-07-01 16:58:00 +08:00
Bowen Liang 1a7ad195f0
refactor: define the Dify project version in pyproject.toml (#20910) 2025-07-01 12:07:24 +08:00
Ganondorf 55a6b330ec
Add get document detail service api (#21700)
Co-authored-by: lizb <lizb@sugon.com>
2025-06-30 22:13:56 +08:00
Xin Zhang 37e19de7ab
feat(inner-api/workspace): include tenant details in CreateWorkspace response (#21636) 2025-06-27 18:28:03 +08:00
Yeuoly 87efe45240
feat(plugin): Add API endpoint for invoking LLM with structured output (#21624) 2025-06-27 15:57:44 +08:00
Khoa a06af88b26
Feat/api validate model provider (#21582)
Co-authored-by: crazywoola <427733928@qq.com>
2025-06-27 09:59:44 +08:00
Yeuoly cea6522122
feat: add DYNAMIC_SELECT parameter type for dynamic options in parameter entities (#21425) 2025-06-26 17:44:14 +08:00
Xiyuan Chen d454f09e13
feat: add a magic field in the cancel invite api response (#21505) 2025-06-25 18:37:56 +08:00
Jyong d60287621a
add dataset info in response (#21413) 2025-06-24 16:07:31 +08:00
Jyong 973b3854b4
add dataset info in response (#21406) 2025-06-24 11:13:56 +08:00
QuantumGhost 10b738a296
feat: Persist Variables for Enhanced Debugging Workflow (#20699)
This pull request introduces a feature aimed at improving the debugging experience during workflow editing. With the addition of variable persistence, the system will automatically retain the output variables from previously executed nodes. These persisted variables can then be reused when debugging subsequent nodes, eliminating the need for repetitive manual input.

By streamlining this aspect of the workflow, the feature minimizes user errors and significantly reduces debugging effort, offering a smoother and more efficient experience.

Key highlights of this change:

- Automatic persistence of output variables for executed nodes.
- Reuse of persisted variables to simplify input steps for nodes requiring them (e.g., `code`, `template`, `variable_assigner`).
- Enhanced debugging experience with reduced friction.

Closes #19735.
2025-06-24 09:05:29 +08:00
GuanMu 870e73c03b
Knowledge base API supports status updates #18147 (#18235) 2025-06-21 11:18:48 +08:00
椰子汁 77be115f09
critical! insert_explore_app_list_api (#21277) 2025-06-20 20:03:30 +08:00
Xiyuan Chen 8f64327d57
feat: use default access mode when importing dsl (#21231) 2025-06-19 17:14:28 +08:00
Good Wood 0cfdb8c043
fix: fix load_balancing_config save error (#21213) 2025-06-19 15:41:36 +08:00
LiuBo 17fe62cf91
feat: add support for Matrixone database (#20714) 2025-06-19 10:20:12 +08:00
Ganondorf e99861d4fe
Add Filter of Get Workflow Logs (#21172)
Co-authored-by: lizb <lizb@sugon.com>
2025-06-19 10:10:16 +08:00
NeatGuyCoding 2eae7503e1
Minor Improvements for File Validation and Configuration Handling #21179 (#21171)
Co-authored-by: tech <cto@sb>
2025-06-18 18:33:28 +08:00
Jyong 787a556bd7
add service api ratelimit check (#20878) 2025-06-18 14:05:28 +08:00
NeatGuyCoding 61526c027d
[Bug] fix misusing ACCESS_TOKEN_EXPIRE_MINUTES in jwt on exp (#21030)
Co-authored-by: tech <cto@sb>
2025-06-18 09:37:49 +08:00
quicksand 3a628bc671
chore: app info add author_name (#20973) 2025-06-13 10:17:35 +02:00
Yeuoly d6d8cca053
refactor: replace compact response generation with length-prefixed response for backwards invocation api (#20903) 2025-06-11 16:01:50 +08:00
Bowen Liang 0f3d4d0b6e
chore: bump mypy to 1.16 (#20608) 2025-06-11 01:01:33 +08:00
Xiyuan Chen 0720bc7408
Feat/webapp verified sso main (#20494) 2025-06-09 17:19:53 +09:00
Yeuoly 38554c5f3e
fix(inner_api/plugin/wraps): refresh user model after creation in get user function (#20704) 2025-06-05 23:36:33 +08:00
Abdullah AlOsaimi ad8e79c440
assign dataset indexing_technique to args if not explicitly provided (#20597) 2025-06-05 09:47:57 +08:00
Abdullah AlOsaimi 006496f24e
raise error when process_rule is required but missing (#20599) 2025-06-04 14:19:35 +08:00
Novice 4ac3600f81
fix: update app tag error (#20618) 2025-06-04 13:55:00 +08:00
Ganondorf 51f64797cd
Add APIs for Knowledge Base Tag Management and Dataset Binding (#20023)
Co-authored-by: lizb <lizb@sugon.com>
2025-05-30 14:48:00 +08:00
Dongyu Li 1ea4459d9f
update knowledge base api (#20426) 2025-05-30 14:45:30 +08:00
-LAN- 482e50aae9
Refactor/remove db from cycle manager (#20455)
Signed-off-by: -LAN- <laipz8200@outlook.com>
2025-05-30 04:34:13 +08:00
quicksand 2d4f8f1377
fix: apps/annotation missing 1 required positional argument: 'end_user' (#20428) 2025-05-29 16:10:28 +08:00
-LAN- c3c67d9608
fix: register user model to current_user in backward invoke. (#20374)
Signed-off-by: -LAN- <laipz8200@outlook.com>
2025-05-28 19:56:33 +08:00
Good Wood 756f35f480
feat: add pagination for plugin page (#20151) 2025-05-27 12:54:52 +08:00
-LAN- b357eca307
fix: Copy request context and current user in app generators. (#20240)
Signed-off-by: -LAN- <laipz8200@outlook.com>
2025-05-27 10:56:23 +08:00
-LAN- 3196dc2d61
refactor: Use typed SQLAlchemy base model and fix type errors (#19980)
Signed-off-by: -LAN- <laipz8200@outlook.com>
2025-05-21 15:38:03 +08:00
crazywoola d35d854259
Revert "fix: fix duplicate app lose custom image" (#19995) 2025-05-20 18:42:59 +08:00
CorrectRoad 618981f1ae
fix: fix duplicate app lose custom image (#19775) 2025-05-20 16:44:51 +08:00
NFish d186daa131
E-300 (#19726)
Signed-off-by: -LAN- <laipz8200@outlook.com>
Co-authored-by: Hash Brown <hi@xzd.me>
Co-authored-by: crazywoola <427733928@qq.com>
Co-authored-by: GareArc <chen4851@purdue.edu>
Co-authored-by: Byron.wang <byron@dify.ai>
Co-authored-by: Joel <iamjoel007@gmail.com>
Co-authored-by: -LAN- <laipz8200@outlook.com>
Co-authored-by: Garfield Dai <dai.hai@foxmail.com>
Co-authored-by: KVOJJJin <jzongcode@gmail.com>
Co-authored-by: Alexi.F <654973939@qq.com>
Co-authored-by: Xiyuan Chen <52963600+GareArc@users.noreply.github.com>
Co-authored-by: kautsar_masuara <61046989+izon-masuara@users.noreply.github.com>
Co-authored-by: achmad-kautsar <achmad.kautsar@insignia.co.id>
Co-authored-by: Xin Zhang <sjhpzx@gmail.com>
Co-authored-by: kelvintsim <83445753+kelvintsim@users.noreply.github.com>
Co-authored-by: zxhlyh <jasonapring2015@outlook.com>
Co-authored-by: Zixuan Cheng <61724187+Theysua@users.noreply.github.com>
2025-05-20 12:07:50 +08:00
-LAN- e0e8cd6ca3
feat(DraftWorkflowApi): Requires environment_variables in DraftWorkflowApi (#19849)
Signed-off-by: -LAN- <laipz8200@outlook.com>
2025-05-17 13:45:00 +08:00
-LAN- 4977bb21ec
feat(workflow): domain model for workflow node execution (#19430)
Signed-off-by: -LAN- <laipz8200@outlook.com>
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
2025-05-17 00:56:16 +08:00
GuanMu 17b929124f
refactor: simplify success response in dataset API endpoints by returning status code 204 directly (#19685) 2025-05-14 18:44:35 +08:00
lexmin0412 ff20b56074
Add `/site` API (#19631) 2025-05-14 10:43:36 +08:00
Xiyuan Chen 934f724130
fix: invitations get suspended when an existing member appears (#19584) 2025-05-13 13:53:52 +08:00
Ganondorf c76d763639
add endpoint of get feedbacks (#18697)
Co-authored-by: lizb <lizb@sugon.com>
2025-05-13 10:35:14 +08:00
非法操作 085bd1aa93
chore: model.query change to db.session.query (#19551)
Co-authored-by: QuantumGhost <obelisk.reg+git@gmail.com>
2025-05-13 09:13:12 +08:00
非法操作 14cd71ed0a
chore: all model.query replace to db.session.query (#19521) 2025-05-12 15:19:41 +08:00
非法操作 b00f94df64
fix: replace all dataset.Model.query to db.session.query(Model) (#19509) 2025-05-12 13:52:33 +08:00
Will bfa652f2d0
fix: metadata filtering condition variable unassigned; fix External K… (#19208) 2025-05-07 14:52:09 +08:00
Good Wood 0b44791eae
feat: add mode for /info api (#19264) 2025-05-06 13:24:53 +08:00
Bowen Liang 8537abfff8
chore: avoid repeated type ignore noqa by adding flask_restful and flask_login in mypy import exclusions (#19224) 2025-05-06 11:58:49 +08:00
Yeuoly 8ac3a223a8
fix(api): add missing INNER_API_KEY to InnerAPIConfig (#19166) 2025-05-06 10:02:14 +08:00
Bowen Liang 22f5af9987
fix: support non-ascii charactors in filename of the tool files (#19228) 2025-05-06 09:18:11 +08:00
QuantumGhost 349c3cf7b8
feat(api): Add image multimodal support for LLMNode (#17372)
Enhance `LLMNode` with multimodal capability, introducing support for
image outputs.

This implementation extracts base64-encoded images from LLM responses,
saves them to the storage service, and records the file metadata in the
`ToolFile` table. In conversations, these images are rendered as
markdown-based inline images.
Additionally, the images are included in the LLMNode's output as
file variables, enabling subsequent nodes in the workflow to utilize them.

To integrate file outputs into workflows, adjustments to the frontend code
are necessary.

For multimodal output functionality, updates to related model configurations
are required. Currently, this capability has been applied exclusively to
Google's Gemini models.

Close #15814.

Signed-off-by: -LAN- <laipz8200@outlook.com>
Co-authored-by: -LAN- <laipz8200@outlook.com>
2025-04-30 17:28:02 +08:00
sondin d70fa2847b
add Accept-Ranges header for audio/video files (#19119) 2025-04-30 10:51:27 +08:00
xiaotian 23f6914b9b
fix: image preview triggers binary download (#19070) 2025-04-29 15:38:33 +08:00
小马哥 e5bdc1438a
fix: annotation update need use http put method and annotation-reply api doc parms wrong (#18891) 2025-04-27 16:13:36 +08:00
Yeuoly abafa68647
refactor: rename plugin manager to plugin client and rename path from manager to impl (#18876) 2025-04-27 14:22:25 +08:00
devxing 136995d2a1
fix: change delete app status code from 204 to 200 (#18398)
Co-authored-by: devxing <devxing@gmail.com>
Co-authored-by: crazywoola <427733928@qq.com>
2025-04-27 12:12:46 +08:00
1betatsu 9a3ecc1ac8
fix: Allow advanced chat app to get workflow run detail (#18753) (#18758) 2025-04-25 16:48:38 +08:00
gsmini ec82534a1e
optimize account status field hard coded (#18771)
Co-authored-by: crazywoola <427733928@qq.com>
2025-04-25 16:47:03 +08:00
Alex Chim 12836f9db9
Resolves #18536 Retreive conversation variables (#18581) 2025-04-25 11:52:25 +08:00
王晓阳 0babdffe3e
feat: support vastbase vector database (#16308) 2025-04-24 18:04:57 +08:00
Will 205535c8e9
chore: fix reimported (#18610) 2025-04-23 16:48:00 +08:00
Yeuoly ba9357da96
fix: handle PluginPermissionDeniedError in EndpointCreateApi (#18597) 2025-04-23 15:29:58 +08:00
Dongyu Li 413271eaa6
feat[plugin]:The plugin upload file change to be stored as a toolfile… (#18277) 2025-04-22 13:05:42 +08:00