Commit Graph

4 Commits

  • .NET: [BREAKING] .NET: Add Workflow on-Build() Orphan Validation (#1943)
    * 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
  • .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
  • feat: Add name and description support to workflows (#1183)
    Add optional name and description fields to workflows in both Python and .NET implementations, matching the existing agent API pattern.
    
    Python changes:
    - Add name/description parameters to WorkflowBuilder.__init__
    - Add name/description attributes to Workflow class
    - Include name/description in to_dict() serialization
    - Add WORKFLOW_NAME and WORKFLOW_DESCRIPTION OTEL attributes
    - Add tests in test_serialization.py and test_workflow_observability.py
    
    .NET changes:
    - Add Name and Description properties to Workflow and Workflow<T>
    - Add WithName() and WithDescription() fluent methods to WorkflowBuilder
    - Add WorkflowName and WorkflowDescription OTEL tags
    - Add test in WorkflowBuilderSmokeTests.cs
    
    This enables applications like DevUI to display human-readable workflow names (e.g., 'Data Processing Pipeline') instead of auto-generated UUIDs (e.g., 'Workflow 50fdd917').
    
    Fixes: #1181
  • .NET: Rename workflows projects (#975)
    * Renaming Microsoft.Agent.Workflows to Microsoft.Agents.AI.Workflows
    
    * Removing local settings.
    
    * Removing remining old files from merge.