Skip to content

fix: cap a2a-sdk<1.0 and @a2a-js/sdk<1.0.0 to avoid breaking 1.0 imports - #17

Merged
benclarkeio merged 1 commit into
mainfrom
fix/cap-a2a-sdk-below-1
May 25, 2026
Merged

fix: cap a2a-sdk<1.0 and @a2a-js/sdk<1.0.0 to avoid breaking 1.0 imports#17
benclarkeio merged 1 commit into
mainfrom
fix/cap-a2a-sdk-below-1

Conversation

@benclarkeio

Copy link
Copy Markdown
Contributor

Summary

  • Pin a2a-sdk>=0.3.0,<1.0 in python/pyproject.toml so fresh installs no longer resolve to a2a-sdk 1.0.x, which renamed A2AClient to Client and broke A2ASession's import in a2a_utils.client.a2a_session.
  • Mirror the cap on the JavaScript side with @a2a-js/sdk: ">=0.3.10 <1.0.0" in javascript/package.json, so a future @a2a-js/sdk 1.0 release cannot silently break A2ASession either. The explicit range also allows future 0.x minor bumps without dropping the upper bound.
  • Regenerate python/uv.lock (resolves a2a-sdk 0.3.25) and javascript/bun.lock (resolves @a2a-js/sdk 0.3.13).

Fixes #16.

Test plan

  • uv run pytest — 222 passed
  • bun test — 223 passed
  • bun run typecheck — clean
  • Verify uvx a2anet-mcp --help works against a downstream consumer that picks up a2a-utils 0.7.3

🤖 Generated with Claude Code

…imports

- Pin `a2a-sdk>=0.3.0,<1.0` in `python/pyproject.toml` so fresh installs no
  longer resolve to `a2a-sdk` 1.0.x, which renamed `A2AClient` to `Client`
  and broke `A2ASession`'s import in `a2a_utils.client.a2a_session`.
- Regenerate `python/uv.lock` to resolve `a2a-sdk` 0.3.25.
- Mirror the cap in `javascript/package.json` with `@a2a-js/sdk: ">=0.3.10 <1.0.0"`
  so a future `@a2a-js/sdk` 1.0 release cannot silently break `A2ASession`
  on the JavaScript side either. The explicit range also allows future 0.x
  minor bumps without dropping the upper bound.
- Refresh `javascript/bun.lock` accordingly.
- Fixes #16.

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
@benclarkeio
benclarkeio merged commit 1bbecd9 into main May 25, 2026
6 of 7 checks passed
@benclarkeio
benclarkeio deleted the fix/cap-a2a-sdk-below-1 branch May 25, 2026 17:40
@github-actions github-actions Bot mentioned this pull request May 25, 2026
benclarkeio added a commit to a2anet/a2a-mcp that referenced this pull request May 25, 2026
`a2anet-mcp` no longer imports anything from `a2a-sdk` directly — all SDK
usage is transitive through `a2a_utils`. The `a2a-sdk>=0.3.21` line dated
back to when `server.py` imported `AgentManager` and other `a2a.*` symbols
directly, before they were moved into `a2a-utils`.

- Remove `a2a-sdk>=0.3.21` from `dependencies` in `pyproject.toml` so
  `a2a-utils` is the single source of truth for the `a2a-sdk` version range.
- Regenerate `uv.lock`.

This also means downstream consumers will automatically pick up whatever
`a2a-sdk` range `a2a-utils` declares, including the upcoming `<1.0` cap in
`a2a-utils` 0.7.3 (a2anet/a2a-utils#17).

Co-authored-by: Claude Opus 4.7 <noreply@anthropic.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Broken import: A2AClient removed from a2a-sdk 1.0

1 participant