* 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>
* Add ADR for different run response options
* Add another option to the list.
* Update agno non-streaming with further clarification
* Add another option
* Adding optional includeUpdates option
* Adding Pros/Cons for each option
* Make pros/cons a list
* Add some thoughts on structured outputs and custom AIContent types
* Update design doc to clarify primary and secondary better and split out custom response types with it's own options
* Add structured outputs competitive comparison and suggestion
* Address PR comments.
* Remove AgentRunFinishReason until we can find a good use case for it.
* Add finish reason to list of excluded properties.
* Add custom agent run response types.
Usage to follow.
* Update Agent run response types
* Add additional code coverage
* Remove onIntermediateMessage since it is unecessary with the new response approach.
* Add AgentId to response.
* Rename ParseAsStructuredOutput to Deserialize
* Update decision doc.
* Fix formatting.
* Update CopilotStudio to return new response types
* Address PR comment
Co-authored-by: Roger Barreto <19890735+rogerbarreto@users.noreply.github.com>
---------
Co-authored-by: Roger Barreto <19890735+rogerbarreto@users.noreply.github.com>
* Add project and skeleton files.
* Add CopilotStudioAgent implementation
* Add CopilotStudio integration tests
* Fix typos and PR feedback.
* Fix .net framework build errors.
* Address PR comments
* Remove temp test.
* Add rawresponse for streaming updates and more comments.
* Add TODO to review streaming updates
* Address PR comments and fix some issues with streaming messages.
* Map additional properties to agent reponses
* Update CopilotStudio integration tests to match new approach.
* Update copilot studio namespaces/project names to match new naming
* Add todo's for AIContent types.
* Remove files from PR.
* Fix up sln file.
* Update .gitignore.
* Remove duplicate package version items.