Eduard van Valkenburg and GitHub
83e6229c11
Python: [Breaking] Simplified Content types to a single class with classmethod constructors. ( #3252 )
...
* ported Content to a new model
* fixed linting
* fixes
* fixed data format handling
* fix for 3.10 mypy
* fix
* fix int test
2026-01-20 22:09:39 +00:00
Dmytro Struk and GitHub
5687e13221
Python: [BREAKING] Renamed create_agent to as_agent ( #3249 )
...
* Renamed create_agent to as_agent
* Override for as_agent
* Added override
2026-01-16 19:21:52 +00:00
Evan Mattson and GitHub
15d0c34d9f
Python: Properly configure structured outputs based on new options dict ( #3213 )
...
* Properly configure structured outputs based on new options dict
* Fix mypy
2026-01-15 11:41:46 +09:00
Evan Mattson and GitHub
80b25a782b
fix(workflows): rename WorkflowOutputEvent.source_executor_id to executor_id for API consistency ( #3166 )
2026-01-15 02:11:25 +00:00
Eduard van Valkenburg and GitHub
d8cf8361bd
renamed all ( #3207 )
2026-01-14 05:54:07 +00:00
Tao Chen and GitHub
0b152418b6
[BREAKING] Python: Refactor orchestrations ( #3023 )
...
* Group chat refactoring Part 1; Next: HIL and handoff
* Add agent approval flow; next samples
* WIP: samples
* WIP: HIL samples
* Group chat HIL working; next: handoff
* Fix group chat tool approval sample
* WIP: refactor handoff; next handoff handling
* Handoff done; next handoff samples and concurrent and sequential
* Handoff samples, concurrent, and sequential done; next Magentic
* WIP: magentic; next test with samples + HIL
* Magentic Working; next fix all samples and tests
* Fix handoff samples; next tests
* WIP: fixing tests; some orchestration as agent samples are failing
* Group chat unit tests done
* Handoff unit tests done
* Remove old orchestration_request_info and fix related tests
* Magentic unit tests done
* Fix samples
* Fix test
* Fix test 2
* mypy
* Address comments
* Update readme
* Address comments
* Address comments 2
* Replace display name
2026-01-13 18:40:26 +00:00
Eduard van Valkenburg and GitHub
3e97425245
Python: [BREAKING]: Introducing Options as TypedDict and Generic ( #3140 )
...
* WIP typeddict for options
* updated all clients and ChatAgents
* updated everything
* added ADR
* fix mypy
* proper typevar imports
* fixed import
* fixed other imports
* slight update in the sample
* updated from feedback
* fixes
* fixed missing covariants and test fixes
* fixed typing
* updated anthropic thinking config
* ruff fixes
* fixed int tests
* fix tests and mypy
* updated integration tests
* updated docstring and test fix
* improved options handling in obser
* mypy fix
* updated a host of integration tests
* fix tests
* bedrock fix
2026-01-13 16:41:05 +00:00
Evan Mattson and GitHub
9c094573e8
Python: Add declarative workflow runtime ( #2815 )
...
* Further support for declarative python workflows
* Add tests. Clean up for typing and formatting
* Improvements and cleanup
* Typing cleanup. Improve docstrings
* Proper code in docstrings
* Fix malformed code-block directive in docstring
* Remove dead links
* PR feedback
* Address PR feedback
* Address PR feedback
* Remove sl
* Update devui frontend
* More cleanup
* Fix uv lock
* Skip Py 3.14 tests as powerfx doesn't support it
* Fix mypy error
* Fix for tool calls
* Removed stale docstring
* Fix lint
* Standardize on .NET namespaces. Revert DevUI changes (bring in later)
* Implement remaining items for Python declarative support to match dotnet
2026-01-13 07:11:21 +00:00
Evan Mattson and GitHub
844d345106
Python: Fix ExecutorInvokedEvent and ExecutorCompletedEvent observability data ( #3090 )
...
* Fix ExecutorInvokedEvent.data mutation bug
* Fix bug related to not yielding output type
2026-01-06 09:12:26 +00:00
Evan Mattson and GitHub
b0a7a1fcb8
Python: Fix WorkflowAgent event handling and kwargs forwarding ( #2946 )
...
* Fix kwargs propagation through workflow.as_agent()
* Fix WorkflowAgent to respect AgentExecutor output_response setting
2025-12-18 19:35:07 +00:00
Victor Dibia and GitHub
8ff34f9a43
Python: Add workflow cancellation sample ( #2732 )
...
* Add workflow cancellation sample
Add sample demonstrating how to cancel a running workflow using asyncio
tasks. Shows both cancellation mid-execution and normal completion paths.
Useful for implementing timeouts, graceful shutdown, or A2A executors.
* update docstring
2025-12-18 14:12:42 +00:00
Tao Chen and GitHub
b4f2709b6d
Python: Workflow add option to visualize internal executors ( #2917 )
...
* Workflow add option to visualize internal executors
* Address Copilot comments
2025-12-18 14:04:03 +00:00
Evan Mattson and GitHub
360839782c
Pass kwargs into subworkflows ( #2923 )
2025-12-18 04:34:33 +00:00
Evan Mattson and GitHub
6adcac2e97
Python: Flow custom kwargs to agents via Workflow SharedState ( #2894 )
...
* Flow custom kwargs to agents via SharedState
* Address Copilot feedback
* Improve sample typing
* Fix test
2025-12-17 00:04:00 +00:00
Tao Chen and GitHub
8fca71e5ad
[BREAKING] Python: Add factory pattern to handoff orchestration builder ( #2844 )
...
* WIP: Factory pattern to handoff
* Add factory pattern to concurrent orchestration builder; Next: tests and sample verification
* Add tests and improve comments
* Fix mypy
* Simplify handoff_simple.py
* Simplify handoff_autonoumous.py and bug fix
* Update readme
* Address Copilot comments
2025-12-16 23:38:33 +00:00
Evan Mattson and GitHub
958a488f96
Python: Fix context duplication in handoff workflows when restoring from checkpoint ( #2867 )
...
* Fix context duplication in handoff workflows when restoring from checkpoint
* Address Copilot PR review
2025-12-16 09:52:59 +00:00
Eduard van Valkenburg and GitHub
3139347526
Python: [BREAKING] Observability updates ( #2782 )
...
* fixes Python: Add env_file_path parameter to setup_observability() similar to AzureOpenAIChatClient
Fixes #2186
* WIP on updates using configure_azure_monitor
* improved setup and clarity
* fixed root .env.example
* revert changes
* updated files
* updated sample
* updated zero code
* test fixes and fixed links
* fix devui
* removed planning docs
* added enable method and updated readme and samples
* clarified docstring
* add return annotation
* updated naming
* update capatilized version
* updated readme and some fixes
* updated decorator name inline with the rest
* feedback from comments addressed
2025-12-16 06:56:30 +00:00
Evan Mattson and GitHub
0fc7933a92
Fix WorkflowAgent to include thread convo history. Enable checkpointing. ( #2774 )
2025-12-12 04:04:31 +00:00
Evan Mattson and GitHub
3481914981
Capture file IDs from code interpreter in streaming responses ( #2741 )
2025-12-11 07:30:19 +00:00
Tao Chen and GitHub
191779ce80
Python: Add factory pattern to concurrent orchestration builder ( #2738 )
...
* Add factory pattern to concurrent orchestration builder
* Update readme
* Address AI comments
* Fix unit tests
* Fix import
* Prevent multiple calls to set participants or factories
* Add comments
* Mitigate warnings
* Fix mypy
* Address comments
* Address Copilot comments
* Fix tests
2025-12-11 01:23:28 +00:00
Tao Chen and GitHub
523305ac62
Python: Add factory pattern to sequential orchestration builder ( #2710 )
...
* Add factory pattern to sequential orchestration builder
* Use temp list to avoid override
* Add sample and some other fixes
* Fix comments
* Small fix
* Update readme
2025-12-10 18:16:10 +00:00
Evan Mattson and GitHub
b378ca75d1
Python: extend HITL support for all orchestration patterns ( #2620 )
...
* Support HITL for orchestration patterns
* Cleanup around naming
* Fix typing issues
* Clean up
* Naming clean up
* Updates to HITL to make it cleaner
* Rename human input hook to orchestration request info
* Clean up per PR feedback
2025-12-10 15:59:29 +00:00
d7ca96923b
Python: Update fan in fan out sample to show concurrency ( #2705 )
...
* Update fan in fan out sample to show concurrency
* Update python/samples/getting_started/workflows/parallelism/fan_out_fan_in_edges.py
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com >
---------
Co-authored-by: Victor Dibia <chuvidi2003@gmail.com >
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com >
2025-12-08 19:53:37 +00:00
Dmytro Struk and GitHub
cfcb71334a
Renamed async_credential to credential ( #2648 )
2025-12-08 01:21:18 +00:00
Evan Mattson and GitHub
b78a2b6d2e
Python: Support an autonomous handoff flow ( #2497 )
...
* Support an autonomous handoff flow.
* Simplify public API
* Address feedback
2025-12-05 07:13:22 +00:00
Tao Chen and GitHub
f2ed5b55f6
Python: WorkflowBuilder registry ( #2486 )
...
* Add workflow builder factory pattern
* Add internal edge groups to registered executors; next samples
* Update samples: Part 1
* register -> register_executor
* update hil samples
* Update other samples
* Update agent samples
* Update doc string
* Add new sample
* Fix mypy
* Address comments
* Fix mypy
2025-12-05 05:26:10 +00:00
Evan Mattson and GitHub
19ac6e57c0
Python [BREAKING]: support magentic agent tool call approvals and plan stalling HITL behavior ( #2569 )
...
* Provide way for HITL with magentic
* support tool call approvals and hitl stall replan
* human plan intervention sample
* Clean up
* Improve loging
* updates
2025-12-04 05:13:27 +00:00
Evan Mattson and GitHub
f7a9005235
Python: Add executor I/O data to ExecutorInvokedEvent and ExecutorCompletedEvent ( #2591 )
...
* Add executor I/O data to ExecutorInvokedEvent and ExecutorCompletedEvent
* Sample cleanup
2025-12-04 01:41:40 +00:00
Evan Mattson and GitHub
e3b700ad9f
Python: Add sample to show handoff as agent with HITL ( #2534 )
...
* Add sample to show handoff as agent with HITL
* Update uv.lock with latest pkg versions. Fix lint error.
* Upgrade grpcio to 1.76.0
* Handle grpcio versions
* Case insensitive compare for declarative
2025-12-02 00:50:13 +00:00
Evan Mattson and GitHub
907d79ab3c
[BREAKING] Python: Standardize orchestration outputs as list of ChatMessage. Allow agent as group chat manager. ( #2291 )
...
* Standardize orchestration outputs as list of chatmessage. Add chat options to group chat prompt manager
* refactor group chat
* Improve group chat manager
* README Update
* Cleanup
* Add comment
* More cleanup
* Standardize termination condition for group chat
* Improvements on termination logic
* Fix tests
* Fix new line
* PR feedback
* Update ChatKit based on OpenAI type change
* Raise error if response format is not expected type
* Only one starting executor required. Add tests.
* Add magentic start executor test
2025-11-26 07:51:04 +00:00
27b3a517eb
[BREAKING] Python: Adjust magentic event types raised. No need for custom events. ( #2215 )
...
* Adjust magentic event types raised. No need for custom events.
* Cleanup
* Fix test
* Update python/packages/core/agent_framework/_workflows/_magentic.py
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com >
---------
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com >
2025-11-25 08:24:08 +00:00
1bf926bfc9
Python: Fix the example of multi-tier handoff workflow with specialist-to-specialist routing ( #2332 )
...
* Fix the example (1) to send only one initial message (2) to end conversation after trigger the last response as the comment describes
* Apply suggestions from code review
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com >
* changed the hard-coded user query
---------
Co-authored-by: tsuting.kao <tsu.kao@microsoft.com >
Co-authored-by: Evan Mattson <35585003+moonbox3@users.noreply.github.com >
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com >
2025-11-21 09:36:35 +00:00
0781d4b459
Python: Add Handoff + tool approval + checkpointing sample ( #2346 )
...
* Handoff sample
* handoff with tool approval
* add Hanoff sample with tool approval and checkpointing
* Add to README
* Remove unnecessary files
* Update python/samples/getting_started/workflows/checkpoint/handoff_with_tool_approval_checkpoint_resume.py
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com >
* Fix comment
---------
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com >
2025-11-21 13:13:27 +09:00
Tao Chen and GitHub
5353b9a2f0
Update Workflow Viz sample comments ( #2361 )
2025-11-20 23:34:27 +00:00
Tao Chen and GitHub
02af2bc0ef
Python: Remove duplicated workflow observability sample ( #2357 )
...
* Remove duplicated workflow observability sample
* Fix link
2025-11-20 21:06:12 +00:00
Tao Chen and GitHub
c361ad8d33
Python: Add checkpoint save and restore hooks to executor ( #2097 )
...
* Add checkpoint hooks
* Deprecate get_executor_state and set_executor_state
* Fix tests and samples
* Add doc strings
* Add sample
* Fix import
* Address comments and fix tests
* Address comments
* conditional import
2025-11-17 18:19:01 +00:00
Tao Chen and GitHub
cd9073aa11
Python: Handle agent user input request in AgentExecutor ( #2022 )
...
* Handle agent user input request in AgentExecutor
* fix test
* Address comments
* Fix tests
* Fix tests
* Address comments
* Address comments
2025-11-11 18:59:57 +00:00
Evan Mattson and GitHub
548e0f028e
Python: Fix underlying tool choice bug and all for return to previous Handoff subagent ( #2037 )
...
* Fix tool_choice override bug and add enable_return_to_previous support
* Add unit test for handoff checkpointing
* Handle tools when we have them
2025-11-10 10:55:52 +00:00
9b471cc479
Add simple workflow sample that mixes agents and executors ( #1946 )
...
* Add workflow mix agent executor samples
* Apply suggestion from @Copilot
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com >
---------
Co-authored-by: Evan Mattson <35585003+moonbox3@users.noreply.github.com >
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com >
2025-11-05 22:40:25 +00:00
Evan Mattson and GitHub
50d9b13bfc
Python: [BREAKING] consolidate workflow run APIs ( #1723 )
...
* consolidate workflow run apis
* improve validation, add tests
* Proper code tags for docs
* Update sample output
* Remove cycle validation
* PR feedback
* Validation
* Cleanup
2025-11-03 23:34:59 +00:00
Tao Chen and GitHub
68b6a55757
[BREAKING] Python: Remove request_type param from ctx.request_info() ( #1824 )
...
* Remove request_type param from ctx.request_info()
* Address comments
2025-10-31 14:31:15 +00:00
Eduard van Valkenburg and GitHub
434ffb8ab8
Python: [BREAKING] Cleanup of dependencies ( #1803 )
...
* removed extra and non-released deps
* added comments
* added space and lock
* fix pyright config
2025-10-30 15:24:29 +00:00
Tao Chen and GitHub
943d92674e
[BREAKING] Python: Replace RequestInfoExecutor with request_info API and @response_handler ( #1466 )
...
* Prototype: Add request_info API and @response_handler
* Add original_request as a parameter to the response handler
* Prototype: request interception in sub workflows
* Prototype: request interception in sub workflows 2
* WIP: Make checkpointing work
* checkpointing with sub workflow
* Fix function executor
* Allow sub-workflow to output directly
* Remove ReqeustInfoExecutor and related classes; Debugging checkpoint_with_human_in_the_loop
* Fix Handoff and sample
* fix pending requests in checkpoint
* Fix unit tests
* Fix formatting
* Resolve comments
* Address comment
* Add checkpoint tests
* Add tests
* misc
* fix mypy
* fix mypy
* Use request type as part of the key
* Log warning if there is not response handler for a request
* Update Internal edge group comments
* REcord message type in executor processing span
* Update sample
* Improve tests
2025-10-29 23:31:23 +00:00
Evan Mattson and GitHub
e3aad8e4e0
Python: [BREAKING] Python: Intro group chat and refactor orchestrations. Fix as_agent(). Standardize orchestration start msg types. ( #1538 )
...
* Intro group chat and refactor magentic. Fix as_agent()
* Cleanup and improvements
* Add as_agent docstring clarification
* Standardize orchestration messages to use agent-style inputs.
* Simplify group chat constructs
* Further cleanup
* Add sk to af group chat migration sample. Update README.
* Improvements and simplifications
* consolidating shared orchestration logic
* Further clean up
* Add group chat sample
* Improve typing
* Fix test imports
* Fix readme links
* Cleanup per PR Feedback
2025-10-25 00:14:06 +00:00
Tao Chen and GitHub
31701dbb92
[BREAKING] Python: Refactor Checkpointing for runner and runner context ( #1645 )
...
* Refactor Checkpointing for runner and runner context
* exception
* Fix formatting
* Comments
* rename
* Add detailed doc string
2025-10-24 03:34:55 +00:00
Evan Mattson and GitHub
b66619a544
Python: Add Handoff orchestration pattern support ( #1469 )
...
* Add Handoff orchestration pattern support
* PR feedback
* Use AOAI client in samples
* Adjust to tool
* Handoff to sub-agent via ai function
* PR feedback
* More cleanup
* Improvements
* PR feedback cleanup
* Add handoff migration sample.
* Remove type ignore
* fix markdown link formatting
* Remove readme link for non-existent sample
2025-10-22 01:51:51 +00:00
083d0de3f3
Code clean up: Checkpoint and WorkflowBuilder ( #1557 )
...
Co-authored-by: Evan Mattson <35585003+moonbox3@users.noreply.github.com >
2025-10-20 16:34:06 +00:00
151efd2e80
Python: Remove deprecated add_agent() calls from workflow samples ( #1508 )
...
* Initial plan
* Remove add_agent calls from workflow samples
Co-authored-by: moonbox3 <35585003+moonbox3@users.noreply.github.com >
---------
Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com >
Co-authored-by: moonbox3 <35585003+moonbox3@users.noreply.github.com >
2025-10-17 02:25:31 +00:00
Tao Chen and GitHub
fc12ab9fed
Python: Refactor RequestInfoExecutor ( #1403 )
...
* Refactor RequestInfoExecutor
* Update AI script
* Fix formatting
* Address comments
* fix unit test
2025-10-13 19:18:17 +00:00
350cdfc1cd
Python: Fix AI Search Tool Sample and improve AI Search Exceptions ( #1206 )
...
* Python: Fix AI Search Tool Sample and improve AI Search Exceptions
* Python: Fix AI Search Tool Test
---------
Co-authored-by: Dmytro Struk <13853051+dmytrostruk@users.noreply.github.com >
2025-10-10 18:46:57 +00:00