a2a-net.Core
0.2.0
Prefix Reserved
See the version list below for details.
dotnet add package a2a-net.Core --version 0.2.0
NuGet\Install-Package a2a-net.Core -Version 0.2.0
<PackageReference Include="a2a-net.Core" Version="0.2.0" />
<PackageVersion Include="a2a-net.Core" Version="0.2.0" />
<PackageReference Include="a2a-net.Core" />
paket add a2a-net.Core --version 0.2.0
#r "nuget: a2a-net.Core, 0.2.0"
#addin nuget:?package=a2a-net.Core&version=0.2.0
#tool nuget:?package=a2a-net.Core&version=0.2.0
A2A-NET
Agent-to-Agent (A2A) is a lightweight, extensible protocol and framework for orchestrating tasks and exchanging structured content between autonomous agents using JSON-RPC 2.0.
This repository provides a complete set of libraries and components for building, hosting, and communicating with A2A-compliant agents across various transport layers.
🧩 Projects
🧠 Core
a2a-net.Core
Contains the core abstractions, models, contracts, and data types shared across both clients and servers.
This package is dependency-free and safe to use in any environment.
📡 Client
a2a-net.Client
Provides the default implementation of an A2A client for sending tasks and interacting with agents via JSON-RPC.a2a-net.Client.Transport.WebSocket
Implements the WebSocket transport fora2a-net.Client
.
Allows establishing persistent agent-to-agent communication over WebSocket connections.
🛠️ Server
a2a-net.Server
Core components for building A2A-compatible agents.
Includes task execution, state management, event streaming, and runtime integration.a2a-net.Server.AspNetCore
ASP.NET Core integration layer that allows hosting A2A endpoints over WebSocket using JSON-RPC.
Provides middleware, routing, and server bootstrap extensions.
🧱 Server Infrastructure
a2a-net.Server.Infrastructure.Abstractions
Defines abstractions for task persistence, event streaming, and other infrastructure concerns.
Enables support for custom and pluggable storage/event backends.a2a-net.Server.Infrastructure.DistributedCache
Distributed cache–based implementation of A2A task storage usingIDistributedCache
.
Useful for scenarios that require scalable, lightweight task state persistence.
🚀 Getting Started
Install the packages
dotnet add package a2a-net.Client
dotnet add package a2a-net.Client.Transport.WebSocket
dotnet add package a2a-net.Server
dotnet add package a2a-net.Server.AspNetCore
Configure the client
services.AddA2ProtocolClient(builder =>
{
builder.UseWebSocketTransport(options =>
{
options.Endpoint = new("ws://localhost/a2a");
});
});
Host an agent
Configure services
services.AddDistributedMemoryCache();
services.AddA2AProtocolServer(builder =>
{
builder
.UseAgentRuntime<CustomAgentRuntime>()
.UseDistributedCacheTaskRepository();
});
Map A2A Endpoints
app.MapA2AEndpoint();
📚 Documentation
For a full overview of the A2A protocol, see google.github.io/A2A
🛡 License
This project is licensed under the Apache-2.0 License.
🤝 Contributing
Contributions are welcome! Please open issues and PRs to help improve the ecosystem.
See contribution guidelines for more information on how to contribute.
Product | Versions Compatible and additional computed target framework versions. |
---|---|
.NET | net8.0 is compatible. net8.0-android was computed. net8.0-browser was computed. net8.0-ios was computed. net8.0-maccatalyst was computed. net8.0-macos was computed. net8.0-tvos was computed. net8.0-windows was computed. net9.0 is compatible. net9.0-android was computed. net9.0-browser was computed. net9.0-ios was computed. net9.0-maccatalyst was computed. net9.0-macos was computed. net9.0-tvos was computed. net9.0-windows was computed. net10.0 was computed. net10.0-android was computed. net10.0-browser was computed. net10.0-ios was computed. net10.0-maccatalyst was computed. net10.0-macos was computed. net10.0-tvos was computed. net10.0-windows was computed. |
-
net8.0
- Neuroglia.Mediation (>= 4.21.0)
- StreamJsonRpc (>= 2.21.69)
- YamlDotNet (>= 16.3.0)
-
net9.0
- Neuroglia.Mediation (>= 4.21.0)
- StreamJsonRpc (>= 2.21.69)
- YamlDotNet (>= 16.3.0)
NuGet packages (4)
Showing the top 4 NuGet packages that depend on a2a-net.Core:
Package | Downloads |
---|---|
a2a-net.Server.Infrastructure.Abstractions
Contains service abstractions used by the A2A server infrastructure |
|
a2a-net.Client.Abstractions
Contains the A2A Protocol client abstractions |
|
Yaap.A2A.Server.Abstractions
Package Description |
|
Yaap.A2A.Client.Abstractions
Package Description |
GitHub repositories
This package is not used by any popular GitHub repositories.