a2aproject/a2a-js

Official JavaScript SDK for the Agent2Agent (A2A) Protocol

解決する課題

AI エージェントが通信し、相互運用するための標準化された方法を提供します。Agent2Agent (A2A) プロトコルを実装することで、基盤となるトランスポート方式に関係なく、さまざまなクライアントによって発見、駆動、管理されるエージェントを構築できます。

仕組み

この SDK を使用すると、開発者は A2A servers(機能を公開するエージェント)と A2A clients(それらのエージェントと対話するアプリケーション)を作成できます。JSON-RPC、HTTP+JSON/REST、gRPC の 3 つのワイヤトランスポートをサポートすることで、通信層を抽象化します。

サーバー側では AgentExecutor がビジネスロジックを処理し、DefaultRequestHandler がルーティング、タスクストレージ、プッシュ通知を管理します。クライアント側では、ClientFactory がエージェントの公開機能(「エージェントカード」)に基づいて最適なトランスポートを自動的に選択します。

対象読者

エージェントアプリケーションを構築しており、エージェント間またはクライアント・エージェント間の通信に一貫したプロトコルを必要とする開発者(特に TypeScript や JavaScript 環境で作業している方)。

ハイライト

  • マルチトランスポートサポート: JSON-RPC、REST、gRPC をネイティブサポート。
  • タスクライフサイクル管理: タスク送信、ストリーミング更新、ユーザーによるキャンセル処理を組み込みでサポート。
  • 永続ストレージ: PostgreSQL、MySQL、SQLite、Cloudflare D1 をサポートし、再起動後もタスクや通知設定を保持。
  • プッシュ通知: 持続的な接続を維持できない長時間実行タスク向けに、Webhook ベースの更新を提供。
  • 後方互換性: v1.0 のデプロイメントが v0.3 のピアと相互運用できるようにするオプトインレイヤー。

関連

  • プロジェクト
  • プロジェクト
  • プロジェクト
  • プロジェクト
  • プロジェクト