Skip to content
Merged
Show file tree
Hide file tree
Changes from 37 commits
Commits
Show all changes
52 commits
Select commit Hold shift + click to select a range
216d8fd
feat(web_core): extract v0.9 updates and fix test script
gspencergoog Mar 3, 2026
ce9832e
Fix the lit sample by removing deleted restaurant workspace and updat…
gspencergoog Mar 3, 2026
f587f37
Merge branch 'main' into fix_lit_sample
gspencergoog Mar 3, 2026
2537764
Update samples/client/lit/shell/app.ts
gspencergoog Mar 4, 2026
a1926a7
Remove redundant "demo:all" script
gspencergoog Mar 4, 2026
ae9e200
Merge branch 'fix_lit_sample' into web_core_update
gspencergoog Mar 4, 2026
ef95d6b
Fix angular imports
gspencergoog Mar 4, 2026
be54d02
feat(web_core): Add comprehensive tests for v0.8 and v0.9
gspencergoog Mar 4, 2026
ebd0f76
feat(web_core): Add tests for ExpressionParser and v0.8 styles
gspencergoog Mar 4, 2026
55a7186
feat(web_core): Add tests for ComponentContext
gspencergoog Mar 4, 2026
825a186
Add comprehensive test coverage for web_core v0.9 components
gspencergoog Mar 4, 2026
b3860c2
docs(web_core): cleanup implementation comments and improve test cove…
gspencergoog Mar 4, 2026
ce70f3a
chore(web_core): add copyright headers to source files
gspencergoog Mar 4, 2026
7adce90
Revert package-lock.json change
gspencergoog Mar 4, 2026
2a5af20
Update renderers/web_core/src/v0_9/basic_catalog/functions/basic_func…
gspencergoog Mar 4, 2026
823a337
Clean up package locks
gspencergoog Mar 4, 2026
217ba4f
Revert lit changes
gspencergoog Mar 4, 2026
882bb95
Refactor ExpressionEvaluator to strict A2UI v0.9 compliance
gspencergoog Mar 4, 2026
ef93dca
Refactor ExpressionParser error handling to use Observables
gspencergoog Mar 4, 2026
08a13bc
Merge branch 'main' into web_core_update
gspencergoog Mar 4, 2026
e941a33
Fix CI build failure: expose data modules in web_core exports
gspencergoog Mar 4, 2026
c46fb2f
Merge branch 'main' into web_core_update
gspencergoog Mar 4, 2026
d1e007c
Fix lit build: add root export to web_core package.json
gspencergoog Mar 4, 2026
38bf018
Fix quotes, remove resolved fields from package-lock
gspencergoog Mar 4, 2026
cdb88bf
refactor(web_core): improve data context, stabilize parsing, and add …
gspencergoog Mar 4, 2026
bf893d5
feat(data-context): implement error context reporting
gspencergoog Mar 4, 2026
597c435
Update formatting
gspencergoog Mar 4, 2026
e6599e9
Merge branch 'main' into web_core_update
gspencergoog Mar 4, 2026
2debac6
refactor(web_core): remove unused getData and setData methods from Me…
gspencergoog Mar 4, 2026
d92878a
chore(renderer/web_core): restore schema copying build script
gspencergoog Mar 4, 2026
5b4ba0e
test(web_core): Implement v0.9 A2UI schema verification test
gspencergoog Mar 4, 2026
8c82d11
feat(web_core): implement v0.8 strict Zod validation
gspencergoog Mar 4, 2026
4457953
test(lit): Fix type errors in tests after v0.8 schema changes
gspencergoog Mar 4, 2026
a6dadc1
Remove unnecessary directory
gspencergoog Mar 4, 2026
f923ec6
Merge branch 'main' into web_core_update
gspencergoog Mar 4, 2026
8376cc3
feat(web_core): bundle v0.9 canonical schemas
gspencergoog Mar 4, 2026
9d6540b
Merge branch 'main' into web_core_update
gspencergoog Mar 4, 2026
5f78041
refactor(web_core): streamline expression parser and data context
gspencergoog Mar 5, 2026
d6941c4
Merge branch 'main' into web_core_update
gspencergoog Mar 5, 2026
c1ce45b
fix(web_core): enforce fail-fast error reporting for invalid protocol…
gspencergoog Mar 5, 2026
f3464e8
feat(web_core): refactor formatString to return an Observable string
gspencergoog Mar 5, 2026
2bc9c17
refactor(web_core): implement structured custom error classes
gspencergoog Mar 5, 2026
438454f
feat(web_core): add static 'code' properties to A2uiErrors
gspencergoog Mar 5, 2026
531a8c4
refactor(web_core): remove unused imports and variables
gspencergoog Mar 5, 2026
2437218
fix(ci): update model.test.ts to expect A2uiStateError
gspencergoog Mar 5, 2026
2a4c175
fix(tools): add explicit web_core dependency to editor and inspector
gspencergoog Mar 5, 2026
90d559b
Merge branch 'main' into web_core_update
gspencergoog Mar 5, 2026
989d3d1
test(web_core): Achieve ~100% test coverage for v0.8 core
gspencergoog Mar 5, 2026
f43334d
feat(validation): integrate Zod schema validation for A2UI messages
gspencergoog Mar 5, 2026
1ec6ed2
Attempt fix for npm problem
gspencergoog Mar 5, 2026
8e2b8f3
Sync lockfiles attempt number 2
gspencergoog Mar 5, 2026
ab7a315
Update lit package-lock.json
gspencergoog Mar 5, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
35 changes: 23 additions & 12 deletions .gemini/GEMINI.md
Original file line number Diff line number Diff line change
Expand Up @@ -7,48 +7,59 @@ This document serves as a guide for using the Gemini agent within the A2UI repos
The A2UI repository is organized into several key directories:

