Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
39 commits
Select commit Hold shift + click to select a range
d5de116
Adjusted customizations and tsp-location.yaml file
jpalvarezl Jan 21, 2026
5265c21
Codegen
jpalvarezl Jan 21, 2026
a07163d
Using correct commit hash
jpalvarezl Jan 21, 2026
bbcfae4
Codegen from latest spec
jpalvarezl Jan 22, 2026
ef500f1
WIP: connect Item class to Stainless types
jpalvarezl Jan 22, 2026
267a6c0
Updated spec to latest
jpalvarezl Jan 23, 2026
2577e24
Merge branch 'main' into jpalvarezl/feature/update-agents
jpalvarezl Jan 26, 2026
8bf8c18
Updating OpenAI package dependency
jpalvarezl Jan 26, 2026
505a5d6
Latest commit hash for azure-ai-projects
jpalvarezl Jan 26, 2026
07eece1
Latest commit hash for azure-ai-agents
jpalvarezl Jan 26, 2026
037efb7
Made the types private
jpalvarezl Jan 26, 2026
c302214
WIP: generated methods are made private, using OpenAI ResponseItemMes…
jpalvarezl Jan 26, 2026
8ec899a
adjusted method visibility
jpalvarezl Jan 27, 2026
4114bee
WIP: fixing tests
jpalvarezl Jan 27, 2026
60878fc
Fixes sync memory store test
jpalvarezl Jan 28, 2026
55da98b
Fixed sync tests for MemoryStores
jpalvarezl Jan 28, 2026
4284a1b
Fixed async tests and pushed recordings for memorystore tests.
jpalvarezl Jan 28, 2026
1545c52
Restored openai tsp package version
jpalvarezl Jan 30, 2026
250db9c
Merge branch 'main' into jpalvarezl/feature/update-agents
jpalvarezl Jan 30, 2026
a5f48c3
Adjusted folder names for tsp-location file
jpalvarezl Jan 30, 2026
c47bcd5
Latest changes injested
jpalvarezl Jan 30, 2026
ff5b8da
codegen
jpalvarezl Jan 30, 2026
ffd2bb7
WIP
jpalvarezl Jan 30, 2026
29c7edb
Generating from latest spec
jpalvarezl Feb 2, 2026
4f9c6df
Added tests for customization
jpalvarezl Feb 2, 2026
f60ad8d
Code reformat
jpalvarezl Feb 2, 2026
d2d8338
Disabled memory store tests
jpalvarezl Feb 2, 2026
d2a25e7
Added flagged word
jpalvarezl Feb 2, 2026
2e632bd
LAtest commit codegen
jpalvarezl Feb 3, 2026
5c2187c
Adding customization for poorly named enums
jpalvarezl Feb 3, 2026
fb02bca
Corrected enum rename customization and added getters for ToolChoice
jpalvarezl Feb 4, 2026
89e3e97
Merge branch 'main' into jpalvarezl/feature/update-agents
jpalvarezl Feb 5, 2026
61d687c
Computer Use sample (#47897)
jpalvarezl Feb 5, 2026
abff588
Generating with opt in keys that work for client, not sure if for ope…
jpalvarezl Feb 5, 2026
e9b840d
foramtting
jpalvarezl Feb 5, 2026
f151048
Latest spec changes
jpalvarezl Feb 11, 2026
6b83757
Merge branch 'main' into jpalvarezl/feature/update-agents
jpalvarezl Feb 12, 2026
9469c78
Codegen from latest spec
jpalvarezl Feb 12, 2026
8ffeffd
Fixed issues with samples
jpalvarezl Feb 12, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions .vscode/cspell.json
Original file line number Diff line number Diff line change
Expand Up @@ -359,6 +359,7 @@
"Mordor",
"mosca",
"mpga",
"mpkjc",
"msal",
"msix",
"MSRC",
Expand Down
27 changes: 27 additions & 0 deletions sdk/ai/STAINLESS_DUPLICATES.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,27 @@
# OpenAI Java duplicate model check (full repo)

## Scope
- Repository: `azure-sdk-for-java` (full scan)
- `com.openai:openai-java` dependency found in:
- `sdk/ai/azure-ai-agents`
- `sdk/ai/azure-ai-projects`
- `sdk/openai/azure-ai-openai-stainless`
- OpenAI model shapes sourced from **openai-java-core 4.14.0** (the runtime classes behind the `openai-java` BOM).
- Model name overlap scan performed across `src/main/java/**/models/**` in each module, followed by field-by-field checks for overlaps.

## Likely duplicates (shape match)
> Found only in `sdk/ai/azure-ai-agents` based on full-repo scan.

| Azure model | OpenAI model | Matching fields / notes |
| --- | --- | --- |
| `com.azure.ai.agents.models.ComparisonFilter` | `com.openai.models.ComparisonFilter` | Fields: `type`, `key`, `value` |
| `com.azure.ai.agents.models.CompoundFilter` | `com.openai.models.CompoundFilter` | Fields: `type`, `filters` |
| `com.azure.ai.agents.models.FunctionTool` | `com.openai.models.responses.FunctionTool` | Fields: `name`, `parameters`, `strict`, `type`, `description` |
| `com.azure.ai.agents.models.FileSearchTool` | `com.openai.models.responses.FileSearchTool` | Fields: `type`, `vectorStoreIds`, `filters`, `maxNumResults` (Azure: `maxResults`), `rankingOptions` |
| `com.azure.ai.agents.models.Reasoning` | `com.openai.models.Reasoning` | Fields: `effort`, `summary`, `generateSummary` |
| `com.azure.ai.agents.models.ReasoningEffort` | `com.openai.models.ReasoningEffort` | Enum values: `none`, `minimal`, `low`, `medium`, `high`, `xhigh` |
| `com.azure.ai.agents.models.WebSearchPreviewTool` | `com.openai.models.responses.WebSearchPreviewTool` | Fields: `type`, `userLocation`, `searchContextSize` |

## Notes on other modules
- **`sdk/ai/azure-ai-projects`**: no model name overlaps with OpenAI Java models found in the scan; no likely duplicates identified.
- **`sdk/openai/azure-ai-openai-stainless`**: no `models` Java classes under `src/main/java`, so no duplicates identified.
5 changes: 0 additions & 5 deletions sdk/ai/azure-ai-agents/_tsp-location.yaml

This file was deleted.

2 changes: 1 addition & 1 deletion sdk/ai/azure-ai-agents/assets.json
Original file line number Diff line number Diff line change
Expand Up @@ -2,5 +2,5 @@
"AssetsRepo": "Azure/azure-sdk-assets",
"AssetsRepoPrefixPath": "java",
"TagPrefix": "java/ai/azure-ai-agents",
"Tag": "java/ai/azure-ai-agents_3f32cd8dff"
"Tag": "java/ai/azure-ai-agents_ab6a883fcd"
}
2 changes: 2 additions & 0 deletions sdk/ai/azure-ai-agents/checkstyle-suppressions.xml
Original file line number Diff line number Diff line change
Expand Up @@ -19,4 +19,6 @@
<suppress files="com.azure.ai.agents.ResponsesClient.java" checks="io.clientcore.linting.extensions.checkstyle.checks.ExternalDependencyExposedCheck" />
<suppress files="com.azure.ai.agents.ConversationsAsyncClient.java" checks="io.clientcore.linting.extensions.checkstyle.checks.ExternalDependencyExposedCheck" />
<suppress files="com.azure.ai.agents.ConversationsClient.java" checks="io.clientcore.linting.extensions.checkstyle.checks.ExternalDependencyExposedCheck" />
<suppress files="com.azure.ai.agents.MemoryStoresAsyncClient.java" checks="io.clientcore.linting.extensions.checkstyle.checks.ExternalDependencyExposedCheck" />
<suppress files="com.azure.ai.agents.MemoryStoresClient.java" checks="io.clientcore.linting.extensions.checkstyle.checks.ExternalDependencyExposedCheck" />
</suppressions>
Original file line number Diff line number Diff line change
@@ -0,0 +1,35 @@
// Copyright (c) Microsoft Corporation. All rights reserved.
// Licensed under the MIT License.

