docs(ecosystem): add svelte-a2ui (Svelte 5 community renderer) - #2290
docs(ecosystem): add svelte-a2ui (Svelte 5 community renderer)#2290ChaliceForAuri wants to merge 3 commits into
Conversation
|
Thanks for your pull request! It looks like this may be your first contribution to a Google open source project. Before we can look at your pull request, you'll need to sign a Contributor License Agreement (CLA). View this failed invocation of the CLA check for more information. For the most up to date status, view the checks section at the bottom of the pull request. |
There was a problem hiding this comment.
Code Review
This pull request adds the ChaliceForAuri/a2ui-svelte (svelte-a2ui) Svelte 5 renderer to the community renderers table and includes a detailed description of its features and capabilities. The review feedback suggests improving the description's readability by fixing a sentence fragment, formatting {svgPath} as code, and clarifying that the client determines a function's execution boundary at runtime based on the active catalog definition.
|
@googlebot I signed it! |
Adds the Svelte 5 renderer (ChaliceForAuri/a2ui-svelte, npm svelte-a2ui) to the Community Renderers table and Highlights.
0c18905 to
f642333
Compare
| | **BoteAI/a2ui** (`@boteai/a2ui-render`) | React (Web) | ✅ | ✅ |   | [GitHub](https://github.com/BoteAI/a2ui) · [npm](https://www.npmjs.com/package/@boteai/a2ui-render) | | ||
| | **kokoro-ele/a2ui-ink** (`@evanyu/a2ui-ink`) | Terminal / CLI (Ink) | ❌ | ✅ |   | [GitHub](https://github.com/kokoro-ele/a2ui-ink) · [npm](https://www.npmjs.com/package/@evanyu/a2ui-ink) | | ||
| | **yessGlory17/generative-mui** (`@yessglory/generative-mui-react`) | React + Material UI (Web) | ❌ | ✅ |   | [GitHub](https://github.com/yessGlory17/generative-mui) · [npm](https://www.npmjs.com/package/@yessglory/generative-mui-react) | | ||
| | **ChaliceForAuri/a2ui-svelte** (`svelte-a2ui`) | Svelte 5 (Web) | ❌ | ✅ |   | [GitHub](https://github.com/ChaliceForAuri/a2ui-svelte) · [npm](https://www.npmjs.com/package/svelte-a2ui) · [Demo](https://chaliceforauri.github.io/a2ui-svelte/) | |
There was a problem hiding this comment.
I checked the demo - when i click 'Book table' nothing happens in UI.
Should new UI be rendered as result of interaction?
There was a problem hiding this comment.
Great catch, thank you — and no, that wasn't intended behaviour, it was a gap in the demo.
You're right that new UI should be the result: in A2UI an action is a request, not a form submission, and the agent answers with more UI. My mock agent simply had nothing scripted to say back, so the action left the renderer (visible in the wire feed on the right) and then… silence.
Fixed and deployed. Booking now gets a reply: updateDataModel writes the booking details, then updateComponents re-points root at a confirmation surface — which is a much better demonstration of the model than what was there before, since "navigating to a new screen" turns out to be just more data. There's a Book another table button that replays the original stream.
Live at demo — the wire feed shows the full round trip now: the action going up (179 bytes, hand-picked context only), then the agent's reply coming back down.
Thanks for actually clicking through it.
Adds svelte-a2ui — a Svelte 5 renderer — to the Community Renderers table, filling the roadmap's "Svelte/Kit — Community interest" slot.
What it is: a runes-native A2UI renderer targeting the v1.0 Candidate spec (property names shared with v0.9). Full Basic Catalog: all 18 components, the complete 59-name
Iconenum +{svgPath}, all 14 built-in functions,checksvalidation, collection templates. The test suite (83 protocol tests onnode --test, 19 browser tests on headless Chromium) includes a replay of the spec's owncontact_form_examplefixture.Architecture: pure-reducer protocol core with structural sharing, held in
$state.raw— unchanged components keep referential identity and skip re-rendering. The threat model assumes a hostile agent: catalog allowlist, unconditionalon*/function stripping, prototype-pollution refusal, escape-then-markup text rendering, bounded recursion,callableFromenforcement.Transports: HTTP JSONL/SSE, the A2A extension binding (
application/a2ui+jsonDataParts, metadata lifted to the A2A message per the extension spec), and AG-UI activities (includinga2ui-surfacefrom@ag-ui/a2ui-middleware).a2uiRendererCapabilitiesis advertised on every outbound message.Listing criteria:
🤖 Generated with Claude Code