* Adding draft version of workflows design doc.
* Adding message flow diagrams and fixing group chat sample.
* Added sequence diagram for fan_in with WhenAny
* Updating workflows design
* clean up
* Clean up request & response contents
* Add more future enhacements
* message_handler -> handler
* remove mention of visual designer
* Minor updates and rename
* Name reformat
---------
Co-authored-by: Chris <66376200+crickman@users.noreply.github.com>
Co-authored-by: Tao Chen <taochen@microsoft.com>
Co-authored-by: Eric Zhu <ekzhu@users.noreply.github.com>
* Adding design documents and data flow descriptions for sub-workflows
* Updating docs.
* Sub-workflow implementation #1. Stuck because of singleton RequestInfoExecutor, going to make a change to remove that restrivtion.
* Removed the singleton restriction on RequestInfoExecutor so enable sub-workflows.
* Scenarios seem to be working.
* Sample improved.
* going to have intern add generic response wrappers.
* Wrapped responses working.
* Non-hardcoded routing is working.
* Sample showing external approved and not approved.
* Cleaning up.
* Updating some samples and user guide.
* Removing old design doc.
* Cleaning up.
* Adding python-package-setup.md back.
* Update python/packages/workflow/agent_framework_workflow/_executor.py
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
* Update python/packages/workflow/agent_framework_workflow/_validation.py
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
* Removing prints.
* Fixing lint and type issues.
* Fixing lint and type issues.
* Update python/packages/workflow/agent_framework_workflow/_executor.py
Co-authored-by: Eric Zhu <ekzhu@users.noreply.github.com>
* Adding type hints to intercepts decorator.
* Removing unused files.
* Fixing issue with sample 5 groupchat with hil.
* Removing redundent samples.
* Updates to ensure no conflicting request interceptors and to support a subflow with multiple requests in a single super step.
* Fixing pypi errors.
* clean up samples
* update samples to make it more clear
* warning for unhandled request info from sub workflow
* add logger info
---------
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
Co-authored-by: Eric Zhu <ekzhu@users.noreply.github.com>
* Allows creation of ExternalRequest objects directly to control the requestId
* Allows receiving ExternalResponse objects rather than unwrapped Data
* Normalizing naming
* Refactor workflow to introduce EdgeRunner for edge execution.
* Fix edge cases
* Convert Workflow, Edge, EdgeGroup, and Executor into AFBaseModel to support object model serialization
* format
* remove accidental file
* fix typing
* Add type information to EdgeGroup and Executor subclasses
* fix format
* Add condition_name field to Edge
* Add new fields
* remove Optional
* Update
* 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
* Use generic for WorkflowContext and use its type parameters to indicate executor's output types
* Update
* Fix type errors and add in-line comments
* fix test
* type
* Fix executor type issues
* 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
* Introducing edge groups
* Add conditional and partitioning edge groups; next add samples and tests
* Add unit tests
* Add samples
* Address comments 1
* Address comments 2
* Update conditional edge group to take in cases and default
* Minor updates to sample
* Collapsing Paritioning Edge group and Conditional Edge group to source edge group
* Improve sample clarity
* Name consolidation
---------
Co-authored-by: Eric Zhu <ekzhu@users.noreply.github.com>
* Updates for message store support
* Added unit tests
* Added suspend-resume example
* Added example with custom chat message store
* Small fix
* Addressed PR feedback
* Renaming and documentation
* More renaming
* Addressed more PR feedback
* Small fixes in Foundry chat client and examples
* Small update
* Addressed PR feedback
* Increased timeout for Azure tests
* 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>
* mcp parts
* mcp parts 2
* removed structured output in favor of handling in chatresponse, mcp as AITool and running samples
* updated naming
* fixed test
Eduard van Valkenburg
·
2025-08-13 09:48:22 +00:00
* openai updates
* rebuild of openai structure
* updated responses structure
* renamed sample
* added file id support to code interpreter
* added hosted file ids to code interpretor
* mypy fixes
* removed default az cred from codebase
* updated agent name setup
* added kwargs to entra methods
* and further kwargs
* extra comment
* updated all samples
* readded custom get methods for responses
* updated int tests with ad credential
* missed one
Eduard van Valkenburg
·
2025-08-12 06:14:22 +00:00
* added AIAnnotation types and extra tests
* fixed typing and such
* use copy
* fix raw representation for add
* handle annotations in add
* clarified concat
* self to first
Eduard van Valkenburg
·
2025-08-08 20:27:31 +00:00