-
Notifications
You must be signed in to change notification settings - Fork 1k
Python: [BREAKING]: removed display_name, renamed context_providers, middleware and AggregateContextProvider #3139
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Open
eavanvalkenburg
wants to merge
7
commits into
microsoft:main
Choose a base branch
from
eavanvalkenburg:review_feedback_1
base: main
Could not load branches
Branch not found: {{ refName }}
Loading
Could not load tags
Nothing to show
Loading
Are you sure you want to change the base?
Some commits from the old base branch may be removed from the timeline,
and old review comments may become outdated.
+597
−822
Conversation
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Contributor
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Pull request overview
This pull request implements breaking changes to simplify and clarify the Agent Framework API by:
- Removing the
display_nameproperty (agents now usenameoriddirectly) - Converting
AgentProtocolfrom properties to attributes for better protocol definition - Renaming
middlewaretomiddlewares(consistently as a list) - Renaming
context_providerstocontext_provider(singular) - Removing
AggregateContextProviderfrom the core framework and providing it as a sample implementation
Key Changes
- Simplification of agent identification by removing redundant
display_name - Consistent parameter naming with
middlewaresalways being a list - Singular
context_providerparameter reflecting that agents have one provider (which can be an aggregate)
Reviewed changes
Copilot reviewed 91 out of 92 changed files in this pull request and generated 11 comments.
Show a summary per file
| File | Description |
|---|---|
| Python samples (middleware/*.py) | Updated all middleware parameter references from middleware to middlewares |
| Python samples (context_providers/*.py) | Updated context provider parameter from context_providers to context_provider |
| Python samples (observability/*.py) | Replaced agent.display_name with agent.name |
| Python samples (aggregate_context_provider.py) | New sample showing how to implement AggregateContextProvider |
| agent_framework/_agents.py | Changed AgentProtocol to use attributes instead of properties; removed display_name |
| agent_framework/_memory.py | Removed AggregateContextProvider class from core |
| agent_framework/_clients.py | Updated parameter names to context_provider and middlewares |
| agent_framework/_middleware.py | Updated all middleware references and documentation |
| agent_framework/_workflows/ | Updated handoff and participant logic to use name/id instead of display_name |
| agent_framework/observability.py | Updated telemetry to use name or id fallback |
| TypeScript files (devui/frontend) | Updated to reflect new parameter names |
| Test files | Updated all test cases to use new parameter names and removed display_name assertions |
| Integration test files | Removed init.py files and fixed import paths |
python/packages/devui/frontend/src/components/features/agent/agent-details-modal.tsx
Outdated
Show resolved
Hide resolved
python/packages/devui/frontend/src/components/features/agent/agent-details-modal.tsx
Outdated
Show resolved
Hide resolved
python/packages/devui/frontend/src/components/features/agent/agent-details-modal.tsx
Outdated
Show resolved
Hide resolved
python/samples/getting_started/context_providers/aggregate_context_provider.py
Show resolved
Hide resolved
Member
larohra
reviewed
Jan 8, 2026
python/packages/azurefunctions/tests/integration_tests/test_03_callbacks.py
Outdated
Show resolved
Hide resolved
6b2ebdc to
f3bc06f
Compare
larohra
reviewed
Jan 8, 2026
...ckages/azurefunctions/tests/integration_tests/test_04_single_agent_orchestration_chaining.py
Show resolved
Hide resolved
larohra
approved these changes
Jan 8, 2026
c8b2bc8 to
4e76696
Compare
dmytrostruk
approved these changes
Jan 8, 2026
python/packages/copilotstudio/agent_framework_copilotstudio/_agent.py
Outdated
Show resolved
Hide resolved
c70ca14 to
b2304dd
Compare
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Motivation and Context
First round of updates to based on the reviews we've been going through.
context_providerto singular, only allow 1 context provider, removed AggregateContextProvider from code, added sample with that as inspiration, if users need multiple they can leverage that or roll their own. (item 5)middlewareto multiple (middlewares), and mandate a list of middlewares instead of single or list. (item 6)Addresses several items in #2902
Description
Contribution Checklist