- `specification/`: Contains the A2UI protocol specifications.
- `0_8/`: The current protocol version.
- `v0_8/`: The stable protocol version.
- `docs/`: Human-readable documentation.
- `json/`: JSON schema definitions.
- `0_9/`: The next protocol version (in development).
- `eval/`: Genkit-based evaluation framework.
- `v0_9/`: The draft protocol version (in development).
- `docs/`: Human-readable documentation.
- `json/`: JSON schema definitions.
- `eval/`: Genkit-based evaluation framework.
- `v0_10/`: The proposed protocol version (next version).
- `docs/`: Human-readable documentation.
- `json/`: JSON schema definitions.
- `eval/`: Genkit-based evaluation framework.
- `samples/`: Contains sample implementations.
- `agent/adk/`: Python-based ADK agent samples (e.g., `contact_lookup`, `restaurant_finder`, `rizzcharts`, `orchestrator`).
- `agent/`:
- `adk/`: Python-based ADK agent samples (e.g., `contact_lookup`, `restaurant_finder`, `rizzcharts`, `orchestrator`).
- `mcp/`: MCP server sample (A2UI over MCP).
- `client/`: Web client implementations.
- `lit/`: Clients using Lit and Vite (e.g., `contact`, `shell`).
- `angular/`: Clients using Angular.
- `mcp/`: MCP server samples (e.g., `flight_booking`).
- `angular/`: Clients using Angular (e.g., `contact`, `orchestrator`).
- `personalized_learning/`: Personalized learning sample implementation.
- `agent_sdks/`: Contains source code for Agent integrations.
- `python/`: Python implementation of the A2UI agent library.
- `java/`: Java implementation of the A2UI agent library.
- `renderers/`: Contains renderer libraries.
- `lit/`: The shared Lit renderer library used by the Lit clients.
- `web_core/`: The shared core library used by Lit and Angular renderers.
- `angular/`: The shared Angular renderer library used by the Angular clients.
- `web_core/`: The shared core library used by web renderers.
- `markdown/`: Markdown rendering utilities.
- `tools/`: Helper tools for development.
- `editor/`: A web-based editor for generating and visualizing A2UI.
- `inspector/`: A web-based inspector for A2UI responses.
- `composer/`: Visual composer tool.
- `build_catalog/`: Catalog building utility.

## A2UI Specification Overview

The A2UI protocol is a JSONL-based, streaming UI protocol designed to be easily generated by Large Language Models (LLMs). It enables a server to stream a platform-agnostic, abstract UI definition to a client, which then renders it progressively using a native widget set.

### Core Concepts

The core concepts of the A2UI protocol are detailed in the main specification document. Refer to the authoritative source for the current version (0.8):
The core concepts of the A2UI protocol are detailed in the main specification document. Refer to the authoritative source for the current version (0.9):

- **A2UI Protocol Specification**: `@specification/0_8/docs/a2ui_protocol.md`
- **A2UI Protocol Specification**: `@specification/v0_9/docs/a2ui_protocol.md`

This document covers the design philosophy, architecture, data flow, and core concepts of the protocol.

### Schemas

The formal, machine-readable definitions of the protocol are maintained as JSON schemas. For version 0.8:
The formal, machine-readable definitions of the protocol are maintained as JSON schemas. For version 0.9:

- **Server-to-Client Schema**: `@specification/0_8/json/server_to_client.json`
- **Client-to-Server Schema**: `@specification/0_8/json/client_to_server.json`
- **Standard Catalog**: `@specification/0_8/json/standard_catalog_definition.json`
- **Server-to-Client Schema**: `@specification/v0_9/json/server_to_client.json`
- **Client-to-Server Schema**: `@specification/v0_9/json/client_to_server.json`
- **Basic Catalog**: `@specification/v0_9/json/basic_catalog.json`

## Running the Demos

Expand Down
4 changes: 2 additions & 2 deletions renderers/angular/src/lib/data/processor.ts
Original file line number Diff line number Diff line change
Expand Up @@ -14,8 +14,8 @@
limitations under the License.
*/

import { A2uiMessageProcessor } from '@a2ui/web_core/data/model-processor';
import * as Types from '@a2ui/web_core/types/types';
import { A2uiMessageProcessor } from '@a2ui/web_core/v0_8';
import * as Types from '@a2ui/web_core/v0_8';
import { Injectable } from '@angular/core';
import { firstValueFrom, Subject } from 'rxjs';

Expand Down
Loading
Loading