Commit Graph

8 Commits

  • .Net: Add support for 3rd party thread storage and thread serialization (#203)
    * Add thread storage and serialization POC
    
    * Switch to using JsonElement and add unit tests
    
    * Add additional unit tests.
    
    * Exclude private debugger properties from CodeCoverage.
    
    * Rename IChatMessagesStorable to IChatMessageStore
    
    * Apply suggestions from code review
    
    Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
    
    * Improve xml doc.
    
    * Update the message storing thread to always use external store for both local and remote storage.
    
    * Remove threadid from the IChatMessageStore interface, since the store should own the thread id itself, if it requires one.
    
    * Switch GetMessages to IEnumerable
    
    * Address pr comments.
    
    * Make jsonserializer options default consistent on DeserializeThreadAsync
    
    * Move message storing thread functionality into AgentThread and simplify AgentThread behavior.
    
    * Remove embedding generation from VectorStore chat history sample.
    
    * Remove unecessary code and fix formatting.
    
    * Make GetNewThread and DeserializeThread virtual with default implementations.
    Remove unsued json utilities.
    
    * Fix formatting
    
    * Remove problem test.
    
    * Add more unit tests
    
    * Remove unused using clause.
    
    * Address pr feedback.
    
    * Address PR comments.
    
    * Make InMemory store internal
    
    * Switch InMemoryChatMessageStore to implement IList instead of inheriting from List.
    
    * Rename store deserialize param.
    
    * Update serialization based on PR comments.
    
    * Remove confusing comment.
    
    * Address Deserialization PR comments in the same way as Serialization
    
    * Add State to IChatMessageStore Serialize and Deserialize names.
    Make Thread Deserialize internal.
    Make AgentThread type switching fobidden.
    
    ---------
    
    Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
    Co-authored-by: Chris <66376200+crickman@users.noreply.github.com>
  • .NET: Clean / address some message warnings (#291)
    * WIP
    
    * Structured Output sample
    
    * Update dotnet/samples/GettingStarted/Steps/Step06_ChatClientAgent_StructuredOutputs.cs
    
    Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
    
    * Address xml and comment targeting the Structured Output context
    
    * Update with proposed fix for Persistent ChatClient
    
    * Address PR feedback
    
    * Address minor warnings
    
    * Address initialization
    
    * Address initialization
    
    * Address PR comments, update suggestions
    
    * Revert changes to NullableAttributese.cs
    
    ---------
    
    Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
    Co-authored-by: Chris <66376200+crickman@users.noreply.github.com>
  • .NET: CosmosDB Actor State Storage (#262)
    * Implement CosmosDB actor state storage.
    
    * Fix.
    
    * Minor fixes.
    
    * Fixes.
    
    * Make CosmosDB initialization be lazy.
    
    * Remove unnecessary read from write path.
    
    * Throw on empty writes.
    
    * Add arg validation for read.
    
    * Add CosmosIdSanitizer.
    
    * Fix.
    
    * Fix.
    
    * Simplify doc IDs.
    
    * Update comment.
    
    * fb
    
    * Make LazyCosmosContainer internal and add tests.
    
    * Make test constants public and remove IVT.
    
    * Use source generated JSON context for future nativeAOT support.
    
    * Re-add dropped comments.
  • Clean up handoff orchestration creation (#235)
    - Remove Dictionary-derived types
    - Add an optional name to orchestrations
    - Make Handoffs based purely on AIAgent instances rather than separately provided names
  • Clean up usage of JsonSerializerContext (#229)
    * Clean up usage of JsonSerializerContext
    
    * review feedback
  • Initial draft of actor runtime abstractions (#197)
    * Initial draft of actor runtime abstractions