Skip to content

CPP validation library#655

Open
wrenj wants to merge 6 commits intomainfrom
cppv
Open

CPP validation library#655
wrenj wants to merge 6 commits intomainfrom
cppv

Conversation

@wrenj
Copy link
Collaborator

@wrenj wrenj commented Feb 23, 2026

No description provided.

Copy link
Contributor

@gemini-code-assist gemini-code-assist bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Code Review

This pull request introduces a C++ validation library for A2UI JSON payloads, including comprehensive checks for schema adherence, component integrity, topology, and recursion limits. The implementation is well-structured with good separation of concerns and is accompanied by a thorough set of unit tests. My review focuses on improving code clarity, maintainability, and performance in the C++ implementation, as well as a minor correction in the documentation. The core logic is sound, and the suggestions aim to refine the implementation.

@wrenj wrenj enabled auto-merge (squash) February 27, 2026 18:34

const std::string COMPONENTS = "components";
const std::string ID = "id";
const std::string COMPONENT_PROPERTIES = "componentProperties";
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

While consolidating the validation logic into A2uiValidator, I noticed that the validation in #624 was actually based on an outdated spec. As seen in this commit, the schema has evolved, notably replacing componentProperties with component.

I've updated Python A2uiValidator to support both v0.8 and v0.9 specs. Would you mind updating the CPP version to align with the python validator: https://github.com/google/A2UI/blob/main/a2a_agents/python/a2ui_agent/src/a2ui/inference/schema/validator.py?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

Status: Todo

Development

Successfully merging this pull request may close these issues.

3 participants