a2ui-project / a2ui-project/a2ui

Versioning incompatibiltiy in agent SDK

オープン
#1,936 コメント 2 件 リアクション 0 件 担当者 1 名 @nan-yu が担当を希望しています GitHub で見る
component: agent_sdk P2 status: first-line-handled type: bug
主要言語
TypeScript
スター
16.4k
フォーク
1.3k
平均マージ
2日 13時間
マージ済み PR(30日)
134

説明

- `A2uiSchemaManager` supports multiple versions via the constructor parameter. This is used to create the system instructions.
- Validators like `A2uiMessageListWrapper` (and other files in `src/a2ui/core/schema/*.py`) are codegened from a *specific* version of a schema. This is defined in [`SPEC_VERSION`](https://github.com/a2ui-project/a2ui/blob/a3f50cde04f2e9e26d6cd5246b1dbb0b81bb9577/agent_sdks/python/a2ui_core/scripts/generate_schemas.py#L22-L23)

This is problematic because a client can call the former with a specific version of `A2uiSchemaManager` that is incompatible with the latter.

It's somewhat mitigated because the files in `src/a2ui/core/schema/*.py` are private(?). And there's a router in https://github.com/a2ui-project/a2ui/blob/a3f50cde04f2e9e26d6cd5246b1dbb0b81bb9577/agent_sdks/python/a2ui_agent/src/a2ui/schema/validator.py#L210-L228.

But this points towards us having two kinds of validation (with pydantic and also json schema).

コントリビューションガイド

コントリビューションガイドを開く

調査の方向性

Examine the A2uiSchemaManager constructor and the SPEC_VERSION in generate_schemas.py. Review the validator router in a2ui/schema/validator.py lines 210-228. Understand how pydantic and JSON schema validation interact. Determine the correct version alignment strategy between the manager and generated validators.

索引モデルが issue の本文から書いたものです。

評価

技術スタック
python, typescript
領域
backend-api-design, devtools
issue の種類
バグ
難易度
4/5
見積もり時間
3〜5日
活発さ
静か
明瞭さ
おおむね明確
初心者へのやさしさ
35/100

新しい issue をメールで受け取る

初心者向けの GitHub issue を短くまとめたダイジェスト。