a2ui-project / a2ui-project/a2ui

Migrate genui (Flutter SDK) to A2UI protocol v1.0

Open
#1,959 2 comments 0 reactions 0 assignees View on GitHub
P2 status: first-line-handled
Dominant language
TypeScript
Stars
16.4k
Forks
1.3k
Avg merge
2d 13h
Merged PRs (30d)
134

Description

## Description

The Flutter GenUI SDK (flutter/genui) currently implements A2UI protocol v0.9/v0.9.1. The v1.0 specification is now published ([evolution guide](https://a2ui.org/specification/v1.0-evolution-guide/), [v1.0 spec + schemas](https://github.com/a2ui-project/a2ui/tree/main/specification/v1_0)), and the SDK should be migrated to it.

Scope (per the evolution guide):

- `version: "v1.0"` envelopes and capabilities/data-model namespaces
- `createSurface`: `theme` → `surfaceProperties`, inline `components`/`dataModel`
- Bidirectional RPC: `callFunction`/`functionResponse` with `callableFrom` runtime boundary checks (`INVALID_FUNCTION_CALL`), and `actionResponse` correlated by `actionId`/`wantResponse`
- Explicit-null deletion in `updateDataModel` (also resolves #1896)
- Catalog changes: `functions` as a map with static `returnType`/`callableFrom`, `$defs/surfaceProperties`, optional `instructions`, UAX #31 entity naming
- Basic catalog: `TextField.placeholder`, `Slider.steps`, `Video.posterUrl`
- `@index` system function in template loops; `@` prefix reserved
- A2A extension URI `a2ui/v1.0` and `application/a2ui+json` MIME type

## Implementation

PR: flutter/genui#996

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.