feat: 升级a2a协议版本到1.0 - #299
Conversation
022fbfe to
e7aba7b
Compare
AI Code Review我来检查一下 我来看一下 现在有一个微妙的问题:在 我现在掌握的信息足够了。我还要验证一下 还有一点: 现在我来定稿审查意见。我也要确认一下关于在 application 中 我再重新考虑一下针对 Struct 执行 现在我来撰写审查意见。 发现的问题
|
AI Code Review基于对完整 发现的问题
|
e7aba7b to
8b05c56
Compare
Codecov Report❌ Patch coverage is Additional details and impacted files@@ Coverage Diff @@
## main #299 +/- ##
==========================================
Coverage ? 88.70572%
==========================================
Files ? 495
Lines ? 47254
Branches ? 0
==========================================
Hits ? 41917
Misses ? 5337
Partials ? 0 ☔ View full report in Codecov by Harness. 🚀 New features to boost your workflow:
|
8b05c56 to
9db8d72
Compare
AI Code Review现在我来整理评审结论。 发现的问题
|
9db8d72 to
6518d67
Compare
AI Code Review
现在让我重新考虑一个真正的问题:在执行器的 现在我已经完成了全面评估。这次迁移看起来很稳健,测试覆盖率也很全面。让我确认一下是否还有遗漏的严重问题——特别是检查 再确认一下: 现在让我核实一下 我已经完成了审查。现在开始撰写评审意见。 发现的问题🚨 Critical未发现 Critical 级别问题。
|
6518d67 to
d074129
Compare
AI Code Review我已经完成了全面审查,让我来总结一下发现的问题。 发现的问题
|
d074129 to
fb15c45
Compare
AI Code Review在 但是生产环境中的执行器将 然而,这是一个与服务端发往客户端的 但是等等——这在 0.3 版本中可能已经是行为了(之前提交的状态事件包含了消息)。我无法轻易确认这是否是一个回归问题。鉴于测试 让我重新考虑实质性问题。我相当有信心的一个具体问题是: 让我重新考虑安全角度: 让我重新考虑 现在让我最后检查一件事 —— 关于 我认为迁移是扎实的,测试也做得很好。让我确定要报告的实际问题。 让我重新审视一个我想要确认的真正正确性问题:在 所以对于正常的(非错误)事件,它总是追加一个 我很有信心。让我写下最终审查报告。我有几个低严重性的发现;让我确保它们是真实且值得提及的。 真正的发现:
老实说,这些都不严重。让我重新考虑是否还有我遗漏的真正 Bug。 让我重新检查 我认为迁移实现得很好。让我写一份简洁的审查报告,重点关注可验证的发现。鉴于质量很高,我将报告少量的警告/建议。 让我再仔细检查一个潜在问题: 让我重新考虑 最终答案。我将保持简洁,并标记出真正的问题,且不夸大其词。基于我对 发现的问题
|
|
|
||
| - API:`http://127.0.0.1:18082` | ||
| - Agent Card:`http://127.0.0.1:18082/.well-known/agent.json` | ||
| - Agent Card:`http://127.0.0.1:18082/.well-known/agent-card.json` |
There was a problem hiding this comment.
新版本没兼容获取agent-card的方式吗?
旧版本服务端兼容了 agent.json,客户端没有。对齐了
这个文档本身写得有点问题
| service_name="weather_agent_cancel_service", | ||
| agent=root_agent, | ||
| # Public address advertised in the agent card; clients call this url. | ||
| rpc_url=f"http://{HOST}:{PORT}", |
There was a problem hiding this comment.
为啥要加这个字段呢,之前AgentCard好像是默认注入了服务端serving的IP:PORT
There was a problem hiding this comment.
为啥要加这个字段呢,之前AgentCard好像是默认注入了服务端serving的IP:PORT
之前的版本没有注入 url,暴露的AgentCard的url都是空的。这里加一个给用户设置的参数
| ) | ||
| _ensure_card_has_url(card) | ||
| routes: list[Any] = [] | ||
| routes.extend(create_agent_card_routes(card)) |
There was a problem hiding this comment.
这个routes需要给用户自己调吗?看起来这个接口有点高度封装了
There was a problem hiding this comment.
这个routes需要给用户自己调吗?看起来这个接口有点高度封装了
旧版本SDK内部有自动注册路由,用户默认不用配置。新版本SDK内部没有自动注册的逻辑,需要框架或者用户自己注册,这里做了一个封装让用户可以直接用。用户也可以不用框架提供的 create_a2_application接口,自定义即可
fb15c45 to
6e55319
Compare
AI Code Review目前没有针对 Struct-to-Struct 更新的测试。但我相当确信 protobuf 让我最后确定一下。这个 PR 很稳健。我将报告一个真正的 Warning 和一个 Suggestion。让我重新考虑一下 但是等等——这里其实有一个更隐蔽的问题。 我思考得够多了。这个 PR 很干净。让我写出评审意见,包含一个真正的 Warning(文档字符串不匹配 + 不必要的工作属于可维护性问题)。实际上,让我重新考虑一下是否存在关于 让我写下最终结论。鉴于该 PR 质量很高且测试覆盖率全面,且没有明确的严重/警告问题,我将如实报告。让我明确地重新验证一个潜在问题: 让我完成最终评审。我已完整审查了 发现的问题🚨 Critical未发现 Critical 问题。
|
6e55319 to
935ed8e
Compare
AI Code Review我已经对本次 PR 有了全面的理解。下面我来整理最终的审查结论。 发现的问题🚨 Critical
|
| pytest.param(TaskState.TASK_STATE_AUTH_REQUIRED, id="auth_required"), | ||
| ], | ||
| ) | ||
| async def test_non_working_intermediate_status_does_not_truncate_stream(interrupted_state): |
There was a problem hiding this comment.
contract test 构造 SendMessageRequest 缺少必填字段导致测试假通过
该 async 测试用例在 asyncio_mode=auto 下虽可被收集,但构造 SendMessageRequest(message=...) 未传 1.x 通常必填的 tenant 等字段。若 tenant 为 required,运行期会抛 ValidationError/ValueError 而非真正验证流不被截断,使契约测试给出假阳性结论。建议显式传 tenant="" 与生产代码保持一致。
935ed8e to
b7544d3
Compare
AI Code Review我已经有足够的信息来撰写审查意见了。让我整合一下发现的问题。 基于我对 diff(a2a SDK 0.3 → 1.0 协议升级)和仓库上下文的审查,我的发现如下: 发现的问题
|
b7544d3 to
ce74193
Compare
AI Code Review我已经掌握了所需的所有信息。现在让我来撰写评审意见。 发现的问题
|
ce74193 to
eb84ebf
Compare
AI Code Review发现的问题
|
No description provided.