Commit Graph

4 Commits

  • .NET: feat: Implement Checkpointing API (#420)
    * feat: Implement Checkpointing API
    
    * refactor: Normalzie Namespaces and break out multi-class files
    
    * feat: Support checkpointing in AIAgentHostExecutor
    
    * test: Representation tests
    
    * feat: Add Step-level Tracing and WorkflowEvents
    
    * feat: Add Checkpointing Sample and Smoke Test
    
    * Fixes an issue where StateManager was not properly clearing the incoming queued updates.
    * Fixes order of checkpointing and in-step event publication
    * Adds import of RunContext state on LoadCheckpoint
    * Add re-firing of events for unserviced ExternalRequests on Checkpoint load
    
    * docs: Add documentation to publics
    
    * Also adds documentation to ICheckpointManager which may go public
    
    * refactor: Fix Union Aggregators and add Tests
    
    * fix: Fix issues raised in PR comments and remove dead code
  • .NET: feat: Host Workflow as AIAgent (#469)
    * feat: Host Workflow as AIAgent
    
    * Also changes AIAgent-as-Executor to use streaming runs and streaming
      events
    * Also enables default setting for yielding events
    
    * fix: Infinite loop in GenerateNewId()
    
    * docs: Spelling
    
    * test: Add Workflow-as-Agent sample and test
  • .NET: feat: Improve Support for AIAgent-as-Executor (#432)
    * feat: Support Executor-targeted messages
    
    This adds support for only sending a message to a given executor. Messages will still only route through connected edges.
    
    * feat: Support sending all valid input types after starting a run
    
    * feat: Normalize AIAgent-as-Executor Message Protocol to use MEAI types
  • .Net: WIP: feat: Define Workflow and Executor APIs (#261)
    * feat: Define Workflow and Executor APIs
    
    * feat: Define IExecutionContext and Events
    
    * feat: Simple Workflow Demos
    
    * refactor: Move Workflows classes to separate assembly
    
    * feat: Move FanOut/In to LowLevel API with new semantics
    
    * feat: Implement Local Execution
    
    * refactor: Assembly name .Workflow => .Workflows
    
    * feat: Enable Default Message Handling
    
    * also lifts Bind in MessageHandlerInfo to better be able to direclty invoke handlers (for AOT, later)
    
    * feat: Implement StreamingHandle APIs
    
    This allows the user to respond to WorkflowEvents with external messages, enabling HIL.
    
    * feat: Add checks for duplicate edges and chain cycles
    
    * feat: Add built-in WorkflowEvents
    
    * refactor: Pull classes into own files
    
    * refactor: Simplify Disposal pattern in Executor
    
    * refactor: Break EdgeRunner file into per-type files
    
    * refactor: Use Throw.IfNull()
    
    * refactor: Remove AddLoop()
    
    Per https://github.com/microsoft/agent-framework/pull/272#discussion_r2241739079 we decided this was not very useful.
    
    * refactor: Normalize use of ValueTask
    
    * fix: Build Break from removing .AddLoop
    
    * refactor: Explicit routing and RouteBuilder
    
    Split out reflection from MessageRouter implemention into build phase, enabling AOT compilation to drive RouteBuilding without reflection.
    
    * test: Add Reflection/Invocation tests
    
    * fix: Terminate on Completion event
    
    * refactor: Update public API surface
    
    * feat: Add support for external requests
    
    * feat: Support hosting AIAgent instances in Workflows
    
    * fix: Fix routing to go through Executor.ExecuteAsync
    
    * test: Update samples for "must SendMessage" semantics
    
    * Add invoking samples to unit tests to avoid future breaks
    
    * fix: ExternalRequest should block Workflow completion
    
    * feat: Normalize API surface against Python
    
    * Also adds xmldoc to all public APIs
    
    * refactor: Normalize UnitTest and Sample namespaces
    
    * fix: Formatting
    
    * refactor: Normalize project/folder names
    
    * feat: Remove DynamicCodeExecution from ValueTaskTypeErasure
    
    * fix: Fix ILTrim warnings
    
    * docs: Add missing docs and fix typos
    
    * feat: Hosted Agents should report Run events
    
    * fix: Fix type propagation for ILTrim changes
    
    * refactor: Simplify DynamicallyAccessedMembers annotations
    
    * sample: Use static-Type construction of InputPort
    
    * feat: Support non-Streaming Run Mode
    
    * test: Add test for non-streaming execution
    
    * refactor: Remove unused types
    
    * refactor: Simplify Event and EdgeData type hierarchies
    
    * feat: Add Switch (=Conditional Edge Group) control flow
    
    * feat: Make .NET AutoSend the MessageHandler result
    
    * feat: Implement State APIs
    
    * refactor: Simplify public namespaces and code organization
    
    * refactor: Reconcile .NET and Python names
    
    ---------
    
    Co-authored-by: Chris <66376200+crickman@users.noreply.github.com>