@adia-ai/a2ui 0.8.40 → 0.8.41
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +11 -0
- package/README.md +2 -2
- package/catalog/catalog-a2ui_0_9.json +1444 -463
- package/catalog/catalog-a2ui_0_9_rules.txt +40 -29
- package/catalog/common_types.json +1 -0
- package/catalog/tier-index.json +274 -71
- package/catalog/tiers/README.md +19 -1
- package/catalog/tiers/l1-widgets.json +6 -6
- package/package.json +1 -1
- package/registry.js +6 -0
- package/renderer.d.ts +77 -0
- package/renderer.js +420 -11
- package/stream.js +11 -3
- package/wiring-engine.d.ts +7 -0
- package/wiring-engine.js +15 -0
package/CHANGELOG.md
CHANGED
|
@@ -4,6 +4,17 @@
|
|
|
4
4
|
> 0.8.37 (the estate-split cut) were released under the old name and are kept
|
|
5
5
|
> verbatim.
|
|
6
6
|
|
|
7
|
+
## [0.8.41] — 2026-08-17
|
|
8
|
+
|
|
9
|
+
### Added
|
|
10
|
+
- **Surface lifecycle — pending/stale/healing (gh#1364; `spec-a2ui-surface-lifecycle.md`, ADR-0061).** `A2UIRenderer` gains regeneration brackets: `beginSurfaceUpdate(surfaceId, {generationId, reason, mode})` → `applyTo(surfaceId, messages)` (buffers while pending) → `commitSurfaceUpdate(surfaceId, generationId)` (applies the buffered bracket atomically; `async` so buffered `wireComponents` docking settles before the replace-mode sweep) / `abortSurfaceUpdate(surfaceId, generationId, error)` (stale content stays visible). Read side: `getLifecycle()`, `isPending()`, `pendingSurfaces`; state machine `empty → pending-first → live → pending-stale → error-empty/error-stale` with superseded generationIds ignored, not errored (REQ-008). `WiringEngine.undockIds()` lets the replace-mode commit sweep unwire swept component ids without tearing down the surface (REQ-004, follow-up gh#1433). `renderer.js`/`renderer.d.ts`, `wiring-engine.js`, `lifecycle.test.js`.
|
|
11
|
+
- **v1.0-Candidate catch-up P0 (gh#1350).** `mcpStream` accepts the Candidate MIME `application/a2ui+json` (REQ-001; the pre-Candidate `application/json+a2ui` form is still read for the transition — `stream.js`); a duplicate `createSurface` for a live surfaceId is a HARD error with an `a2ui-duplicate-surface-id` diagnostic (REQ-002, promoted from silent last-write-wins); catalog metadata fields land in `catalog/catalog-a2ui_0_9.json`.
|
|
12
|
+
- **Catalog adopts v1.0 composition constraints, ARIA live regions, and dynamic `hidden` (gh#1353, REQ-011/013/017).** Accessibility props are validated (`accessibility-props.test.js`); composition constraints ship in the catalog contract.
|
|
13
|
+
|
|
14
|
+
### Changed
|
|
15
|
+
- **BREAKING for raw A2UI documents only — catalog identities `AdminShell` / `UIChatThread` (gh#1427).** `admin-shell`'s catalog `component:` is now `AdminShell` (was colliding with `embed-shell`'s `AppShell`), and the `chat-thread-ui` primitive's is `UIChatThread` (was colliding with the chat module's `ChatThread`). `registry.js` maps `UIChatThread` → `chat-thread-ui`; HTML tags are unaffected. See the migration guide's [§ Shipped in `0.8.41` — A2UI catalog `component:` collision](../../../.claude/docs/MIGRATION%20GUIDE.md).
|
|
16
|
+
- **Catalog regenerated for the 0.8.41 breaking wave** (`catalog/catalog-a2ui_0_9.json`, `catalog/catalog-a2ui_0_9_rules.txt`, `catalog/tier-index.json`, `catalog/tiers/l1-widgets.json`): `progress-ui[variant]` retirement, `input-ui[type]` enum trim, `segmented-ui[multiple]`, `calendar-picker-ui[precision]`, `action-item-ui` row contract, the gh#1335 attribute renames, ADR-0067 owned-`parts:` exclusion from fillable `slots:`, enum blocks + nullable schemas, and the deprecations (`ProgressRow`, `ToggleGroup`/`ToggleOption`, `DatetimePicker`) marked DEPRECATED with successor pointers in their catalog descriptions. The tier index's `composes` edges are now keyed by catalog TYPE names per R-C13 (gh#1478).
|
|
17
|
+
|
|
7
18
|
## [0.8.40] — 2026-08-15
|
|
8
19
|
|
|
9
20
|
### Maintenance
|
package/README.md
CHANGED
|
@@ -87,8 +87,8 @@ document listing every component, its props, and its taxonomy — enough to
|
|
|
87
87
|
emit valid A2UI with nothing else installed. `./catalog/tiers` is the derived
|
|
88
88
|
L0–L4 ladder index (L0 primitives · L1 widgets · L2 layouts · L3 shells ·
|
|
89
89
|
L4 flows), under one law: **every tier-N entry is a declared composition of
|
|
90
|
-
tier-(N−1) entries**. L0
|
|
91
|
-
while curation lands. `./catalog/common-types` and `./catalog/functions` are
|
|
90
|
+
tier-(N−1) entries**. L0 (every component) and L1 (curated widget
|
|
91
|
+
compositions) are populated today; L2–L4 are reserved while curation lands. `./catalog/common-types` and `./catalog/functions` are
|
|
92
92
|
the catalog's authoring sources. All of it is exported data — this package
|
|
93
93
|
stays dependency-free. The harvested chunk corpus that *derives* from the
|
|
94
94
|
catalog is generation fuel and lives in `@adia-ai/gen-ui`.
|