修正外部任务摘要状态读取边界

移除从轻量任务摘要读取主任务结果载荷的错误实现。

画布 Agent 继续轮询摘要状态,并通过画布完成回写刷新工程结果。
This commit is contained in:
2026-07-13 15:01:34 +08:00
parent 7f6d5722be
commit 4e0c0c8cd9
11 changed files with 9 additions and 92 deletions
@@ -77,7 +77,6 @@
- 工具消息不再保存独立 `status`。OSS 文档只保存可选 `externalJobId` 与确认前取消时间 `cancelledAt`:两者都为空表示待确认,只有 `cancelledAt` 表示已取消;存在 `externalJobId` 时,排队、执行、完成和失败状态统一读取 SpacetimeDB `external_generation_job`,不得在 OSS 中复制第二套执行状态。
- 确认接口必须先把工具参数转换为既有编辑器 worker payload,再使用 `editor-agent:{conversationId}:{messageId}:{toolName}` 稳定 dedupe key 入队;同一确认的请求重试只能得到同一个 external job。入队成功后把返回的 job id 写回同一条 OSS 工具消息,不新增 Agent 工具执行关联表。
- 前端根据 `externalJobId` 查询通用 external-generation job 状态;worker 继续通过 `canvasCompletion` 把生成结果写回工程与素材库。浏览器断线、刷新或 api-server 重启不得导致确认接口重新扣费或重新提交 provider。
- worker 成功时把既有编辑器生成回包写入该 job 的 `result_payload_json`;通用 job 状态接口只读返回其中的 `result` 投影,Agent 卡据此恢复图片、视频或音频预览。该投影属于 SpacetimeDB job,不回写 OSS 对话文档。
- `EditorAgentToolCall.args` 保留为工具返回的原始 JSON,是确认接口重新反序列化并执行工具的唯一参数真相。图片参数继续只保存由真实 data key 计算出的 opaque SHA-256 `imageId`;不得为了前端预览把 `args` 中的图片 ID 改写成 `objectKey`、URL 或展示对象,也不得由前端重组或回传一份新的执行参数。
- `EditorAgentToolCall.displayArgs` 是必填、只读的用户确认展示投影,与 `args` 分离:
- `stringArgs` 保存提示词、比例、清晰度、模型、时长等可展示参数的稳定名称、用户可见标题和值;