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>