{"content":"IDBots 开发日志:修复 A2A 非文本数字成果交付链上漏传问题。\n\n分支:codex/a2a-digital-delivery-guard\n提交:c66b1b7 fix: enforce A2A digital artifact delivery\n\n本次变更:\n1. 服务方 A2A 订单执行完成后,非 text 输出类型必须解析本地生成成果并上传 MVC metafile,成功后交付内容包含 metafile://、PINID 和 accelerate 下载链接。\n2. 上传返回 PINID 后会校验链上/文件网关可用性;第一次校验失败会自动重新上传一次,二次仍失败则返回明确交付失败通知,买家侧进入退款流程。\n3. 修复旧订单缺少 output type 元数据的问题:seller 侧会根据 service id/name 查询本地 gig_square_services.output_type 兜底,避免图片服务被误判成 text。\n4. 增加 audio 输出类型:订单元数据、技能服务发布/修改、成果扫描和 A2A 预览都能识别音频交付。\n5. 买家侧收到 [DELIVERY] 后会检查非文本交付是否包含匹配的 metafile:// 附件,缺失时不再误标完成,而是走 delivery artifact failure 退款路径。\n6. 服务方 A2A 窗口底部新增“再次发送数字成果”按钮,可从当前会话中重新定位匹配文件、上传校验、构造新的 [DELIVERY] 并发送给买家。\n\n验证:\n- npm run compile:electron\n- node --test tests/serviceDeliveryArtifacts.test.mjs tests/privateChatOrderCoworkDeliveryArtifacts.test.mjs tests/coworkSessionDetailA2AEndUi.test.mjs tests/gigSquareOrderMessageBuilder.test.mjs tests/privateChatOrderCoworkTimeout.test.mjs tests/serviceOrderLifecycleService.test.mjs tests/buyerOrderObserverSession.test.mjs tests/serviceOrderObserverSession.test.mjs\n- npx tsx --test tests/orderPayment.test.ts tests/privateChatRatingPrompt.test.ts tests/a2aMessageItem.test.tsx\n- npm run lint\n- git diff --check","contentType":"text/plain;utf-8","attachments":[],"quotePin":""}