Repository navigation
[ai-agents] Handle replaced telephony roots during customization - #50980
Open
liangxu (21eutidyt9d67r1) wants to merge 3 commits into
Open
liangxu (21eutidyt9d67r1) wants to merge 3 commits into
liangxu (21eutidyt9d67r1) wants to merge 3 commits into
Conversation
Contributor
|
Thank you for your contribution liangxu (@21eutidyt9d67r1)! We will review the pull request and get back to you soon. |
|
Azure Pipelines: Successfully started running 1 pipeline(s). 31 pipeline(s) were filtered out due to trigger conditions. There may be pipelines that require an authorized user to comment /azp run to run. |
3 tasks
liangxu (21eutidyt9d67r1)
marked this pull request as ready for review
October 27, 2026 10:41
Contributor
There was a problem hiding this comment.
🟢 Approval recommended
The scoped change preserves allowlist behavior and has focused regression coverage, with no identified blocking issues.
No open issues 🎉
What changed in this PR
This PR makes Azure AI Agents constructor customization tolerate replaced telephony models while preserving protection for known polymorphic roots that are still emitted.
Changes:
- Adds the replacement telephony roots to the allowlist and skips absent models.
- Adds regression tests for replacement and legacy roots, plus preservation of unrelated public constructors.
- Configures JUnit and the nested module’s formatter path, and documents the generation fix.
| File | Description |
|---|---|
| sdk/ai/azure-ai-agents/customizations/src/test/java/AgentsCustomizationsConstructorTests.java | Tests root protection and unrelated constructor preservation. |
| sdk/ai/azure-ai-agents/customizations/src/main/java/AgentsCustomizations.java | Applies constructor protection only to emitted, allowlisted models. |
| sdk/ai/azure-ai-agents/customizations/pom.xml | Adds JUnit and configures the formatter path. |
| sdk/ai/azure-ai-agents/CHANGELOG.md | Records the telephony customization fix. |
Review effort: Balanced
This branch has not been deployed
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
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.
Summary
Fix the first generation failure in azure-rest-api-specs PR #46465 (Java SDK Validation build 6998400): constructor customization assumes
CreateTelephonyBindingInputandTelephonyTransferDestinationare still emitted after their shared-contract replacements.Apply constructor protection only to emitted members of the known polymorphic-root allowlist, including
TelephonyBindingandTelephonyAddress. Legacy roots remain protected when emitted, and unrelated models retain public constructors. This does not restore obsolete public models, change wire contracts, or suppress other generation failures.Scope
AgentsCustomizations.java.src/test/java/com/azure/ai/agents/models/PolymorphicModelConstructorTests.java, using the existing JUnit/Surefire setup.CHANGELOG.md. Remove the standalone customization test configuration.Validation - 2026-10-27
PolymorphicModelConstructorTests: 6 passed, 0 failures/errors/skips.VoiceAgentTelephonyTests: 12 passed, 0 failures/errors/skips.generate_from_source_pom.py/ From Source reactor to build same-checkout unreleased Azure Core dependencies; no dependency versions or package POMs were edited.Targeted command, after generating the local From Source reactor:
The no-matching-tests setting applies to dependency reactor modules; the Agents module actually executed all 18 selected tests with no skips. These are deterministic model/API and mocked HTTP checks, with no live Azure or telephone operations.
This run validates the checked-in SDK models. The constructor tests follow the typed binding-creation input and transfer-destination getter, so they check the corresponding shared roots after regeneration without conditionally skipping missing classes. A fresh generation from TypeSpec PR #46465 and its independent Java/JS SDK gates remain separate validation requirements.
Historical remote CI
Azure Pipelines build 6998804 succeeded for source
337fc5a768e132185a6f9410e9f943c20b496547, tested merge589d683076e5aed0c5def03641b23d147aee47fcagainst maind8ce65bdb9b5c9b0ce41adb43098eb779bde0f83. This is historical evidence for the earlier revision, not CI approval of the latest test-layout update.Related: Azure/azure-rest-api-specs#46465