feat(a2ui)!: migrate to A2UI v0.9.1 stable wire format - #817
Merged
Conversation
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
… API Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
…ath/value data model Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
…actions Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
… action context, envelope sniffers Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
… enums Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
…elope tool, ordering Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
…generated Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
…g props Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
…sarial input Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
|
The latest updates on your projects. Learn more about Vercel for GitHub.
|
This was referenced Aug 17, 2026
feat(a2ui): live sendDataModel round-trip + capabilities helper (Phase 4 of the v0.9 migration)
#820
Merged
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
Migrates every A2UI touchpoint from the legacy wire shape (
beginRendering/surfaceUpdate/dataModelUpdate, type-keyed component wrappers,literalStringwrappers,children.explicitList) — now classified upstream as the deprecated v0.8-legacy lineage — to the A2UI v0.9.1 stable release. Clean cutover, no legacy acceptance. Phase 1 of 4; design indocs/superpowers/specs/2026-08-17-a2ui-v09-stable-migration-design.md, plan indocs/superpowers/plans/2026-08-17-a2ui-v09-phase1-cutover.md.@threadplane/a2ui: v0.9 envelopes (createSurface/updateComponents/updateDataModel/deleteSurface, each withversion: "v0.9"), flat components, bare-literal +{path}+ typed{call}dynamic values, event/functionCall actions, checks types, client→agent action/error/capabilities messages,A2UI_MIME_TYPE/A2UI_BASIC_CATALOG_IDconstants. Parser skips unknown envelope keys (v1.0 forward-compat).deleteByPointerimplements the v0.9 array-delete rule. Types verified against the official machine-readable schemas (server_to_client.json,basic-catalog.json,common_types.json).@threadplane/chat: surface store re-gated on createSurface +rootcomponent (progressive rendering per spec) with incremental component merge and path/value/delete data-model semantics; surface-to-spec consumes flat components; partial-args bridge synthesizes a missingcreateSurface(replacing beginRendering synthesis); all 18 catalog components re-propped to spec enums;MultipleChoice→ChoicePicker(variant/displayStyle/filterable); action messages are v0.9-shaped with plain-object context; theme flows fromcreateSurface.theme.a2ui_v09.py), envelope tool/normalizer, and graph ordering (createSurface-first + synthesis); cockpit aviation graphs' structured-output specs + prompts;deployments/ag-ui-devcopy byte-identical.Follow-up phases (separate PRs): client-side functions, validation checks, sendDataModel round-trip.
Verification
libs/a2ui59 unit tests;libs/chat1126 unit tests; both libs build + lint clean; native-ESM import check of the builta2uidist passesnx affected -t lint test build: green except two pre-existing worktree-environment failures in untouched projects (cockpit-telemetry:lintposthog-js specifier vs local install;cockpit:buildTurbopack workspace-root inference) — zero diff vs main in both projects{"version":"v0.9","action":{"name":"send_contact_form","surfaceId":"contact-form-surface","sourceComponentId":"sendButton","timestamp":"…","context":{…},"label":"Send"}}(verified via thread state), with the agent responding to it.🤖 Generated with Claude Code