* Move Purview integration logic into middleware
* Improve error handling and user id management
* Rename purview package
* Handle 402s more explicitly; add Middleware generation methods; don't ignore exceptions
* Use DI container; pass scope id to PC
* Add protection scope caching
* Wrap more exceptions in PurviewClient
* Remove block check dedup; add tests
* Refactor PurviewWrapper intialization; Add unit tests
* Use different .Use method and add IDisposable stub
* Add background job processing for Purview
* Misc comment cleanup
* Apply copilot comments
* Fix formatting
* Formatting other files to fix pipeline
* Small updates to settings and exceptions
* Add README
* Move Purview sample
* Address review comments and update XML comments
* Newline after namespace
* Move public Purview classes to single namespace; Clean up csproj and slnx
* Commit the renames
* Remove unused openAI dependency
---------
Co-authored-by: Dmytro Struk <13853051+dmytrostruk@users.noreply.github.com>
* Add unit tests for create conversation executor
* Update indentation and comment typo.
* Added unit tests for declarative executor SetMultipleVariablesExecutor
* Updated comments and syntactic sugar
* Add ChatHistoryMemoryProvider with unit tests
* Set new project to not packable.
* Fix bugs
* Add serialization support.
* Update dotnet/src/Microsoft.Agents.AI.VectorDataMemory/ChatHistoryMemoryProvider.cs
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
* Remove unnecessary line
* Convert ChatHistoryMemoryProvider to use Dynamic collections.
* Sealing options and scope classes.
* Add sample, add scope to logs and improve scope validation
* Move ChatHistoryMemoryProvider to MAAI project.
---------
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
* Fix the ordering of chained resolvers in JsonSerializerOptions
We want the resolvers from AIJsonUtilities to be used before the ones from the source generator, in case the source generator emits its own copy in that assembly for the M.E.AI types.
* Apply suggestions from code review
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
* Update dotnet/src/Microsoft.Agents.AI/AgentJsonUtilities.cs
* Update dotnet/src/Microsoft.Agents.AI.Mem0/Mem0JsonUtilities.cs
Co-authored-by: westey <164392973+westey-m@users.noreply.github.com>
* Remove unused using directive in Mem0JsonUtilities
Removed unused using directive for Microsoft.Extensions.AI.
---------
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
Co-authored-by: westey <164392973+westey-m@users.noreply.github.com>
* fix: Workflow Validation
* adds orphan validation to workflow builder
* adds tests for workflow validation
* expands on the underlying reasoning why type validation is not supported
* fixup: CodeGen template
* [BREAKING] refactor: Normalize WorkflowBuilder APIs
* "partitioner" => "assigner"
* normalize ordering so sources always to the left of targets for edges
* normalize parameter ordering so sources and targets are always first arguments
* remove `params` (users should use collection expressions instead)
* refactor: Align name with Python
* Initial plan
* Infrastructure setup
* Plan for minimal client
* Plan update
* Basic agentic chat
* cleanup
* Cleanups
* More cleanups
* Cleanups
* More cleanups
* Test plan
* Sample
* Fix streaming and error handling
* Fix notifications
* Cleanups
* cleanup sample
* Additional tests
* Additional tests
* Run dotnet format
* Remove unnecessary files
* Mark packages as non packable
* Fix build
* Address feedback
* Fix build
* Fix remaining warnings
* Feedback
* Feedback and cleanup
* Cleanup
* Cleanups
* Cleanups
* Cleanups
* Retrieve existing messages from the store to send them along the way and update the sample client
* Run dotnet format
* Add ADR for AG-UI
* Switch to use the SG and use a convention for run ids
* Cleanup MapAGUI API
* Fix formatting
* Fix solution
* Fix solution
Javier Calvarro Nelson
·
2025-11-05 15:51:37 +00:00
* Port store for adding text to a vector store to AF
* Fix typo.
* Change TextSearchStore to sample, and add sample to use it and do rag with a custom schema
* Add more tests and fix broken ones
* Fix merge issue
* Fix sample after merge.
* Convert TextSearchStore to use Dynamic mode to be AOT compatible.
* Add some more clarification on when to use assistant messages in rag searches.
* refactor: Unify ExecutorIsh and ExecutorRegistration => ExecutorBinding
* Switch to more modern Record type-tree for Sum Types
* Unify APIs for getting ExecutorBinding
* Fix an issue where workflows consisting entirely of cross-run shareable executors which are not instance-resettable do not properly clear state when running non-concurrently.
* feat: Simplify function-to-executor pattern
* refactor: Normalize API naming
* Propagate cancellation token down the stack
* Added unit tests to cover workflow cancellation scenarios
* Updated tests based on feedback to simplify assert.
* Create custom AsyncEnumrable to gracefully handle cancellation for Channel reader. Tailor cancellation tests to declarative scenarios.
* Update comment and naming for readability.
* Fixing minor stylistic recommendation.
---------
Co-authored-by: Chris <66376200+crickman@users.noreply.github.com>
* Fix issue where AIContextProvider messages were not added to MessageStores
* Fix typos
* Update XML docs to reduce ambiguity.
* Update AIContext XML docs
* Fix merge issue
* Add Rag AIContext Provider
* Fix issues
* Improve options naming based on PR feedback.
* Move Rag Provider to Data namespace
* Add Raw Representation to RagSearchResult
* Renaming RagProvider to TextSearchProvider
* Porting Mem0Provider to AF from SK
* Switch integration tests to manual
* Address issues
* Move Mem0Provider to separate project.
* Move integration tests to new project
* Address PR comments.
Concurrent run support was recently added to workflows, but Orchestrations did not fully update to support it. A few executors were missing Cross-Run Shareable annotations, and the ConcurrentEnd executor needed to be factory-instantiated.
This also ports the fix for #1613 from #1637, to avoid waiting on that PR.
Checkpointing is used by the WorkflowHostAgent to be able to support resume from a provided thread. When a CheckpointManager is not specified, we use the InMemoryCheckpointManager and serialize its state into the thread's Serialize()ed JsonElement.
At some point InMemoryCheckpointManager became not serializable, breaking this behaviour. This change restores serializability, and adds a test.
* Improve conformance of OpenAI Responses API serving
* Update dotnet/src/Microsoft.Agents.AI.Hosting.OpenAI/Responses/AgentRunResponseExtensions.cs
Co-authored-by: Stephen Toub <stoub@microsoft.com>
* Update dotnet/src/Microsoft.Agents.AI.Hosting.OpenAI/Responses/AgentRunResponseExtensions.cs
Co-authored-by: Stephen Toub <stoub@microsoft.com>
* Sort packages
* Relax adherence where acceptable
* nit
* PromptCacheKey is not obsolete
* format
---------
Co-authored-by: Stephen Toub <stoub@microsoft.com>