dify/api/core
Harry 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
..
agent feat(api): implement tool argument validation in Function Call strategy 2026-02-14 14:28:46 +08:00
app feat: enhance model event handling with new identity and metrics fields 2026-03-05 14:08:37 +08:00
app_assets feat: add DB inline content cache for app asset draft files 2026-03-10 17:12:14 +08:00
app_bundle feat(bundle): manifest-driven import with sandbox upload 2026-01-29 22:33:31 +08:00
base feat: knowledge pipeline (#25360) 2025-09-18 12:49:10 +08:00
callback_handler chore: improve type checking 2025-12-18 10:09:31 +08:00
datasource refactor: replace request.args.get with Pydantic BaseModel validation (#31104) 2026-01-27 10:48:42 +08:00
db fix(db): parameterize sessionmaker with Session (#30612) 2026-01-06 15:23:50 +08:00
entities feat: Human Input Node (#32060) 2026-02-09 14:57:23 +08:00
errors chore: add ast-grep rule to convert Optional[T] to T | None (#25560) 2025-09-15 13:06:33 +08:00
extension change all to httpx (#26119) 2025-10-10 23:41:16 +08:00
external_data_tool chore: add ast-grep rule to convert Optional[T] to T | None (#25560) 2025-09-15 13:06:33 +08:00
file Merge remote-tracking branch 'origin/main' into feat/support-agent-sandbox 2026-02-04 13:15:49 +08:00
helper feat: add Creators Platform helper for DSL upload and OAuth redirect (Vibe Kanban) (#32232) 2026-02-11 21:10:48 +08:00
llm_generator fix: update final turn reminder to specify output file location 2026-02-12 14:22:15 +08:00
logging feat(refactoring): Support Structured Logging (JSON) (#30170) 2026-01-04 11:46:46 +08:00
mcp chore(typing): reduce ty excludes for A1 (#31721) 2026-01-30 02:38:57 +08:00
memory feat: add context file support 2026-01-16 17:01:44 +08:00
model_runtime Merge remote-tracking branch 'origin/main' into feat/support-agent-sandbox 2026-02-04 13:15:49 +08:00
moderation fix(moderation): change OpenAI moderation model to omni-moderation-la… (#28119) 2025-11-13 15:21:44 +08:00
ops feat: Human Input Node (#32060) 2026-02-09 14:57:23 +08:00
plugin Merge remote-tracking branch 'origin/main' into feat/support-agent-sandbox 2026-02-13 15:17:52 +08:00
prompt feat: add stream response 2026-01-13 14:13:43 +08:00
rag feat(api): optimize OceanBase vector store performance and configurability (#32263) 2026-02-13 09:48:55 +08:00
repositories Merge remote-tracking branch 'origin/main' into feat/support-agent-sandbox 2026-02-09 17:00:56 +08:00
sandbox feat: add DB inline content cache for app asset draft files 2026-03-10 17:12:14 +08:00
schemas refactor(typing): Fixup typing A2 - workflow engine & nodes (#31723) 2026-01-31 18:00:56 +09:00
session feat(dify-cli): session level tool white list 2026-01-27 14:19:26 +08:00
skill refactor: redesign skill compilation and document assembly process 2026-03-10 17:12:14 +08:00
tools Merge remote-tracking branch 'origin/main' into feat/support-agent-sandbox 2026-02-10 18:12:41 +08:00
trigger fix(redis): Redis Cluster eval errors by adding hash tags to trigger debug keys (#31701) 2026-01-30 16:05:02 +08:00
variables Merge remote-tracking branch 'origin/main' into feat/support-agent-sandbox 2026-02-06 14:40:44 +08:00
virtual_environment feat: centralize command execution timeout constant for sandbox providers 2026-02-14 16:01:27 +08:00
workflow refactor: redesign skill compilation and document assembly process 2026-03-10 17:12:14 +08:00
zip_sandbox feat(sandbox): refactor sandbox file handling to include app_id 2026-01-30 22:45:28 +08:00
__init__.py Fix basedpyright type errors (#25435) 2025-09-10 01:54:26 +08:00
hosting_configuration.py feat: credit pool (#30720) 2026-01-08 13:17:30 +08:00
indexing_runner.py refactor: port api/controllers/console/datasets/datasets_document.py api/controllers/service_api/app/annotation.py api/core/app/app_config/easy_ui_based_app/agent/manager.py api/core/app/apps/pipeline/pipeline_generator.py api/core/workflow/nodes/knowledge_retrieval/knowledge_retrieval_node.py to match case (#31832) 2026-02-02 19:07:30 +09:00
model_manager.py Feat/support multimodal embedding (#29115) 2025-12-09 14:41:46 +08:00
provider_manager.py feat: credit pool (#30720) 2026-01-08 13:17:30 +08:00