Skip to content

Commit 8b04d53

Browse files
authored
Merge branch 'main' into feature/langgraph-restaurant-finder
2 parents d3e49d6 + c1397f8 commit 8b04d53

File tree

185 files changed

+23067
-5162
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

185 files changed

+23067
-5162
lines changed

.geminiignore

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
# Ignore large lock files that aren't useful for context
2+
**/pnpm-lock.yaml
3+
**/package-lock.json
4+
**/uv.lock

.github/workflows/docs.yml

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -69,6 +69,12 @@ jobs:
6969
- name: Install documentation dependencies
7070
run: pip install -r requirements-docs.txt
7171

72+
- name: Validate documentation conversion script
73+
run: pip install pytest && pytest docs/scripts/test_convert_docs.py
74+
75+
- name: Convert Admonitions in Documentation
76+
run: python docs/scripts/convert_docs.py --mode github-to-mkdocs
77+
7278
- name: Build Documentation (PR Check)
7379
if: github.event_name == 'pull_request'
7480
run: mkdocs build

README.md

Lines changed: 10 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@ to generate or populate rich user interfaces.
99

1010
*A gallery of A2UI rendered cards, showing a variety of UI compositions that A2UI can achieve.*
1111

12-
## ⚠️ Status: Early Stage Public Preview
12+
## ⚠️ Status: Early stage public preview
1313

1414
> **Note:** A2UI is currently in **v0.8 (Public Preview)**. The specification and
1515
implementations are functional but are still evolving. We are opening the project to
@@ -30,7 +30,7 @@ component library (Flutter, Angular, Lit, etc.).
3030
This approach ensures that agent-generated UIs are
3131
**safe like data, but expressive like code**.
3232

33-
## High-Level Philosophy
33+
## High-level philosophy
3434

3535
A2UI was designed to address the specific challenges of interoperable,
3636
cross-platform, generative or template-based UI responses from agents.
@@ -63,7 +63,7 @@ places security firmly in the developer's hands, enabling them to enforce
6363
strict sandboxing policies and "trust ladders" directly within their custom
6464
component logic rather than relying solely on the core system.
6565

66-
## Use Cases
66+
## Use cases
6767

6868
Some of the use cases include:
6969

@@ -98,7 +98,7 @@ A2UI is designed to be a lightweight format, but it fits into a larger ecosystem
9898
* **Host Frameworks:** Requires a host application built in a supported framework
9999
(currently: Web or Flutter).
100100

101-
## Getting Started
101+
## Getting started
102102

103103
The best way to understand A2UI is to run the samples.
104104

