Commit Graph

10 Commits

  • fix: JSON Serialization issue with MultiPartyConversation (#5653)
    When MultiPartyConversation gets saved during checkpointing, the data for the chat history is not persisted, resulting in failures to deserialize after. The fix is to make the history visible to the source generated serialization code.
  • .NET: Pass through external input request and handle response conversion for workflow as agent scenario (#4361)
    * Handle external input request and response conversion for workflow as agent scenario
    
    * Remove unnecessary test comment
    
    * Fix PR comments
    
    * Updated to fix edge cases, and add more tests.
    
    * Update pending requests to use typed properties instead of relying on StateBag. replying to PR feedback.
    
    * Fixed external response de-dup and updated possible brittle test.
    
    * Address PR comments on sending turn token for normal messages and handle contentId collision by source agent
    
    * Remove unnecessary serialization element and address pr comment on intercepted outgoing requests
    
    * Updated MEAI changes for UserInput request and response abstractions.
  • .NET: Fix: Checkpoint Deserialization breaks when JSON metadata properties are out of order (#3442)
    * Fix checkpoint JSON deserialization with out-of-order metadata properties (#2962)
    
    * Simplify: propagate AllowOutOfOrderMetadataProperties from incoming JsonSerializerOptions
  • .NET: adds support for labels in edges, fixes rendering of labels in dot a… (#1507)
    * adds support for labels in edges,  fixes rendering of labels in dot and mermaid, adds rendering of labels in edges
    
    * Update dotnet/src/Microsoft.Agents.AI.Workflows/Visualization/WorkflowVisualizer.cs
    
    Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
    
    * escaping edge labels, adding tests for labels containing strange characters that would break the diagram and enabling the previous signature so the API has backwards compatibility.
    
    * Unify label in EdgeData
    
    * Edge API adjustments, removed useless "sanitizer"
    
    * fixed test
    
    ---------
    
    Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
    Co-authored-by: Jacob Alber <jaalber@microsoft.com>
    Co-authored-by: Chris <66376200+crickman@users.noreply.github.com>
  • .NET: [BREAKING] Unify ExecutorIsh and ExecutorRegistration, unify/simplify APIs (#1637)
    * 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
  • fix: InMemoryCheckpointManager is not JSON serializable (#1639)
    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.
  • refactor: [BREAKING] Remove generic Workflow<T> (#1551)
    Remove input type checking in favour of explicit `.DescribeProtocolAsync()` flow. Also removes `.AsAgentAsync()` as the validation happens at workflow run time. This makes it easier to use Workflows with DI without resorting to async-over-sync.
  • .NET: fix: Make State Persistence APIs work better with PortableValue (#1367)
    * fix: Make State Persistence APIs work better with PortableValue
    
    * test: Temporarily disable checking for T=object in ReadStateAsync
  • .NET: Add support for Subworkflows and many threading fixes (#1066)
    * feat: Add support for Workflow-as-Executor
    
    * Fixes routing of 'object' compile-typed variables to properly take in type information
    * Fixes a concurrency issue in StepTracer
    
    * fix: Make Subworkflow ExternalRequests work properly
    
    * fix: Threading and Concurrency fixes; prep for OffThread Mode
    
    * refactor: Remove dead code around OffStreamRunEventStream
    
    Currently not used, and will be replaced with a rewrite when brought back, so having it in the change is not valuable.
    
    * ci: Work around issues with dotnet-format not properly analyzing the source
    
    * fix: Fix the logic of AsyncCoordinator and AsyncBarrier
    
    * Prevent individual wait cancellations from canceling the entire barrier
    * Propagate information about whether the wait was completed or cancelled, and whether any waiters were present when released
    
    * fix: Remove superfluous acces to .Keys in InProcStepTracer
    
    * refactor: Clean up AsyncCoordinator's use of AsyncBarrier
  • .NET: Rename workflows projects (#975)
    * Renaming Microsoft.Agent.Workflows to Microsoft.Agents.AI.Workflows
    
    * Removing local settings.
    
    * Removing remining old files from merge.