-
Notifications
You must be signed in to change notification settings - Fork 0
feature: add SLIMRPC, WebSocket, and stdio transport bindings #12
Copy link
Copy link
Open
1 / 31 of 3 issues completedOpen
1 / 31 of 3 issues completed
Copy link
Labels
enhancementNew feature or requestNew feature or request
Description
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
- task: add SLIMRPC transport binding #13 task: add SLIMRPC transport binding
- task: add WebSocket transport binding #14 task: add WebSocket transport binding
- task: add stdio 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
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
enhancementNew feature or requestNew feature or request