Skip to content

fix(client): skip unrecognised stream payloads, and sync the proto comments - #384

Draft
msardara wants to merge 3 commits into
mainfrom
a2a-1.1/1-baseline
Draft

msardara wants to merge 3 commits into
mainfrom
a2a-1.1/1-baseline

Conversation

@msardara

@msardara msardara commented Oct 27, 2026 •

Copy link
Copy Markdown
Contributor

Base of the A2A 1.1 stack; schema changes follow in #385.

Skip unrecognized stream payload kinds across all four client transports while preserving malformed-event errors where the binding can distinguish them. Sync upstream protobuf comments without wire changes.

Stream readers must ignore payload kinds they do not recognise so a
newer server can add kinds in a minor version without breaking older
clients. The JSON-RPC and REST SSE parsers and the gRPC and slimrpc
clients previously turned an unknown StreamResponse payload into an
error; they now skip it. Malformed JSON and transport errors are still
reported.

Re-vendor a2a.proto from the A2A main branch (v1.0.1 plus the tenant
documentation and gRPC URL example fixes).

Signed-off-by: Mauro Sardara <msardara@cisco.com>
@codecov

codecov Bot commented Oct 27, 2026

Copy link
Copy Markdown

Codecov Report

✅ All modified and coverable lines are covered by tests.

📢 Thoughts on this report? Let us know!

@msardara
msardara added this pull request to stack #389 October 27, 2026 10:32
A tail that is a JSON-RPC success whose result holds only an event kind this
client does not know is skipped on purpose, as the spec requires of stream
readers, so the tail oracle no longer treats it as silently dropped data.

Signed-off-by: Mauro Sardara <msardara@cisco.com>
Only a payload kind this client does not recognise is skipped. An event with
no payload at all (an empty JSON object) is malformed, so it is reported as
an error instead of being skipped with the unknown kinds. The fuzz oracle for
a skipped tail now requires a non-empty result.

Signed-off-by: Mauro Sardara <msardara@cisco.com>
@msardara msardara changed the title fix: skip unknown stream payloads and sync proto with A2A v1.0.1 fix(client): skip unrecognised stream payloads, and sync the proto comments Oct 27, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants