Kurt and GitHub
4c6a5d4aa1
Python: fix: GroupChat ManagerSelectionResponse JSON Schema for OpenAI Structured Outpu… ( #2750 )
...
* fix: ManagerSelectionResponse JSON Schema for OpenAI Structured Output Strict Mode
* refactor: install pre-commit then commit again
2025-12-11 02:34:12 +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
3f4eeb00be
Python: Change DurableAIAgent log level from warning to debug when invoked without thread ( #2736 )
...
* Initial plan
* Change logger.warning to logger.debug for missing thread
Co-authored-by: larohra <41490930+larohra@users.noreply.github.com >
* Fix test to use getMessage() method for log records
Co-authored-by: larohra <41490930+larohra@users.noreply.github.com >
* Remove test for logging change per review feedback
Co-authored-by: larohra <41490930+larohra@users.noreply.github.com >
---------
Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com >
Co-authored-by: larohra <41490930+larohra@users.noreply.github.com >
Co-authored-by: Laveesh Rohra <larohra@microsoft.com >
2025-12-10 17:57:08 +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
Dmytro Struk and GitHub
43302fb4cd
Python: Updated package versions ( #2737 )
...
* Updated package versions
* Updated changelog
2025-12-09 22:58:45 +00:00
Laveesh Rohra and GitHub
71d9d268dd
Python: Fix DurableState schema serializations ( #2670 )
...
* Fix created at
* Add pattern matching
2025-12-08 22:38:45 +00:00
Victor Dibia and GitHub
d889fa6f87
Python: Title: DevUI Fix WorkflowFailedEvent error extraction ( #2706 )
...
* Title: Fix WorkflowFailedEvent error extraction to use details instead of error Body:
Summary
Fixed WorkflowFailedEvent mapping to extract error message from details.message instead of non-existent error attribute
Added support for including details.extra context in error messages when present
Problem
The WorkflowFailedEvent handler in _mapper.py was reading event.error, but WorkflowFailedEvent uses a details attribute (of type WorkflowErrorDetails), not error. This caused all workflow failures to display "Unknown error" in the UI instead of the actual error message.
Fix
Updated the handler to match the pattern already used by ExecutorFailedEvent:
Read from event.details instead of event.error
Extract details.message for the error text
Include details.extra context when available
* improve error handling consistency
2025-12-08 21:44:32 +00:00
Victor Dibia and GitHub
0675000f4b
fixes Python: DevUI fails when uploading Pdf file (tested on Python Foundry Agent) ( #2675 )
...
Fixes #2652
2025-12-08 17:00:57 +00:00
551219cb55
Python: Feature/fix context provider lifecycle agentic mode ( #2650 )
...
* refactor KB for index creation logic
* add user agent header for tracking
* fix mypy issues
* fix agentic mode bug for search context provider
---------
Co-authored-by: farzad528 <farzad528@users.noreply.github.com >
2025-12-08 09:52:18 +00:00
Dmytro Struk and GitHub
cfcb71334a
Renamed async_credential to credential ( #2648 )
2025-12-08 01:21:18 +00:00
Victor Dibia and GitHub
8c6b12e664
Python: DevUI, Fix message serialization issue, improve tests ( #2674 )
...
* fix message serialization issue, improve tests for devui
* update tests
2025-12-06 02:20:54 +00:00
2d3ba95036
Python: Add configurable timeout support to A2AAgent ( #2432 )
...
* a2a timeout config
* added default timeout info
---------
Co-authored-by: Dmytro Struk <13853051+dmytrostruk@users.noreply.github.com >
2025-12-05 22:21:36 +00:00
Giles Odigwe and GitHub
f5f909f2e2
Python: Added Azure OpenAI Responses File Search sample + Integration test update ( #2645 )
...
* added azure responses file search sample + int test update
* sample update to use token credential
2025-12-05 19:01:48 +00:00
SuperKenVery and GitHub
f43261094f
Python: Display system prompt in langfuse ( #2653 )
...
* Display system prompt in langfuse
* Explain that the system_instructions are put first into the list
2025-12-05 17:11:29 +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
Dmytro Struk and GitHub
f5786b2c5b
Updated package versions ( #2643 )
2025-12-04 22:08:47 +00:00
Tao Chen and GitHub
d858c23bab
Fix observability module mypy error ( #2641 )
2025-12-04 19:11:05 +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
292a2078fa
Python: Fix: AgentRunResponse.created_at returns local datetime labeled as UTC ( #2590 )
...
* Initial plan
* Fix created_at to use UTC datetime and add unit tests
Co-authored-by: moonbox3 <35585003+moonbox3@users.noreply.github.com >
* Address code review feedback: move datetime imports to top of test files
Co-authored-by: moonbox3 <35585003+moonbox3@users.noreply.github.com >
* Add UTC timestamp test for OpenAIResponsesClient._create_response_content
Co-authored-by: moonbox3 <35585003+moonbox3@users.noreply.github.com >
* Fix lint issue
---------
Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com >
Co-authored-by: moonbox3 <35585003+moonbox3@users.noreply.github.com >
Co-authored-by: Evan Mattson <evan.mattson@microsoft.com >
2025-12-04 05:09:52 +00:00
ae06c9e4bb
Add support for Pydantic BaseModel as function call result ( #2606 )
...
Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com >
Co-authored-by: eavanvalkenburg <13749212+eavanvalkenburg@users.noreply.github.com >
Co-authored-by: Evan Mattson <35585003+moonbox3@users.noreply.github.com >
2025-12-04 01:41:47 +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
b86c130411
Python: Fixed empty text content pydantic validation failure ( #2539 )
...
* Fixed empty text content pydantic validation failure
* simplify syntax. renamed test
---------
Co-authored-by: Evan Mattson <35585003+moonbox3@users.noreply.github.com >
2025-12-04 01:41:27 +00:00
d774b64df0
Python: added inline yaml sample ( #2582 )
...
* added inline yaml sample
* fixed some typos and added intro comment
* added description params and pass through to client
* add azure assistants
* fix tests
* observabiltiy mypy fix
* for some reason mypy doesn't accept a subclass
---------
Co-authored-by: Evan Mattson <35585003+moonbox3@users.noreply.github.com >
2025-12-04 01:30:56 +00:00
Victor Dibia and GitHub
42ffe59592
Python: Document ChatKit frontend requirements and air-gapped limitations ( #2587 )
...
- Add "Requirements and Limitations" section to chatkit package README
- Add "Network Requirements" and "Limitations" sections to chatkit-integration sample README
- Add explanatory comments in frontend code for CDN dependency and domain key configuration
Fixes #2347
2025-12-04 01:19:14 +00:00
Evan Mattson and GitHub
a683c0e865
Python: Use executor_id and edge_group_id as span names for meaningful observability traces ( #2538 )
...
* Use executor_id and edge_group_id as span names for meaningful observability traces
* Update tests
* Adjust naming
2025-12-04 01:03:12 +00:00
Evan Mattson and GitHub
a597a925cb
Python: Add type annotations for AgentRunEvent and AgentRunUpdateEvent data attributes ( #2589 )
...
* Add type annotations for AgentRunEvent and AgentRunUpdateEvent data attributes
* Fix unnecessary cast after typing improvement
* Mcp pkg update introduced type change. Fix it.
* update opentelemetry deps to 1.39.0 and use LogRecordExporter for type compatibility
2025-12-04 00:40:49 +00:00
Victor Dibia and GitHub
411ee7a60f
Python: DevUI fixes : Add multimodal input support for workflows and refactor chat input ( #2593 )
...
* show app version in devui .NET: Python: Improved Versioning for DevUI
Fixes #2059
* feat: Add multimodal input support for workflows and refactor chat input
This PR adds support for multimodal content (images, files) in workflow
inputs and refactors the chat input into a reusable component.
## Multimodal Workflow Support
- Add `isChatMessageSchema()` to detect ChatMessage input schemas
- Update `RunWorkflowButton` to use `ChatMessageInput` for ChatMessage workflows
- Wrap multimodal content in OpenAI message format for backend processing
- Add `_is_openai_multimodal_format()` to detect OpenAI ResponseInputParam
- Update `_parse_workflow_input()` to route multimodal input through
existing `_convert_input_to_chat_message()` converter
## Reusable ChatMessageInput Component
- Extract chat input logic from agent-view into `ChatMessageInput` component
- Support file upload, drag & drop, paste handling, and attachments
- Add `useDragDrop` hook for parent-level drag handling with full-area
drop zones
- Refactor agent-view to use the new shared component
## Other Improvements
- Add `isStreaming` prop to executor nodes for animation control
- Clean up unused imports and state variables in agent-view
- Add tests for multimodal workflow input handling
Fixes workflow input not receiving images when using AgentExecutor nodes.
* add self loop edge, fix #2470
* fix test
2025-12-03 20:15:51 +00:00
3cfd34836f
Python: Update _provider.py ( #2548 )
...
* Update _provider.py
* Update test_mem0_context_provider.py
* Update test_mem0_context_provider.py
Ruff linting fixes
* Update test_mem0_context_provider.py
---------
Co-authored-by: Dmytro Struk <13853051+dmytrostruk@users.noreply.github.com >
2025-12-03 19:54:05 +00:00
Eduard van Valkenburg and GitHub
a81279d960
Python: Pin meta core ( #2597 )
...
* pin core dependency in the meta package
* fix for mcp latest
* fix mypy
* test fix
* test fix
* fix tests for content parsing
2025-12-03 18:19:17 +00:00
b5595f6f70
Python: Enable Agentic Mode to Use Existing Knowledge Bases Without index_name ( #2464 )
...
* refactor KB for index creation logic
* add user agent header for tracking
* fix mypy issues
---------
Co-authored-by: farzad528 <farzad528@users.noreply.github.com >
2025-12-03 16:00:59 +00:00
1edd28b264
feat: pass agent run kwargs through to context providers ( #1681 )
...
`_prepare_thread_and_messages` and `_notify_thread_of_new_messages` now are passing through the agent's `run` kwargs, sothat they can provide the context_provider with said kwargs
#1679
Co-authored-by: David Jadczyk <david.jadczyk@lht.dlh.de >
Co-authored-by: Chris <66376200+crickman@users.noreply.github.com >
Co-authored-by: Dmytro Struk <13853051+dmytrostruk@users.noreply.github.com >
2025-12-02 14:35:32 +00:00
Evan Mattson and GitHub
c2d285e614
Fix MangenticAgentExecutor producing repr str for tool call content ( #2566 )
2025-12-02 08:40:11 +00:00
cb343dd707
Python: Add orchestration ID to durable agent entity state and code refactor ( #2484 )
...
* Initial plan
* Add orchestration ID to durable agent entity state for Python
Co-authored-by: larohra <41490930+larohra@users.noreply.github.com >
* Fix type safety checks
* Fix tests
---------
Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com >
Co-authored-by: larohra <41490930+larohra@users.noreply.github.com >
Co-authored-by: Laveesh Rohra <larohra@microsoft.com >
2025-12-02 01:34:18 +00:00
Evan Mattson and GitHub
0d5d10d24a
Python: Emit ExecutorFailedEvent before WorkflowFailedEvent when executor throws exception ( #2537 )
...
* Emit ExecutorFailedEvent before WorkflowFailedEvent when executor throws exception
* Cleanup
2025-12-02 01:21:28 +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
8cf8b0f995
Python: Refactor ag-ui to clean up some patterns ( #2363 )
...
* Refactor ag-ui to clean up some patterns
* Mypy fixes
* Fix imports, typing, tests, logging.
* Fix test import error
* Fix imports again
* Fix thread handling
2025-11-27 02:13:03 +00:00
6c624319db
Python: docs: Update Python orchestration documentation ( #2087 )
...
* docs: Update Python orchestration documentation
Remove outdated 'coming soon' statements for GroupChat, Sequential,
and Concurrent orchestrations in core package README and transparency FAQ.
Add links to existing samples in python/samples/getting_started/workflows/orchestration/.
Note: python/README.md was already updated in PR #1914 (2499262f ).
Fixes documentation inconsistency found in Issue #1899 .
* Address review feedback: make TRANSPARENCY_FAQ language-neutral
Remove Python-specific sample links from TRANSPARENCY_FAQ.md as it should
pertain to all MAF languages (Python and .NET), not strictly Python.
The python/packages/core/README.md retains the specific sample links as
that is Python-specific documentation.
* Update Learn documentation link in README
---------
Co-authored-by: kishikawa-hayato <84244732+HerBest-max@users.noreply.github.com >
Co-authored-by: Victor Dibia <chuvidi2003@gmail.com >
2025-11-27 00:13:15 +00:00
Laveesh Rohra and GitHub
306c81aef8
Python: [Breaking] Python: Respond with AgentRunResponse with serialized structured output ( #2285 )
...
* Respond with AgentRunResponse
* Fix response_Format type
* Address comments
* Fix tests
* Fix log
* Addressed comments
* Code cleanup
* Use AgentTask vs Generator
* Address comments
* use lazy logging
* fix mypy errors
2025-11-26 18:44:28 +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
5d8be5836c
Python: Added support for application endpoints in Azure AI client ( #2460 )
...
* Added support for application endpoints in Azure AI client
* Fixed tests
* Update python/samples/getting_started/agents/azure_ai/azure_ai_with_application_endpoint.py
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com >
* Addressed comments
---------
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com >
2025-11-25 19:32:55 +00:00
b1c210c9d8
Python: Added MCP tool support for azure functions package. ( #2385 )
...
* Python: Add Scaffolding for Durable AzureFunctions package to Agent Framework (#1823 )
* Add scafolding
* update readme
* add code owners and label
* update owners
* .NET: Durable extension: initial src and unit tests (#1900 )
* Python: Add Durable Agent Wrapper code (#1913 )
* add initial changes
* Move code and add single sample
* Update logger
* Remove unused code
* address PR comments
* cleanup code and address comments
---------
Co-authored-by: Dmytro Struk <13853051+dmytrostruk@users.noreply.github.com >
* Azure Functions .NET samples (#1939 )
* Python: Add Unit tests for Azurefunctions package (#1976 )
* Add Unit tests for Azurefunctions
* remove duplicate import
* .NET: [Feature Branch] Migrate state schema updates and support for agents as MCP tools (#1979 )
* Python: Add more samples for Azure Functions (#1980 )
* Move all samples
* fix comments
* remove dead lines
* Make samples simpler
* Agents as MCP tools
* Removed unused files and updated sample
* .NET: [Feature Branch] Durable Task extension integration tests (#2017 )
* .NET: [Feature Branch] Update OpenAI config for integration tests (#2063 )
* Python: Add Integration tests for AzureFunctions (#2020 )
* Add Integration tests
* Remove DTS extension
* Apply suggestions from code review
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com >
* Apply suggestions from code review
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com >
* Add pyi file for type safety
* Add samples in readme
* Updated all readme instructions
* Address comments
* Update readmes
* Fix requirements
* Address comments
---------
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com >
* Addressed copilot feedback
* Minor refactoring and added tests
* Updated mcp sample
* Fixed broken link in readme
* Addressed copilot comments
* Addressed feedback
* Updated property to enable_mcp_tool_trigger
---------
Co-authored-by: Laveesh Rohra <larohra@microsoft.com >
Co-authored-by: Dmytro Struk <13853051+dmytrostruk@users.noreply.github.com >
Co-authored-by: Chris Gillum <cgillum@microsoft.com >
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com >
2025-11-25 18:50:02 +00:00
Dmytro Struk and GitHub
b8260ae24c
Python: [BREAKING] Removed default "store" value ( #2443 )
...
* Removed default store value
* Small fix
2025-11-25 17:53:08 +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
Eduard van Valkenburg and GitHub
1b4103dce3
Python: fix for logging setup ( #2371 )
...
* fix for logging setup
* typo fixes
* fix text
2025-11-25 08:19:34 +00:00
Evan Mattson and GitHub
2a4802eac3
Python: Fix runtime response format for responses client ( #2440 )
...
* Fix runtime response format for responses client
* Handle run time schema for Azure AI Client.
2025-11-25 07:50:20 +00:00
Tomek Słoma and GitHub
c78edda64f
fix: always include output in function call result message ( #2414 )
...
This follows the official OpenAI API schema
2025-11-25 00:44:43 +00:00
Giles Odigwe and GitHub
bcbf1b33e8
Python: Preserve MCP array items schema in Pydantic field generation ( #2382 )
...
* mcp tool parameter fix
* small fixes
2025-11-24 17:16:30 +00:00
Eduard van Valkenburg and GitHub
9f43108ef1
Python: renamed ai search and cleanup of samples and unified import logic ( #2369 )
...
* renamed ai search and cleanup of samples and unified import logic
* fixed error messages
* fixed folder name
* remove old samples from readme
2025-11-24 17:06:22 +00:00