feat: Add React Renderer for A2UI Protocol#358
Open
mschienbein wants to merge 3 commits intogoogle:mainfrom
Open
feat: Add React Renderer for A2UI Protocol#358mschienbein wants to merge 3 commits intogoogle:mainfrom
mschienbein wants to merge 3 commits intogoogle:mainfrom
Conversation
Complete React implementation of the A2UI specification with: ## Core Features - Full A2UI protocol message processing (beginRendering, surfaceUpdate, dataModelUpdate, deleteSurface) - SSE transport with JSONL parsing and automatic reconnection - JSON Pointer (RFC 6901) data binding resolution - Multi-surface rendering with independent state management - Message buffering for out-of-order delivery ## Components (Standard Catalog v0.8) - Layout: Row, Column, Card, Tabs, Modal, Divider - Content: Text (with markdown), Image, Icon, Video, AudioPlayer - Interactive: Button, TextField, CheckBox, ChoicePicker, DateTimeInput, Slider, List ## Architecture - MessageProcessor: Central state machine for protocol handling - CatalogRegistry: Version-aware component registration (v0.8, v0.9) - A2UISurface: Renders adjacency-list format to React tree - A2UIRoot: Spec-based static rendering for simpler use cases ## Spec Compliance - UserAction format matches client_to_server.json schema - Flat structure with sourceComponentId and ISO 8601 timestamp - ClientToServerMessage wrapper for wire format ## Sample App - Interactive demo showcasing all components - Protocol demo with streaming simulation - Japanese vocabulary flashcard example - Light/dark theme support
5533c99 to
ec45961
Compare
Document setup instructions and demo modes for the React sample application.
The relative path was wrong (../../ instead of ../../../), causing npm to create a broken symlink that couldn't resolve the @a2ui/react package.
|
Hi @mschienbein,, |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Complete React implementation of the A2UI specification, providing a production-ready renderer for React applications.
Core Features
beginRendering,surfaceUpdate,dataModelUpdate,deleteSurfaceComponents (Standard Catalog v0.8)
Architecture
Spec Compliance
UserActionformat matchesclient_to_server.jsonschema exactlysourceComponentIdand ISO 8601timestampClientToServerMessagewrapper for wire formatQuick Start
The demo runs at
http://localhost:5173/with two modes:Test Plan
npm testin renderers/react)Related
Implements React renderer as discussed in A2UI specification roadmap.