Skip to content

feat: add A2UI support with OpenUI Lang components - #854

Draft
vishxrad wants to merge 8 commits into
mainfrom
codex/a2ui-openui-lang
Draft

feat: add A2UI support with OpenUI Lang components#854
vishxrad wants to merge 8 commits into
mainfrom
codex/a2ui-openui-lang

Conversation

@vishxrad

@vishxrad vishxrad commented Jul 24, 2026

Copy link
Copy Markdown
Contributor

Summary

  • add the experimental @openuidev/a2ui package
  • preserve A2UI v1.0 lifecycle and message envelopes while representing createSurface.components and updateComponents.components as OpenUI Lang statement strings
  • provide a framework-neutral client for surface lifecycle, incremental component and data-model updates, actions, RPC, errors, capabilities, and renderer metadata
  • provide a React adapter that delegates rendering to @openuidev/react-lang
  • publish runtime schemas for both message directions, capabilities, and renderer data-model metadata

Scope

This PR now contains only the new package plus the required workspace lockfile and npm publish selector. The benchmark, example app, root documentation, and changes to lang-core, react-lang, and react-ui have been removed from this PR.

The package keeps statement-level patch handling self-contained so temporarily unreachable components survive until a later update attaches them to root. Hosts can map OpenUI actions to A2UI sourceComponentId values through mapAction; the fallback is root.

Why

We want A2UI to remain the lifecycle and transport protocol. The only wire-level component change is that component arrays contain OpenUI Lang instead of catalog JSON component objects, and the existing OpenUI parser and renderer remain the evaluation path.

Validation

  • 21 tests, including React rendering and incremental protocol behavior
  • TypeScript typecheck
  • package build
  • ESLint and Prettier checks
  • Publint
  • Are the Types Wrong package checks

@vishxrad vishxrad changed the title feat: add A2UI OpenUI Lang support feat: add A2UI support with OpenUI Lang components Jul 31, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant