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-08 01:30:21 +08:00
2025-11-27 20:46:56 +08:00
2026-03-06 17:21:55 +08:00
2026-01-31 18:00:56 +09:00
2026-02-10 20:51:31 +08:00
2026-02-02 21:03:16 +09:00
2025-12-05 11:19:19 +08:00
2025-11-27 20:46:56 +08:00
2026-03-10 17:12:15 +08:00
2026-01-31 18:00:56 +09:00
2026-02-09 14:57:23 +08:00
2025-11-27 20:46:56 +08:00
2026-01-31 18:00:56 +09:00
2026-02-02 09:45:17 +08:00
2026-02-09 13:56:55 +08:00
2026-01-31 18:00:56 +09:00
2026-03-10 17:12:14 +08:00
2026-01-28 19:57:55 +08:00
2026-01-16 11:47:55 +08:00
2026-03-03 16:32:00 +08:00
2026-01-09 16:13:17 +08:00
2026-02-06 10:37:26 +08:00
2026-02-04 13:15:49 +08:00
2025-11-27 20:46:56 +08:00
2025-11-27 15:41:56 +08:00
2025-12-15 19:55:59 +08:00
2025-11-27 20:46:56 +08:00
2026-01-13 23:39:34 +09:00
2025-09-18 12:49:10 +08:00
2025-12-01 14:14:19 +08:00
2026-01-31 18:00:56 +09:00