Commit Graph

4 Commits

  • .NET: [BREAKING] Implement Polymorphic Routing (#3792)
    * feat: Implement Polymorphic Routing
    
    * feat: Add support for Send/Yield annotations with basic Executor
    
    * Adds annotations to Declarative workflow executors
    
    * fix: Address PR Comments
    
    * Implicit filter in collection loops
    * Remove debug / usused / superfluous code
    * Fix ProtocolBuilder implicit output registrations
    * Fix logic error in ExecuteRouteGeneratorTests.ClassWithManualConfigureProtocol_DoesNotGenerate
    
    * fix: Solidify type checks and send/yield type registrations
    
    * fix: Suppress generation of TurnTokens out of AggregateTurnMessagesExecutor
    
    * Fixes an issue where ConcurrentEndExecutor is not expecting TurnTokens.
    
    * fix: Add ProtocolBuilder support for chained-delegation
    
    * Updates Declarative pacakge to rely on chained-delegation Send/Yield registration
    * Renames DeclarativeActionExectuor's new ExecuteAsync to ExecuteActionAsync to avoid colliding with Executor.ExecutoeAsync
    
    * fix: Address PR Comments
    
    * Fixes type mapping in FanInEdgeRunner
    * Fixes and expalins send/yield type registration in FunctionExecutor
    
    * fixup: build-break
    
    * fix: Add missing SendsMesage declaration to InvokeAzureAgentExecutor
  • 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: [BREAKING] Enable sharing of workflow instances across concurrently executing runs (#1464)
    * refactor: remove unused internals
    
    * feat: Execution Mode for sharing a workflow among concurrent runs
    
    * feat: Update WorkflowHostAgent to support concurrent execution
    
    * Also update AsAgent APIs to support injecting a CheckpointManager and an IWorkflowExecutionEnvironment
    
    * fix: Make Read logic consistent in DeclarativeWorkflowContext
  • Fix: Add missing ChatMessage[] handler to ChatProtocolExecutor (#1337)
    - Added ChatMessage[] handler to ConfigureRoutes to support array dispatch
    - Workflow runtime can dispatch messages as either List<ChatMessage> or ChatMessage[]
    - Added 10 comprehensive unit tests validating message routing behavior
    - Tests ensure functionality and protect against future refactoring (issue #782)
    - Updated code comments to reflect exact-type-matching requirement
    
    Fixes issue where raw WorkflowBuilder with AIAgent nodes failed to receive
    initial messages due to missing array type handler.