Conversation
There was a problem hiding this comment.
Code Review
This pull request updates the A2UI protocol to support mixable catalogs, allowing components to specify an optional catalogId to resolve name collisions. It makes catalogId optional in createSurface and removes the requirement for it in subsequent surface-related messages. Documentation in a2ui_protocol.md and evolution_guide.md has been updated to reflect these changes. The reviewer suggested further clarifying the component resolution algorithm and ensuring consistency in the documentation regarding runtime execution boundaries.
|
While you were out, I tried to get the less controversial subset of your changes submitted in #2079. I didn't add you as a reviewer because you were out and I know that you wanted to go in this direction. I think what I have is a bit more complete with tests etc, so I'd like to submit that if you're okay with it. Here is a quick summary of the similarities and differences from Gemini: What is common
How they differ
|
Summary of Changes
This pull request updates the A2UI protocol to support the simultaneous use of multiple catalogs within a single UI surface. By requiring an explicit
catalogIdon individual components and function calls, the change eliminates potential name collisions and removes the need for surface-level catalog definitions. These modifications improve the scalability of the protocol, allowing for more complex, multi-catalog UI implementations while maintaining strict component resolution.Highlights
catalogIdproperty for all components and function calls to ensure unambiguous resolution across mixed catalogs.catalogIdproperty from thecreateSurfacemessage, shifting the responsibility of catalog identification to individual components and function calls.rootOnlyboolean property to component definitions to restrict specific components to top-level placement.