Skip to content

feat(amsg): task inputs, attachments and state sync queue (next) - #103

Merged
Tosd0 merged 15 commits into
mainfrom
codex/amsg2-audit-fixes
Oct 19, 2026
Merged

Tosd0 merged 15 commits into
mainfrom
codex/amsg2-audit-fixes

Conversation

@Tosd0

@Tosd0 Tosd0 commented Oct 19, 2026

Copy link
Copy Markdown
Owner

改了什么

给下一版(next 预发布)加任务输入、后台任务视图、附件和客户端同步队列,并修掉评审时发现的问题。server、client 各升一个 minor,进入 next 预发布模式,合并后的 Version Packages PR 会发 -next.0,不动 latest。

server

  • 排程支持 taskInput:和任务一起加密保存,子任务不继承父任务的输入,更新接口带这个字段会整笔拒绝,任务列表和详情里不出现它。
  • fire hook 新增按 key 读状态、listTasks 分页查看当前用户的任务、allowedToolNames 工具白名单。格式坏掉的工具调用会被修正,不会让整次触发失败。
  • 新增 storeAttachment 附件(只有 D1 支持;pg / neon 上报 ATTACHMENT_STORAGE_UNSUPPORTED)。附件默认保留 30 天,宿主配置的保留期优先。
  • 新增能力标记 task-input、client-state-key、agentic-list-tasks、agentic-tool-allowlist、attachments。

client

  • 新增 createLatestStateSync 同步队列:可持久化,冲突和拒绝交给宿主用 discard 处理,按条数和字节数分批。多条合批时每批约 1 MiB,免费计划的 Worker 也能在 CPU 限额内处理完;单条大值仍可单独发送。
  • 新增 getAttachment(ref)。

文档:契约并进各包 README。附件一节写明推送里要照样带要显示的文字,附件只放打开应用后才读的完整内容,保证应用被关掉时通知照常有内容。

验证

  • npm run ci:1,487 项全过。
  • 真浏览器 e2e,使用真实 Chrome、FCM、Cloudflare cron 和 D1:26 项里 25 项通过,1 项有条件通过。正式版主流程回归、taskInput、按 key 读状态、listTasks、工具白名单、附件、同步队列、新老版本混用都测过了。有条件通过的是大批量同步:默认 32 MiB 一批时,免费计划的 Worker 会超出 CPU 限额。这个 PR 把多条合批的默认值降到了 1 MiB;降低后的默认值没有在真实 Worker 上重测,只有单元测试覆盖。

@Tosd0
Tosd0 merged commit 2834adc into main Oct 19, 2026
1 check passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant