65e89520c0
refactor: unify download item types and eliminate extension-based branching
...
Merge AssetDownloadItem, AssetInlineItem into SandboxDownloadItem with
optional 'content' field. All consumers now follow a clean pipeline:
get items → accessor.resolve_items() → AppAssetService.to_download_items() → download
Key changes:
- SandboxDownloadItem gains content: bytes | None (entities.py)
- ZipSandbox.download_items() handles both inline (base64 heredoc) and
remote (curl) via a single pipeline — no structural branching
- AssetDownloadService.build_download_script() takes unified list
- CachedContentAccessor.resolve_items() batch-enriches items from DB
(extension-agnostic, no 'if md' checks needed)
- AppAssetService.to_download_items() converts AssetItem → SandboxDownloadItem
- DraftAppAssetsInitializer, package_and_upload, export_bundle simplified
- file_upload/node.py switched to SandboxDownloadItem
- Deleted AssetDownloadItem and AssetInlineItem classes
2026-03-10 17:12:15 +08:00
6ac730ec2e
fix: ruff
2026-03-10 17:12:15 +08:00
a8074f4f4a
feat: add DB inline content cache for app asset draft files
...
Introduce app_asset_contents table as a read-through cache over S3 for
text-like asset files (e.g. .md skill documents). This eliminates N
individual S3 fetches during SkillBuilder builds — bulk_load pulls all
content in a single SQL query with S3 fallback on miss.
Key components:
- CachedContentAccessor: DB-first read / dual-write / S3 fallback
- AssetContentService: static DB operations (get, get_many, upsert, delete)
- should_mirror(): single source of truth for extension-based policy
- Alembic migration for app_asset_contents table
Modified callers:
- SkillBuilder uses accessor.bulk_load() instead of per-node S3 reads
- AppAssetService.get/update_file_content route through accessor
- delete_node cleans both DB cache and S3
- draft_app_assets_initializer uses should_mirror() instead of hardcoded .md
2026-03-10 17:12:14 +08:00
53f76a20c2
refactor: redesign skill compilation and document assembly process
2026-03-10 17:12:14 +08:00
322d3cd555
fix: nested spans and traces; ( #33049 )
...
Co-authored-by: aadereiko <aliaksandr@comet.com >
Co-authored-by: Boris Feld <boris@comet.com >
Co-authored-by: Claude Opus 4.6 <noreply@anthropic.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 >
2026-03-10 15:45:44 +08:00
1ecedab024
feat: enterprise plugin pre uninstall ( #33158 )
...
Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>
2026-03-10 15:03:37 +08:00
a0ed350871
test: unit test for core.rag module ( #32630 )
2026-03-10 14:10:24 +08:00
a808389122
test: add new unit tests for message service utilities, get message, feedback, and retention services. ( #33169 )
2026-03-10 13:55:18 +08:00
3835cfe87e
fix: use correct plugin_id for WaterCrawl datasource ( #33182 )
...
Co-authored-by: bgondell <bruno.gondell@gmail.com0 >
Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com >
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 >
2026-03-10 13:32:40 +08:00
eaf86c521f
feat: Improve SQL Comment Context for Celery Worker Queries ( #33058 )
2026-03-10 12:37:26 +08:00
01991f3536
test: unit test cases for console.explore and tag module ( #32186 )
2026-03-10 11:25:00 +08:00
4f835107b2
test: add UTs for api core.trigger ( #32587 )
2026-03-10 10:18:32 +08:00
b9d05d3456
refactor: tool node decouple db ( #33166 )
...
Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>
2026-03-10 01:47:15 +08:00
a480e9beb1
test: unit test case for controllers.console.app module ( #32247 )
2026-03-10 00:54:47 +08:00
497feac48e
test: unit test case for controllers.console.workspace module ( #32181 )
2026-03-09 17:07:40 +08:00
8906ab8e52
test: unit test cases for console.datasets module ( #32179 )
...
Co-authored-by: akashseth-ifp <akash.seth@infocusp.com >
2026-03-09 17:07:13 +08:00
bbfa28e8a7
refactor: file saver decouple db engine and ssrf proxy ( #33076 )
...
Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>
2026-03-09 16:09:44 +08:00
6c19e75969
test: improve unit tests for controllers.web ( #32150 )
...
Co-authored-by: Rajat Agarwal <rajat.agarwal@infocusp.com >
2026-03-09 15:58:34 +08:00
9970f4449a
refactor: reuse redis connection instead of create new one ( #32678 )
...
Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>
2026-03-09 15:53:21 +08:00
0aef09d630
feat: support relative mode for message clean command ( #32834 )
2026-03-09 14:32:35 +08:00
d2208ad43e
fix: fix allow handle value is none ( #33031 )
2026-03-09 14:20:44 +08:00
66f9fde2fe
fix: fix metadata filter condition not extract from {{}} ( #33141 )
...
Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>
2026-03-09 11:51:08 +08:00
322cd37de1
fix: handle backslash path separators in DOCX ZIP entries exported on…( #33129 ) ( #33131 )
...
Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>
2026-03-09 10:49:42 +08:00
2cc0de9c1b
test: unit test case for controllers.common module ( #32056 )
2026-03-09 09:45:42 +08:00
46098b2be6
refactor: use thread.Timer instead of time.sleep ( #33121 )
2026-03-09 09:38:16 +08:00
dc2a53d834
feat: add files to message end pr32019 ( #32242 )
...
Co-authored-by: fatelei <fatelei@gmail.com >
Co-authored-by: angel.k <angel.kolev@solaredge.com >
Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com >
2026-03-07 20:01:12 +08:00
05ab107e73
feat: add export app messages ( #32990 )
2026-03-07 11:27:15 +08:00
d01acfc490
fix(api): fix the issue that workflow_runs.started_at is overwritten while resuming ( #32851 )
...
Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>
2026-03-06 15:41:30 +08:00
e74cda6535
feat(tasks): isolate summary generation to dedicated dataset_summary queue ( #32972 )
2026-03-06 14:35:28 +08:00
7ffa6c1849
fix: conversation var unexpected reset after HITL node ( #32936 )
2026-03-06 09:57:09 +08:00
ad81513b6a
fix: show citations in advanced chat apps ( #32985 )
...
Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>
2026-03-06 09:56:14 +08:00
f76de73be4
test: migrate dataset permission service SQL tests to testcontainers ( #32546 )
...
Co-authored-by: KinomotoMio <200703522+KinomotoMio@users.noreply.github.com >
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com >
2026-03-06 07:21:25 +09:00
187faed1c0
test: migrate test_dataset_service_delete_dataset SQL tests to testcontainers ( #32543 )
...
Co-authored-by: KinomotoMio <200703522+KinomotoMio@users.noreply.github.com >
2026-03-06 06:06:14 +09:00
7432b58f82
refactor(dify_graph): introduce run_context and delegate child engine creation ( #32964 )
2026-03-05 14:31:28 +08:00
2b5ce196ad
test: migrate test_document_service_rename_document SQL tests to testcontainers ( #32542 )
...
Co-authored-by: KinomotoMio <200703522+KinomotoMio@users.noreply.github.com >
2026-03-05 10:07:29 +09:00
df3c66a8ac
test: migrate duplicate_document_indexing_task SQL tests to testcontainers ( #32540 )
...
Co-authored-by: KinomotoMio <200703522+KinomotoMio@users.noreply.github.com >
2026-03-05 02:35:24 +09:00
882b4c9ef6
refactor: document extract node decouple ssrf_proxy ( #32949 )
2026-03-04 16:01:43 +08:00
3aed24c507
fix(api): decouple enterprise default-workspace join from personal workspace creation ( #32938 )
2026-03-04 14:16:23 +08:00
e1e1f81bde
perf(api): utilize the message_workflow_run_id_idx while querying messages ( #32944 )
...
Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>
2026-03-04 14:11:14 +08:00
2f4c740d46
feat: support redis xstream ( #32586 )
2026-03-04 13:18:55 +08:00
e14b09d4db
refactor: human input node decouple db ( #32900 )
2026-03-04 13:18:32 +08:00
6002fd09b4
test: migrate test_dataset_service_create_dataset SQL tests to testcontainers ( #32538 )
...
Co-authored-by: KinomotoMio <200703522+KinomotoMio@users.noreply.github.com >
2026-03-04 03:40:18 +09:00
65bf632ec0
test: migrate test_dataset_service_batch_update_document_status SQL tests to testcontainers ( #32537 )
...
Co-authored-by: KinomotoMio <200703522+KinomotoMio@users.noreply.github.com >
Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>
2026-03-03 20:29:58 +09:00
c8688ec371
refactor(dify_graph): unify invoke and user enums source in workflow ( #32873 )
2026-03-03 15:05:20 +08:00
1b2234a19f
refactor: TemplateTransformNode decouple code executor ( #32879 )
2026-03-03 13:36:17 +08:00
4fd6b52808
refactor(api): move model_runtime into dify_graph ( #32858 )
2026-03-02 20:15:32 +08:00
c917838f9c
refactor: move workflow package to dify_graph ( #32844 )
2026-03-02 18:42:30 +08:00
707bf20c29
refactor: knowledge index node decouples business logic ( #32274 )
2026-03-02 17:54:33 +08:00
9ddbc1c0fb
fix: map all NodeType values to span kinds in Arize Phoenix tracing ( #32059 )
...
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-03-02 14:54:26 +08:00
cc127f5b62
fix: fix chat assistant response mode blocking is not work ( #32394 )
...
Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>
2026-03-02 14:05:04 +08:00