a2ui-project / a2ui-project/a2ui

feat: Proposal for A2UI Markdown Profile & String Transport API

Offen
#2,173 8 Kommentare 0 Reaktionen 0 zugewiesene Personen Auf GitHub ansehen
P2
Vorherrschende Sprache
TypeScript
Sterne
16.4k
Forks
1.3k
Ø Merge
2 T. 13 Std.
Gemergte PRs (30 T.)
134

Beschreibung

### Problem Statement & Challenge

Standard A2UI uses structured wire protocol messages (`createSurface`, `updateComponents`, `updateDataModel`, `deleteSurface`) transmitted over stateful transports such as WebSockets or Server-Sent Events. In this standard model, renderers maintain long-lived surface registries, while agents manage surface identifiers and state transitions across conversation turns.

However, many application developers build conversational interfaces using standard text-based chat frameworks (such as the OpenAI API, Google Gemini API, Vercel AI SDK, or LangChain). These frameworks store and transmit messages strictly as plain text or Markdown strings. Forcing developers to adopt custom WebSocket frame schemas, out-of-band JSON streaming protocols, or persistent surface state managers introduces integration friction.

### Proposed Solution

Introduce the **A2UI Markdown Profile** ("String Transport") built on top of core A2UI abstractions:

1. **Message-Bound Surface Isolation**: Every embedded block (`` or ``) is an independent, self-contained UI surface created using v1.0 single-message UI instantiation (`createSurface` with full component tree and initial data model).
2. **Wire Transparency**: Messages are stored and transmitted as standard Markdown text strings without requiring custom transport frames or out-of-band JSON channels.
3. **Agent SDK Facade (`A2uiMarkdownProcessor`)**: Server-side facade providing prompt skill generation (`generate_skill()`), context formatting (`format_context()`), and output processing (`process_output()`) to validate and compile compact inference DSLs (Express) into canonical `` before database persistence.
4. **Framework Renderers (`A2uiMarkdownRenderer` / ``)**: High-level components/directives for React, Lit, and Angular that parse Markdown prose and render inline A2UI surfaces automatically.

See the detailed design specification in the comment below.

Beitragsleitfaden

Beitragsleitfaden öffnen

Bewertung

Dieses Issue wurde noch nicht bewertet.

Neue Issues direkt in Ihr Postfach

Eine kurze Übersicht über anfängerfreundliche GitHub-Issues.