@@ -108,7 +108,7 @@ The best way to understand A2UI is to run the samples.
108108
* Python (for agent samples)
109109
* A valid [Gemini API Key](https://aistudio.google.com/) is required for the samples.
110110

111-
### Running the Restaurant Finder Demo
111+
### Running the Restaurant Finder demo
112112

113113
1. **Clone the repository:**
114114

@@ -117,7 +117,7 @@ The best way to understand A2UI is to run the samples.
117117
cd A2UI
118118
```
119119

120-
2. **Set your API Key:**
120+
2. **Set your API key:**
121121

122122
```bash
123123
export GEMINI_API_KEY="your_gemini_api_key"
@@ -160,10 +160,10 @@ to try out as well.
160160

161161
We hope to work with the community on the following:
162162

163-
* **Spec Stabilization:** Moving towards a v1.0 specification.
164-
* **More Renderers:** Adding official support for React, Jetpack Compose, iOS (SwiftUI), and more.
165-
* **Additional Transports:** Support for REST and more.
166-
* **Additional Agent Frameworks:** Genkit, LangGraph, and more.
163+
* **Spec stabilization:** Moving towards a v1.0 specification.
164+
* **More renderers:** Adding official support for React, Jetpack Compose, iOS (SwiftUI), and more.
165+
* **Additional transports:** Support for REST and more.
166+
* **Additional Agent frameworks:** Genkit, LangGraph, and more.
167167

168168
## Contribute
169169

a2a_agents/python/a2ui_agent/README.md

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,16 +1,16 @@
1-
# A2UI Agent Implementation
1+
# A2UI Agent implementation
22

33
The `a2a_agents/python/a2ui_agent/` is the Python implementation of the a2ui agent library.
44

5-
### Extension Components (`src/a2ui/extension`)
5+
### Extension components (`src/a2ui/extension`)
66

77
The `src/a2ui/extension` directory contains the core logic for the A2UI agent extension:
88

99
* **`a2ui_extension.py`**: Core utilities for extension management and A2UI part handling.
1010
* **`a2ui_schema_utils.py`**: Schema manipulation helpers.
1111
* **`send_a2ui_to_client_toolset.py`**: An example implementation of using ADK toolcalls to implement A2UI.
1212

13-
## Running Tests
13+
## Running tests
1414

1515
1. Navigate to the a2ui_agent dir:
1616

@@ -40,4 +40,4 @@ All operational data received from an external agent—including its AgentCard,
4040

4141
Similarly, any UI definition or data stream received must be treated as untrusted. Malicious agents could attempt to spoof legitimate interfaces to deceive users (phishing), inject malicious scripts via property values (XSS), or generate excessive layout complexity to degrade client performance (DoS). If your application supports optional embedded content (such as iframes or web views), additional care must be taken to prevent exposure to malicious external sites.
4242

43-
Developer Responsibility: Failure to properly validate data and strictly sandbox rendered content can introduce severe vulnerabilities. Developers are responsible for implementing appropriate security measures—such as input sanitization, Content Security Policies (CSP), strict isolation for optional embedded content, and secure credential handling—to protect their systems and users.
43+
Developer Responsibility: Failure to properly validate data and strictly sandbox rendered content can introduce severe vulnerabilities. Developers are responsible for implementing appropriate security measures—such as input sanitization, Content Security Policies (CSP), strict isolation for optional embedded content, and secure credential handling—to protect their systems and users.

a2a_agents/python/a2ui_agent/src/a2ui/extension/a2ui_extension.py

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -29,7 +29,9 @@
2929
SUPPORTED_CATALOG_IDS_KEY = "supportedCatalogIds"
3030
INLINE_CATALOGS_KEY = "inlineCatalogs"
3131

32-
STANDARD_CATALOG_ID = "https://github.com/google/A2UI/blob/main/specification/v0_8/json/standard_catalog_definition.json"
32+
STANDARD_CATALOG_ID = (
33+
"https://a2ui.org/specification/v0_8/standard_catalog_definition.json"
34+
)
3335

3436

3537
def create_a2ui_part(a2ui_data: dict[str, Any]) -> Part:

docs/community.md

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -8,8 +8,9 @@ A2UI is an open-source project licensed under Apache 2.0. We welcome contributio
88

99
## Community Showcase
1010

11-
!!! info "Coming soon..."
12-
We are considering how best to showcase community projects, examples, themes, renderers, custom components, and more. A 4 minute (or less) demo video and code sample linked in Github discussions is a great way to show off your work.
11+
> ℹ️ **Coming soon...**
12+
>
13+
> We are considering how best to showcase community projects, examples, themes, renderers, custom components, and more. A 4 minute (or less) demo video and code sample linked in Github discussions is a great way to show off your work.
1314
1415
## Project Partners
1516

docs/guides/agent-development.md

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -94,8 +94,9 @@ Select `my_agent` from the list, and ask questions about restaurants in New York
9494

9595
Getting the LLM to generate A2UI messages requires some prompt engineering.
9696

97-
!!! warning "Attention"
98-
This is an area we are still designing. The developer ergonomics of this are not yet finalized.
97+
> ⚠️ **Attention**
98+
>
99+
> This is an area we are still designing. The developer ergonomics of this are not yet finalized.
99100
100101
For now, let's copy the `a2ui_schema.py` from the contact lookup example. This is the easiest way to get the A2UI schema and examples for your agent (subject to change).
101102

docs/guides/client-setup.md

Lines changed: 8 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -15,9 +15,10 @@ Integrate A2UI into your application using the renderer for your platform.
1515

1616
## Web Components (Lit)
1717

18-
!!! warning "Attention"
19-
The Lit client library is not yet published to NPM. Check back in the
20-
coming days.
18+
> ⚠️ **Attention**
19+
>
20+
> The Lit client library is not yet published to NPM. Check back in the
21+
> coming days.
2122
2223
```bash
2324
npm install @a2ui/web-lib lit @lit-labs/signals
@@ -35,9 +36,10 @@ TODO: Add verified setup example.
3536

3637
## Angular
3738

38-
!!! warning "Attention"
39-
The Angular client library is not yet published to NPM. Check back in the
40-
coming days.
39+
> ⚠️ **Attention**
40+
>
41+
> The Angular client library is not yet published to NPM. Check back in the
42+
> coming days.
4143
4244
```bash
4345
npm install @a2ui/angular @a2ui/web-lib

docs/index.md

Lines changed: 6 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -20,11 +20,12 @@ A2UI enables AI agents to generate rich, interactive user interfaces that render
2020

2121
</div>
2222

23-
!!! warning "️Status: Early Stage Public Preview"
24-
A2UI is currently in **v0.8 (Public Preview)**. The specification and
25-
implementations are functional but are still evolving. We are opening the project to
26-
foster collaboration, gather feedback, and solicit contributions (e.g., on client renderers).
27-
Expect changes.
23+
> ⚠️ **️Status: Early Stage Public Preview**
24+
>
25+
> A2UI is currently in **v0.8 (Public Preview)**. The specification and
26+
> implementations are functional but are still evolving. We are opening the project to
27+
> foster collaboration, gather feedback, and solicit contributions (e.g., on client renderers).
28+
> Expect changes.
2829
2930
## At a Glance
3031

docs/introduction/agent-ui-ecosystem.md

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -6,8 +6,9 @@ The space for agentic UI is evolving rapidly, with excellent tools emerging to s
66

77
The A2UI approach is to send JSON as a message to the client, which then uses a renderer to convert it into native UI components. LLMs can generate the component layout on the fly or you can use a template.
88

9-
!!! tip ""
10-
**This makes it secure like data, and expressive like code.**
9+
> 💡
10+
>
11+
> **This makes it secure like data, and expressive like code.**
1112
1213
This rest of this page will help you understand A2UI in relationship to other options.
1314

0 commit comments

Comments
 (0)