Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
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
15 changes: 13 additions & 2 deletions .github/dependabot.yml
Original file line number Diff line number Diff line change
Expand Up @@ -4,11 +4,22 @@ updates:
directory: "/client/web"
schedule:
interval: "weekly"
open-pull-requests-limit: 0
cooldown:
default-days: 7

- package-ecosystem: "pip"
directory: "/agent/python-agent"
directory: "/agent/python_agent"
schedule:
interval: "weekly"
open-pull-requests-limit: 0
cooldown:
default-days: 7

- package-ecosystem: "github-actions"
directory: "/"
schedule:
interval: "weekly"
interval: "weekly"
open-pull-requests-limit: 0
cooldown:
default-days: 7
8 changes: 8 additions & 0 deletions .github/release-please-config.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
{
"packages": {
"client/web": {
"release-type": "node",
"package-name": "@googlemaps/a2ui"
}
}
}
3 changes: 3 additions & 0 deletions .github/release-please-manifest.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
{
"client/web": "0.1.7"
}
9 changes: 4 additions & 5 deletions .github/workflows/python-ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -11,26 +11,25 @@ jobs:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4

- name: Install uv
uses: astral-sh/setup-uv@v5
with:
enable-cache: true
cache-dependency-glob: "agent/python-agent/uv.lock"
cache-dependency-glob: "agent/python_agent/uv.lock"

- name: Set up Python
run: uv python install

- name: Install dependencies
run: uv sync --all-groups
working-directory: agent/python-agent
working-directory: agent/python_agent

- name: Type check with pyright
run: uv run --frozen pyright
working-directory: agent/python-agent
working-directory: agent/python_agent
continue-on-error: true

- name: Lint with ruff
run: uv run --frozen ruff check .
working-directory: agent/python-agent
working-directory: agent/python_agent
continue-on-error: true
82 changes: 82 additions & 0 deletions .github/workflows/release-please.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,82 @@
# Copyright 2026 Google LLC
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.

## Runs the release-please action for all new pushes to the main branch.
## This will create new release-PRs, create GitHub releases and update
## the CHANGELOG.md.

# Disabled automatic pushes to prevent conflict with semantic-release.
# Can still be triggered manually via Actions UI if needed.
on:
workflow_dispatch:

permissions:
contents: write
pull-requests: write

name: Release Please

jobs:
release-please:
runs-on: ubuntu-latest
steps:
- id: release
name: Release Please
uses: googleapis/release-please-action@16a9c90856f42705d54a6fda1823352bdc62cf38 # v4.4.0


with:
token: ${{ secrets.SYNCED_GITHUB_TOKEN_REPO }}

Check warning

Code scanning / zizmor

secrets referenced without a dedicated environment Warning

secrets referenced without a dedicated environment
config-file: .github/release-please-config.json
manifest-file: .github/release-please-manifest.json

# Everything below is for NPM publishing when a release is cut.
# Note the "if" statement on all commands to make sure that publishing
# only happens when a release is cut.

- if: ${{ steps.release.outputs.release_created }}
name: Checkout
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2

Check warning

Code scanning / zizmor

credential persistence through GitHub Actions artifacts Warning

credential persistence through GitHub Actions artifacts
Comment on lines +48 to +50


- if: ${{ steps.release.outputs.release_created }}
name: Setup Node for Dependency Installation
uses: actions/setup-node@b39b52d1213e96004bfcb1c61a8a6fa8ab84f3e8 # v4.0.1

Check failure

Code scanning / zizmor

runtime artifacts potentially vulnerable to a cache poisoning attack Error

runtime artifacts potentially vulnerable to a cache poisoning attack

with:
node-version: 22
cache: npm
cache-dependency-path: client/web/package-lock.json

- if: ${{ steps.release.outputs.release_created }}
name: Install Dependencies
working-directory: client/web
run: npm ci

# Now configure node with the registry used for publishing
- if: ${{ steps.release.outputs.release_created }}
name: Setup Node for Publishing
uses: actions/setup-node@b39b52d1213e96004bfcb1c61a8a6fa8ab84f3e8 # v4.0.1

Check failure

Code scanning / zizmor

runtime artifacts potentially vulnerable to a cache poisoning attack Error

runtime artifacts potentially vulnerable to a cache poisoning attack

with:
node-version: 20
registry-url: "https://wombat-dressing-room.appspot.com/"

- if: ${{ steps.release.outputs.release_created }}
name: Publish
# npm publish will trigger the build via the prepack hook
working-directory: client/web
run: npm publish

Check notice

Code scanning / zizmor

prefer trusted publishing for authentication Note

prefer trusted publishing for authentication
env:
NODE_AUTH_TOKEN: ${{ secrets.NPM_WOMBAT_TOKEN }}

Check warning

Code scanning / zizmor

secrets referenced without a dedicated environment Warning

secrets referenced without a dedicated environment
65 changes: 65 additions & 0 deletions .github/workflows/release.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,65 @@
# Copyright 2026 Google LLC
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.

## Runs the semantic-release action for all new pushes to the main branch.
## This will create new release tags, create GitHub releases, publish the
## NPM package, and update the CHANGELOG.md.

on:
push:
branches: [main]

permissions:
contents: write
issues: write
pull-requests: write

name: Release

jobs:
release:
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2

with:
token: ${{ secrets.SYNCED_GITHUB_TOKEN_REPO }}

Check warning

Code scanning / zizmor

secrets referenced without a dedicated environment Warning

secrets referenced without a dedicated environment
fetch-depth: 0

Check warning

Code scanning / zizmor

credential persistence through GitHub Actions artifacts Warning

credential persistence through GitHub Actions artifacts
Comment on lines +34 to +39

