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
Evan Mattson and GitHub
11d6dcfe80
Python: Fix middleware terminate flag to exit function calling loop immediately ( #2868 )
...
* Fix middleware terminate flag to exit function calling loop immediately
* Eliminating duck typing
* Improve function exec result handling
* Fix race condition
* Fix mypy issues
2025-12-16 09:52:52 +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
3c379718e9
Python: Use agent description in HandoffBuilder auto-generated tools ( #2713 ) ( #2714 )
...
## Summary
Enhanced `HandoffBuilder._apply_auto_tools` to use the target agent's
description when creating handoff tools, providing more informative tool
descriptions for LLMs.
## Changes
- Modified `_apply_auto_tools` to extract `description` from
`AgentExecutor._agent` when available
- Updated iteration to use `.items()` for more efficient dict traversal
- Handoff tools now use agent descriptions instead of generic placeholders
## Example
Before: "Handoff to the refund_agent agent."
After: "You handle refund requests. Ask for order details and process refunds."
## Testing
- All handoff tests pass (20/20)
- No breaking changes to existing API
Fixes #2713
Co-authored-by: Evan Mattson <35585003+moonbox3@users.noreply.github.com >
2025-12-16 01:31:26 +00:00
Evan Mattson and GitHub
a7298757f5
Python: Fix WorkflowAgent to emit yield_output as agent response ( #2866 )
...
* Fix WorkflowAgent to emit yield_output as agent response
* use raw_representation
* Raw representation handling
2025-12-16 01:14:26 +00:00
Evan Mattson and GitHub
0dcebc6eae
Python: Filter framework kwargs from MCP tool invocations ( #2870 )
...
* Filter framework kwargs from MCP tool invocations
* Fixes
2025-12-16 01:10:09 +00:00
Tao Chen and GitHub
e0ff153ee9
Python: Remove warnings from workflow builder on not using factories ( #2808 )
...
* Revert concurrent
* Fix comments
2025-12-12 07:56:16 +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
Dmytro Struk and GitHub
d7434d59ce
Python: Added custom args and thread object to ai_function kwargs ( #2769 )
...
* Added an example of using kwargs in ai_function
* Added thread object to ai_function kwargs
* Updated docs
* Small fix
* Added thread parameter filtering
2025-12-12 01:53:04 +00:00
Dmytro Struk and GitHub
8d53b20026
Python: Updated package versions ( #2784 )
...
* Updated package versions
* Small fix
2025-12-11 18:39:08 +00:00
Eduard van Valkenburg and GitHub
c376868ec9
Python: added more complete parsing for mcp tool arguments ( #2756 )
...
* added more complete parsing for mcp tool arguments
* fixed mypy
* added nonlocal model counter, and some fixes
* fixes in naming logic
* extracted json parsing function, added parametrized test and checked coverage
2025-12-11 17:24:08 +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
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