Commit dce4a09
feat: .net api for the a2a protocol (#1)
* classlib and unit test projects
* Created an example of a worker agent that mimics deep research
* Added TODOs for remaining work
* Refactored projects and added more tests
* Simplified JSONRPC serialization
* Implement A2AProcessor and refactor task management methods for improved JSON RPC handling
* Migrated (de)serialization to DomFactory
* Added more agents
* reordered agents
* added readme
* Refactor task management and enhance JSON RPC handling
- Updated task status management in EchoAgent and HostedClientAgent to use async methods.
- Improved task creation and update handling in TaskManager.
- Added support for task subscription and event streaming.
* Update README.md to reflect current library status and enhance agent integration example
* Missing image
* Added OpenTelemetry instrumentation
* Cleanup of project names
* Cleaned up namespace names
* Added a client application.
* Setup packages for publishing
* Made Domfactory a separate package because it didn't work embedding it
* Fixes #4 and #6
* Add AgentCard implementation
* Update src/SharpA2A.Core/Server/TaskManager.cs
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
* Update test/a2atests/TaskManagerTests.cs
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
* Create dotnet-build.yml
GitHub actions workflow to build and test the project
* Address code review feedback
* Implemented client streaming
* Add a sample using Semantic Kernel agents
* Added sln for running AgentServer
* Target .net8.0 and .netstandard2.0 to packages can be consumed by Semantic Kernel
* Updated version to publish packages
* Updated version numbers for publishing
* Add net8.0 target for SharpA2A.AspNetCore
* Update dotnet-build.yml
Build using dotnet version 8 & 9
* Updated sharpa2a.aspnetcore to support .net8
* Updated OpenAPI
* Fixed SendSubscribe for HTTP and also the flaky enumerator
* Big refactoring and cleanup
* ci: fixes missing moniker for dotnet commands
Signed-off-by: Vincent Biret <vibiret@microsoft.com>
* ci: adds worfklow dispatch just in case
Signed-off-by: Vincent Biret <vibiret@microsoft.com>
* ci: removes extraneous framework monikers
Signed-off-by: Vincent Biret <vibiret@microsoft.com>
* ci: adds required 9.x framework for restore
Signed-off-by: Vincent Biret <vibiret@microsoft.com>
* ci: removes no restore argument
Signed-off-by: Vincent Biret <vibiret@microsoft.com>
* ci:
Signed-off-by: Vincent Biret <vibiret@microsoft.com>
* fix: removes extraneous swagger description
Signed-off-by: Vincent Biret <vibiret@microsoft.com>
* ci: adds dependabot configuration
Signed-off-by: Vincent Biret <vibiret@microsoft.com>
* ci: removes dependabot tag instructions
Signed-off-by: Vincent Biret <vibiret@microsoft.com>
* Update:
- coverlet.collector to 6.0.4
- Microsoft.Extensions.Hosting to 9.0.5
- Microsoft.Extensions.Logging to 9.0.5
- Microsoft.NET.Test.Sdk to 17.13.0
- Microsoft.SemanticKernel.Agents.Core to 1.51.0
- OpenTelemetry.Instrumentation.Runtime to 1.12.0
- System.Net.ServerSentEvents to 9.0.5
- xunit to 2.9.3
- xunit.runner.visualstudio to 3.1.0
---
updated-dependencies:
- dependency-name: coverlet.collector
dependency-version: 6.0.4
dependency-type: direct:production
update-type: version-update:semver-patch
- dependency-name: Microsoft.Extensions.Hosting
dependency-version: 9.0.5
dependency-type: direct:production
update-type: version-update:semver-patch
- dependency-name: Microsoft.Extensions.Logging
dependency-version: 9.0.5
dependency-type: direct:production
update-type: version-update:semver-major
- dependency-name: Microsoft.NET.Test.Sdk
dependency-version: 17.13.0
dependency-type: direct:production
update-type: version-update:semver-minor
- dependency-name: Microsoft.SemanticKernel.Agents.Core
dependency-version: 1.51.0
dependency-type: direct:production
update-type: version-update:semver-minor
- dependency-name: OpenTelemetry.Instrumentation.Runtime
dependency-version: 1.12.0
dependency-type: direct:production
update-type: version-update:semver-minor
- dependency-name: System.Net.ServerSentEvents
dependency-version: 9.0.5
dependency-type: direct:production
update-type: version-update:semver-patch
- dependency-name: xunit
dependency-version: 2.9.3
dependency-type: direct:production
update-type: version-update:semver-patch
- dependency-name: xunit.runner.visualstudio
dependency-version: 3.1.0
dependency-type: direct:production
update-type: version-update:semver-major
...
Signed-off-by: dependabot[bot] <support@github.com>
* Update Microsoft.NET.Test.Sdk to 17.14.0
---
updated-dependencies:
- dependency-name: Microsoft.NET.Test.Sdk
dependency-version: 17.14.0
dependency-type: direct:production
update-type: version-update:semver-minor
- dependency-name: Microsoft.SemanticKernel.Agents.Core
dependency-version: 1.53.1
dependency-type: direct:production
update-type: version-update:semver-minor
...
Signed-off-by: dependabot[bot] <support@github.com>
* Fixed SK Travel Agent demo
* Split build between libs and samples to enable multiframework lib building
* Fixed framework versions
* Limit sample building to net9.0
* fixed paths for ubuntu
* Always setup 9.0
* Updated version to preview.5
* feat: Updated a2a protocol and changed serialization
* Updated TaskManager to support new SendMessage. WIP
* It builds and the tests pass!
* Return Task as first event in stream
* feat: Introduce MessageRole enum and update message handling in EchoAgent and HostedClientAgent
* chore: Changed some package dependencies to be more flexible
* Tested samples
* Fixed sln file
* Fix logging of taskId
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
* Did some client renaming and added resubscribe method
* Updated JSON Schema used by tests
* Update README.md
* Updated version to 0.2.1 to match protocol version
* rename namespace
* rename projects
* rename solution file and migrate it to slnx format
* add a2a project
* enable central package management
* review dependencies
* update repo and project urls
* update project descriptions, tags, etc
* reference readme file
* move unit test project to tests folder
* rename a2atests project and test folder
* add test project per project
* move unit tests to test projects they belong
* add root namespace to test projects and updated the namespaces accordingly.
* update license identifier
* update tags, author, and package version
* add gitignore to solution items
* fix build and run action
* fix warnings
* fix property name
* Update README.md
Co-authored-by: Stephen Toub <stoub@microsoft.com>
---------
Signed-off-by: Vincent Biret <vibiret@microsoft.com>
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: Darrel Miller <darrel.miller@microsoft.com>
Co-authored-by: markwallace-microsoft <127216156+markwallace-microsoft@users.noreply.github.com>
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
Co-authored-by: Vincent Biret <vibiret@microsoft.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Stephen Toub <stoub@microsoft.com>1 parent 708f6f3 commit dce4a09
File tree
98 files changed
+10908
-2
lines changed- .github
- workflows
- samples
- A2ACli
- Host
- Properties
- AgentServer
- .vscode
- Properties
- Client
- SemanticKernelAgent
- properties
- src
- A2A.AspNetCore
- properties
- A2A.Core
- Client
- JsonRpc
- Models
- Server
- properties
- A2A
- tests
- A2A.AspNetCore.UnitTests
- A2A.Core.UnitTests
- A2A.UnitTests
Some content is hidden
Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.
98 files changed
+10908
-2
lines changed| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
| 1 | + | |
| 2 | + | |
| 3 | + | |
| 4 | + | |
| 5 | + | |
| 6 | + | |
| 7 | + | |
| 8 | + | |
| 9 | + | |
| 10 | + | |
| 11 | + | |
| 12 | + | |
| 13 | + | |
| 14 | + | |
| 15 | + | |
| 16 | + | |
| 17 | + | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
| 1 | + | |
| 2 | + | |
| 3 | + | |
| 4 | + | |
| 5 | + | |
| 6 | + | |
| 7 | + | |
| 8 | + | |
| 9 | + | |
| 10 | + | |
| 11 | + | |
| 12 | + | |
| 13 | + | |
| 14 | + | |
| 15 | + | |
| 16 | + | |
| 17 | + | |
| 18 | + | |
| 19 | + | |
| 20 | + | |
| 21 | + | |
| 22 | + | |
| 23 | + | |
| 24 | + | |
| 25 | + | |
| 26 | + | |
| 27 | + | |
| 28 | + | |
| 29 | + | |
| 30 | + | |
| 31 | + | |
| 32 | + | |
| 33 | + | |
| 34 | + | |
| 35 | + | |
| 36 | + | |
| 37 | + | |
| 38 | + | |
| 39 | + | |
| 40 | + | |
| 41 | + | |
| 42 | + | |
| 43 | + | |
| 44 | + | |
| 45 | + | |
| 46 | + | |
| 47 | + | |
| 48 | + | |
| 49 | + | |
| 50 | + | |
| 51 | + | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
7 | 7 | | |
8 | 8 | | |
9 | 9 | | |
| 10 | + | |
| 11 | + | |
| 12 | + | |
| 13 | + | |
| 14 | + | |
| 15 | + | |
10 | 16 | | |
11 | 17 | | |
12 | 18 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
| 1 | + | |
| 2 | + | |
| 3 | + | |
| 4 | + | |
| 5 | + | |
| 6 | + | |
| 7 | + | |
| 8 | + | |
| 9 | + | |
| 10 | + | |
| 11 | + | |
| 12 | + | |
| 13 | + | |
| 14 | + | |
| 15 | + | |
| 16 | + | |
| 17 | + | |
| 18 | + | |
| 19 | + | |
| 20 | + | |
| 21 | + | |
| 22 | + | |
| 23 | + | |
| 24 | + | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
| 1 | + | |
| 2 | + | |
| 3 | + | |
| 4 | + | |
| 5 | + | |
| 6 | + | |
| 7 | + | |
| 8 | + | |
| 9 | + | |
| 10 | + | |
| 11 | + | |
| 12 | + | |
| 13 | + | |
| 14 | + | |
| 15 | + | |
| 16 | + | |
| 17 | + | |
| 18 | + | |
| 19 | + | |
| 20 | + | |
| 21 | + | |
| 22 | + | |
| 23 | + | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
| 1 | + | |
| 2 | + | |
| 3 | + | |
| 4 | + | |
| 5 | + | |
| 6 | + | |
| 7 | + | |
| 8 | + | |
| 9 | + | |
| 10 | + | |
| 11 | + | |
| 12 | + | |
| 13 | + | |
| 14 | + | |
| 15 | + | |
| 16 | + | |
| 17 | + | |
| 18 | + | |
| 19 | + | |
| 20 | + | |
| 21 | + | |
| 22 | + | |
| 23 | + | |
| 24 | + | |
| 25 | + | |
| 26 | + | |
| 27 | + | |
| 28 | + | |
| 29 | + | |
| 30 | + | |
| 31 | + | |
| 32 | + | |
| 33 | + | |
| 34 | + | |
| 35 | + | |
| 36 | + | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
1 | | - | |
2 | | - | |
| 1 | + | |
| 2 | + | |
| 3 | + | |
| 4 | + | |
| 5 | + | |
| 6 | + | |
| 7 | + | |
| 8 | + | |
| 9 | + | |
| 10 | + | |
| 11 | + | |
| 12 | + | |
| 13 | + | |
| 14 | + | |
| 15 | + | |
| 16 | + | |
| 17 | + | |
| 18 | + | |
| 19 | + | |
| 20 | + | |
| 21 | + | |
| 22 | + | |
| 23 | + | |
| 24 | + | |
| 25 | + | |
| 26 | + | |
| 27 | + | |
| 28 | + | |
| 29 | + | |
| 30 | + | |
| 31 | + | |
| 32 | + | |
| 33 | + | |
| 34 | + | |
| 35 | + | |
| 36 | + | |
| 37 | + | |
| 38 | + | |
| 39 | + | |
| 40 | + | |
| 41 | + | |
| 42 | + | |
| 43 | + | |
| 44 | + | |
| 45 | + | |
| 46 | + | |
| 47 | + | |
| 48 | + | |
| 49 | + | |
| 50 | + | |
| 51 | + | |
| 52 | + | |
| 53 | + | |
| 54 | + | |
| 55 | + | |
| 56 | + | |
| 57 | + | |
| 58 | + | |
| 59 | + | |
| 60 | + | |
| 61 | + | |
| 62 | + | |
| 63 | + | |
| 64 | + | |
| 65 | + | |
| 66 | + | |
Loading
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
| 1 | + | |
| 2 | + | |
| 3 | + | |
| 4 | + | |
| 5 | + | |
| 6 | + | |
| 7 | + | |
| 8 | + | |
| 9 | + | |
| 10 | + | |
| 11 | + | |
| 12 | + | |
| 13 | + | |
| 14 | + | |
| 15 | + | |
| 16 | + | |
| 17 | + | |
| 18 | + | |
| 19 | + | |
| 20 | + | |
| 21 | + | |
| 22 | + | |
0 commit comments