- name: Setup Node for Dependency Installation
uses: actions/setup-node@b39b52d1213e96004bfcb1c61a8a6fa8ab84f3e8 # v4.0.1

with:
node-version: 22
cache: npm
cache-dependency-path: client/web/package-lock.json

- name: Install dependencies
working-directory: client/web
run: npm ci

- name: Setup Node for Publishing
uses: actions/setup-node@b39b52d1213e96004bfcb1c61a8a6fa8ab84f3e8 # v4.0.1

with:
node-version: 20
registry-url: "https://wombat-dressing-room.appspot.com/"

- name: Run Semantic Release
env:
GITHUB_TOKEN: ${{ secrets.SYNCED_GITHUB_TOKEN_REPO }}

Check warning

Code scanning / zizmor

secrets referenced without a dedicated environment Warning

secrets referenced without a dedicated environment
NPM_TOKEN: ${{ secrets.NPM_WOMBAT_TOKEN }}

Check warning

Code scanning / zizmor

secrets referenced without a dedicated environment Warning

secrets referenced without a dedicated environment
NODE_PATH: ${{ github.workspace }}/client/web/node_modules
run: npx semantic-release
28 changes: 28 additions & 0 deletions .releaserc.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,28 @@
{
"branches": [
"main"
],
"plugins": [
"@semantic-release/commit-analyzer",
"@semantic-release/release-notes-generator",
"@semantic-release/changelog",
[
"@semantic-release/npm",
{
"pkgRoot": "client/web"
}
],
[
"@semantic-release/git",
{
"assets": [
"client/web/package.json",
"client/web/package-lock.json",
"CHANGELOG.md"
],
"message": "chore(release): ${nextRelease.version} [skip ci]\n\n${nextRelease.notes}"
}
],
"@semantic-release/github"
]
}
20 changes: 10 additions & 10 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -98,7 +98,7 @@ dependencies = [
]

[tool.uv.sources]
maui-a2ui-python = { path = "path/to/a2ui/agent/python-agent" }
maui-a2ui-python = { path = "path/to/a2ui/agent/python_agent" }
```

#### 2. Import and Use
Expand Down Expand Up @@ -245,7 +245,7 @@ return (
surface={surface}
></a2ui-surface>
</div>
);
);
}
}}
</maui-providers>
Expand Down Expand Up @@ -295,9 +295,9 @@ Agentic UI Toolkit requires an API Key to use Google Maps Platform products. To

Your API Key must have the following APIs enabled in the [Google Cloud Console](https://console.cloud.google.com/apis/credentials):

* Geocoding API
* Maps JavaScript API
* Places UI Kit
* Geocoding API
* Maps JavaScript API
* Places UI Kit
* Routes API

To use Grounding Lite MCP, you must also enable:
Expand All @@ -314,10 +314,10 @@ Agentic UI Toolkit requires features available in the Alpha channel. You must us

Use of Agentic UI Toolkit requires several [Maps JavaScript API libraries](https://developers.google.com/maps/documentation/javascript/libraries). When loading the Google Maps JavaScript API, you must include the following libraries:

* maps
* maps3d
* marker
* places
* maps
* maps3d
* marker
* places
* routes

### Gemini API Key
Expand All @@ -332,7 +332,7 @@ This key must be exported or contained within a `.env` file as `GEMINI_API_KEY`

## Accessing Google Maps grounding data

Your agent can access Google Maps grounding data in two ways, depending on your project setup and needs:
Your agent can access Google Maps grounding data in two ways, depending on your project setup and needs:

1. [Grounding Lite MCP](https://developers.google.com/maps/ai/grounding-lite)
2. [Grounding with Google Maps](https://docs.cloud.google.com/vertex-ai/generative-ai/docs/grounding/grounding-with-google-maps)
Expand Down
18 changes: 9 additions & 9 deletions agent/python-agent/README.md → agent/python_agent/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -23,7 +23,7 @@ dependencies = [
]

[tool.uv.sources]
maui-a2ui-python = { path = "path/to/a2ui/agent/python-agent" }
maui-a2ui-python = { path = "path/to/a2ui/agent/python_agent" }
```

### 2. Import and Use
Expand Down Expand Up @@ -116,9 +116,9 @@ Agentic UI Toolkit requires an API Key to use Google Maps Platform products. To

Your API Key must have the following APIs enabled in the [Google Cloud Console](https://console.cloud.google.com/apis/credentials):

* Geocoding API
* Maps JavaScript API
* Places UI Kit
* Geocoding API
* Maps JavaScript API
* Places UI Kit
* Routes API

To use Grounding Lite MCP, you must also enable:
Expand All @@ -135,10 +135,10 @@ Agentic UI Toolkit requires features available in the Alpha channel. You must us

Use of Agentic UI Toolkit requires several [Maps JavaScript API libraries](https://developers.google.com/maps/documentation/javascript/libraries). When loading the Google Maps JavaScript API, you must include the following libraries:

* maps
* maps3d
* marker
* places
* maps
* maps3d
* marker
* places
* routes

### Gemini API Key
Expand All @@ -153,7 +153,7 @@ This key must be exported or contained within a `.env` file as `GEMINI_API_KEY`

## Accessing Google Maps grounding data

Your agent can access Google Maps grounding data in two ways, depending on your project setup and needs:
Your agent can access Google Maps grounding data in two ways, depending on your project setup and needs:

1. [Grounding Lite MCP](https://developers.google.com/maps/ai/grounding-lite)
2. [Grounding with Google Maps](https://docs.cloud.google.com/vertex-ai/generative-ai/docs/grounding/grounding-with-google-maps)
Expand Down
File renamed without changes.
Loading
Loading