Skip to content

feat: add interrupt recovery queries#340

Merged
liujuanjuan1984 merged 1 commit intomainfrom
issue-335-interrupt-recovery
Mar 27, 2026
Merged

feat: add interrupt recovery queries#340
liujuanjuan1984 merged 1 commit intomainfrom
issue-335-interrupt-recovery

Conversation

@liujuanjuan1984
Copy link
Copy Markdown
Collaborator

关联

按模块说明

1. interrupt registry / persistence

  • 为 interrupt request binding 增加 details 持久化,覆盖 memory 与 database backend。
  • 新增按 identityinterrupt_type 过滤的 pending interrupt 查询能力,确保恢复查询与现有 callback 校验语义保持一致。
  • 在流式处理收到 permission.asked / question.asked 时,将 normalized details 一并写入本地 registry,保证恢复结果与实时流中的 interrupt metadata 结构一致。

2. JSON-RPC extension / routing

  • 新增 provider-private recovery methods:opencode.permissions.listopencode.questions.list
  • 新增只读 handler,并按当前认证 caller 的 user_identity 返回对应 pending items;当 identity 不可解析时返回空列表。
  • 将新方法接入 dispatch registry、request parsing 与应用层 method wiring。

3. Agent Card / OpenAPI / docs

  • 在 extension contracts、Agent Card、OpenAPI 中声明新的 interrupt recovery extension 与方法契约。
  • 在 guide 中补充恢复查询的使用说明,并明确它们是 provider-private recovery surface,不替代 shared a2a.interrupt.* callback。

4. tests

  • 补充 state store、upstream client、stream runtime、JSON-RPC、Agent Card、OpenAPI consistency 与持久化恢复相关测试。
  • 覆盖成功路径、identity 过滤、unsupported fields、notification 204 等场景。

验证

  • ./scripts/doctor.sh
    • ruff check
    • ruff format --check
    • mypy src tests
    • pytest --cov=src --cov-report=term-missing

说明

  • 本 PR 第一阶段按 issue 评估结果,优先基于本地 interrupt registry 提供恢复查询,而不是直接透传上游实例级全局 /permission / /question pending list。
  • 因此它关闭的是 #335,但仅与 #166 的身份/可见范围约束相关,不应关闭 #166

@liujuanjuan1984
Copy link
Copy Markdown
Collaborator Author

自审结论:

  • 本次改动与 [Priority: Med] [Feature] 增加 permission/question 待处理列表与断线恢复能力 #335 当前 issue body 一致,主路径已经完整覆盖 registry 持久化、JSON-RPC recovery methods、Agent Card / OpenAPI / docs 和回归测试。
  • Closes #335 准确;#166 仅提供身份可见范围约束背景,应保持为 related,不应关闭。
  • 当前未发现需要阻断合并的实现问题。
  • 剩余注意点:恢复查询的可见范围仍然取决于运行时如何解析 user_identity;如果部署侧把多个调用方映射到同一 identity,这些调用方仍会共享该 identity 视角下的 pending interrupts。这属于当前 single-tenant shared-workspace 模型的既有限制,不是本 PR 新引入的问题。

@liujuanjuan1984 liujuanjuan1984 changed the title add interrupt recovery queries feat: add interrupt recovery queries Mar 27, 2026
@liujuanjuan1984 liujuanjuan1984 merged commit fc5c23f into main Mar 27, 2026
3 checks passed
@liujuanjuan1984 liujuanjuan1984 deleted the issue-335-interrupt-recovery branch March 27, 2026 08:30
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.

[Priority: Med] [Feature] 增加 permission/question 待处理列表与断线恢复能力

1 participant