a2aproject / a2aproject/a2a-js
[Bug]: Some optional properties are required
- 主要言語
- TypeScript
- スター
- 613
- フォーク
- 169
- 平均マージ
- 1日 6時間
- マージ済み PR(30日)
- 21
説明
### What happened?
The `filename` property of the `Part` interface is clearly documented as optional, yet it's a required property, which doesn't even accept `undefined`. Within the same interface, there's also `metadata`, which is again documented as optional, but it's in fact a required property (although in this case at least it does accept undefined). In fact, according to [the spec for Part,](https://a2a-protocol.org/v1.0.1/specification/#416-part) **ALL** properties should be optional.
There are many other similar cases, for example in the `Message` interface, where `contextId`, `taskId` and `metadata` are all documented as optional, yet required in code.
I'm aware the code is generated from the `a2a.proto` from the spec repo, but that's also the case for the Python SDK, for example, which doesn't have this issue.
On top of that, I don't understand the need to use `Part.content` as a wrapper over the actual content of the part. Why not use `Part.text` / `raw` / etc, as is done in the Python library?
EDIT:
There are also examples of the opposite kind of problem, having properties which should always be required as possibly undefined, like in the case of `TaskArtifactUpdateEvent.artifact`
### Relevant log output
```shell
```
### Code of Conduct
- [x] I agree to follow this project's Code of Conduct
コントリビューションガイド
評価
この issue はまだ評価されていません。