Skip to content

fix(jsonrpc): align interrupt callback error contract#329

Merged
liujuanjuan1984 merged 3 commits intomainfrom
issue-301-eval-dev
Mar 27, 2026
Merged

fix(jsonrpc): align interrupt callback error contract#329
liujuanjuan1984 merged 3 commits intomainfrom
issue-301-eval-dev

Conversation

@liujuanjuan1984
Copy link
Copy Markdown
Collaborator

@liujuanjuan1984 liujuanjuan1984 commented Mar 27, 2026

变更概览

Interrupt Callback 契约

  • 为 interrupt callback 补齐稳定 business code:
    • INTERRUPT_REQUEST_EXPIRED -> -32007
    • INTERRUPT_TYPE_MISMATCH -> -32008
  • 将 interrupt type mismatch 从 invalid_params (-32602) 调整为稳定 business error
  • 统一 mismatch 错误字段为 expected_interrupt_type / actual_interrupt_type
  • 为 interrupt UPSTREAM_UNREACHABLE 场景补齐 detail 的 contract 声明,使 Agent Card error_data_fields 与运行时返回保持一致

Agent Card

  • 同步 interrupt extension 的 errors.business_codes
  • 同步 interrupt extension 的 errors.error_data_fields
  • 收紧 invalid_params_data_fields,移除不再使用的 expected / actual

测试

  • 补充 JSON-RPC error helper 对 interrupt mismatch 的断言
  • 更新 interrupt callback 运行时断言,覆盖 expired / mismatch 的稳定 business code
  • 更新 Agent Card 契约断言
  • 已通过 ./scripts/doctor.sh
    • 400 passed
    • coverage 91.87%

代码审查结论

  • 本 PR 的净改动合理,范围集中,和 codex-a2a-serve 的现有 interrupt callback 外部契约保持一致
  • 未发现阻断性问题
  • 当前 PR 已补齐 interrupt detail 字段声明,Agent Card contract 与运行时行为保持一致

Issue 关联

@liujuanjuan1984 liujuanjuan1984 changed the title refactor(jsonrpc): drop legacy uppercase upstream error tokens fix(jsonrpc): restore uppercase external error contract Mar 27, 2026
@liujuanjuan1984 liujuanjuan1984 changed the title fix(jsonrpc): restore uppercase external error contract fix(jsonrpc): align interrupt callback error contract Mar 27, 2026
@liujuanjuan1984 liujuanjuan1984 merged commit 295b0ec into main Mar 27, 2026
3 checks passed
@liujuanjuan1984 liujuanjuan1984 deleted the issue-301-eval-dev branch March 27, 2026 05:09
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.

[fix] 对齐 interrupt callback 外部错误契约 [chore] 跟踪 JSON-RPC 通用 upstream error type 的跨仓收敛遗留

1 participant