a2aproject / a2aproject/a2a-cli
feat: add support for SLIMRPC custom protocol binding
- Lenguaje dominante
- Go
- Estrellas
- 95
- Forks
- 4
- Merge medio
- 3 d 2 h
- PR fusionados (30 d)
- 24
Descripción
## Summary
Add support for the [SLIMRPC custom protocol binding](https://github.com/a2aproject/experimental-cpb-slimrpc) as an optional transport in the A2A CLI, selectable via `--transport slimrpc`.
## Background
SLIMRPC is Protobuf RPC over [SLIM](https://github.com/agntcy/slim) (Secure Low-Latency Interactive Messaging) — a transport layer designed for agentic workloads that provides:
- Peer-to-peer architecture with NAT/firewall traversal (no centralized broker)
- Hierarchical name-based addressing (`org/namespace/service`) instead of URLs
- End-to-end encryption via [MLS](https://www.rfc-editor.org/rfc/rfc9420)
- Native multicast and group communication
- Bidirectional low-latency messaging
The protocol binding identifier is `https://a2a-protocol.org/bindings/experimental-slimrpc/v1`. Reference Go implementation: [`github.com/agntcy/slim-a2a-go`](https://github.com/agntcy/slim-a2a-go).
## Proposed Changes
- Add `slimrpc` to the `--transport` flag (alongside `rest`, `jsonrpc`, `grpc`)
- Add SLIM-specific flags:
- `--slim-endpoint` — SLIM node endpoint (default `http://127.0.0.1:46357`)
- `--slim-local-name` — local SLIM identity (`org/namespace/app`, default `agntcy/a2a-cli/client`)
- `--slim-secret` — shared secret for app authentication (optional)
- CGO-gated implementation: the SLIM bindings require CGO (`github.com/agntcy/slim-bindings-go/v2`); a stub with a clear error message is compiled when `CGO_ENABLED=0`
- CI: run `slim-bindings-setup` to install the native library before build/test
## Usage
```
a2a send --transport slimrpc --endpoint agntcy/demo/echo_agent \
--slim-endpoint http://127.0.0.1:46357 \
--slim-secret my_secret \
"hello"
```
## References
- Spec: https://github.com/a2aproject/experimental-cpb-slimrpc
- Go library: https://github.com/agntcy/slim-a2a-go
- SLIM project: https://github.com/agntcy/slim
Guía de contribución
Evaluación
Este issue todavía no se ha evaluado.