5e056b672e
Python: [BREAKING] Python: Provider-leading client design & OpenAI package extraction ( #4818 )
...
* Python: Provider-leading client design & OpenAI package extraction
Major refactoring of the Python Agent Framework client architecture:
- Extract OpenAI clients into new `agent-framework-openai` package
- Core package no longer depends on openai, azure-identity, azure-ai-projects
- Rename clients for discoverability: OpenAIResponsesClient → OpenAIChatClient,
OpenAIChatClient → OpenAIChatCompletionClient
- Unify `model_id`/`deployment_name`/`model_deployment_name` → `model` param
- New FoundryChatClient for Azure AI Foundry Responses API
- New FoundryAgent/FoundryAgentClient for connecting to pre-configured Foundry agents
- Remove OpenAIBase/OpenAIConfigMixin from non-deprecated client MRO
- Deprecate AzureOpenAI* clients, AzureAIClient, OpenAIAssistantsClient
- Reorganize samples: azure_openai+azure_ai+azure_ai_agent → azure/
- ADR-0020: Provider-Leading Client Design
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com >
* fix: missing Agent imports in samples, .model_id → .model in foundry_local sample
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com >
* fix: CI failures — mypy errors, coverage targets, sample imports
- azure-ai mypy: add type ignores for TypedDict total=, model arg, forward ref
- Coverage: replace core.azure/openai targets with openai package target
- project_provider: add type annotation for opts dict
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com >
* fix: populate openai .pyi stub, fix broken README links, coverage targets
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com >
* fixes
* updated observabilitty
* reset azure init.pyi
* fix errors
* updated adr number
* fix foundry local
* fixed not renamed docstrings and comments, and added deprecated markers to old classes
* fix tests and pyprojects
* fix test vars
* updated function tests
* update durable
* updated test setup for functions
* Fix Foundry auth in workflow samples
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com >
* Stabilize Python integration workflows
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com >
* Update hosting samples for Foundry
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com >
* Trigger full CI rerun
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com >
* Trigger CI rerun again
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com >
* trigger rerun
* trigger rerun
* fix for litellm
* undo durabletask changes
* Move Foundry APIs into foundry namespace
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com >
* Fix Foundry pyproject formatting
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com >
* Split provider samples by Foundry surface
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com >
* Restore hosting sample requirements
Also fix the Foundry Local sample link after the provider sample move.
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com >
* updated tests
* udpated foundry integration tests
* removed dist from azurefunctions tests
* Use separate Foundry clients for concurrent agents
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com >
* fix client setup in azfunc and durable
* disabled two tests
* updated setup for some function and durable tests
* improved azure openai setup with new clients
* ignore deprecated
* fixes
* skip 11
* remove openai assistants int tests
---------
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com >
2026-03-25 09:56:29 +00:00
50fdcbaf57
Python: chore(python): improve dependency range automation ( #4343 )
...
* chore(python): improve dependency range automation
- tighten dependency bounds and coding standards guidance\n- add dependency range validation workflow, reporting, and issue automation\n- update related tests and dependency pins for compatibility
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com >
* updated text and pyarrow
* new lock
* fixed workflow
* updated deps
* fix tiktoken
* chore(python): refine dependency validation workflows
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com >
* docs(python): add high-level dependency validation comments
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com >
* WIP
* added additional comments and excludes
* added dev dependency handling and workflow and updates to package ranges
* added readme and simplified commands
* fix markers
* chore(python): address dependency review feedback
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com >
* Tighten dependency bounds, remove stale overrides, restore Python 3.10 support
- Apply dependency bound policy across all packages: stable >=1.0 deps use
>=floor,<next_major; pre-1.0/prerelease deps use validated hard-bounded ranges
- Remove stale root tool.uv.override-dependencies (uvicorn, websockets, grpcio)
- Lower github_copilot requires-python to >=3.10 with github-copilot-sdk gated
behind python_version >= 3.11 marker; import raises ImportError on 3.10
- Skip github_copilot pyright/mypy/test tasks on Python <3.11
- Use version-conditional pyrightconfig for samples on Python 3.10
- Add compatibility fix in core responses client for older openai typed dicts
- Normalize uv.lock prerelease mode and refresh dev dependencies
- Update CODING_STANDARD.md, DEV_SETUP.md, and package management skill docs
Closes #902
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com >
* small tweaks
* add note in workflow
* fix workflows and several versions
* fix duplicate
---------
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com >
2026-03-13 12:32:37 +00:00
0521f5bed8
Python: [BREAKING] Simplify API: ChatAgent -> Agent, ChatMessage -> Message ( #3747 )
...
* [BREAKING] Rename ChatAgent -> Agent, ChatMessage -> Message, ChatClientProtocol -> SupportsChatGetResponse
Simplify the public API by removing redundant 'Chat' prefix from core types:
- ChatAgent -> Agent
- RawChatAgent -> RawAgent
- ChatMessage -> Message
- ChatClientProtocol -> SupportsChatGetResponse
Also renamed internal WorkflowMessage (was Message in _runner_context) to avoid collision.
No backward compatibility aliases - this is a clean breaking change.
* [BREAKING] Rename Agent chat_client parameter to client
* Fix rebase issues: WorkflowMessage references and broken markdown links
* Fix formatting and lint issues from code quality checks
* Fix import ordering in workflow sample files
* fixed rebase
* Fix test failures: use WorkflowMessage and A2AMessage after ChatMessage→Message rename
- Replace Message(data=..., source_id=...) with WorkflowMessage(...) in workflow tests
- Fix isinstance check in A2A agent to use A2AMessage instead of Message
- Fix import in test_workflow_observability.py (Message→WorkflowMessage)
* Fix lint, fmt, and sample errors after ChatMessage→Message rename
- Auto-fix 70+ ruff lint issues across samples (ChatMessage→Message refs)
- Fix HostedVectorStoreContent→Content.from_hosted_vector_store in file search sample
- Fix _normalize_messages→normalize_messages in custom agent sample
- Fix context.terminate→raise MiddlewareTermination in middleware samples
- Fix with_update_hook→with_transform_hook in override middleware sample
- Add TOptions_co import back to custom_chat_client sample
- Add noqa for FastAPI File() default in chatkit sample
- Fix B023 loop variable capture in weather agent sample
* fix: update Agent constructor calls from chat_client to client in declaration-only tool tests
* fix: add register_cleanup to devui lazy-loading proxy and type stub
* fixed tests and updated new pieces
* fix agui typevar
* fix merge errors
* fix merge conflicts
* fiux merge
* Remove unused links
---------
Co-authored-by: Evan Mattson <evan.mattson@microsoft.com >
2026-02-10 23:04:32 +00:00
Evan Mattson and GitHub
74ac470a56
[BREAKING] Python: Move single-config fluent methods to constructor parameters ( #3693 )
...
* Move single-config fluent methods to constructor parameters
* Updates
* Adjust magentic and group chat
2026-02-07 06:01:52 +00:00
Evan Mattson and GitHub
0f3f4dbcaf
[BREAKING] Python: Refactor workflow events to unified discriminated union pattern ( #3690 )
...
* Refactor events
* Merge main
* Fixes
* Cleanup
* Update samples and tests
* Remove unused imports
* PR feedback
* Merge main. Add properties for events to help typing
* Formatting
* Cleanup
* use builtins.type to avoid shadowing by WorkflowEvent.type attribute
* Final improvements
2026-02-06 07:47:20 +00:00
Evan Mattson and GitHub
10afb86213
[BREAKING] Python: Refactor SharedState to State with sync methods and superstep caching ( #3667 )
...
* Refactor SharedState to State with sync methods and superstep caching
* Fixes
* Address PR feedback
* Remove dead links
* Fix lab test import
2026-02-05 01:42:52 +00:00
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
3f7ea350dc
Python: Add tool call/result content types and update connectors and samples ( #2971 )
...
* Add new AI content types and image tool support
Co-authored-by: eavanvalkenburg <13749212+eavanvalkenburg@users.noreply.github.com >
* Add Python content types for tool calls/results and image generation tool support
Co-authored-by: eavanvalkenburg <13749212+eavanvalkenburg@users.noreply.github.com >
* Address review feedback for tool content and samples
Co-authored-by: eavanvalkenburg <13749212+eavanvalkenburg@users.noreply.github.com >
* Tighten image generation typing and sample tools list
Co-authored-by: eavanvalkenburg <13749212+eavanvalkenburg@users.noreply.github.com >
* Align image generation output typing
Co-authored-by: eavanvalkenburg <13749212+eavanvalkenburg@users.noreply.github.com >
* Handle MCP naming, image options mapping, and connector tool content
Co-authored-by: eavanvalkenburg <13749212+eavanvalkenburg@users.noreply.github.com >
* Allow MCP call in function approval request
Co-authored-by: eavanvalkenburg <13749212+eavanvalkenburg@users.noreply.github.com >
* Remove raw image_generation tool remapping
Co-authored-by: eavanvalkenburg <13749212+eavanvalkenburg@users.noreply.github.com >
* Restore Anthropic tool_use to function calls unless code execution
Co-authored-by: eavanvalkenburg <13749212+eavanvalkenburg@users.noreply.github.com >
* Fix lint issues for hosted file docstring and MCP parsing
Co-authored-by: eavanvalkenburg <13749212+eavanvalkenburg@users.noreply.github.com >
* Import ChatResponse types in Anthropic client
Co-authored-by: eavanvalkenburg <13749212+eavanvalkenburg@users.noreply.github.com >
* Fix Anthropics citation type imports and MCP typing for handoff/tools
Co-authored-by: eavanvalkenburg <13749212+eavanvalkenburg@users.noreply.github.com >
* Skip lightning tests without agentlightning and fix function call import
Co-authored-by: eavanvalkenburg <13749212+eavanvalkenburg@users.noreply.github.com >
* fix lint on lab package
* rebuilt anthropic parsing
* redid anthropic parsing
* typo
* updated parsing and added missing docstrings
* fix tests
* mypy fixes
* second mypy fix
* add new class to other samples
---------
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: eavanvalkenburg <github@vanvalkenburg.eu >
2026-01-08 19:46:32 +00:00
458819a12b
Python: [BREAKING] Update Agent Framework Lab Lightning to use Agent-lightning v0.2.0 API ( #1644 )
...
* Merge changes from AGL release
* Merge changes from AGL release
* fix mypy
* fix tool call with pydantic
* Apply suggestion from @ekzhu
* fix lint
---------
Co-authored-by: Eric Zhu <ekzhu@users.noreply.github.com >
2025-10-24 17:02:56 +00:00
Eric Zhu and GitHub
064ee8afbe
Python: Update lab test trigger ( #1632 )
...
* Update lab test trigger
* fix tests
2025-10-23 18:11:57 +00:00
Eduard van Valkenburg and GitHub
54ad135914
Python: [BREAKING] added SerializationMixin and applied to contents, agents, chat client… ( #1012 )
...
* added SerializationMixin and applied to contents, agents, chat clients, removed AFBaseModel
* fix annotations type
* mypy fixes
* fix tests
* fix serializable subvalues and added large docstring
* updated indents in code block
* fixed exported urls
2025-09-30 19:53:46 +00:00
b8df0cd03f
Python: Add Agent Framework Lab Lightning package with RL training examples ( #937 )
...
* add math agent
* .
* update
* update debug mode
* add tau2 training
* .
* .
* .
* .
* add tests
* .
* revert observability
* update readme
* fix task serialization issue
* fix exception
* add inline docs
* update readme
* update pyproject toml
* minor fix
* update and use git lfs
* update
* update ignore file to use lab specific
* fix type
* update depedency
---------
Co-authored-by: Eric Zhu <ekzhu@users.noreply.github.com >
2025-09-30 01:18:49 +00:00
Eric Zhu and GitHub
514d0209a8
Python: consolidate lab packages into a single one; update contribution guidelines ( #940 )
...
* consolidate lab packages into a single one; update contribution guidelines
* update dep list
* add poe tasks; fix tests and lint erros
* add lab tests for CI
* fix test
* update root pyproject.toml
2025-09-27 03:28:05 +00:00
Eric Zhu and GitHub
367a3275d1
Fix typo 'lighting' --> 'lightning'; update labler ( #823 )
2025-09-19 02:17:12 +00:00