Skip to content

[bug] a2a_call 工具失败返回应统一错误码而非裸露 str(exc) #288

@liujuanjuan1984

Description

@liujuanjuan1984

背景

PR #286OpencodeAgentExecutor._handle_a2a_call_tool 中捕获异常后直接返回 str(exc)
该路径会把底层异常文本直接透出给上层工具执行结果。

问题现象

a2a_call 失败场景(如鉴权错误、超时、解析失败)中,返回的 tool output error 内容可能包含过细的实现细节。

重现步骤

  1. 在上游工具触发 a2a_call 且目标 peer 返回异常(如 401、超时、协议解析错误)。
  2. 查看工具返回的 error 字段。

预期

  • a2a_call 的错误应返回可归类、可追踪但不泄露过细底层细节的稳定结构(例如统一错误码+可读短语)。
  • 兼容当前错误消费方对 error 字段存在性的判断。

实际

  • 直接返回 str(exc),字段内容与底层 SDK/网络实现耦合,缺少稳定结构。

验收标准

  • 引入统一错误映射(如鉴权、网络、超时、协议类区分)。
  • a2a_call 返回结果中错误消息稳定、可用于上游识别。
  • 补充最少一条失败分支测试(覆盖典型异常类型)。

相关提交与快照

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions