Skip to content

azure-ai-agents and azure-ai-projects package refactor for better beta feature isolation#49408

Open
jpalvarezl wants to merge 12 commits into
mainfrom
jpalvarezl/feature/foundry_sdk_beta_client_refactor
Open

azure-ai-agents and azure-ai-projects package refactor for better beta feature isolation#49408
jpalvarezl wants to merge 12 commits into
mainfrom
jpalvarezl/feature/foundry_sdk_beta_client_refactor

Conversation

@jpalvarezl

@jpalvarezl jpalvarezl commented Jun 8, 2026

Copy link
Copy Markdown
Member

Superseeds: #49363 #49344
Spec link: Azure/azure-rest-api-specs#43686

This PR implements the beta() subclient and allowPreview(boolean) builder parameters to have alignment with the Python and JS azure-ai-projects packages (those languages don't have the same package split as Java and a single package).

The Feature Opt-in possible values are now hidden from the users and are setup for them using the newly added methods to the corresponding client builders. (We do document in the README that we are sending them as an additional value header parameter).

Copilot AI review requested due to automatic review settings June 8, 2026 13:18
@jpalvarezl jpalvarezl changed the title Jpalvarezl/feature/foundry sdk beta client refactor azure-ai-agents and azure-ai-projects package refactor for better beta feature isolation Jun 8, 2026
This was referenced Jun 8, 2026

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

This PR updates the Azure AI Projects and Azure AI Agents Java SDKs to align with the Python/JS packages by introducing a beta() subclient surface and an allowPreview(boolean) builder option to control automatic Foundry-Features opt-in behavior. It also completes a broad refactor/rename of preview operation groups to Beta* clients, updates samples/tests/docs/changelogs, and incorporates related spec-driven model/API updates.

Changes:

  • Added/standardized builder.allowPreview(true) + builder.beta() flows and renamed preview operation-group clients to Beta*Client / Beta*AsyncClient across azure-ai-projects and azure-ai-agents.
  • Updated samples, tests, and README snippets to use the new beta clients; added “Foundry-Features header” verification tests.
  • Regenerated/updated models and protocol surfaces (e.g., SkillDetails rename, EvaluationLevel, samplingRate, and removal of OptimizationCandidatePagedResult).

Reviewed changes

Copilot reviewed 82 out of 139 changed files in this pull request and generated 9 comments.

Show a summary per file
File Description
sdk/ai/azure-ai-projects/tsp-location.yaml.hide Removed old hidden TypeSpec location file.
sdk/ai/azure-ai-projects/tsp-location.yaml Added new TypeSpec location + additional directories for codegen inputs.
sdk/ai/azure-ai-projects/src/test/java/com/azure/ai/projects/SamplesTests.java Updated tests to use allowPreview(true) + beta() and SkillDetails.
sdk/ai/azure-ai-projects/src/test/java/com/azure/ai/projects/FoundryFeaturesHeaderVerificationTest.java Added test coverage verifying Foundry-Features header behavior.
sdk/ai/azure-ai-projects/src/test/java/com/azure/ai/projects/DataGenerationJobsClientTests.java Updated live tests to use beta datasets client + preview opt-in flow changes.
sdk/ai/azure-ai-projects/src/test/java/com/azure/ai/projects/DataGenerationJobsAsyncClientTests.java Updated async live tests to use beta datasets async client.
sdk/ai/azure-ai-projects/src/samples/java/com/azure/ai/projects/SkillsSample.java Updated sample to BetaSkillsClient, allowPreview(true), and SkillDetails.
sdk/ai/azure-ai-projects/src/samples/java/com/azure/ai/projects/SkillsPackageSample.java Updated sync skill package sample to beta client + SkillDetails.
sdk/ai/azure-ai-projects/src/samples/java/com/azure/ai/projects/SkillsPackageAsyncSample.java Updated async skill package sample to beta client + SkillDetails.
sdk/ai/azure-ai-projects/src/samples/java/com/azure/ai/projects/SkillsAsyncSample.java Updated async skills CRUD sample to beta client + SkillDetails.
sdk/ai/azure-ai-projects/src/samples/java/com/azure/ai/projects/ReadmeSamples.java Updated readme snippets to use allowPreview(true) + beta subclients.
sdk/ai/azure-ai-projects/src/samples/java/com/azure/ai/projects/ModelsSample.java Updated models sample to BetaModelsClient and allowPreview(true).
sdk/ai/azure-ai-projects/src/samples/java/com/azure/ai/projects/ModelsCreateAndPollSample.java Updated create/poll sample to beta models client.
sdk/ai/azure-ai-projects/src/samples/java/com/azure/ai/projects/ModelsAsyncSample.java Updated async models sample to beta models async client.
sdk/ai/azure-ai-projects/src/samples/java/com/azure/ai/projects/DataGenerationJobWithEvaluationSample.java Updated data generation + eval sample to beta datasets client and new signatures.
sdk/ai/azure-ai-projects/src/samples/java/com/azure/ai/projects/DataGenerationJobsSample.java Updated data generation jobs sample to beta datasets client + preview opt-in.
sdk/ai/azure-ai-projects/src/samples/java/com/azure/ai/projects/DataGenerationJobsAsyncSample.java Updated async data generation jobs sample to beta datasets async client.
sdk/ai/azure-ai-projects/src/main/java/com/azure/ai/projects/models/SkillDetails.java Renamed Skill model to SkillDetails.
sdk/ai/azure-ai-projects/src/main/java/com/azure/ai/projects/models/EvaluatorVersion.java Added supportedEvaluationLevels property (de)serialization + accessors.
sdk/ai/azure-ai-projects/src/main/java/com/azure/ai/projects/models/EvaluationLevel.java Added new expandable string enum model for evaluator supported levels.
sdk/ai/azure-ai-projects/src/main/java/com/azure/ai/projects/models/ContinuousEvaluationRuleAction.java Added samplingRate property (de)serialization + accessors.
sdk/ai/azure-ai-projects/src/main/java/com/azure/ai/projects/IndexesClient.java Updated generated Javadoc wording/structure.
sdk/ai/azure-ai-projects/src/main/java/com/azure/ai/projects/IndexesAsyncClient.java Updated generated Javadoc wording/structure (async).
sdk/ai/azure-ai-projects/src/main/java/com/azure/ai/projects/implementation/models/FoundryFeaturesOptInKeys.java Moved opt-in enum into implementation package for internal use.
sdk/ai/azure-ai-projects/src/main/java/com/azure/ai/projects/implementation/JsonMergePatchHelper.java Reordered accessor wiring for update model merge-patch helper.
sdk/ai/azure-ai-projects/src/main/java/com/azure/ai/projects/implementation/IndexesImpl.java Updated generated Javadoc wording/structure in impl.
sdk/ai/azure-ai-projects/src/main/java/com/azure/ai/projects/implementation/DeploymentsImpl.java Updated generated Javadoc wording/structure in impl.
sdk/ai/azure-ai-projects/src/main/java/com/azure/ai/projects/EvaluationRulesClient.java Removed older explicit opt-in overload; updated docs to match new behavior.
sdk/ai/azure-ai-projects/src/main/java/com/azure/ai/projects/EvaluationRulesAsyncClient.java Async counterpart: removed explicit opt-in overload; updated docs.
sdk/ai/azure-ai-projects/src/main/java/com/azure/ai/projects/DeploymentsClient.java Updated generated Javadoc wording/structure.
sdk/ai/azure-ai-projects/src/main/java/com/azure/ai/projects/DeploymentsAsyncClient.java Updated generated Javadoc wording/structure (async).
sdk/ai/azure-ai-projects/src/main/java/com/azure/ai/projects/DatasetsClient.java Updated generated Javadoc wording/structure.
sdk/ai/azure-ai-projects/src/main/java/com/azure/ai/projects/DatasetsAsyncClient.java Updated generated Javadoc wording/structure (async).
sdk/ai/azure-ai-projects/src/main/java/com/azure/ai/projects/ConnectionsClient.java Updated generated Javadoc wording/structure.
sdk/ai/azure-ai-projects/src/main/java/com/azure/ai/projects/ConnectionsAsyncClient.java Updated generated Javadoc wording/structure (async).
sdk/ai/azure-ai-projects/src/main/java/com/azure/ai/projects/BetaRedTeamsClient.java Beta client rename/refactor to use beta impl and updated docs.
sdk/ai/azure-ai-projects/src/main/java/com/azure/ai/projects/BetaRedTeamsAsyncClient.java Async beta client rename/refactor to use beta impl and updated docs.
sdk/ai/azure-ai-projects/src/main/java/com/azure/ai/projects/BetaEvaluationTaxonomiesClient.java Beta client rename/refactor to use beta impl and updated docs.
sdk/ai/azure-ai-projects/src/main/java/com/azure/ai/projects/BetaEvaluationTaxonomiesAsyncClient.java Async beta client rename/refactor to use beta impl and updated docs.
sdk/ai/azure-ai-projects/README.md Updated code snippets to beta clients; preview-header section needs further correction.
sdk/ai/azure-ai-projects/checkstyle-suppressions.xml Updated suppressions to reflect renamed beta client files.
sdk/ai/azure-ai-projects/CHANGELOG.md Documented breaking renames (Beta* clients, SkillDetails, etc.).
sdk/ai/azure-ai-agents/tsp-location.yaml Updated TypeSpec location and additional directories for agents codegen.
sdk/ai/azure-ai-agents/src/test/java/com/azure/ai/agents/toolboxes/ToolboxSamplesTests.java Updated toolbox tests to beta toolboxes clients.
sdk/ai/azure-ai-agents/src/test/java/com/azure/ai/agents/SessionLogSyncTest.java Updated session log sync test to beta agents client and new signatures.
sdk/ai/azure-ai-agents/src/test/java/com/azure/ai/agents/SessionLogAsyncTest.java Updated session log async test to beta agents async client.
sdk/ai/azure-ai-agents/src/test/java/com/azure/ai/agents/MemoryStoresTests.java Updated memory stores tests to beta memory stores client.
sdk/ai/azure-ai-agents/src/test/java/com/azure/ai/agents/MemoryStoresAsyncTests.java Updated async memory stores tests to beta memory stores async client.
sdk/ai/azure-ai-agents/src/test/java/com/azure/ai/agents/hostedagents/CodeAgentSamplesTests.java Updated hosted code agent tests to beta agents clients.
sdk/ai/azure-ai-agents/src/test/java/com/azure/ai/agents/FoundryFeaturesHeaderVerificationTest.java Added test verifying Foundry-Features behavior for agents SDK.
sdk/ai/azure-ai-agents/src/test/java/com/azure/ai/agents/ClientTestBase.java Updated helper methods to construct beta memory stores clients.
sdk/ai/azure-ai-agents/src/samples/java/com/azure/ai/agents/tools/MemorySearchSync.java Updated sample to use beta memory stores client.
sdk/ai/azure-ai-agents/src/samples/java/com/azure/ai/agents/tools/MemorySearchAsync.java Updated sample to use beta memory stores client.
sdk/ai/azure-ai-agents/src/samples/java/com/azure/ai/agents/toolboxes/UpdateToolbox.java Updated sample to use beta toolboxes client.
sdk/ai/azure-ai-agents/src/samples/java/com/azure/ai/agents/toolboxes/ToolboxSearchToolboxSample.java Updated sample to use beta toolboxes client.
sdk/ai/azure-ai-agents/src/samples/java/com/azure/ai/agents/toolboxes/ToolboxesAsyncSample.java Updated sample to use beta toolboxes async client.
sdk/ai/azure-ai-agents/src/samples/java/com/azure/ai/agents/toolboxes/ListToolboxVersions.java Updated sample to use beta toolboxes client.
sdk/ai/azure-ai-agents/src/samples/java/com/azure/ai/agents/toolboxes/ListToolboxes.java Updated sample to use beta toolboxes client.
sdk/ai/azure-ai-agents/src/samples/java/com/azure/ai/agents/toolboxes/GetToolboxVersion.java Updated sample to use beta toolboxes client.
sdk/ai/azure-ai-agents/src/samples/java/com/azure/ai/agents/toolboxes/GetToolbox.java Updated sample to use beta toolboxes client.
sdk/ai/azure-ai-agents/src/samples/java/com/azure/ai/agents/toolboxes/DeleteToolboxVersion.java Updated sample to use beta toolboxes client.
sdk/ai/azure-ai-agents/src/samples/java/com/azure/ai/agents/toolboxes/DeleteToolbox.java Updated sample to use beta toolboxes client.
sdk/ai/azure-ai-agents/src/samples/java/com/azure/ai/agents/toolboxes/CreateToolboxVersion.java Updated sample to use beta toolboxes client.
sdk/ai/azure-ai-agents/src/samples/java/com/azure/ai/agents/ReadmeSamples.java Updated readme snippets to use beta agents clients for preview APIs.
sdk/ai/azure-ai-agents/src/samples/java/com/azure/ai/agents/MemorySearchAgent.java Updated sample to use beta memory stores client.
sdk/ai/azure-ai-agents/src/samples/java/com/azure/ai/agents/memory/UpdateMemoryStore.java Updated sample to use beta memory stores client.
sdk/ai/azure-ai-agents/src/samples/java/com/azure/ai/agents/memory/ListMemoryStores.java Updated sample to use beta memory stores client.
sdk/ai/azure-ai-agents/src/samples/java/com/azure/ai/agents/memory/GetMemoryStore.java Updated sample to use beta memory stores client.
sdk/ai/azure-ai-agents/src/samples/java/com/azure/ai/agents/memory/DeleteMemoryStore.java Updated sample to use beta memory stores client.
sdk/ai/azure-ai-agents/src/samples/java/com/azure/ai/agents/memory/CreateMemoryStore.java Updated sample to use beta memory stores client.
sdk/ai/azure-ai-agents/src/samples/java/com/azure/ai/agents/hostedagents/SessionsSample.java Updated sessions sample to beta agents client; needs formatting fixes for Checkstyle.
sdk/ai/azure-ai-agents/src/samples/java/com/azure/ai/agents/hostedagents/SessionsAsyncSample.java Updated async sessions sample to beta agents async client.
sdk/ai/azure-ai-agents/src/samples/java/com/azure/ai/agents/hostedagents/SessionLogStreamSample.java Updated session log stream sample to beta agents client.
sdk/ai/azure-ai-agents/src/samples/java/com/azure/ai/agents/hostedagents/SessionLogStreamAsyncSample.java Updated async log stream sample to beta agents async client.
sdk/ai/azure-ai-agents/src/samples/java/com/azure/ai/agents/hostedagents/SessionFilesSample.java Updated session files sample to beta agents client; needs formatting fixes for Checkstyle.
sdk/ai/azure-ai-agents/src/samples/java/com/azure/ai/agents/hostedagents/SessionFilesAsyncSample.java Updated async session files sample to beta agents async client; needs formatting fixes for Checkstyle.
sdk/ai/azure-ai-agents/src/samples/java/com/azure/ai/agents/hostedagents/HostedAgentsSampleUtils.java Updated hosted agents sample utilities to use beta clients; needs formatting fixes for Checkstyle.
sdk/ai/azure-ai-agents/src/samples/java/com/azure/ai/agents/hostedagents/CodeAgentSample.java Updated code agent sample to beta agents client; needs formatting fixes for Checkstyle.
sdk/ai/azure-ai-agents/src/samples/java/com/azure/ai/agents/hostedagents/CodeAgentAsyncSample.java Updated async code agent sample to beta agents async client.
sdk/ai/azure-ai-agents/src/samples/java/com/azure/ai/agents/hostedagents/AgentEndpointSample.java Updated agent endpoint sample to beta agents client.
sdk/ai/azure-ai-agents/src/samples/java/com/azure/ai/agents/hostedagents/AgentEndpointAsyncSample.java Updated async agent endpoint sample to beta agents async client.
sdk/ai/azure-ai-agents/src/main/java/module-info.java Adjusted module opens directives ordering.
sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/OptimizationCandidatePagedResult.java Removed obsolete paged-result model (replaced by paged iteration).
sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/AgentDefinition.java Adjusted discriminator ordering for subtype deserialization.
sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/implementation/models/FoundryFeaturesOptInKeys.java Moved opt-in enum into implementation package for internal use.
sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/implementation/models/CreateAgentOptions.java Removed explicit preview opt-in field from internal options model.
sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/implementation/models/AgentDefinitionOptInKeys.java Moved agent opt-in keys into implementation package for internal use.
sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/implementation/AgentsServicePollUtils.java Updated imports for moved opt-in keys.
sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/implementation/AgentsClientImpl.java Added beta impl operation groups (beta agents/memory stores/toolboxes).
sdk/ai/azure-ai-agents/checkstyle-suppressions.xml Updated suppressions for renamed beta client files.
sdk/ai/azure-ai-agents/CHANGELOG.md Documented beta client renames and pagination breaking changes.

Comment thread sdk/ai/azure-ai-projects/README.md Outdated
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants