Skip to content

Commit c7e5ce8

Browse files
authored
Merge branch 'a2aproject:main' into feat/messageDelta
2 parents c621fef + d37ce7b commit c7e5ce8

86 files changed

Lines changed: 4880 additions & 1862 deletions

File tree

Some content is hidden

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

.coveragerc

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,6 @@ omit =
44
*/tests/*
55
*/site-packages/*
66
*/__init__.py
7-
*/noxfile.py*
87
src/a2a/grpc/*
98

109
[report]

.github/CODEOWNERS

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,4 +4,4 @@
44
# For syntax help see:
55
# https://help.github.com/en/github/creating-cloning-and-archiving-repositories/about-code-owners#codeowners-syntax
66

7-
* @a2aproject/google
7+
* @a2aproject/google-a2a-eng

.github/PULL_REQUEST_TEMPLATE.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@ Before submitting your PR, there are a few things you can do to make sure it goe
99
- `fix:` which represents bug fixes, and correlates to a [SemVer](https://semver.org/) patch.
1010
- `feat:` represents a new feature, and correlates to a SemVer minor.
1111
- `feat!:`, or `fix!:`, `refactor!:`, etc., which represent a breaking change (indicated by the `!`) and will result in a SemVer major.
12-
- [ ] Ensure the tests and linter pass (Run `nox -s format` from the repository root to format)
12+
- [ ] Ensure the tests and linter pass (Run `bash scripts/format.sh` from the repository root to format)
1313
- [ ] Appropriate docs were updated (if necessary)
1414

1515
Fixes #<issue_number_goes_here> 🦕

.github/actions/spelling/allow.txt

Lines changed: 21 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -1,31 +1,22 @@
11
ACard
22
AClient
3+
ACMRTUXB
4+
aconnect
5+
adk
36
AError
47
AFast
8+
agentic
59
AGrpc
10+
aio
11+
aiomysql
12+
aproject
613
ARequest
714
ARun
815
AServer
916
AServers
1017
AService
1118
AStarlette
1219
AUser
13-
DSNs
14-
EUR
15-
GBP
16-
GVsb
17-
INR
18-
JPY
19-
JSONRPCt
20-
Llm
21-
POSTGRES
22-
RUF
23-
aconnect
24-
adk
25-
agentic
26-
aio
27-
aiomysql
28-
aproject
2920
autouse
3021
backticks
3122
cla
@@ -35,21 +26,31 @@ codegen
3526
coro
3627
datamodel
3728
drivername
29+
DSNs
3830
dunders
3931
euo
32+
EUR
4033
excinfo
34+
fernet
4135
fetchrow
4236
fetchval
37+
GBP
4338
genai
4439
getkwargs
4540
gle
41+
GVsb
4642
initdb
4743
inmemory
44+
INR
4845
isready
46+
JPY
47+
JSONRPCt
48+
JWS
4949
kwarg
5050
langgraph
5151
lifecycles
5252
linting
53+
Llm
5354
lstrips
5455
mockurl
5556
notif
@@ -58,13 +59,17 @@ oidc
5859
opensource
5960
otherurl
6061
postgres
62+
POSTGRES
6163
postgresql
6264
protoc
6365
pyi
6466
pypistats
67+
pyupgrade
6568
pyversions
6669
respx
6770
resub
71+
RUF
72+
SLF
6873
socio
6974
sse
7075
tagwords

.github/actions/spelling/excludes.txt

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -86,7 +86,6 @@
8686
^\.github/actions/spelling/
8787
^\.github/workflows/
8888
CHANGELOG.md
89-
noxfile.py
9089
^src/a2a/grpc/
9190
^tests/
9291
.pre-commit-config.yaml

.github/workflows/linter.yaml

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -26,6 +26,8 @@ jobs:
2626
run: uv sync --dev
2727
- name: Run Ruff Linter
2828
run: uv run ruff check .
29+
- name: Run Ruff Format Check
30+
run: uv run ruff format --check .
2931
- name: Run MyPy Type Checker
3032
run: uv run mypy src
3133
- name: Run Pyright (Pylance equivalent)

.github/workflows/unit-tests.yml

Lines changed: 21 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -15,11 +15,24 @@ jobs:
1515
postgres:
1616
image: postgres:15-alpine
1717
env:
18-
POSTGRES_USER: postgres
19-
POSTGRES_PASSWORD: postgres
18+
POSTGRES_USER: a2a
19+
POSTGRES_PASSWORD: a2a_password
2020
POSTGRES_DB: a2a_test
2121
ports:
2222
- 5432:5432
23+
options: >-
24+
--health-cmd pg_isready --health-interval 10s --health-timeout 5s --health-retries 5
25+
mysql:
26+
image: mysql:8.0
27+
env:
28+
MYSQL_ROOT_PASSWORD: root
29+
MYSQL_DATABASE: a2a_test
30+
MYSQL_USER: a2a
31+
MYSQL_PASSWORD: a2a_password
32+
ports:
33+
- 3306:3306
34+
options: >-
35+
--health-cmd="mysqladmin ping -h localhost -u root -proot" --health-interval=10s --health-timeout=5s --health-retries=5
2336
2437
strategy:
2538
matrix:
@@ -31,20 +44,19 @@ jobs:
3144
uses: actions/setup-python@v5
3245
with:
3346
python-version: ${{ matrix.python-version }}
34-
- name: Set postgres for tests
35-
run: |
36-
sudo apt-get update && sudo apt-get install -y postgresql-client
37-
PGPASSWORD=postgres psql -h localhost -p 5432 -U postgres -d a2a_test -f ${{ github.workspace }}/docker/postgres/init.sql
38-
export POSTGRES_TEST_DSN="postgresql+asyncpg://postgres:postgres@localhost:5432/a2a_test"
47+
- name: Set up test environment variables
48+
run: |
49+
echo "POSTGRES_TEST_DSN=postgresql+asyncpg://a2a:a2a_password@localhost:5432/a2a_test" >> $GITHUB_ENV
50+
echo "MYSQL_TEST_DSN=mysql+aiomysql://a2a:a2a_password@localhost:3306/a2a_test" >> $GITHUB_ENV
3951
4052
- name: Install uv
4153
uses: astral-sh/setup-uv@v6
4254
- name: Add uv to PATH
4355
run: |
4456
echo "$HOME/.cargo/bin" >> $GITHUB_PATH
4557
- name: Install dependencies
46-
run: uv sync --dev --extra sql
58+
run: uv sync --dev --extra sql --extra encryption --extra grpc
4759
- name: Run tests and check coverage
48-
run: uv run pytest --cov=a2a --cov-report=xml --cov-fail-under=90
60+
run: uv run pytest --cov=a2a --cov-report=xml --cov-fail-under=89
4961
- name: Show coverage summary in log
5062
run: uv run coverage report

.github/workflows/update-a2a-types.yml

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -47,10 +47,10 @@ jobs:
4747
token: ${{ secrets.A2A_BOT_PAT }}
4848
committer: a2a-bot <a2a-bot@google.com>
4949
author: a2a-bot <a2a-bot@google.com>
50-
commit-message: 'feat: Update A2A types from specification 🤖'
51-
title: 'feat: Update A2A types from specification 🤖'
50+
commit-message: '${{ github.event.client_payload.message }}'
51+
title: '${{ github.event.client_payload.message }}'
5252
body: |
53-
This PR updates `src/a2a/types.py` based on the latest `specification/json/a2a.json` from [a2aproject/A2A](https://github.com/a2aproject/A2A/commit/${{ github.event.client_payload.sha }}).
53+
Commit: https://github.com/a2aproject/A2A/commit/${{ github.event.client_payload.sha }}
5454
branch: auto-update-a2a-types-${{ github.event.client_payload.sha }}
5555
base: main
5656
labels: |

.mypy.ini

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
[mypy]
22
exclude = src/a2a/grpc/
33
disable_error_code = import-not-found,annotation-unchecked,import-untyped
4+
plugins = pydantic.mypy
45

56
[mypy-examples.*]
67
follow_imports = skip

.ruff.toml

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -81,7 +81,6 @@ exclude = [
8181
"node_modules",
8282
"venv",
8383
"*/migrations/*",
84-
"noxfile.py",
8584
"src/a2a/grpc/**",
8685
"tests/**",
8786
]
@@ -137,13 +136,12 @@ inline-quotes = "single"
137136
"PLR2004",
138137
"SLF001",
139138
]
140-
"types.py" = ["D", "E501", "N815"] # Ignore docstring and annotation issues in types.py
139+
"types.py" = ["D", "E501"] # Ignore docstring and annotation issues in types.py
141140
"proto_utils.py" = ["D102", "PLR0911"]
142141
"helpers.py" = ["ANN001", "ANN201", "ANN202"]
143142

144143
[format]
145144
exclude = [
146-
"types.py",
147145
"src/a2a/grpc/**",
148146
]
149147
docstring-code-format = true

0 commit comments

Comments
 (0)