a2aproject / a2aproject/a2a-rs
feature: add SLIMRPC, WebSocket, and stdio transport bindings
- 主要言語
- Rust
- スター
- 75
- フォーク
- 19
- 平均マージ
- 11時間 27分
- マージ済み PR(30日)
- 21
説明
Type: Feature
## Summary
Add first-class SLIMRPC, WebSocket, and stdio transport bindings across the A2A Rust workspace.
## Why
The workspace currently supports JSON-RPC over HTTP, REST / HTTP+JSON, gRPC, and SSE streaming. This feature tracks the next transport expansion across the existing transport seams: protocol constants in the core crate, client transport registration in the factory, transport-agnostic server wrappers around RequestHandler, and end-to-end transport coverage in the helloworld example.
## Tasks
- [ ] #13 task: add SLIMRPC transport binding
- [ ] #14 task: add WebSocket transport binding
- [ ] #15 task: add stdio transport binding
## Scope / plan
- [ ] Extend protocol inventory and negotiation surfaces for SLIMRPC, WebSocket, and stdio
- [ ] Add client transport implementations and registration paths for all three bindings
- [ ] Add corresponding server wrappers or runtime helpers where the binding is server-facing or subprocess-backed
- [ ] Define consistent ServiceParams propagation, streaming semantics, and A2AError mapping across the three bindings
- [ ] Extend end-to-end transport coverage and docs for each binding
## Acceptance criteria
- All three bindings have explicit protocol identifiers and documented negotiation behavior
- Client negotiation can select the new bindings alongside existing JSON-RPC, REST, and gRPC support
- Server-facing bindings bridge into RequestHandler without changing executor or task-store semantics
- End-to-end coverage demonstrates parity for key unary, streaming, and error paths
コントリビューションガイド
評価
この issue はまだ評価されていません。