* moves AgentId into Agent
* Renames AgentRuntime to AgentMessenger (more accurate name)
* Remove IAgentRuntime Interface
* changes constructor of Agent to take IAgentWorker instead of IAgentRuntime
* move optional base agents to separate package
* rename main sdk to Core
* reduce dependency graph
Co-authored-by: @rysweet
Authored-by: @kostapetan
Co-authored-by: @kopetan-ms
* refactor renaming agent base
* 1st draft
* 1st draft
* format
* rename the tsts
* move IagentWorker
* 1st draft
* format
* gen-proto
* run gen-proto-samples
* format
* merge problem format
* add default subscriptions for the agent type - Implicitly created subscription for agent RPC #4321
* add default sub for agenttype+id
* fix subscription implementation for in memory runtime
---------
Co-authored-by: XiaoYun Zhang <xiaoyuz@microsoft.com>
* add subscription response
* fix send subscription response
* add register agent type response
* adding a test
* working on shaping up a test
* appsettins update for backend
* another appsettings
* fixup aspire hosting
* enable AGENT_HOST var from aspire
* add SendMessageAsync
* remove broken test
* test compiles and runs but is not (yet) correct
* subscriptions grain wireup.
* temp assert true.
* remove DI for SubscriptionGrain
* add xlang python code
* add subscription response
* rebond
* Update to .NET 9.0
* Fix Backend project SDK
* Package updates
* get RegisterAgentTypeRequest working
* fix exceptions
* add error handling for requests
* whoops
* send cloud event message type
* processing cloudevents
* trying tosend proto data - doesn't work
* trying to pack proto_data
* fix (#4238)
* pack the Message from agents_events
* format - not sure why these?
* format
* cleanup, error handling, xlang sample publishes messages that can be heard by .NET and vice versa
* format
* sdk version
* sdk vers
* net8
* back to net8
* remove netstandard2
* fix used
* remove unused
* more cleanup
* remove unneeded package
* I'm terrible at writing tests
* deserialize the cloud events and sent them as events
* comment
* cleanup
* await
* Delete dotnet/samples/Hello/Backend/Backend.csproj
unneeded change
* whoops
* merge main python back into here
* revert back to local
* revert some of the helloAgents changes.
* [.NET] Add happy path test for in-memory agent && Simplify HelloAgent example && some clean-up in extension APIs (#4227)
* add happy path test
* remove unnecessary namespace
* fix build error
* Update AgentBaseTests.cs
* revert changes
---------
* fix busted merge from main
* addressing review comments
* make internal
* case sensitive rename step 1
* case sensitive rename step 2
* remove!
---------
Co-authored-by: Peter Chang <petchang@microsoft.com>
Co-authored-by: Reuben Bond <reuben.bond@gmail.com>
Co-authored-by: Eric Zhu <ekzhu@users.noreply.github.com>
Co-authored-by: Xiaoyun Zhang <bigmiao.zhang@gmail.com>
closes#3950closes#3702
What this is doing:
I am refactoring the services on the .NET runtime and attempting to clarify the naming and organization.
I added this doc to help capture the naming and concepts.
AgentRuntime / Worker should work similar to the python version and enables running the whole agent system in one process. For remote the system uses the versions of the services in the grpc folder.
lots of other bug fixes/threading cleanup - passing cancellation token throughout
Services update clarifies the naming and roles:
Worker: Hosts the Agents and is a client to the Gateway
Gateway:
-- RPC gateway for the other services APIs
-- Provides an RPC bridge between the workers and the Event Bus
Registry: keeps track of the agents in the system and which events they can handle
AgentState: persistent state for agents
* Update FunctionCallTemplate.tt
changed the desscription assigning to handle double quotes in comments and prevent the generated code from breaking.
* Added the necessary changes
Fixed handling of double quotes in descriptions within FunctionCallTemplate.tt.
Standardized newline characters to ensure consistency.
Updated test cases in FunctionCallTemplateEncodingTests to verify correct encoding of double quotes in descriptions.
Cleaned up unnecessary using directives in FunctionCallTemplateEncodingTests.
Aligned the template with the approved test output.
* test cases passing
Test cases passing like `Starting test execution, please wait...
A total of 1 test files matched the specified pattern.
Passed! - Failed: 0, Passed: 9, Skipped: 0, Total: 9, Duration: 66 ms - AutoGen.SourceGenerator.Tests.dll (net8.0)`
* Delete FunctionCallTemplateTests.TestFunctionCallTemplate.approved.txt
Deleted the ApprovalTests/FunctionCallTemplateTests.TestFunctionCallTemplate.approved.txt successfully!
* Revert "Delete FunctionCallTemplateTests.TestFunctionCallTemplate.approved.txt"
This reverts commit 7a6ea9cf0d5831ba7a5c445a7f9b64da713c600d.
---------
Co-authored-by: Xiaoyun Zhang <bigmiao.zhang@gmail.com>
* Squash commits : support anthropic tools
* Support tool_choice
* Remove reference from TypeSafeFunctionCallCodeSnippet.cs and add own function in test proj