Skip to content

Commit f86deda

Browse files
committed
feat: use ProtoJSON for JSON wire payloads
Signed-off-by: Luca Muscariello <muscariello@ieee.org>
1 parent 0a6b7f4 commit f86deda

File tree

15 files changed

+948
-129
lines changed

15 files changed

+948
-129
lines changed

Cargo.lock

Lines changed: 81 additions & 22 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

Cargo.toml

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -28,6 +28,8 @@ a2a-slimrpc = { package = "agntcy-a2a-slimrpc", path = "a2a-slimrpc", version =
2828
# Serialization
2929
serde = { version = "1", features = ["derive"] }
3030
serde_json = "1"
31+
pbjson = "0.7"
32+
pbjson-types = "0.7"
3133

3234
# Async runtime
3335
tokio = { version = "1", features = ["full"] }
@@ -48,6 +50,8 @@ tonic = "0.13"
4850
tonic-build = "0.13"
4951
prost = "0.13"
5052
prost-types = "0.13"
53+
pbjson-build = "0.7"
54+
protoc-bin-vendored = "3"
5155
slim_bindings = { package = "agntcy-slim-bindings", version = "1.3.0" }
5256

5357
# Utilities

README.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,7 @@ The workspace supports:
2626
| `a2a` | Core A2A types, errors, events, JSON-RPC types, and wire-compatible serde behavior |
2727
| `a2a-client` | Async A2A client with transport abstraction and protocol negotiation from agent cards |
2828
| `a2a-server` | Async server framework with REST and JSON-RPC bindings built on `axum` |
29-
| `a2a-pb` | Protobuf schema, generated types, and native <-> protobuf conversion helpers |
29+
| `a2a-pb` | Protobuf schema, generated types, ProtoJSON-capable generated types, and native <-> protobuf conversion helpers |
3030
| `a2a-grpc` | gRPC client and server bindings built on `tonic` |
3131
| `a2a-slimrpc` | SLIMRPC client and server bindings built on `slim_bindings` |
3232
| `examples/helloworld` | Minimal runnable example agent |

a2a-client/Cargo.toml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,7 @@ name = "a2a_client"
1313

1414
[dependencies]
1515
a2a = { workspace = true }
16+
a2a-pb = { workspace = true }
1617
serde = { workspace = true }
1718
serde_json = { workspace = true }
1819
tokio = { workspace = true }

0 commit comments

Comments
 (0)