Skip to content

Conversation

@ishymko
Copy link
Member

@ishymko ishymko commented Nov 25, 2025

Description

As a next step after #169, define a transport agnostic client.

Changes

Main

  • Define Client built around core types, not JSON-RPC wrappers.
  • Define ClientFactory to dynamically select transport among available based on agent card and factory level preferences.

Misc

  • Rename A2ATransport to Transport (this type is not yet exported via index.ts).
  • Add AbortSignal to Transport and new client for cancellation.
  • Add basic E2E test for sendMessage and sendMessageStream using server SDK wired up with real expressjs app and invoked via newly created client.
  • Fix getTaskPushNotificationConfig types in transport.

TODOs

  • Client interceptors.
  • Extensions support.

Re #137, #142

Release-As: 0.3.6

@ishymko ishymko marked this pull request as ready for review November 25, 2025 15:38
@ishymko ishymko merged commit 94a9848 into main Nov 27, 2025
5 checks passed
@ishymko ishymko deleted the ishymko/client-multi-transport branch November 27, 2025 15:16
ishymko added a commit that referenced this pull request Nov 28, 2025
# Description

Propagate `RequestOptions` down to `Transport`.

Re #198, was missing in the original PR - wasn't release yet, so no
impact.
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.

4 participants