Commit Graph
907 Commits
Author SHA1 Message Date
CopilotGitHubekzhucopilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>Eric Zhu
965918b883 Python: Fix: Add meaningful error message when graphviz binary is not installed (#826)
* Initial plan

* Fix: Add meaningful error message for missing graphviz binary

Co-authored-by: ekzhu <320302+ekzhu@users.noreply.github.com>

* Fix CI error: Make graphviz test conditional to avoid import errors

Co-authored-by: ekzhu <320302+ekzhu@users.noreply.github.com>

---------

Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
Co-authored-by: ekzhu <320302+ekzhu@users.noreply.github.com>
Co-authored-by: Eric Zhu <ekzhu@users.noreply.github.com>
2025-09-19 05:56:49 +00:00
Eric ZhuandGitHub 367a3275d1 Fix typo 'lighting' --> 'lightning'; update labler (#823) 2025-09-19 02:17:12 +00:00
99860a5d07 Python: Agent and Function middleware (#770)
* Initial middleware implementation

* Small fixes

* Small updates

* Small updates in samples

* Moved middleware functionality to decorator

* Removed obsolete file

* Renamed AgentInvocationContext to AzureRunContext

* Added unit tests

* Small settings update for test discovery in VS Code

* Added unit tests

* Reverted changes in environment settings

* Added context result override

* Renaming and updates to logic

* Added more samples

* Updated DEV_SETUP.md

* Addressed PR feedback

* Addressed PR feedback

* Removed unused parameter

* Small fix

* Small fix in telemetry logic

* Revert "Small fix in telemetry logic"

This reverts commit 6f82660d2d.

* Small fix

---------

Co-authored-by: Chris <66376200+crickman@users.noreply.github.com>
2025-09-18 23:30:05 +00:00
960196cd52 Python: Workflow event source updates (#789)
* Workflow event source updates

* Add WorkflowLifecycleEvent TypeAlias. Update docstrings

* Updates

* Rename

---------

Co-authored-by: Chris <66376200+crickman@users.noreply.github.com>
2025-09-18 15:17:55 +00:00
1dba779f76 Python: Enhance tool call handling and function result processing (#790)
* Tool call enhancement

* add tests

* fix comments

* resolve comments

---------

Co-authored-by: Chris <66376200+crickman@users.noreply.github.com>
Co-authored-by: Eric Zhu <ekzhu@users.noreply.github.com>
2025-09-18 04:13:30 +00:00
4c80e7017d Python: Fix falsy values being filtered out in ChatOptions.to_provider_settings (#787)
* Python: Fix temperature=0 filtered out in chat options

* fix failing tests

---------

Co-authored-by: Chris <66376200+crickman@users.noreply.github.com>
2025-09-18 03:57:37 +00:00
f3264966ff Python: Fix Multimodal input bug (#799)
* fix multimodal bug python

* update file names

* precommit fixes

* Update python/samples/getting_started/multimodal_input/README.md

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>

* udpate readme

* add copyright line, remove audio example function

---------

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
2025-09-17 21:44:42 +00:00
3050c8c8bd Python: Add base_url support to OpenAI settings and improve initialization (#788)
Co-authored-by: Chris <66376200+crickman@users.noreply.github.com>
2025-09-17 07:56:11 +00:00
Eric ZhuandGitHub a1b0a28f9c Python: Introduce Agent Framework Lab with GAIA Benchmark and Lighting project for RL (#719)
* prepare eval package

* add gaia benchmark to eval package

* update telemetry

* renaming

* organization

* organize into namespace packages; rename to labs

* update cookie cutter instruction

* update gaia runner

* use temp directory

* Rename "labs" --> "lab"

* update

* update gaia sample

* update status

* Add lighting project

* Add listing for lighting
2025-09-17 05:59:21 +00:00
6b91d41a73 Python: Add Entra ID Credentials Support for Azure Monitor Telemetry (#778)
* Adds Azure Monitor Entra ID authentication support

Enables token-based authentication for Application Insights by adding an optional credential parameter to telemetry setup functions.

* Fix linting errors

* Documentation: Add Entra ID authentication details to README for Application Insights

* Documentation: Add Entra ID authentication details to README for Application Insights

* Update python/packages/main/agent_framework/telemetry.py

Co-authored-by: Eduard van Valkenburg <eavanvalkenburg@users.noreply.github.com>

* Update python/samples/getting_started/telemetry/README.md

Co-authored-by: Eduard van Valkenburg <eavanvalkenburg@users.noreply.github.com>

* Update python/packages/main/agent_framework/telemetry.py

Co-authored-by: Eduard van Valkenburg <eavanvalkenburg@users.noreply.github.com>

* Rename application_insights_credential to credential

---------

Co-authored-by: Eduard van Valkenburg <eavanvalkenburg@users.noreply.github.com>
2025-09-16 16:42:04 +00:00
Evan MattsonandGitHub 732d9f6cd7 Python: [BREAKING] Move workflow to main package (#767)
* Move workflow to main package

* Remove workflow specific unit test config

* Remove workflow-specific version info

* Revert unintended telemetry changes

* Removed the obsolete packages/workflow/tests target

* Rename dir workflow to _workflow

* Fix test imports
2025-09-16 12:04:07 +00:00
Eduard van ValkenburgandGitHub 65dd48aa1d Python: api doc generation setup (#342)
* api doc generation setup

* remove old log file

* improved check md function

* update with sample code in docstring

* updated script

* docs update

* docs update and action

* removed all-extras

* fixed sync command

* moved install

* moved action

* renamed folder

* fixed syntax

* add python path

* fix mypy and reused steps

* updated merge test

* undo change

* slight update in poe commands

* dev setup update

* updated uvlock
2025-09-16 10:02:53 +00:00
Eduard van ValkenburgandGitHub 89cb94b5c2 replaced HEADERS with user_agent (#732) 2025-09-16 07:57:37 +00:00
Evan MattsonandGitHub 5c0b037e2c Python: Add Sequential orchestration builder support. Samples. Tests. (#703)
* Add support for the Sequential Builder. Add samples. Add tests

* AgentExecutor: always compute full convo during response

* Upgrade azure-ai-agents ToolOutput to FunctionToolOutput

* Explicit notes around allows types for custom agent executors
2025-09-16 01:52:34 +00:00
Evan MattsonandGitHub 68b76e6726 Python: Workflow run state and structured error events, sample updates, tests (#725)
* Add workflow event types to surface workflow state, status, and failures.

* Address PR feedback

* Updates to use new workflow run state enums
2025-09-16 01:36:25 +00:00
Dmytro StrukandGitHub e7cd03b32e Python: Added Copilot Studio Agent (#722)
* Small fix in dotnet conformance tests

* Added CopilotStudioAgent implementation

* Added examples

* Updated package README

* Small fixes

* Small improvements

* Fixed dotnet tests

* Add unit tests

* Updated tests

* Small updates

* Small test fixes

* Revert "Small test fixes"

This reverts commit 983ac44a70.

* Small fixes in documentation

* Updated test configuration

* Revert "Updated test configuration"

This reverts commit 2a16fea815.

* Small fix

* Reverted TODO item

* Small suppressions

* More fixes

* Small fixes

* Fixed tests

* Removed disallow_any_unimported rule in all packages

* Fixes
2025-09-15 23:21:07 +00:00
Eduard van ValkenburgandGitHub db58a10a37 Python: added args and results to function call span (#733)
* added args and results to function call span

* add ignores for mypy

* improved serialization

* also add None result

* improved handling

* log args when None

* slight tweak

* fix tests
2025-09-15 18:28:01 +00:00
0715e0f8d3 .NET: Python: OpenAI Responses Agent Completeness (#721)
* OpenAI Responses Agent Completeness

* prepare options

* added unit tests

* azure responses test fix

* resolved conflict

* pre commit fix

* Revert "Merge remote changes and resolve conflicts"

This reverts commit 56787f25a4, reversing
changes made to f71a27ebfe.

* Fixes

* azure responses file search fix

* Fix corrupted uv.lock file

---------

Co-authored-by: Giles Odigwe <gilesodigwe@microsoft.com>
Co-authored-by: Dmytro Struk <13853051+dmytrostruk@users.noreply.github.com>
2025-09-15 16:19:53 +00:00
Evan MattsonandGitHub d00538eb26 Foundry client ToolOutput to FunctionToolOutput (#749) 2025-09-15 09:06:43 +00:00
ace7b406fa fixed opentelemetry-semantic-conventions-ai module not found error (#706)
Co-authored-by: Alex Lavaee <alexlavaee@microsoft.com>
2025-09-12 14:32:23 +00:00
Christian GlessnerandGitHub f79fbfa92e Python: Add OpenAI reasoning events support to Responses client (#698)
* feat: add OpenAI reasoning events support with comprehensive test coverage

- Implement reasoning event handling in OpenAI Responses client
  * Add support for ResponseReasoningTextDeltaEvent
  * Add support for ResponseReasoningTextDoneEvent
  * Add support for ResponseReasoningSummaryTextDeltaEvent
  * Add support for ResponseReasoningSummaryTextDoneEvent
  * Map all reasoning events to TextReasoningContent objects
  * Preserve metadata across reasoning events

- Add comprehensive test coverage (5 focused test functions)
  * test_streaming_reasoning_text_delta_event
  * test_streaming_reasoning_text_done_event
  * test_streaming_reasoning_summary_text_delta_event
  * test_streaming_reasoning_summary_text_done_event
  * test_streaming_reasoning_events_preserve_metadata

- Add sample demonstrating reasoning functionality
  * Shows how to enable reasoning in chat options
  * Demonstrates accessing reasoning content from responses

- Code quality improvements
  * Follow existing code patterns and style guidelines
  * Organize imports properly
  * Maintain backwards compatibility
  * All tests pass and quality checks succeed

* fix: resolve type errors and cleanup unused imports after rebase

- Add proper hasattr checks for optional attributes in union types
- Remove unused OpenAI event type imports
- Fix line length formatting issues
- Ensure type safety when accessing content attributes
2025-09-12 12:07:49 +00:00
Evan MattsonandGitHub fbd0c566c2 Python: Add Concurrent orchestration builder support. Samples. Tests. (#683)
* Add Concurrent orchestration builder support. Samples. Tests.

* Add sample output

* Add better docstrings

* PR feedback

* PR feedback
2025-09-12 02:20:04 +00:00
a480366d80 Python: added websockets as main dep for agent.run_stream (#672)
* added websockets as main dep for agent.run_stream

* Update python/packages/main/pyproject.toml

Co-authored-by: Eduard van Valkenburg <eavanvalkenburg@users.noreply.github.com>

* Update python/packages/main/pyproject.toml

Co-authored-by: Eduard van Valkenburg <eavanvalkenburg@users.noreply.github.com>

---------

Co-authored-by: Alex Lavaee <alexlavaee@microsoft.com>
Co-authored-by: Eduard van Valkenburg <eavanvalkenburg@users.noreply.github.com>
2025-09-11 09:50:50 +00:00
57d09afe04 Python: Context providers abstraction and Mem0 implementation (#631)
* Added context provider abstractions

* Added mem0 implementation

* Example and small fixes

* Added unit tests for agent

* Added unit tests for mem0 provider

* Updated README

* Small doc updates

* Update python/packages/mem0/agent_framework_mem0/_provider.py

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>

* Small fixes in tests

* Renaming based on PR feedback

* Small fixes

* Added tests for AggregateContextProvider

* Small improvements

* More improvements based on PR feedback

* Small constant update

* Added more examples

* Added README for Mem0 examples

* Small updates to API

* Updated initialization logic

* Updates for context manager

* Updated Context class

* Dependency update

* Revert changes

* Fixed tests

---------

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
Co-authored-by: Chris <66376200+crickman@users.noreply.github.com>
2025-09-10 21:11:42 +00:00
82ca4065cb Python: Improved telemetry setup (#421)
* test with stack and simplified names

* quick demo of agent decorator

* moved builder to protocol to enhance functionality

* undid chatclientAgent -> agent rename

* one more

* reverted AIAgent rename

* final reverts

* fixed foundry import

* revert changes

* streamlined otel and fcc decorators

* cleanup of telemetry

* further refinement

* lots of updates

* fixed typing

* fix for mypy

* added input and output atttributes

* fix import

* initial work on baking in otel

* major update to telemetry

* final fixes after rename

* fix

* fix test

* updated tests

* fix for tests

* fixes for tests

* updated based on comments

* removed agent decorator

* fix for Python: ServiceResponseException when using multiple tools
Fixes #649

* addressed comments

* fix tests

* fix tests

* fix tools tests

* fix for conversation_id in assistants client

* fix responses test

* fix tests and mypy

* updated test

* foundry fix

---------

Co-authored-by: Chris <66376200+crickman@users.noreply.github.com>
2025-09-10 14:52:42 +00:00
6aa746d891 Python: Introducing UserInputRequest and Response types and HostedMcpTool (#405)
* initial work on User Approval (and hosted mcp to validate)

* small update to the comments in the sample

* enable local MCP tools in chatClient get methods

* working streaming and improved setup

* fix for pyright

* updated create_approval -> create_response method

* added tests

* updated HostedMcpTool and addressed feedback

* update type name

* naming updates

* small docstring update

* mypy fix

* fixes and updates

* fixes for responses

* fix int tests

* removed broken tests

* updated test running

* removed specific content check on websearch

* increased timeout

* split slow foundry test

* don't parallel run samples

* add dist load to unit tests

---------

Co-authored-by: Eric Zhu <ekzhu@users.noreply.github.com>
2025-09-10 13:37:34 +00:00
Eduard van ValkenburgandGitHub 947f2bf642 Python: added user agents to foundry and azure openai (#658)
* added user agents to foundry and azure openai

* improvement

* improvement for disabled setup
2025-09-10 08:57:37 +00:00
Eduard van ValkenburgandGitHub 383d51443c Python: add base_url parameter for openai chat client (#661)
* added base_url option for openai chat client

* fix test url
2025-09-09 23:31:26 +00:00
9f8823192e MCP support for Foundry (#652)
Co-authored-by: Giles Odigwe <gilesodigwe@microsoft.com>
2025-09-09 20:07:20 +00:00
Evan MattsonandGitHub 2699b85285 Python: Update getting started with workflows sample structure and README (#653)
* Update getting started with workflows sample structure and README

* Small updates

* Adjust getting started samples. Fix agent executor bug. Add workflow tests to unit test file.

* Fix resource links
2025-09-09 06:06:22 +00:00
ee56314a26 Python: Samples Integration Tests (#615)
* Samples Tests

* small fixes

* job fix

* telemetry dependency fix

* job error fix

* sorting provider specific tests

* telemetry fixes

* openai file search fix

---------

Co-authored-by: Giles Odigwe <gilesodigwe@microsoft.com>
2025-09-08 23:45:51 +00:00
518fd447fd Python: Improve the workflow getting started samples (#570)
* Wip: samples

* wip - samples

* Updates to workflow getting started samples

* Checkpointing enhancements

* Cleanup

* PR feedback

* Updates

* Sample updates

* Updates

* Revamp samples, improve doc strings and code comments

* Cleanup unused comment

* Formatting cleanup

* wip

* Further work on samples. Allow agent to be specified as edge.

* Cleanup

* Typing cleanup

* Sample updates

---------

Co-authored-by: Chris <66376200+crickman@users.noreply.github.com>
Co-authored-by: Eric Zhu <ekzhu@users.noreply.github.com>
2025-09-05 19:16:25 +00:00
Eduard van ValkenburgandGitHub 40ab6e9d67 Python: name changes executed (#607)
* name changes executed

* updated adr to accepted

* renamed openai base config

* renamed openai config to mixin

* added renames in user docs

* reverted mcperror

* fix tests

* remove sse from tests
2025-09-04 15:00:38 +00:00
Eric ZhuandGitHub 71c047850c Python: Add edge group traces (#597)
* add edge group traces

* add edge group attributes

* update unit tests

* add span links
2025-09-04 04:16:01 +00:00
20ddf7cb31 Python: WorkflowViz to support sub workflows (#571)
* add visualization for sub workflows

* add visualization to subworkflow samples

* Update python/packages/workflow/agent_framework_workflow/_viz.py

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>

* Update python/packages/workflow/agent_framework_workflow/_viz.py

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>

* update

* remove changes to samples

---------

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
Co-authored-by: Chris <66376200+crickman@users.noreply.github.com>
Co-authored-by: Evan Mattson <35585003+moonbox3@users.noreply.github.com>
2025-09-04 02:25:47 +00:00
Eduard van ValkenburgandGitHub d42ebc8df6 fix typing for tools (#600) 2025-09-03 18:07:44 +00:00
peterychangandGitHub 9e8001a687 fast forward openai to 1.103.0, update web_search tool to work with it (#592) 2025-09-03 14:04:28 +00:00
Eric ZhuandGitHub ed8461aa7d Python: Add FunctionExecutor and @executor decorator (#589)
* Add FunctionExecutor and @executor decorator

* refactor

* add single argument function

* fix test

* update example code

* add support for sync funciton
2025-09-03 01:56:53 +00:00
3286e8c8b1 Python: Add Python agent runtime project infrastructure (#563)
* Add Python agent runtime project infrastructure.

* lint.

* Rename agent_runtime dir to agent_framework_runtime.

* fix uv.lock

* Update pyproject for rename.

* Update python/packages/runtime/agent_framework_runtime/agent_actor.py

Co-authored-by: Eric Zhu <ekzhu@users.noreply.github.com>

* Add runtime package to workspace and optional dependencies.

---------

Co-authored-by: Eric Zhu <ekzhu@users.noreply.github.com>
2025-09-03 00:05:46 +00:00
3577508a20 Python: Introduce WorkflowAgent (#424)
* start a new implementation based on .net

* add response handling

* update init files

* remove handling of WorkflowCompletedEvent

* clean up implemenation

* fix bug

* update tests for merge_updates

* WorkflowAgent validation

* add a sample and fix bug

* revert pre-commit config

* revert pre-commit

* add human in the loop sample

* add comment

* fix type issue in Executor

* fix type errors and rename Executor.type to Executor.type_ with field alias

* fix test

---------

Co-authored-by: Chris <66376200+crickman@users.noreply.github.com>
2025-09-02 16:25:03 +00:00
peterychangandGitHub 7565a559ad Having the same ID in the func output causes problems with long running (#558) 2025-09-02 14:35:06 +00:00
Dmytro StrukandGitHub 2037e533b3 Removed list_messages method from thread (#564) 2025-08-29 22:51:52 +00:00
907792f18f improved openai integration tests (#553)
Co-authored-by: Giles Odigwe <gilesodigwe@microsoft.com>
2025-08-29 21:04:02 +00:00
Tao ChenandGitHub 15f0147164 Add message id to OpenAI chat response update (#561) 2025-08-29 19:52:30 +00:00
Victor DibiaandGitHub cc7fb43fde add OPENAI_RESPONSES_MODEL_ID to readme so users know which env var to set to use the responses api (#535) 2025-08-29 16:29:40 +00:00
Dmytro StrukandGitHub 0c28935382 Python: Improved exception messages in client initialization (#539)
* Improved exception messages in client initialization

* Fixed tests
2025-08-28 20:52:59 +00:00
Evan MattsonandGitHub 529341f58b Python: Add support for the MagenticWorkflowBuilder (#496)
* magentic happy path - wip

* Support workflow high-level magentic builder API. Add tests and samples.

* Add sample docstring

* Addressing PR feedback round 1

* Fix mypy errors

* Callback improvements

* Rename to MagenticBuilder

* Improvements

* Emit function calling deltas

* PR feedback 2

* Clean up sample
2025-08-28 05:39:48 +00:00
8e14dfc522 Python: Improved foundry integration tests (#514)
* improved foundry integration tests

* Update python/packages/foundry/tests/test_foundry_chat_client.py

Co-authored-by: Dmytro Struk <13853051+dmytrostruk@users.noreply.github.com>

* Update python/packages/foundry/tests/test_foundry_chat_client.py

Co-authored-by: Dmytro Struk <13853051+dmytrostruk@users.noreply.github.com>

---------

Co-authored-by: Giles Odigwe <gilesodigwe@microsoft.com>
Co-authored-by: Dmytro Struk <13853051+dmytrostruk@users.noreply.github.com>
2025-08-27 21:54:28 +00:00
1134350fcf Python: Improved Azure OpenAI integration tests (#489)
* Improved Azure OpenAI integration tests

* Small fixes

* Credential fixes

* small fix

* error fix

---------

Co-authored-by: Giles Odigwe <gilesodigwe@microsoft.com>
2025-08-27 17:41:11 +00:00
Eric ZhuandGitHub 379e3b9a00 Python: Tracing for workflows (#480)
* workflow tracing design doc

* add tracing implementation for workflow

* fix bug caused by double wrapping of sub workflow request

* add unit tests for tracing

* add documentation for workflow tracing

* remove unnecessary file

* update aspire command

* fix tests

* proper serialization of subworkflows and add workflow.definition

* add serialization test

* fix subworkflow serialization

* workflow_id --> id

* update workflow sample to address comments

* update naming; use costant

* use NoOpTracer instead of nullcontext

* use span event instead of attribtutes for status

* fix typing

* add workflow.build span

* rename methods for clarity

* ensure all source trace contexts are propagated in fan in
2025-08-27 14:09:16 +09:00