Harry
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
..
2026-02-04 21:43:53 +08:00
2026-02-11 12:44:05 +08:00
2026-03-10 17:12:15 +08:00
2025-12-24 11:21:51 +08:00
2026-01-16 17:01:44 +08:00
2026-01-04 11:46:46 +08:00
2026-02-05 00:11:39 +08:00
2026-01-04 11:46:46 +08:00
2025-11-20 11:18:16 +08:00
2026-01-30 16:54:56 +08:00
2025-11-30 12:43:58 +08:00
2025-12-23 19:00:17 +08:00
2026-02-09 14:57:23 +08:00
2025-08-22 16:42:15 +08:00
2026-02-09 13:56:55 +08:00
2026-02-09 14:57:23 +08:00
2026-03-10 17:12:15 +08:00
2026-02-11 15:53:51 +08:00
2026-03-10 17:12:14 +08:00
2026-02-10 16:51:12 +08:00
2026-01-13 23:39:34 +09:00
2026-02-09 16:38:05 +08:00
2026-02-09 17:00:56 +08:00
2024-04-08 18:51:46 +08:00
2024-12-20 14:12:50 +08:00
2025-10-13 10:29:37 +08:00
2026-01-03 02:35:17 +09:00
2025-11-24 10:50:20 +08:00
2025-11-12 17:59:37 +08:00