a2aproject / a2aproject/a2a-rs
feature: add SLIMRPC, WebSocket, and stdio transport bindings
- Vorherrschende Sprache
- Rust
- Sterne
- 75
- Forks
- 19
- Ø Merge
- 11 Std. 27 Min.
- Gemergte PRs (30 T.)
- 21
Beschreibung
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
Beitragsleitfaden
Rechercherichtung
The issue references extending protocol constants in the core crate, client transport registration in the factory, and transport-agnostic server wrappers around RequestHandler. Start by examining the existing transport implementations (JSON-RPC, REST, gRPC, SSE) in the workspace to understand the seams. The helloworld example should be extended for end-to-end coverage. Look for protocol inventory and negotiation surfaces to update.
Vom Indexierungsmodell aus dem Issue-Text verfasst.
Bewertung
- Tech-Stack
- rust
- Bereich
- api, backend
- Issue-Typ
- Feature
- Schwierigkeit
- 5/5
- Geschätzter Aufwand
- Über eine Woche
- Aktivitätsstatus
- Veraltet
- Klarheit
- Größtenteils klar
- Anfängerfreundlichkeit
- 20/100