package com.azure.core.test;

import com.azure.core.test.utils.TestProxyManager;
import org.junit.jupiter.api.BeforeAll;

/**
* Base class for running live and playback tests using test-proxy
*/
public abstract class TestProxyTestBase extends TestBase {
static {
setTestProxyEnabled();
}

/**
* Creates an instance of {@link TestProxyTestBase}.
*/
public TestProxyTestBase() {
super();
}

/**
* Before tests are executed, determines the test mode by reading the {@code AZURE_TEST_MODE} environment variable.
* If it is not set, {@link TestMode#PLAYBACK}
*/
@BeforeAll
public static void setupTestProxy() {
testMode = initializeTestMode();
if (isTestProxyEnabled() && (testMode == TestMode.PLAYBACK || testMode == TestMode.RECORD)) {
TestProxyManager.startProxy();
}
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -11,44 +11,28 @@ public class AgentsCustomizations extends Customization {

@Override
public void customize(LibraryCustomization libraryCustomization, Logger logger) {
renameImageGenSizeEnums(libraryCustomization, logger);
renameContainerMemoryLimitVariants(libraryCustomization, logger);
}

/**
* Customization for enum values that are originally numbers and get transliterated by the emitter.
* @param customization
* @param logger
*/
private void renameImageGenSizeEnums(LibraryCustomization customization, Logger logger) {
logger.info("Renaming enum ImageGenToolSize variants");
customization.getClass("com.azure.ai.agents.models", "ImageGenToolSize").customizeAst(ast -> ast.getEnumByName("ImageGenToolSize")
.ifPresent(clazz -> clazz.getEntries().stream()
.filter(entry -> "ONE_ZERO_TWO_FOURX_ONE_ZERO_TWO_FOUR".equals(entry.getName().getIdentifier()))
.forEach(entry -> entry.setName("SIZE_1024X1024"))));

customization.getClass("com.azure.ai.agents.models", "ImageGenToolSize").customizeAst(ast -> ast.getEnumByName("ImageGenToolSize")
.ifPresent(clazz -> clazz.getEntries().stream()
.filter(entry -> "ONE_ZERO_TWO_FOURX_ONE_FIVE_THREE_SIX".equals(entry.getName().getIdentifier()))
.forEach(entry -> entry.setName("SIZE_1024X1536"))));

customization.getClass("com.azure.ai.agents.models", "ImageGenToolSize").customizeAst(ast -> ast.getEnumByName("ImageGenToolSize")
.ifPresent(clazz -> clazz.getEntries().stream()
.filter(entry -> "ONE_FIVE_THREE_SIXX_ONE_ZERO_TWO_FOUR".equals(entry.getName().getIdentifier()))
.forEach(entry -> entry.setName("SIZE_1536X1024"))));

customization.getClass("com.azure.ai.agents.models", "ComputerActionType").customizeAst(ast -> ast.getEnumByName("ComputerActionType")
.ifPresent(clazz -> clazz.getEntries().stream()
.filter(entry -> "KEYPRESS".equals(entry.getName().getIdentifier()))
.forEach(entry -> entry.setName("KEY_PRESS"))));

customization.getClass("com.azure.ai.agents.models", "ComputerActionKeyPress")
.customizeAst(ast -> ast.getClassByName("ComputerActionKeyPress")
.flatMap(clazz -> clazz.getFieldByName("type"))
.ifPresent(barField ->
barField.getVariables().forEach(var -> {
if (var.getNameAsString().equals("type")) {
var.setInitializer("ComputerActionType.KEY_PRESS");
}
})));
private void renameContainerMemoryLimitVariants(LibraryCustomization customization, Logger logger) {
customization.getClass("com.azure.ai.agents.models", "ContainerMemoryLimit").customizeAst(ast -> ast.getEnumByName("ContainerMemoryLimit")
.ifPresent(clazz -> clazz.getEntries().stream()
.filter(entry -> "ONEG".equals(entry.getName().getIdentifier()))
.forEach(entry -> entry.setName("ONE_G"))));

customization.getClass("com.azure.ai.agents.models", "ContainerMemoryLimit").customizeAst(ast -> ast.getEnumByName("ContainerMemoryLimit")
.ifPresent(clazz -> clazz.getEntries().stream()
.filter(entry -> "FOURG".equals(entry.getName().getIdentifier()))
.forEach(entry -> entry.setName("FOUR_G"))));

customization.getClass("com.azure.ai.agents.models", "ContainerMemoryLimit").customizeAst(ast -> ast.getEnumByName("ContainerMemoryLimit")
.ifPresent(clazz -> clazz.getEntries().stream()
.filter(entry -> "ONE_SIXG".equals(entry.getName().getIdentifier()))
.forEach(entry -> entry.setName("SIXTEEN_G"))));

customization.getClass("com.azure.ai.agents.models", "ContainerMemoryLimit").customizeAst(ast -> ast.getEnumByName("ContainerMemoryLimit")
.ifPresent(clazz -> clazz.getEntries().stream()
.filter(entry -> "SIX_FOURG".equals(entry.getName().getIdentifier()))
.forEach(entry -> entry.setName("SIXTY_FOUR_G"))));
}
}
}
23 changes: 17 additions & 6 deletions sdk/ai/azure-ai-agents/pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -46,6 +46,10 @@
<!-- TODO: remove on Public Preview release -->
<jacoco.min.linecoverage>0.0</jacoco.min.linecoverage>
<jacoco.min.branchcoverage>0.0</jacoco.min.branchcoverage>
<javaModulesSurefireArgLine>
--add-exports com.azure.core/com.azure.core.implementation.util=ALL-UNNAMED
--add-opens com.azure.core/com.azure.core.implementation.util=ALL-UNNAMED
</javaModulesSurefireArgLine>
</properties>
<dependencies>
<!-- compile scope -->
Expand Down Expand Up @@ -78,12 +82,6 @@
<version>1.27.0-beta.14</version> <!-- {x-version-update;com.azure:azure-core-test;dependency} -->
<scope>test</scope>
</dependency>
<dependency>
<groupId>com.azure</groupId>
<artifactId>azure-core-http-okhttp</artifactId>
<version>1.13.3</version> <!-- {x-version-update;com.azure:azure-core-http-okhttp;dependency} -->
<scope>test</scope>
</dependency>

</dependencies>

Expand All @@ -110,4 +108,17 @@
</plugin>
</plugins>
</build>

<repositories>
<repository>
<id>azure-sdk-for-java</id>
<url>https://pkgs.dev.azure.com/azure-sdk/public/_packaging/azure-sdk-for-java/maven/v1</url>
<releases>
<enabled>true</enabled>
</releases>
<snapshots>
<enabled>true</enabled>
</snapshots>
</repository>
</repositories>
</project>
Loading
Loading