AgoraIO-Extensions / AgoraIO-Extensions/agent-infra

feat(platform): deliver durable Agent task API and dispatch

Đang mở
#482 1 bình luận 0 reaction 1 người được giao Được @LichKing-2234 nhận Xem trên GitHub
needs-triage
Ngôn ngữ chính
TypeScript
Star
0
Fork
0
Merge trung bình
8 giờ 51 phút
Pull request đã merge (30 ngày)
99

Mô tả

本票由 [M1 交付汇合](https://github.com/AgoraIO-Extensions/agent-infra/issues/150) 已确认的新增范围建立,当前为 `needs-triage` 的实施契约候选,不进入既有冻结执行 snapshot。主责:LichKing-2234;执行方式、资源窗口与 Start/Target 尚未确定。开始实现前须完成候选权威文档的跨系统对齐、适用评审与合入,回读全部原生依赖,并在本票确认执行准入。文档票关闭不单独授予执行权限。

## Problem

现有 Web 消息投递不提供 API 持久后台任务的受理、等待、查询/订阅、取消与恢复闭环。本票复用原 Conversation/Execution/outbox/RuntimeHost,补齐用户和应用任务路径。

## Scope

- 实现任务提交、状态/已有输出/最终结果查询、SSE 订阅和取消;API task 直接对应原 Execution,默认新建本主体会话,显式续接须匹配主体、Agent 和渠道。复用管理 API 的身份/凭证及授权事实。
- 在 Platform DB 原子受理输入/模型选择引用、稳定幂等绑定、等待顺序/期限、任务、工作项及必要审计。先查询原幂等绑定;命中同请求只返回原 Conversation/Execution,未命中才进入新建会话与任务的事务;等待容量满在受理前拒绝,不产生孤立会话或任务。
- Dispatch 原子占用同会话执行位置与已验证 Agent 容量;启动/更新中允许有界等待,停止/停用/故障拒绝。等待任务不创建原生 Turn,顺序/期限在重启后保留;等待超时不得终结可能已投递但结果未知的操作。
- 取消、认领、投递、超时和撤权共用锁/条件更新边界;凭证失效终止其访问和流但不取消原任务,同主体新凭证可继续访问;主体或 Agent 使用权撤销取消等待/活跃任务并阻止后续受控操作。沿原操作、Session、fence 与 barrier 收敛,未确认停止不释放会话。
- 发布公共任务 HTTP/SSE 与 Platform 来源状态事件契约,复用现有 RuntimeHost 请求和恢复语义;若需最小公共接口增量,Schema/Client/Store/Worker/Host 消费方原子交付。本票不另建 Driver 队列,也不重复定义实际模型/工具事实 Schema。
- 保持 Web 补充指令/繁忙与重新生成语义,新 Turn 不越过已受理任务;实际模型/工具展示与遥测消费沿原时间线/遥测入口交接。自定义 Agent 只按验证能力开放任务,self-managed 管理 API 可用不表示兼容任务。
- 不新增资源池、优先级、cron、多 Agent 编排、调用方逐任务执行时限或新的消息基础设施;不运行联合 Connection Pilot。

## Acceptance criteria

- [ ] **AC-1:** 用户/应用可通过正式 API 提交任务并获得稳定 Execution,查询已有输出、终态和受控结果,SSE 断线重连可恢复,取消返回可解释状态;受理响应只在任务/工作项/必要审计可靠保存后返回。
- [ ] **AC-2:** 默认新会话与显式续接的幂等均稳定;跨主体/Agent/渠道续接、同键不同请求和并发重复提交被正确处理,不产生重复会话、任务或 Turn。
- [ ] **AC-3:** 同会话串行、跨会话经验证容量、有界等待、满容量拒绝、启动/更新等待和停止/停用/故障拒绝均可验证;重启保留顺序/期限,Web 补充指令保持且新 Turn 不插队。
- [ ] **AC-4:** 等待取消与投递竞态、运行取消与自然完成、旧 Worker 迟到调用、租约接管和恢复均沿原 Session/operation/fence 收敛;unknown 占住受影响会话,不换 ID/Session 盲重投或掩盖副作用。
- [ ] **AC-5:** 凭证到期/撤销只关闭其访问与流,已受理任务继续且同主体新凭证可访问;主体禁用/Agent 使用权撤销系统取消并阻止后续操作,Owner/责任人不能查看、订阅或取消他人任务。
- [ ] **AC-6:** 规范化状态、事件、游标与必要审计一致,重放不重复计数,查询失败不伪装空结果;普通/Eval 正文、附件、思考和凭证不进入遥测或审计。
- [ ] **AC-7:** 真实 API/Store/Worker/RuntimeHost 与至少一个已验证标准 Driver 完成完整任务闭环及故障矩阵;共享契约对四模板的适用性有 conformance 消费测试,模板核心/隔离及四模板整装仍按各原入口与汇合验收提供实证。

## Validation

- 对照 PRD §§7.3、10.4、13–14,工程 Spec §§11–12、16、18–19 及 Runtime HLD §§7–9/11。
- 真实 PostgreSQL/Worker/RuntimeHost 下执行重试、重启、SSE 慢消费/撤权、等待与取消竞态、投递前后崩溃、接受结果 unknown 和代次屏障;核对持久任务/事件/审计与实际原生执行,不能只看 HTTP 200 或口头停止。
- 用正式用户/应用凭证验证资源 ID 替换、Owner/责任人越权、流重连隔离、凭证失效与主体撤权差异;运行 Web 既有控制回归、契约兼容、完整仓库验证与当前提交双轴评审。

## Blocked by

- #481
- #479

## Authority

- 产品输入:[平台 PRD 候选](https://github.com/AgoraIO-Extensions/agent-infra/blob/2eb2762b889a27372c259039d27279cf646c5b1e/docs/prd/PRD-agent-platform-M1.md)。
- 工程输入:[工程 Spec 候选](https://github.com/AgoraIO-Extensions/agent-infra/blob/7f3b2083d44191ab4b280d7eb8222d7785937b8e/docs/architecture/SPEC-agent-infra-M1-engineering-architecture.md)、[Runtime HLD 候选](https://github.com/AgoraIO-Extensions/agent-infra/blob/5da6fff274ffc7a7ee36ae3ebd61d6100ccc9571/docs/architecture/HLD-agent-runtime-M1.md)。
- 上述固定版本用于评审和追溯;实施前消费合入后的权威版本,差额在本票复核,不能用历史候选覆盖新结论。

Hướng dẫn đóng góp

Chưa lập chỉ mục được hướng dẫn đóng góp cho kho mã nguồn này

Đánh giá

Issue này chưa được đánh giá.

Nhận issue mới trong hộp thư của bạn

Bản tóm tắt ngắn những issue GitHub phù hợp với người mới.