* Re-enable ImplicitUsings in samples and clean up NoWarns
* Fix dotnet format
* More dotnet format
* More dotnet format
---------
Co-authored-by: Chris <66376200+crickman@users.noreply.github.com>
* Add AIContextProvider support
* Address feedback.
* Address PR comments.
* Switch to valuetask and remove parallel calls for AIContextProvider
* Remove Model from ModelInvokingAsync method name
* Remove agent thread id again and remove it from context provider interface
* Add AIContextProvider serialization support to AgentThread and update sample to show this feature
* Address PR comments
* Improve memory sample
* Update sample comment.
* Remove AggregateAIContextProvider for now since it makes too many assumptions. We can include it later as a sample if needed.
* Update AIContextProviders to have an Invoked method instead of MessagesAddingAsync.
* Remove unused using.
* Address PR comments.
* Address PR comment.
* Update comment.
* Update comment
* Address PR comments.
- Moved InProcessRuntime type into abstractions package and deleted InProcess package.
- Moved several members of IAgentRuntime to be extension methods instead, e.g. multiple GetActorAsync overloads.
- Added synchronous RegisterMessageHandler overloads and used them to avoid unnecessary async usage at call sites.
- Removed unnecessary surface area from InProcessRuntime, e.g. StopAsync, RunUntilIdleAsync, etc.
- Fixed spin loop in InProcessRuntime that would consume an entire core for the duration of the orchestration's operation.
- Removed a bunch of allocation from InProcessRuntime.
- Made a runtime optional for orchestrations, defaulting to using a temporary InProcessRuntime if none is provided.
- Removed custom delegate types from orchestrations.
- Consolidated namespaces.
- Used records to simplify message classes.
- Tweaked naming on AgentActor to make purpose of protected methods more clear.
- Removed invocation in AgentActor.InvokeAsync of empty update / isFinal parameter.
- Changed OrchestrationHandoffs to avoid needing to pass in agents duplicatively.
- Made various extension methods, such as those on OrchestrationHandoffsExtensions, into instance methods.
* Update ChatClientAgentThread to support both in-memory and service storage.
* Fix typos.
* Address PR comments
* Move code to reusable sections.
* Remove DefaultThreadStorageLocation
* Change thread type naming and make it internal
* Fix bug for streaming case.
* Add additional unit tests
* Add more unit tests to verify agent's thread update behavior.