上传文件、头像或谱面。谱面上传成功后,服务端会失效相关缓存。type=chart-zip:服务端在内存中解包 zip,逐文件上传到 R2 包前缀 charts/{packageId}/... —— meta.json 始终上传;若存在 extra.json,其本体以及它引用的文件都会上传;zip 内其余资源全部保留(零丢失)。服务端不再保存/生成原始整包 zip,也不再写 file_url;资源清单写入 assets_manifest。成功响应为 { message, id, packageId, warning? }(zip 内缺 meta.json 时带 warning)。