diff --git a/eng/versioning/version_client.txt b/eng/versioning/version_client.txt
index 56637e2d7951..447690769b64 100644
--- a/eng/versioning/version_client.txt
+++ b/eng/versioning/version_client.txt
@@ -37,7 +37,7 @@ com.azure:azure-data-sdk-parent;1.3.0;1.3.0
com.azure:azure-sdk-parent;1.6.0;1.6.0
com.azure:azure-client-sdk-parent;1.7.0;1.7.0
com.azure:azure-ai-agents-persistent;1.0.0-beta.2;1.0.0-beta.3
-com.azure:azure-ai-agents;2.4.0;2.5.0-beta.1
+com.azure:azure-ai-agents;2.4.0;2.5.0
com.azure:azure-ai-anomalydetector;3.0.0-beta.5;3.0.0-beta.6
com.azure:azure-ai-contentsafety;1.0.20;1.1.0-beta.1
com.azure:azure-ai-contentunderstanding;1.0.0;1.1.0-beta.4
@@ -53,7 +53,7 @@ com.azure:azure-ai-openai;1.0.0-beta.16;1.0.0-beta.17
com.azure:azure-ai-openai-assistants;1.0.0-beta.5;1.0.0-beta.6
com.azure:azure-ai-openai-realtime;1.0.0-beta.1;1.0.0-beta.1
com.azure:azure-ai-openai-stainless;1.0.0-beta.1;1.0.0-beta.1
-com.azure:azure-ai-projects;2.4.0;2.5.0-beta.1
+com.azure:azure-ai-projects;2.4.0;2.5.0
com.azure:azure-ai-speech-transcription;1.0.0;1.1.0-beta.1
com.azure:azure-ai-textanalytics;5.5.15;5.6.0-beta.1
com.azure:azure-ai-textanalytics-perf;1.0.0-beta.1;1.0.0-beta.1
diff --git a/sdk/ai/azure-ai-agents/CHANGELOG.md b/sdk/ai/azure-ai-agents/CHANGELOG.md
index 2611fc2732fa..3e35251dafd8 100644
--- a/sdk/ai/azure-ai-agents/CHANGELOG.md
+++ b/sdk/ai/azure-ai-agents/CHANGELOG.md
@@ -1,15 +1,63 @@
# Release History
-## 2.5.0-beta.1 (Unreleased)
+## 2.5.0 (Unreleased)
### Features Added
+- Added persisted realtime message items for voice-agent conversations:
+ `RealtimeConversationItemMessageSystem`, `RealtimeConversationItemMessageUser`, and
+ `RealtimeConversationItemMessageAssistant`, including role-specific content models and
+ `RealtimeConversationItemType.MESSAGE`.
+- Added `VoiceAgentInputTranscription.setLanguages(...)` and `setKeywords(...)`.
+- Added `WebSearchTool.setExternalWebAccess(...)` and `WebSearchToolboxTool.setExternalWebAccess(...)`.
+- Added `ImageGenToolModel.GPT_IMAGE_2` and `GPT_IMAGE_2_2026_04_21`.
+- Added broad voice-agent support: `VoiceAgentDefinition` (agent kind `voice`) with audio input/output configuration,
+ avatar rendering, turn-detection (server and semantic VAD), noise reduction, input transcription, greeting
+ configuration, and function/MCP/toolbox/system tools. Realtime conversation items now also support MCP tool calls
+ and list-tools results (`RealtimeMCPToolCall`, `RealtimeMCPListTools`, `RealtimeMCPApprovalRequest` /
+ `RealtimeMCPApprovalResponse`).
+- Added the beta `BetaAgentEndpointConversationsClient` / `BetaAgentEndpointConversationsAsyncClient` (via
+ `AgentsClientBuilder.beta()`) for listing/getting/deleting persisted voice-agent conversations, their responses and
+ conversation items, and the associated audio content.
+- Added Microsoft 365 agent publishing. `AgentsClient` / `AgentsAsyncClient` gained `publishAgentToMicrosoft365`,
+ `getMicrosoft365AppPackage`, and `getMicrosoft365PublishDefaults` (plus `WithResponse` overloads), backed by new
+ `PublishAgentToMicrosoft365Options`, `GetMicrosoft365AppPackageOptions`, `Microsoft365PublishResponse`,
+ `Microsoft365PublishDefaults`, `Microsoft365PublishScope`, and `Microsoft365PermissionScopes` models.
+ `AgentEndpointConfig.getPublishApprovalStatus()` exposes the Microsoft 365 store review status through the new
+ `PublishApprovalStatus` enum.
+- Added digital-worker (formerly "autopilot") support: the `DigitalWorkerType` enum, `AgentDetails.getDigitalWorkerType()`,
+ and a `publishAsAutopilot` option on the Microsoft 365 publish/app-package options to publish an agent as a
+ Microsoft 365 digital worker.
+- Added activity-protocol access boundaries: the `ActivityProtocolAccessBoundary` enum and
+ `ActivityProtocolConfiguration.getAccessBoundaries()`, plus matching `accessBoundaries` options on the Microsoft 365
+ publish/app-package options, to scope developer/manager/tenant read and write access for one-on-one and group
+ conversations.
+- Added Model Router support: `ModelRouterDetails`, `ModelRouterMode`, `ModelRouterAttempt` /
+ `ModelRouterAttemptResult` / `ModelRouterAttemptError`, `RoutingTraceEntry`, and `ModelSelectionDetails` (exposed via
+ `AzureCreateResponseDetails.getModelSelectionDetails()`) provide visibility into automatic model-selection routing
+ decisions.
+- Added `WebIqPreviewTool` / `WebIqPreviewToolboxTool` for connecting an agent to a WebIQ MCP server.
+- Added `ShellToolboxTool` for running shell commands in an automatically provisioned or existing container,
+ configured via `ToolboxShellEnvironment`, `ToolboxShellContainerAutoEnvironment`,
+ `ToolboxShellContainerReferenceEnvironment`, and `ToolboxShellNetworkPolicy`.
+- Added hosted-agent session configuration: `SessionConfiguration` and
+ `HostedAgentDefinition.setSessionConfiguration()` / `getSessionConfiguration()` let callers set the idle-timeout
+ default applied to sessions created for a hosted-agent version.
+- Added the `FoundryFeaturesOptInKeys.AGENT_INSIGHTS_V1_PREVIEW` opt-in flag for the Agent Insights preview feature
+ area.
+- Added `AgentsClient.generateAgent` / `generateAgentWithResponse` (and async equivalents) to generate and create an
+ agent from kind-specific, high-level inputs.
+
### Breaking Changes
### Bugs Fixed
+- Fixed realtime message deserialization through `RealtimeConversationItem` and `VoiceResponse.getOutput()` so
+ concrete message roles and the persisted `created_at` and `response_id` values are preserved.
+
### Other Changes
+- Updated the OpenAI TypeSpec model dependency to 1.26.0.
- Added sync and async conversation samples demonstrating the `x-ms-user-identity` header with the OpenAI ConversationService.
- Added sync and async samples for draft agent versions, reminder toolbox tools, hosted-agent enable/disable,
advanced memory-store workflows, and agent optimization.
diff --git a/sdk/ai/azure-ai-agents/README.md b/sdk/ai/azure-ai-agents/README.md
index 46df8730ab15..f718cb0fc10a 100644
--- a/sdk/ai/azure-ai-agents/README.md
+++ b/sdk/ai/azure-ai-agents/README.md
@@ -31,7 +31,7 @@ Various documentation is available to help you get started
Response Body Schema Request Body Schema Response Body Schema Request Body Schema Query Parameters Response Body Schema Response Body Schema Response Body Schema Query Parameters Response Body Schema Request Body Schema Response Body Schema Request Body Schema Response Body Schema Query Parameters Response Body Schema Response Body Schema Response Body Schema Response Body Schema>() { }", "StringList",
+ "fromObject", paramDoc, "a list of Strings, or {@code null} when it is not set or holds another variant",
+ "json.startsWith(\"[\")", "com.azure.core.util.serializer.TypeReference", true);
+ }
+
+ private static String[] modelUnionVariant(String type, String paramDoc) {
+ return unionVariant(type, type, type + ".class", type, "fromObject", paramDoc,
+ "a {@link " + type + "}, or {@code null} when it is not set or holds another variant",
+ "json.startsWith(\"{\")", null, true);
+ }
+
+ /**
+ * Declares a union variant that is represented by an openai-java model rather than a generated Azure model.
+ * Values are bridged through {@code OpenAIJsonHelper} and read back by discriminating on the openai-java
+ * union wrapper (for example {@code ResponseCreateParams.ToolChoice}).
+ *
+ * @param openAiImport the fully qualified openai-java variant class.
+ * @param unionImport the fully qualified openai-java union class used to discriminate the stored value.
+ * @param unionType the (possibly nested) name the union class is referenced by in source.
+ * @param methodSuffix the distinct accessor suffix, e.g. {@code FunctionToolChoice}.
+ * @param isMethod the union predicate method, e.g. {@code isFunction}.
+ * @param asMethod the union accessor method, e.g. {@code asFunction}.
+ * @param doc a short description of the variant used in the generated javadoc.
+ * @return the union variant.
+ */
+ private static String[] openAiUnionVariant(String openAiImport, String unionImport, String unionType,
+ String methodSuffix, String isMethod, String asMethod, String doc) {
+ String simpleName = openAiImport.substring(openAiImport.lastIndexOf('.') + 1);
+ String[] variant = unionVariant(simpleName, simpleName, simpleName + ".class", simpleName, "fromObject",
+ "the openai-java {@link " + simpleName + "} to set, or null to clear", "a " + simpleName,
+ "json.startsWith(\"{\")", null, true);
+ variant[V_OPENAI_IMPORT] = openAiImport;
+ variant[V_OPENAI_UNION_IMPORT] = unionImport;
+ variant[V_OPENAI_UNION_TYPE] = unionType;
+ variant[V_OPENAI_METHOD_SUFFIX] = methodSuffix;
+ variant[V_OPENAI_IS_METHOD] = isMethod;
+ variant[V_OPENAI_AS_METHOD] = asMethod;
+ variant[V_OPENAI_DOC] = doc;
+ return variant;
+ }
+
+ private void makeRealtimeMessageDiscriminatorsFinal(LibraryCustomization customization) {
+ for (String className : new String[] {
+ "RealtimeConversationItemMessage",
+ "RealtimeConversationItemMessageSystem",
+ "RealtimeConversationItemMessageUser",
+ "RealtimeConversationItemMessageAssistant" }) {
+ customization.getClass("com.azure.ai.agents.models", className)
+ .customizeAst(ast -> ast.getClassByName(className)
+ .flatMap(clazz -> clazz.getFieldByName("type"))
+ .ifPresent(field -> field.setModifiers(Modifier.Keyword.PRIVATE, Modifier.Keyword.FINAL)));
+ }
+
+ for (String className : new String[] {
+ "RealtimeConversationItemMessageSystem",
+ "RealtimeConversationItemMessageUser",
+ "RealtimeConversationItemMessageAssistant" }) {
+ customization.getClass("com.azure.ai.agents.models", className).customizeAst(ast -> ast
+ .getClassByName(className)
+ .ifPresent(clazz -> {
+ clazz.getFieldByName("role")
+ .ifPresent(field -> field.setModifiers(Modifier.Keyword.PRIVATE, Modifier.Keyword.FINAL));
+ clazz.getMethodsByName("fromJson")
+ .forEach(method -> method.findAll(AssignExpr.class).stream()
+ .filter(assignment -> assignment.getTarget().toString().endsWith(".role"))
+ .forEach(assignment -> assignment.findAncestor(ExpressionStmt.class)
+ .ifPresent(ExpressionStmt::remove)));
+ }));
+ }
+ }
+
private void renameImageGenToolSize(LibraryCustomization customization, Logger logger) {
customization.getClass("com.azure.ai.agents.models", "ImageGenToolSize").customizeAst(ast -> ast.getEnumByName("ImageGenToolSize")
.ifPresent(clazz -> clazz.getEntries().stream()
diff --git a/sdk/ai/azure-ai-agents/pom.xml b/sdk/ai/azure-ai-agents/pom.xml
index 5f2af5fd12fe..8f0d083970cf 100644
--- a/sdk/ai/azure-ai-agents/pom.xml
+++ b/sdk/ai/azure-ai-agents/pom.xml
@@ -14,7 +14,7 @@
* {@code
* {
- * object: String(agent/agent.version/agent.deleted/agent.version.deleted/agent.container) (Required)
- * id: String (Required)
- * name: String (Required)
- * state: String(enabled/disabled) (Required)
- * state_source: String(agent_instance_identity/agent_blueprint) (Optional)
- * versions (Required): {
- * latest (Required): {
- * metadata (Required): {
- * String: String (Required)
- * }
- * object: String(agent/agent.version/agent.deleted/agent.version.deleted/agent.container) (Required)
- * id: String (Required)
- * name: String (Required)
- * version: String (Required)
- * description: String (Optional)
- * created_at: long (Required)
- * definition (Required): {
- * kind: String(prompt/hosted/workflow/external) (Required)
- * rai_config (Optional): {
- * rai_policy_name: String (Required)
- * }
- * }
- * draft: Boolean (Optional)
- * status: String(creating/active/failed/deleting/deleted) (Optional)
- * instance_identity (Optional): {
- * principal_id: String (Required)
- * client_id: String (Required)
- * status: String(active/disabled) (Optional)
- * }
- * blueprint (Optional): (recursive schema, see blueprint above)
- * blueprint_reference (Optional): {
- * type: String(ManagedAgentIdentityBlueprint) (Required)
- * }
- * agent_guid: String (Optional)
- * }
- * }
* agent_endpoint (Optional): {
* version_selector (Optional): {
* version_selection_rules (Optional, Required on create): [
@@ -2277,6 +2281,9 @@ Mono
- *
- * @param agentName The unique name that identifies the agent. Max 63 chars, must start and end with alphanumeric,
- * hyphens allowed in the middle.
- * @param codeZipSha256 SHA-256 hex digest of the uploaded code zip. Used for change detection (dedup) and integrity
- * verification.
- * @param content The content multipart request content.
- * @param requestOptions The options to configure the HTTP request before HTTP client sends it.
- * @throws HttpResponseException thrown if the request is rejected by server.
- * @throws ClientAuthenticationException thrown if the request is rejected by server on status code 401.
- * @throws ResourceNotFoundException thrown if the request is rejected by server on status code 404.
- * @throws ResourceModifiedException thrown if the request is rejected by server on status code 409.
- * @return the response body along with {@link Response} on successful completion of {@link Mono}.
- */
- @Generated
- @ServiceMethod(returns = ReturnType.SINGLE)
- Mono
@@ -2402,6 +2377,9 @@ Mono
*
- * @param agentName The unique name that identifies the agent. Name can be used to retrieve/update/delete the agent.
- * - Must start and end with alphanumeric characters,
- * - Can contain hyphens in the middle
- * - Must not exceed 63 characters.
- * @param codeZipSha256 SHA-256 hex digest of the uploaded code zip. Used for change detection (dedup) and integrity
- * verification.
- * @param content The content multipart request content.
+ * @param agentName The name of the agent to retrieve
+ *
+ * The name of the agent to retrieve.
+ * @param patchAgentObjectRequest The patchAgentObjectRequest parameter.
* @param requestOptions The options to configure the HTTP request before HTTP client sends it.
* @throws HttpResponseException thrown if the request is rejected by server.
* @throws ClientAuthenticationException thrown if the request is rejected by server on status code 401.
@@ -2460,282 +2437,37 @@ Mono
+ *
+ * You can add these to a request with {@link RequestOptions#addQueryParam}
+ *
+ * Name Type Required Description
+ * agent_version String No The version of the agent whose code zip should be
+ * downloaded.
+ * If omitted, the latest version's code zip is returned.
* {@code
- * {
- * agent_endpoint (Optional): {
- * version_selector (Optional): {
- * version_selection_rules (Optional, Required on create): [
- * (Optional, Required on create){
- * type: String(FixedRatio) (Required)
- * agent_version: String (Optional, Required on create)
- * }
- * ]
- * }
- * protocol_configuration (Optional): {
- * activity (Optional): {
- * enable_m365_public_endpoint: Boolean (Optional)
- * }
- * responses (Optional): {
- * }
- * a2a (Optional): {
- * }
- * mcp (Optional): {
- * }
- * invocations (Optional): {
- * }
- * invocations_ws (Optional): {
- * }
- * }
- * authorization_schemes (Optional): [
- * (Optional){
- * type: String(Entra/BotService/BotServiceRbac/BotServiceTenant) (Required)
- * }
- * ]
- * }
- * agent_card (Optional): {
- * version: String (Optional, Required on create)
- * description: String (Optional)
- * skills (Optional, Required on create): [
- * (Optional, Required on create){
- * id: String (Optional, Required on create)
- * name: String (Optional, Required on create)
- * description: String (Optional)
- * tags (Optional): [
- * String (Optional)
- * ]
- * examples (Optional): [
- * String (Optional)
- * ]
- * }
- * ]
- * }
- * }
- * }
- *
- *
- *
- * {@code
- * {
- * object: String(agent/agent.version/agent.deleted/agent.version.deleted/agent.container) (Required)
- * id: String (Required)
- * name: String (Required)
- * state: String(enabled/disabled) (Required)
- * state_source: String(agent_instance_identity/agent_blueprint) (Optional)
- * versions (Required): {
- * latest (Required): {
- * metadata (Required): {
- * String: String (Required)
- * }
- * object: String(agent/agent.version/agent.deleted/agent.version.deleted/agent.container) (Required)
- * id: String (Required)
- * name: String (Required)
- * version: String (Required)
- * description: String (Optional)
- * created_at: long (Required)
- * definition (Required): {
- * kind: String(prompt/hosted/workflow/external) (Required)
- * rai_config (Optional): {
- * rai_policy_name: String (Required)
- * }
- * }
- * draft: Boolean (Optional)
- * status: String(creating/active/failed/deleting/deleted) (Optional)
- * instance_identity (Optional): {
- * principal_id: String (Required)
- * client_id: String (Required)
- * status: String(active/disabled) (Optional)
- * }
- * blueprint (Optional): (recursive schema, see blueprint above)
- * blueprint_reference (Optional): {
- * type: String(ManagedAgentIdentityBlueprint) (Required)
- * }
- * agent_guid: String (Optional)
- * }
- * }
- * agent_endpoint (Optional): {
- * version_selector (Optional): {
- * version_selection_rules (Optional, Required on create): [
- * (Optional, Required on create){
- * type: String(FixedRatio) (Required)
- * agent_version: String (Optional, Required on create)
- * }
- * ]
- * }
- * protocol_configuration (Optional): {
- * activity (Optional): {
- * enable_m365_public_endpoint: Boolean (Optional)
- * }
- * responses (Optional): {
- * }
- * a2a (Optional): {
- * }
- * mcp (Optional): {
- * }
- * invocations (Optional): {
- * }
- * invocations_ws (Optional): {
- * }
- * }
- * authorization_schemes (Optional): [
- * (Optional){
- * type: String(Entra/BotService/BotServiceRbac/BotServiceTenant) (Required)
- * }
- * ]
- * }
- * instance_identity (Optional): (recursive schema, see instance_identity above)
- * blueprint (Optional): (recursive schema, see blueprint above)
- * blueprint_reference (Optional): (recursive schema, see blueprint_reference above)
- * agent_card (Optional): {
- * version: String (Optional, Required on create)
- * description: String (Optional)
- * skills (Optional, Required on create): [
- * (Optional, Required on create){
- * id: String (Optional, Required on create)
- * name: String (Optional, Required on create)
- * description: String (Optional)
- * tags (Optional): [
- * String (Optional)
- * ]
- * examples (Optional): [
- * String (Optional)
- * ]
- * }
- * ]
- * }
- * }
- * }
- *
- *
- * @param agentName The name of the agent to retrieve
- *
- * The name of the agent to retrieve.
- * @param patchAgentObjectRequest The patchAgentObjectRequest parameter.
- * @param requestOptions The options to configure the HTTP request before HTTP client sends it.
- * @throws HttpResponseException thrown if the request is rejected by server.
- * @throws ClientAuthenticationException thrown if the request is rejected by server on status code 401.
- * @throws ResourceNotFoundException thrown if the request is rejected by server on status code 404.
- * @throws ResourceModifiedException thrown if the request is rejected by server on status code 409.
- * @return the response body along with {@link Response} on successful completion of {@link Mono}.
- */
- @Generated
- @ServiceMethod(returns = ReturnType.SINGLE)
- public Mono
- * {@code
- * {
- * metadata (Required): {
- * String: String (Required)
- * }
- * object: String(agent/agent.version/agent.deleted/agent.version.deleted/agent.container) (Required)
- * id: String (Required)
- * name: String (Required)
- * version: String (Required)
- * description: String (Optional)
- * created_at: long (Required)
- * definition (Required): {
- * kind: String(prompt/hosted/workflow/external) (Required)
- * rai_config (Optional): {
- * rai_policy_name: String (Required)
- * }
- * }
- * draft: Boolean (Optional)
- * status: String(creating/active/failed/deleting/deleted) (Optional)
- * instance_identity (Optional): {
- * principal_id: String (Required)
- * client_id: String (Required)
- * status: String(active/disabled) (Optional)
- * }
- * blueprint (Optional): (recursive schema, see blueprint above)
- * blueprint_reference (Optional): {
- * type: String(ManagedAgentIdentityBlueprint) (Required)
- * }
- * agent_guid: String (Optional)
- * }
- * }
- *
- *
- * @param agentName The unique name that identifies the agent. Name can be used to retrieve/update/delete the agent.
- * - Must start and end with alphanumeric characters,
- * - Can contain hyphens in the middle
- * - Must not exceed 63 characters.
- * @param codeZipSha256 SHA-256 hex digest of the uploaded code zip. Used for change detection (dedup) and integrity
- * verification.
- * @param content The content multipart request content.
- * @param requestOptions The options to configure the HTTP request before HTTP client sends it.
- * @throws HttpResponseException thrown if the request is rejected by server.
- * @throws ClientAuthenticationException thrown if the request is rejected by server on status code 401.
- * @throws ResourceNotFoundException thrown if the request is rejected by server on status code 404.
- * @throws ResourceModifiedException thrown if the request is rejected by server on status code 409.
- * @return the response body along with {@link Response} on successful completion of {@link Mono}.
- */
- @Generated
- @ServiceMethod(returns = ReturnType.SINGLE)
- Mono
- *
- * You can add these to a request with {@link RequestOptions#addQueryParam}
- *
- * Name Type Required Description
- * agent_version String No The version of the agent whose code zip should be
- * downloaded.
- * If omitted, the latest version's code zip is returned.
- * {@code
- * BinaryData
+ * BinaryData
* }
*
*
@@ -3384,9 +3116,9 @@ public Mono
+ * {@code
+ * {
+ * agentDisplayName: String (Optional)
+ * botServiceArmId: String (Optional)
+ * publishAsAutopilot: Boolean (Optional)
+ * accessBoundaries (Optional): [
+ * String(read.1on1.developers/read.1on1.manager/read.1on1.allowlisted/read.1on1.tenant/write.1on1.developers/write.1on1.manager/write.1on1.allowlisted/write.1on1.tenant/read.group.developers/read.group.allowlisted/read.group.manager-invited/read.group.manager-present/read.group.tenant/write.group.developers/write.group.allowlisted/write.group.manager-invited/write.group.manager-present/write.group.tenant) (Optional)
+ * ]
+ * optionalPermissionScopes (Optional): [
+ * (Optional){
+ * resourceAppId: String (Required)
+ * scopes (Required): [
+ * String (Required)
+ * ]
+ * }
+ * ]
+ * publishScope: String(Personal/Shared/Tenant) (Required)
+ * canRespondWithoutMention: Boolean (Optional)
+ * appVersion: String (Optional)
+ * shortDescription: String (Optional)
+ * fullDescription: String (Optional)
+ * developerName: String (Optional)
+ * developerWebsiteUrl: String (Optional)
+ * privacyUrl: String (Optional)
+ * termsOfUseUrl: String (Optional)
+ * colorIconBase64: String (Optional)
+ * outlineIconBase64: String (Optional)
+ * }
+ * }
+ *
+ *
+ *
+ * {@code
+ * {
+ * titleId: String (Optional)
+ * teamsAppId: String (Optional)
+ * }
+ * }
+ *
+ *
+ * @param agentName The name of the agent to publish.
+ * @param publishAgentToMicrosoft365Request The publishAgentToMicrosoft365Request parameter.
+ * @param requestOptions The options to configure the HTTP request before HTTP client sends it.
+ * @throws HttpResponseException thrown if the request is rejected by server.
+ * @throws ClientAuthenticationException thrown if the request is rejected by server on status code 401.
+ * @throws ResourceNotFoundException thrown if the request is rejected by server on status code 404.
+ * @throws ResourceModifiedException thrown if the request is rejected by server on status code 409.
+ * @return response from publishing an agent to Microsoft 365 / Microsoft Teams along with {@link Response} on
+ * successful completion of {@link Mono}.
+ */
+ @Generated
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ public Mono
+ * {@code
+ * {
+ * agentDisplayName: String (Optional)
+ * botServiceArmId: String (Optional)
+ * publishAsAutopilot: Boolean (Optional)
+ * accessBoundaries (Optional): [
+ * String(read.1on1.developers/read.1on1.manager/read.1on1.allowlisted/read.1on1.tenant/write.1on1.developers/write.1on1.manager/write.1on1.allowlisted/write.1on1.tenant/read.group.developers/read.group.allowlisted/read.group.manager-invited/read.group.manager-present/read.group.tenant/write.group.developers/write.group.allowlisted/write.group.manager-invited/write.group.manager-present/write.group.tenant) (Optional)
+ * ]
+ * optionalPermissionScopes (Optional): [
+ * (Optional){
+ * resourceAppId: String (Required)
+ * scopes (Required): [
+ * String (Required)
+ * ]
+ * }
+ * ]
+ * publishScope: String(Personal/Shared/Tenant) (Required)
+ * canRespondWithoutMention: Boolean (Optional)
+ * appVersion: String (Optional)
+ * shortDescription: String (Optional)
+ * fullDescription: String (Optional)
+ * developerName: String (Optional)
+ * developerWebsiteUrl: String (Optional)
+ * privacyUrl: String (Optional)
+ * termsOfUseUrl: String (Optional)
+ * colorIconBase64: String (Optional)
+ * outlineIconBase64: String (Optional)
+ * }
+ * }
+ *
+ *
+ *
+ * {@code
+ * BinaryData
+ * }
+ *
+ *
+ * @param agentName The name of the agent to generate the app package for.
+ * @param getMicrosoft365AppPackageRequest The getMicrosoft365AppPackageRequest parameter.
+ * @param requestOptions The options to configure the HTTP request before HTTP client sends it.
+ * @throws HttpResponseException thrown if the request is rejected by server.
+ * @throws ClientAuthenticationException thrown if the request is rejected by server on status code 401.
+ * @throws ResourceNotFoundException thrown if the request is rejected by server on status code 404.
+ * @throws ResourceModifiedException thrown if the request is rejected by server on status code 409.
+ * @return the response body along with {@link Response} on successful completion of {@link Mono}.
+ */
+ @Generated
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ public Mono
+ *
+ * You can add these to a request with {@link RequestOptions#addQueryParam}
+ *
+ * Name Type Required Description
+ * publishAsDigitalWorker Boolean No When true, returns defaults for publishing the
+ * agent as an autopilot (digital worker) agent.
+ * {@code
+ * {
+ * appPublishScope: String(Personal/Shared/Tenant) (Optional)
+ * agentName: String (Optional)
+ * agentDisplayName: String (Optional)
+ * appRegistrationClientId: String (Optional)
+ * botServiceArmId: String (Optional)
+ * appVersion: String (Optional)
+ * recommendedNextAppVersion: String (Optional)
+ * titleId: String (Optional)
+ * teamsAppId: String (Optional)
+ * shortDescription: String (Optional)
+ * fullDescription: String (Optional)
+ * developerName: String (Optional)
+ * developerWebsiteUrl: String (Optional)
+ * privacyUrl: String (Optional)
+ * termsOfUseUrl: String (Optional)
+ * }
+ * }
+ *
+ *
+ * @param agentName The name of the agent to get publish defaults for.
+ * @param requestOptions The options to configure the HTTP request before HTTP client sends it.
+ * @throws HttpResponseException thrown if the request is rejected by server.
+ * @throws ClientAuthenticationException thrown if the request is rejected by server on status code 401.
+ * @throws ResourceNotFoundException thrown if the request is rejected by server on status code 404.
+ * @throws ResourceModifiedException thrown if the request is rejected by server on status code 409.
+ * @return microsoft 365 publish defaults
+ *
+ * Returns default and previously-published values used to pre-populate a Microsoft 365 publish
+ * request for a Foundry agent along with {@link Response} on successful completion of {@link Mono}.
+ */
+ @Generated
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ public Mono
+ * {@code
+ * {
+ * object: String(agent/agent.version/agent.deleted/agent.version.deleted/agent.container) (Required)
+ * id: String (Required)
+ * name: String (Required)
+ * state: String(enabled/disabled) (Required)
+ * state_source: String(agent_instance_identity/agent_blueprint) (Optional)
+ * versions (Required): {
+ * latest (Required): {
+ * metadata (Required): {
+ * String: String (Required)
+ * }
+ * object: String(agent/agent.version/agent.deleted/agent.version.deleted/agent.container) (Required)
+ * id: String (Required)
+ * name: String (Required)
+ * version: String (Required)
+ * description: String (Optional)
+ * created_at: long (Required)
+ * definition (Required): {
+ * kind: String(prompt/hosted/workflow/external) (Required)
+ * rai_config (Optional): {
+ * rai_policy_name: String (Required)
+ * }
+ * }
+ * draft: Boolean (Optional)
+ * status: String(creating/active/failed/deleting/deleted) (Optional)
+ * instance_identity (Optional): {
+ * principal_id: String (Required)
+ * client_id: String (Required)
+ * status: String(active/disabled) (Optional)
+ * }
+ * blueprint (Optional): (recursive schema, see blueprint above)
+ * blueprint_reference (Optional): {
+ * type: String(ManagedAgentIdentityBlueprint) (Required)
+ * }
+ * agent_guid: String (Optional)
+ * }
+ * }
+ * agent_endpoint (Optional): {
+ * version_selector (Optional): {
+ * version_selection_rules (Optional, Required on create): [
+ * (Optional, Required on create){
+ * type: String(FixedRatio) (Required)
+ * agent_version: String (Optional, Required on create)
+ * }
+ * ]
+ * }
+ * protocol_configuration (Optional): {
+ * activity (Optional): {
+ * enable_m365_public_endpoint: Boolean (Optional)
+ * access_boundaries (Optional): [
+ * String(read.1on1.developers/read.1on1.manager/read.1on1.allowlisted/read.1on1.tenant/write.1on1.developers/write.1on1.manager/write.1on1.allowlisted/write.1on1.tenant/read.group.developers/read.group.allowlisted/read.group.manager-invited/read.group.manager-present/read.group.tenant/write.group.developers/write.group.allowlisted/write.group.manager-invited/write.group.manager-present/write.group.tenant) (Optional)
+ * ]
+ * }
+ * responses (Optional): {
+ * }
+ * a2a (Optional): {
+ * }
+ * mcp (Optional): {
+ * }
+ * invocations (Optional): {
+ * }
+ * invocations_ws (Optional): {
+ * }
+ * }
+ * authorization_schemes (Optional): [
+ * (Optional){
+ * type: String(Entra/BotService/BotServiceRbac/BotServiceTenant) (Required)
+ * }
+ * ]
+ * publish_approval_status: String(not_published/pending/approved/rejected/no_approval_needed) (Optional)
+ * }
+ * digital_worker_type: String(m365) (Optional)
+ * instance_identity (Optional): (recursive schema, see instance_identity above)
+ * blueprint (Optional): (recursive schema, see blueprint above)
+ * blueprint_reference (Optional): (recursive schema, see blueprint_reference above)
+ * agent_card (Optional): {
+ * version: String (Optional, Required on create)
+ * description: String (Optional)
+ * skills (Optional, Required on create): [
+ * (Optional, Required on create){
+ * id: String (Optional, Required on create)
+ * name: String (Optional, Required on create)
+ * description: String (Optional)
+ * tags (Optional): [
+ * String (Optional)
+ * ]
+ * examples (Optional): [
+ * String (Optional)
+ * ]
+ * }
+ * ]
+ * }
+ * }
+ * }
+ *
+ *
+ * @param agentName The unique name that identifies the agent. Max 63 chars, must start and end with alphanumeric,
+ * hyphens allowed in the middle.
+ * @param codeZipSha256 SHA-256 hex digest of the uploaded code zip. Used for change detection (dedup) and integrity
+ * verification.
+ * @param content The content multipart request content.
+ * @param requestOptions The options to configure the HTTP request before HTTP client sends it.
+ * @throws HttpResponseException thrown if the request is rejected by server.
+ * @throws ClientAuthenticationException thrown if the request is rejected by server on status code 401.
+ * @throws ResourceNotFoundException thrown if the request is rejected by server on status code 404.
+ * @throws ResourceModifiedException thrown if the request is rejected by server on status code 409.
+ * @return the response body along with {@link Response} on successful completion of {@link Mono}.
+ */
+ @Generated
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ Mono
+ * {@code
+ * {
+ * object: String(agent/agent.version/agent.deleted/agent.version.deleted/agent.container) (Required)
+ * id: String (Required)
+ * name: String (Required)
+ * state: String(enabled/disabled) (Required)
+ * state_source: String(agent_instance_identity/agent_blueprint) (Optional)
+ * versions (Required): {
+ * latest (Required): {
+ * metadata (Required): {
+ * String: String (Required)
+ * }
+ * object: String(agent/agent.version/agent.deleted/agent.version.deleted/agent.container) (Required)
+ * id: String (Required)
+ * name: String (Required)
+ * version: String (Required)
+ * description: String (Optional)
+ * created_at: long (Required)
+ * definition (Required): {
+ * kind: String(prompt/hosted/workflow/external) (Required)
+ * rai_config (Optional): {
+ * rai_policy_name: String (Required)
+ * }
+ * }
+ * draft: Boolean (Optional)
+ * status: String(creating/active/failed/deleting/deleted) (Optional)
+ * instance_identity (Optional): {
+ * principal_id: String (Required)
+ * client_id: String (Required)
+ * status: String(active/disabled) (Optional)
+ * }
+ * blueprint (Optional): (recursive schema, see blueprint above)
+ * blueprint_reference (Optional): {
+ * type: String(ManagedAgentIdentityBlueprint) (Required)
+ * }
+ * agent_guid: String (Optional)
+ * }
+ * }
+ * agent_endpoint (Optional): {
+ * version_selector (Optional): {
+ * version_selection_rules (Optional, Required on create): [
+ * (Optional, Required on create){
+ * type: String(FixedRatio) (Required)
+ * agent_version: String (Optional, Required on create)
+ * }
+ * ]
+ * }
+ * protocol_configuration (Optional): {
+ * activity (Optional): {
+ * enable_m365_public_endpoint: Boolean (Optional)
+ * access_boundaries (Optional): [
+ * String(read.1on1.developers/read.1on1.manager/read.1on1.allowlisted/read.1on1.tenant/write.1on1.developers/write.1on1.manager/write.1on1.allowlisted/write.1on1.tenant/read.group.developers/read.group.allowlisted/read.group.manager-invited/read.group.manager-present/read.group.tenant/write.group.developers/write.group.allowlisted/write.group.manager-invited/write.group.manager-present/write.group.tenant) (Optional)
+ * ]
+ * }
+ * responses (Optional): {
+ * }
+ * a2a (Optional): {
+ * }
+ * mcp (Optional): {
+ * }
+ * invocations (Optional): {
+ * }
+ * invocations_ws (Optional): {
+ * }
+ * }
+ * authorization_schemes (Optional): [
+ * (Optional){
+ * type: String(Entra/BotService/BotServiceRbac/BotServiceTenant) (Required)
+ * }
+ * ]
+ * publish_approval_status: String(not_published/pending/approved/rejected/no_approval_needed) (Optional)
+ * }
+ * digital_worker_type: String(m365) (Optional)
+ * instance_identity (Optional): (recursive schema, see instance_identity above)
+ * blueprint (Optional): (recursive schema, see blueprint above)
+ * blueprint_reference (Optional): (recursive schema, see blueprint_reference above)
+ * agent_card (Optional): {
+ * version: String (Optional, Required on create)
+ * description: String (Optional)
+ * skills (Optional, Required on create): [
+ * (Optional, Required on create){
+ * id: String (Optional, Required on create)
+ * name: String (Optional, Required on create)
+ * description: String (Optional)
+ * tags (Optional): [
+ * String (Optional)
+ * ]
+ * examples (Optional): [
+ * String (Optional)
+ * ]
+ * }
+ * ]
+ * }
+ * }
+ * }
+ *
+ *
+ * @param agentName The unique name that identifies the agent. Name can be used to retrieve/update/delete the agent.
+ * - Must start and end with alphanumeric characters,
+ * - Can contain hyphens in the middle
+ * - Must not exceed 63 characters.
+ * @param codeZipSha256 SHA-256 hex digest of the uploaded code zip. Used for change detection (dedup) and integrity
+ * verification.
+ * @param content The content multipart request content.
+ * @param requestOptions The options to configure the HTTP request before HTTP client sends it.
+ * @throws HttpResponseException thrown if the request is rejected by server.
+ * @throws ClientAuthenticationException thrown if the request is rejected by server on status code 401.
+ * @throws ResourceNotFoundException thrown if the request is rejected by server on status code 404.
+ * @throws ResourceModifiedException thrown if the request is rejected by server on status code 409.
+ * @return the response body along with {@link Response} on successful completion of {@link Mono}.
+ */
+ @Generated
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ Mono
+ * {@code
+ * {
+ * metadata (Required): {
+ * String: String (Required)
+ * }
+ * object: String(agent/agent.version/agent.deleted/agent.version.deleted/agent.container) (Required)
+ * id: String (Required)
+ * name: String (Required)
+ * version: String (Required)
+ * description: String (Optional)
+ * created_at: long (Required)
+ * definition (Required): {
+ * kind: String(prompt/hosted/workflow/external) (Required)
+ * rai_config (Optional): {
+ * rai_policy_name: String (Required)
+ * }
+ * }
+ * draft: Boolean (Optional)
+ * status: String(creating/active/failed/deleting/deleted) (Optional)
+ * instance_identity (Optional): {
+ * principal_id: String (Required)
+ * client_id: String (Required)
+ * status: String(active/disabled) (Optional)
+ * }
+ * blueprint (Optional): (recursive schema, see blueprint above)
+ * blueprint_reference (Optional): {
+ * type: String(ManagedAgentIdentityBlueprint) (Required)
+ * }
+ * agent_guid: String (Optional)
+ * }
+ * }
+ *
+ *
+ * @param agentName The unique name that identifies the agent. Name can be used to retrieve/update/delete the agent.
+ * - Must start and end with alphanumeric characters,
+ * - Can contain hyphens in the middle
+ * - Must not exceed 63 characters.
+ * @param codeZipSha256 SHA-256 hex digest of the uploaded code zip. Used for change detection (dedup) and integrity
+ * verification.
+ * @param content The content multipart request content.
+ * @param requestOptions The options to configure the HTTP request before HTTP client sends it.
+ * @throws HttpResponseException thrown if the request is rejected by server.
+ * @throws ClientAuthenticationException thrown if the request is rejected by server on status code 401.
+ * @throws ResourceNotFoundException thrown if the request is rejected by server on status code 404.
+ * @throws ResourceModifiedException thrown if the request is rejected by server on status code 409.
+ * @return the response body along with {@link Response} on successful completion of {@link Mono}.
+ */
+ @Generated
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ Mono
Request Body Schema
* *
* {@code
* {
- * object: String(agent/agent.version/agent.deleted/agent.version.deleted/agent.container) (Required)
- * id: String (Required)
- * name: String (Required)
- * state: String(enabled/disabled) (Required)
- * state_source: String(agent_instance_identity/agent_blueprint) (Optional)
- * versions (Required): {
- * latest (Required): {
- * metadata (Required): {
- * String: String (Required)
- * }
- * object: String(agent/agent.version/agent.deleted/agent.version.deleted/agent.container) (Required)
- * id: String (Required)
- * name: String (Required)
- * version: String (Required)
- * description: String (Optional)
- * created_at: long (Required)
- * definition (Required): {
- * kind: String(prompt/hosted/workflow/external) (Required)
- * rai_config (Optional): {
- * rai_policy_name: String (Required)
- * }
- * }
- * draft: Boolean (Optional)
- * status: String(creating/active/failed/deleting/deleted) (Optional)
- * instance_identity (Optional): {
- * principal_id: String (Required)
- * client_id: String (Required)
- * status: String(active/disabled) (Optional)
- * }
- * blueprint (Optional): (recursive schema, see blueprint above)
- * blueprint_reference (Optional): {
- * type: String(ManagedAgentIdentityBlueprint) (Required)
- * }
- * agent_guid: String (Optional)
- * }
- * }
* agent_endpoint (Optional): {
* version_selector (Optional): {
* version_selection_rules (Optional, Required on create): [
@@ -2183,6 +2187,9 @@ AgentDetails updateAgent(String agentName, AgentDefinition definition, Map
- *
- * @param agentName The unique name that identifies the agent. Max 63 chars, must start and end with alphanumeric,
- * hyphens allowed in the middle.
- * @param codeZipSha256 SHA-256 hex digest of the uploaded code zip. Used for change detection (dedup) and integrity
- * verification.
- * @param content The content multipart request content.
- * @param requestOptions The options to configure the HTTP request before HTTP client sends it.
- * @throws HttpResponseException thrown if the request is rejected by server.
- * @throws ClientAuthenticationException thrown if the request is rejected by server on status code 401.
- * @throws ResourceNotFoundException thrown if the request is rejected by server on status code 404.
- * @throws ResourceModifiedException thrown if the request is rejected by server on status code 409.
- * @return the response body along with {@link Response}.
- */
- @Generated
- @ServiceMethod(returns = ReturnType.SINGLE)
- Response createAgentFromCodeWithResponse(String agentName, String codeZipSha256, BinaryData content,
- RequestOptions requestOptions) {
- // Operation 'createAgentFromCode' is of content-type 'multipart/form-data'. Protocol API is not usable and
- // hence not generated.
- return this.serviceClient.createAgentFromCodeWithResponse(agentName, codeZipSha256, content, requestOptions);
- }
-
- /**
- * Update a code-based agent
- *
- * Updates a code-based agent by uploading new code and creating a new version.
- * If the code and definition are unchanged (matched by x-ms-code-zip-sha256 header), returns the existing version.
- * The request body is multipart/form-data with a JSON metadata part and a binary code part (part order is
- * irrelevant).
- * Maximum upload size is 250 MB.
+ *
* Response Body Schema
*
*
@@ -2307,6 +2283,9 @@ Response createAgentFromCodeWithResponse(String agentName, String co
* protocol_configuration (Optional): {
* activity (Optional): {
* enable_m365_public_endpoint: Boolean (Optional)
+ * access_boundaries (Optional): [
+ * String(read.1on1.developers/read.1on1.manager/read.1on1.allowlisted/read.1on1.tenant/write.1on1.developers/write.1on1.manager/write.1on1.allowlisted/write.1on1.tenant/read.group.developers/read.group.allowlisted/read.group.manager-invited/read.group.manager-present/read.group.tenant/write.group.developers/write.group.allowlisted/write.group.manager-invited/write.group.manager-present/write.group.tenant) (Optional)
+ * ]
* }
* responses (Optional): {
* }
@@ -2324,7 +2303,9 @@ Response createAgentFromCodeWithResponse(String agentName, String co
* type: String(Entra/BotService/BotServiceRbac/BotServiceTenant) (Required)
* }
* ]
+ * publish_approval_status: String(not_published/pending/approved/rejected/no_approval_needed) (Optional)
* }
+ * digital_worker_type: String(m365) (Optional)
* instance_identity (Optional): (recursive schema, see instance_identity above)
* blueprint (Optional): (recursive schema, see blueprint above)
* blueprint_reference (Optional): (recursive schema, see blueprint_reference above)
@@ -2349,13 +2330,10 @@ Response createAgentFromCodeWithResponse(String agentName, String co
* }
*
*
- * @param agentName The unique name that identifies the agent. Name can be used to retrieve/update/delete the agent.
- * - Must start and end with alphanumeric characters,
- * - Can contain hyphens in the middle
- * - Must not exceed 63 characters.
- * @param codeZipSha256 SHA-256 hex digest of the uploaded code zip. Used for change detection (dedup) and integrity
- * verification.
- * @param content The content multipart request content.
+ * @param agentName The name of the agent to retrieve
+ *
+ * The name of the agent to retrieve.
+ * @param patchAgentObjectRequest The patchAgentObjectRequest parameter.
* @param requestOptions The options to configure the HTTP request before HTTP client sends it.
* @throws HttpResponseException thrown if the request is rejected by server.
* @throws ClientAuthenticationException thrown if the request is rejected by server on status code 401.
@@ -2365,280 +2343,36 @@ Response createAgentFromCodeWithResponse(String agentName, String co
*/
@Generated
@ServiceMethod(returns = ReturnType.SINGLE)
- Response updateAgentFromCodeWithResponse(String agentName, String codeZipSha256, BinaryData content,
+ public Response updateAgentDetailsWithResponse(String agentName, BinaryData patchAgentObjectRequest,
RequestOptions requestOptions) {
- // Operation 'updateAgentFromCode' is of content-type 'multipart/form-data'. Protocol API is not usable and
- // hence not generated.
- return this.serviceClient.updateAgentFromCodeWithResponse(agentName, codeZipSha256, content, requestOptions);
+ return this.serviceClient.updateAgentDetailsWithResponse(agentName, patchAgentObjectRequest, requestOptions);
}
/**
- * Update an agent endpoint
+ * Download agent code
*
- * Applies a merge-patch update to the specified agent endpoint configuration.
- * Request Body Schema
+ * Downloads the code zip for a code-based hosted agent.
+ * Returns the previously-uploaded zip (`application/zip`).
+ *
+ * If `agent_version` is supplied, returns that version's code zip; otherwise
+ * returns the latest version's code zip.
+ *
+ * The SHA-256 digest of the returned bytes matches the `content_hash` on the
+ * resolved version's `code_configuration`.
+ * Query Parameters
+ *
+ * Query Parameters
+ * Name Type Required Description
+ * agent_version String No The version of the agent whose code zip should be
+ * downloaded.
+ * If omitted, the latest version's code zip is returned.
+ *
+ * You can add these to a request with {@link RequestOptions#addQueryParam}
+ * Response Body Schema
*
*
* {@code
- * {
- * agent_endpoint (Optional): {
- * version_selector (Optional): {
- * version_selection_rules (Optional, Required on create): [
- * (Optional, Required on create){
- * type: String(FixedRatio) (Required)
- * agent_version: String (Optional, Required on create)
- * }
- * ]
- * }
- * protocol_configuration (Optional): {
- * activity (Optional): {
- * enable_m365_public_endpoint: Boolean (Optional)
- * }
- * responses (Optional): {
- * }
- * a2a (Optional): {
- * }
- * mcp (Optional): {
- * }
- * invocations (Optional): {
- * }
- * invocations_ws (Optional): {
- * }
- * }
- * authorization_schemes (Optional): [
- * (Optional){
- * type: String(Entra/BotService/BotServiceRbac/BotServiceTenant) (Required)
- * }
- * ]
- * }
- * agent_card (Optional): {
- * version: String (Optional, Required on create)
- * description: String (Optional)
- * skills (Optional, Required on create): [
- * (Optional, Required on create){
- * id: String (Optional, Required on create)
- * name: String (Optional, Required on create)
- * description: String (Optional)
- * tags (Optional): [
- * String (Optional)
- * ]
- * examples (Optional): [
- * String (Optional)
- * ]
- * }
- * ]
- * }
- * }
- * }
- *
- *
- * Response Body Schema
- *
- *
- * {@code
- * {
- * object: String(agent/agent.version/agent.deleted/agent.version.deleted/agent.container) (Required)
- * id: String (Required)
- * name: String (Required)
- * state: String(enabled/disabled) (Required)
- * state_source: String(agent_instance_identity/agent_blueprint) (Optional)
- * versions (Required): {
- * latest (Required): {
- * metadata (Required): {
- * String: String (Required)
- * }
- * object: String(agent/agent.version/agent.deleted/agent.version.deleted/agent.container) (Required)
- * id: String (Required)
- * name: String (Required)
- * version: String (Required)
- * description: String (Optional)
- * created_at: long (Required)
- * definition (Required): {
- * kind: String(prompt/hosted/workflow/external) (Required)
- * rai_config (Optional): {
- * rai_policy_name: String (Required)
- * }
- * }
- * draft: Boolean (Optional)
- * status: String(creating/active/failed/deleting/deleted) (Optional)
- * instance_identity (Optional): {
- * principal_id: String (Required)
- * client_id: String (Required)
- * status: String(active/disabled) (Optional)
- * }
- * blueprint (Optional): (recursive schema, see blueprint above)
- * blueprint_reference (Optional): {
- * type: String(ManagedAgentIdentityBlueprint) (Required)
- * }
- * agent_guid: String (Optional)
- * }
- * }
- * agent_endpoint (Optional): {
- * version_selector (Optional): {
- * version_selection_rules (Optional, Required on create): [
- * (Optional, Required on create){
- * type: String(FixedRatio) (Required)
- * agent_version: String (Optional, Required on create)
- * }
- * ]
- * }
- * protocol_configuration (Optional): {
- * activity (Optional): {
- * enable_m365_public_endpoint: Boolean (Optional)
- * }
- * responses (Optional): {
- * }
- * a2a (Optional): {
- * }
- * mcp (Optional): {
- * }
- * invocations (Optional): {
- * }
- * invocations_ws (Optional): {
- * }
- * }
- * authorization_schemes (Optional): [
- * (Optional){
- * type: String(Entra/BotService/BotServiceRbac/BotServiceTenant) (Required)
- * }
- * ]
- * }
- * instance_identity (Optional): (recursive schema, see instance_identity above)
- * blueprint (Optional): (recursive schema, see blueprint above)
- * blueprint_reference (Optional): (recursive schema, see blueprint_reference above)
- * agent_card (Optional): {
- * version: String (Optional, Required on create)
- * description: String (Optional)
- * skills (Optional, Required on create): [
- * (Optional, Required on create){
- * id: String (Optional, Required on create)
- * name: String (Optional, Required on create)
- * description: String (Optional)
- * tags (Optional): [
- * String (Optional)
- * ]
- * examples (Optional): [
- * String (Optional)
- * ]
- * }
- * ]
- * }
- * }
- * }
- *
- *
- * @param agentName The name of the agent to retrieve
- *
- * The name of the agent to retrieve.
- * @param patchAgentObjectRequest The patchAgentObjectRequest parameter.
- * @param requestOptions The options to configure the HTTP request before HTTP client sends it.
- * @throws HttpResponseException thrown if the request is rejected by server.
- * @throws ClientAuthenticationException thrown if the request is rejected by server on status code 401.
- * @throws ResourceNotFoundException thrown if the request is rejected by server on status code 404.
- * @throws ResourceModifiedException thrown if the request is rejected by server on status code 409.
- * @return the response body along with {@link Response}.
- */
- @Generated
- @ServiceMethod(returns = ReturnType.SINGLE)
- public Response updateAgentDetailsWithResponse(String agentName, BinaryData patchAgentObjectRequest,
- RequestOptions requestOptions) {
- return this.serviceClient.updateAgentDetailsWithResponse(agentName, patchAgentObjectRequest, requestOptions);
- }
-
- /**
- * Create an agent version from code
- *
- * Creates a new agent version from code. Uploads the code zip and creates a new version
- * for an existing agent. The SHA-256 hex digest of the zip is provided in the
- * `x-ms-code-zip-sha256` header for integrity and dedup.
- * The request body is multipart/form-data with a JSON metadata part and a binary code part (part order is
- * irrelevant).
- * Maximum upload size is 250 MB.
- * Response Body Schema
- *
- *
- * {@code
- * {
- * metadata (Required): {
- * String: String (Required)
- * }
- * object: String(agent/agent.version/agent.deleted/agent.version.deleted/agent.container) (Required)
- * id: String (Required)
- * name: String (Required)
- * version: String (Required)
- * description: String (Optional)
- * created_at: long (Required)
- * definition (Required): {
- * kind: String(prompt/hosted/workflow/external) (Required)
- * rai_config (Optional): {
- * rai_policy_name: String (Required)
- * }
- * }
- * draft: Boolean (Optional)
- * status: String(creating/active/failed/deleting/deleted) (Optional)
- * instance_identity (Optional): {
- * principal_id: String (Required)
- * client_id: String (Required)
- * status: String(active/disabled) (Optional)
- * }
- * blueprint (Optional): (recursive schema, see blueprint above)
- * blueprint_reference (Optional): {
- * type: String(ManagedAgentIdentityBlueprint) (Required)
- * }
- * agent_guid: String (Optional)
- * }
- * }
- *
- *
- * @param agentName The unique name that identifies the agent. Name can be used to retrieve/update/delete the agent.
- * - Must start and end with alphanumeric characters,
- * - Can contain hyphens in the middle
- * - Must not exceed 63 characters.
- * @param codeZipSha256 SHA-256 hex digest of the uploaded code zip. Used for change detection (dedup) and integrity
- * verification.
- * @param content The content multipart request content.
- * @param requestOptions The options to configure the HTTP request before HTTP client sends it.
- * @throws HttpResponseException thrown if the request is rejected by server.
- * @throws ClientAuthenticationException thrown if the request is rejected by server on status code 401.
- * @throws ResourceNotFoundException thrown if the request is rejected by server on status code 404.
- * @throws ResourceModifiedException thrown if the request is rejected by server on status code 409.
- * @return the response body along with {@link Response}.
- */
- @Generated
- @ServiceMethod(returns = ReturnType.SINGLE)
- Response createAgentVersionFromCodeWithResponse(String agentName, String codeZipSha256,
- BinaryData content, RequestOptions requestOptions) {
- // Operation 'createAgentVersionFromCode' is of content-type 'multipart/form-data'. Protocol API is not usable
- // and hence not generated.
- return this.serviceClient.createAgentVersionFromCodeWithResponse(agentName, codeZipSha256, content,
- requestOptions);
- }
-
- /**
- * Download agent code
- *
- * Downloads the code zip for a code-based hosted agent.
- * Returns the previously-uploaded zip (`application/zip`).
- *
- * If `agent_version` is supplied, returns that version's code zip; otherwise
- * returns the latest version's code zip.
- *
- * The SHA-256 digest of the returned bytes matches the `content_hash` on the
- * resolved version's `code_configuration`.
- * Query Parameters
- *
- * Query Parameters
- * Name Type Required Description
- * agent_version String No The version of the agent whose code zip should be
- * downloaded.
- * If omitted, the latest version's code zip is returned.
- *
- * You can add these to a request with {@link RequestOptions#addQueryParam}
- * Response Body Schema
- *
- *
- * {@code
- * BinaryData
+ * BinaryData
* }
*
*
@@ -3290,9 +3024,9 @@ public Response deleteSessionFileWithResponse(String agentName, String ses
@Generated
@ServiceMethod(returns = ReturnType.SINGLE)
AgentDetails createAgentFromCode(String agentName, String codeZipSha256, CreateAgentFromCodeContent content) {
- // Generated convenience method for createAgentFromCodeWithResponse
+ // Generated convenience method for createAgentFromCodeWithResponseInternal
RequestOptions requestOptions = new RequestOptions();
- return createAgentFromCodeWithResponse(agentName, codeZipSha256,
+ return createAgentFromCodeWithResponseInternal(agentName, codeZipSha256,
new MultipartFormDataHelper(requestOptions).serializeJsonField("metadata", content.getMetadata())
.serializeFileField("code", content.getCode().getContent(), content.getCode().getContentType(),
content.getCode().getFilename())
@@ -3329,9 +3063,9 @@ AgentDetails createAgentFromCode(String agentName, String codeZipSha256, CreateA
@ServiceMethod(returns = ReturnType.SINGLE)
public AgentDetails updateAgentFromCode(String agentName, String codeZipSha256,
CreateAgentVersionFromCodeContent content) {
- // Generated convenience method for updateAgentFromCodeWithResponse
+ // Generated convenience method for updateAgentFromCodeWithResponseInternal
RequestOptions requestOptions = new RequestOptions();
- return updateAgentFromCodeWithResponse(agentName, codeZipSha256,
+ return updateAgentFromCodeWithResponseInternal(agentName, codeZipSha256,
new MultipartFormDataHelper(requestOptions).serializeJsonField("metadata", content.getMetadata())
.serializeFileField("code", content.getCode().getContent(), content.getCode().getContentType(),
content.getCode().getFilename())
@@ -3402,9 +3136,9 @@ public AgentDetails updateAgentDetails(String agentName, UpdateAgentDetailsOptio
@ServiceMethod(returns = ReturnType.SINGLE)
public AgentVersionDetails createAgentVersionFromCode(String agentName, String codeZipSha256,
CreateAgentVersionFromCodeContent content) {
- // Generated convenience method for createAgentVersionFromCodeWithResponse
+ // Generated convenience method for createAgentVersionFromCodeWithResponseInternal
RequestOptions requestOptions = new RequestOptions();
- return createAgentVersionFromCodeWithResponse(agentName, codeZipSha256,
+ return createAgentVersionFromCodeWithResponseInternal(agentName, codeZipSha256,
new MultipartFormDataHelper(requestOptions).serializeJsonField("metadata", content.getMetadata())
.serializeFileField("code", content.getCode().getContent(), content.getCode().getContentType(),
content.getCode().getFilename())
@@ -4125,4 +3859,669 @@ public PagedIterable listAgentVersions(String agentName, In
return serviceClient.listAgentVersions(agentName, requestOptions)
.mapPage(bodyItemValue -> bodyItemValue.toObject(AgentVersionDetails.class));
}
+
+ /**
+ * Publish an agent to Microsoft 365
+ *
+ * Publishes a Foundry agent to Microsoft 365 / Microsoft Teams and returns the published title and
+ * Teams app ids.
+ * Request Body Schema
+ *
+ *
+ * {@code
+ * {
+ * agentDisplayName: String (Optional)
+ * botServiceArmId: String (Optional)
+ * publishAsAutopilot: Boolean (Optional)
+ * accessBoundaries (Optional): [
+ * String(read.1on1.developers/read.1on1.manager/read.1on1.allowlisted/read.1on1.tenant/write.1on1.developers/write.1on1.manager/write.1on1.allowlisted/write.1on1.tenant/read.group.developers/read.group.allowlisted/read.group.manager-invited/read.group.manager-present/read.group.tenant/write.group.developers/write.group.allowlisted/write.group.manager-invited/write.group.manager-present/write.group.tenant) (Optional)
+ * ]
+ * optionalPermissionScopes (Optional): [
+ * (Optional){
+ * resourceAppId: String (Required)
+ * scopes (Required): [
+ * String (Required)
+ * ]
+ * }
+ * ]
+ * publishScope: String(Personal/Shared/Tenant) (Required)
+ * canRespondWithoutMention: Boolean (Optional)
+ * appVersion: String (Optional)
+ * shortDescription: String (Optional)
+ * fullDescription: String (Optional)
+ * developerName: String (Optional)
+ * developerWebsiteUrl: String (Optional)
+ * privacyUrl: String (Optional)
+ * termsOfUseUrl: String (Optional)
+ * colorIconBase64: String (Optional)
+ * outlineIconBase64: String (Optional)
+ * }
+ * }
+ *
+ *
+ * Response Body Schema
+ *
+ *
+ * {@code
+ * {
+ * titleId: String (Optional)
+ * teamsAppId: String (Optional)
+ * }
+ * }
+ *
+ *
+ * @param agentName The name of the agent to publish.
+ * @param publishAgentToMicrosoft365Request The publishAgentToMicrosoft365Request parameter.
+ * @param requestOptions The options to configure the HTTP request before HTTP client sends it.
+ * @throws HttpResponseException thrown if the request is rejected by server.
+ * @throws ClientAuthenticationException thrown if the request is rejected by server on status code 401.
+ * @throws ResourceNotFoundException thrown if the request is rejected by server on status code 404.
+ * @throws ResourceModifiedException thrown if the request is rejected by server on status code 409.
+ * @return response from publishing an agent to Microsoft 365 / Microsoft Teams along with {@link Response}.
+ */
+ @Generated
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ public Response publishAgentToMicrosoft365WithResponse(String agentName,
+ BinaryData publishAgentToMicrosoft365Request, RequestOptions requestOptions) {
+ return this.serviceClient.publishAgentToMicrosoft365WithResponse(agentName, publishAgentToMicrosoft365Request,
+ requestOptions);
+ }
+
+ /**
+ * Generate a Microsoft 365 app package
+ *
+ * Generates the Microsoft Teams app package (zip) for a Foundry agent from the supplied publish
+ * request, without publishing it. Returns the app package as `application/zip`.
+ * Request Body Schema
+ *
+ *
+ * {@code
+ * {
+ * agentDisplayName: String (Optional)
+ * botServiceArmId: String (Optional)
+ * publishAsAutopilot: Boolean (Optional)
+ * accessBoundaries (Optional): [
+ * String(read.1on1.developers/read.1on1.manager/read.1on1.allowlisted/read.1on1.tenant/write.1on1.developers/write.1on1.manager/write.1on1.allowlisted/write.1on1.tenant/read.group.developers/read.group.allowlisted/read.group.manager-invited/read.group.manager-present/read.group.tenant/write.group.developers/write.group.allowlisted/write.group.manager-invited/write.group.manager-present/write.group.tenant) (Optional)
+ * ]
+ * optionalPermissionScopes (Optional): [
+ * (Optional){
+ * resourceAppId: String (Required)
+ * scopes (Required): [
+ * String (Required)
+ * ]
+ * }
+ * ]
+ * publishScope: String(Personal/Shared/Tenant) (Required)
+ * canRespondWithoutMention: Boolean (Optional)
+ * appVersion: String (Optional)
+ * shortDescription: String (Optional)
+ * fullDescription: String (Optional)
+ * developerName: String (Optional)
+ * developerWebsiteUrl: String (Optional)
+ * privacyUrl: String (Optional)
+ * termsOfUseUrl: String (Optional)
+ * colorIconBase64: String (Optional)
+ * outlineIconBase64: String (Optional)
+ * }
+ * }
+ *
+ *
+ * Response Body Schema
+ *
+ *
+ * {@code
+ * BinaryData
+ * }
+ *
+ *
+ * @param agentName The name of the agent to generate the app package for.
+ * @param getMicrosoft365AppPackageRequest The getMicrosoft365AppPackageRequest parameter.
+ * @param requestOptions The options to configure the HTTP request before HTTP client sends it.
+ * @throws HttpResponseException thrown if the request is rejected by server.
+ * @throws ClientAuthenticationException thrown if the request is rejected by server on status code 401.
+ * @throws ResourceNotFoundException thrown if the request is rejected by server on status code 404.
+ * @throws ResourceModifiedException thrown if the request is rejected by server on status code 409.
+ * @return the response body along with {@link Response}.
+ */
+ @Generated
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ public Response getMicrosoft365AppPackageWithResponse(String agentName,
+ BinaryData getMicrosoft365AppPackageRequest, RequestOptions requestOptions) {
+ return this.serviceClient.getMicrosoft365AppPackageWithResponse(agentName, getMicrosoft365AppPackageRequest,
+ requestOptions);
+ }
+
+ /**
+ * Get Microsoft 365 publish defaults
+ *
+ * Returns default and previously-published values used to pre-populate a Microsoft 365 publish
+ * request for a Foundry agent.
+ * Query Parameters
+ *
+ * Query Parameters
+ * Name Type Required Description
+ * publishAsDigitalWorker Boolean No When true, returns defaults for publishing the
+ * agent as an autopilot (digital worker) agent.
+ *
+ * You can add these to a request with {@link RequestOptions#addQueryParam}
+ * Response Body Schema
+ *
+ *
+ * {@code
+ * {
+ * appPublishScope: String(Personal/Shared/Tenant) (Optional)
+ * agentName: String (Optional)
+ * agentDisplayName: String (Optional)
+ * appRegistrationClientId: String (Optional)
+ * botServiceArmId: String (Optional)
+ * appVersion: String (Optional)
+ * recommendedNextAppVersion: String (Optional)
+ * titleId: String (Optional)
+ * teamsAppId: String (Optional)
+ * shortDescription: String (Optional)
+ * fullDescription: String (Optional)
+ * developerName: String (Optional)
+ * developerWebsiteUrl: String (Optional)
+ * privacyUrl: String (Optional)
+ * termsOfUseUrl: String (Optional)
+ * }
+ * }
+ *
+ *
+ * @param agentName The name of the agent to get publish defaults for.
+ * @param requestOptions The options to configure the HTTP request before HTTP client sends it.
+ * @throws HttpResponseException thrown if the request is rejected by server.
+ * @throws ClientAuthenticationException thrown if the request is rejected by server on status code 401.
+ * @throws ResourceNotFoundException thrown if the request is rejected by server on status code 404.
+ * @throws ResourceModifiedException thrown if the request is rejected by server on status code 409.
+ * @return microsoft 365 publish defaults
+ *
+ * Returns default and previously-published values used to pre-populate a Microsoft 365 publish
+ * request for a Foundry agent along with {@link Response}.
+ */
+ @Generated
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ public Response getMicrosoft365PublishDefaultsWithResponse(String agentName,
+ RequestOptions requestOptions) {
+ return this.serviceClient.getMicrosoft365PublishDefaultsWithResponse(agentName, requestOptions);
+ }
+
+ /**
+ * Publish an agent to Microsoft 365
+ *
+ * Publishes a Foundry agent to Microsoft 365 / Microsoft Teams and returns the published title and
+ * Teams app ids.
+ *
+ * @param options Options for publishAgentToMicrosoft365 API.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws HttpResponseException thrown if the request is rejected by server.
+ * @throws ClientAuthenticationException thrown if the request is rejected by server on status code 401.
+ * @throws ResourceNotFoundException thrown if the request is rejected by server on status code 404.
+ * @throws ResourceModifiedException thrown if the request is rejected by server on status code 409.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return response from publishing an agent to Microsoft 365 / Microsoft Teams.
+ */
+ @Generated
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ public Microsoft365PublishResult publishAgentToMicrosoft365(PublishAgentToMicrosoft365Options options) {
+ // Generated convenience method for publishAgentToMicrosoft365WithResponse
+ RequestOptions requestOptions = new RequestOptions();
+ String agentName = options.getAgentName();
+ PublishAgentToMicrosoft365Request publishAgentToMicrosoft365RequestObj
+ = new PublishAgentToMicrosoft365Request(options.getPublishScope())
+ .setAgentDisplayName(options.getAgentDisplayName())
+ .setBotServiceArmId(options.getBotServiceArmId())
+ .setPublishAsAutopilot(options.isPublishAsAutopilot())
+ .setAccessBoundaries(options.getAccessBoundaries())
+ .setOptionalPermissionScopes(options.getOptionalPermissionScopes())
+ .setCanRespondWithoutMention(options.isCanRespondWithoutMention())
+ .setAppVersion(options.getAppVersion())
+ .setShortDescription(options.getShortDescription())
+ .setFullDescription(options.getFullDescription())
+ .setDeveloperName(options.getDeveloperName())
+ .setDeveloperWebsiteUrl(options.getDeveloperWebsiteUrl())
+ .setPrivacyUrl(options.getPrivacyUrl())
+ .setTermsOfUseUrl(options.getTermsOfUseUrl())
+ .setColorIconBase64(options.getColorIconBase64())
+ .setOutlineIconBase64(options.getOutlineIconBase64());
+ BinaryData publishAgentToMicrosoft365Request = BinaryData.fromObject(publishAgentToMicrosoft365RequestObj);
+ return publishAgentToMicrosoft365WithResponse(agentName, publishAgentToMicrosoft365Request, requestOptions)
+ .getValue()
+ .toObject(Microsoft365PublishResult.class);
+ }
+
+ /**
+ * Generate a Microsoft 365 app package
+ *
+ * Generates the Microsoft Teams app package (zip) for a Foundry agent from the supplied publish
+ * request, without publishing it. Returns the app package as `application/zip`.
+ *
+ * @param options Options for getMicrosoft365AppPackage API.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws HttpResponseException thrown if the request is rejected by server.
+ * @throws ClientAuthenticationException thrown if the request is rejected by server on status code 401.
+ * @throws ResourceNotFoundException thrown if the request is rejected by server on status code 404.
+ * @throws ResourceModifiedException thrown if the request is rejected by server on status code 409.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the response.
+ */
+ @Generated
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ public BinaryData getMicrosoft365AppPackage(GetMicrosoft365AppPackageOptions options) {
+ // Generated convenience method for getMicrosoft365AppPackageWithResponse
+ RequestOptions requestOptions = new RequestOptions();
+ String agentName = options.getAgentName();
+ GetMicrosoft365AppPackageRequest getMicrosoft365AppPackageRequestObj
+ = new GetMicrosoft365AppPackageRequest(options.getPublishScope())
+ .setAgentDisplayName(options.getAgentDisplayName())
+ .setBotServiceArmId(options.getBotServiceArmId())
+ .setPublishAsAutopilot(options.isPublishAsAutopilot())
+ .setAccessBoundaries(options.getAccessBoundaries())
+ .setOptionalPermissionScopes(options.getOptionalPermissionScopes())
+ .setCanRespondWithoutMention(options.isCanRespondWithoutMention())
+ .setAppVersion(options.getAppVersion())
+ .setShortDescription(options.getShortDescription())
+ .setFullDescription(options.getFullDescription())
+ .setDeveloperName(options.getDeveloperName())
+ .setDeveloperWebsiteUrl(options.getDeveloperWebsiteUrl())
+ .setPrivacyUrl(options.getPrivacyUrl())
+ .setTermsOfUseUrl(options.getTermsOfUseUrl())
+ .setColorIconBase64(options.getColorIconBase64())
+ .setOutlineIconBase64(options.getOutlineIconBase64());
+ BinaryData getMicrosoft365AppPackageRequest = BinaryData.fromObject(getMicrosoft365AppPackageRequestObj);
+ return getMicrosoft365AppPackageWithResponse(agentName, getMicrosoft365AppPackageRequest, requestOptions)
+ .getValue();
+ }
+
+ /**
+ * Get Microsoft 365 publish defaults
+ *
+ * Returns default and previously-published values used to pre-populate a Microsoft 365 publish
+ * request for a Foundry agent.
+ *
+ * @param agentName The name of the agent to get publish defaults for.
+ * @param publishAsDigitalWorker When true, returns defaults for publishing the agent as an autopilot (digital
+ * worker) agent.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws HttpResponseException thrown if the request is rejected by server.
+ * @throws ClientAuthenticationException thrown if the request is rejected by server on status code 401.
+ * @throws ResourceNotFoundException thrown if the request is rejected by server on status code 404.
+ * @throws ResourceModifiedException thrown if the request is rejected by server on status code 409.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return microsoft 365 publish defaults
+ *
+ * Returns default and previously-published values used to pre-populate a Microsoft 365 publish
+ * request for a Foundry agent.
+ */
+ @Generated
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ public Microsoft365PublishDefaults getMicrosoft365PublishDefaults(String agentName,
+ Boolean publishAsDigitalWorker) {
+ // Generated convenience method for getMicrosoft365PublishDefaultsWithResponse
+ RequestOptions requestOptions = new RequestOptions();
+ if (publishAsDigitalWorker != null) {
+ requestOptions.addQueryParam("publishAsDigitalWorker", String.valueOf(publishAsDigitalWorker), false);
+ }
+ return getMicrosoft365PublishDefaultsWithResponse(agentName, requestOptions).getValue()
+ .toObject(Microsoft365PublishDefaults.class);
+ }
+
+ /**
+ * Get Microsoft 365 publish defaults
+ *
+ * Returns default and previously-published values used to pre-populate a Microsoft 365 publish
+ * request for a Foundry agent.
+ *
+ * @param agentName The name of the agent to get publish defaults for.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws HttpResponseException thrown if the request is rejected by server.
+ * @throws ClientAuthenticationException thrown if the request is rejected by server on status code 401.
+ * @throws ResourceNotFoundException thrown if the request is rejected by server on status code 404.
+ * @throws ResourceModifiedException thrown if the request is rejected by server on status code 409.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return microsoft 365 publish defaults
+ *
+ * Returns default and previously-published values used to pre-populate a Microsoft 365 publish
+ * request for a Foundry agent.
+ */
+ @Generated
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ public Microsoft365PublishDefaults getMicrosoft365PublishDefaults(String agentName) {
+ // Generated convenience method for getMicrosoft365PublishDefaultsWithResponse
+ RequestOptions requestOptions = new RequestOptions();
+ return getMicrosoft365PublishDefaultsWithResponse(agentName, requestOptions).getValue()
+ .toObject(Microsoft365PublishDefaults.class);
+ }
+
+ /**
+ * Create a new code-based agent
+ *
+ * Creates a new code-based agent. Uploads the code zip and creates the agent in a single call.
+ * The agent name is provided in the `x-ms-agent-name` header since POST /agents has no name in the URL path.
+ * The SHA-256 hex digest of the zip is provided in the `x-ms-code-zip-sha256` header for integrity and dedup.
+ * The request body is multipart/form-data with a JSON metadata part and a binary code part (part order is
+ * irrelevant).
+ * Maximum upload size is 250 MB.
+ * Response Body Schema
+ *
+ *
+ * {@code
+ * {
+ * object: String(agent/agent.version/agent.deleted/agent.version.deleted/agent.container) (Required)
+ * id: String (Required)
+ * name: String (Required)
+ * state: String(enabled/disabled) (Required)
+ * state_source: String(agent_instance_identity/agent_blueprint) (Optional)
+ * versions (Required): {
+ * latest (Required): {
+ * metadata (Required): {
+ * String: String (Required)
+ * }
+ * object: String(agent/agent.version/agent.deleted/agent.version.deleted/agent.container) (Required)
+ * id: String (Required)
+ * name: String (Required)
+ * version: String (Required)
+ * description: String (Optional)
+ * created_at: long (Required)
+ * definition (Required): {
+ * kind: String(prompt/hosted/workflow/external) (Required)
+ * rai_config (Optional): {
+ * rai_policy_name: String (Required)
+ * }
+ * }
+ * draft: Boolean (Optional)
+ * status: String(creating/active/failed/deleting/deleted) (Optional)
+ * instance_identity (Optional): {
+ * principal_id: String (Required)
+ * client_id: String (Required)
+ * status: String(active/disabled) (Optional)
+ * }
+ * blueprint (Optional): (recursive schema, see blueprint above)
+ * blueprint_reference (Optional): {
+ * type: String(ManagedAgentIdentityBlueprint) (Required)
+ * }
+ * agent_guid: String (Optional)
+ * }
+ * }
+ * agent_endpoint (Optional): {
+ * version_selector (Optional): {
+ * version_selection_rules (Optional, Required on create): [
+ * (Optional, Required on create){
+ * type: String(FixedRatio) (Required)
+ * agent_version: String (Optional, Required on create)
+ * }
+ * ]
+ * }
+ * protocol_configuration (Optional): {
+ * activity (Optional): {
+ * enable_m365_public_endpoint: Boolean (Optional)
+ * access_boundaries (Optional): [
+ * String(read.1on1.developers/read.1on1.manager/read.1on1.allowlisted/read.1on1.tenant/write.1on1.developers/write.1on1.manager/write.1on1.allowlisted/write.1on1.tenant/read.group.developers/read.group.allowlisted/read.group.manager-invited/read.group.manager-present/read.group.tenant/write.group.developers/write.group.allowlisted/write.group.manager-invited/write.group.manager-present/write.group.tenant) (Optional)
+ * ]
+ * }
+ * responses (Optional): {
+ * }
+ * a2a (Optional): {
+ * }
+ * mcp (Optional): {
+ * }
+ * invocations (Optional): {
+ * }
+ * invocations_ws (Optional): {
+ * }
+ * }
+ * authorization_schemes (Optional): [
+ * (Optional){
+ * type: String(Entra/BotService/BotServiceRbac/BotServiceTenant) (Required)
+ * }
+ * ]
+ * publish_approval_status: String(not_published/pending/approved/rejected/no_approval_needed) (Optional)
+ * }
+ * digital_worker_type: String(m365) (Optional)
+ * instance_identity (Optional): (recursive schema, see instance_identity above)
+ * blueprint (Optional): (recursive schema, see blueprint above)
+ * blueprint_reference (Optional): (recursive schema, see blueprint_reference above)
+ * agent_card (Optional): {
+ * version: String (Optional, Required on create)
+ * description: String (Optional)
+ * skills (Optional, Required on create): [
+ * (Optional, Required on create){
+ * id: String (Optional, Required on create)
+ * name: String (Optional, Required on create)
+ * description: String (Optional)
+ * tags (Optional): [
+ * String (Optional)
+ * ]
+ * examples (Optional): [
+ * String (Optional)
+ * ]
+ * }
+ * ]
+ * }
+ * }
+ * }
+ *
+ *
+ * @param agentName The unique name that identifies the agent. Max 63 chars, must start and end with alphanumeric,
+ * hyphens allowed in the middle.
+ * @param codeZipSha256 SHA-256 hex digest of the uploaded code zip. Used for change detection (dedup) and integrity
+ * verification.
+ * @param content The content multipart request content.
+ * @param requestOptions The options to configure the HTTP request before HTTP client sends it.
+ * @throws HttpResponseException thrown if the request is rejected by server.
+ * @throws ClientAuthenticationException thrown if the request is rejected by server on status code 401.
+ * @throws ResourceNotFoundException thrown if the request is rejected by server on status code 404.
+ * @throws ResourceModifiedException thrown if the request is rejected by server on status code 409.
+ * @return the response body along with {@link Response}.
+ */
+ @Generated
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ Response createAgentFromCodeWithResponseInternal(String agentName, String codeZipSha256,
+ BinaryData content, RequestOptions requestOptions) {
+ // Operation 'createAgentFromCode' is of content-type 'multipart/form-data'. Protocol API is not usable and
+ // hence not generated.
+ return this.serviceClient.createAgentFromCodeWithResponseInternal(agentName, codeZipSha256, content,
+ requestOptions);
+ }
+
+ /**
+ * Update a code-based agent
+ *
+ * Updates a code-based agent by uploading new code and creating a new version.
+ * If the code and definition are unchanged (matched by x-ms-code-zip-sha256 header), returns the existing version.
+ * The request body is multipart/form-data with a JSON metadata part and a binary code part (part order is
+ * irrelevant).
+ * Maximum upload size is 250 MB.
+ * Response Body Schema
+ *
+ *
+ * {@code
+ * {
+ * object: String(agent/agent.version/agent.deleted/agent.version.deleted/agent.container) (Required)
+ * id: String (Required)
+ * name: String (Required)
+ * state: String(enabled/disabled) (Required)
+ * state_source: String(agent_instance_identity/agent_blueprint) (Optional)
+ * versions (Required): {
+ * latest (Required): {
+ * metadata (Required): {
+ * String: String (Required)
+ * }
+ * object: String(agent/agent.version/agent.deleted/agent.version.deleted/agent.container) (Required)
+ * id: String (Required)
+ * name: String (Required)
+ * version: String (Required)
+ * description: String (Optional)
+ * created_at: long (Required)
+ * definition (Required): {
+ * kind: String(prompt/hosted/workflow/external) (Required)
+ * rai_config (Optional): {
+ * rai_policy_name: String (Required)
+ * }
+ * }
+ * draft: Boolean (Optional)
+ * status: String(creating/active/failed/deleting/deleted) (Optional)
+ * instance_identity (Optional): {
+ * principal_id: String (Required)
+ * client_id: String (Required)
+ * status: String(active/disabled) (Optional)
+ * }
+ * blueprint (Optional): (recursive schema, see blueprint above)
+ * blueprint_reference (Optional): {
+ * type: String(ManagedAgentIdentityBlueprint) (Required)
+ * }
+ * agent_guid: String (Optional)
+ * }
+ * }
+ * agent_endpoint (Optional): {
+ * version_selector (Optional): {
+ * version_selection_rules (Optional, Required on create): [
+ * (Optional, Required on create){
+ * type: String(FixedRatio) (Required)
+ * agent_version: String (Optional, Required on create)
+ * }
+ * ]
+ * }
+ * protocol_configuration (Optional): {
+ * activity (Optional): {
+ * enable_m365_public_endpoint: Boolean (Optional)
+ * access_boundaries (Optional): [
+ * String(read.1on1.developers/read.1on1.manager/read.1on1.allowlisted/read.1on1.tenant/write.1on1.developers/write.1on1.manager/write.1on1.allowlisted/write.1on1.tenant/read.group.developers/read.group.allowlisted/read.group.manager-invited/read.group.manager-present/read.group.tenant/write.group.developers/write.group.allowlisted/write.group.manager-invited/write.group.manager-present/write.group.tenant) (Optional)
+ * ]
+ * }
+ * responses (Optional): {
+ * }
+ * a2a (Optional): {
+ * }
+ * mcp (Optional): {
+ * }
+ * invocations (Optional): {
+ * }
+ * invocations_ws (Optional): {
+ * }
+ * }
+ * authorization_schemes (Optional): [
+ * (Optional){
+ * type: String(Entra/BotService/BotServiceRbac/BotServiceTenant) (Required)
+ * }
+ * ]
+ * publish_approval_status: String(not_published/pending/approved/rejected/no_approval_needed) (Optional)
+ * }
+ * digital_worker_type: String(m365) (Optional)
+ * instance_identity (Optional): (recursive schema, see instance_identity above)
+ * blueprint (Optional): (recursive schema, see blueprint above)
+ * blueprint_reference (Optional): (recursive schema, see blueprint_reference above)
+ * agent_card (Optional): {
+ * version: String (Optional, Required on create)
+ * description: String (Optional)
+ * skills (Optional, Required on create): [
+ * (Optional, Required on create){
+ * id: String (Optional, Required on create)
+ * name: String (Optional, Required on create)
+ * description: String (Optional)
+ * tags (Optional): [
+ * String (Optional)
+ * ]
+ * examples (Optional): [
+ * String (Optional)
+ * ]
+ * }
+ * ]
+ * }
+ * }
+ * }
+ *
+ *
+ * @param agentName The unique name that identifies the agent. Name can be used to retrieve/update/delete the agent.
+ * - Must start and end with alphanumeric characters,
+ * - Can contain hyphens in the middle
+ * - Must not exceed 63 characters.
+ * @param codeZipSha256 SHA-256 hex digest of the uploaded code zip. Used for change detection (dedup) and integrity
+ * verification.
+ * @param content The content multipart request content.
+ * @param requestOptions The options to configure the HTTP request before HTTP client sends it.
+ * @throws HttpResponseException thrown if the request is rejected by server.
+ * @throws ClientAuthenticationException thrown if the request is rejected by server on status code 401.
+ * @throws ResourceNotFoundException thrown if the request is rejected by server on status code 404.
+ * @throws ResourceModifiedException thrown if the request is rejected by server on status code 409.
+ * @return the response body along with {@link Response}.
+ */
+ @Generated
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ Response updateAgentFromCodeWithResponseInternal(String agentName, String codeZipSha256,
+ BinaryData content, RequestOptions requestOptions) {
+ // Operation 'updateAgentFromCode' is of content-type 'multipart/form-data'. Protocol API is not usable and
+ // hence not generated.
+ return this.serviceClient.updateAgentFromCodeWithResponseInternal(agentName, codeZipSha256, content,
+ requestOptions);
+ }
+
+ /**
+ * Create an agent version from code
+ *
+ * Creates a new agent version from code. Uploads the code zip and creates a new version
+ * for an existing agent. The SHA-256 hex digest of the zip is provided in the
+ * `x-ms-code-zip-sha256` header for integrity and dedup.
+ * The request body is multipart/form-data with a JSON metadata part and a binary code part (part order is
+ * irrelevant).
+ * Maximum upload size is 250 MB.
+ * Response Body Schema
+ *
+ *
+ * {@code
+ * {
+ * metadata (Required): {
+ * String: String (Required)
+ * }
+ * object: String(agent/agent.version/agent.deleted/agent.version.deleted/agent.container) (Required)
+ * id: String (Required)
+ * name: String (Required)
+ * version: String (Required)
+ * description: String (Optional)
+ * created_at: long (Required)
+ * definition (Required): {
+ * kind: String(prompt/hosted/workflow/external) (Required)
+ * rai_config (Optional): {
+ * rai_policy_name: String (Required)
+ * }
+ * }
+ * draft: Boolean (Optional)
+ * status: String(creating/active/failed/deleting/deleted) (Optional)
+ * instance_identity (Optional): {
+ * principal_id: String (Required)
+ * client_id: String (Required)
+ * status: String(active/disabled) (Optional)
+ * }
+ * blueprint (Optional): (recursive schema, see blueprint above)
+ * blueprint_reference (Optional): {
+ * type: String(ManagedAgentIdentityBlueprint) (Required)
+ * }
+ * agent_guid: String (Optional)
+ * }
+ * }
+ *
+ *
+ * @param agentName The unique name that identifies the agent. Name can be used to retrieve/update/delete the agent.
+ * - Must start and end with alphanumeric characters,
+ * - Can contain hyphens in the middle
+ * - Must not exceed 63 characters.
+ * @param codeZipSha256 SHA-256 hex digest of the uploaded code zip. Used for change detection (dedup) and integrity
+ * verification.
+ * @param content The content multipart request content.
+ * @param requestOptions The options to configure the HTTP request before HTTP client sends it.
+ * @throws HttpResponseException thrown if the request is rejected by server.
+ * @throws ClientAuthenticationException thrown if the request is rejected by server on status code 401.
+ * @throws ResourceNotFoundException thrown if the request is rejected by server on status code 404.
+ * @throws ResourceModifiedException thrown if the request is rejected by server on status code 409.
+ * @return the response body along with {@link Response}.
+ */
+ @Generated
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ Response createAgentVersionFromCodeWithResponseInternal(String agentName, String codeZipSha256,
+ BinaryData content, RequestOptions requestOptions) {
+ // Operation 'createAgentVersionFromCode' is of content-type 'multipart/form-data'. Protocol API is not usable
+ // and hence not generated.
+ return this.serviceClient.createAgentVersionFromCodeWithResponseInternal(agentName, codeZipSha256, content,
+ requestOptions);
+ }
}
diff --git a/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/AgentsClientBuilder.java b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/AgentsClientBuilder.java
index d9a4935e69ff..7dbab0615e42 100644
--- a/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/AgentsClientBuilder.java
+++ b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/AgentsClientBuilder.java
@@ -529,7 +529,7 @@ public AgentsClient buildAgentsClient() {
* The returned builder uses the configuration set on this builder, including endpoint, credential, HTTP pipeline,
* policies, retry settings, logging options, client options, and service version. Use this method
* when you want to build a client whose type is prefixed with {@code Beta}, such as {@link BetaAgentsClient},
- * {@link BetaAgentsAsyncClient}, {@link BetaMemoryStoresClient}, or {@link BetaMemoryStoresAsyncClient}.
+ * {@link BetaAgentsAsyncClient}, {@link BetaMemoryStoresClient}, {@link BetaMemoryStoresAsyncClient}
*
* Clients created by this sub-builder automatically opt in to the preview service area they target by adding the
* required {@code Foundry-Features} header. Calling {@link #allowPreview(boolean)} is not required for these
diff --git a/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/ToolboxesAsyncClient.java b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/ToolboxesAsyncClient.java
index dfdb86992fb5..2dd988e4ebb7 100644
--- a/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/ToolboxesAsyncClient.java
+++ b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/ToolboxesAsyncClient.java
@@ -67,7 +67,7 @@ public final class ToolboxesAsyncClient {
* }
* tools (Required): [
* (Required){
- * type: String(code_interpreter/file_search/web_search/mcp/azure_ai_search/openapi/a2a_preview/browser_automation_preview/reminder_preview/work_iq_preview/fabric_iq_preview/toolbox_search/toolbox_search_preview/a2a) (Required)
+ * type: String(code_interpreter/file_search/web_search/mcp/azure_ai_search/openapi/a2a_preview/browser_automation_preview/reminder_preview/work_iq_preview/fabric_iq_preview/toolbox_search/toolbox_search_preview/a2a/shell/web_iq_preview) (Required)
* name: String (Optional)
* description: String (Optional)
* tool_configs (Optional): {
@@ -107,7 +107,7 @@ public final class ToolboxesAsyncClient {
* created_at: long (Required)
* tools (Required): [
* (Required){
- * type: String(code_interpreter/file_search/web_search/mcp/azure_ai_search/openapi/a2a_preview/browser_automation_preview/reminder_preview/work_iq_preview/fabric_iq_preview/toolbox_search/toolbox_search_preview/a2a) (Required)
+ * type: String(code_interpreter/file_search/web_search/mcp/azure_ai_search/openapi/a2a_preview/browser_automation_preview/reminder_preview/work_iq_preview/fabric_iq_preview/toolbox_search/toolbox_search_preview/a2a/shell/web_iq_preview) (Required)
* name: String (Optional)
* description: String (Optional)
* tool_configs (Optional): {
@@ -268,7 +268,7 @@ public PagedFlux listToolboxes(RequestOptions requestOptions) {
* created_at: long (Required)
* tools (Required): [
* (Required){
- * type: String(code_interpreter/file_search/web_search/mcp/azure_ai_search/openapi/a2a_preview/browser_automation_preview/reminder_preview/work_iq_preview/fabric_iq_preview/toolbox_search/toolbox_search_preview/a2a) (Required)
+ * type: String(code_interpreter/file_search/web_search/mcp/azure_ai_search/openapi/a2a_preview/browser_automation_preview/reminder_preview/work_iq_preview/fabric_iq_preview/toolbox_search/toolbox_search_preview/a2a/shell/web_iq_preview) (Required)
* name: String (Optional)
* description: String (Optional)
* tool_configs (Optional): {
@@ -326,7 +326,7 @@ public PagedFlux listToolboxVersions(String name, RequestOptions req
* created_at: long (Required)
* tools (Required): [
* (Required){
- * type: String(code_interpreter/file_search/web_search/mcp/azure_ai_search/openapi/a2a_preview/browser_automation_preview/reminder_preview/work_iq_preview/fabric_iq_preview/toolbox_search/toolbox_search_preview/a2a) (Required)
+ * type: String(code_interpreter/file_search/web_search/mcp/azure_ai_search/openapi/a2a_preview/browser_automation_preview/reminder_preview/work_iq_preview/fabric_iq_preview/toolbox_search/toolbox_search_preview/a2a/shell/web_iq_preview) (Required)
* name: String (Optional)
* description: String (Optional)
* tool_configs (Optional): {
diff --git a/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/ToolboxesClient.java b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/ToolboxesClient.java
index 6f087ae6e009..fba494acbcf7 100644
--- a/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/ToolboxesClient.java
+++ b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/ToolboxesClient.java
@@ -61,7 +61,7 @@ public final class ToolboxesClient {
* }
* tools (Required): [
* (Required){
- * type: String(code_interpreter/file_search/web_search/mcp/azure_ai_search/openapi/a2a_preview/browser_automation_preview/reminder_preview/work_iq_preview/fabric_iq_preview/toolbox_search/toolbox_search_preview/a2a) (Required)
+ * type: String(code_interpreter/file_search/web_search/mcp/azure_ai_search/openapi/a2a_preview/browser_automation_preview/reminder_preview/work_iq_preview/fabric_iq_preview/toolbox_search/toolbox_search_preview/a2a/shell/web_iq_preview) (Required)
* name: String (Optional)
* description: String (Optional)
* tool_configs (Optional): {
@@ -101,7 +101,7 @@ public final class ToolboxesClient {
* created_at: long (Required)
* tools (Required): [
* (Required){
- * type: String(code_interpreter/file_search/web_search/mcp/azure_ai_search/openapi/a2a_preview/browser_automation_preview/reminder_preview/work_iq_preview/fabric_iq_preview/toolbox_search/toolbox_search_preview/a2a) (Required)
+ * type: String(code_interpreter/file_search/web_search/mcp/azure_ai_search/openapi/a2a_preview/browser_automation_preview/reminder_preview/work_iq_preview/fabric_iq_preview/toolbox_search/toolbox_search_preview/a2a/shell/web_iq_preview) (Required)
* name: String (Optional)
* description: String (Optional)
* tool_configs (Optional): {
@@ -260,7 +260,7 @@ public PagedIterable listToolboxes(RequestOptions requestOptions) {
* created_at: long (Required)
* tools (Required): [
* (Required){
- * type: String(code_interpreter/file_search/web_search/mcp/azure_ai_search/openapi/a2a_preview/browser_automation_preview/reminder_preview/work_iq_preview/fabric_iq_preview/toolbox_search/toolbox_search_preview/a2a) (Required)
+ * type: String(code_interpreter/file_search/web_search/mcp/azure_ai_search/openapi/a2a_preview/browser_automation_preview/reminder_preview/work_iq_preview/fabric_iq_preview/toolbox_search/toolbox_search_preview/a2a/shell/web_iq_preview) (Required)
* name: String (Optional)
* description: String (Optional)
* tool_configs (Optional): {
@@ -318,7 +318,7 @@ public PagedIterable listToolboxVersions(String name, RequestOptions
* created_at: long (Required)
* tools (Required): [
* (Required){
- * type: String(code_interpreter/file_search/web_search/mcp/azure_ai_search/openapi/a2a_preview/browser_automation_preview/reminder_preview/work_iq_preview/fabric_iq_preview/toolbox_search/toolbox_search_preview/a2a) (Required)
+ * type: String(code_interpreter/file_search/web_search/mcp/azure_ai_search/openapi/a2a_preview/browser_automation_preview/reminder_preview/work_iq_preview/fabric_iq_preview/toolbox_search/toolbox_search_preview/a2a/shell/web_iq_preview) (Required)
* name: String (Optional)
* description: String (Optional)
* tool_configs (Optional): {
diff --git a/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/implementation/AgentsImpl.java b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/implementation/AgentsImpl.java
index 81aa07465dd1..60d95512de9c 100644
--- a/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/implementation/AgentsImpl.java
+++ b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/implementation/AgentsImpl.java
@@ -726,6 +726,74 @@ Response deleteSessionFileSync(@HostParam("endpoint") String endpoint,
@QueryParam("path") String path, @QueryParam("api-version") String apiVersion,
RequestOptions requestOptions, Context context);
+ @Post("/agents/{agent_name}/microsoft365/publish")
+ @ExpectedResponses({ 200 })
+ @UnexpectedResponseExceptionType(value = ClientAuthenticationException.class, code = { 401 })
+ @UnexpectedResponseExceptionType(value = ResourceNotFoundException.class, code = { 404 })
+ @UnexpectedResponseExceptionType(value = ResourceModifiedException.class, code = { 409 })
+ @UnexpectedResponseExceptionType(HttpResponseException.class)
+ Mono> publishAgentToMicrosoft365(@HostParam("endpoint") String endpoint,
+ @PathParam("agent_name") String agentName, @QueryParam("api-version") String apiVersion,
+ @HeaderParam("Content-Type") String contentType, @HeaderParam("Accept") String accept,
+ @BodyParam("application/json") BinaryData publishAgentToMicrosoft365Request, RequestOptions requestOptions,
+ Context context);
+
+ @Post("/agents/{agent_name}/microsoft365/publish")
+ @ExpectedResponses({ 200 })
+ @UnexpectedResponseExceptionType(value = ClientAuthenticationException.class, code = { 401 })
+ @UnexpectedResponseExceptionType(value = ResourceNotFoundException.class, code = { 404 })
+ @UnexpectedResponseExceptionType(value = ResourceModifiedException.class, code = { 409 })
+ @UnexpectedResponseExceptionType(HttpResponseException.class)
+ Response publishAgentToMicrosoft365Sync(@HostParam("endpoint") String endpoint,
+ @PathParam("agent_name") String agentName, @QueryParam("api-version") String apiVersion,
+ @HeaderParam("Content-Type") String contentType, @HeaderParam("Accept") String accept,
+ @BodyParam("application/json") BinaryData publishAgentToMicrosoft365Request, RequestOptions requestOptions,
+ Context context);
+
+ @Post("/agents/{agent_name}/microsoft365/zip")
+ @ExpectedResponses({ 200 })
+ @UnexpectedResponseExceptionType(value = ClientAuthenticationException.class, code = { 401 })
+ @UnexpectedResponseExceptionType(value = ResourceNotFoundException.class, code = { 404 })
+ @UnexpectedResponseExceptionType(value = ResourceModifiedException.class, code = { 409 })
+ @UnexpectedResponseExceptionType(HttpResponseException.class)
+ Mono> getMicrosoft365AppPackage(@HostParam("endpoint") String endpoint,
+ @PathParam("agent_name") String agentName, @QueryParam("api-version") String apiVersion,
+ @HeaderParam("Content-Type") String contentType, @HeaderParam("Accept") String accept,
+ @BodyParam("application/json") BinaryData getMicrosoft365AppPackageRequest, RequestOptions requestOptions,
+ Context context);
+
+ @Post("/agents/{agent_name}/microsoft365/zip")
+ @ExpectedResponses({ 200 })
+ @UnexpectedResponseExceptionType(value = ClientAuthenticationException.class, code = { 401 })
+ @UnexpectedResponseExceptionType(value = ResourceNotFoundException.class, code = { 404 })
+ @UnexpectedResponseExceptionType(value = ResourceModifiedException.class, code = { 409 })
+ @UnexpectedResponseExceptionType(HttpResponseException.class)
+ Response getMicrosoft365AppPackageSync(@HostParam("endpoint") String endpoint,
+ @PathParam("agent_name") String agentName, @QueryParam("api-version") String apiVersion,
+ @HeaderParam("Content-Type") String contentType, @HeaderParam("Accept") String accept,
+ @BodyParam("application/json") BinaryData getMicrosoft365AppPackageRequest, RequestOptions requestOptions,
+ Context context);
+
+ @Get("/agents/{agent_name}/microsoft365/publishdefaults")
+ @ExpectedResponses({ 200 })
+ @UnexpectedResponseExceptionType(value = ClientAuthenticationException.class, code = { 401 })
+ @UnexpectedResponseExceptionType(value = ResourceNotFoundException.class, code = { 404 })
+ @UnexpectedResponseExceptionType(value = ResourceModifiedException.class, code = { 409 })
+ @UnexpectedResponseExceptionType(HttpResponseException.class)
+ Mono> getMicrosoft365PublishDefaults(@HostParam("endpoint") String endpoint,
+ @PathParam("agent_name") String agentName, @QueryParam("api-version") String apiVersion,
+ @HeaderParam("Accept") String accept, RequestOptions requestOptions, Context context);
+
+ @Get("/agents/{agent_name}/microsoft365/publishdefaults")
+ @ExpectedResponses({ 200 })
+ @UnexpectedResponseExceptionType(value = ClientAuthenticationException.class, code = { 401 })
+ @UnexpectedResponseExceptionType(value = ResourceNotFoundException.class, code = { 404 })
+ @UnexpectedResponseExceptionType(value = ResourceModifiedException.class, code = { 409 })
+ @UnexpectedResponseExceptionType(HttpResponseException.class)
+ Response getMicrosoft365PublishDefaultsSync(@HostParam("endpoint") String endpoint,
+ @PathParam("agent_name") String agentName, @QueryParam("api-version") String apiVersion,
+ @HeaderParam("Accept") String accept, RequestOptions requestOptions, Context context);
+
@Get("/openai/v1/conversations")
@ExpectedResponses({ 200 })
@UnexpectedResponseExceptionType(value = ClientAuthenticationException.class, code = { 401 })
@@ -802,6 +870,9 @@ Response listAgentConversationsSync(@HostParam("endpoint") String en
* protocol_configuration (Optional): {
* activity (Optional): {
* enable_m365_public_endpoint: Boolean (Optional)
+ * access_boundaries (Optional): [
+ * String(read.1on1.developers/read.1on1.manager/read.1on1.allowlisted/read.1on1.tenant/write.1on1.developers/write.1on1.manager/write.1on1.allowlisted/write.1on1.tenant/read.group.developers/read.group.allowlisted/read.group.manager-invited/read.group.manager-present/read.group.tenant/write.group.developers/write.group.allowlisted/write.group.manager-invited/write.group.manager-present/write.group.tenant) (Optional)
+ * ]
* }
* responses (Optional): {
* }
@@ -819,7 +890,9 @@ Response listAgentConversationsSync(@HostParam("endpoint") String en
* type: String(Entra/BotService/BotServiceRbac/BotServiceTenant) (Required)
* }
* ]
+ * publish_approval_status: String(not_published/pending/approved/rejected/no_approval_needed) (Optional)
* }
+ * digital_worker_type: String(m365) (Optional)
* instance_identity (Optional): (recursive schema, see instance_identity above)
* blueprint (Optional): (recursive schema, see blueprint above)
* blueprint_reference (Optional): (recursive schema, see blueprint_reference above)
@@ -919,6 +992,9 @@ public Mono> getAgentWithResponseAsync(String agentName, Re
* protocol_configuration (Optional): {
* activity (Optional): {
* enable_m365_public_endpoint: Boolean (Optional)
+ * access_boundaries (Optional): [
+ * String(read.1on1.developers/read.1on1.manager/read.1on1.allowlisted/read.1on1.tenant/write.1on1.developers/write.1on1.manager/write.1on1.allowlisted/write.1on1.tenant/read.group.developers/read.group.allowlisted/read.group.manager-invited/read.group.manager-present/read.group.tenant/write.group.developers/write.group.allowlisted/write.group.manager-invited/write.group.manager-present/write.group.tenant) (Optional)
+ * ]
* }
* responses (Optional): {
* }
@@ -936,7 +1012,9 @@ public Mono> getAgentWithResponseAsync(String agentName, Re
* type: String(Entra/BotService/BotServiceRbac/BotServiceTenant) (Required)
* }
* ]
+ * publish_approval_status: String(not_published/pending/approved/rejected/no_approval_needed) (Optional)
* }
+ * digital_worker_type: String(m365) (Optional)
* instance_identity (Optional): (recursive schema, see instance_identity above)
* blueprint (Optional): (recursive schema, see blueprint above)
* blueprint_reference (Optional): (recursive schema, see blueprint_reference above)
@@ -1002,6 +1080,7 @@ public Response getAgentWithResponse(String agentName, RequestOption
* blueprint_reference (Optional): {
* type: String(ManagedAgentIdentityBlueprint) (Required)
* }
+ * digital_worker_type: String(m365) (Optional)
* draft: Boolean (Optional)
* agent_endpoint (Optional): {
* version_selector (Optional): {
@@ -1015,6 +1094,9 @@ public Response getAgentWithResponse(String agentName, RequestOption
* protocol_configuration (Optional): {
* activity (Optional): {
* enable_m365_public_endpoint: Boolean (Optional)
+ * access_boundaries (Optional): [
+ * String(read.1on1.developers/read.1on1.manager/read.1on1.allowlisted/read.1on1.tenant/write.1on1.developers/write.1on1.manager/write.1on1.allowlisted/write.1on1.tenant/read.group.developers/read.group.allowlisted/read.group.manager-invited/read.group.manager-present/read.group.tenant/write.group.developers/write.group.allowlisted/write.group.manager-invited/write.group.manager-present/write.group.tenant) (Optional)
+ * ]
* }
* responses (Optional): {
* }
@@ -1032,6 +1114,7 @@ public Response getAgentWithResponse(String agentName, RequestOption
* type: String(Entra/BotService/BotServiceRbac/BotServiceTenant) (Required)
* }
* ]
+ * publish_approval_status: String(not_published/pending/approved/rejected/no_approval_needed) (Optional)
* }
* agent_card (Optional): {
* version: String (Optional, Required on create)
@@ -1107,6 +1190,9 @@ public Response getAgentWithResponse(String agentName, RequestOption
* protocol_configuration (Optional): {
* activity (Optional): {
* enable_m365_public_endpoint: Boolean (Optional)
+ * access_boundaries (Optional): [
+ * String(read.1on1.developers/read.1on1.manager/read.1on1.allowlisted/read.1on1.tenant/write.1on1.developers/write.1on1.manager/write.1on1.allowlisted/write.1on1.tenant/read.group.developers/read.group.allowlisted/read.group.manager-invited/read.group.manager-present/read.group.tenant/write.group.developers/write.group.allowlisted/write.group.manager-invited/write.group.manager-present/write.group.tenant) (Optional)
+ * ]
* }
* responses (Optional): {
* }
@@ -1124,7 +1210,9 @@ public Response getAgentWithResponse(String agentName, RequestOption
* type: String(Entra/BotService/BotServiceRbac/BotServiceTenant) (Required)
* }
* ]
+ * publish_approval_status: String(not_published/pending/approved/rejected/no_approval_needed) (Optional)
* }
+ * digital_worker_type: String(m365) (Optional)
* instance_identity (Optional): (recursive schema, see instance_identity above)
* blueprint (Optional): (recursive schema, see blueprint above)
* blueprint_reference (Optional): (recursive schema, see blueprint_reference above)
@@ -1191,6 +1279,7 @@ public Mono> createAgentWithResponseAsync(BinaryData create
* blueprint_reference (Optional): {
* type: String(ManagedAgentIdentityBlueprint) (Required)
* }
+ * digital_worker_type: String(m365) (Optional)
* draft: Boolean (Optional)
* agent_endpoint (Optional): {
* version_selector (Optional): {
@@ -1204,6 +1293,9 @@ public Mono> createAgentWithResponseAsync(BinaryData create
* protocol_configuration (Optional): {
* activity (Optional): {
* enable_m365_public_endpoint: Boolean (Optional)
+ * access_boundaries (Optional): [
+ * String(read.1on1.developers/read.1on1.manager/read.1on1.allowlisted/read.1on1.tenant/write.1on1.developers/write.1on1.manager/write.1on1.allowlisted/write.1on1.tenant/read.group.developers/read.group.allowlisted/read.group.manager-invited/read.group.manager-present/read.group.tenant/write.group.developers/write.group.allowlisted/write.group.manager-invited/write.group.manager-present/write.group.tenant) (Optional)
+ * ]
* }
* responses (Optional): {
* }
@@ -1221,6 +1313,7 @@ public Mono> createAgentWithResponseAsync(BinaryData create
* type: String(Entra/BotService/BotServiceRbac/BotServiceTenant) (Required)
* }
* ]
+ * publish_approval_status: String(not_published/pending/approved/rejected/no_approval_needed) (Optional)
* }
* agent_card (Optional): {
* version: String (Optional, Required on create)
@@ -1296,6 +1389,9 @@ public Mono> createAgentWithResponseAsync(BinaryData create
* protocol_configuration (Optional): {
* activity (Optional): {
* enable_m365_public_endpoint: Boolean (Optional)
+ * access_boundaries (Optional): [
+ * String(read.1on1.developers/read.1on1.manager/read.1on1.allowlisted/read.1on1.tenant/write.1on1.developers/write.1on1.manager/write.1on1.allowlisted/write.1on1.tenant/read.group.developers/read.group.allowlisted/read.group.manager-invited/read.group.manager-present/read.group.tenant/write.group.developers/write.group.allowlisted/write.group.manager-invited/write.group.manager-present/write.group.tenant) (Optional)
+ * ]
* }
* responses (Optional): {
* }
@@ -1313,7 +1409,9 @@ public Mono> createAgentWithResponseAsync(BinaryData create
* type: String(Entra/BotService/BotServiceRbac/BotServiceTenant) (Required)
* }
* ]
+ * publish_approval_status: String(not_published/pending/approved/rejected/no_approval_needed) (Optional)
* }
+ * digital_worker_type: String(m365) (Optional)
* instance_identity (Optional): (recursive schema, see instance_identity above)
* blueprint (Optional): (recursive schema, see blueprint above)
* blueprint_reference (Optional): (recursive schema, see blueprint_reference above)
@@ -1416,6 +1514,9 @@ public Response createAgentWithResponse(BinaryData createAgentReques
* protocol_configuration (Optional): {
* activity (Optional): {
* enable_m365_public_endpoint: Boolean (Optional)
+ * access_boundaries (Optional): [
+ * String(read.1on1.developers/read.1on1.manager/read.1on1.allowlisted/read.1on1.tenant/write.1on1.developers/write.1on1.manager/write.1on1.allowlisted/write.1on1.tenant/read.group.developers/read.group.allowlisted/read.group.manager-invited/read.group.manager-present/read.group.tenant/write.group.developers/write.group.allowlisted/write.group.manager-invited/write.group.manager-present/write.group.tenant) (Optional)
+ * ]
* }
* responses (Optional): {
* }
@@ -1433,7 +1534,9 @@ public Response createAgentWithResponse(BinaryData createAgentReques
* type: String(Entra/BotService/BotServiceRbac/BotServiceTenant) (Required)
* }
* ]
+ * publish_approval_status: String(not_published/pending/approved/rejected/no_approval_needed) (Optional)
* }
+ * digital_worker_type: String(m365) (Optional)
* instance_identity (Optional): (recursive schema, see instance_identity above)
* blueprint (Optional): (recursive schema, see blueprint above)
* blueprint_reference (Optional): (recursive schema, see blueprint_reference above)
@@ -1471,8 +1574,8 @@ public Response createAgentWithResponse(BinaryData createAgentReques
* @return the response body along with {@link Response} on successful completion of {@link Mono}.
*/
@ServiceMethod(returns = ReturnType.SINGLE)
- public Mono> createAgentFromCodeWithResponseAsync(String agentName, String codeZipSha256,
- BinaryData content, RequestOptions requestOptions) {
+ public Mono> createAgentFromCodeWithResponseInternalAsync(String agentName,
+ String codeZipSha256, BinaryData content, RequestOptions requestOptions) {
final String contentType = "multipart/form-data";
final String accept = "application/json";
return FluxUtil
@@ -1542,6 +1645,9 @@ public Mono> createAgentFromCodeWithResponseAsync(String ag
* protocol_configuration (Optional): {
* activity (Optional): {
* enable_m365_public_endpoint: Boolean (Optional)
+ * access_boundaries (Optional): [
+ * String(read.1on1.developers/read.1on1.manager/read.1on1.allowlisted/read.1on1.tenant/write.1on1.developers/write.1on1.manager/write.1on1.allowlisted/write.1on1.tenant/read.group.developers/read.group.allowlisted/read.group.manager-invited/read.group.manager-present/read.group.tenant/write.group.developers/write.group.allowlisted/write.group.manager-invited/write.group.manager-present/write.group.tenant) (Optional)
+ * ]
* }
* responses (Optional): {
* }
@@ -1559,7 +1665,9 @@ public Mono> createAgentFromCodeWithResponseAsync(String ag
* type: String(Entra/BotService/BotServiceRbac/BotServiceTenant) (Required)
* }
* ]
+ * publish_approval_status: String(not_published/pending/approved/rejected/no_approval_needed) (Optional)
* }
+ * digital_worker_type: String(m365) (Optional)
* instance_identity (Optional): (recursive schema, see instance_identity above)
* blueprint (Optional): (recursive schema, see blueprint above)
* blueprint_reference (Optional): (recursive schema, see blueprint_reference above)
@@ -1597,7 +1705,7 @@ public Mono> createAgentFromCodeWithResponseAsync(String ag
* @return the response body along with {@link Response}.
*/
@ServiceMethod(returns = ReturnType.SINGLE)
- public Response createAgentFromCodeWithResponse(String agentName, String codeZipSha256,
+ public Response createAgentFromCodeWithResponseInternal(String agentName, String codeZipSha256,
BinaryData content, RequestOptions requestOptions) {
final String contentType = "multipart/form-data";
final String accept = "application/json";
@@ -1685,6 +1793,9 @@ public Response createAgentFromCodeWithResponse(String agentName, St
* protocol_configuration (Optional): {
* activity (Optional): {
* enable_m365_public_endpoint: Boolean (Optional)
+ * access_boundaries (Optional): [
+ * String(read.1on1.developers/read.1on1.manager/read.1on1.allowlisted/read.1on1.tenant/write.1on1.developers/write.1on1.manager/write.1on1.allowlisted/write.1on1.tenant/read.group.developers/read.group.allowlisted/read.group.manager-invited/read.group.manager-present/read.group.tenant/write.group.developers/write.group.allowlisted/write.group.manager-invited/write.group.manager-present/write.group.tenant) (Optional)
+ * ]
* }
* responses (Optional): {
* }
@@ -1702,7 +1813,9 @@ public Response createAgentFromCodeWithResponse(String agentName, St
* type: String(Entra/BotService/BotServiceRbac/BotServiceTenant) (Required)
* }
* ]
+ * publish_approval_status: String(not_published/pending/approved/rejected/no_approval_needed) (Optional)
* }
+ * digital_worker_type: String(m365) (Optional)
* instance_identity (Optional): (recursive schema, see instance_identity above)
* blueprint (Optional): (recursive schema, see blueprint above)
* blueprint_reference (Optional): (recursive schema, see blueprint_reference above)
@@ -1826,6 +1939,9 @@ public Mono> updateAgentWithResponseAsync(String agentName,
* protocol_configuration (Optional): {
* activity (Optional): {
* enable_m365_public_endpoint: Boolean (Optional)
+ * access_boundaries (Optional): [
+ * String(read.1on1.developers/read.1on1.manager/read.1on1.allowlisted/read.1on1.tenant/write.1on1.developers/write.1on1.manager/write.1on1.allowlisted/write.1on1.tenant/read.group.developers/read.group.allowlisted/read.group.manager-invited/read.group.manager-present/read.group.tenant/write.group.developers/write.group.allowlisted/write.group.manager-invited/write.group.manager-present/write.group.tenant) (Optional)
+ * ]
* }
* responses (Optional): {
* }
@@ -1843,7 +1959,9 @@ public Mono> updateAgentWithResponseAsync(String agentName,
* type: String(Entra/BotService/BotServiceRbac/BotServiceTenant) (Required)
* }
* ]
+ * publish_approval_status: String(not_published/pending/approved/rejected/no_approval_needed) (Optional)
* }
+ * digital_worker_type: String(m365) (Optional)
* instance_identity (Optional): (recursive schema, see instance_identity above)
* blueprint (Optional): (recursive schema, see blueprint above)
* blueprint_reference (Optional): (recursive schema, see blueprint_reference above)
@@ -1948,6 +2066,9 @@ public Response updateAgentWithResponse(String agentName, BinaryData
* protocol_configuration (Optional): {
* activity (Optional): {
* enable_m365_public_endpoint: Boolean (Optional)
+ * access_boundaries (Optional): [
+ * String(read.1on1.developers/read.1on1.manager/read.1on1.allowlisted/read.1on1.tenant/write.1on1.developers/write.1on1.manager/write.1on1.allowlisted/write.1on1.tenant/read.group.developers/read.group.allowlisted/read.group.manager-invited/read.group.manager-present/read.group.tenant/write.group.developers/write.group.allowlisted/write.group.manager-invited/write.group.manager-present/write.group.tenant) (Optional)
+ * ]
* }
* responses (Optional): {
* }
@@ -1965,7 +2086,9 @@ public Response updateAgentWithResponse(String agentName, BinaryData
* type: String(Entra/BotService/BotServiceRbac/BotServiceTenant) (Required)
* }
* ]
+ * publish_approval_status: String(not_published/pending/approved/rejected/no_approval_needed) (Optional)
* }
+ * digital_worker_type: String(m365) (Optional)
* instance_identity (Optional): (recursive schema, see instance_identity above)
* blueprint (Optional): (recursive schema, see blueprint above)
* blueprint_reference (Optional): (recursive schema, see blueprint_reference above)
@@ -2005,8 +2128,8 @@ public Response updateAgentWithResponse(String agentName, BinaryData
* @return the response body along with {@link Response} on successful completion of {@link Mono}.
*/
@ServiceMethod(returns = ReturnType.SINGLE)
- public Mono> updateAgentFromCodeWithResponseAsync(String agentName, String codeZipSha256,
- BinaryData content, RequestOptions requestOptions) {
+ public Mono> updateAgentFromCodeWithResponseInternalAsync(String agentName,
+ String codeZipSha256, BinaryData content, RequestOptions requestOptions) {
final String contentType = "multipart/form-data";
final String accept = "application/json";
return FluxUtil
@@ -2075,6 +2198,9 @@ public Mono> updateAgentFromCodeWithResponseAsync(String ag
* protocol_configuration (Optional): {
* activity (Optional): {
* enable_m365_public_endpoint: Boolean (Optional)
+ * access_boundaries (Optional): [
+ * String(read.1on1.developers/read.1on1.manager/read.1on1.allowlisted/read.1on1.tenant/write.1on1.developers/write.1on1.manager/write.1on1.allowlisted/write.1on1.tenant/read.group.developers/read.group.allowlisted/read.group.manager-invited/read.group.manager-present/read.group.tenant/write.group.developers/write.group.allowlisted/write.group.manager-invited/write.group.manager-present/write.group.tenant) (Optional)
+ * ]
* }
* responses (Optional): {
* }
@@ -2092,7 +2218,9 @@ public Mono> updateAgentFromCodeWithResponseAsync(String ag
* type: String(Entra/BotService/BotServiceRbac/BotServiceTenant) (Required)
* }
* ]
+ * publish_approval_status: String(not_published/pending/approved/rejected/no_approval_needed) (Optional)
* }
+ * digital_worker_type: String(m365) (Optional)
* instance_identity (Optional): (recursive schema, see instance_identity above)
* blueprint (Optional): (recursive schema, see blueprint above)
* blueprint_reference (Optional): (recursive schema, see blueprint_reference above)
@@ -2132,7 +2260,7 @@ public Mono> updateAgentFromCodeWithResponseAsync(String ag
* @return the response body along with {@link Response}.
*/
@ServiceMethod(returns = ReturnType.SINGLE)
- public Response updateAgentFromCodeWithResponse(String agentName, String codeZipSha256,
+ public Response updateAgentFromCodeWithResponseInternal(String agentName, String codeZipSha256,
BinaryData content, RequestOptions requestOptions) {
final String contentType = "multipart/form-data";
final String accept = "application/json";
@@ -2215,6 +2343,9 @@ public Response updateAgentFromCodeWithResponse(String agentName, St
* protocol_configuration (Optional): {
* activity (Optional): {
* enable_m365_public_endpoint: Boolean (Optional)
+ * access_boundaries (Optional): [
+ * String(read.1on1.developers/read.1on1.manager/read.1on1.allowlisted/read.1on1.tenant/write.1on1.developers/write.1on1.manager/write.1on1.allowlisted/write.1on1.tenant/read.group.developers/read.group.allowlisted/read.group.manager-invited/read.group.manager-present/read.group.tenant/write.group.developers/write.group.allowlisted/write.group.manager-invited/write.group.manager-present/write.group.tenant) (Optional)
+ * ]
* }
* responses (Optional): {
* }
@@ -2232,7 +2363,9 @@ public Response updateAgentFromCodeWithResponse(String agentName, St
* type: String(Entra/BotService/BotServiceRbac/BotServiceTenant) (Required)
* }
* ]
+ * publish_approval_status: String(not_published/pending/approved/rejected/no_approval_needed) (Optional)
* }
+ * digital_worker_type: String(m365) (Optional)
* instance_identity (Optional): (recursive schema, see instance_identity above)
* blueprint (Optional): (recursive schema, see blueprint above)
* blueprint_reference (Optional): (recursive schema, see blueprint_reference above)
@@ -2350,6 +2483,9 @@ public Mono> createAgentFromManifestWithResponseAsync(
* protocol_configuration (Optional): {
* activity (Optional): {
* enable_m365_public_endpoint: Boolean (Optional)
+ * access_boundaries (Optional): [
+ * String(read.1on1.developers/read.1on1.manager/read.1on1.allowlisted/read.1on1.tenant/write.1on1.developers/write.1on1.manager/write.1on1.allowlisted/write.1on1.tenant/read.group.developers/read.group.allowlisted/read.group.manager-invited/read.group.manager-present/read.group.tenant/write.group.developers/write.group.allowlisted/write.group.manager-invited/write.group.manager-present/write.group.tenant) (Optional)
+ * ]
* }
* responses (Optional): {
* }
@@ -2367,7 +2503,9 @@ public Mono> createAgentFromManifestWithResponseAsync(
* type: String(Entra/BotService/BotServiceRbac/BotServiceTenant) (Required)
* }
* ]
+ * publish_approval_status: String(not_published/pending/approved/rejected/no_approval_needed) (Optional)
* }
+ * digital_worker_type: String(m365) (Optional)
* instance_identity (Optional): (recursive schema, see instance_identity above)
* blueprint (Optional): (recursive schema, see blueprint above)
* blueprint_reference (Optional): (recursive schema, see blueprint_reference above)
@@ -2485,6 +2623,9 @@ public Response createAgentFromManifestWithResponse(BinaryData creat
* protocol_configuration (Optional): {
* activity (Optional): {
* enable_m365_public_endpoint: Boolean (Optional)
+ * access_boundaries (Optional): [
+ * String(read.1on1.developers/read.1on1.manager/read.1on1.allowlisted/read.1on1.tenant/write.1on1.developers/write.1on1.manager/write.1on1.allowlisted/write.1on1.tenant/read.group.developers/read.group.allowlisted/read.group.manager-invited/read.group.manager-present/read.group.tenant/write.group.developers/write.group.allowlisted/write.group.manager-invited/write.group.manager-present/write.group.tenant) (Optional)
+ * ]
* }
* responses (Optional): {
* }
@@ -2502,7 +2643,9 @@ public Response createAgentFromManifestWithResponse(BinaryData creat
* type: String(Entra/BotService/BotServiceRbac/BotServiceTenant) (Required)
* }
* ]
+ * publish_approval_status: String(not_published/pending/approved/rejected/no_approval_needed) (Optional)
* }
+ * digital_worker_type: String(m365) (Optional)
* instance_identity (Optional): (recursive schema, see instance_identity above)
* blueprint (Optional): (recursive schema, see blueprint above)
* blueprint_reference (Optional): (recursive schema, see blueprint_reference above)
@@ -2621,6 +2764,9 @@ public Mono> updateAgentFromManifestWithResponseAsync(Strin
* protocol_configuration (Optional): {
* activity (Optional): {
* enable_m365_public_endpoint: Boolean (Optional)
+ * access_boundaries (Optional): [
+ * String(read.1on1.developers/read.1on1.manager/read.1on1.allowlisted/read.1on1.tenant/write.1on1.developers/write.1on1.manager/write.1on1.allowlisted/write.1on1.tenant/read.group.developers/read.group.allowlisted/read.group.manager-invited/read.group.manager-present/read.group.tenant/write.group.developers/write.group.allowlisted/write.group.manager-invited/write.group.manager-present/write.group.tenant) (Optional)
+ * ]
* }
* responses (Optional): {
* }
@@ -2638,7 +2784,9 @@ public Mono> updateAgentFromManifestWithResponseAsync(Strin
* type: String(Entra/BotService/BotServiceRbac/BotServiceTenant) (Required)
* }
* ]
+ * publish_approval_status: String(not_published/pending/approved/rejected/no_approval_needed) (Optional)
* }
+ * digital_worker_type: String(m365) (Optional)
* instance_identity (Optional): (recursive schema, see instance_identity above)
* blueprint (Optional): (recursive schema, see blueprint above)
* blueprint_reference (Optional): (recursive schema, see blueprint_reference above)
@@ -2846,6 +2994,9 @@ public Response internalDeleteAgentWithResponse(String agentName, Re
* protocol_configuration (Optional): {
* activity (Optional): {
* enable_m365_public_endpoint: Boolean (Optional)
+ * access_boundaries (Optional): [
+ * String(read.1on1.developers/read.1on1.manager/read.1on1.allowlisted/read.1on1.tenant/write.1on1.developers/write.1on1.manager/write.1on1.allowlisted/write.1on1.tenant/read.group.developers/read.group.allowlisted/read.group.manager-invited/read.group.manager-present/read.group.tenant/write.group.developers/write.group.allowlisted/write.group.manager-invited/write.group.manager-present/write.group.tenant) (Optional)
+ * ]
* }
* responses (Optional): {
* }
@@ -2863,7 +3014,9 @@ public Response internalDeleteAgentWithResponse(String agentName, Re
* type: String(Entra/BotService/BotServiceRbac/BotServiceTenant) (Required)
* }
* ]
+ * publish_approval_status: String(not_published/pending/approved/rejected/no_approval_needed) (Optional)
* }
+ * digital_worker_type: String(m365) (Optional)
* instance_identity (Optional): (recursive schema, see instance_identity above)
* blueprint (Optional): (recursive schema, see blueprint above)
* blueprint_reference (Optional): (recursive schema, see blueprint_reference above)
@@ -2985,6 +3138,9 @@ private Mono> listAgentsSinglePageAsync(RequestOptions
* protocol_configuration (Optional): {
* activity (Optional): {
* enable_m365_public_endpoint: Boolean (Optional)
+ * access_boundaries (Optional): [
+ * String(read.1on1.developers/read.1on1.manager/read.1on1.allowlisted/read.1on1.tenant/write.1on1.developers/write.1on1.manager/write.1on1.allowlisted/write.1on1.tenant/read.group.developers/read.group.allowlisted/read.group.manager-invited/read.group.manager-present/read.group.tenant/write.group.developers/write.group.allowlisted/write.group.manager-invited/write.group.manager-present/write.group.tenant) (Optional)
+ * ]
* }
* responses (Optional): {
* }
@@ -3002,7 +3158,9 @@ private Mono> listAgentsSinglePageAsync(RequestOptions
* type: String(Entra/BotService/BotServiceRbac/BotServiceTenant) (Required)
* }
* ]
+ * publish_approval_status: String(not_published/pending/approved/rejected/no_approval_needed) (Optional)
* }
+ * digital_worker_type: String(m365) (Optional)
* instance_identity (Optional): (recursive schema, see instance_identity above)
* blueprint (Optional): (recursive schema, see blueprint above)
* blueprint_reference (Optional): (recursive schema, see blueprint_reference above)
@@ -3118,6 +3276,9 @@ public PagedFlux listAgentsAsync(RequestOptions requestOptions) {
* protocol_configuration (Optional): {
* activity (Optional): {
* enable_m365_public_endpoint: Boolean (Optional)
+ * access_boundaries (Optional): [
+ * String(read.1on1.developers/read.1on1.manager/read.1on1.allowlisted/read.1on1.tenant/write.1on1.developers/write.1on1.manager/write.1on1.allowlisted/write.1on1.tenant/read.group.developers/read.group.allowlisted/read.group.manager-invited/read.group.manager-present/read.group.tenant/write.group.developers/write.group.allowlisted/write.group.manager-invited/write.group.manager-present/write.group.tenant) (Optional)
+ * ]
* }
* responses (Optional): {
* }
@@ -3135,7 +3296,9 @@ public PagedFlux listAgentsAsync(RequestOptions requestOptions) {
* type: String(Entra/BotService/BotServiceRbac/BotServiceTenant) (Required)
* }
* ]
+ * publish_approval_status: String(not_published/pending/approved/rejected/no_approval_needed) (Optional)
* }
+ * digital_worker_type: String(m365) (Optional)
* instance_identity (Optional): (recursive schema, see instance_identity above)
* blueprint (Optional): (recursive schema, see blueprint above)
* blueprint_reference (Optional): (recursive schema, see blueprint_reference above)
@@ -3255,6 +3418,9 @@ private PagedResponse listAgentsSinglePage(RequestOptions requestOpt
* protocol_configuration (Optional): {
* activity (Optional): {
* enable_m365_public_endpoint: Boolean (Optional)
+ * access_boundaries (Optional): [
+ * String(read.1on1.developers/read.1on1.manager/read.1on1.allowlisted/read.1on1.tenant/write.1on1.developers/write.1on1.manager/write.1on1.allowlisted/write.1on1.tenant/read.group.developers/read.group.allowlisted/read.group.manager-invited/read.group.manager-present/read.group.tenant/write.group.developers/write.group.allowlisted/write.group.manager-invited/write.group.manager-present/write.group.tenant) (Optional)
+ * ]
* }
* responses (Optional): {
* }
@@ -3272,7 +3438,9 @@ private PagedResponse listAgentsSinglePage(RequestOptions requestOpt
* type: String(Entra/BotService/BotServiceRbac/BotServiceTenant) (Required)
* }
* ]
+ * publish_approval_status: String(not_published/pending/approved/rejected/no_approval_needed) (Optional)
* }
+ * digital_worker_type: String(m365) (Optional)
* instance_identity (Optional): (recursive schema, see instance_identity above)
* blueprint (Optional): (recursive schema, see blueprint above)
* blueprint_reference (Optional): (recursive schema, see blueprint_reference above)
@@ -3331,6 +3499,7 @@ public PagedIterable listAgents(RequestOptions requestOptions) {
* blueprint_reference (Optional): {
* type: String(ManagedAgentIdentityBlueprint) (Required)
* }
+ * digital_worker_type: String(m365) (Optional)
* draft: Boolean (Optional)
* }
* }
@@ -3416,6 +3585,7 @@ public Mono> createAgentVersionWithResponseAsync(String age
* blueprint_reference (Optional): {
* type: String(ManagedAgentIdentityBlueprint) (Required)
* }
+ * digital_worker_type: String(m365) (Optional)
* draft: Boolean (Optional)
* }
* }
@@ -4182,6 +4352,9 @@ public PagedIterable listAgentVersions(String agentName, RequestOpti
* protocol_configuration (Optional): {
* activity (Optional): {
* enable_m365_public_endpoint: Boolean (Optional)
+ * access_boundaries (Optional): [
+ * String(read.1on1.developers/read.1on1.manager/read.1on1.allowlisted/read.1on1.tenant/write.1on1.developers/write.1on1.manager/write.1on1.allowlisted/write.1on1.tenant/read.group.developers/read.group.allowlisted/read.group.manager-invited/read.group.manager-present/read.group.tenant/write.group.developers/write.group.allowlisted/write.group.manager-invited/write.group.manager-present/write.group.tenant) (Optional)
+ * ]
* }
* responses (Optional): {
* }
@@ -4199,6 +4372,7 @@ public PagedIterable listAgentVersions(String agentName, RequestOpti
* type: String(Entra/BotService/BotServiceRbac/BotServiceTenant) (Required)
* }
* ]
+ * publish_approval_status: String(not_published/pending/approved/rejected/no_approval_needed) (Optional)
* }
* agent_card (Optional): {
* version: String (Optional, Required on create)
@@ -4274,6 +4448,9 @@ public PagedIterable listAgentVersions(String agentName, RequestOpti
* protocol_configuration (Optional): {
* activity (Optional): {
* enable_m365_public_endpoint: Boolean (Optional)
+ * access_boundaries (Optional): [
+ * String(read.1on1.developers/read.1on1.manager/read.1on1.allowlisted/read.1on1.tenant/write.1on1.developers/write.1on1.manager/write.1on1.allowlisted/write.1on1.tenant/read.group.developers/read.group.allowlisted/read.group.manager-invited/read.group.manager-present/read.group.tenant/write.group.developers/write.group.allowlisted/write.group.manager-invited/write.group.manager-present/write.group.tenant) (Optional)
+ * ]
* }
* responses (Optional): {
* }
@@ -4291,7 +4468,9 @@ public PagedIterable listAgentVersions(String agentName, RequestOpti
* type: String(Entra/BotService/BotServiceRbac/BotServiceTenant) (Required)
* }
* ]
+ * publish_approval_status: String(not_published/pending/approved/rejected/no_approval_needed) (Optional)
* }
+ * digital_worker_type: String(m365) (Optional)
* instance_identity (Optional): (recursive schema, see instance_identity above)
* blueprint (Optional): (recursive schema, see blueprint above)
* blueprint_reference (Optional): (recursive schema, see blueprint_reference above)
@@ -4358,6 +4537,9 @@ public Mono> updateAgentDetailsWithResponseAsync(String age
* protocol_configuration (Optional): {
* activity (Optional): {
* enable_m365_public_endpoint: Boolean (Optional)
+ * access_boundaries (Optional): [
+ * String(read.1on1.developers/read.1on1.manager/read.1on1.allowlisted/read.1on1.tenant/write.1on1.developers/write.1on1.manager/write.1on1.allowlisted/write.1on1.tenant/read.group.developers/read.group.allowlisted/read.group.manager-invited/read.group.manager-present/read.group.tenant/write.group.developers/write.group.allowlisted/write.group.manager-invited/write.group.manager-present/write.group.tenant) (Optional)
+ * ]
* }
* responses (Optional): {
* }
@@ -4375,6 +4557,7 @@ public Mono> updateAgentDetailsWithResponseAsync(String age
* type: String(Entra/BotService/BotServiceRbac/BotServiceTenant) (Required)
* }
* ]
+ * publish_approval_status: String(not_published/pending/approved/rejected/no_approval_needed) (Optional)
* }
* agent_card (Optional): {
* version: String (Optional, Required on create)
@@ -4450,6 +4633,9 @@ public Mono> updateAgentDetailsWithResponseAsync(String age
* protocol_configuration (Optional): {
* activity (Optional): {
* enable_m365_public_endpoint: Boolean (Optional)
+ * access_boundaries (Optional): [
+ * String(read.1on1.developers/read.1on1.manager/read.1on1.allowlisted/read.1on1.tenant/write.1on1.developers/write.1on1.manager/write.1on1.allowlisted/write.1on1.tenant/read.group.developers/read.group.allowlisted/read.group.manager-invited/read.group.manager-present/read.group.tenant/write.group.developers/write.group.allowlisted/write.group.manager-invited/write.group.manager-present/write.group.tenant) (Optional)
+ * ]
* }
* responses (Optional): {
* }
@@ -4467,7 +4653,9 @@ public Mono> updateAgentDetailsWithResponseAsync(String age
* type: String(Entra/BotService/BotServiceRbac/BotServiceTenant) (Required)
* }
* ]
+ * publish_approval_status: String(not_published/pending/approved/rejected/no_approval_needed) (Optional)
* }
+ * digital_worker_type: String(m365) (Optional)
* instance_identity (Optional): (recursive schema, see instance_identity above)
* blueprint (Optional): (recursive schema, see blueprint above)
* blueprint_reference (Optional): (recursive schema, see blueprint_reference above)
@@ -4573,7 +4761,7 @@ public Response updateAgentDetailsWithResponse(String agentName, Bin
* @return the response body along with {@link Response} on successful completion of {@link Mono}.
*/
@ServiceMethod(returns = ReturnType.SINGLE)
- public Mono> createAgentVersionFromCodeWithResponseAsync(String agentName,
+ public Mono> createAgentVersionFromCodeWithResponseInternalAsync(String agentName,
String codeZipSha256, BinaryData content, RequestOptions requestOptions) {
final String contentType = "multipart/form-data";
final String accept = "application/json";
@@ -4642,7 +4830,7 @@ public Mono> createAgentVersionFromCodeWithResponseAsync(St
* @return the response body along with {@link Response}.
*/
@ServiceMethod(returns = ReturnType.SINGLE)
- public Response createAgentVersionFromCodeWithResponse(String agentName, String codeZipSha256,
+ public Response createAgentVersionFromCodeWithResponseInternal(String agentName, String codeZipSha256,
BinaryData content, RequestOptions requestOptions) {
final String contentType = "multipart/form-data";
final String accept = "application/json";
@@ -5910,6 +6098,389 @@ public Response deleteSessionFileWithResponse(String agentName, String ses
this.client.getServiceVersion().getVersion(), requestOptions, Context.NONE);
}
+ /**
+ * Publish an agent to Microsoft 365
+ *
+ * Publishes a Foundry agent to Microsoft 365 / Microsoft Teams and returns the published title and
+ * Teams app ids.
+ * Request Body Schema
+ *
+ *
+ * {@code
+ * {
+ * agentDisplayName: String (Optional)
+ * botServiceArmId: String (Optional)
+ * publishAsAutopilot: Boolean (Optional)
+ * accessBoundaries (Optional): [
+ * String(read.1on1.developers/read.1on1.manager/read.1on1.allowlisted/read.1on1.tenant/write.1on1.developers/write.1on1.manager/write.1on1.allowlisted/write.1on1.tenant/read.group.developers/read.group.allowlisted/read.group.manager-invited/read.group.manager-present/read.group.tenant/write.group.developers/write.group.allowlisted/write.group.manager-invited/write.group.manager-present/write.group.tenant) (Optional)
+ * ]
+ * optionalPermissionScopes (Optional): [
+ * (Optional){
+ * resourceAppId: String (Required)
+ * scopes (Required): [
+ * String (Required)
+ * ]
+ * }
+ * ]
+ * publishScope: String(Personal/Shared/Tenant) (Required)
+ * canRespondWithoutMention: Boolean (Optional)
+ * appVersion: String (Optional)
+ * shortDescription: String (Optional)
+ * fullDescription: String (Optional)
+ * developerName: String (Optional)
+ * developerWebsiteUrl: String (Optional)
+ * privacyUrl: String (Optional)
+ * termsOfUseUrl: String (Optional)
+ * colorIconBase64: String (Optional)
+ * outlineIconBase64: String (Optional)
+ * }
+ * }
+ *
+ *
+ * Response Body Schema
+ *
+ *
+ * {@code
+ * {
+ * titleId: String (Optional)
+ * teamsAppId: String (Optional)
+ * }
+ * }
+ *
+ *
+ * @param agentName The name of the agent to publish.
+ * @param publishAgentToMicrosoft365Request The publishAgentToMicrosoft365Request parameter.
+ * @param requestOptions The options to configure the HTTP request before HTTP client sends it.
+ * @throws HttpResponseException thrown if the request is rejected by server.
+ * @throws ClientAuthenticationException thrown if the request is rejected by server on status code 401.
+ * @throws ResourceNotFoundException thrown if the request is rejected by server on status code 404.
+ * @throws ResourceModifiedException thrown if the request is rejected by server on status code 409.
+ * @return response from publishing an agent to Microsoft 365 / Microsoft Teams along with {@link Response} on
+ * successful completion of {@link Mono}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ public Mono> publishAgentToMicrosoft365WithResponseAsync(String agentName,
+ BinaryData publishAgentToMicrosoft365Request, RequestOptions requestOptions) {
+ final String contentType = "application/json";
+ final String accept = "application/json";
+ return FluxUtil.withContext(context -> service.publishAgentToMicrosoft365(this.client.getEndpoint(), agentName,
+ this.client.getServiceVersion().getVersion(), contentType, accept, publishAgentToMicrosoft365Request,
+ requestOptions, context));
+ }
+
+ /**
+ * Publish an agent to Microsoft 365
+ *
+ * Publishes a Foundry agent to Microsoft 365 / Microsoft Teams and returns the published title and
+ * Teams app ids.
+ * Request Body Schema
+ *
+ *
+ * {@code
+ * {
+ * agentDisplayName: String (Optional)
+ * botServiceArmId: String (Optional)
+ * publishAsAutopilot: Boolean (Optional)
+ * accessBoundaries (Optional): [
+ * String(read.1on1.developers/read.1on1.manager/read.1on1.allowlisted/read.1on1.tenant/write.1on1.developers/write.1on1.manager/write.1on1.allowlisted/write.1on1.tenant/read.group.developers/read.group.allowlisted/read.group.manager-invited/read.group.manager-present/read.group.tenant/write.group.developers/write.group.allowlisted/write.group.manager-invited/write.group.manager-present/write.group.tenant) (Optional)
+ * ]
+ * optionalPermissionScopes (Optional): [
+ * (Optional){
+ * resourceAppId: String (Required)
+ * scopes (Required): [
+ * String (Required)
+ * ]
+ * }
+ * ]
+ * publishScope: String(Personal/Shared/Tenant) (Required)
+ * canRespondWithoutMention: Boolean (Optional)
+ * appVersion: String (Optional)
+ * shortDescription: String (Optional)
+ * fullDescription: String (Optional)
+ * developerName: String (Optional)
+ * developerWebsiteUrl: String (Optional)
+ * privacyUrl: String (Optional)
+ * termsOfUseUrl: String (Optional)
+ * colorIconBase64: String (Optional)
+ * outlineIconBase64: String (Optional)
+ * }
+ * }
+ *
+ *
+ * Response Body Schema
+ *
+ *
+ * {@code
+ * {
+ * titleId: String (Optional)
+ * teamsAppId: String (Optional)
+ * }
+ * }
+ *
+ *
+ * @param agentName The name of the agent to publish.
+ * @param publishAgentToMicrosoft365Request The publishAgentToMicrosoft365Request parameter.
+ * @param requestOptions The options to configure the HTTP request before HTTP client sends it.
+ * @throws HttpResponseException thrown if the request is rejected by server.
+ * @throws ClientAuthenticationException thrown if the request is rejected by server on status code 401.
+ * @throws ResourceNotFoundException thrown if the request is rejected by server on status code 404.
+ * @throws ResourceModifiedException thrown if the request is rejected by server on status code 409.
+ * @return response from publishing an agent to Microsoft 365 / Microsoft Teams along with {@link Response}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ public Response publishAgentToMicrosoft365WithResponse(String agentName,
+ BinaryData publishAgentToMicrosoft365Request, RequestOptions requestOptions) {
+ final String contentType = "application/json";
+ final String accept = "application/json";
+ return service.publishAgentToMicrosoft365Sync(this.client.getEndpoint(), agentName,
+ this.client.getServiceVersion().getVersion(), contentType, accept, publishAgentToMicrosoft365Request,
+ requestOptions, Context.NONE);
+ }
+
+ /**
+ * Generate a Microsoft 365 app package
+ *
+ * Generates the Microsoft Teams app package (zip) for a Foundry agent from the supplied publish
+ * request, without publishing it. Returns the app package as `application/zip`.
+ * Request Body Schema
+ *
+ *
+ * {@code
+ * {
+ * agentDisplayName: String (Optional)
+ * botServiceArmId: String (Optional)
+ * publishAsAutopilot: Boolean (Optional)
+ * accessBoundaries (Optional): [
+ * String(read.1on1.developers/read.1on1.manager/read.1on1.allowlisted/read.1on1.tenant/write.1on1.developers/write.1on1.manager/write.1on1.allowlisted/write.1on1.tenant/read.group.developers/read.group.allowlisted/read.group.manager-invited/read.group.manager-present/read.group.tenant/write.group.developers/write.group.allowlisted/write.group.manager-invited/write.group.manager-present/write.group.tenant) (Optional)
+ * ]
+ * optionalPermissionScopes (Optional): [
+ * (Optional){
+ * resourceAppId: String (Required)
+ * scopes (Required): [
+ * String (Required)
+ * ]
+ * }
+ * ]
+ * publishScope: String(Personal/Shared/Tenant) (Required)
+ * canRespondWithoutMention: Boolean (Optional)
+ * appVersion: String (Optional)
+ * shortDescription: String (Optional)
+ * fullDescription: String (Optional)
+ * developerName: String (Optional)
+ * developerWebsiteUrl: String (Optional)
+ * privacyUrl: String (Optional)
+ * termsOfUseUrl: String (Optional)
+ * colorIconBase64: String (Optional)
+ * outlineIconBase64: String (Optional)
+ * }
+ * }
+ *
+ *
+ * Response Body Schema
+ *
+ *
+ * {@code
+ * BinaryData
+ * }
+ *
+ *
+ * @param agentName The name of the agent to generate the app package for.
+ * @param getMicrosoft365AppPackageRequest The getMicrosoft365AppPackageRequest parameter.
+ * @param requestOptions The options to configure the HTTP request before HTTP client sends it.
+ * @throws HttpResponseException thrown if the request is rejected by server.
+ * @throws ClientAuthenticationException thrown if the request is rejected by server on status code 401.
+ * @throws ResourceNotFoundException thrown if the request is rejected by server on status code 404.
+ * @throws ResourceModifiedException thrown if the request is rejected by server on status code 409.
+ * @return the response body along with {@link Response} on successful completion of {@link Mono}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ public Mono> getMicrosoft365AppPackageWithResponseAsync(String agentName,
+ BinaryData getMicrosoft365AppPackageRequest, RequestOptions requestOptions) {
+ final String contentType = "application/json";
+ final String accept = "application/zip";
+ return FluxUtil.withContext(context -> service.getMicrosoft365AppPackage(this.client.getEndpoint(), agentName,
+ this.client.getServiceVersion().getVersion(), contentType, accept, getMicrosoft365AppPackageRequest,
+ requestOptions, context));
+ }
+
+ /**
+ * Generate a Microsoft 365 app package
+ *
+ * Generates the Microsoft Teams app package (zip) for a Foundry agent from the supplied publish
+ * request, without publishing it. Returns the app package as `application/zip`.
+ * Request Body Schema
+ *
+ *
+ * {@code
+ * {
+ * agentDisplayName: String (Optional)
+ * botServiceArmId: String (Optional)
+ * publishAsAutopilot: Boolean (Optional)
+ * accessBoundaries (Optional): [
+ * String(read.1on1.developers/read.1on1.manager/read.1on1.allowlisted/read.1on1.tenant/write.1on1.developers/write.1on1.manager/write.1on1.allowlisted/write.1on1.tenant/read.group.developers/read.group.allowlisted/read.group.manager-invited/read.group.manager-present/read.group.tenant/write.group.developers/write.group.allowlisted/write.group.manager-invited/write.group.manager-present/write.group.tenant) (Optional)
+ * ]
+ * optionalPermissionScopes (Optional): [
+ * (Optional){
+ * resourceAppId: String (Required)
+ * scopes (Required): [
+ * String (Required)
+ * ]
+ * }
+ * ]
+ * publishScope: String(Personal/Shared/Tenant) (Required)
+ * canRespondWithoutMention: Boolean (Optional)
+ * appVersion: String (Optional)
+ * shortDescription: String (Optional)
+ * fullDescription: String (Optional)
+ * developerName: String (Optional)
+ * developerWebsiteUrl: String (Optional)
+ * privacyUrl: String (Optional)
+ * termsOfUseUrl: String (Optional)
+ * colorIconBase64: String (Optional)
+ * outlineIconBase64: String (Optional)
+ * }
+ * }
+ *
+ *
+ * Response Body Schema
+ *
+ *
+ * {@code
+ * BinaryData
+ * }
+ *
+ *
+ * @param agentName The name of the agent to generate the app package for.
+ * @param getMicrosoft365AppPackageRequest The getMicrosoft365AppPackageRequest parameter.
+ * @param requestOptions The options to configure the HTTP request before HTTP client sends it.
+ * @throws HttpResponseException thrown if the request is rejected by server.
+ * @throws ClientAuthenticationException thrown if the request is rejected by server on status code 401.
+ * @throws ResourceNotFoundException thrown if the request is rejected by server on status code 404.
+ * @throws ResourceModifiedException thrown if the request is rejected by server on status code 409.
+ * @return the response body along with {@link Response}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ public Response getMicrosoft365AppPackageWithResponse(String agentName,
+ BinaryData getMicrosoft365AppPackageRequest, RequestOptions requestOptions) {
+ final String contentType = "application/json";
+ final String accept = "application/zip";
+ return service.getMicrosoft365AppPackageSync(this.client.getEndpoint(), agentName,
+ this.client.getServiceVersion().getVersion(), contentType, accept, getMicrosoft365AppPackageRequest,
+ requestOptions, Context.NONE);
+ }
+
+ /**
+ * Get Microsoft 365 publish defaults
+ *
+ * Returns default and previously-published values used to pre-populate a Microsoft 365 publish
+ * request for a Foundry agent.
+ * Query Parameters
+ *
+ * Query Parameters
+ * Name Type Required Description
+ * publishAsDigitalWorker Boolean No When true, returns defaults for publishing the
+ * agent as an autopilot (digital worker) agent.
+ *
+ * You can add these to a request with {@link RequestOptions#addQueryParam}
+ * Response Body Schema
+ *
+ *
+ * {@code
+ * {
+ * appPublishScope: String(Personal/Shared/Tenant) (Optional)
+ * agentName: String (Optional)
+ * agentDisplayName: String (Optional)
+ * appRegistrationClientId: String (Optional)
+ * botServiceArmId: String (Optional)
+ * appVersion: String (Optional)
+ * recommendedNextAppVersion: String (Optional)
+ * titleId: String (Optional)
+ * teamsAppId: String (Optional)
+ * shortDescription: String (Optional)
+ * fullDescription: String (Optional)
+ * developerName: String (Optional)
+ * developerWebsiteUrl: String (Optional)
+ * privacyUrl: String (Optional)
+ * termsOfUseUrl: String (Optional)
+ * }
+ * }
+ *
+ *
+ * @param agentName The name of the agent to get publish defaults for.
+ * @param requestOptions The options to configure the HTTP request before HTTP client sends it.
+ * @throws HttpResponseException thrown if the request is rejected by server.
+ * @throws ClientAuthenticationException thrown if the request is rejected by server on status code 401.
+ * @throws ResourceNotFoundException thrown if the request is rejected by server on status code 404.
+ * @throws ResourceModifiedException thrown if the request is rejected by server on status code 409.
+ * @return microsoft 365 publish defaults
+ *
+ * Returns default and previously-published values used to pre-populate a Microsoft 365 publish
+ * request for a Foundry agent along with {@link Response} on successful completion of {@link Mono}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ public Mono> getMicrosoft365PublishDefaultsWithResponseAsync(String agentName,
+ RequestOptions requestOptions) {
+ final String accept = "application/json";
+ return FluxUtil.withContext(context -> service.getMicrosoft365PublishDefaults(this.client.getEndpoint(),
+ agentName, this.client.getServiceVersion().getVersion(), accept, requestOptions, context));
+ }
+
+ /**
+ * Get Microsoft 365 publish defaults
+ *
+ * Returns default and previously-published values used to pre-populate a Microsoft 365 publish
+ * request for a Foundry agent.
+ * Query Parameters
+ *
+ * Query Parameters
+ * Name Type Required Description
+ * publishAsDigitalWorker Boolean No When true, returns defaults for publishing the
+ * agent as an autopilot (digital worker) agent.
+ *
+ * You can add these to a request with {@link RequestOptions#addQueryParam}
+ * Response Body Schema
+ *
+ *
+ * {@code
+ * {
+ * appPublishScope: String(Personal/Shared/Tenant) (Optional)
+ * agentName: String (Optional)
+ * agentDisplayName: String (Optional)
+ * appRegistrationClientId: String (Optional)
+ * botServiceArmId: String (Optional)
+ * appVersion: String (Optional)
+ * recommendedNextAppVersion: String (Optional)
+ * titleId: String (Optional)
+ * teamsAppId: String (Optional)
+ * shortDescription: String (Optional)
+ * fullDescription: String (Optional)
+ * developerName: String (Optional)
+ * developerWebsiteUrl: String (Optional)
+ * privacyUrl: String (Optional)
+ * termsOfUseUrl: String (Optional)
+ * }
+ * }
+ *
+ *
+ * @param agentName The name of the agent to get publish defaults for.
+ * @param requestOptions The options to configure the HTTP request before HTTP client sends it.
+ * @throws HttpResponseException thrown if the request is rejected by server.
+ * @throws ClientAuthenticationException thrown if the request is rejected by server on status code 401.
+ * @throws ResourceNotFoundException thrown if the request is rejected by server on status code 404.
+ * @throws ResourceModifiedException thrown if the request is rejected by server on status code 409.
+ * @return microsoft 365 publish defaults
+ *
+ * Returns default and previously-published values used to pre-populate a Microsoft 365 publish
+ * request for a Foundry agent along with {@link Response}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ public Response getMicrosoft365PublishDefaultsWithResponse(String agentName,
+ RequestOptions requestOptions) {
+ final String accept = "application/json";
+ return service.getMicrosoft365PublishDefaultsSync(this.client.getEndpoint(), agentName,
+ this.client.getServiceVersion().getVersion(), accept, requestOptions, Context.NONE);
+ }
+
/**
* List conversations
*
diff --git a/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/implementation/ToolboxesImpl.java b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/implementation/ToolboxesImpl.java
index 3723777d5170..7ce322adca41 100644
--- a/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/implementation/ToolboxesImpl.java
+++ b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/implementation/ToolboxesImpl.java
@@ -262,7 +262,7 @@ Response deleteToolboxVersionSync(@HostParam("endpoint") String endpoint,
* }
* tools (Required): [
* (Required){
- * type: String(code_interpreter/file_search/web_search/mcp/azure_ai_search/openapi/a2a_preview/browser_automation_preview/reminder_preview/work_iq_preview/fabric_iq_preview/toolbox_search/toolbox_search_preview/a2a) (Required)
+ * type: String(code_interpreter/file_search/web_search/mcp/azure_ai_search/openapi/a2a_preview/browser_automation_preview/reminder_preview/work_iq_preview/fabric_iq_preview/toolbox_search/toolbox_search_preview/a2a/shell/web_iq_preview) (Required)
* name: String (Optional)
* description: String (Optional)
* tool_configs (Optional): {
@@ -302,7 +302,7 @@ Response deleteToolboxVersionSync(@HostParam("endpoint") String endpoint,
* created_at: long (Required)
* tools (Required): [
* (Required){
- * type: String(code_interpreter/file_search/web_search/mcp/azure_ai_search/openapi/a2a_preview/browser_automation_preview/reminder_preview/work_iq_preview/fabric_iq_preview/toolbox_search/toolbox_search_preview/a2a) (Required)
+ * type: String(code_interpreter/file_search/web_search/mcp/azure_ai_search/openapi/a2a_preview/browser_automation_preview/reminder_preview/work_iq_preview/fabric_iq_preview/toolbox_search/toolbox_search_preview/a2a/shell/web_iq_preview) (Required)
* name: String (Optional)
* description: String (Optional)
* tool_configs (Optional): {
@@ -361,7 +361,7 @@ public Mono> createToolboxVersionWithResponseAsync(String n
* }
* tools (Required): [
* (Required){
- * type: String(code_interpreter/file_search/web_search/mcp/azure_ai_search/openapi/a2a_preview/browser_automation_preview/reminder_preview/work_iq_preview/fabric_iq_preview/toolbox_search/toolbox_search_preview/a2a) (Required)
+ * type: String(code_interpreter/file_search/web_search/mcp/azure_ai_search/openapi/a2a_preview/browser_automation_preview/reminder_preview/work_iq_preview/fabric_iq_preview/toolbox_search/toolbox_search_preview/a2a/shell/web_iq_preview) (Required)
* name: String (Optional)
* description: String (Optional)
* tool_configs (Optional): {
@@ -401,7 +401,7 @@ public Mono> createToolboxVersionWithResponseAsync(String n
* created_at: long (Required)
* tools (Required): [
* (Required){
- * type: String(code_interpreter/file_search/web_search/mcp/azure_ai_search/openapi/a2a_preview/browser_automation_preview/reminder_preview/work_iq_preview/fabric_iq_preview/toolbox_search/toolbox_search_preview/a2a) (Required)
+ * type: String(code_interpreter/file_search/web_search/mcp/azure_ai_search/openapi/a2a_preview/browser_automation_preview/reminder_preview/work_iq_preview/fabric_iq_preview/toolbox_search/toolbox_search_preview/a2a/shell/web_iq_preview) (Required)
* name: String (Optional)
* description: String (Optional)
* tool_configs (Optional): {
@@ -749,7 +749,7 @@ public PagedIterable listToolboxes(RequestOptions requestOptions) {
* created_at: long (Required)
* tools (Required): [
* (Required){
- * type: String(code_interpreter/file_search/web_search/mcp/azure_ai_search/openapi/a2a_preview/browser_automation_preview/reminder_preview/work_iq_preview/fabric_iq_preview/toolbox_search/toolbox_search_preview/a2a) (Required)
+ * type: String(code_interpreter/file_search/web_search/mcp/azure_ai_search/openapi/a2a_preview/browser_automation_preview/reminder_preview/work_iq_preview/fabric_iq_preview/toolbox_search/toolbox_search_preview/a2a/shell/web_iq_preview) (Required)
* name: String (Optional)
* description: String (Optional)
* tool_configs (Optional): {
@@ -833,7 +833,7 @@ private Mono> listToolboxVersionsSinglePageAsync(Strin
* created_at: long (Required)
* tools (Required): [
* (Required){
- * type: String(code_interpreter/file_search/web_search/mcp/azure_ai_search/openapi/a2a_preview/browser_automation_preview/reminder_preview/work_iq_preview/fabric_iq_preview/toolbox_search/toolbox_search_preview/a2a) (Required)
+ * type: String(code_interpreter/file_search/web_search/mcp/azure_ai_search/openapi/a2a_preview/browser_automation_preview/reminder_preview/work_iq_preview/fabric_iq_preview/toolbox_search/toolbox_search_preview/a2a/shell/web_iq_preview) (Required)
* name: String (Optional)
* description: String (Optional)
* tool_configs (Optional): {
@@ -910,7 +910,7 @@ public PagedFlux listToolboxVersionsAsync(String name, RequestOption
* created_at: long (Required)
* tools (Required): [
* (Required){
- * type: String(code_interpreter/file_search/web_search/mcp/azure_ai_search/openapi/a2a_preview/browser_automation_preview/reminder_preview/work_iq_preview/fabric_iq_preview/toolbox_search/toolbox_search_preview/a2a) (Required)
+ * type: String(code_interpreter/file_search/web_search/mcp/azure_ai_search/openapi/a2a_preview/browser_automation_preview/reminder_preview/work_iq_preview/fabric_iq_preview/toolbox_search/toolbox_search_preview/a2a/shell/web_iq_preview) (Required)
* name: String (Optional)
* description: String (Optional)
* tool_configs (Optional): {
@@ -991,7 +991,7 @@ private PagedResponse listToolboxVersionsSinglePage(String name, Req
* created_at: long (Required)
* tools (Required): [
* (Required){
- * type: String(code_interpreter/file_search/web_search/mcp/azure_ai_search/openapi/a2a_preview/browser_automation_preview/reminder_preview/work_iq_preview/fabric_iq_preview/toolbox_search/toolbox_search_preview/a2a) (Required)
+ * type: String(code_interpreter/file_search/web_search/mcp/azure_ai_search/openapi/a2a_preview/browser_automation_preview/reminder_preview/work_iq_preview/fabric_iq_preview/toolbox_search/toolbox_search_preview/a2a/shell/web_iq_preview) (Required)
* name: String (Optional)
* description: String (Optional)
* tool_configs (Optional): {
@@ -1048,7 +1048,7 @@ public PagedIterable listToolboxVersions(String name, RequestOptions
* created_at: long (Required)
* tools (Required): [
* (Required){
- * type: String(code_interpreter/file_search/web_search/mcp/azure_ai_search/openapi/a2a_preview/browser_automation_preview/reminder_preview/work_iq_preview/fabric_iq_preview/toolbox_search/toolbox_search_preview/a2a) (Required)
+ * type: String(code_interpreter/file_search/web_search/mcp/azure_ai_search/openapi/a2a_preview/browser_automation_preview/reminder_preview/work_iq_preview/fabric_iq_preview/toolbox_search/toolbox_search_preview/a2a/shell/web_iq_preview) (Required)
* name: String (Optional)
* description: String (Optional)
* tool_configs (Optional): {
@@ -1109,7 +1109,7 @@ public Mono> getToolboxVersionWithResponseAsync(String name
* created_at: long (Required)
* tools (Required): [
* (Required){
- * type: String(code_interpreter/file_search/web_search/mcp/azure_ai_search/openapi/a2a_preview/browser_automation_preview/reminder_preview/work_iq_preview/fabric_iq_preview/toolbox_search/toolbox_search_preview/a2a) (Required)
+ * type: String(code_interpreter/file_search/web_search/mcp/azure_ai_search/openapi/a2a_preview/browser_automation_preview/reminder_preview/work_iq_preview/fabric_iq_preview/toolbox_search/toolbox_search_preview/a2a/shell/web_iq_preview) (Required)
* name: String (Optional)
* description: String (Optional)
* tool_configs (Optional): {
diff --git a/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/implementation/models/AgentDefinitionOptInKeys.java b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/implementation/models/AgentDefinitionOptInKeys.java
index 2f8fa483b12d..4d8de4270c88 100644
--- a/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/implementation/models/AgentDefinitionOptInKeys.java
+++ b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/implementation/models/AgentDefinitionOptInKeys.java
@@ -26,7 +26,12 @@ public enum AgentDefinitionOptInKeys {
/**
* Enum value VoiceAgents=V1Preview.
*/
- VOICE_AGENTS_V1_PREVIEW("VoiceAgents=V1Preview");
+ VOICE_AGENTS_V1_PREVIEW("VoiceAgents=V1Preview"),
+
+ /**
+ * Enum value DigitalWorker=V1Preview.
+ */
+ DIGITAL_WORKER_V1_PREVIEW("DigitalWorker=V1Preview");
/**
* The actual serialized value for a AgentDefinitionOptInKeys instance.
diff --git a/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/implementation/models/CreateAgentOptions.java b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/implementation/models/CreateAgentOptions.java
index e9d547335e42..30499e184c8e 100644
--- a/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/implementation/models/CreateAgentOptions.java
+++ b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/implementation/models/CreateAgentOptions.java
@@ -8,6 +8,7 @@
import com.azure.ai.agents.models.AgentDefinition;
import com.azure.ai.agents.models.AgentEndpointConfig;
import com.azure.ai.agents.models.AgentState;
+import com.azure.ai.agents.models.DigitalWorkerType;
import com.azure.core.annotation.Fluent;
import com.azure.core.annotation.Generated;
import java.util.Map;
@@ -45,7 +46,7 @@ public final class CreateAgentOptions {
private String description;
/*
- * The agent definition. This can be a workflow, hosted agent, or a simple agent definition.
+ * The agent definition. This can be a prompt, workflow, hosted, external, or voice agent definition.
*/
@Generated
private final AgentDefinition definition;
@@ -149,8 +150,8 @@ public CreateAgentOptions setDescription(String description) {
}
/**
- * Get the definition property: The agent definition. This can be a workflow, hosted agent, or a simple agent
- * definition.
+ * Get the definition property: The agent definition. This can be a prompt, workflow, hosted, external, or voice
+ * agent definition.
*
* @return the definition value.
*/
@@ -288,4 +289,34 @@ public CreateAgentOptions setDraft(Boolean draft) {
this.draft = draft;
return this;
}
+
+ /*
+ * (Preview) The type of digital worker (previously known as `autopilot`). If omitted, it is not a digital worker.
+ */
+ @Generated
+ private DigitalWorkerType digitalWorkerType;
+
+ /**
+ * Get the digitalWorkerType property: (Preview) The type of digital worker (previously known as `autopilot`). If
+ * omitted, it is not a digital worker.
+ *
+ * @return the digitalWorkerType value.
+ */
+ @Generated
+ public DigitalWorkerType getDigitalWorkerType() {
+ return this.digitalWorkerType;
+ }
+
+ /**
+ * Set the digitalWorkerType property: (Preview) The type of digital worker (previously known as `autopilot`). If
+ * omitted, it is not a digital worker.
+ *
+ * @param digitalWorkerType the digitalWorkerType value to set.
+ * @return the CreateAgentOptions object itself.
+ */
+ @Generated
+ public CreateAgentOptions setDigitalWorkerType(DigitalWorkerType digitalWorkerType) {
+ this.digitalWorkerType = digitalWorkerType;
+ return this;
+ }
}
diff --git a/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/implementation/models/CreateAgentRequest.java b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/implementation/models/CreateAgentRequest.java
index fda3dbe2abba..c652115cd57c 100644
--- a/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/implementation/models/CreateAgentRequest.java
+++ b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/implementation/models/CreateAgentRequest.java
@@ -8,6 +8,7 @@
import com.azure.ai.agents.models.AgentDefinition;
import com.azure.ai.agents.models.AgentEndpointConfig;
import com.azure.ai.agents.models.AgentState;
+import com.azure.ai.agents.models.DigitalWorkerType;
import com.azure.core.annotation.Fluent;
import com.azure.core.annotation.Generated;
import com.azure.json.JsonReader;
@@ -50,7 +51,7 @@ public final class CreateAgentRequest implements JsonSerializable writer.writeString(element));
jsonWriter.writeStringField("description", this.description);
jsonWriter.writeJsonField("blueprint_reference", this.blueprintReference);
+ jsonWriter.writeStringField("digital_worker_type",
+ this.digitalWorkerType == null ? null : this.digitalWorkerType.toString());
jsonWriter.writeBooleanField("draft", this.draft);
jsonWriter.writeJsonField("agent_endpoint", this.agentEndpoint);
jsonWriter.writeJsonField("agent_card", this.agentCard);
@@ -183,6 +186,7 @@ public static CreateAgentRequest fromJson(JsonReader jsonReader) throws IOExcept
Map metadata = null;
String description = null;
AgentBlueprintReference blueprintReference = null;
+ DigitalWorkerType digitalWorkerType = null;
Boolean draft = null;
AgentEndpointConfig agentEndpoint = null;
AgentCard agentCard = null;
@@ -201,6 +205,8 @@ public static CreateAgentRequest fromJson(JsonReader jsonReader) throws IOExcept
description = reader.getString();
} else if ("blueprint_reference".equals(fieldName)) {
blueprintReference = AgentBlueprintReference.fromJson(reader);
+ } else if ("digital_worker_type".equals(fieldName)) {
+ digitalWorkerType = DigitalWorkerType.fromString(reader.getString());
} else if ("draft".equals(fieldName)) {
draft = reader.getNullable(JsonReader::getBoolean);
} else if ("agent_endpoint".equals(fieldName)) {
@@ -216,6 +222,7 @@ public static CreateAgentRequest fromJson(JsonReader jsonReader) throws IOExcept
deserializedCreateAgentRequest.metadata = metadata;
deserializedCreateAgentRequest.description = description;
deserializedCreateAgentRequest.blueprintReference = blueprintReference;
+ deserializedCreateAgentRequest.digitalWorkerType = digitalWorkerType;
deserializedCreateAgentRequest.draft = draft;
deserializedCreateAgentRequest.agentEndpoint = agentEndpoint;
deserializedCreateAgentRequest.agentCard = agentCard;
@@ -370,4 +377,34 @@ public CreateAgentRequest setDraft(Boolean draft) {
this.draft = draft;
return this;
}
+
+ /*
+ * (Preview) The type of digital worker (previously known as `autopilot`). If omitted, it is not a digital worker.
+ */
+ @Generated
+ private DigitalWorkerType digitalWorkerType;
+
+ /**
+ * Get the digitalWorkerType property: (Preview) The type of digital worker (previously known as `autopilot`). If
+ * omitted, it is not a digital worker.
+ *
+ * @return the digitalWorkerType value.
+ */
+ @Generated
+ public DigitalWorkerType getDigitalWorkerType() {
+ return this.digitalWorkerType;
+ }
+
+ /**
+ * Set the digitalWorkerType property: (Preview) The type of digital worker (previously known as `autopilot`). If
+ * omitted, it is not a digital worker.
+ *
+ * @param digitalWorkerType the digitalWorkerType value to set.
+ * @return the CreateAgentRequest object itself.
+ */
+ @Generated
+ public CreateAgentRequest setDigitalWorkerType(DigitalWorkerType digitalWorkerType) {
+ this.digitalWorkerType = digitalWorkerType;
+ return this;
+ }
}
diff --git a/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/implementation/models/CreateAgentVersionRequest.java b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/implementation/models/CreateAgentVersionRequest.java
index ecbc21d67d32..44eedf53b842 100644
--- a/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/implementation/models/CreateAgentVersionRequest.java
+++ b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/implementation/models/CreateAgentVersionRequest.java
@@ -5,6 +5,7 @@
import com.azure.ai.agents.models.AgentBlueprintReference;
import com.azure.ai.agents.models.AgentDefinition;
+import com.azure.ai.agents.models.DigitalWorkerType;
import com.azure.core.annotation.Fluent;
import com.azure.core.annotation.Generated;
import com.azure.json.JsonReader;
@@ -38,7 +39,7 @@ public final class CreateAgentVersionRequest implements JsonSerializable writer.writeString(element));
jsonWriter.writeStringField("description", this.description);
jsonWriter.writeJsonField("blueprint_reference", this.blueprintReference);
+ jsonWriter.writeStringField("digital_worker_type",
+ this.digitalWorkerType == null ? null : this.digitalWorkerType.toString());
jsonWriter.writeBooleanField("draft", this.draft);
return jsonWriter.writeEndObject();
}
@@ -149,6 +152,7 @@ public static CreateAgentVersionRequest fromJson(JsonReader jsonReader) throws I
Map metadata = null;
String description = null;
AgentBlueprintReference blueprintReference = null;
+ DigitalWorkerType digitalWorkerType = null;
Boolean draft = null;
while (reader.nextToken() != JsonToken.END_OBJECT) {
String fieldName = reader.getFieldName();
@@ -161,6 +165,8 @@ public static CreateAgentVersionRequest fromJson(JsonReader jsonReader) throws I
description = reader.getString();
} else if ("blueprint_reference".equals(fieldName)) {
blueprintReference = AgentBlueprintReference.fromJson(reader);
+ } else if ("digital_worker_type".equals(fieldName)) {
+ digitalWorkerType = DigitalWorkerType.fromString(reader.getString());
} else if ("draft".equals(fieldName)) {
draft = reader.getNullable(JsonReader::getBoolean);
} else {
@@ -171,6 +177,7 @@ public static CreateAgentVersionRequest fromJson(JsonReader jsonReader) throws I
deserializedCreateAgentVersionRequest.metadata = metadata;
deserializedCreateAgentVersionRequest.description = description;
deserializedCreateAgentVersionRequest.blueprintReference = blueprintReference;
+ deserializedCreateAgentVersionRequest.digitalWorkerType = digitalWorkerType;
deserializedCreateAgentVersionRequest.draft = draft;
return deserializedCreateAgentVersionRequest;
});
@@ -237,4 +244,34 @@ public CreateAgentVersionRequest setDraft(Boolean draft) {
this.draft = draft;
return this;
}
+
+ /*
+ * (Preview) The type of digital worker (previously known as `autopilot`). If omitted, it is not a digital worker.
+ */
+ @Generated
+ private DigitalWorkerType digitalWorkerType;
+
+ /**
+ * Get the digitalWorkerType property: (Preview) The type of digital worker (previously known as `autopilot`). If
+ * omitted, it is not a digital worker.
+ *
+ * @return the digitalWorkerType value.
+ */
+ @Generated
+ public DigitalWorkerType getDigitalWorkerType() {
+ return this.digitalWorkerType;
+ }
+
+ /**
+ * Set the digitalWorkerType property: (Preview) The type of digital worker (previously known as `autopilot`). If
+ * omitted, it is not a digital worker.
+ *
+ * @param digitalWorkerType the digitalWorkerType value to set.
+ * @return the CreateAgentVersionRequest object itself.
+ */
+ @Generated
+ public CreateAgentVersionRequest setDigitalWorkerType(DigitalWorkerType digitalWorkerType) {
+ this.digitalWorkerType = digitalWorkerType;
+ return this;
+ }
}
diff --git a/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/implementation/models/FoundryFeaturesOptInKeys.java b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/implementation/models/FoundryFeaturesOptInKeys.java
index 9282cec894c0..831ab7123db4 100644
--- a/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/implementation/models/FoundryFeaturesOptInKeys.java
+++ b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/implementation/models/FoundryFeaturesOptInKeys.java
@@ -28,6 +28,11 @@ public enum FoundryFeaturesOptInKeys {
*/
INSIGHTS_V1_PREVIEW("Insights=V1Preview"),
+ /**
+ * Enum value AgentInsights=V1Preview.
+ */
+ AGENT_INSIGHTS_V1_PREVIEW("AgentInsights=V1Preview"),
+
/**
* Enum value MemoryStores=V1Preview.
*/
@@ -56,7 +61,12 @@ public enum FoundryFeaturesOptInKeys {
/**
* Enum value AgentsOptimization=V2Preview.
*/
- AGENTS_OPTIMIZATION_V2_PREVIEW("AgentsOptimization=V2Preview");
+ AGENTS_OPTIMIZATION_V2_PREVIEW("AgentsOptimization=V2Preview"),
+
+ /**
+ * Enum value ModelRouterControls=V1Preview.
+ */
+ MODEL_ROUTER_CONTROLS_V1_PREVIEW("ModelRouterControls=V1Preview");
/**
* The actual serialized value for a FoundryFeaturesOptInKeys instance.
diff --git a/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/implementation/models/GetMicrosoft365AppPackageRequest.java b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/implementation/models/GetMicrosoft365AppPackageRequest.java
new file mode 100644
index 000000000000..edfebcc4c4c1
--- /dev/null
+++ b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/implementation/models/GetMicrosoft365AppPackageRequest.java
@@ -0,0 +1,656 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) TypeSpec Code Generator.
+package com.azure.ai.agents.implementation.models;
+
+import com.azure.ai.agents.models.ActivityProtocolAccessBoundary;
+import com.azure.ai.agents.models.Microsoft365PermissionScopes;
+import com.azure.ai.agents.models.Microsoft365PublishScope;
+import com.azure.core.annotation.Fluent;
+import com.azure.core.annotation.Generated;
+import com.azure.json.JsonReader;
+import com.azure.json.JsonSerializable;
+import com.azure.json.JsonToken;
+import com.azure.json.JsonWriter;
+import java.io.IOException;
+import java.util.List;
+
+/**
+ * The GetMicrosoft365AppPackageRequest model.
+ */
+@Fluent
+public final class GetMicrosoft365AppPackageRequest implements JsonSerializable {
+
+ /*
+ * Display name used as the published Teams app name. When omitted, the agent name from the route is
+ * used.
+ */
+ @Generated
+ private String agentDisplayName;
+
+ /*
+ * ARM resource id of the Azure Bot Service that fronts this agent in Microsoft Teams. Required for
+ * workspaces on the default bot-based Teams backend; optional for workspaces on the API-based backend.
+ * Must not be supplied when `publishAsAutopilot` is true.
+ */
+ @Generated
+ private String botServiceArmId;
+
+ /*
+ * When true, the agent is published as an autopilot (digital worker) agent: the bot id is taken from
+ * the agent's blueprint identity and the generated Teams manifest is marked as a digital worker.
+ */
+ @Generated
+ private Boolean publishAsAutopilot;
+
+ /*
+ * Activity-protocol access boundaries to apply to the agent when publishing as an autopilot agent.
+ * An empty list clears the existing boundaries. When omitted, the existing boundaries are left
+ * unchanged.
+ */
+ @Generated
+ private List accessBoundaries;
+
+ /*
+ * Exact selection of delegated permission scopes to grant to the autopilot blueprint. May only be
+ * supplied when `publishAsAutopilot` is true. When omitted or empty, the platform's default
+ * permission set is used. Mandatory platform permissions are always granted and are not affected by
+ * this value.
+ */
+ @Generated
+ private List optionalPermissionScopes;
+
+ /*
+ * Publish scope for the Teams app.
+ */
+ @Generated
+ private final Microsoft365PublishScope publishScope;
+
+ /*
+ * Controls how the published agent responds to Teams messages: when true it responds to all messages
+ * on its surfaces, when false only when it is at-mentioned. When omitted, the agent's existing Teams
+ * message-notification setting is left unchanged.
+ */
+ @Generated
+ private Boolean canRespondWithoutMention;
+
+ /*
+ * App version (for example `1.2.3`) written into the Teams manifest. May contain only digits and
+ * periods, must not start with `0`, and must end with a digit. When omitted, a platform default is
+ * used.
+ */
+ @Generated
+ private String appVersion;
+
+ /*
+ * Short, one-line description shown in the Teams app listing.
+ */
+ @Generated
+ private String shortDescription;
+
+ /*
+ * Full description shown on the Teams app details page.
+ */
+ @Generated
+ private String fullDescription;
+
+ /*
+ * Display name of the developer / publisher shown in the Teams app listing.
+ */
+ @Generated
+ private String developerName;
+
+ /*
+ * Developer / publisher website URL shown in the Teams app listing. Must be an https URL.
+ */
+ @Generated
+ private String developerWebsiteUrl;
+
+ /*
+ * Privacy policy URL shown in the Teams app listing. Must be an http or https URL.
+ */
+ @Generated
+ private String privacyUrl;
+
+ /*
+ * Terms-of-use URL shown in the Teams app listing.
+ */
+ @Generated
+ private String termsOfUseUrl;
+
+ /*
+ * Optional base64-encoded PNG used as the color (full-bleed) icon in the Teams app package. Must be a
+ * 192x192 PNG (perfect square, no border or rounded corners). Max 1 MB after decode. When omitted, the
+ * platform default color icon is used.
+ */
+ @Generated
+ private String colorIconBase64;
+
+ /*
+ * Optional base64-encoded PNG used as the outline icon in the Teams app package. Must be a 32x32 PNG.
+ * Max 1 MB after decode. When omitted, the platform default outline icon is used.
+ */
+ @Generated
+ private String outlineIconBase64;
+
+ /**
+ * Creates an instance of GetMicrosoft365AppPackageRequest class.
+ *
+ * @param publishScope the publishScope value to set.
+ */
+ @Generated
+ public GetMicrosoft365AppPackageRequest(Microsoft365PublishScope publishScope) {
+ this.publishScope = publishScope;
+ }
+
+ /**
+ * Get the agentDisplayName property: Display name used as the published Teams app name. When omitted, the agent
+ * name from the route is
+ * used.
+ *
+ * @return the agentDisplayName value.
+ */
+ @Generated
+ public String getAgentDisplayName() {
+ return this.agentDisplayName;
+ }
+
+ /**
+ * Set the agentDisplayName property: Display name used as the published Teams app name. When omitted, the agent
+ * name from the route is
+ * used.
+ *
+ * @param agentDisplayName the agentDisplayName value to set.
+ * @return the GetMicrosoft365AppPackageRequest object itself.
+ */
+ @Generated
+ public GetMicrosoft365AppPackageRequest setAgentDisplayName(String agentDisplayName) {
+ this.agentDisplayName = agentDisplayName;
+ return this;
+ }
+
+ /**
+ * Get the botServiceArmId property: ARM resource id of the Azure Bot Service that fronts this agent in Microsoft
+ * Teams. Required for
+ * workspaces on the default bot-based Teams backend; optional for workspaces on the API-based backend.
+ * Must not be supplied when `publishAsAutopilot` is true.
+ *
+ * @return the botServiceArmId value.
+ */
+ @Generated
+ public String getBotServiceArmId() {
+ return this.botServiceArmId;
+ }
+
+ /**
+ * Set the botServiceArmId property: ARM resource id of the Azure Bot Service that fronts this agent in Microsoft
+ * Teams. Required for
+ * workspaces on the default bot-based Teams backend; optional for workspaces on the API-based backend.
+ * Must not be supplied when `publishAsAutopilot` is true.
+ *
+ * @param botServiceArmId the botServiceArmId value to set.
+ * @return the GetMicrosoft365AppPackageRequest object itself.
+ */
+ @Generated
+ public GetMicrosoft365AppPackageRequest setBotServiceArmId(String botServiceArmId) {
+ this.botServiceArmId = botServiceArmId;
+ return this;
+ }
+
+ /**
+ * Get the publishAsAutopilot property: When true, the agent is published as an autopilot (digital worker) agent:
+ * the bot id is taken from
+ * the agent's blueprint identity and the generated Teams manifest is marked as a digital worker.
+ *
+ * @return the publishAsAutopilot value.
+ */
+ @Generated
+ public Boolean isPublishAsAutopilot() {
+ return this.publishAsAutopilot;
+ }
+
+ /**
+ * Set the publishAsAutopilot property: When true, the agent is published as an autopilot (digital worker) agent:
+ * the bot id is taken from
+ * the agent's blueprint identity and the generated Teams manifest is marked as a digital worker.
+ *
+ * @param publishAsAutopilot the publishAsAutopilot value to set.
+ * @return the GetMicrosoft365AppPackageRequest object itself.
+ */
+ @Generated
+ public GetMicrosoft365AppPackageRequest setPublishAsAutopilot(Boolean publishAsAutopilot) {
+ this.publishAsAutopilot = publishAsAutopilot;
+ return this;
+ }
+
+ /**
+ * Get the accessBoundaries property: Activity-protocol access boundaries to apply to the agent when publishing as
+ * an autopilot agent.
+ * An empty list clears the existing boundaries. When omitted, the existing boundaries are left
+ * unchanged.
+ *
+ * @return the accessBoundaries value.
+ */
+ @Generated
+ public List getAccessBoundaries() {
+ return this.accessBoundaries;
+ }
+
+ /**
+ * Set the accessBoundaries property: Activity-protocol access boundaries to apply to the agent when publishing as
+ * an autopilot agent.
+ * An empty list clears the existing boundaries. When omitted, the existing boundaries are left
+ * unchanged.
+ *
+ * @param accessBoundaries the accessBoundaries value to set.
+ * @return the GetMicrosoft365AppPackageRequest object itself.
+ */
+ @Generated
+ public GetMicrosoft365AppPackageRequest setAccessBoundaries(List accessBoundaries) {
+ this.accessBoundaries = accessBoundaries;
+ return this;
+ }
+
+ /**
+ * Get the optionalPermissionScopes property: Exact selection of delegated permission scopes to grant to the
+ * autopilot blueprint. May only be
+ * supplied when `publishAsAutopilot` is true. When omitted or empty, the platform's default
+ * permission set is used. Mandatory platform permissions are always granted and are not affected by
+ * this value.
+ *
+ * @return the optionalPermissionScopes value.
+ */
+ @Generated
+ public List getOptionalPermissionScopes() {
+ return this.optionalPermissionScopes;
+ }
+
+ /**
+ * Set the optionalPermissionScopes property: Exact selection of delegated permission scopes to grant to the
+ * autopilot blueprint. May only be
+ * supplied when `publishAsAutopilot` is true. When omitted or empty, the platform's default
+ * permission set is used. Mandatory platform permissions are always granted and are not affected by
+ * this value.
+ *
+ * @param optionalPermissionScopes the optionalPermissionScopes value to set.
+ * @return the GetMicrosoft365AppPackageRequest object itself.
+ */
+ @Generated
+ public GetMicrosoft365AppPackageRequest
+ setOptionalPermissionScopes(List optionalPermissionScopes) {
+ this.optionalPermissionScopes = optionalPermissionScopes;
+ return this;
+ }
+
+ /**
+ * Get the publishScope property: Publish scope for the Teams app.
+ *
+ * @return the publishScope value.
+ */
+ @Generated
+ public Microsoft365PublishScope getPublishScope() {
+ return this.publishScope;
+ }
+
+ /**
+ * Get the canRespondWithoutMention property: Controls how the published agent responds to Teams messages: when true
+ * it responds to all messages
+ * on its surfaces, when false only when it is at-mentioned. When omitted, the agent's existing Teams
+ * message-notification setting is left unchanged.
+ *
+ * @return the canRespondWithoutMention value.
+ */
+ @Generated
+ public Boolean isCanRespondWithoutMention() {
+ return this.canRespondWithoutMention;
+ }
+
+ /**
+ * Set the canRespondWithoutMention property: Controls how the published agent responds to Teams messages: when true
+ * it responds to all messages
+ * on its surfaces, when false only when it is at-mentioned. When omitted, the agent's existing Teams
+ * message-notification setting is left unchanged.
+ *
+ * @param canRespondWithoutMention the canRespondWithoutMention value to set.
+ * @return the GetMicrosoft365AppPackageRequest object itself.
+ */
+ @Generated
+ public GetMicrosoft365AppPackageRequest setCanRespondWithoutMention(Boolean canRespondWithoutMention) {
+ this.canRespondWithoutMention = canRespondWithoutMention;
+ return this;
+ }
+
+ /**
+ * Get the appVersion property: App version (for example `1.2.3`) written into the Teams manifest. May contain only
+ * digits and
+ * periods, must not start with `0`, and must end with a digit. When omitted, a platform default is
+ * used.
+ *
+ * @return the appVersion value.
+ */
+ @Generated
+ public String getAppVersion() {
+ return this.appVersion;
+ }
+
+ /**
+ * Set the appVersion property: App version (for example `1.2.3`) written into the Teams manifest. May contain only
+ * digits and
+ * periods, must not start with `0`, and must end with a digit. When omitted, a platform default is
+ * used.
+ *
+ * @param appVersion the appVersion value to set.
+ * @return the GetMicrosoft365AppPackageRequest object itself.
+ */
+ @Generated
+ public GetMicrosoft365AppPackageRequest setAppVersion(String appVersion) {
+ this.appVersion = appVersion;
+ return this;
+ }
+
+ /**
+ * Get the shortDescription property: Short, one-line description shown in the Teams app listing.
+ *
+ * @return the shortDescription value.
+ */
+ @Generated
+ public String getShortDescription() {
+ return this.shortDescription;
+ }
+
+ /**
+ * Set the shortDescription property: Short, one-line description shown in the Teams app listing.
+ *
+ * @param shortDescription the shortDescription value to set.
+ * @return the GetMicrosoft365AppPackageRequest object itself.
+ */
+ @Generated
+ public GetMicrosoft365AppPackageRequest setShortDescription(String shortDescription) {
+ this.shortDescription = shortDescription;
+ return this;
+ }
+
+ /**
+ * Get the fullDescription property: Full description shown on the Teams app details page.
+ *
+ * @return the fullDescription value.
+ */
+ @Generated
+ public String getFullDescription() {
+ return this.fullDescription;
+ }
+
+ /**
+ * Set the fullDescription property: Full description shown on the Teams app details page.
+ *
+ * @param fullDescription the fullDescription value to set.
+ * @return the GetMicrosoft365AppPackageRequest object itself.
+ */
+ @Generated
+ public GetMicrosoft365AppPackageRequest setFullDescription(String fullDescription) {
+ this.fullDescription = fullDescription;
+ return this;
+ }
+
+ /**
+ * Get the developerName property: Display name of the developer / publisher shown in the Teams app listing.
+ *
+ * @return the developerName value.
+ */
+ @Generated
+ public String getDeveloperName() {
+ return this.developerName;
+ }
+
+ /**
+ * Set the developerName property: Display name of the developer / publisher shown in the Teams app listing.
+ *
+ * @param developerName the developerName value to set.
+ * @return the GetMicrosoft365AppPackageRequest object itself.
+ */
+ @Generated
+ public GetMicrosoft365AppPackageRequest setDeveloperName(String developerName) {
+ this.developerName = developerName;
+ return this;
+ }
+
+ /**
+ * Get the developerWebsiteUrl property: Developer / publisher website URL shown in the Teams app listing. Must be
+ * an https URL.
+ *
+ * @return the developerWebsiteUrl value.
+ */
+ @Generated
+ public String getDeveloperWebsiteUrl() {
+ return this.developerWebsiteUrl;
+ }
+
+ /**
+ * Set the developerWebsiteUrl property: Developer / publisher website URL shown in the Teams app listing. Must be
+ * an https URL.
+ *
+ * @param developerWebsiteUrl the developerWebsiteUrl value to set.
+ * @return the GetMicrosoft365AppPackageRequest object itself.
+ */
+ @Generated
+ public GetMicrosoft365AppPackageRequest setDeveloperWebsiteUrl(String developerWebsiteUrl) {
+ this.developerWebsiteUrl = developerWebsiteUrl;
+ return this;
+ }
+
+ /**
+ * Get the privacyUrl property: Privacy policy URL shown in the Teams app listing. Must be an http or https URL.
+ *
+ * @return the privacyUrl value.
+ */
+ @Generated
+ public String getPrivacyUrl() {
+ return this.privacyUrl;
+ }
+
+ /**
+ * Set the privacyUrl property: Privacy policy URL shown in the Teams app listing. Must be an http or https URL.
+ *
+ * @param privacyUrl the privacyUrl value to set.
+ * @return the GetMicrosoft365AppPackageRequest object itself.
+ */
+ @Generated
+ public GetMicrosoft365AppPackageRequest setPrivacyUrl(String privacyUrl) {
+ this.privacyUrl = privacyUrl;
+ return this;
+ }
+
+ /**
+ * Get the termsOfUseUrl property: Terms-of-use URL shown in the Teams app listing.
+ *
+ * @return the termsOfUseUrl value.
+ */
+ @Generated
+ public String getTermsOfUseUrl() {
+ return this.termsOfUseUrl;
+ }
+
+ /**
+ * Set the termsOfUseUrl property: Terms-of-use URL shown in the Teams app listing.
+ *
+ * @param termsOfUseUrl the termsOfUseUrl value to set.
+ * @return the GetMicrosoft365AppPackageRequest object itself.
+ */
+ @Generated
+ public GetMicrosoft365AppPackageRequest setTermsOfUseUrl(String termsOfUseUrl) {
+ this.termsOfUseUrl = termsOfUseUrl;
+ return this;
+ }
+
+ /**
+ * Get the colorIconBase64 property: Optional base64-encoded PNG used as the color (full-bleed) icon in the Teams
+ * app package. Must be a
+ * 192x192 PNG (perfect square, no border or rounded corners). Max 1 MB after decode. When omitted, the
+ * platform default color icon is used.
+ *
+ * @return the colorIconBase64 value.
+ */
+ @Generated
+ public String getColorIconBase64() {
+ return this.colorIconBase64;
+ }
+
+ /**
+ * Set the colorIconBase64 property: Optional base64-encoded PNG used as the color (full-bleed) icon in the Teams
+ * app package. Must be a
+ * 192x192 PNG (perfect square, no border or rounded corners). Max 1 MB after decode. When omitted, the
+ * platform default color icon is used.
+ *
+ * @param colorIconBase64 the colorIconBase64 value to set.
+ * @return the GetMicrosoft365AppPackageRequest object itself.
+ */
+ @Generated
+ public GetMicrosoft365AppPackageRequest setColorIconBase64(String colorIconBase64) {
+ this.colorIconBase64 = colorIconBase64;
+ return this;
+ }
+
+ /**
+ * Get the outlineIconBase64 property: Optional base64-encoded PNG used as the outline icon in the Teams app
+ * package. Must be a 32x32 PNG.
+ * Max 1 MB after decode. When omitted, the platform default outline icon is used.
+ *
+ * @return the outlineIconBase64 value.
+ */
+ @Generated
+ public String getOutlineIconBase64() {
+ return this.outlineIconBase64;
+ }
+
+ /**
+ * Set the outlineIconBase64 property: Optional base64-encoded PNG used as the outline icon in the Teams app
+ * package. Must be a 32x32 PNG.
+ * Max 1 MB after decode. When omitted, the platform default outline icon is used.
+ *
+ * @param outlineIconBase64 the outlineIconBase64 value to set.
+ * @return the GetMicrosoft365AppPackageRequest object itself.
+ */
+ @Generated
+ public GetMicrosoft365AppPackageRequest setOutlineIconBase64(String outlineIconBase64) {
+ this.outlineIconBase64 = outlineIconBase64;
+ return this;
+ }
+
+ /**
+ * {@inheritDoc}
+ */
+ @Generated
+ @Override
+ public JsonWriter toJson(JsonWriter jsonWriter) throws IOException {
+ jsonWriter.writeStartObject();
+ jsonWriter.writeStringField("publishScope", this.publishScope == null ? null : this.publishScope.toString());
+ jsonWriter.writeStringField("agentDisplayName", this.agentDisplayName);
+ jsonWriter.writeStringField("botServiceArmId", this.botServiceArmId);
+ jsonWriter.writeBooleanField("publishAsAutopilot", this.publishAsAutopilot);
+ jsonWriter.writeArrayField("accessBoundaries", this.accessBoundaries,
+ (writer, element) -> writer.writeString(element == null ? null : element.toString()));
+ jsonWriter.writeArrayField("optionalPermissionScopes", this.optionalPermissionScopes,
+ (writer, element) -> writer.writeJson(element));
+ jsonWriter.writeBooleanField("canRespondWithoutMention", this.canRespondWithoutMention);
+ jsonWriter.writeStringField("appVersion", this.appVersion);
+ jsonWriter.writeStringField("shortDescription", this.shortDescription);
+ jsonWriter.writeStringField("fullDescription", this.fullDescription);
+ jsonWriter.writeStringField("developerName", this.developerName);
+ jsonWriter.writeStringField("developerWebsiteUrl", this.developerWebsiteUrl);
+ jsonWriter.writeStringField("privacyUrl", this.privacyUrl);
+ jsonWriter.writeStringField("termsOfUseUrl", this.termsOfUseUrl);
+ jsonWriter.writeStringField("colorIconBase64", this.colorIconBase64);
+ jsonWriter.writeStringField("outlineIconBase64", this.outlineIconBase64);
+ return jsonWriter.writeEndObject();
+ }
+
+ /**
+ * Reads an instance of GetMicrosoft365AppPackageRequest from the JsonReader.
+ *
+ * @param jsonReader The JsonReader being read.
+ * @return An instance of GetMicrosoft365AppPackageRequest if the JsonReader was pointing to an instance of it, or
+ * null if it was pointing to JSON null.
+ * @throws IllegalStateException If the deserialized JSON object was missing any required properties.
+ * @throws IOException If an error occurs while reading the GetMicrosoft365AppPackageRequest.
+ */
+ @Generated
+ public static GetMicrosoft365AppPackageRequest fromJson(JsonReader jsonReader) throws IOException {
+ return jsonReader.readObject(reader -> {
+ Microsoft365PublishScope publishScope = null;
+ String agentDisplayName = null;
+ String botServiceArmId = null;
+ Boolean publishAsAutopilot = null;
+ List accessBoundaries = null;
+ List optionalPermissionScopes = null;
+ Boolean canRespondWithoutMention = null;
+ String appVersion = null;
+ String shortDescription = null;
+ String fullDescription = null;
+ String developerName = null;
+ String developerWebsiteUrl = null;
+ String privacyUrl = null;
+ String termsOfUseUrl = null;
+ String colorIconBase64 = null;
+ String outlineIconBase64 = null;
+ while (reader.nextToken() != JsonToken.END_OBJECT) {
+ String fieldName = reader.getFieldName();
+ reader.nextToken();
+ if ("publishScope".equals(fieldName)) {
+ publishScope = Microsoft365PublishScope.fromString(reader.getString());
+ } else if ("agentDisplayName".equals(fieldName)) {
+ agentDisplayName = reader.getString();
+ } else if ("botServiceArmId".equals(fieldName)) {
+ botServiceArmId = reader.getString();
+ } else if ("publishAsAutopilot".equals(fieldName)) {
+ publishAsAutopilot = reader.getNullable(JsonReader::getBoolean);
+ } else if ("accessBoundaries".equals(fieldName)) {
+ accessBoundaries
+ = reader.readArray(reader1 -> ActivityProtocolAccessBoundary.fromString(reader1.getString()));
+ } else if ("optionalPermissionScopes".equals(fieldName)) {
+ optionalPermissionScopes
+ = reader.readArray(reader1 -> Microsoft365PermissionScopes.fromJson(reader1));
+ } else if ("canRespondWithoutMention".equals(fieldName)) {
+ canRespondWithoutMention = reader.getNullable(JsonReader::getBoolean);
+ } else if ("appVersion".equals(fieldName)) {
+ appVersion = reader.getString();
+ } else if ("shortDescription".equals(fieldName)) {
+ shortDescription = reader.getString();
+ } else if ("fullDescription".equals(fieldName)) {
+ fullDescription = reader.getString();
+ } else if ("developerName".equals(fieldName)) {
+ developerName = reader.getString();
+ } else if ("developerWebsiteUrl".equals(fieldName)) {
+ developerWebsiteUrl = reader.getString();
+ } else if ("privacyUrl".equals(fieldName)) {
+ privacyUrl = reader.getString();
+ } else if ("termsOfUseUrl".equals(fieldName)) {
+ termsOfUseUrl = reader.getString();
+ } else if ("colorIconBase64".equals(fieldName)) {
+ colorIconBase64 = reader.getString();
+ } else if ("outlineIconBase64".equals(fieldName)) {
+ outlineIconBase64 = reader.getString();
+ } else {
+ reader.skipChildren();
+ }
+ }
+ GetMicrosoft365AppPackageRequest deserializedGetMicrosoft365AppPackageRequest
+ = new GetMicrosoft365AppPackageRequest(publishScope);
+ deserializedGetMicrosoft365AppPackageRequest.agentDisplayName = agentDisplayName;
+ deserializedGetMicrosoft365AppPackageRequest.botServiceArmId = botServiceArmId;
+ deserializedGetMicrosoft365AppPackageRequest.publishAsAutopilot = publishAsAutopilot;
+ deserializedGetMicrosoft365AppPackageRequest.accessBoundaries = accessBoundaries;
+ deserializedGetMicrosoft365AppPackageRequest.optionalPermissionScopes = optionalPermissionScopes;
+ deserializedGetMicrosoft365AppPackageRequest.canRespondWithoutMention = canRespondWithoutMention;
+ deserializedGetMicrosoft365AppPackageRequest.appVersion = appVersion;
+ deserializedGetMicrosoft365AppPackageRequest.shortDescription = shortDescription;
+ deserializedGetMicrosoft365AppPackageRequest.fullDescription = fullDescription;
+ deserializedGetMicrosoft365AppPackageRequest.developerName = developerName;
+ deserializedGetMicrosoft365AppPackageRequest.developerWebsiteUrl = developerWebsiteUrl;
+ deserializedGetMicrosoft365AppPackageRequest.privacyUrl = privacyUrl;
+ deserializedGetMicrosoft365AppPackageRequest.termsOfUseUrl = termsOfUseUrl;
+ deserializedGetMicrosoft365AppPackageRequest.colorIconBase64 = colorIconBase64;
+ deserializedGetMicrosoft365AppPackageRequest.outlineIconBase64 = outlineIconBase64;
+ return deserializedGetMicrosoft365AppPackageRequest;
+ });
+ }
+}
diff --git a/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/implementation/models/PublishAgentToMicrosoft365Request.java b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/implementation/models/PublishAgentToMicrosoft365Request.java
new file mode 100644
index 000000000000..a825af3063aa
--- /dev/null
+++ b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/implementation/models/PublishAgentToMicrosoft365Request.java
@@ -0,0 +1,657 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) TypeSpec Code Generator.
+package com.azure.ai.agents.implementation.models;
+
+import com.azure.ai.agents.models.ActivityProtocolAccessBoundary;
+import com.azure.ai.agents.models.Microsoft365PermissionScopes;
+import com.azure.ai.agents.models.Microsoft365PublishScope;
+import com.azure.core.annotation.Fluent;
+import com.azure.core.annotation.Generated;
+import com.azure.json.JsonReader;
+import com.azure.json.JsonSerializable;
+import com.azure.json.JsonToken;
+import com.azure.json.JsonWriter;
+import java.io.IOException;
+import java.util.List;
+
+/**
+ * The PublishAgentToMicrosoft365Request model.
+ */
+@Fluent
+public final class PublishAgentToMicrosoft365Request implements JsonSerializable {
+
+ /*
+ * Display name used as the published Teams app name. When omitted, the agent name from the route is
+ * used.
+ */
+ @Generated
+ private String agentDisplayName;
+
+ /*
+ * ARM resource id of the Azure Bot Service that fronts this agent in Microsoft Teams. Required for
+ * workspaces on the default bot-based Teams backend; optional for workspaces on the API-based backend.
+ * Must not be supplied when `publishAsAutopilot` is true.
+ */
+ @Generated
+ private String botServiceArmId;
+
+ /*
+ * When true, the agent is published as an autopilot (digital worker) agent: the bot id is taken from
+ * the agent's blueprint identity and the generated Teams manifest is marked as a digital worker.
+ */
+ @Generated
+ private Boolean publishAsAutopilot;
+
+ /*
+ * Activity-protocol access boundaries to apply to the agent when publishing as an autopilot agent.
+ * An empty list clears the existing boundaries. When omitted, the existing boundaries are left
+ * unchanged.
+ */
+ @Generated
+ private List accessBoundaries;
+
+ /*
+ * Exact selection of delegated permission scopes to grant to the autopilot blueprint. May only be
+ * supplied when `publishAsAutopilot` is true. When omitted or empty, the platform's default
+ * permission set is used. Mandatory platform permissions are always granted and are not affected by
+ * this value.
+ */
+ @Generated
+ private List optionalPermissionScopes;
+
+ /*
+ * Publish scope for the Teams app.
+ */
+ @Generated
+ private final Microsoft365PublishScope publishScope;
+
+ /*
+ * Controls how the published agent responds to Teams messages: when true it responds to all messages
+ * on its surfaces, when false only when it is at-mentioned. When omitted, the agent's existing Teams
+ * message-notification setting is left unchanged.
+ */
+ @Generated
+ private Boolean canRespondWithoutMention;
+
+ /*
+ * App version (for example `1.2.3`) written into the Teams manifest. May contain only digits and
+ * periods, must not start with `0`, and must end with a digit. When omitted, a platform default is
+ * used.
+ */
+ @Generated
+ private String appVersion;
+
+ /*
+ * Short, one-line description shown in the Teams app listing.
+ */
+ @Generated
+ private String shortDescription;
+
+ /*
+ * Full description shown on the Teams app details page.
+ */
+ @Generated
+ private String fullDescription;
+
+ /*
+ * Display name of the developer / publisher shown in the Teams app listing.
+ */
+ @Generated
+ private String developerName;
+
+ /*
+ * Developer / publisher website URL shown in the Teams app listing. Must be an https URL.
+ */
+ @Generated
+ private String developerWebsiteUrl;
+
+ /*
+ * Privacy policy URL shown in the Teams app listing. Must be an http or https URL.
+ */
+ @Generated
+ private String privacyUrl;
+
+ /*
+ * Terms-of-use URL shown in the Teams app listing.
+ */
+ @Generated
+ private String termsOfUseUrl;
+
+ /*
+ * Optional base64-encoded PNG used as the color (full-bleed) icon in the Teams app package. Must be a
+ * 192x192 PNG (perfect square, no border or rounded corners). Max 1 MB after decode. When omitted, the
+ * platform default color icon is used.
+ */
+ @Generated
+ private String colorIconBase64;
+
+ /*
+ * Optional base64-encoded PNG used as the outline icon in the Teams app package. Must be a 32x32 PNG.
+ * Max 1 MB after decode. When omitted, the platform default outline icon is used.
+ */
+ @Generated
+ private String outlineIconBase64;
+
+ /**
+ * Creates an instance of PublishAgentToMicrosoft365Request class.
+ *
+ * @param publishScope the publishScope value to set.
+ */
+ @Generated
+ public PublishAgentToMicrosoft365Request(Microsoft365PublishScope publishScope) {
+ this.publishScope = publishScope;
+ }
+
+ /**
+ * Get the agentDisplayName property: Display name used as the published Teams app name. When omitted, the agent
+ * name from the route is
+ * used.
+ *
+ * @return the agentDisplayName value.
+ */
+ @Generated
+ public String getAgentDisplayName() {
+ return this.agentDisplayName;
+ }
+
+ /**
+ * Set the agentDisplayName property: Display name used as the published Teams app name. When omitted, the agent
+ * name from the route is
+ * used.
+ *
+ * @param agentDisplayName the agentDisplayName value to set.
+ * @return the PublishAgentToMicrosoft365Request object itself.
+ */
+ @Generated
+ public PublishAgentToMicrosoft365Request setAgentDisplayName(String agentDisplayName) {
+ this.agentDisplayName = agentDisplayName;
+ return this;
+ }
+
+ /**
+ * Get the botServiceArmId property: ARM resource id of the Azure Bot Service that fronts this agent in Microsoft
+ * Teams. Required for
+ * workspaces on the default bot-based Teams backend; optional for workspaces on the API-based backend.
+ * Must not be supplied when `publishAsAutopilot` is true.
+ *
+ * @return the botServiceArmId value.
+ */
+ @Generated
+ public String getBotServiceArmId() {
+ return this.botServiceArmId;
+ }
+
+ /**
+ * Set the botServiceArmId property: ARM resource id of the Azure Bot Service that fronts this agent in Microsoft
+ * Teams. Required for
+ * workspaces on the default bot-based Teams backend; optional for workspaces on the API-based backend.
+ * Must not be supplied when `publishAsAutopilot` is true.
+ *
+ * @param botServiceArmId the botServiceArmId value to set.
+ * @return the PublishAgentToMicrosoft365Request object itself.
+ */
+ @Generated
+ public PublishAgentToMicrosoft365Request setBotServiceArmId(String botServiceArmId) {
+ this.botServiceArmId = botServiceArmId;
+ return this;
+ }
+
+ /**
+ * Get the publishAsAutopilot property: When true, the agent is published as an autopilot (digital worker) agent:
+ * the bot id is taken from
+ * the agent's blueprint identity and the generated Teams manifest is marked as a digital worker.
+ *
+ * @return the publishAsAutopilot value.
+ */
+ @Generated
+ public Boolean isPublishAsAutopilot() {
+ return this.publishAsAutopilot;
+ }
+
+ /**
+ * Set the publishAsAutopilot property: When true, the agent is published as an autopilot (digital worker) agent:
+ * the bot id is taken from
+ * the agent's blueprint identity and the generated Teams manifest is marked as a digital worker.
+ *
+ * @param publishAsAutopilot the publishAsAutopilot value to set.
+ * @return the PublishAgentToMicrosoft365Request object itself.
+ */
+ @Generated
+ public PublishAgentToMicrosoft365Request setPublishAsAutopilot(Boolean publishAsAutopilot) {
+ this.publishAsAutopilot = publishAsAutopilot;
+ return this;
+ }
+
+ /**
+ * Get the accessBoundaries property: Activity-protocol access boundaries to apply to the agent when publishing as
+ * an autopilot agent.
+ * An empty list clears the existing boundaries. When omitted, the existing boundaries are left
+ * unchanged.
+ *
+ * @return the accessBoundaries value.
+ */
+ @Generated
+ public List getAccessBoundaries() {
+ return this.accessBoundaries;
+ }
+
+ /**
+ * Set the accessBoundaries property: Activity-protocol access boundaries to apply to the agent when publishing as
+ * an autopilot agent.
+ * An empty list clears the existing boundaries. When omitted, the existing boundaries are left
+ * unchanged.
+ *
+ * @param accessBoundaries the accessBoundaries value to set.
+ * @return the PublishAgentToMicrosoft365Request object itself.
+ */
+ @Generated
+ public PublishAgentToMicrosoft365Request
+ setAccessBoundaries(List accessBoundaries) {
+ this.accessBoundaries = accessBoundaries;
+ return this;
+ }
+
+ /**
+ * Get the optionalPermissionScopes property: Exact selection of delegated permission scopes to grant to the
+ * autopilot blueprint. May only be
+ * supplied when `publishAsAutopilot` is true. When omitted or empty, the platform's default
+ * permission set is used. Mandatory platform permissions are always granted and are not affected by
+ * this value.
+ *
+ * @return the optionalPermissionScopes value.
+ */
+ @Generated
+ public List getOptionalPermissionScopes() {
+ return this.optionalPermissionScopes;
+ }
+
+ /**
+ * Set the optionalPermissionScopes property: Exact selection of delegated permission scopes to grant to the
+ * autopilot blueprint. May only be
+ * supplied when `publishAsAutopilot` is true. When omitted or empty, the platform's default
+ * permission set is used. Mandatory platform permissions are always granted and are not affected by
+ * this value.
+ *
+ * @param optionalPermissionScopes the optionalPermissionScopes value to set.
+ * @return the PublishAgentToMicrosoft365Request object itself.
+ */
+ @Generated
+ public PublishAgentToMicrosoft365Request
+ setOptionalPermissionScopes(List optionalPermissionScopes) {
+ this.optionalPermissionScopes = optionalPermissionScopes;
+ return this;
+ }
+
+ /**
+ * Get the publishScope property: Publish scope for the Teams app.
+ *
+ * @return the publishScope value.
+ */
+ @Generated
+ public Microsoft365PublishScope getPublishScope() {
+ return this.publishScope;
+ }
+
+ /**
+ * Get the canRespondWithoutMention property: Controls how the published agent responds to Teams messages: when true
+ * it responds to all messages
+ * on its surfaces, when false only when it is at-mentioned. When omitted, the agent's existing Teams
+ * message-notification setting is left unchanged.
+ *
+ * @return the canRespondWithoutMention value.
+ */
+ @Generated
+ public Boolean isCanRespondWithoutMention() {
+ return this.canRespondWithoutMention;
+ }
+
+ /**
+ * Set the canRespondWithoutMention property: Controls how the published agent responds to Teams messages: when true
+ * it responds to all messages
+ * on its surfaces, when false only when it is at-mentioned. When omitted, the agent's existing Teams
+ * message-notification setting is left unchanged.
+ *
+ * @param canRespondWithoutMention the canRespondWithoutMention value to set.
+ * @return the PublishAgentToMicrosoft365Request object itself.
+ */
+ @Generated
+ public PublishAgentToMicrosoft365Request setCanRespondWithoutMention(Boolean canRespondWithoutMention) {
+ this.canRespondWithoutMention = canRespondWithoutMention;
+ return this;
+ }
+
+ /**
+ * Get the appVersion property: App version (for example `1.2.3`) written into the Teams manifest. May contain only
+ * digits and
+ * periods, must not start with `0`, and must end with a digit. When omitted, a platform default is
+ * used.
+ *
+ * @return the appVersion value.
+ */
+ @Generated
+ public String getAppVersion() {
+ return this.appVersion;
+ }
+
+ /**
+ * Set the appVersion property: App version (for example `1.2.3`) written into the Teams manifest. May contain only
+ * digits and
+ * periods, must not start with `0`, and must end with a digit. When omitted, a platform default is
+ * used.
+ *
+ * @param appVersion the appVersion value to set.
+ * @return the PublishAgentToMicrosoft365Request object itself.
+ */
+ @Generated
+ public PublishAgentToMicrosoft365Request setAppVersion(String appVersion) {
+ this.appVersion = appVersion;
+ return this;
+ }
+
+ /**
+ * Get the shortDescription property: Short, one-line description shown in the Teams app listing.
+ *
+ * @return the shortDescription value.
+ */
+ @Generated
+ public String getShortDescription() {
+ return this.shortDescription;
+ }
+
+ /**
+ * Set the shortDescription property: Short, one-line description shown in the Teams app listing.
+ *
+ * @param shortDescription the shortDescription value to set.
+ * @return the PublishAgentToMicrosoft365Request object itself.
+ */
+ @Generated
+ public PublishAgentToMicrosoft365Request setShortDescription(String shortDescription) {
+ this.shortDescription = shortDescription;
+ return this;
+ }
+
+ /**
+ * Get the fullDescription property: Full description shown on the Teams app details page.
+ *
+ * @return the fullDescription value.
+ */
+ @Generated
+ public String getFullDescription() {
+ return this.fullDescription;
+ }
+
+ /**
+ * Set the fullDescription property: Full description shown on the Teams app details page.
+ *
+ * @param fullDescription the fullDescription value to set.
+ * @return the PublishAgentToMicrosoft365Request object itself.
+ */
+ @Generated
+ public PublishAgentToMicrosoft365Request setFullDescription(String fullDescription) {
+ this.fullDescription = fullDescription;
+ return this;
+ }
+
+ /**
+ * Get the developerName property: Display name of the developer / publisher shown in the Teams app listing.
+ *
+ * @return the developerName value.
+ */
+ @Generated
+ public String getDeveloperName() {
+ return this.developerName;
+ }
+
+ /**
+ * Set the developerName property: Display name of the developer / publisher shown in the Teams app listing.
+ *
+ * @param developerName the developerName value to set.
+ * @return the PublishAgentToMicrosoft365Request object itself.
+ */
+ @Generated
+ public PublishAgentToMicrosoft365Request setDeveloperName(String developerName) {
+ this.developerName = developerName;
+ return this;
+ }
+
+ /**
+ * Get the developerWebsiteUrl property: Developer / publisher website URL shown in the Teams app listing. Must be
+ * an https URL.
+ *
+ * @return the developerWebsiteUrl value.
+ */
+ @Generated
+ public String getDeveloperWebsiteUrl() {
+ return this.developerWebsiteUrl;
+ }
+
+ /**
+ * Set the developerWebsiteUrl property: Developer / publisher website URL shown in the Teams app listing. Must be
+ * an https URL.
+ *
+ * @param developerWebsiteUrl the developerWebsiteUrl value to set.
+ * @return the PublishAgentToMicrosoft365Request object itself.
+ */
+ @Generated
+ public PublishAgentToMicrosoft365Request setDeveloperWebsiteUrl(String developerWebsiteUrl) {
+ this.developerWebsiteUrl = developerWebsiteUrl;
+ return this;
+ }
+
+ /**
+ * Get the privacyUrl property: Privacy policy URL shown in the Teams app listing. Must be an http or https URL.
+ *
+ * @return the privacyUrl value.
+ */
+ @Generated
+ public String getPrivacyUrl() {
+ return this.privacyUrl;
+ }
+
+ /**
+ * Set the privacyUrl property: Privacy policy URL shown in the Teams app listing. Must be an http or https URL.
+ *
+ * @param privacyUrl the privacyUrl value to set.
+ * @return the PublishAgentToMicrosoft365Request object itself.
+ */
+ @Generated
+ public PublishAgentToMicrosoft365Request setPrivacyUrl(String privacyUrl) {
+ this.privacyUrl = privacyUrl;
+ return this;
+ }
+
+ /**
+ * Get the termsOfUseUrl property: Terms-of-use URL shown in the Teams app listing.
+ *
+ * @return the termsOfUseUrl value.
+ */
+ @Generated
+ public String getTermsOfUseUrl() {
+ return this.termsOfUseUrl;
+ }
+
+ /**
+ * Set the termsOfUseUrl property: Terms-of-use URL shown in the Teams app listing.
+ *
+ * @param termsOfUseUrl the termsOfUseUrl value to set.
+ * @return the PublishAgentToMicrosoft365Request object itself.
+ */
+ @Generated
+ public PublishAgentToMicrosoft365Request setTermsOfUseUrl(String termsOfUseUrl) {
+ this.termsOfUseUrl = termsOfUseUrl;
+ return this;
+ }
+
+ /**
+ * Get the colorIconBase64 property: Optional base64-encoded PNG used as the color (full-bleed) icon in the Teams
+ * app package. Must be a
+ * 192x192 PNG (perfect square, no border or rounded corners). Max 1 MB after decode. When omitted, the
+ * platform default color icon is used.
+ *
+ * @return the colorIconBase64 value.
+ */
+ @Generated
+ public String getColorIconBase64() {
+ return this.colorIconBase64;
+ }
+
+ /**
+ * Set the colorIconBase64 property: Optional base64-encoded PNG used as the color (full-bleed) icon in the Teams
+ * app package. Must be a
+ * 192x192 PNG (perfect square, no border or rounded corners). Max 1 MB after decode. When omitted, the
+ * platform default color icon is used.
+ *
+ * @param colorIconBase64 the colorIconBase64 value to set.
+ * @return the PublishAgentToMicrosoft365Request object itself.
+ */
+ @Generated
+ public PublishAgentToMicrosoft365Request setColorIconBase64(String colorIconBase64) {
+ this.colorIconBase64 = colorIconBase64;
+ return this;
+ }
+
+ /**
+ * Get the outlineIconBase64 property: Optional base64-encoded PNG used as the outline icon in the Teams app
+ * package. Must be a 32x32 PNG.
+ * Max 1 MB after decode. When omitted, the platform default outline icon is used.
+ *
+ * @return the outlineIconBase64 value.
+ */
+ @Generated
+ public String getOutlineIconBase64() {
+ return this.outlineIconBase64;
+ }
+
+ /**
+ * Set the outlineIconBase64 property: Optional base64-encoded PNG used as the outline icon in the Teams app
+ * package. Must be a 32x32 PNG.
+ * Max 1 MB after decode. When omitted, the platform default outline icon is used.
+ *
+ * @param outlineIconBase64 the outlineIconBase64 value to set.
+ * @return the PublishAgentToMicrosoft365Request object itself.
+ */
+ @Generated
+ public PublishAgentToMicrosoft365Request setOutlineIconBase64(String outlineIconBase64) {
+ this.outlineIconBase64 = outlineIconBase64;
+ return this;
+ }
+
+ /**
+ * {@inheritDoc}
+ */
+ @Generated
+ @Override
+ public JsonWriter toJson(JsonWriter jsonWriter) throws IOException {
+ jsonWriter.writeStartObject();
+ jsonWriter.writeStringField("publishScope", this.publishScope == null ? null : this.publishScope.toString());
+ jsonWriter.writeStringField("agentDisplayName", this.agentDisplayName);
+ jsonWriter.writeStringField("botServiceArmId", this.botServiceArmId);
+ jsonWriter.writeBooleanField("publishAsAutopilot", this.publishAsAutopilot);
+ jsonWriter.writeArrayField("accessBoundaries", this.accessBoundaries,
+ (writer, element) -> writer.writeString(element == null ? null : element.toString()));
+ jsonWriter.writeArrayField("optionalPermissionScopes", this.optionalPermissionScopes,
+ (writer, element) -> writer.writeJson(element));
+ jsonWriter.writeBooleanField("canRespondWithoutMention", this.canRespondWithoutMention);
+ jsonWriter.writeStringField("appVersion", this.appVersion);
+ jsonWriter.writeStringField("shortDescription", this.shortDescription);
+ jsonWriter.writeStringField("fullDescription", this.fullDescription);
+ jsonWriter.writeStringField("developerName", this.developerName);
+ jsonWriter.writeStringField("developerWebsiteUrl", this.developerWebsiteUrl);
+ jsonWriter.writeStringField("privacyUrl", this.privacyUrl);
+ jsonWriter.writeStringField("termsOfUseUrl", this.termsOfUseUrl);
+ jsonWriter.writeStringField("colorIconBase64", this.colorIconBase64);
+ jsonWriter.writeStringField("outlineIconBase64", this.outlineIconBase64);
+ return jsonWriter.writeEndObject();
+ }
+
+ /**
+ * Reads an instance of PublishAgentToMicrosoft365Request from the JsonReader.
+ *
+ * @param jsonReader The JsonReader being read.
+ * @return An instance of PublishAgentToMicrosoft365Request if the JsonReader was pointing to an instance of it, or
+ * null if it was pointing to JSON null.
+ * @throws IllegalStateException If the deserialized JSON object was missing any required properties.
+ * @throws IOException If an error occurs while reading the PublishAgentToMicrosoft365Request.
+ */
+ @Generated
+ public static PublishAgentToMicrosoft365Request fromJson(JsonReader jsonReader) throws IOException {
+ return jsonReader.readObject(reader -> {
+ Microsoft365PublishScope publishScope = null;
+ String agentDisplayName = null;
+ String botServiceArmId = null;
+ Boolean publishAsAutopilot = null;
+ List accessBoundaries = null;
+ List optionalPermissionScopes = null;
+ Boolean canRespondWithoutMention = null;
+ String appVersion = null;
+ String shortDescription = null;
+ String fullDescription = null;
+ String developerName = null;
+ String developerWebsiteUrl = null;
+ String privacyUrl = null;
+ String termsOfUseUrl = null;
+ String colorIconBase64 = null;
+ String outlineIconBase64 = null;
+ while (reader.nextToken() != JsonToken.END_OBJECT) {
+ String fieldName = reader.getFieldName();
+ reader.nextToken();
+ if ("publishScope".equals(fieldName)) {
+ publishScope = Microsoft365PublishScope.fromString(reader.getString());
+ } else if ("agentDisplayName".equals(fieldName)) {
+ agentDisplayName = reader.getString();
+ } else if ("botServiceArmId".equals(fieldName)) {
+ botServiceArmId = reader.getString();
+ } else if ("publishAsAutopilot".equals(fieldName)) {
+ publishAsAutopilot = reader.getNullable(JsonReader::getBoolean);
+ } else if ("accessBoundaries".equals(fieldName)) {
+ accessBoundaries
+ = reader.readArray(reader1 -> ActivityProtocolAccessBoundary.fromString(reader1.getString()));
+ } else if ("optionalPermissionScopes".equals(fieldName)) {
+ optionalPermissionScopes
+ = reader.readArray(reader1 -> Microsoft365PermissionScopes.fromJson(reader1));
+ } else if ("canRespondWithoutMention".equals(fieldName)) {
+ canRespondWithoutMention = reader.getNullable(JsonReader::getBoolean);
+ } else if ("appVersion".equals(fieldName)) {
+ appVersion = reader.getString();
+ } else if ("shortDescription".equals(fieldName)) {
+ shortDescription = reader.getString();
+ } else if ("fullDescription".equals(fieldName)) {
+ fullDescription = reader.getString();
+ } else if ("developerName".equals(fieldName)) {
+ developerName = reader.getString();
+ } else if ("developerWebsiteUrl".equals(fieldName)) {
+ developerWebsiteUrl = reader.getString();
+ } else if ("privacyUrl".equals(fieldName)) {
+ privacyUrl = reader.getString();
+ } else if ("termsOfUseUrl".equals(fieldName)) {
+ termsOfUseUrl = reader.getString();
+ } else if ("colorIconBase64".equals(fieldName)) {
+ colorIconBase64 = reader.getString();
+ } else if ("outlineIconBase64".equals(fieldName)) {
+ outlineIconBase64 = reader.getString();
+ } else {
+ reader.skipChildren();
+ }
+ }
+ PublishAgentToMicrosoft365Request deserializedPublishAgentToMicrosoft365Request
+ = new PublishAgentToMicrosoft365Request(publishScope);
+ deserializedPublishAgentToMicrosoft365Request.agentDisplayName = agentDisplayName;
+ deserializedPublishAgentToMicrosoft365Request.botServiceArmId = botServiceArmId;
+ deserializedPublishAgentToMicrosoft365Request.publishAsAutopilot = publishAsAutopilot;
+ deserializedPublishAgentToMicrosoft365Request.accessBoundaries = accessBoundaries;
+ deserializedPublishAgentToMicrosoft365Request.optionalPermissionScopes = optionalPermissionScopes;
+ deserializedPublishAgentToMicrosoft365Request.canRespondWithoutMention = canRespondWithoutMention;
+ deserializedPublishAgentToMicrosoft365Request.appVersion = appVersion;
+ deserializedPublishAgentToMicrosoft365Request.shortDescription = shortDescription;
+ deserializedPublishAgentToMicrosoft365Request.fullDescription = fullDescription;
+ deserializedPublishAgentToMicrosoft365Request.developerName = developerName;
+ deserializedPublishAgentToMicrosoft365Request.developerWebsiteUrl = developerWebsiteUrl;
+ deserializedPublishAgentToMicrosoft365Request.privacyUrl = privacyUrl;
+ deserializedPublishAgentToMicrosoft365Request.termsOfUseUrl = termsOfUseUrl;
+ deserializedPublishAgentToMicrosoft365Request.colorIconBase64 = colorIconBase64;
+ deserializedPublishAgentToMicrosoft365Request.outlineIconBase64 = outlineIconBase64;
+ return deserializedPublishAgentToMicrosoft365Request;
+ });
+ }
+}
diff --git a/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/implementation/models/UpdateAgentRequest.java b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/implementation/models/UpdateAgentRequest.java
index 1c8428911f01..2952de6cc1b5 100644
--- a/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/implementation/models/UpdateAgentRequest.java
+++ b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/implementation/models/UpdateAgentRequest.java
@@ -38,7 +38,7 @@ public final class UpdateAgentRequest implements JsonSerializable {
+
+ /**
+ * Allows read access to one-on-one developer conversations.
+ */
+ @Generated
+ public static final ActivityProtocolAccessBoundary READ_1ON1_DEVELOPERS = fromString("read.1on1.developers");
+
+ /**
+ * Allows read access to one-on-one manager conversations.
+ */
+ @Generated
+ public static final ActivityProtocolAccessBoundary READ_1ON1_MANAGER = fromString("read.1on1.manager");
+
+ /**
+ * Allows read access to allowlisted one-on-one conversations.
+ */
+ @Generated
+ public static final ActivityProtocolAccessBoundary READ_1ON1_ALLOWLISTED = fromString("read.1on1.allowlisted");
+
+ /**
+ * Allows read access to tenant-wide one-on-one conversations.
+ */
+ @Generated
+ public static final ActivityProtocolAccessBoundary READ_1ON1_TENANT = fromString("read.1on1.tenant");
+
+ /**
+ * Allows write access to one-on-one developer conversations.
+ */
+ @Generated
+ public static final ActivityProtocolAccessBoundary WRITE_1ON1_DEVELOPERS = fromString("write.1on1.developers");
+
+ /**
+ * Allows write access to one-on-one manager conversations.
+ */
+ @Generated
+ public static final ActivityProtocolAccessBoundary WRITE_1ON1_MANAGER = fromString("write.1on1.manager");
+
+ /**
+ * Allows write access to allowlisted one-on-one conversations.
+ */
+ @Generated
+ public static final ActivityProtocolAccessBoundary WRITE_1ON1_ALLOWLISTED = fromString("write.1on1.allowlisted");
+
+ /**
+ * Allows write access to tenant-wide one-on-one conversations.
+ */
+ @Generated
+ public static final ActivityProtocolAccessBoundary WRITE_1ON1_TENANT = fromString("write.1on1.tenant");
+
+ /**
+ * Allows read access to developer group conversations.
+ */
+ @Generated
+ public static final ActivityProtocolAccessBoundary READ_GROUP_DEVELOPERS = fromString("read.group.developers");
+
+ /**
+ * Allows read access to allowlisted group conversations.
+ */
+ @Generated
+ public static final ActivityProtocolAccessBoundary READ_GROUP_ALLOWLISTED = fromString("read.group.allowlisted");
+
+ /**
+ * Allows read access to group conversations where a manager is invited.
+ */
+ @Generated
+ public static final ActivityProtocolAccessBoundary READ_GROUP_MANAGER_INVITED
+ = fromString("read.group.manager-invited");
+
+ /**
+ * Allows read access to group conversations where a manager is present.
+ */
+ @Generated
+ public static final ActivityProtocolAccessBoundary READ_GROUP_MANAGER_PRESENT
+ = fromString("read.group.manager-present");
+
+ /**
+ * Allows read access to tenant-wide group conversations.
+ */
+ @Generated
+ public static final ActivityProtocolAccessBoundary READ_GROUP_TENANT = fromString("read.group.tenant");
+
+ /**
+ * Allows write access to developer group conversations.
+ */
+ @Generated
+ public static final ActivityProtocolAccessBoundary WRITE_GROUP_DEVELOPERS = fromString("write.group.developers");
+
+ /**
+ * Allows write access to allowlisted group conversations.
+ */
+ @Generated
+ public static final ActivityProtocolAccessBoundary WRITE_GROUP_ALLOWLISTED = fromString("write.group.allowlisted");
+
+ /**
+ * Allows write access to group conversations where a manager is invited.
+ */
+ @Generated
+ public static final ActivityProtocolAccessBoundary WRITE_GROUP_MANAGER_INVITED
+ = fromString("write.group.manager-invited");
+
+ /**
+ * Allows write access to group conversations where a manager is present.
+ */
+ @Generated
+ public static final ActivityProtocolAccessBoundary WRITE_GROUP_MANAGER_PRESENT
+ = fromString("write.group.manager-present");
+
+ /**
+ * Allows write access to tenant-wide group conversations.
+ */
+ @Generated
+ public static final ActivityProtocolAccessBoundary WRITE_GROUP_TENANT = fromString("write.group.tenant");
+
+ /**
+ * Creates a new instance of ActivityProtocolAccessBoundary value.
+ *
+ * @deprecated Use the {@link #fromString(String)} factory method.
+ */
+ @Generated
+ @Deprecated
+ public ActivityProtocolAccessBoundary() {
+ }
+
+ /**
+ * Creates or finds a ActivityProtocolAccessBoundary from its string representation.
+ *
+ * @param name a name to look for.
+ * @return the corresponding ActivityProtocolAccessBoundary.
+ */
+ @Generated
+ public static ActivityProtocolAccessBoundary fromString(String name) {
+ return fromString(name, ActivityProtocolAccessBoundary.class);
+ }
+
+ /**
+ * Gets known ActivityProtocolAccessBoundary values.
+ *
+ * @return known ActivityProtocolAccessBoundary values.
+ */
+ @Generated
+ public static Collection values() {
+ return values(ActivityProtocolAccessBoundary.class);
+ }
+}
diff --git a/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/ActivityProtocolConfiguration.java b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/ActivityProtocolConfiguration.java
index 985c6bc9d460..893808bec292 100644
--- a/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/ActivityProtocolConfiguration.java
+++ b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/ActivityProtocolConfiguration.java
@@ -12,6 +12,7 @@
import com.azure.json.JsonWriter;
import java.io.IOException;
import java.util.HashSet;
+import java.util.List;
import java.util.Set;
/**
@@ -135,6 +136,10 @@ public static ActivityProtocolConfiguration fromJson(JsonReader jsonReader) thro
if ("enable_m365_public_endpoint".equals(fieldName)) {
deserializedActivityProtocolConfiguration.enableM365PublicEndpoint
= reader.getNullable(JsonReader::getBoolean);
+ } else if ("access_boundaries".equals(fieldName)) {
+ List accessBoundaries
+ = reader.readArray(reader1 -> ActivityProtocolAccessBoundary.fromString(reader1.getString()));
+ deserializedActivityProtocolConfiguration.accessBoundaries = accessBoundaries;
} else {
reader.skipChildren();
}
@@ -142,4 +147,20 @@ public static ActivityProtocolConfiguration fromJson(JsonReader jsonReader) thro
return deserializedActivityProtocolConfiguration;
});
}
+
+ /*
+ * The access boundaries for the activity protocol.
+ */
+ @Generated
+ private List accessBoundaries;
+
+ /**
+ * Get the accessBoundaries property: The access boundaries for the activity protocol.
+ *
+ * @return the accessBoundaries value.
+ */
+ @Generated
+ public List getAccessBoundaries() {
+ return this.accessBoundaries;
+ }
}
diff --git a/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/AgentDetails.java b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/AgentDetails.java
index 313f74052e0f..6904f2273e71 100644
--- a/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/AgentDetails.java
+++ b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/AgentDetails.java
@@ -3,6 +3,7 @@
// Code generated by Microsoft (R) TypeSpec Code Generator.
package com.azure.ai.agents.models;
+import com.azure.ai.agents.implementation.utils.Beta;
import com.azure.core.annotation.Generated;
import com.azure.core.annotation.Immutable;
import com.azure.json.JsonReader;
@@ -77,6 +78,8 @@ public JsonWriter toJson(JsonWriter jsonWriter) throws IOException {
jsonWriter.writeStringField("name", this.name);
jsonWriter.writeJsonField("versions", this.versions);
jsonWriter.writeJsonField("agent_endpoint", this.agentEndpoint);
+ jsonWriter.writeStringField("digital_worker_type",
+ this.digitalWorkerType == null ? null : this.digitalWorkerType.toString());
jsonWriter.writeJsonField("agent_card", this.agentCard);
return jsonWriter.writeEndObject();
}
@@ -99,6 +102,7 @@ public static AgentDetails fromJson(JsonReader jsonReader) throws IOException {
AgentDetailsVersions versions = null;
AgentStateSource stateSource = null;
AgentEndpointConfig agentEndpoint = null;
+ DigitalWorkerType digitalWorkerType = null;
AgentIdentity instanceIdentity = null;
AgentIdentity blueprintIdentity = null;
AgentBlueprintReference blueprintReference = null;
@@ -118,6 +122,8 @@ public static AgentDetails fromJson(JsonReader jsonReader) throws IOException {
stateSource = AgentStateSource.fromString(reader.getString());
} else if ("agent_endpoint".equals(fieldName)) {
agentEndpoint = AgentEndpointConfig.fromJson(reader);
+ } else if ("digital_worker_type".equals(fieldName)) {
+ digitalWorkerType = DigitalWorkerType.fromString(reader.getString());
} else if ("instance_identity".equals(fieldName)) {
instanceIdentity = AgentIdentity.fromJson(reader);
} else if ("blueprint".equals(fieldName)) {
@@ -134,6 +140,7 @@ public static AgentDetails fromJson(JsonReader jsonReader) throws IOException {
deserializedAgentDetails.state = state;
deserializedAgentDetails.stateSource = stateSource;
deserializedAgentDetails.agentEndpoint = agentEndpoint;
+ deserializedAgentDetails.digitalWorkerType = digitalWorkerType;
deserializedAgentDetails.instanceIdentity = instanceIdentity;
deserializedAgentDetails.blueprintIdentity = blueprintIdentity;
deserializedAgentDetails.blueprintReference = blueprintReference;
@@ -286,4 +293,23 @@ public AgentState getState() {
public AgentStateSource getStateSource() {
return this.stateSource;
}
+
+ /*
+ * (Preview) The type of digital worker (previously known as `autopilot`). If omitted, it is not a digital worker.
+ */
+ @Generated
+ @Beta(warningText = "Preview API. DigitalWorker=V1Preview")
+ private DigitalWorkerType digitalWorkerType;
+
+ /**
+ * Get the digitalWorkerType property: (Preview) The type of digital worker (previously known as `autopilot`). If
+ * omitted, it is not a digital worker.
+ *
+ * @return the digitalWorkerType value.
+ */
+ @Generated
+ @Beta(warningText = "Preview API. DigitalWorker=V1Preview")
+ public DigitalWorkerType getDigitalWorkerType() {
+ return this.digitalWorkerType;
+ }
}
diff --git a/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/AgentEndpointConfig.java b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/AgentEndpointConfig.java
index 8546055e82cc..5c7740b8a011 100644
--- a/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/AgentEndpointConfig.java
+++ b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/AgentEndpointConfig.java
@@ -196,6 +196,9 @@ public static AgentEndpointConfig fromJson(JsonReader jsonReader) throws IOExcep
List authorizationSchemes
= reader.readArray(reader1 -> AgentEndpointAuthorizationScheme.fromJson(reader1));
deserializedAgentEndpointConfig.authorizationSchemes = authorizationSchemes;
+ } else if ("publish_approval_status".equals(fieldName)) {
+ deserializedAgentEndpointConfig.publishApprovalStatus
+ = PublishApprovalStatus.fromString(reader.getString());
} else {
reader.skipChildren();
}
@@ -232,4 +235,26 @@ public AgentEndpointConfig setProtocolConfiguration(ProtocolConfiguration protoc
this.updatedProperties.add("protocolConfiguration");
return this;
}
+
+ /*
+ * The Microsoft Agent Certification review status of the Microsoft 365 store title published for this agent.
+ * Server-populated and best-effort: it is absent when the status could not be determined, and an absent value must
+ * not be interpreted as the agent not being published. No value is terminal, because publishing a new version of an
+ * agent reuses the same store title and sends it back through review.
+ */
+ @Generated
+ private PublishApprovalStatus publishApprovalStatus;
+
+ /**
+ * Get the publishApprovalStatus property: The Microsoft Agent Certification review status of the Microsoft 365
+ * store title published for this agent. Server-populated and best-effort: it is absent when the status could not be
+ * determined, and an absent value must not be interpreted as the agent not being published. No value is terminal,
+ * because publishing a new version of an agent reuses the same store title and sends it back through review.
+ *
+ * @return the publishApprovalStatus value.
+ */
+ @Generated
+ public PublishApprovalStatus getPublishApprovalStatus() {
+ return this.publishApprovalStatus;
+ }
}
diff --git a/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/AgentOptimizationDatasetItem.java b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/AgentOptimizationDatasetItem.java
index e77c05b97b28..49c207326a7b 100644
--- a/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/AgentOptimizationDatasetItem.java
+++ b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/AgentOptimizationDatasetItem.java
@@ -32,12 +32,6 @@ public final class AgentOptimizationDatasetItem implements JsonSerializable writer.writeJson(element));
return jsonWriter.writeEndObject();
}
@@ -173,7 +145,8 @@ public static AgentOptimizationDatasetItem fromJson(JsonReader jsonReader) throw
} else if ("ground_truth".equals(fieldName)) {
deserializedAgentOptimizationDatasetItem.groundTruth = reader.getString();
} else if ("desired_num_turns".equals(fieldName)) {
- deserializedAgentOptimizationDatasetItem.desiredNumTurns = reader.getNullable(JsonReader::getInt);
+ deserializedAgentOptimizationDatasetItem.desiredNumberTurns
+ = reader.getNullable(JsonReader::getInt);
} else if ("criteria".equals(fieldName)) {
List criteria
= reader.readArray(reader1 -> AgentOptimizationDatasetCriterion.fromJson(reader1));
@@ -185,4 +158,32 @@ public static AgentOptimizationDatasetItem fromJson(JsonReader jsonReader) throw
return deserializedAgentOptimizationDatasetItem;
});
}
+
+ /*
+ * Desired number of conversation turns for simulation mode (1-20).
+ */
+ @Generated
+ private Integer desiredNumberTurns;
+
+ /**
+ * Get the desiredNumberTurns property: Desired number of conversation turns for simulation mode (1-20).
+ *
+ * @return the desiredNumberTurns value.
+ */
+ @Generated
+ public Integer getDesiredNumberTurns() {
+ return this.desiredNumberTurns;
+ }
+
+ /**
+ * Set the desiredNumberTurns property: Desired number of conversation turns for simulation mode (1-20).
+ *
+ * @param desiredNumberTurns the desiredNumberTurns value to set.
+ * @return the AgentOptimizationDatasetItem object itself.
+ */
+ @Generated
+ public AgentOptimizationDatasetItem setDesiredNumberTurns(Integer desiredNumberTurns) {
+ this.desiredNumberTurns = desiredNumberTurns;
+ return this;
+ }
}
diff --git a/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/AgentOptimizationEvaluatorRef.java b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/AgentOptimizationEvaluatorReference.java
similarity index 71%
rename from sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/AgentOptimizationEvaluatorRef.java
rename to sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/AgentOptimizationEvaluatorReference.java
index 5a2b93ebd0d8..36d73868702f 100644
--- a/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/AgentOptimizationEvaluatorRef.java
+++ b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/AgentOptimizationEvaluatorReference.java
@@ -17,7 +17,8 @@
*/
@Fluent
@Beta(warningText = "Preview API. AgentsOptimization=V2Preview")
-public final class AgentOptimizationEvaluatorRef implements JsonSerializable {
+public final class AgentOptimizationEvaluatorReference
+ implements JsonSerializable {
/*
* Evaluator name.
@@ -32,12 +33,12 @@ public final class AgentOptimizationEvaluatorRef implements JsonSerializable {
String name = null;
String version = null;
@@ -110,10 +111,10 @@ public static AgentOptimizationEvaluatorRef fromJson(JsonReader jsonReader) thro
reader.skipChildren();
}
}
- AgentOptimizationEvaluatorRef deserializedAgentOptimizationEvaluatorRef
- = new AgentOptimizationEvaluatorRef(name);
- deserializedAgentOptimizationEvaluatorRef.version = version;
- return deserializedAgentOptimizationEvaluatorRef;
+ AgentOptimizationEvaluatorReference deserializedAgentOptimizationEvaluatorReference
+ = new AgentOptimizationEvaluatorReference(name);
+ deserializedAgentOptimizationEvaluatorReference.version = version;
+ return deserializedAgentOptimizationEvaluatorReference;
});
}
}
diff --git a/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/AgentOptimizationJobInputs.java b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/AgentOptimizationJobInputs.java
index 872ccc525865..63f794a603f6 100644
--- a/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/AgentOptimizationJobInputs.java
+++ b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/AgentOptimizationJobInputs.java
@@ -42,7 +42,7 @@ public final class AgentOptimizationJobInputs implements JsonSerializable evaluators;
+ private final List evaluators;
/*
* Tuning knobs and run-mode.
@@ -59,7 +59,7 @@ public final class AgentOptimizationJobInputs implements JsonSerializable evaluators) {
+ List evaluators) {
this.agent = agent;
this.trainDataset = trainDataset;
this.evaluators = evaluators;
@@ -117,7 +117,7 @@ public AgentOptimizationJobInputs setValidationDataset(AgentOptimizationDatasetI
* @return the evaluators value.
*/
@Generated
- public List getEvaluators() {
+ public List getEvaluators() {
return this.evaluators;
}
@@ -172,7 +172,7 @@ public static AgentOptimizationJobInputs fromJson(JsonReader jsonReader) throws
return jsonReader.readObject(reader -> {
OptimizedAgentIdentifier agent = null;
AgentOptimizationDatasetInput trainDataset = null;
- List evaluators = null;
+ List evaluators = null;
AgentOptimizationDatasetInput validationDataset = null;
AgentOptimizationOptions options = null;
while (reader.nextToken() != JsonToken.END_OBJECT) {
@@ -183,7 +183,7 @@ public static AgentOptimizationJobInputs fromJson(JsonReader jsonReader) throws
} else if ("train_dataset".equals(fieldName)) {
trainDataset = AgentOptimizationDatasetInput.fromJson(reader);
} else if ("evaluators".equals(fieldName)) {
- evaluators = reader.readArray(reader1 -> AgentOptimizationEvaluatorRef.fromJson(reader1));
+ evaluators = reader.readArray(reader1 -> AgentOptimizationEvaluatorReference.fromJson(reader1));
} else if ("validation_dataset".equals(fieldName)) {
validationDataset = AgentOptimizationDatasetInput.fromJson(reader);
} else if ("options".equals(fieldName)) {
diff --git a/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/AgentOptimizationJobProgress.java b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/AgentOptimizationJobProgress.java
index 8bf11b642fc2..c0e8b5c5a82d 100644
--- a/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/AgentOptimizationJobProgress.java
+++ b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/AgentOptimizationJobProgress.java
@@ -11,6 +11,7 @@
import com.azure.json.JsonToken;
import com.azure.json.JsonWriter;
import java.io.IOException;
+import java.time.Duration;
/**
* In-flight progress; only populated while status is queued or in_progress.
@@ -31,26 +32,6 @@ public final class AgentOptimizationJobProgress implements JsonSerializable {
int candidatesCompleted = 0;
double bestScore = 0.0;
- double elapsedSeconds = 0.0;
+ Duration elapsed = null;
while (reader.nextToken() != JsonToken.END_OBJECT) {
String fieldName = reader.getFieldName();
reader.nextToken();
@@ -117,12 +88,46 @@ public static AgentOptimizationJobProgress fromJson(JsonReader jsonReader) throw
} else if ("best_score".equals(fieldName)) {
bestScore = reader.getDouble();
} else if ("elapsed_seconds".equals(fieldName)) {
- elapsedSeconds = reader.getDouble();
+ elapsed = Duration.ofNanos((long) (reader.getDouble() * 1000_000_000L));
} else {
reader.skipChildren();
}
}
- return new AgentOptimizationJobProgress(candidatesCompleted, bestScore, elapsedSeconds);
+ return new AgentOptimizationJobProgress(candidatesCompleted, bestScore, elapsed);
});
}
+
+ /*
+ * Wall-clock time elapsed in seconds since the job began executing.
+ */
+ @Generated
+ private final double elapsed;
+
+ /**
+ * Get the elapsed property: Wall-clock time elapsed in seconds since the job began executing.
+ *
+ * @return the elapsed value.
+ */
+ @Generated
+ public Duration getElapsed() {
+ return Duration.ofNanos((long) (this.elapsed * 1000_000_000L));
+ }
+
+ /**
+ * Creates an instance of AgentOptimizationJobProgress class.
+ *
+ * @param candidatesCompleted the candidatesCompleted value to set.
+ * @param bestScore the bestScore value to set.
+ * @param elapsed the elapsed value to set.
+ */
+ @Generated
+ private AgentOptimizationJobProgress(int candidatesCompleted, double bestScore, Duration elapsed) {
+ this.candidatesCompleted = candidatesCompleted;
+ this.bestScore = bestScore;
+ if (elapsed == null) {
+ this.elapsed = 0.0;
+ } else {
+ this.elapsed = (double) elapsed.toNanos() / 1000_000_000L;
+ }
+ }
}
diff --git a/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/AzureCreateResponseDetails.java b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/AzureCreateResponseDetails.java
index 30a507bd3980..7c13c542c5d6 100644
--- a/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/AzureCreateResponseDetails.java
+++ b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/AzureCreateResponseDetails.java
@@ -3,6 +3,7 @@
// Code generated by Microsoft (R) TypeSpec Code Generator.
package com.azure.ai.agents.models;
+import com.azure.ai.agents.implementation.utils.Beta;
import com.azure.core.annotation.Generated;
import com.azure.core.annotation.Immutable;
import com.azure.json.JsonReader;
@@ -51,6 +52,7 @@ public AgentReference getAgentReference() {
public JsonWriter toJson(JsonWriter jsonWriter) throws IOException {
jsonWriter.writeStartObject();
jsonWriter.writeJsonField("agent_reference", this.agentReference);
+ jsonWriter.writeJsonField("model_selection_details", this.modelSelectionDetails);
return jsonWriter.writeEndObject();
}
@@ -67,16 +69,42 @@ public JsonWriter toJson(JsonWriter jsonWriter) throws IOException {
public static AzureCreateResponseDetails fromJson(JsonReader jsonReader) throws IOException {
return jsonReader.readObject(reader -> {
AgentReference agentReference = null;
+ ModelSelectionDetails modelSelectionDetails = null;
while (reader.nextToken() != JsonToken.END_OBJECT) {
String fieldName = reader.getFieldName();
reader.nextToken();
if ("agent_reference".equals(fieldName)) {
agentReference = AgentReference.fromJson(reader);
+ } else if ("model_selection_details".equals(fieldName)) {
+ modelSelectionDetails = ModelSelectionDetails.fromJson(reader);
} else {
reader.skipChildren();
}
}
- return new AzureCreateResponseDetails(agentReference);
+ AzureCreateResponseDetails deserializedAzureCreateResponseDetails
+ = new AzureCreateResponseDetails(agentReference);
+ deserializedAzureCreateResponseDetails.modelSelectionDetails = modelSelectionDetails;
+ return deserializedAzureCreateResponseDetails;
});
}
+
+ /*
+ * Model selection metadata providing visibility into routing decisions. Present when the request was handled by
+ * Model Router.
+ */
+ @Generated
+ @Beta(warningText = "Preview API. ModelRouterControls=V1Preview")
+ private ModelSelectionDetails modelSelectionDetails;
+
+ /**
+ * Get the modelSelectionDetails property: Model selection metadata providing visibility into routing decisions.
+ * Present when the request was handled by Model Router.
+ *
+ * @return the modelSelectionDetails value.
+ */
+ @Generated
+ @Beta(warningText = "Preview API. ModelRouterControls=V1Preview")
+ public ModelSelectionDetails getModelSelectionDetails() {
+ return this.modelSelectionDetails;
+ }
}
diff --git a/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/CreateAgentVersionInput.java b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/CreateAgentVersionInput.java
index 8bc5ee275f4b..87f25ed3d4ce 100644
--- a/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/CreateAgentVersionInput.java
+++ b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/CreateAgentVersionInput.java
@@ -37,10 +37,11 @@ public final class CreateAgentVersionInput implements JsonSerializable writer.writeString(element));
jsonWriter.writeStringField("description", this.description);
jsonWriter.writeJsonField("blueprint_reference", this.blueprintReference);
+ jsonWriter.writeStringField("digital_worker_type",
+ this.digitalWorkerType == null ? null : this.digitalWorkerType.toString());
jsonWriter.writeBooleanField("draft", this.draft);
return jsonWriter.writeEndObject();
}
@@ -178,6 +182,7 @@ public static CreateAgentVersionInput fromJson(JsonReader jsonReader) throws IOE
Map metadata = null;
String description = null;
AgentBlueprintReference blueprintReference = null;
+ DigitalWorkerType digitalWorkerType = null;
Boolean draft = null;
while (reader.nextToken() != JsonToken.END_OBJECT) {
String fieldName = reader.getFieldName();
@@ -190,6 +195,8 @@ public static CreateAgentVersionInput fromJson(JsonReader jsonReader) throws IOE
description = reader.getString();
} else if ("blueprint_reference".equals(fieldName)) {
blueprintReference = AgentBlueprintReference.fromJson(reader);
+ } else if ("digital_worker_type".equals(fieldName)) {
+ digitalWorkerType = DigitalWorkerType.fromString(reader.getString());
} else if ("draft".equals(fieldName)) {
draft = reader.getNullable(JsonReader::getBoolean);
} else {
@@ -200,6 +207,7 @@ public static CreateAgentVersionInput fromJson(JsonReader jsonReader) throws IOE
deserializedCreateAgentVersionInput.metadata = metadata;
deserializedCreateAgentVersionInput.description = description;
deserializedCreateAgentVersionInput.blueprintReference = blueprintReference;
+ deserializedCreateAgentVersionInput.digitalWorkerType = digitalWorkerType;
deserializedCreateAgentVersionInput.draft = draft;
return deserializedCreateAgentVersionInput;
});
@@ -241,4 +249,37 @@ public CreateAgentVersionInput setDraft(Boolean draft) {
this.draft = draft;
return this;
}
+
+ /*
+ * (Preview) The type of digital worker (previously known as `autopilot`). If omitted, it is not a digital worker.
+ */
+ @Generated
+ @Beta(warningText = "Preview API. DigitalWorker=V1Preview")
+ private DigitalWorkerType digitalWorkerType;
+
+ /**
+ * Get the digitalWorkerType property: (Preview) The type of digital worker (previously known as `autopilot`). If
+ * omitted, it is not a digital worker.
+ *
+ * @return the digitalWorkerType value.
+ */
+ @Generated
+ @Beta(warningText = "Preview API. DigitalWorker=V1Preview")
+ public DigitalWorkerType getDigitalWorkerType() {
+ return this.digitalWorkerType;
+ }
+
+ /**
+ * Set the digitalWorkerType property: (Preview) The type of digital worker (previously known as `autopilot`). If
+ * omitted, it is not a digital worker.
+ *
+ * @param digitalWorkerType the digitalWorkerType value to set.
+ * @return the CreateAgentVersionInput object itself.
+ */
+ @Generated
+ @Beta(warningText = "Preview API. DigitalWorker=V1Preview")
+ public CreateAgentVersionInput setDigitalWorkerType(DigitalWorkerType digitalWorkerType) {
+ this.digitalWorkerType = digitalWorkerType;
+ return this;
+ }
}
diff --git a/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/CreateAgentVersionOptions.java b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/CreateAgentVersionOptions.java
new file mode 100644
index 000000000000..f0392b01e9ee
--- /dev/null
+++ b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/CreateAgentVersionOptions.java
@@ -0,0 +1,230 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) TypeSpec Code Generator.
+package com.azure.ai.agents.models;
+
+import com.azure.core.annotation.Fluent;
+import com.azure.core.annotation.Generated;
+import java.util.Map;
+
+/**
+ * Options for createAgentVersion API.
+ */
+@Fluent
+public final class CreateAgentVersionOptions {
+
+ /*
+ * The unique name that identifies the agent. Name can be used to retrieve/update/delete the agent.
+ * - Must start and end with alphanumeric characters,
+ * - Can contain hyphens in the middle
+ * - Must not exceed 63 characters.
+ */
+ @Generated
+ private final String agentName;
+
+ /*
+ * Set of 16 key-value pairs that can be attached to an object. This can be
+ * useful for storing additional information about the object in a structured
+ * format, and querying for objects via API or the dashboard.
+ *
+ * Keys are strings with a maximum length of 64 characters. Values are strings
+ * with a maximum length of 512 characters.
+ */
+ @Generated
+ private Map metadata;
+
+ /*
+ * A human-readable description of the agent.
+ */
+ @Generated
+ private String description;
+
+ /*
+ * The agent definition. This can be a prompt, workflow, hosted, external, or voice agent definition.
+ */
+ @Generated
+ private final AgentDefinition definition;
+
+ /*
+ * The blueprint reference for the agent.
+ */
+ @Generated
+ private AgentBlueprintReference blueprintReference;
+
+ /*
+ * (Preview) The type of digital worker (previously known as `autopilot`). If omitted, it is not a digital worker.
+ */
+ @Generated
+ private DigitalWorkerType digitalWorkerType;
+
+ /*
+ * (Preview) Whether this agent version is a draft (candidate) rather than a release. The service defaults to
+ * `false` if a value is not specified by the caller. Draft versions are recorded but excluded from default 'latest'
+ * resolution and are not auto-promoted.
+ */
+ @Generated
+ private Boolean draft;
+
+ /**
+ * Creates an instance of CreateAgentVersionOptions class.
+ *
+ * @param agentName the agentName value to set.
+ * @param definition the definition value to set.
+ */
+ @Generated
+ public CreateAgentVersionOptions(String agentName, AgentDefinition definition) {
+ this.agentName = agentName;
+ this.definition = definition;
+ }
+
+ /**
+ * Get the agentName property: The unique name that identifies the agent. Name can be used to retrieve/update/delete
+ * the agent.
+ * - Must start and end with alphanumeric characters,
+ * - Can contain hyphens in the middle
+ * - Must not exceed 63 characters.
+ *
+ * @return the agentName value.
+ */
+ @Generated
+ public String getAgentName() {
+ return this.agentName;
+ }
+
+ /**
+ * Get the metadata property: Set of 16 key-value pairs that can be attached to an object. This can be
+ * useful for storing additional information about the object in a structured
+ * format, and querying for objects via API or the dashboard.
+ *
+ * Keys are strings with a maximum length of 64 characters. Values are strings
+ * with a maximum length of 512 characters.
+ *
+ * @return the metadata value.
+ */
+ @Generated
+ public Map getMetadata() {
+ return this.metadata;
+ }
+
+ /**
+ * Set the metadata property: Set of 16 key-value pairs that can be attached to an object. This can be
+ * useful for storing additional information about the object in a structured
+ * format, and querying for objects via API or the dashboard.
+ *
+ * Keys are strings with a maximum length of 64 characters. Values are strings
+ * with a maximum length of 512 characters.
+ *
+ * @param metadata the metadata value to set.
+ * @return the CreateAgentVersionOptions object itself.
+ */
+ @Generated
+ public CreateAgentVersionOptions setMetadata(Map metadata) {
+ this.metadata = metadata;
+ return this;
+ }
+
+ /**
+ * Get the description property: A human-readable description of the agent.
+ *
+ * @return the description value.
+ */
+ @Generated
+ public String getDescription() {
+ return this.description;
+ }
+
+ /**
+ * Set the description property: A human-readable description of the agent.
+ *
+ * @param description the description value to set.
+ * @return the CreateAgentVersionOptions object itself.
+ */
+ @Generated
+ public CreateAgentVersionOptions setDescription(String description) {
+ this.description = description;
+ return this;
+ }
+
+ /**
+ * Get the definition property: The agent definition. This can be a prompt, workflow, hosted, external, or voice
+ * agent definition.
+ *
+ * @return the definition value.
+ */
+ @Generated
+ public AgentDefinition getDefinition() {
+ return this.definition;
+ }
+
+ /**
+ * Get the blueprintReference property: The blueprint reference for the agent.
+ *
+ * @return the blueprintReference value.
+ */
+ @Generated
+ public AgentBlueprintReference getBlueprintReference() {
+ return this.blueprintReference;
+ }
+
+ /**
+ * Set the blueprintReference property: The blueprint reference for the agent.
+ *
+ * @param blueprintReference the blueprintReference value to set.
+ * @return the CreateAgentVersionOptions object itself.
+ */
+ @Generated
+ public CreateAgentVersionOptions setBlueprintReference(AgentBlueprintReference blueprintReference) {
+ this.blueprintReference = blueprintReference;
+ return this;
+ }
+
+ /**
+ * Get the digitalWorkerType property: (Preview) The type of digital worker (previously known as `autopilot`). If
+ * omitted, it is not a digital worker.
+ *
+ * @return the digitalWorkerType value.
+ */
+ @Generated
+ public DigitalWorkerType getDigitalWorkerType() {
+ return this.digitalWorkerType;
+ }
+
+ /**
+ * Set the digitalWorkerType property: (Preview) The type of digital worker (previously known as `autopilot`). If
+ * omitted, it is not a digital worker.
+ *
+ * @param digitalWorkerType the digitalWorkerType value to set.
+ * @return the CreateAgentVersionOptions object itself.
+ */
+ @Generated
+ public CreateAgentVersionOptions setDigitalWorkerType(DigitalWorkerType digitalWorkerType) {
+ this.digitalWorkerType = digitalWorkerType;
+ return this;
+ }
+
+ /**
+ * Get the draft property: (Preview) Whether this agent version is a draft (candidate) rather than a release. The
+ * service defaults to `false` if a value is not specified by the caller. Draft versions are recorded but excluded
+ * from default 'latest' resolution and are not auto-promoted.
+ *
+ * @return the draft value.
+ */
+ @Generated
+ public Boolean isDraft() {
+ return this.draft;
+ }
+
+ /**
+ * Set the draft property: (Preview) Whether this agent version is a draft (candidate) rather than a release. The
+ * service defaults to `false` if a value is not specified by the caller. Draft versions are recorded but excluded
+ * from default 'latest' resolution and are not auto-promoted.
+ *
+ * @param draft the draft value to set.
+ * @return the CreateAgentVersionOptions object itself.
+ */
+ @Generated
+ public CreateAgentVersionOptions setDraft(Boolean draft) {
+ this.draft = draft;
+ return this;
+ }
+}
diff --git a/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/DigitalWorkerType.java b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/DigitalWorkerType.java
new file mode 100644
index 000000000000..24ab8fa1fe76
--- /dev/null
+++ b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/DigitalWorkerType.java
@@ -0,0 +1,51 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) TypeSpec Code Generator.
+package com.azure.ai.agents.models;
+
+import com.azure.core.annotation.Generated;
+import com.azure.core.util.ExpandableStringEnum;
+import java.util.Collection;
+
+/**
+ * The type of digital worker.
+ */
+public final class DigitalWorkerType extends ExpandableStringEnum {
+
+ /**
+ * A Microsoft 365 digital worker.
+ */
+ @Generated
+ public static final DigitalWorkerType M365 = fromString("m365");
+
+ /**
+ * Creates a new instance of DigitalWorkerType value.
+ *
+ * @deprecated Use the {@link #fromString(String)} factory method.
+ */
+ @Generated
+ @Deprecated
+ public DigitalWorkerType() {
+ }
+
+ /**
+ * Creates or finds a DigitalWorkerType from its string representation.
+ *
+ * @param name a name to look for.
+ * @return the corresponding DigitalWorkerType.
+ */
+ @Generated
+ public static DigitalWorkerType fromString(String name) {
+ return fromString(name, DigitalWorkerType.class);
+ }
+
+ /**
+ * Gets known DigitalWorkerType values.
+ *
+ * @return known DigitalWorkerType values.
+ */
+ @Generated
+ public static Collection values() {
+ return values(DigitalWorkerType.class);
+ }
+}
diff --git a/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/GetMicrosoft365AppPackageOptions.java b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/GetMicrosoft365AppPackageOptions.java
new file mode 100644
index 000000000000..68b1c3571f09
--- /dev/null
+++ b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/GetMicrosoft365AppPackageOptions.java
@@ -0,0 +1,548 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) TypeSpec Code Generator.
+package com.azure.ai.agents.models;
+
+import com.azure.core.annotation.Fluent;
+import com.azure.core.annotation.Generated;
+import java.util.List;
+
+/**
+ * Options for getMicrosoft365AppPackage API.
+ */
+@Fluent
+public final class GetMicrosoft365AppPackageOptions {
+
+ /*
+ * The name of the agent to generate the app package for.
+ */
+ @Generated
+ private final String agentName;
+
+ /*
+ * Display name used as the published Teams app name. When omitted, the agent name from the route is
+ * used.
+ */
+ @Generated
+ private String agentDisplayName;
+
+ /*
+ * ARM resource id of the Azure Bot Service that fronts this agent in Microsoft Teams. Required for
+ * workspaces on the default bot-based Teams backend; optional for workspaces on the API-based backend.
+ * Must not be supplied when `publishAsAutopilot` is true.
+ */
+ @Generated
+ private String botServiceArmId;
+
+ /*
+ * When true, the agent is published as an autopilot (digital worker) agent: the bot id is taken from
+ * the agent's blueprint identity and the generated Teams manifest is marked as a digital worker.
+ */
+ @Generated
+ private Boolean publishAsAutopilot;
+
+ /*
+ * Activity-protocol access boundaries to apply to the agent when publishing as an autopilot agent.
+ * An empty list clears the existing boundaries. When omitted, the existing boundaries are left
+ * unchanged.
+ */
+ @Generated
+ private List accessBoundaries;
+
+ /*
+ * Exact selection of delegated permission scopes to grant to the autopilot blueprint. May only be
+ * supplied when `publishAsAutopilot` is true. When omitted or empty, the platform's default
+ * permission set is used. Mandatory platform permissions are always granted and are not affected by
+ * this value.
+ */
+ @Generated
+ private List optionalPermissionScopes;
+
+ /*
+ * Publish scope for the Teams app.
+ */
+ @Generated
+ private final Microsoft365PublishScope publishScope;
+
+ /*
+ * Controls how the published agent responds to Teams messages: when true it responds to all messages
+ * on its surfaces, when false only when it is at-mentioned. When omitted, the agent's existing Teams
+ * message-notification setting is left unchanged.
+ */
+ @Generated
+ private Boolean canRespondWithoutMention;
+
+ /*
+ * App version (for example `1.2.3`) written into the Teams manifest. May contain only digits and
+ * periods, must not start with `0`, and must end with a digit. When omitted, a platform default is
+ * used.
+ */
+ @Generated
+ private String appVersion;
+
+ /*
+ * Short, one-line description shown in the Teams app listing.
+ */
+ @Generated
+ private String shortDescription;
+
+ /*
+ * Full description shown on the Teams app details page.
+ */
+ @Generated
+ private String fullDescription;
+
+ /*
+ * Display name of the developer / publisher shown in the Teams app listing.
+ */
+ @Generated
+ private String developerName;
+
+ /*
+ * Developer / publisher website URL shown in the Teams app listing. Must be an https URL.
+ */
+ @Generated
+ private String developerWebsiteUrl;
+
+ /*
+ * Privacy policy URL shown in the Teams app listing. Must be an http or https URL.
+ */
+ @Generated
+ private String privacyUrl;
+
+ /*
+ * Terms-of-use URL shown in the Teams app listing.
+ */
+ @Generated
+ private String termsOfUseUrl;
+
+ /*
+ * Optional base64-encoded PNG used as the color (full-bleed) icon in the Teams app package. Must be a
+ * 192x192 PNG (perfect square, no border or rounded corners). Max 1 MB after decode. When omitted, the
+ * platform default color icon is used.
+ */
+ @Generated
+ private String colorIconBase64;
+
+ /*
+ * Optional base64-encoded PNG used as the outline icon in the Teams app package. Must be a 32x32 PNG.
+ * Max 1 MB after decode. When omitted, the platform default outline icon is used.
+ */
+ @Generated
+ private String outlineIconBase64;
+
+ /**
+ * Creates an instance of GetMicrosoft365AppPackageOptions class.
+ *
+ * @param agentName the agentName value to set.
+ * @param publishScope the publishScope value to set.
+ */
+ @Generated
+ public GetMicrosoft365AppPackageOptions(String agentName, Microsoft365PublishScope publishScope) {
+ this.agentName = agentName;
+ this.publishScope = publishScope;
+ }
+
+ /**
+ * Get the agentName property: The name of the agent to generate the app package for.
+ *
+ * @return the agentName value.
+ */
+ @Generated
+ public String getAgentName() {
+ return this.agentName;
+ }
+
+ /**
+ * Get the agentDisplayName property: Display name used as the published Teams app name. When omitted, the agent
+ * name from the route is
+ * used.
+ *
+ * @return the agentDisplayName value.
+ */
+ @Generated
+ public String getAgentDisplayName() {
+ return this.agentDisplayName;
+ }
+
+ /**
+ * Set the agentDisplayName property: Display name used as the published Teams app name. When omitted, the agent
+ * name from the route is
+ * used.
+ *
+ * @param agentDisplayName the agentDisplayName value to set.
+ * @return the GetMicrosoft365AppPackageOptions object itself.
+ */
+ @Generated
+ public GetMicrosoft365AppPackageOptions setAgentDisplayName(String agentDisplayName) {
+ this.agentDisplayName = agentDisplayName;
+ return this;
+ }
+
+ /**
+ * Get the botServiceArmId property: ARM resource id of the Azure Bot Service that fronts this agent in Microsoft
+ * Teams. Required for
+ * workspaces on the default bot-based Teams backend; optional for workspaces on the API-based backend.
+ * Must not be supplied when `publishAsAutopilot` is true.
+ *
+ * @return the botServiceArmId value.
+ */
+ @Generated
+ public String getBotServiceArmId() {
+ return this.botServiceArmId;
+ }
+
+ /**
+ * Set the botServiceArmId property: ARM resource id of the Azure Bot Service that fronts this agent in Microsoft
+ * Teams. Required for
+ * workspaces on the default bot-based Teams backend; optional for workspaces on the API-based backend.
+ * Must not be supplied when `publishAsAutopilot` is true.
+ *
+ * @param botServiceArmId the botServiceArmId value to set.
+ * @return the GetMicrosoft365AppPackageOptions object itself.
+ */
+ @Generated
+ public GetMicrosoft365AppPackageOptions setBotServiceArmId(String botServiceArmId) {
+ this.botServiceArmId = botServiceArmId;
+ return this;
+ }
+
+ /**
+ * Get the publishAsAutopilot property: When true, the agent is published as an autopilot (digital worker) agent:
+ * the bot id is taken from
+ * the agent's blueprint identity and the generated Teams manifest is marked as a digital worker.
+ *
+ * @return the publishAsAutopilot value.
+ */
+ @Generated
+ public Boolean isPublishAsAutopilot() {
+ return this.publishAsAutopilot;
+ }
+
+ /**
+ * Set the publishAsAutopilot property: When true, the agent is published as an autopilot (digital worker) agent:
+ * the bot id is taken from
+ * the agent's blueprint identity and the generated Teams manifest is marked as a digital worker.
+ *
+ * @param publishAsAutopilot the publishAsAutopilot value to set.
+ * @return the GetMicrosoft365AppPackageOptions object itself.
+ */
+ @Generated
+ public GetMicrosoft365AppPackageOptions setPublishAsAutopilot(Boolean publishAsAutopilot) {
+ this.publishAsAutopilot = publishAsAutopilot;
+ return this;
+ }
+
+ /**
+ * Get the accessBoundaries property: Activity-protocol access boundaries to apply to the agent when publishing as
+ * an autopilot agent.
+ * An empty list clears the existing boundaries. When omitted, the existing boundaries are left
+ * unchanged.
+ *
+ * @return the accessBoundaries value.
+ */
+ @Generated
+ public List getAccessBoundaries() {
+ return this.accessBoundaries;
+ }
+
+ /**
+ * Set the accessBoundaries property: Activity-protocol access boundaries to apply to the agent when publishing as
+ * an autopilot agent.
+ * An empty list clears the existing boundaries. When omitted, the existing boundaries are left
+ * unchanged.
+ *
+ * @param accessBoundaries the accessBoundaries value to set.
+ * @return the GetMicrosoft365AppPackageOptions object itself.
+ */
+ @Generated
+ public GetMicrosoft365AppPackageOptions setAccessBoundaries(List accessBoundaries) {
+ this.accessBoundaries = accessBoundaries;
+ return this;
+ }
+
+ /**
+ * Get the optionalPermissionScopes property: Exact selection of delegated permission scopes to grant to the
+ * autopilot blueprint. May only be
+ * supplied when `publishAsAutopilot` is true. When omitted or empty, the platform's default
+ * permission set is used. Mandatory platform permissions are always granted and are not affected by
+ * this value.
+ *
+ * @return the optionalPermissionScopes value.
+ */
+ @Generated
+ public List getOptionalPermissionScopes() {
+ return this.optionalPermissionScopes;
+ }
+
+ /**
+ * Set the optionalPermissionScopes property: Exact selection of delegated permission scopes to grant to the
+ * autopilot blueprint. May only be
+ * supplied when `publishAsAutopilot` is true. When omitted or empty, the platform's default
+ * permission set is used. Mandatory platform permissions are always granted and are not affected by
+ * this value.
+ *
+ * @param optionalPermissionScopes the optionalPermissionScopes value to set.
+ * @return the GetMicrosoft365AppPackageOptions object itself.
+ */
+ @Generated
+ public GetMicrosoft365AppPackageOptions
+ setOptionalPermissionScopes(List optionalPermissionScopes) {
+ this.optionalPermissionScopes = optionalPermissionScopes;
+ return this;
+ }
+
+ /**
+ * Get the publishScope property: Publish scope for the Teams app.
+ *
+ * @return the publishScope value.
+ */
+ @Generated
+ public Microsoft365PublishScope getPublishScope() {
+ return this.publishScope;
+ }
+
+ /**
+ * Get the canRespondWithoutMention property: Controls how the published agent responds to Teams messages: when true
+ * it responds to all messages
+ * on its surfaces, when false only when it is at-mentioned. When omitted, the agent's existing Teams
+ * message-notification setting is left unchanged.
+ *
+ * @return the canRespondWithoutMention value.
+ */
+ @Generated
+ public Boolean isCanRespondWithoutMention() {
+ return this.canRespondWithoutMention;
+ }
+
+ /**
+ * Set the canRespondWithoutMention property: Controls how the published agent responds to Teams messages: when true
+ * it responds to all messages
+ * on its surfaces, when false only when it is at-mentioned. When omitted, the agent's existing Teams
+ * message-notification setting is left unchanged.
+ *
+ * @param canRespondWithoutMention the canRespondWithoutMention value to set.
+ * @return the GetMicrosoft365AppPackageOptions object itself.
+ */
+ @Generated
+ public GetMicrosoft365AppPackageOptions setCanRespondWithoutMention(Boolean canRespondWithoutMention) {
+ this.canRespondWithoutMention = canRespondWithoutMention;
+ return this;
+ }
+
+ /**
+ * Get the appVersion property: App version (for example `1.2.3`) written into the Teams manifest. May contain only
+ * digits and
+ * periods, must not start with `0`, and must end with a digit. When omitted, a platform default is
+ * used.
+ *
+ * @return the appVersion value.
+ */
+ @Generated
+ public String getAppVersion() {
+ return this.appVersion;
+ }
+
+ /**
+ * Set the appVersion property: App version (for example `1.2.3`) written into the Teams manifest. May contain only
+ * digits and
+ * periods, must not start with `0`, and must end with a digit. When omitted, a platform default is
+ * used.
+ *
+ * @param appVersion the appVersion value to set.
+ * @return the GetMicrosoft365AppPackageOptions object itself.
+ */
+ @Generated
+ public GetMicrosoft365AppPackageOptions setAppVersion(String appVersion) {
+ this.appVersion = appVersion;
+ return this;
+ }
+
+ /**
+ * Get the shortDescription property: Short, one-line description shown in the Teams app listing.
+ *
+ * @return the shortDescription value.
+ */
+ @Generated
+ public String getShortDescription() {
+ return this.shortDescription;
+ }
+
+ /**
+ * Set the shortDescription property: Short, one-line description shown in the Teams app listing.
+ *
+ * @param shortDescription the shortDescription value to set.
+ * @return the GetMicrosoft365AppPackageOptions object itself.
+ */
+ @Generated
+ public GetMicrosoft365AppPackageOptions setShortDescription(String shortDescription) {
+ this.shortDescription = shortDescription;
+ return this;
+ }
+
+ /**
+ * Get the fullDescription property: Full description shown on the Teams app details page.
+ *
+ * @return the fullDescription value.
+ */
+ @Generated
+ public String getFullDescription() {
+ return this.fullDescription;
+ }
+
+ /**
+ * Set the fullDescription property: Full description shown on the Teams app details page.
+ *
+ * @param fullDescription the fullDescription value to set.
+ * @return the GetMicrosoft365AppPackageOptions object itself.
+ */
+ @Generated
+ public GetMicrosoft365AppPackageOptions setFullDescription(String fullDescription) {
+ this.fullDescription = fullDescription;
+ return this;
+ }
+
+ /**
+ * Get the developerName property: Display name of the developer / publisher shown in the Teams app listing.
+ *
+ * @return the developerName value.
+ */
+ @Generated
+ public String getDeveloperName() {
+ return this.developerName;
+ }
+
+ /**
+ * Set the developerName property: Display name of the developer / publisher shown in the Teams app listing.
+ *
+ * @param developerName the developerName value to set.
+ * @return the GetMicrosoft365AppPackageOptions object itself.
+ */
+ @Generated
+ public GetMicrosoft365AppPackageOptions setDeveloperName(String developerName) {
+ this.developerName = developerName;
+ return this;
+ }
+
+ /**
+ * Get the developerWebsiteUrl property: Developer / publisher website URL shown in the Teams app listing. Must be
+ * an https URL.
+ *
+ * @return the developerWebsiteUrl value.
+ */
+ @Generated
+ public String getDeveloperWebsiteUrl() {
+ return this.developerWebsiteUrl;
+ }
+
+ /**
+ * Set the developerWebsiteUrl property: Developer / publisher website URL shown in the Teams app listing. Must be
+ * an https URL.
+ *
+ * @param developerWebsiteUrl the developerWebsiteUrl value to set.
+ * @return the GetMicrosoft365AppPackageOptions object itself.
+ */
+ @Generated
+ public GetMicrosoft365AppPackageOptions setDeveloperWebsiteUrl(String developerWebsiteUrl) {
+ this.developerWebsiteUrl = developerWebsiteUrl;
+ return this;
+ }
+
+ /**
+ * Get the privacyUrl property: Privacy policy URL shown in the Teams app listing. Must be an http or https URL.
+ *
+ * @return the privacyUrl value.
+ */
+ @Generated
+ public String getPrivacyUrl() {
+ return this.privacyUrl;
+ }
+
+ /**
+ * Set the privacyUrl property: Privacy policy URL shown in the Teams app listing. Must be an http or https URL.
+ *
+ * @param privacyUrl the privacyUrl value to set.
+ * @return the GetMicrosoft365AppPackageOptions object itself.
+ */
+ @Generated
+ public GetMicrosoft365AppPackageOptions setPrivacyUrl(String privacyUrl) {
+ this.privacyUrl = privacyUrl;
+ return this;
+ }
+
+ /**
+ * Get the termsOfUseUrl property: Terms-of-use URL shown in the Teams app listing.
+ *
+ * @return the termsOfUseUrl value.
+ */
+ @Generated
+ public String getTermsOfUseUrl() {
+ return this.termsOfUseUrl;
+ }
+
+ /**
+ * Set the termsOfUseUrl property: Terms-of-use URL shown in the Teams app listing.
+ *
+ * @param termsOfUseUrl the termsOfUseUrl value to set.
+ * @return the GetMicrosoft365AppPackageOptions object itself.
+ */
+ @Generated
+ public GetMicrosoft365AppPackageOptions setTermsOfUseUrl(String termsOfUseUrl) {
+ this.termsOfUseUrl = termsOfUseUrl;
+ return this;
+ }
+
+ /**
+ * Get the colorIconBase64 property: Optional base64-encoded PNG used as the color (full-bleed) icon in the Teams
+ * app package. Must be a
+ * 192x192 PNG (perfect square, no border or rounded corners). Max 1 MB after decode. When omitted, the
+ * platform default color icon is used.
+ *
+ * @return the colorIconBase64 value.
+ */
+ @Generated
+ public String getColorIconBase64() {
+ return this.colorIconBase64;
+ }
+
+ /**
+ * Set the colorIconBase64 property: Optional base64-encoded PNG used as the color (full-bleed) icon in the Teams
+ * app package. Must be a
+ * 192x192 PNG (perfect square, no border or rounded corners). Max 1 MB after decode. When omitted, the
+ * platform default color icon is used.
+ *
+ * @param colorIconBase64 the colorIconBase64 value to set.
+ * @return the GetMicrosoft365AppPackageOptions object itself.
+ */
+ @Generated
+ public GetMicrosoft365AppPackageOptions setColorIconBase64(String colorIconBase64) {
+ this.colorIconBase64 = colorIconBase64;
+ return this;
+ }
+
+ /**
+ * Get the outlineIconBase64 property: Optional base64-encoded PNG used as the outline icon in the Teams app
+ * package. Must be a 32x32 PNG.
+ * Max 1 MB after decode. When omitted, the platform default outline icon is used.
+ *
+ * @return the outlineIconBase64 value.
+ */
+ @Generated
+ public String getOutlineIconBase64() {
+ return this.outlineIconBase64;
+ }
+
+ /**
+ * Set the outlineIconBase64 property: Optional base64-encoded PNG used as the outline icon in the Teams app
+ * package. Must be a 32x32 PNG.
+ * Max 1 MB after decode. When omitted, the platform default outline icon is used.
+ *
+ * @param outlineIconBase64 the outlineIconBase64 value to set.
+ * @return the GetMicrosoft365AppPackageOptions object itself.
+ */
+ @Generated
+ public GetMicrosoft365AppPackageOptions setOutlineIconBase64(String outlineIconBase64) {
+ this.outlineIconBase64 = outlineIconBase64;
+ return this;
+ }
+}
diff --git a/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/HostedAgentDefinition.java b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/HostedAgentDefinition.java
index 4257eea7a167..bd8467c1ba4a 100644
--- a/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/HostedAgentDefinition.java
+++ b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/HostedAgentDefinition.java
@@ -123,6 +123,7 @@ public JsonWriter toJson(JsonWriter jsonWriter) throws IOException {
(writer, element) -> writer.writeJson(element));
jsonWriter.writeJsonField("code_configuration", this.codeConfiguration);
jsonWriter.writeJsonField("telemetry_config", this.telemetryConfig);
+ jsonWriter.writeJsonField("session_configuration", this.sessionConfiguration);
return jsonWriter.writeEndObject();
}
@@ -147,6 +148,7 @@ public static HostedAgentDefinition fromJson(JsonReader jsonReader) throws IOExc
List protocolVersions = null;
CodeConfiguration codeConfiguration = null;
TelemetryConfig telemetryConfig = null;
+ SessionConfiguration sessionConfiguration = null;
while (reader.nextToken() != JsonToken.END_OBJECT) {
String fieldName = reader.getFieldName();
reader.nextToken();
@@ -168,6 +170,8 @@ public static HostedAgentDefinition fromJson(JsonReader jsonReader) throws IOExc
codeConfiguration = CodeConfiguration.fromJson(reader);
} else if ("telemetry_config".equals(fieldName)) {
telemetryConfig = TelemetryConfig.fromJson(reader);
+ } else if ("session_configuration".equals(fieldName)) {
+ sessionConfiguration = SessionConfiguration.fromJson(reader);
} else {
reader.skipChildren();
}
@@ -180,6 +184,7 @@ public static HostedAgentDefinition fromJson(JsonReader jsonReader) throws IOExc
deserializedHostedAgentDefinition.protocolVersions = protocolVersions;
deserializedHostedAgentDefinition.codeConfiguration = codeConfiguration;
deserializedHostedAgentDefinition.telemetryConfig = telemetryConfig;
+ deserializedHostedAgentDefinition.sessionConfiguration = sessionConfiguration;
return deserializedHostedAgentDefinition;
});
}
@@ -315,4 +320,34 @@ public HostedAgentDefinition setTelemetryConfig(TelemetryConfig telemetryConfig)
this.telemetryConfig = telemetryConfig;
return this;
}
+
+ /*
+ * Optional session defaults (for example, the idle timeout) applied to sessions created for this agent version.
+ */
+ @Generated
+ private SessionConfiguration sessionConfiguration;
+
+ /**
+ * Get the sessionConfiguration property: Optional session defaults (for example, the idle timeout) applied to
+ * sessions created for this agent version.
+ *
+ * @return the sessionConfiguration value.
+ */
+ @Generated
+ public SessionConfiguration getSessionConfiguration() {
+ return this.sessionConfiguration;
+ }
+
+ /**
+ * Set the sessionConfiguration property: Optional session defaults (for example, the idle timeout) applied to
+ * sessions created for this agent version.
+ *
+ * @param sessionConfiguration the sessionConfiguration value to set.
+ * @return the HostedAgentDefinition object itself.
+ */
+ @Generated
+ public HostedAgentDefinition setSessionConfiguration(SessionConfiguration sessionConfiguration) {
+ this.sessionConfiguration = sessionConfiguration;
+ return this;
+ }
}
diff --git a/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/Microsoft365PermissionScopes.java b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/Microsoft365PermissionScopes.java
new file mode 100644
index 000000000000..a9eaf77e0793
--- /dev/null
+++ b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/Microsoft365PermissionScopes.java
@@ -0,0 +1,105 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) TypeSpec Code Generator.
+package com.azure.ai.agents.models;
+
+import com.azure.core.annotation.Generated;
+import com.azure.core.annotation.Immutable;
+import com.azure.json.JsonReader;
+import com.azure.json.JsonSerializable;
+import com.azure.json.JsonToken;
+import com.azure.json.JsonWriter;
+import java.io.IOException;
+import java.util.List;
+
+/**
+ * A set of delegated permission scopes requested from a single resource application.
+ */
+@Immutable
+public final class Microsoft365PermissionScopes implements JsonSerializable {
+
+ /*
+ * Application id of the resource that exposes the requested delegated scopes.
+ */
+ @Generated
+ private final String resourceAppId;
+
+ /*
+ * Delegated scope names requested from the resource application. Must not be empty.
+ */
+ @Generated
+ private final List scopes;
+
+ /**
+ * Creates an instance of Microsoft365PermissionScopes class.
+ *
+ * @param resourceAppId the resourceAppId value to set.
+ * @param scopes the scopes value to set.
+ */
+ @Generated
+ public Microsoft365PermissionScopes(String resourceAppId, List scopes) {
+ this.resourceAppId = resourceAppId;
+ this.scopes = scopes;
+ }
+
+ /**
+ * Get the resourceAppId property: Application id of the resource that exposes the requested delegated scopes.
+ *
+ * @return the resourceAppId value.
+ */
+ @Generated
+ public String getResourceAppId() {
+ return this.resourceAppId;
+ }
+
+ /**
+ * Get the scopes property: Delegated scope names requested from the resource application. Must not be empty.
+ *
+ * @return the scopes value.
+ */
+ @Generated
+ public List getScopes() {
+ return this.scopes;
+ }
+
+ /**
+ * {@inheritDoc}
+ */
+ @Generated
+ @Override
+ public JsonWriter toJson(JsonWriter jsonWriter) throws IOException {
+ jsonWriter.writeStartObject();
+ jsonWriter.writeStringField("resourceAppId", this.resourceAppId);
+ jsonWriter.writeArrayField("scopes", this.scopes, (writer, element) -> writer.writeString(element));
+ return jsonWriter.writeEndObject();
+ }
+
+ /**
+ * Reads an instance of Microsoft365PermissionScopes from the JsonReader.
+ *
+ * @param jsonReader The JsonReader being read.
+ * @return An instance of Microsoft365PermissionScopes if the JsonReader was pointing to an instance of it, or null
+ * if it was pointing to JSON null.
+ * @throws IllegalStateException If the deserialized JSON object was missing any required properties.
+ * @throws IOException If an error occurs while reading the Microsoft365PermissionScopes.
+ */
+ @Generated
+ public static Microsoft365PermissionScopes fromJson(JsonReader jsonReader) throws IOException {
+ return jsonReader.readObject(reader -> {
+ String resourceAppId = null;
+ List scopes = null;
+ while (reader.nextToken() != JsonToken.END_OBJECT) {
+ String fieldName = reader.getFieldName();
+ reader.nextToken();
+ if ("resourceAppId".equals(fieldName)) {
+ resourceAppId = reader.getString();
+ } else if ("scopes".equals(fieldName)) {
+ scopes = reader.readArray(reader1 -> reader1.getString());
+ } else {
+ reader.skipChildren();
+ }
+ }
+ return new Microsoft365PermissionScopes(resourceAppId, scopes);
+ });
+ }
+}
diff --git a/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/Microsoft365PublishDefaults.java b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/Microsoft365PublishDefaults.java
new file mode 100644
index 000000000000..9b92306607c8
--- /dev/null
+++ b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/Microsoft365PublishDefaults.java
@@ -0,0 +1,352 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) TypeSpec Code Generator.
+package com.azure.ai.agents.models;
+
+import com.azure.core.annotation.Generated;
+import com.azure.core.annotation.Immutable;
+import com.azure.json.JsonReader;
+import com.azure.json.JsonSerializable;
+import com.azure.json.JsonToken;
+import com.azure.json.JsonWriter;
+import java.io.IOException;
+
+/**
+ * Default and previously-published values used to pre-populate a Microsoft 365 publish request for a
+ * Foundry agent.
+ */
+@Immutable
+public final class Microsoft365PublishDefaults implements JsonSerializable {
+
+ /*
+ * The publish scope.
+ */
+ @Generated
+ private Microsoft365PublishScope appPublishScope;
+
+ /*
+ * The agent name.
+ */
+ @Generated
+ private String agentName;
+
+ /*
+ * The user-facing display name for the agent. Defaults to the agent name if not previously
+ * overridden.
+ */
+ @Generated
+ private String agentDisplayName;
+
+ /*
+ * The app-registration client id associated with the agent.
+ */
+ @Generated
+ private String appRegistrationClientId;
+
+ /*
+ * ARM resource id of the Azure Bot Service associated with the previously-published app, if any.
+ */
+ @Generated
+ private String botServiceArmId;
+
+ /*
+ * The most recently published app version.
+ */
+ @Generated
+ private String appVersion;
+
+ /*
+ * The recommended next app version (the most recent app version, incremented).
+ */
+ @Generated
+ private String recommendedNextAppVersion;
+
+ /*
+ * The Microsoft 365 title id of the previously-published app, if any.
+ */
+ @Generated
+ private String titleId;
+
+ /*
+ * The Microsoft Teams app id of the previously-published app, if any.
+ */
+ @Generated
+ private String teamsAppId;
+
+ /*
+ * Short, one-line description shown in the Teams app listing.
+ */
+ @Generated
+ private String shortDescription;
+
+ /*
+ * Full description shown on the Teams app details page.
+ */
+ @Generated
+ private String fullDescription;
+
+ /*
+ * Display name of the developer / publisher.
+ */
+ @Generated
+ private String developerName;
+
+ /*
+ * Developer / publisher website URL.
+ */
+ @Generated
+ private String developerWebsiteUrl;
+
+ /*
+ * Privacy policy URL.
+ */
+ @Generated
+ private String privacyUrl;
+
+ /*
+ * Terms-of-use URL.
+ */
+ @Generated
+ private String termsOfUseUrl;
+
+ /**
+ * Creates an instance of Microsoft365PublishDefaults class.
+ */
+ @Generated
+ private Microsoft365PublishDefaults() {
+ }
+
+ /**
+ * Get the appPublishScope property: The publish scope.
+ *
+ * @return the appPublishScope value.
+ */
+ @Generated
+ public Microsoft365PublishScope getAppPublishScope() {
+ return this.appPublishScope;
+ }
+
+ /**
+ * Get the agentName property: The agent name.
+ *
+ * @return the agentName value.
+ */
+ @Generated
+ public String getAgentName() {
+ return this.agentName;
+ }
+
+ /**
+ * Get the agentDisplayName property: The user-facing display name for the agent. Defaults to the agent name if not
+ * previously
+ * overridden.
+ *
+ * @return the agentDisplayName value.
+ */
+ @Generated
+ public String getAgentDisplayName() {
+ return this.agentDisplayName;
+ }
+
+ /**
+ * Get the appRegistrationClientId property: The app-registration client id associated with the agent.
+ *
+ * @return the appRegistrationClientId value.
+ */
+ @Generated
+ public String getAppRegistrationClientId() {
+ return this.appRegistrationClientId;
+ }
+
+ /**
+ * Get the botServiceArmId property: ARM resource id of the Azure Bot Service associated with the
+ * previously-published app, if any.
+ *
+ * @return the botServiceArmId value.
+ */
+ @Generated
+ public String getBotServiceArmId() {
+ return this.botServiceArmId;
+ }
+
+ /**
+ * Get the appVersion property: The most recently published app version.
+ *
+ * @return the appVersion value.
+ */
+ @Generated
+ public String getAppVersion() {
+ return this.appVersion;
+ }
+
+ /**
+ * Get the recommendedNextAppVersion property: The recommended next app version (the most recent app version,
+ * incremented).
+ *
+ * @return the recommendedNextAppVersion value.
+ */
+ @Generated
+ public String getRecommendedNextAppVersion() {
+ return this.recommendedNextAppVersion;
+ }
+
+ /**
+ * Get the titleId property: The Microsoft 365 title id of the previously-published app, if any.
+ *
+ * @return the titleId value.
+ */
+ @Generated
+ public String getTitleId() {
+ return this.titleId;
+ }
+
+ /**
+ * Get the teamsAppId property: The Microsoft Teams app id of the previously-published app, if any.
+ *
+ * @return the teamsAppId value.
+ */
+ @Generated
+ public String getTeamsAppId() {
+ return this.teamsAppId;
+ }
+
+ /**
+ * Get the shortDescription property: Short, one-line description shown in the Teams app listing.
+ *
+ * @return the shortDescription value.
+ */
+ @Generated
+ public String getShortDescription() {
+ return this.shortDescription;
+ }
+
+ /**
+ * Get the fullDescription property: Full description shown on the Teams app details page.
+ *
+ * @return the fullDescription value.
+ */
+ @Generated
+ public String getFullDescription() {
+ return this.fullDescription;
+ }
+
+ /**
+ * Get the developerName property: Display name of the developer / publisher.
+ *
+ * @return the developerName value.
+ */
+ @Generated
+ public String getDeveloperName() {
+ return this.developerName;
+ }
+
+ /**
+ * Get the developerWebsiteUrl property: Developer / publisher website URL.
+ *
+ * @return the developerWebsiteUrl value.
+ */
+ @Generated
+ public String getDeveloperWebsiteUrl() {
+ return this.developerWebsiteUrl;
+ }
+
+ /**
+ * Get the privacyUrl property: Privacy policy URL.
+ *
+ * @return the privacyUrl value.
+ */
+ @Generated
+ public String getPrivacyUrl() {
+ return this.privacyUrl;
+ }
+
+ /**
+ * Get the termsOfUseUrl property: Terms-of-use URL.
+ *
+ * @return the termsOfUseUrl value.
+ */
+ @Generated
+ public String getTermsOfUseUrl() {
+ return this.termsOfUseUrl;
+ }
+
+ /**
+ * {@inheritDoc}
+ */
+ @Generated
+ @Override
+ public JsonWriter toJson(JsonWriter jsonWriter) throws IOException {
+ jsonWriter.writeStartObject();
+ jsonWriter.writeStringField("appPublishScope",
+ this.appPublishScope == null ? null : this.appPublishScope.toString());
+ jsonWriter.writeStringField("agentName", this.agentName);
+ jsonWriter.writeStringField("agentDisplayName", this.agentDisplayName);
+ jsonWriter.writeStringField("appRegistrationClientId", this.appRegistrationClientId);
+ jsonWriter.writeStringField("botServiceArmId", this.botServiceArmId);
+ jsonWriter.writeStringField("appVersion", this.appVersion);
+ jsonWriter.writeStringField("recommendedNextAppVersion", this.recommendedNextAppVersion);
+ jsonWriter.writeStringField("titleId", this.titleId);
+ jsonWriter.writeStringField("teamsAppId", this.teamsAppId);
+ jsonWriter.writeStringField("shortDescription", this.shortDescription);
+ jsonWriter.writeStringField("fullDescription", this.fullDescription);
+ jsonWriter.writeStringField("developerName", this.developerName);
+ jsonWriter.writeStringField("developerWebsiteUrl", this.developerWebsiteUrl);
+ jsonWriter.writeStringField("privacyUrl", this.privacyUrl);
+ jsonWriter.writeStringField("termsOfUseUrl", this.termsOfUseUrl);
+ return jsonWriter.writeEndObject();
+ }
+
+ /**
+ * Reads an instance of Microsoft365PublishDefaults from the JsonReader.
+ *
+ * @param jsonReader The JsonReader being read.
+ * @return An instance of Microsoft365PublishDefaults if the JsonReader was pointing to an instance of it, or null
+ * if it was pointing to JSON null.
+ * @throws IOException If an error occurs while reading the Microsoft365PublishDefaults.
+ */
+ @Generated
+ public static Microsoft365PublishDefaults fromJson(JsonReader jsonReader) throws IOException {
+ return jsonReader.readObject(reader -> {
+ Microsoft365PublishDefaults deserializedMicrosoft365PublishDefaults = new Microsoft365PublishDefaults();
+ while (reader.nextToken() != JsonToken.END_OBJECT) {
+ String fieldName = reader.getFieldName();
+ reader.nextToken();
+ if ("appPublishScope".equals(fieldName)) {
+ deserializedMicrosoft365PublishDefaults.appPublishScope
+ = Microsoft365PublishScope.fromString(reader.getString());
+ } else if ("agentName".equals(fieldName)) {
+ deserializedMicrosoft365PublishDefaults.agentName = reader.getString();
+ } else if ("agentDisplayName".equals(fieldName)) {
+ deserializedMicrosoft365PublishDefaults.agentDisplayName = reader.getString();
+ } else if ("appRegistrationClientId".equals(fieldName)) {
+ deserializedMicrosoft365PublishDefaults.appRegistrationClientId = reader.getString();
+ } else if ("botServiceArmId".equals(fieldName)) {
+ deserializedMicrosoft365PublishDefaults.botServiceArmId = reader.getString();
+ } else if ("appVersion".equals(fieldName)) {
+ deserializedMicrosoft365PublishDefaults.appVersion = reader.getString();
+ } else if ("recommendedNextAppVersion".equals(fieldName)) {
+ deserializedMicrosoft365PublishDefaults.recommendedNextAppVersion = reader.getString();
+ } else if ("titleId".equals(fieldName)) {
+ deserializedMicrosoft365PublishDefaults.titleId = reader.getString();
+ } else if ("teamsAppId".equals(fieldName)) {
+ deserializedMicrosoft365PublishDefaults.teamsAppId = reader.getString();
+ } else if ("shortDescription".equals(fieldName)) {
+ deserializedMicrosoft365PublishDefaults.shortDescription = reader.getString();
+ } else if ("fullDescription".equals(fieldName)) {
+ deserializedMicrosoft365PublishDefaults.fullDescription = reader.getString();
+ } else if ("developerName".equals(fieldName)) {
+ deserializedMicrosoft365PublishDefaults.developerName = reader.getString();
+ } else if ("developerWebsiteUrl".equals(fieldName)) {
+ deserializedMicrosoft365PublishDefaults.developerWebsiteUrl = reader.getString();
+ } else if ("privacyUrl".equals(fieldName)) {
+ deserializedMicrosoft365PublishDefaults.privacyUrl = reader.getString();
+ } else if ("termsOfUseUrl".equals(fieldName)) {
+ deserializedMicrosoft365PublishDefaults.termsOfUseUrl = reader.getString();
+ } else {
+ reader.skipChildren();
+ }
+ }
+ return deserializedMicrosoft365PublishDefaults;
+ });
+ }
+}
diff --git a/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/Microsoft365PublishResult.java b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/Microsoft365PublishResult.java
new file mode 100644
index 000000000000..2da2e12f8521
--- /dev/null
+++ b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/Microsoft365PublishResult.java
@@ -0,0 +1,97 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) TypeSpec Code Generator.
+package com.azure.ai.agents.models;
+
+import com.azure.core.annotation.Generated;
+import com.azure.core.annotation.Immutable;
+import com.azure.json.JsonReader;
+import com.azure.json.JsonSerializable;
+import com.azure.json.JsonToken;
+import com.azure.json.JsonWriter;
+import java.io.IOException;
+
+/**
+ * Response from publishing an agent to Microsoft 365 / Microsoft Teams.
+ */
+@Immutable
+public final class Microsoft365PublishResult implements JsonSerializable {
+
+ /*
+ * The Microsoft 365 title id of the published app.
+ */
+ @Generated
+ private String titleId;
+
+ /*
+ * The Microsoft Teams app id of the published app.
+ */
+ @Generated
+ private String teamsAppId;
+
+ /**
+ * Creates an instance of Microsoft365PublishResult class.
+ */
+ @Generated
+ private Microsoft365PublishResult() {
+ }
+
+ /**
+ * Get the titleId property: The Microsoft 365 title id of the published app.
+ *
+ * @return the titleId value.
+ */
+ @Generated
+ public String getTitleId() {
+ return this.titleId;
+ }
+
+ /**
+ * Get the teamsAppId property: The Microsoft Teams app id of the published app.
+ *
+ * @return the teamsAppId value.
+ */
+ @Generated
+ public String getTeamsAppId() {
+ return this.teamsAppId;
+ }
+
+ /**
+ * {@inheritDoc}
+ */
+ @Generated
+ @Override
+ public JsonWriter toJson(JsonWriter jsonWriter) throws IOException {
+ jsonWriter.writeStartObject();
+ jsonWriter.writeStringField("titleId", this.titleId);
+ jsonWriter.writeStringField("teamsAppId", this.teamsAppId);
+ return jsonWriter.writeEndObject();
+ }
+
+ /**
+ * Reads an instance of Microsoft365PublishResult from the JsonReader.
+ *
+ * @param jsonReader The JsonReader being read.
+ * @return An instance of Microsoft365PublishResult if the JsonReader was pointing to an instance of it, or null if
+ * it was pointing to JSON null.
+ * @throws IOException If an error occurs while reading the Microsoft365PublishResult.
+ */
+ @Generated
+ public static Microsoft365PublishResult fromJson(JsonReader jsonReader) throws IOException {
+ return jsonReader.readObject(reader -> {
+ Microsoft365PublishResult deserializedMicrosoft365PublishResult = new Microsoft365PublishResult();
+ while (reader.nextToken() != JsonToken.END_OBJECT) {
+ String fieldName = reader.getFieldName();
+ reader.nextToken();
+ if ("titleId".equals(fieldName)) {
+ deserializedMicrosoft365PublishResult.titleId = reader.getString();
+ } else if ("teamsAppId".equals(fieldName)) {
+ deserializedMicrosoft365PublishResult.teamsAppId = reader.getString();
+ } else {
+ reader.skipChildren();
+ }
+ }
+ return deserializedMicrosoft365PublishResult;
+ });
+ }
+}
diff --git a/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/Microsoft365PublishScope.java b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/Microsoft365PublishScope.java
new file mode 100644
index 000000000000..9cc363ccfde0
--- /dev/null
+++ b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/Microsoft365PublishScope.java
@@ -0,0 +1,63 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) TypeSpec Code Generator.
+package com.azure.ai.agents.models;
+
+import com.azure.core.annotation.Generated;
+import com.azure.core.util.ExpandableStringEnum;
+import java.util.Collection;
+
+/**
+ * The publish scope for the generated Microsoft Teams app.
+ */
+public final class Microsoft365PublishScope extends ExpandableStringEnum {
+
+ /**
+ * Publish the app for the acting user only.
+ */
+ @Generated
+ public static final Microsoft365PublishScope PERSONAL = fromString("Personal");
+
+ /**
+ * Publish the app to a shared scope within the organization.
+ */
+ @Generated
+ public static final Microsoft365PublishScope SHARED = fromString("Shared");
+
+ /**
+ * Publish the app tenant-wide.
+ */
+ @Generated
+ public static final Microsoft365PublishScope TENANT = fromString("Tenant");
+
+ /**
+ * Creates a new instance of Microsoft365PublishScope value.
+ *
+ * @deprecated Use the {@link #fromString(String)} factory method.
+ */
+ @Generated
+ @Deprecated
+ public Microsoft365PublishScope() {
+ }
+
+ /**
+ * Creates or finds a Microsoft365PublishScope from its string representation.
+ *
+ * @param name a name to look for.
+ * @return the corresponding Microsoft365PublishScope.
+ */
+ @Generated
+ public static Microsoft365PublishScope fromString(String name) {
+ return fromString(name, Microsoft365PublishScope.class);
+ }
+
+ /**
+ * Gets known Microsoft365PublishScope values.
+ *
+ * @return known Microsoft365PublishScope values.
+ */
+ @Generated
+ public static Collection values() {
+ return values(Microsoft365PublishScope.class);
+ }
+}
diff --git a/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/ModelRouterAttempt.java b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/ModelRouterAttempt.java
new file mode 100644
index 000000000000..e75a9c359a16
--- /dev/null
+++ b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/ModelRouterAttempt.java
@@ -0,0 +1,107 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) TypeSpec Code Generator.
+package com.azure.ai.agents.models;
+
+import com.azure.ai.agents.implementation.utils.Beta;
+import com.azure.core.annotation.Generated;
+import com.azure.core.annotation.Immutable;
+import com.azure.json.JsonReader;
+import com.azure.json.JsonSerializable;
+import com.azure.json.JsonToken;
+import com.azure.json.JsonWriter;
+import java.io.IOException;
+
+/**
+ * A single routing attempt targeting a specific model.
+ */
+@Immutable
+@Beta(warningText = "Preview API. ModelRouterControls=V1Preview")
+public final class ModelRouterAttempt implements JsonSerializable {
+
+ /*
+ * The model targeted in this attempt.
+ */
+ @Generated
+ private final String model;
+
+ /*
+ * How this attempt concluded — whether the model served the request successfully or encountered an error.
+ */
+ @Generated
+ private final ModelRouterAttemptResult result;
+
+ /**
+ * Creates an instance of ModelRouterAttempt class.
+ *
+ * @param model the model value to set.
+ * @param result the result value to set.
+ */
+ @Generated
+ private ModelRouterAttempt(String model, ModelRouterAttemptResult result) {
+ this.model = model;
+ this.result = result;
+ }
+
+ /**
+ * Get the model property: The model targeted in this attempt.
+ *
+ * @return the model value.
+ */
+ @Generated
+ public String getModel() {
+ return this.model;
+ }
+
+ /**
+ * Get the result property: How this attempt concluded — whether the model served the request successfully or
+ * encountered an error.
+ *
+ * @return the result value.
+ */
+ @Generated
+ public ModelRouterAttemptResult getResult() {
+ return this.result;
+ }
+
+ /**
+ * {@inheritDoc}
+ */
+ @Generated
+ @Override
+ public JsonWriter toJson(JsonWriter jsonWriter) throws IOException {
+ jsonWriter.writeStartObject();
+ jsonWriter.writeStringField("model", this.model);
+ jsonWriter.writeJsonField("result", this.result);
+ return jsonWriter.writeEndObject();
+ }
+
+ /**
+ * Reads an instance of ModelRouterAttempt from the JsonReader.
+ *
+ * @param jsonReader The JsonReader being read.
+ * @return An instance of ModelRouterAttempt if the JsonReader was pointing to an instance of it, or null if it was
+ * pointing to JSON null.
+ * @throws IllegalStateException If the deserialized JSON object was missing any required properties.
+ * @throws IOException If an error occurs while reading the ModelRouterAttempt.
+ */
+ @Generated
+ public static ModelRouterAttempt fromJson(JsonReader jsonReader) throws IOException {
+ return jsonReader.readObject(reader -> {
+ String model = null;
+ ModelRouterAttemptResult result = null;
+ while (reader.nextToken() != JsonToken.END_OBJECT) {
+ String fieldName = reader.getFieldName();
+ reader.nextToken();
+ if ("model".equals(fieldName)) {
+ model = reader.getString();
+ } else if ("result".equals(fieldName)) {
+ result = ModelRouterAttemptResult.fromJson(reader);
+ } else {
+ reader.skipChildren();
+ }
+ }
+ return new ModelRouterAttempt(model, result);
+ });
+ }
+}
diff --git a/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/ModelRouterAttemptError.java b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/ModelRouterAttemptError.java
new file mode 100644
index 000000000000..c5ba83358e6c
--- /dev/null
+++ b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/ModelRouterAttemptError.java
@@ -0,0 +1,106 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) TypeSpec Code Generator.
+package com.azure.ai.agents.models;
+
+import com.azure.ai.agents.implementation.utils.Beta;
+import com.azure.core.annotation.Generated;
+import com.azure.core.annotation.Immutable;
+import com.azure.json.JsonReader;
+import com.azure.json.JsonSerializable;
+import com.azure.json.JsonToken;
+import com.azure.json.JsonWriter;
+import java.io.IOException;
+
+/**
+ * Error details returned by a model routing attempt.
+ */
+@Immutable
+@Beta(warningText = "Preview API. ModelRouterControls=V1Preview")
+public final class ModelRouterAttemptError implements JsonSerializable {
+
+ /*
+ * A service-defined error code.
+ */
+ @Generated
+ private String code;
+
+ /*
+ * A human-readable description of the error.
+ */
+ @Generated
+ private final String message;
+
+ /**
+ * Creates an instance of ModelRouterAttemptError class.
+ *
+ * @param message the message value to set.
+ */
+ @Generated
+ private ModelRouterAttemptError(String message) {
+ this.message = message;
+ }
+
+ /**
+ * Get the code property: A service-defined error code.
+ *
+ * @return the code value.
+ */
+ @Generated
+ public String getCode() {
+ return this.code;
+ }
+
+ /**
+ * Get the message property: A human-readable description of the error.
+ *
+ * @return the message value.
+ */
+ @Generated
+ public String getMessage() {
+ return this.message;
+ }
+
+ /**
+ * {@inheritDoc}
+ */
+ @Generated
+ @Override
+ public JsonWriter toJson(JsonWriter jsonWriter) throws IOException {
+ jsonWriter.writeStartObject();
+ jsonWriter.writeStringField("message", this.message);
+ jsonWriter.writeStringField("code", this.code);
+ return jsonWriter.writeEndObject();
+ }
+
+ /**
+ * Reads an instance of ModelRouterAttemptError from the JsonReader.
+ *
+ * @param jsonReader The JsonReader being read.
+ * @return An instance of ModelRouterAttemptError if the JsonReader was pointing to an instance of it, or null if it
+ * was pointing to JSON null.
+ * @throws IllegalStateException If the deserialized JSON object was missing any required properties.
+ * @throws IOException If an error occurs while reading the ModelRouterAttemptError.
+ */
+ @Generated
+ public static ModelRouterAttemptError fromJson(JsonReader jsonReader) throws IOException {
+ return jsonReader.readObject(reader -> {
+ String message = null;
+ String code = null;
+ while (reader.nextToken() != JsonToken.END_OBJECT) {
+ String fieldName = reader.getFieldName();
+ reader.nextToken();
+ if ("message".equals(fieldName)) {
+ message = reader.getString();
+ } else if ("code".equals(fieldName)) {
+ code = reader.getString();
+ } else {
+ reader.skipChildren();
+ }
+ }
+ ModelRouterAttemptError deserializedModelRouterAttemptError = new ModelRouterAttemptError(message);
+ deserializedModelRouterAttemptError.code = code;
+ return deserializedModelRouterAttemptError;
+ });
+ }
+}
diff --git a/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/ModelRouterAttemptResult.java b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/ModelRouterAttemptResult.java
new file mode 100644
index 000000000000..025e62ce2bdb
--- /dev/null
+++ b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/ModelRouterAttemptResult.java
@@ -0,0 +1,136 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) TypeSpec Code Generator.
+package com.azure.ai.agents.models;
+
+import com.azure.ai.agents.implementation.utils.Beta;
+import com.azure.core.annotation.Generated;
+import com.azure.core.annotation.Immutable;
+import com.azure.core.util.BinaryData;
+import com.azure.json.JsonReader;
+import com.azure.json.JsonSerializable;
+import com.azure.json.JsonToken;
+import com.azure.json.JsonWriter;
+import java.io.IOException;
+import java.util.Map;
+
+/**
+ * The HTTP-style result returned by a model routing attempt.
+ */
+@Immutable
+@Beta(warningText = "Preview API. ModelRouterControls=V1Preview")
+public final class ModelRouterAttemptResult implements JsonSerializable {
+
+ /*
+ * The HTTP status code returned by the model.
+ */
+ @Generated
+ private final int status;
+
+ /*
+ * Response headers returned by the model.
+ */
+ @Generated
+ private Map headers;
+
+ /*
+ * Error details returned when the attempt did not succeed.
+ */
+ @Generated
+ private ModelRouterAttemptError error;
+
+ /**
+ * Creates an instance of ModelRouterAttemptResult class.
+ *
+ * @param status the status value to set.
+ */
+ @Generated
+ private ModelRouterAttemptResult(int status) {
+ this.status = status;
+ }
+
+ /**
+ * Get the status property: The HTTP status code returned by the model.
+ *
+ * @return the status value.
+ */
+ @Generated
+ public int getStatus() {
+ return this.status;
+ }
+
+ /**
+ * Get the headers property: Response headers returned by the model.
+ *
+ * @return the headers value.
+ */
+ @Generated
+ public Map getHeaders() {
+ return this.headers;
+ }
+
+ /**
+ * Get the error property: Error details returned when the attempt did not succeed.
+ *
+ * @return the error value.
+ */
+ @Generated
+ public ModelRouterAttemptError getError() {
+ return this.error;
+ }
+
+ /**
+ * {@inheritDoc}
+ */
+ @Generated
+ @Override
+ public JsonWriter toJson(JsonWriter jsonWriter) throws IOException {
+ jsonWriter.writeStartObject();
+ jsonWriter.writeIntField("status", this.status);
+ jsonWriter.writeMapField("headers", this.headers, (writer, element) -> {
+ if (element == null) {
+ writer.writeNull();
+ } else {
+ element.writeTo(writer);
+ }
+ });
+ jsonWriter.writeJsonField("error", this.error);
+ return jsonWriter.writeEndObject();
+ }
+
+ /**
+ * Reads an instance of ModelRouterAttemptResult from the JsonReader.
+ *
+ * @param jsonReader The JsonReader being read.
+ * @return An instance of ModelRouterAttemptResult if the JsonReader was pointing to an instance of it, or null if
+ * it was pointing to JSON null.
+ * @throws IllegalStateException If the deserialized JSON object was missing any required properties.
+ * @throws IOException If an error occurs while reading the ModelRouterAttemptResult.
+ */
+ @Generated
+ public static ModelRouterAttemptResult fromJson(JsonReader jsonReader) throws IOException {
+ return jsonReader.readObject(reader -> {
+ int status = 0;
+ Map headers = null;
+ ModelRouterAttemptError error = null;
+ while (reader.nextToken() != JsonToken.END_OBJECT) {
+ String fieldName = reader.getFieldName();
+ reader.nextToken();
+ if ("status".equals(fieldName)) {
+ status = reader.getInt();
+ } else if ("headers".equals(fieldName)) {
+ headers = reader.readMap(reader1 -> reader1
+ .getNullable(nonNullReader -> BinaryData.fromObject(nonNullReader.readUntyped())));
+ } else if ("error".equals(fieldName)) {
+ error = ModelRouterAttemptError.fromJson(reader);
+ } else {
+ reader.skipChildren();
+ }
+ }
+ ModelRouterAttemptResult deserializedModelRouterAttemptResult = new ModelRouterAttemptResult(status);
+ deserializedModelRouterAttemptResult.headers = headers;
+ deserializedModelRouterAttemptResult.error = error;
+ return deserializedModelRouterAttemptResult;
+ });
+ }
+}
diff --git a/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/ModelRouterDetails.java b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/ModelRouterDetails.java
new file mode 100644
index 000000000000..f0b70f5e5ace
--- /dev/null
+++ b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/ModelRouterDetails.java
@@ -0,0 +1,109 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) TypeSpec Code Generator.
+package com.azure.ai.agents.models;
+
+import com.azure.ai.agents.implementation.utils.Beta;
+import com.azure.core.annotation.Generated;
+import com.azure.core.annotation.Immutable;
+import com.azure.json.JsonReader;
+import com.azure.json.JsonSerializable;
+import com.azure.json.JsonToken;
+import com.azure.json.JsonWriter;
+import java.io.IOException;
+import java.util.List;
+
+/**
+ * Routing decision metadata from Model Router.
+ */
+@Immutable
+@Beta(warningText = "Preview API. ModelRouterControls=V1Preview")
+public final class ModelRouterDetails implements JsonSerializable {
+
+ /*
+ * The routing mode for the request.
+ */
+ @Generated
+ private final ModelRouterMode mode;
+
+ /*
+ * Ordered trace of routing decisions. Contains one entry for Chat Completions, and may contain multiple entries for
+ * Responses API or agent scenarios where multiple inference turns occur.
+ */
+ @Generated
+ private final List routingTrace;
+
+ /**
+ * Creates an instance of ModelRouterDetails class.
+ *
+ * @param mode the mode value to set.
+ * @param routingTrace the routingTrace value to set.
+ */
+ @Generated
+ private ModelRouterDetails(ModelRouterMode mode, List routingTrace) {
+ this.mode = mode;
+ this.routingTrace = routingTrace;
+ }
+
+ /**
+ * Get the mode property: The routing mode for the request.
+ *
+ * @return the mode value.
+ */
+ @Generated
+ public ModelRouterMode getMode() {
+ return this.mode;
+ }
+
+ /**
+ * Get the routingTrace property: Ordered trace of routing decisions. Contains one entry for Chat Completions, and
+ * may contain multiple entries for Responses API or agent scenarios where multiple inference turns occur.
+ *
+ * @return the routingTrace value.
+ */
+ @Generated
+ public List getRoutingTrace() {
+ return this.routingTrace;
+ }
+
+ /**
+ * {@inheritDoc}
+ */
+ @Generated
+ @Override
+ public JsonWriter toJson(JsonWriter jsonWriter) throws IOException {
+ jsonWriter.writeStartObject();
+ jsonWriter.writeStringField("mode", this.mode == null ? null : this.mode.toString());
+ jsonWriter.writeArrayField("routing_trace", this.routingTrace, (writer, element) -> writer.writeJson(element));
+ return jsonWriter.writeEndObject();
+ }
+
+ /**
+ * Reads an instance of ModelRouterDetails from the JsonReader.
+ *
+ * @param jsonReader The JsonReader being read.
+ * @return An instance of ModelRouterDetails if the JsonReader was pointing to an instance of it, or null if it was
+ * pointing to JSON null.
+ * @throws IllegalStateException If the deserialized JSON object was missing any required properties.
+ * @throws IOException If an error occurs while reading the ModelRouterDetails.
+ */
+ @Generated
+ public static ModelRouterDetails fromJson(JsonReader jsonReader) throws IOException {
+ return jsonReader.readObject(reader -> {
+ ModelRouterMode mode = null;
+ List routingTrace = null;
+ while (reader.nextToken() != JsonToken.END_OBJECT) {
+ String fieldName = reader.getFieldName();
+ reader.nextToken();
+ if ("mode".equals(fieldName)) {
+ mode = ModelRouterMode.fromString(reader.getString());
+ } else if ("routing_trace".equals(fieldName)) {
+ routingTrace = reader.readArray(reader1 -> RoutingTraceEntry.fromJson(reader1));
+ } else {
+ reader.skipChildren();
+ }
+ }
+ return new ModelRouterDetails(mode, routingTrace);
+ });
+ }
+}
diff --git a/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/ModelRouterMode.java b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/ModelRouterMode.java
new file mode 100644
index 000000000000..d4213c8c29d2
--- /dev/null
+++ b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/ModelRouterMode.java
@@ -0,0 +1,65 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) TypeSpec Code Generator.
+package com.azure.ai.agents.models;
+
+import com.azure.ai.agents.implementation.utils.Beta;
+import com.azure.core.annotation.Generated;
+import com.azure.core.util.ExpandableStringEnum;
+import java.util.Collection;
+
+/**
+ * The routing mode used by Model Router for the request.
+ */
+@Beta(warningText = "Preview API. ModelRouterControls=V1Preview")
+public final class ModelRouterMode extends ExpandableStringEnum {
+
+ /**
+ * Default routing strategy balancing cost and accuracy across eligible models.
+ */
+ @Generated
+ public static final ModelRouterMode BALANCED = fromString("balanced");
+
+ /**
+ * Prioritizes cost.
+ */
+ @Generated
+ public static final ModelRouterMode COST = fromString("cost");
+
+ /**
+ * Prioritizes accuracy.
+ */
+ @Generated
+ public static final ModelRouterMode QUALITY = fromString("quality");
+
+ /**
+ * Creates a new instance of ModelRouterMode value.
+ *
+ * @deprecated Use the {@link #fromString(String)} factory method.
+ */
+ @Generated
+ @Deprecated
+ public ModelRouterMode() {
+ }
+
+ /**
+ * Creates or finds a ModelRouterMode from its string representation.
+ *
+ * @param name a name to look for.
+ * @return the corresponding ModelRouterMode.
+ */
+ @Generated
+ public static ModelRouterMode fromString(String name) {
+ return fromString(name, ModelRouterMode.class);
+ }
+
+ /**
+ * Gets known ModelRouterMode values.
+ *
+ * @return known ModelRouterMode values.
+ */
+ @Generated
+ public static Collection values() {
+ return values(ModelRouterMode.class);
+ }
+}
diff --git a/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/ModelSelectionDetails.java b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/ModelSelectionDetails.java
new file mode 100644
index 000000000000..75ef9ef0f78c
--- /dev/null
+++ b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/ModelSelectionDetails.java
@@ -0,0 +1,85 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) TypeSpec Code Generator.
+package com.azure.ai.agents.models;
+
+import com.azure.ai.agents.implementation.utils.Beta;
+import com.azure.core.annotation.Generated;
+import com.azure.core.annotation.Immutable;
+import com.azure.json.JsonReader;
+import com.azure.json.JsonSerializable;
+import com.azure.json.JsonToken;
+import com.azure.json.JsonWriter;
+import java.io.IOException;
+
+/**
+ * Model selection metadata providing visibility into routing decisions.
+ */
+@Immutable
+@Beta(warningText = "Preview API. ModelRouterControls=V1Preview")
+public final class ModelSelectionDetails implements JsonSerializable {
+
+ /*
+ * Routing decision metadata from Model Router. Present when the request was handled by Model Router.
+ */
+ @Generated
+ private final ModelRouterDetails modelRouterDetails;
+
+ /**
+ * Creates an instance of ModelSelectionDetails class.
+ *
+ * @param modelRouterDetails the modelRouterDetails value to set.
+ */
+ @Generated
+ private ModelSelectionDetails(ModelRouterDetails modelRouterDetails) {
+ this.modelRouterDetails = modelRouterDetails;
+ }
+
+ /**
+ * Get the modelRouterDetails property: Routing decision metadata from Model Router. Present when the request was
+ * handled by Model Router.
+ *
+ * @return the modelRouterDetails value.
+ */
+ @Generated
+ public ModelRouterDetails getModelRouterDetails() {
+ return this.modelRouterDetails;
+ }
+
+ /**
+ * {@inheritDoc}
+ */
+ @Generated
+ @Override
+ public JsonWriter toJson(JsonWriter jsonWriter) throws IOException {
+ jsonWriter.writeStartObject();
+ jsonWriter.writeJsonField("model_router_details", this.modelRouterDetails);
+ return jsonWriter.writeEndObject();
+ }
+
+ /**
+ * Reads an instance of ModelSelectionDetails from the JsonReader.
+ *
+ * @param jsonReader The JsonReader being read.
+ * @return An instance of ModelSelectionDetails if the JsonReader was pointing to an instance of it, or null if it
+ * was pointing to JSON null.
+ * @throws IllegalStateException If the deserialized JSON object was missing any required properties.
+ * @throws IOException If an error occurs while reading the ModelSelectionDetails.
+ */
+ @Generated
+ public static ModelSelectionDetails fromJson(JsonReader jsonReader) throws IOException {
+ return jsonReader.readObject(reader -> {
+ ModelRouterDetails modelRouterDetails = null;
+ while (reader.nextToken() != JsonToken.END_OBJECT) {
+ String fieldName = reader.getFieldName();
+ reader.nextToken();
+ if ("model_router_details".equals(fieldName)) {
+ modelRouterDetails = ModelRouterDetails.fromJson(reader);
+ } else {
+ reader.skipChildren();
+ }
+ }
+ return new ModelSelectionDetails(modelRouterDetails);
+ });
+ }
+}
diff --git a/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/PublishAgentToMicrosoft365Options.java b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/PublishAgentToMicrosoft365Options.java
new file mode 100644
index 000000000000..fc1f0a612804
--- /dev/null
+++ b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/PublishAgentToMicrosoft365Options.java
@@ -0,0 +1,549 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) TypeSpec Code Generator.
+package com.azure.ai.agents.models;
+
+import com.azure.core.annotation.Fluent;
+import com.azure.core.annotation.Generated;
+import java.util.List;
+
+/**
+ * Options for publishAgentToMicrosoft365 API.
+ */
+@Fluent
+public final class PublishAgentToMicrosoft365Options {
+
+ /*
+ * The name of the agent to publish.
+ */
+ @Generated
+ private final String agentName;
+
+ /*
+ * Display name used as the published Teams app name. When omitted, the agent name from the route is
+ * used.
+ */
+ @Generated
+ private String agentDisplayName;
+
+ /*
+ * ARM resource id of the Azure Bot Service that fronts this agent in Microsoft Teams. Required for
+ * workspaces on the default bot-based Teams backend; optional for workspaces on the API-based backend.
+ * Must not be supplied when `publishAsAutopilot` is true.
+ */
+ @Generated
+ private String botServiceArmId;
+
+ /*
+ * When true, the agent is published as an autopilot (digital worker) agent: the bot id is taken from
+ * the agent's blueprint identity and the generated Teams manifest is marked as a digital worker.
+ */
+ @Generated
+ private Boolean publishAsAutopilot;
+
+ /*
+ * Activity-protocol access boundaries to apply to the agent when publishing as an autopilot agent.
+ * An empty list clears the existing boundaries. When omitted, the existing boundaries are left
+ * unchanged.
+ */
+ @Generated
+ private List accessBoundaries;
+
+ /*
+ * Exact selection of delegated permission scopes to grant to the autopilot blueprint. May only be
+ * supplied when `publishAsAutopilot` is true. When omitted or empty, the platform's default
+ * permission set is used. Mandatory platform permissions are always granted and are not affected by
+ * this value.
+ */
+ @Generated
+ private List optionalPermissionScopes;
+
+ /*
+ * Publish scope for the Teams app.
+ */
+ @Generated
+ private final Microsoft365PublishScope publishScope;
+
+ /*
+ * Controls how the published agent responds to Teams messages: when true it responds to all messages
+ * on its surfaces, when false only when it is at-mentioned. When omitted, the agent's existing Teams
+ * message-notification setting is left unchanged.
+ */
+ @Generated
+ private Boolean canRespondWithoutMention;
+
+ /*
+ * App version (for example `1.2.3`) written into the Teams manifest. May contain only digits and
+ * periods, must not start with `0`, and must end with a digit. When omitted, a platform default is
+ * used.
+ */
+ @Generated
+ private String appVersion;
+
+ /*
+ * Short, one-line description shown in the Teams app listing.
+ */
+ @Generated
+ private String shortDescription;
+
+ /*
+ * Full description shown on the Teams app details page.
+ */
+ @Generated
+ private String fullDescription;
+
+ /*
+ * Display name of the developer / publisher shown in the Teams app listing.
+ */
+ @Generated
+ private String developerName;
+
+ /*
+ * Developer / publisher website URL shown in the Teams app listing. Must be an https URL.
+ */
+ @Generated
+ private String developerWebsiteUrl;
+
+ /*
+ * Privacy policy URL shown in the Teams app listing. Must be an http or https URL.
+ */
+ @Generated
+ private String privacyUrl;
+
+ /*
+ * Terms-of-use URL shown in the Teams app listing.
+ */
+ @Generated
+ private String termsOfUseUrl;
+
+ /*
+ * Optional base64-encoded PNG used as the color (full-bleed) icon in the Teams app package. Must be a
+ * 192x192 PNG (perfect square, no border or rounded corners). Max 1 MB after decode. When omitted, the
+ * platform default color icon is used.
+ */
+ @Generated
+ private String colorIconBase64;
+
+ /*
+ * Optional base64-encoded PNG used as the outline icon in the Teams app package. Must be a 32x32 PNG.
+ * Max 1 MB after decode. When omitted, the platform default outline icon is used.
+ */
+ @Generated
+ private String outlineIconBase64;
+
+ /**
+ * Creates an instance of PublishAgentToMicrosoft365Options class.
+ *
+ * @param agentName the agentName value to set.
+ * @param publishScope the publishScope value to set.
+ */
+ @Generated
+ public PublishAgentToMicrosoft365Options(String agentName, Microsoft365PublishScope publishScope) {
+ this.agentName = agentName;
+ this.publishScope = publishScope;
+ }
+
+ /**
+ * Get the agentName property: The name of the agent to publish.
+ *
+ * @return the agentName value.
+ */
+ @Generated
+ public String getAgentName() {
+ return this.agentName;
+ }
+
+ /**
+ * Get the agentDisplayName property: Display name used as the published Teams app name. When omitted, the agent
+ * name from the route is
+ * used.
+ *
+ * @return the agentDisplayName value.
+ */
+ @Generated
+ public String getAgentDisplayName() {
+ return this.agentDisplayName;
+ }
+
+ /**
+ * Set the agentDisplayName property: Display name used as the published Teams app name. When omitted, the agent
+ * name from the route is
+ * used.
+ *
+ * @param agentDisplayName the agentDisplayName value to set.
+ * @return the PublishAgentToMicrosoft365Options object itself.
+ */
+ @Generated
+ public PublishAgentToMicrosoft365Options setAgentDisplayName(String agentDisplayName) {
+ this.agentDisplayName = agentDisplayName;
+ return this;
+ }
+
+ /**
+ * Get the botServiceArmId property: ARM resource id of the Azure Bot Service that fronts this agent in Microsoft
+ * Teams. Required for
+ * workspaces on the default bot-based Teams backend; optional for workspaces on the API-based backend.
+ * Must not be supplied when `publishAsAutopilot` is true.
+ *
+ * @return the botServiceArmId value.
+ */
+ @Generated
+ public String getBotServiceArmId() {
+ return this.botServiceArmId;
+ }
+
+ /**
+ * Set the botServiceArmId property: ARM resource id of the Azure Bot Service that fronts this agent in Microsoft
+ * Teams. Required for
+ * workspaces on the default bot-based Teams backend; optional for workspaces on the API-based backend.
+ * Must not be supplied when `publishAsAutopilot` is true.
+ *
+ * @param botServiceArmId the botServiceArmId value to set.
+ * @return the PublishAgentToMicrosoft365Options object itself.
+ */
+ @Generated
+ public PublishAgentToMicrosoft365Options setBotServiceArmId(String botServiceArmId) {
+ this.botServiceArmId = botServiceArmId;
+ return this;
+ }
+
+ /**
+ * Get the publishAsAutopilot property: When true, the agent is published as an autopilot (digital worker) agent:
+ * the bot id is taken from
+ * the agent's blueprint identity and the generated Teams manifest is marked as a digital worker.
+ *
+ * @return the publishAsAutopilot value.
+ */
+ @Generated
+ public Boolean isPublishAsAutopilot() {
+ return this.publishAsAutopilot;
+ }
+
+ /**
+ * Set the publishAsAutopilot property: When true, the agent is published as an autopilot (digital worker) agent:
+ * the bot id is taken from
+ * the agent's blueprint identity and the generated Teams manifest is marked as a digital worker.
+ *
+ * @param publishAsAutopilot the publishAsAutopilot value to set.
+ * @return the PublishAgentToMicrosoft365Options object itself.
+ */
+ @Generated
+ public PublishAgentToMicrosoft365Options setPublishAsAutopilot(Boolean publishAsAutopilot) {
+ this.publishAsAutopilot = publishAsAutopilot;
+ return this;
+ }
+
+ /**
+ * Get the accessBoundaries property: Activity-protocol access boundaries to apply to the agent when publishing as
+ * an autopilot agent.
+ * An empty list clears the existing boundaries. When omitted, the existing boundaries are left
+ * unchanged.
+ *
+ * @return the accessBoundaries value.
+ */
+ @Generated
+ public List getAccessBoundaries() {
+ return this.accessBoundaries;
+ }
+
+ /**
+ * Set the accessBoundaries property: Activity-protocol access boundaries to apply to the agent when publishing as
+ * an autopilot agent.
+ * An empty list clears the existing boundaries. When omitted, the existing boundaries are left
+ * unchanged.
+ *
+ * @param accessBoundaries the accessBoundaries value to set.
+ * @return the PublishAgentToMicrosoft365Options object itself.
+ */
+ @Generated
+ public PublishAgentToMicrosoft365Options
+ setAccessBoundaries(List accessBoundaries) {
+ this.accessBoundaries = accessBoundaries;
+ return this;
+ }
+
+ /**
+ * Get the optionalPermissionScopes property: Exact selection of delegated permission scopes to grant to the
+ * autopilot blueprint. May only be
+ * supplied when `publishAsAutopilot` is true. When omitted or empty, the platform's default
+ * permission set is used. Mandatory platform permissions are always granted and are not affected by
+ * this value.
+ *
+ * @return the optionalPermissionScopes value.
+ */
+ @Generated
+ public List getOptionalPermissionScopes() {
+ return this.optionalPermissionScopes;
+ }
+
+ /**
+ * Set the optionalPermissionScopes property: Exact selection of delegated permission scopes to grant to the
+ * autopilot blueprint. May only be
+ * supplied when `publishAsAutopilot` is true. When omitted or empty, the platform's default
+ * permission set is used. Mandatory platform permissions are always granted and are not affected by
+ * this value.
+ *
+ * @param optionalPermissionScopes the optionalPermissionScopes value to set.
+ * @return the PublishAgentToMicrosoft365Options object itself.
+ */
+ @Generated
+ public PublishAgentToMicrosoft365Options
+ setOptionalPermissionScopes(List optionalPermissionScopes) {
+ this.optionalPermissionScopes = optionalPermissionScopes;
+ return this;
+ }
+
+ /**
+ * Get the publishScope property: Publish scope for the Teams app.
+ *
+ * @return the publishScope value.
+ */
+ @Generated
+ public Microsoft365PublishScope getPublishScope() {
+ return this.publishScope;
+ }
+
+ /**
+ * Get the canRespondWithoutMention property: Controls how the published agent responds to Teams messages: when true
+ * it responds to all messages
+ * on its surfaces, when false only when it is at-mentioned. When omitted, the agent's existing Teams
+ * message-notification setting is left unchanged.
+ *
+ * @return the canRespondWithoutMention value.
+ */
+ @Generated
+ public Boolean isCanRespondWithoutMention() {
+ return this.canRespondWithoutMention;
+ }
+
+ /**
+ * Set the canRespondWithoutMention property: Controls how the published agent responds to Teams messages: when true
+ * it responds to all messages
+ * on its surfaces, when false only when it is at-mentioned. When omitted, the agent's existing Teams
+ * message-notification setting is left unchanged.
+ *
+ * @param canRespondWithoutMention the canRespondWithoutMention value to set.
+ * @return the PublishAgentToMicrosoft365Options object itself.
+ */
+ @Generated
+ public PublishAgentToMicrosoft365Options setCanRespondWithoutMention(Boolean canRespondWithoutMention) {
+ this.canRespondWithoutMention = canRespondWithoutMention;
+ return this;
+ }
+
+ /**
+ * Get the appVersion property: App version (for example `1.2.3`) written into the Teams manifest. May contain only
+ * digits and
+ * periods, must not start with `0`, and must end with a digit. When omitted, a platform default is
+ * used.
+ *
+ * @return the appVersion value.
+ */
+ @Generated
+ public String getAppVersion() {
+ return this.appVersion;
+ }
+
+ /**
+ * Set the appVersion property: App version (for example `1.2.3`) written into the Teams manifest. May contain only
+ * digits and
+ * periods, must not start with `0`, and must end with a digit. When omitted, a platform default is
+ * used.
+ *
+ * @param appVersion the appVersion value to set.
+ * @return the PublishAgentToMicrosoft365Options object itself.
+ */
+ @Generated
+ public PublishAgentToMicrosoft365Options setAppVersion(String appVersion) {
+ this.appVersion = appVersion;
+ return this;
+ }
+
+ /**
+ * Get the shortDescription property: Short, one-line description shown in the Teams app listing.
+ *
+ * @return the shortDescription value.
+ */
+ @Generated
+ public String getShortDescription() {
+ return this.shortDescription;
+ }
+
+ /**
+ * Set the shortDescription property: Short, one-line description shown in the Teams app listing.
+ *
+ * @param shortDescription the shortDescription value to set.
+ * @return the PublishAgentToMicrosoft365Options object itself.
+ */
+ @Generated
+ public PublishAgentToMicrosoft365Options setShortDescription(String shortDescription) {
+ this.shortDescription = shortDescription;
+ return this;
+ }
+
+ /**
+ * Get the fullDescription property: Full description shown on the Teams app details page.
+ *
+ * @return the fullDescription value.
+ */
+ @Generated
+ public String getFullDescription() {
+ return this.fullDescription;
+ }
+
+ /**
+ * Set the fullDescription property: Full description shown on the Teams app details page.
+ *
+ * @param fullDescription the fullDescription value to set.
+ * @return the PublishAgentToMicrosoft365Options object itself.
+ */
+ @Generated
+ public PublishAgentToMicrosoft365Options setFullDescription(String fullDescription) {
+ this.fullDescription = fullDescription;
+ return this;
+ }
+
+ /**
+ * Get the developerName property: Display name of the developer / publisher shown in the Teams app listing.
+ *
+ * @return the developerName value.
+ */
+ @Generated
+ public String getDeveloperName() {
+ return this.developerName;
+ }
+
+ /**
+ * Set the developerName property: Display name of the developer / publisher shown in the Teams app listing.
+ *
+ * @param developerName the developerName value to set.
+ * @return the PublishAgentToMicrosoft365Options object itself.
+ */
+ @Generated
+ public PublishAgentToMicrosoft365Options setDeveloperName(String developerName) {
+ this.developerName = developerName;
+ return this;
+ }
+
+ /**
+ * Get the developerWebsiteUrl property: Developer / publisher website URL shown in the Teams app listing. Must be
+ * an https URL.
+ *
+ * @return the developerWebsiteUrl value.
+ */
+ @Generated
+ public String getDeveloperWebsiteUrl() {
+ return this.developerWebsiteUrl;
+ }
+
+ /**
+ * Set the developerWebsiteUrl property: Developer / publisher website URL shown in the Teams app listing. Must be
+ * an https URL.
+ *
+ * @param developerWebsiteUrl the developerWebsiteUrl value to set.
+ * @return the PublishAgentToMicrosoft365Options object itself.
+ */
+ @Generated
+ public PublishAgentToMicrosoft365Options setDeveloperWebsiteUrl(String developerWebsiteUrl) {
+ this.developerWebsiteUrl = developerWebsiteUrl;
+ return this;
+ }
+
+ /**
+ * Get the privacyUrl property: Privacy policy URL shown in the Teams app listing. Must be an http or https URL.
+ *
+ * @return the privacyUrl value.
+ */
+ @Generated
+ public String getPrivacyUrl() {
+ return this.privacyUrl;
+ }
+
+ /**
+ * Set the privacyUrl property: Privacy policy URL shown in the Teams app listing. Must be an http or https URL.
+ *
+ * @param privacyUrl the privacyUrl value to set.
+ * @return the PublishAgentToMicrosoft365Options object itself.
+ */
+ @Generated
+ public PublishAgentToMicrosoft365Options setPrivacyUrl(String privacyUrl) {
+ this.privacyUrl = privacyUrl;
+ return this;
+ }
+
+ /**
+ * Get the termsOfUseUrl property: Terms-of-use URL shown in the Teams app listing.
+ *
+ * @return the termsOfUseUrl value.
+ */
+ @Generated
+ public String getTermsOfUseUrl() {
+ return this.termsOfUseUrl;
+ }
+
+ /**
+ * Set the termsOfUseUrl property: Terms-of-use URL shown in the Teams app listing.
+ *
+ * @param termsOfUseUrl the termsOfUseUrl value to set.
+ * @return the PublishAgentToMicrosoft365Options object itself.
+ */
+ @Generated
+ public PublishAgentToMicrosoft365Options setTermsOfUseUrl(String termsOfUseUrl) {
+ this.termsOfUseUrl = termsOfUseUrl;
+ return this;
+ }
+
+ /**
+ * Get the colorIconBase64 property: Optional base64-encoded PNG used as the color (full-bleed) icon in the Teams
+ * app package. Must be a
+ * 192x192 PNG (perfect square, no border or rounded corners). Max 1 MB after decode. When omitted, the
+ * platform default color icon is used.
+ *
+ * @return the colorIconBase64 value.
+ */
+ @Generated
+ public String getColorIconBase64() {
+ return this.colorIconBase64;
+ }
+
+ /**
+ * Set the colorIconBase64 property: Optional base64-encoded PNG used as the color (full-bleed) icon in the Teams
+ * app package. Must be a
+ * 192x192 PNG (perfect square, no border or rounded corners). Max 1 MB after decode. When omitted, the
+ * platform default color icon is used.
+ *
+ * @param colorIconBase64 the colorIconBase64 value to set.
+ * @return the PublishAgentToMicrosoft365Options object itself.
+ */
+ @Generated
+ public PublishAgentToMicrosoft365Options setColorIconBase64(String colorIconBase64) {
+ this.colorIconBase64 = colorIconBase64;
+ return this;
+ }
+
+ /**
+ * Get the outlineIconBase64 property: Optional base64-encoded PNG used as the outline icon in the Teams app
+ * package. Must be a 32x32 PNG.
+ * Max 1 MB after decode. When omitted, the platform default outline icon is used.
+ *
+ * @return the outlineIconBase64 value.
+ */
+ @Generated
+ public String getOutlineIconBase64() {
+ return this.outlineIconBase64;
+ }
+
+ /**
+ * Set the outlineIconBase64 property: Optional base64-encoded PNG used as the outline icon in the Teams app
+ * package. Must be a 32x32 PNG.
+ * Max 1 MB after decode. When omitted, the platform default outline icon is used.
+ *
+ * @param outlineIconBase64 the outlineIconBase64 value to set.
+ * @return the PublishAgentToMicrosoft365Options object itself.
+ */
+ @Generated
+ public PublishAgentToMicrosoft365Options setOutlineIconBase64(String outlineIconBase64) {
+ this.outlineIconBase64 = outlineIconBase64;
+ return this;
+ }
+}
diff --git a/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/PublishApprovalStatus.java b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/PublishApprovalStatus.java
new file mode 100644
index 000000000000..a196e22c572e
--- /dev/null
+++ b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/PublishApprovalStatus.java
@@ -0,0 +1,76 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) TypeSpec Code Generator.
+package com.azure.ai.agents.models;
+
+import com.azure.core.annotation.Generated;
+import com.azure.core.util.ExpandableStringEnum;
+import java.util.Collection;
+
+/**
+ * The Microsoft Agent Certification review status of the Microsoft 365 store title published for an agent.
+ */
+public final class PublishApprovalStatus extends ExpandableStringEnum {
+
+ /**
+ * The agent has never been published to the Microsoft 365 store, so there is nothing to review.
+ */
+ @Generated
+ public static final PublishApprovalStatus NOT_PUBLISHED = fromString("not_published");
+
+ /**
+ * The published title is awaiting a review decision.
+ */
+ @Generated
+ public static final PublishApprovalStatus PENDING = fromString("pending");
+
+ /**
+ * The title passed review, as of this read.
+ */
+ @Generated
+ public static final PublishApprovalStatus APPROVED = fromString("approved");
+
+ /**
+ * The title was rejected in review, as of this read.
+ */
+ @Generated
+ public static final PublishApprovalStatus REJECTED = fromString("rejected");
+
+ /**
+ * The agent is published at a scope that does not go through Microsoft Agent Certification. Only tenant-scoped
+ * titles are reviewed.
+ */
+ @Generated
+ public static final PublishApprovalStatus NO_APPROVAL_NEEDED = fromString("no_approval_needed");
+
+ /**
+ * Creates a new instance of PublishApprovalStatus value.
+ *
+ * @deprecated Use the {@link #fromString(String)} factory method.
+ */
+ @Generated
+ @Deprecated
+ public PublishApprovalStatus() {
+ }
+
+ /**
+ * Creates or finds a PublishApprovalStatus from its string representation.
+ *
+ * @param name a name to look for.
+ * @return the corresponding PublishApprovalStatus.
+ */
+ @Generated
+ public static PublishApprovalStatus fromString(String name) {
+ return fromString(name, PublishApprovalStatus.class);
+ }
+
+ /**
+ * Gets known PublishApprovalStatus values.
+ *
+ * @return known PublishApprovalStatus values.
+ */
+ @Generated
+ public static Collection values() {
+ return values(PublishApprovalStatus.class);
+ }
+}
diff --git a/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/RoutingTraceEntry.java b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/RoutingTraceEntry.java
new file mode 100644
index 000000000000..236788bc930c
--- /dev/null
+++ b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/RoutingTraceEntry.java
@@ -0,0 +1,139 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) TypeSpec Code Generator.
+package com.azure.ai.agents.models;
+
+import com.azure.ai.agents.implementation.utils.Beta;
+import com.azure.core.annotation.Generated;
+import com.azure.core.annotation.Immutable;
+import com.azure.json.JsonReader;
+import com.azure.json.JsonSerializable;
+import com.azure.json.JsonToken;
+import com.azure.json.JsonWriter;
+import java.io.IOException;
+import java.time.Duration;
+import java.util.List;
+
+/**
+ * A single entry in the routing trace representing one inference turn. Each entry contains the latency and the ordered
+ * list of attempts for that turn.
+ */
+@Immutable
+@Beta(warningText = "Preview API. ModelRouterControls=V1Preview")
+public final class RoutingTraceEntry implements JsonSerializable {
+
+ /*
+ * Identifier of the output item/turn this routing decision is associated with. This is omitted for Chat
+ * Completions.
+ */
+ @Generated
+ private String outputId;
+
+ /*
+ * Time in milliseconds spent in the routing decision for this turn.
+ */
+ @Generated
+ private final long latencyMs;
+
+ /*
+ * Ordered list of routing attempts. First element is the initial selection; subsequent elements are fallback
+ * attempts. There is always at least one attempt.
+ */
+ @Generated
+ private final List attempts;
+
+ /**
+ * Creates an instance of RoutingTraceEntry class.
+ *
+ * @param latencyMs the latencyMs value to set.
+ * @param attempts the attempts value to set.
+ */
+ @Generated
+ private RoutingTraceEntry(Duration latencyMs, List attempts) {
+ if (latencyMs == null) {
+ this.latencyMs = 0L;
+ } else {
+ this.latencyMs = latencyMs.toMillis();
+ }
+ this.attempts = attempts;
+ }
+
+ /**
+ * Get the outputId property: Identifier of the output item/turn this routing decision is associated with. This is
+ * omitted for Chat Completions.
+ *
+ * @return the outputId value.
+ */
+ @Generated
+ public String getOutputId() {
+ return this.outputId;
+ }
+
+ /**
+ * Get the latencyMs property: Time in milliseconds spent in the routing decision for this turn.
+ *
+ * @return the latencyMs value.
+ */
+ @Generated
+ public Duration getLatencyMs() {
+ return Duration.ofMillis(this.latencyMs);
+ }
+
+ /**
+ * Get the attempts property: Ordered list of routing attempts. First element is the initial selection; subsequent
+ * elements are fallback attempts. There is always at least one attempt.
+ *
+ * @return the attempts value.
+ */
+ @Generated
+ public List getAttempts() {
+ return this.attempts;
+ }
+
+ /**
+ * {@inheritDoc}
+ */
+ @Generated
+ @Override
+ public JsonWriter toJson(JsonWriter jsonWriter) throws IOException {
+ jsonWriter.writeStartObject();
+ jsonWriter.writeLongField("latency_ms", this.latencyMs);
+ jsonWriter.writeArrayField("attempts", this.attempts, (writer, element) -> writer.writeJson(element));
+ jsonWriter.writeStringField("output_id", this.outputId);
+ return jsonWriter.writeEndObject();
+ }
+
+ /**
+ * Reads an instance of RoutingTraceEntry from the JsonReader.
+ *
+ * @param jsonReader The JsonReader being read.
+ * @return An instance of RoutingTraceEntry if the JsonReader was pointing to an instance of it, or null if it was
+ * pointing to JSON null.
+ * @throws IllegalStateException If the deserialized JSON object was missing any required properties.
+ * @throws IOException If an error occurs while reading the RoutingTraceEntry.
+ */
+ @Generated
+ public static RoutingTraceEntry fromJson(JsonReader jsonReader) throws IOException {
+ return jsonReader.readObject(reader -> {
+ Duration latencyMs = null;
+ List attempts = null;
+ String outputId = null;
+ while (reader.nextToken() != JsonToken.END_OBJECT) {
+ String fieldName = reader.getFieldName();
+ reader.nextToken();
+ if ("latency_ms".equals(fieldName)) {
+ latencyMs = Duration.ofMillis(reader.getLong());
+ } else if ("attempts".equals(fieldName)) {
+ attempts = reader.readArray(reader1 -> ModelRouterAttempt.fromJson(reader1));
+ } else if ("output_id".equals(fieldName)) {
+ outputId = reader.getString();
+ } else {
+ reader.skipChildren();
+ }
+ }
+ RoutingTraceEntry deserializedRoutingTraceEntry = new RoutingTraceEntry(latencyMs, attempts);
+ deserializedRoutingTraceEntry.outputId = outputId;
+ return deserializedRoutingTraceEntry;
+ });
+ }
+}
diff --git a/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/SessionConfiguration.java b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/SessionConfiguration.java
new file mode 100644
index 000000000000..dc1d5ac9b834
--- /dev/null
+++ b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/SessionConfiguration.java
@@ -0,0 +1,106 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) TypeSpec Code Generator.
+package com.azure.ai.agents.models;
+
+import com.azure.core.annotation.Fluent;
+import com.azure.core.annotation.Generated;
+import com.azure.json.JsonReader;
+import com.azure.json.JsonSerializable;
+import com.azure.json.JsonToken;
+import com.azure.json.JsonWriter;
+import java.io.IOException;
+import java.time.Duration;
+
+/**
+ * Session defaults applied to sessions created for a hosted agent version.
+ */
+@Fluent
+public final class SessionConfiguration implements JsonSerializable {
+
+ /*
+ * The idle duration, in seconds, before a session's sandbox is suspended. Optional — when
+ * unset, the server default of 900 seconds is used. Must be between 120 and 3600 seconds
+ * (inclusive).
+ */
+ @Generated
+ private Long idleTimeoutSeconds;
+
+ /**
+ * Creates an instance of SessionConfiguration class.
+ */
+ @Generated
+ public SessionConfiguration() {
+ }
+
+ /**
+ * Get the idleTimeoutSeconds property: The idle duration, in seconds, before a session's sandbox is suspended.
+ * Optional — when
+ * unset, the server default of 900 seconds is used. Must be between 120 and 3600 seconds
+ * (inclusive).
+ *
+ * @return the idleTimeoutSeconds value.
+ */
+ @Generated
+ public Duration getIdleTimeoutSeconds() {
+ if (this.idleTimeoutSeconds == null) {
+ return null;
+ }
+ return Duration.ofSeconds(this.idleTimeoutSeconds);
+ }
+
+ /**
+ * Set the idleTimeoutSeconds property: The idle duration, in seconds, before a session's sandbox is suspended.
+ * Optional — when
+ * unset, the server default of 900 seconds is used. Must be between 120 and 3600 seconds
+ * (inclusive).
+ *
+ * @param idleTimeoutSeconds the idleTimeoutSeconds value to set.
+ * @return the SessionConfiguration object itself.
+ */
+ @Generated
+ public SessionConfiguration setIdleTimeoutSeconds(Duration idleTimeoutSeconds) {
+ if (idleTimeoutSeconds == null) {
+ this.idleTimeoutSeconds = null;
+ } else {
+ this.idleTimeoutSeconds = idleTimeoutSeconds.getSeconds();
+ }
+ return this;
+ }
+
+ /**
+ * {@inheritDoc}
+ */
+ @Generated
+ @Override
+ public JsonWriter toJson(JsonWriter jsonWriter) throws IOException {
+ jsonWriter.writeStartObject();
+ jsonWriter.writeNumberField("idle_timeout_seconds", this.idleTimeoutSeconds);
+ return jsonWriter.writeEndObject();
+ }
+
+ /**
+ * Reads an instance of SessionConfiguration from the JsonReader.
+ *
+ * @param jsonReader The JsonReader being read.
+ * @return An instance of SessionConfiguration if the JsonReader was pointing to an instance of it, or null if it
+ * was pointing to JSON null.
+ * @throws IOException If an error occurs while reading the SessionConfiguration.
+ */
+ @Generated
+ public static SessionConfiguration fromJson(JsonReader jsonReader) throws IOException {
+ return jsonReader.readObject(reader -> {
+ SessionConfiguration deserializedSessionConfiguration = new SessionConfiguration();
+ while (reader.nextToken() != JsonToken.END_OBJECT) {
+ String fieldName = reader.getFieldName();
+ reader.nextToken();
+ if ("idle_timeout_seconds".equals(fieldName)) {
+ deserializedSessionConfiguration.idleTimeoutSeconds = reader.getNullable(JsonReader::getLong);
+ } else {
+ reader.skipChildren();
+ }
+ }
+ return deserializedSessionConfiguration;
+ });
+ }
+}
diff --git a/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/ShellToolboxTool.java b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/ShellToolboxTool.java
new file mode 100644
index 000000000000..360ac6f68952
--- /dev/null
+++ b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/ShellToolboxTool.java
@@ -0,0 +1,189 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) TypeSpec Code Generator.
+package com.azure.ai.agents.models;
+
+import com.azure.core.annotation.Fluent;
+import com.azure.core.annotation.Generated;
+import com.azure.json.JsonReader;
+import com.azure.json.JsonToken;
+import com.azure.json.JsonWriter;
+import java.io.IOException;
+import java.util.List;
+import java.util.Map;
+
+/**
+ * A shell tool stored in a toolbox. This model is additive to toolbox configuration and does not modify the OpenAI tool
+ * contract or existing toolbox tool definitions.
+ */
+@Fluent
+public final class ShellToolboxTool extends ToolboxTool {
+
+ /*
+ * The type of tool.
+ */
+ @Generated
+ private ToolboxToolType type = ToolboxToolType.SHELL;
+
+ /*
+ * The allowed_callers property.
+ */
+ @Generated
+ private List allowedCallers;
+
+ /*
+ * The environment in which shell commands are executed. Specify an automatically provisioned container or an
+ * existing container.
+ */
+ @Generated
+ private final ToolboxShellEnvironment environment;
+
+ /**
+ * Creates an instance of ShellToolboxTool class.
+ *
+ * @param environment the environment value to set.
+ */
+ @Generated
+ public ShellToolboxTool(ToolboxShellEnvironment environment) {
+ this.environment = environment;
+ }
+
+ /**
+ * Get the type property: The type of tool.
+ *
+ * @return the type value.
+ */
+ @Generated
+ @Override
+ public ToolboxToolType getType() {
+ return this.type;
+ }
+
+ /**
+ * Get the allowedCallers property: The allowed_callers property.
+ *
+ * @return the allowedCallers value.
+ */
+ @Generated
+ public List getAllowedCallers() {
+ return this.allowedCallers;
+ }
+
+ /**
+ * Set the allowedCallers property: The allowed_callers property.
+ *
+ * @param allowedCallers the allowedCallers value to set.
+ * @return the ShellToolboxTool object itself.
+ */
+ @Generated
+ public ShellToolboxTool setAllowedCallers(List allowedCallers) {
+ this.allowedCallers = allowedCallers;
+ return this;
+ }
+
+ /**
+ * Get the environment property: The environment in which shell commands are executed. Specify an automatically
+ * provisioned container or an existing container.
+ *
+ * @return the environment value.
+ */
+ @Generated
+ public ToolboxShellEnvironment getEnvironment() {
+ return this.environment;
+ }
+
+ /**
+ * {@inheritDoc}
+ */
+ @Generated
+ @Override
+ public ShellToolboxTool setName(String name) {
+ super.setName(name);
+ return this;
+ }
+
+ /**
+ * {@inheritDoc}
+ */
+ @Generated
+ @Override
+ public ShellToolboxTool setDescription(String description) {
+ super.setDescription(description);
+ return this;
+ }
+
+ /**
+ * {@inheritDoc}
+ */
+ @Generated
+ @Override
+ public ShellToolboxTool setToolConfigs(Map toolConfigs) {
+ super.setToolConfigs(toolConfigs);
+ return this;
+ }
+
+ /**
+ * {@inheritDoc}
+ */
+ @Generated
+ @Override
+ public JsonWriter toJson(JsonWriter jsonWriter) throws IOException {
+ jsonWriter.writeStartObject();
+ jsonWriter.writeStringField("name", getName());
+ jsonWriter.writeStringField("description", getDescription());
+ jsonWriter.writeMapField("tool_configs", getToolConfigs(), (writer, element) -> writer.writeJson(element));
+ jsonWriter.writeJsonField("environment", this.environment);
+ jsonWriter.writeStringField("type", this.type == null ? null : this.type.toString());
+ jsonWriter.writeArrayField("allowed_callers", this.allowedCallers,
+ (writer, element) -> writer.writeString(element == null ? null : element.toString()));
+ return jsonWriter.writeEndObject();
+ }
+
+ /**
+ * Reads an instance of ShellToolboxTool from the JsonReader.
+ *
+ * @param jsonReader The JsonReader being read.
+ * @return An instance of ShellToolboxTool if the JsonReader was pointing to an instance of it, or null if it was
+ * pointing to JSON null.
+ * @throws IllegalStateException If the deserialized JSON object was missing any required properties.
+ * @throws IOException If an error occurs while reading the ShellToolboxTool.
+ */
+ @Generated
+ public static ShellToolboxTool fromJson(JsonReader jsonReader) throws IOException {
+ return jsonReader.readObject(reader -> {
+ String name = null;
+ String description = null;
+ Map toolConfigs = null;
+ ToolboxShellEnvironment environment = null;
+ ToolboxToolType type = ToolboxToolType.SHELL;
+ List allowedCallers = null;
+ while (reader.nextToken() != JsonToken.END_OBJECT) {
+ String fieldName = reader.getFieldName();
+ reader.nextToken();
+ if ("name".equals(fieldName)) {
+ name = reader.getString();
+ } else if ("description".equals(fieldName)) {
+ description = reader.getString();
+ } else if ("tool_configs".equals(fieldName)) {
+ toolConfigs = reader.readMap(reader1 -> ToolConfig.fromJson(reader1));
+ } else if ("environment".equals(fieldName)) {
+ environment = ToolboxShellEnvironment.fromJson(reader);
+ } else if ("type".equals(fieldName)) {
+ type = ToolboxToolType.fromString(reader.getString());
+ } else if ("allowed_callers".equals(fieldName)) {
+ allowedCallers
+ = reader.readArray(reader1 -> CallableToolAllowedCaller.fromString(reader1.getString()));
+ } else {
+ reader.skipChildren();
+ }
+ }
+ ShellToolboxTool deserializedShellToolboxTool = new ShellToolboxTool(environment);
+ deserializedShellToolboxTool.setName(name);
+ deserializedShellToolboxTool.setDescription(description);
+ deserializedShellToolboxTool.setToolConfigs(toolConfigs);
+ deserializedShellToolboxTool.type = type;
+ deserializedShellToolboxTool.allowedCallers = allowedCallers;
+ return deserializedShellToolboxTool;
+ });
+ }
+}
diff --git a/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/Tool.java b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/Tool.java
index dd66a77cdca9..a27079d0f4c3 100644
--- a/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/Tool.java
+++ b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/Tool.java
@@ -103,20 +103,22 @@ public static Tool fromJson(JsonReader jsonReader) throws IOException {
return WorkIqPreviewTool.fromJson(readerToUse.reset());
} else if ("fabric_iq_preview".equals(discriminatorValue)) {
return FabricIqPreviewTool.fromJson(readerToUse.reset());
+ } else if ("web_iq_preview".equals(discriminatorValue)) {
+ return WebIqPreviewTool.fromJson(readerToUse.reset());
} else if ("memory_search_preview".equals(discriminatorValue)) {
return MemorySearchPreviewTool.fromJson(readerToUse.reset());
- } else if ("code_interpreter".equals(discriminatorValue)) {
- return CodeInterpreterTool.fromJson(readerToUse.reset());
- } else if ("file_search".equals(discriminatorValue)) {
- return FileSearchTool.fromJson(readerToUse.reset());
- } else if ("web_search".equals(discriminatorValue)) {
- return WebSearchTool.fromJson(readerToUse.reset());
} else if ("mcp".equals(discriminatorValue)) {
return McpTool.fromJson(readerToUse.reset());
+ } else if ("code_interpreter".equals(discriminatorValue)) {
+ return CodeInterpreterTool.fromJson(readerToUse.reset());
} else if ("function".equals(discriminatorValue)) {
return FunctionTool.fromJson(readerToUse.reset());
+ } else if ("file_search".equals(discriminatorValue)) {
+ return FileSearchTool.fromJson(readerToUse.reset());
} else if ("computer_use_preview".equals(discriminatorValue)) {
return ComputerUsePreviewTool.fromJson(readerToUse.reset());
+ } else if ("web_search".equals(discriminatorValue)) {
+ return WebSearchTool.fromJson(readerToUse.reset());
} else if ("programmatic_tool_calling".equals(discriminatorValue)) {
return ProgrammaticToolCallingParameter.fromJson(readerToUse.reset());
} else if ("image_generation".equals(discriminatorValue)) {
diff --git a/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/ToolType.java b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/ToolType.java
index 509ca5da31ce..b0097f9c6da2 100644
--- a/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/ToolType.java
+++ b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/ToolType.java
@@ -228,4 +228,10 @@ public static Collection values() {
*/
@Generated
public static final ToolType A2A = fromString("a2a");
+
+ /**
+ * Static value web_iq_preview for ToolType.
+ */
+ @Generated
+ public static final ToolType WEB_IQ_PREVIEW = fromString("web_iq_preview");
}
diff --git a/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/ToolboxShellContainerAutoEnvironment.java b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/ToolboxShellContainerAutoEnvironment.java
new file mode 100644
index 000000000000..149298d8d649
--- /dev/null
+++ b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/ToolboxShellContainerAutoEnvironment.java
@@ -0,0 +1,211 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) TypeSpec Code Generator.
+package com.azure.ai.agents.models;
+
+import com.azure.core.annotation.Fluent;
+import com.azure.core.annotation.Generated;
+import com.azure.json.JsonReader;
+import com.azure.json.JsonToken;
+import com.azure.json.JsonWriter;
+import java.io.IOException;
+import java.util.List;
+
+/**
+ * An automatically provisioned container environment for a shell tool stored in a toolbox.
+ */
+@Fluent
+public final class ToolboxShellContainerAutoEnvironment extends ToolboxShellEnvironment {
+
+ /*
+ * The type of the shell execution environment.
+ */
+ @Generated
+ private String type = "container_auto";
+
+ /*
+ * An optional list of uploaded files to make available to your code.
+ */
+ @Generated
+ private List fileIds;
+
+ /*
+ * The memory_limit property.
+ */
+ @Generated
+ private ContainerMemoryLimit memoryLimit;
+
+ /*
+ * An optional list of skills referenced by id or inline data.
+ */
+ @Generated
+ private List skills;
+
+ /*
+ * The network access policy for the container. When omitted, the service defaults to disabled outbound network
+ * access.
+ */
+ @Generated
+ private ToolboxShellNetworkPolicy networkPolicy;
+
+ /**
+ * Creates an instance of ToolboxShellContainerAutoEnvironment class.
+ */
+ @Generated
+ public ToolboxShellContainerAutoEnvironment() {
+ }
+
+ /**
+ * Get the type property: The type of the shell execution environment.
+ *
+ * @return the type value.
+ */
+ @Generated
+ @Override
+ public String getType() {
+ return this.type;
+ }
+
+ /**
+ * Get the fileIds property: An optional list of uploaded files to make available to your code.
+ *
+ * @return the fileIds value.
+ */
+ @Generated
+ public List getFileIds() {
+ return this.fileIds;
+ }
+
+ /**
+ * Set the fileIds property: An optional list of uploaded files to make available to your code.
+ *
+ * @param fileIds the fileIds value to set.
+ * @return the ToolboxShellContainerAutoEnvironment object itself.
+ */
+ @Generated
+ public ToolboxShellContainerAutoEnvironment setFileIds(List fileIds) {
+ this.fileIds = fileIds;
+ return this;
+ }
+
+ /**
+ * Get the memoryLimit property: The memory_limit property.
+ *
+ * @return the memoryLimit value.
+ */
+ @Generated
+ public ContainerMemoryLimit getMemoryLimit() {
+ return this.memoryLimit;
+ }
+
+ /**
+ * Set the memoryLimit property: The memory_limit property.
+ *
+ * @param memoryLimit the memoryLimit value to set.
+ * @return the ToolboxShellContainerAutoEnvironment object itself.
+ */
+ @Generated
+ public ToolboxShellContainerAutoEnvironment setMemoryLimit(ContainerMemoryLimit memoryLimit) {
+ this.memoryLimit = memoryLimit;
+ return this;
+ }
+
+ /**
+ * Get the skills property: An optional list of skills referenced by id or inline data.
+ *
+ * @return the skills value.
+ */
+ @Generated
+ public List getSkills() {
+ return this.skills;
+ }
+
+ /**
+ * Set the skills property: An optional list of skills referenced by id or inline data.
+ *
+ * @param skills the skills value to set.
+ * @return the ToolboxShellContainerAutoEnvironment object itself.
+ */
+ @Generated
+ public ToolboxShellContainerAutoEnvironment setSkills(List skills) {
+ this.skills = skills;
+ return this;
+ }
+
+ /**
+ * Get the networkPolicy property: The network access policy for the container. When omitted, the service defaults
+ * to disabled outbound network access.
+ *
+ * @return the networkPolicy value.
+ */
+ @Generated
+ public ToolboxShellNetworkPolicy getNetworkPolicy() {
+ return this.networkPolicy;
+ }
+
+ /**
+ * Set the networkPolicy property: The network access policy for the container. When omitted, the service defaults
+ * to disabled outbound network access.
+ *
+ * @param networkPolicy the networkPolicy value to set.
+ * @return the ToolboxShellContainerAutoEnvironment object itself.
+ */
+ @Generated
+ public ToolboxShellContainerAutoEnvironment setNetworkPolicy(ToolboxShellNetworkPolicy networkPolicy) {
+ this.networkPolicy = networkPolicy;
+ return this;
+ }
+
+ /**
+ * {@inheritDoc}
+ */
+ @Generated
+ @Override
+ public JsonWriter toJson(JsonWriter jsonWriter) throws IOException {
+ jsonWriter.writeStartObject();
+ jsonWriter.writeStringField("type", this.type);
+ jsonWriter.writeArrayField("file_ids", this.fileIds, (writer, element) -> writer.writeString(element));
+ jsonWriter.writeStringField("memory_limit", this.memoryLimit == null ? null : this.memoryLimit.toString());
+ jsonWriter.writeArrayField("skills", this.skills, (writer, element) -> writer.writeJson(element));
+ jsonWriter.writeJsonField("network_policy", this.networkPolicy);
+ return jsonWriter.writeEndObject();
+ }
+
+ /**
+ * Reads an instance of ToolboxShellContainerAutoEnvironment from the JsonReader.
+ *
+ * @param jsonReader The JsonReader being read.
+ * @return An instance of ToolboxShellContainerAutoEnvironment if the JsonReader was pointing to an instance of it,
+ * or null if it was pointing to JSON null.
+ * @throws IOException If an error occurs while reading the ToolboxShellContainerAutoEnvironment.
+ */
+ @Generated
+ public static ToolboxShellContainerAutoEnvironment fromJson(JsonReader jsonReader) throws IOException {
+ return jsonReader.readObject(reader -> {
+ ToolboxShellContainerAutoEnvironment deserializedToolboxShellContainerAutoEnvironment
+ = new ToolboxShellContainerAutoEnvironment();
+ while (reader.nextToken() != JsonToken.END_OBJECT) {
+ String fieldName = reader.getFieldName();
+ reader.nextToken();
+ if ("type".equals(fieldName)) {
+ deserializedToolboxShellContainerAutoEnvironment.type = reader.getString();
+ } else if ("file_ids".equals(fieldName)) {
+ List fileIds = reader.readArray(reader1 -> reader1.getString());
+ deserializedToolboxShellContainerAutoEnvironment.fileIds = fileIds;
+ } else if ("memory_limit".equals(fieldName)) {
+ deserializedToolboxShellContainerAutoEnvironment.memoryLimit
+ = ContainerMemoryLimit.fromString(reader.getString());
+ } else if ("skills".equals(fieldName)) {
+ List skills = reader.readArray(reader1 -> ContainerSkill.fromJson(reader1));
+ deserializedToolboxShellContainerAutoEnvironment.skills = skills;
+ } else if ("network_policy".equals(fieldName)) {
+ deserializedToolboxShellContainerAutoEnvironment.networkPolicy
+ = ToolboxShellNetworkPolicy.fromJson(reader);
+ } else {
+ reader.skipChildren();
+ }
+ }
+ return deserializedToolboxShellContainerAutoEnvironment;
+ });
+ }
+}
diff --git a/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/ToolboxShellContainerReferenceEnvironment.java b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/ToolboxShellContainerReferenceEnvironment.java
new file mode 100644
index 000000000000..82aeb683703f
--- /dev/null
+++ b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/ToolboxShellContainerReferenceEnvironment.java
@@ -0,0 +1,105 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) TypeSpec Code Generator.
+package com.azure.ai.agents.models;
+
+import com.azure.core.annotation.Generated;
+import com.azure.core.annotation.Immutable;
+import com.azure.json.JsonReader;
+import com.azure.json.JsonToken;
+import com.azure.json.JsonWriter;
+import java.io.IOException;
+
+/**
+ * An existing container environment for a shell tool stored in a toolbox.
+ */
+@Immutable
+public final class ToolboxShellContainerReferenceEnvironment extends ToolboxShellEnvironment {
+
+ /*
+ * The type of the shell execution environment.
+ */
+ @Generated
+ private String type = "container_reference";
+
+ /*
+ * The ID of the referenced container.
+ */
+ @Generated
+ private final String containerId;
+
+ /**
+ * Creates an instance of ToolboxShellContainerReferenceEnvironment class.
+ *
+ * @param containerId the containerId value to set.
+ */
+ @Generated
+ public ToolboxShellContainerReferenceEnvironment(String containerId) {
+ this.containerId = containerId;
+ }
+
+ /**
+ * Get the type property: The type of the shell execution environment.
+ *
+ * @return the type value.
+ */
+ @Generated
+ @Override
+ public String getType() {
+ return this.type;
+ }
+
+ /**
+ * Get the containerId property: The ID of the referenced container.
+ *
+ * @return the containerId value.
+ */
+ @Generated
+ public String getContainerId() {
+ return this.containerId;
+ }
+
+ /**
+ * {@inheritDoc}
+ */
+ @Generated
+ @Override
+ public JsonWriter toJson(JsonWriter jsonWriter) throws IOException {
+ jsonWriter.writeStartObject();
+ jsonWriter.writeStringField("container_id", this.containerId);
+ jsonWriter.writeStringField("type", this.type);
+ return jsonWriter.writeEndObject();
+ }
+
+ /**
+ * Reads an instance of ToolboxShellContainerReferenceEnvironment from the JsonReader.
+ *
+ * @param jsonReader The JsonReader being read.
+ * @return An instance of ToolboxShellContainerReferenceEnvironment if the JsonReader was pointing to an instance of
+ * it, or null if it was pointing to JSON null.
+ * @throws IllegalStateException If the deserialized JSON object was missing any required properties.
+ * @throws IOException If an error occurs while reading the ToolboxShellContainerReferenceEnvironment.
+ */
+ @Generated
+ public static ToolboxShellContainerReferenceEnvironment fromJson(JsonReader jsonReader) throws IOException {
+ return jsonReader.readObject(reader -> {
+ String containerId = null;
+ String type = "container_reference";
+ while (reader.nextToken() != JsonToken.END_OBJECT) {
+ String fieldName = reader.getFieldName();
+ reader.nextToken();
+ if ("container_id".equals(fieldName)) {
+ containerId = reader.getString();
+ } else if ("type".equals(fieldName)) {
+ type = reader.getString();
+ } else {
+ reader.skipChildren();
+ }
+ }
+ ToolboxShellContainerReferenceEnvironment deserializedToolboxShellContainerReferenceEnvironment
+ = new ToolboxShellContainerReferenceEnvironment(containerId);
+ deserializedToolboxShellContainerReferenceEnvironment.type = type;
+ return deserializedToolboxShellContainerReferenceEnvironment;
+ });
+ }
+}
diff --git a/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/ToolboxShellEnvironment.java b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/ToolboxShellEnvironment.java
new file mode 100644
index 000000000000..5d747806c6d1
--- /dev/null
+++ b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/ToolboxShellEnvironment.java
@@ -0,0 +1,108 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) TypeSpec Code Generator.
+package com.azure.ai.agents.models;
+
+import com.azure.core.annotation.Generated;
+import com.azure.core.annotation.Immutable;
+import com.azure.json.JsonReader;
+import com.azure.json.JsonSerializable;
+import com.azure.json.JsonToken;
+import com.azure.json.JsonWriter;
+import java.io.IOException;
+
+/**
+ * An execution environment for a shell tool stored in a toolbox. This environment model is scoped to toolbox
+ * configuration and does not modify the OpenAI shell environment contract.
+ */
+@Immutable
+public class ToolboxShellEnvironment implements JsonSerializable {
+
+ /*
+ * The type of the shell execution environment.
+ */
+ @Generated
+ private String type = "ToolboxShellEnvironment";
+
+ /**
+ * Creates an instance of ToolboxShellEnvironment class.
+ */
+ @Generated
+ public ToolboxShellEnvironment() {
+ }
+
+ /**
+ * Get the type property: The type of the shell execution environment.
+ *
+ * @return the type value.
+ */
+ @Generated
+ public String getType() {
+ return this.type;
+ }
+
+ /**
+ * {@inheritDoc}
+ */
+ @Generated
+ @Override
+ public JsonWriter toJson(JsonWriter jsonWriter) throws IOException {
+ jsonWriter.writeStartObject();
+ jsonWriter.writeStringField("type", this.type);
+ return jsonWriter.writeEndObject();
+ }
+
+ /**
+ * Reads an instance of ToolboxShellEnvironment from the JsonReader.
+ *
+ * @param jsonReader The JsonReader being read.
+ * @return An instance of ToolboxShellEnvironment if the JsonReader was pointing to an instance of it, or null if it
+ * was pointing to JSON null.
+ * @throws IOException If an error occurs while reading the ToolboxShellEnvironment.
+ */
+ @Generated
+ public static ToolboxShellEnvironment fromJson(JsonReader jsonReader) throws IOException {
+ return jsonReader.readObject(reader -> {
+ String discriminatorValue = null;
+ try (JsonReader readerToUse = reader.bufferObject()) {
+ // Prepare for reading
+ readerToUse.nextToken();
+ while (readerToUse.nextToken() != JsonToken.END_OBJECT) {
+ String fieldName = readerToUse.getFieldName();
+ readerToUse.nextToken();
+ if ("type".equals(fieldName)) {
+ discriminatorValue = readerToUse.getString();
+ break;
+ } else {
+ readerToUse.skipChildren();
+ }
+ }
+ // Use the discriminator value to determine which subtype should be deserialized.
+ if ("container_auto".equals(discriminatorValue)) {
+ return ToolboxShellContainerAutoEnvironment.fromJson(readerToUse.reset());
+ } else if ("container_reference".equals(discriminatorValue)) {
+ return ToolboxShellContainerReferenceEnvironment.fromJson(readerToUse.reset());
+ } else {
+ return fromJsonKnownDiscriminator(readerToUse.reset());
+ }
+ }
+ });
+ }
+
+ @Generated
+ static ToolboxShellEnvironment fromJsonKnownDiscriminator(JsonReader jsonReader) throws IOException {
+ return jsonReader.readObject(reader -> {
+ ToolboxShellEnvironment deserializedToolboxShellEnvironment = new ToolboxShellEnvironment();
+ while (reader.nextToken() != JsonToken.END_OBJECT) {
+ String fieldName = reader.getFieldName();
+ reader.nextToken();
+ if ("type".equals(fieldName)) {
+ deserializedToolboxShellEnvironment.type = reader.getString();
+ } else {
+ reader.skipChildren();
+ }
+ }
+ return deserializedToolboxShellEnvironment;
+ });
+ }
+}
diff --git a/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/ToolboxShellNetworkPolicy.java b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/ToolboxShellNetworkPolicy.java
new file mode 100644
index 000000000000..8112c67e89d4
--- /dev/null
+++ b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/ToolboxShellNetworkPolicy.java
@@ -0,0 +1,105 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) TypeSpec Code Generator.
+package com.azure.ai.agents.models;
+
+import com.azure.core.annotation.Generated;
+import com.azure.core.annotation.Immutable;
+import com.azure.json.JsonReader;
+import com.azure.json.JsonSerializable;
+import com.azure.json.JsonToken;
+import com.azure.json.JsonWriter;
+import java.io.IOException;
+
+/**
+ * Network access policy for an automatically provisioned toolbox shell container.
+ */
+@Immutable
+public class ToolboxShellNetworkPolicy implements JsonSerializable {
+
+ /*
+ * The type of network access policy.
+ */
+ @Generated
+ private String type = "ToolboxShellNetworkPolicy";
+
+ /**
+ * Creates an instance of ToolboxShellNetworkPolicy class.
+ */
+ @Generated
+ public ToolboxShellNetworkPolicy() {
+ }
+
+ /**
+ * Get the type property: The type of network access policy.
+ *
+ * @return the type value.
+ */
+ @Generated
+ public String getType() {
+ return this.type;
+ }
+
+ /**
+ * {@inheritDoc}
+ */
+ @Generated
+ @Override
+ public JsonWriter toJson(JsonWriter jsonWriter) throws IOException {
+ jsonWriter.writeStartObject();
+ jsonWriter.writeStringField("type", this.type);
+ return jsonWriter.writeEndObject();
+ }
+
+ /**
+ * Reads an instance of ToolboxShellNetworkPolicy from the JsonReader.
+ *
+ * @param jsonReader The JsonReader being read.
+ * @return An instance of ToolboxShellNetworkPolicy if the JsonReader was pointing to an instance of it, or null if
+ * it was pointing to JSON null.
+ * @throws IOException If an error occurs while reading the ToolboxShellNetworkPolicy.
+ */
+ @Generated
+ public static ToolboxShellNetworkPolicy fromJson(JsonReader jsonReader) throws IOException {
+ return jsonReader.readObject(reader -> {
+ String discriminatorValue = null;
+ try (JsonReader readerToUse = reader.bufferObject()) {
+ // Prepare for reading
+ readerToUse.nextToken();
+ while (readerToUse.nextToken() != JsonToken.END_OBJECT) {
+ String fieldName = readerToUse.getFieldName();
+ readerToUse.nextToken();
+ if ("type".equals(fieldName)) {
+ discriminatorValue = readerToUse.getString();
+ break;
+ } else {
+ readerToUse.skipChildren();
+ }
+ }
+ // Use the discriminator value to determine which subtype should be deserialized.
+ if ("disabled".equals(discriminatorValue)) {
+ return ToolboxShellNetworkPolicyDisabled.fromJson(readerToUse.reset());
+ } else {
+ return fromJsonKnownDiscriminator(readerToUse.reset());
+ }
+ }
+ });
+ }
+
+ @Generated
+ static ToolboxShellNetworkPolicy fromJsonKnownDiscriminator(JsonReader jsonReader) throws IOException {
+ return jsonReader.readObject(reader -> {
+ ToolboxShellNetworkPolicy deserializedToolboxShellNetworkPolicy = new ToolboxShellNetworkPolicy();
+ while (reader.nextToken() != JsonToken.END_OBJECT) {
+ String fieldName = reader.getFieldName();
+ reader.nextToken();
+ if ("type".equals(fieldName)) {
+ deserializedToolboxShellNetworkPolicy.type = reader.getString();
+ } else {
+ reader.skipChildren();
+ }
+ }
+ return deserializedToolboxShellNetworkPolicy;
+ });
+ }
+}
diff --git a/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/ToolboxShellNetworkPolicyDisabled.java b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/ToolboxShellNetworkPolicyDisabled.java
new file mode 100644
index 000000000000..1ca9967c43f2
--- /dev/null
+++ b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/ToolboxShellNetworkPolicyDisabled.java
@@ -0,0 +1,79 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) TypeSpec Code Generator.
+package com.azure.ai.agents.models;
+
+import com.azure.core.annotation.Generated;
+import com.azure.core.annotation.Immutable;
+import com.azure.json.JsonReader;
+import com.azure.json.JsonToken;
+import com.azure.json.JsonWriter;
+import java.io.IOException;
+
+/**
+ * A network policy that disables outbound access from a toolbox shell container.
+ */
+@Immutable
+public final class ToolboxShellNetworkPolicyDisabled extends ToolboxShellNetworkPolicy {
+
+ /*
+ * The type of network access policy.
+ */
+ @Generated
+ private String type = "disabled";
+
+ /**
+ * Creates an instance of ToolboxShellNetworkPolicyDisabled class.
+ */
+ @Generated
+ public ToolboxShellNetworkPolicyDisabled() {
+ }
+
+ /**
+ * Get the type property: The type of network access policy.
+ *
+ * @return the type value.
+ */
+ @Generated
+ @Override
+ public String getType() {
+ return this.type;
+ }
+
+ /**
+ * {@inheritDoc}
+ */
+ @Generated
+ @Override
+ public JsonWriter toJson(JsonWriter jsonWriter) throws IOException {
+ jsonWriter.writeStartObject();
+ jsonWriter.writeStringField("type", this.type);
+ return jsonWriter.writeEndObject();
+ }
+
+ /**
+ * Reads an instance of ToolboxShellNetworkPolicyDisabled from the JsonReader.
+ *
+ * @param jsonReader The JsonReader being read.
+ * @return An instance of ToolboxShellNetworkPolicyDisabled if the JsonReader was pointing to an instance of it, or
+ * null if it was pointing to JSON null.
+ * @throws IOException If an error occurs while reading the ToolboxShellNetworkPolicyDisabled.
+ */
+ @Generated
+ public static ToolboxShellNetworkPolicyDisabled fromJson(JsonReader jsonReader) throws IOException {
+ return jsonReader.readObject(reader -> {
+ ToolboxShellNetworkPolicyDisabled deserializedToolboxShellNetworkPolicyDisabled
+ = new ToolboxShellNetworkPolicyDisabled();
+ while (reader.nextToken() != JsonToken.END_OBJECT) {
+ String fieldName = reader.getFieldName();
+ reader.nextToken();
+ if ("type".equals(fieldName)) {
+ deserializedToolboxShellNetworkPolicyDisabled.type = reader.getString();
+ } else {
+ reader.skipChildren();
+ }
+ }
+ return deserializedToolboxShellNetworkPolicyDisabled;
+ });
+ }
+}
diff --git a/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/ToolboxTool.java b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/ToolboxTool.java
index d3307a080b3f..8d3e58ec3229 100644
--- a/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/ToolboxTool.java
+++ b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/ToolboxTool.java
@@ -177,6 +177,8 @@ public static ToolboxTool fromJson(JsonReader jsonReader) throws IOException {
return FileSearchToolboxTool.fromJson(readerToUse.reset());
} else if ("web_search".equals(discriminatorValue)) {
return WebSearchToolboxTool.fromJson(readerToUse.reset());
+ } else if ("shell".equals(discriminatorValue)) {
+ return ShellToolboxTool.fromJson(readerToUse.reset());
} else if ("mcp".equals(discriminatorValue)) {
return McpToolboxTool.fromJson(readerToUse.reset());
} else if ("azure_ai_search".equals(discriminatorValue)) {
@@ -195,6 +197,8 @@ public static ToolboxTool fromJson(JsonReader jsonReader) throws IOException {
return WorkIqPreviewToolboxTool.fromJson(readerToUse.reset());
} else if ("fabric_iq_preview".equals(discriminatorValue)) {
return FabricIqPreviewToolboxTool.fromJson(readerToUse.reset());
+ } else if ("web_iq_preview".equals(discriminatorValue)) {
+ return WebIqPreviewToolboxTool.fromJson(readerToUse.reset());
} else if ("toolbox_search_preview".equals(discriminatorValue)) {
return ToolboxSearchPreviewToolboxTool.fromJson(readerToUse.reset());
} else if ("toolbox_search".equals(discriminatorValue)) {
diff --git a/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/ToolboxToolType.java b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/ToolboxToolType.java
index d706a2f503a7..62d96ad142cc 100644
--- a/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/ToolboxToolType.java
+++ b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/ToolboxToolType.java
@@ -76,7 +76,17 @@ public enum ToolboxToolType {
/**
* Enum value a2a.
*/
- A2A("a2a");
+ A2A("a2a"),
+
+ /**
+ * Enum value shell.
+ */
+ SHELL("shell"),
+
+ /**
+ * Enum value web_iq_preview.
+ */
+ WEB_IQ_PREVIEW("web_iq_preview");
/**
* The actual serialized value for a ToolboxToolType instance.
diff --git a/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/WebIqPreviewTool.java b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/WebIqPreviewTool.java
new file mode 100644
index 000000000000..a767e3a91575
--- /dev/null
+++ b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/WebIqPreviewTool.java
@@ -0,0 +1,245 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) TypeSpec Code Generator.
+package com.azure.ai.agents.models;
+
+import com.azure.ai.agents.implementation.utils.Beta;
+import com.azure.core.annotation.Fluent;
+import com.azure.core.annotation.Generated;
+import com.azure.core.util.BinaryData;
+import com.azure.json.JsonReader;
+import com.azure.json.JsonToken;
+import com.azure.json.JsonWriter;
+import java.io.IOException;
+
+/**
+ * A WebIQ server-side tool.
+ */
+@Fluent
+@Beta(warningText = "Preview API. preview_tool")
+public final class WebIqPreviewTool extends Tool {
+
+ /*
+ * The type property.
+ */
+ @Generated
+ private ToolType type = ToolType.WEB_IQ_PREVIEW;
+
+ /*
+ * The ID of the WebIQ project connection.
+ */
+ @Generated
+ private final String projectConnectionId;
+
+ /*
+ * The label of the WebIQ MCP server to connect to. When omitted, the service defaults to connection name extracted
+ * from project_connection_id.
+ */
+ @Generated
+ private String serverLabel;
+
+ /*
+ * Whether the agent requires approval before executing actions. When omitted, the service defaults to "always".
+ */
+ @Generated
+ private BinaryData requireApproval;
+
+ /**
+ * Creates an instance of WebIqPreviewTool class.
+ *
+ * @param projectConnectionId the projectConnectionId value to set.
+ */
+ @Generated
+ public WebIqPreviewTool(String projectConnectionId) {
+ this.projectConnectionId = projectConnectionId;
+ }
+
+ /**
+ * Get the type property: The type property.
+ *
+ * @return the type value.
+ */
+ @Generated
+ @Override
+ public ToolType getType() {
+ return this.type;
+ }
+
+ /**
+ * Get the projectConnectionId property: The ID of the WebIQ project connection.
+ *
+ * @return the projectConnectionId value.
+ */
+ @Generated
+ public String getProjectConnectionId() {
+ return this.projectConnectionId;
+ }
+
+ /**
+ * Get the serverLabel property: The label of the WebIQ MCP server to connect to. When omitted, the service defaults
+ * to connection name extracted from project_connection_id.
+ *
+ * @return the serverLabel value.
+ */
+ @Generated
+ public String getServerLabel() {
+ return this.serverLabel;
+ }
+
+ /**
+ * Set the serverLabel property: The label of the WebIQ MCP server to connect to. When omitted, the service defaults
+ * to connection name extracted from project_connection_id.
+ *
+ * @param serverLabel the serverLabel value to set.
+ * @return the WebIqPreviewTool object itself.
+ */
+ @Generated
+ public WebIqPreviewTool setServerLabel(String serverLabel) {
+ this.serverLabel = serverLabel;
+ return this;
+ }
+
+ /**
+ * Get the requireApproval property: Whether the agent requires approval before executing actions. When omitted, the
+ * service defaults to "always".
+ *
+ * @return the requireApproval value.
+ */
+ BinaryData getRequireApproval() {
+ // AI Tooling: union type
+ return this.requireApproval;
+ }
+
+ /**
+ * Set the requireApproval property: Whether the agent requires approval before executing actions. When omitted, the
+ * service defaults to "always".
+ *
+ * @param requireApproval the requireApproval value to set.
+ * @return the WebIqPreviewTool object itself.
+ */
+ WebIqPreviewTool setRequireApproval(BinaryData requireApproval) {
+ // AI Tooling: union type
+ this.requireApproval = requireApproval;
+ return this;
+ }
+
+ /**
+ * {@inheritDoc}
+ */
+ @Generated
+ @Override
+ public JsonWriter toJson(JsonWriter jsonWriter) throws IOException {
+ jsonWriter.writeStartObject();
+ jsonWriter.writeStringField("project_connection_id", this.projectConnectionId);
+ jsonWriter.writeStringField("type", this.type == null ? null : this.type.toString());
+ jsonWriter.writeStringField("server_label", this.serverLabel);
+ if (this.requireApproval != null) {
+ jsonWriter.writeFieldName("require_approval");
+ this.requireApproval.writeTo(jsonWriter);
+ }
+ return jsonWriter.writeEndObject();
+ }
+
+ /**
+ * Reads an instance of WebIqPreviewTool from the JsonReader.
+ *
+ * @param jsonReader The JsonReader being read.
+ * @return An instance of WebIqPreviewTool if the JsonReader was pointing to an instance of it, or null if it was
+ * pointing to JSON null.
+ * @throws IllegalStateException If the deserialized JSON object was missing any required properties.
+ * @throws IOException If an error occurs while reading the WebIqPreviewTool.
+ */
+ @Generated
+ public static WebIqPreviewTool fromJson(JsonReader jsonReader) throws IOException {
+ return jsonReader.readObject(reader -> {
+ String projectConnectionId = null;
+ ToolType type = ToolType.WEB_IQ_PREVIEW;
+ String serverLabel = null;
+ BinaryData requireApproval = null;
+ while (reader.nextToken() != JsonToken.END_OBJECT) {
+ String fieldName = reader.getFieldName();
+ reader.nextToken();
+ if ("project_connection_id".equals(fieldName)) {
+ projectConnectionId = reader.getString();
+ } else if ("type".equals(fieldName)) {
+ type = ToolType.fromString(reader.getString());
+ } else if ("server_label".equals(fieldName)) {
+ serverLabel = reader.getString();
+ } else if ("require_approval".equals(fieldName)) {
+ requireApproval
+ = reader.getNullable(nonNullReader -> BinaryData.fromObject(nonNullReader.readUntyped()));
+ } else {
+ reader.skipChildren();
+ }
+ }
+ WebIqPreviewTool deserializedWebIqPreviewTool = new WebIqPreviewTool(projectConnectionId);
+ deserializedWebIqPreviewTool.type = type;
+ deserializedWebIqPreviewTool.serverLabel = serverLabel;
+ deserializedWebIqPreviewTool.requireApproval = requireApproval;
+ return deserializedWebIqPreviewTool;
+ });
+ }
+
+ /**
+ * Set the requireApproval property: Whether the agent requires approval before executing actions. When omitted, the
+ * service defaults to "always".
+ *
+ * @param requireApproval the approval setting string to set (e.g., "always" or "never").
+ * @return the WebIqPreviewTool object itself.
+ */
+ public WebIqPreviewTool setRequireApproval(String requireApproval) {
+ // AI Tooling: union type
+ this.requireApproval = requireApproval == null ? null : BinaryData.fromObject(requireApproval);
+ return this;
+ }
+
+ /**
+ * Get the requireApproval property: Whether the agent requires approval before executing actions. When omitted, the
+ * service defaults to "always".
+ *
+ * @return the requireApproval value as a String, or {@code null} when it is not set or holds another variant.
+ */
+ public String getRequireApprovalAsString() {
+ // AI Tooling: union type
+ if (this.requireApproval == null) {
+ return null;
+ }
+ String json = this.requireApproval.toString().trim();
+ if (!(json.startsWith("\""))) {
+ return null;
+ }
+ return this.requireApproval.toObject(String.class);
+ }
+
+ /**
+ * Set the requireApproval property: Whether the agent requires approval before executing actions. When omitted, the
+ * service defaults to "always".
+ *
+ * @param requireApproval the {@link McpToolRequireApproval} filter to set.
+ * @return the WebIqPreviewTool object itself.
+ */
+ public WebIqPreviewTool setRequireApproval(McpToolRequireApproval requireApproval) {
+ // AI Tooling: union type
+ this.requireApproval = requireApproval == null ? null : BinaryData.fromObject(requireApproval);
+ return this;
+ }
+
+ /**
+ * Get the requireApproval property: Whether the agent requires approval before executing actions. When omitted, the
+ * service defaults to "always".
+ *
+ * @return the requireApproval value as a {@link McpToolRequireApproval}, or {@code null} when it is not set or
+ * holds another variant.
+ */
+ public McpToolRequireApproval getRequireApprovalAsMcpToolRequireApproval() {
+ // AI Tooling: union type
+ if (this.requireApproval == null) {
+ return null;
+ }
+ String json = this.requireApproval.toString().trim();
+ if (!(json.startsWith("{"))) {
+ return null;
+ }
+ return this.requireApproval.toObject(McpToolRequireApproval.class);
+ }
+}
diff --git a/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/WebIqPreviewToolboxTool.java b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/WebIqPreviewToolboxTool.java
new file mode 100644
index 000000000000..50dc35dd9378
--- /dev/null
+++ b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/WebIqPreviewToolboxTool.java
@@ -0,0 +1,292 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) TypeSpec Code Generator.
+package com.azure.ai.agents.models;
+
+import com.azure.ai.agents.implementation.utils.Beta;
+import com.azure.core.annotation.Fluent;
+import com.azure.core.annotation.Generated;
+import com.azure.core.util.BinaryData;
+import com.azure.json.JsonReader;
+import com.azure.json.JsonToken;
+import com.azure.json.JsonWriter;
+import java.io.IOException;
+import java.util.Map;
+
+/**
+ * A WebIQ tool stored in a toolbox.
+ */
+@Fluent
+@Beta(warningText = "Preview API. preview_tool")
+public final class WebIqPreviewToolboxTool extends ToolboxTool {
+
+ /*
+ * The type of tool.
+ */
+ @Generated
+ private ToolboxToolType type = ToolboxToolType.WEB_IQ_PREVIEW;
+
+ /*
+ * The ID of the WebIQ project connection.
+ */
+ @Generated
+ private final String projectConnectionId;
+
+ /*
+ * The label of the WebIQ MCP server to connect to. When omitted, the service defaults to connection name extracted
+ * from project_connection_id.
+ */
+ @Generated
+ private String serverLabel;
+
+ /*
+ * Whether the agent requires approval before executing actions. When omitted, the service defaults to "always".
+ */
+ @Generated
+ private BinaryData requireApproval;
+
+ /**
+ * Creates an instance of WebIqPreviewToolboxTool class.
+ *
+ * @param projectConnectionId the projectConnectionId value to set.
+ */
+ @Generated
+ public WebIqPreviewToolboxTool(String projectConnectionId) {
+ this.projectConnectionId = projectConnectionId;
+ }
+
+ /**
+ * Get the type property: The type of tool.
+ *
+ * @return the type value.
+ */
+ @Generated
+ @Override
+ public ToolboxToolType getType() {
+ return this.type;
+ }
+
+ /**
+ * Get the projectConnectionId property: The ID of the WebIQ project connection.
+ *
+ * @return the projectConnectionId value.
+ */
+ @Generated
+ public String getProjectConnectionId() {
+ return this.projectConnectionId;
+ }
+
+ /**
+ * Get the serverLabel property: The label of the WebIQ MCP server to connect to. When omitted, the service defaults
+ * to connection name extracted from project_connection_id.
+ *
+ * @return the serverLabel value.
+ */
+ @Generated
+ public String getServerLabel() {
+ return this.serverLabel;
+ }
+
+ /**
+ * Set the serverLabel property: The label of the WebIQ MCP server to connect to. When omitted, the service defaults
+ * to connection name extracted from project_connection_id.
+ *
+ * @param serverLabel the serverLabel value to set.
+ * @return the WebIqPreviewToolboxTool object itself.
+ */
+ @Generated
+ public WebIqPreviewToolboxTool setServerLabel(String serverLabel) {
+ this.serverLabel = serverLabel;
+ return this;
+ }
+
+ /**
+ * Get the requireApproval property: Whether the agent requires approval before executing actions. When omitted, the
+ * service defaults to "always".
+ *
+ * @return the requireApproval value.
+ */
+ BinaryData getRequireApproval() {
+ // AI Tooling: union type
+ return this.requireApproval;
+ }
+
+ /**
+ * Set the requireApproval property: Whether the agent requires approval before executing actions. When omitted, the
+ * service defaults to "always".
+ *
+ * @param requireApproval the requireApproval value to set.
+ * @return the WebIqPreviewToolboxTool object itself.
+ */
+ WebIqPreviewToolboxTool setRequireApproval(BinaryData requireApproval) {
+ // AI Tooling: union type
+ this.requireApproval = requireApproval;
+ return this;
+ }
+
+ /**
+ * {@inheritDoc}
+ */
+ @Generated
+ @Override
+ public WebIqPreviewToolboxTool setName(String name) {
+ super.setName(name);
+ return this;
+ }
+
+ /**
+ * {@inheritDoc}
+ */
+ @Generated
+ @Override
+ public WebIqPreviewToolboxTool setDescription(String description) {
+ super.setDescription(description);
+ return this;
+ }
+
+ /**
+ * {@inheritDoc}
+ */
+ @Generated
+ @Override
+ public WebIqPreviewToolboxTool setToolConfigs(Map toolConfigs) {
+ super.setToolConfigs(toolConfigs);
+ return this;
+ }
+
+ /**
+ * {@inheritDoc}
+ */
+ @Generated
+ @Override
+ public JsonWriter toJson(JsonWriter jsonWriter) throws IOException {
+ jsonWriter.writeStartObject();
+ jsonWriter.writeStringField("name", getName());
+ jsonWriter.writeStringField("description", getDescription());
+ jsonWriter.writeMapField("tool_configs", getToolConfigs(), (writer, element) -> writer.writeJson(element));
+ jsonWriter.writeStringField("project_connection_id", this.projectConnectionId);
+ jsonWriter.writeStringField("type", this.type == null ? null : this.type.toString());
+ jsonWriter.writeStringField("server_label", this.serverLabel);
+ if (this.requireApproval != null) {
+ jsonWriter.writeFieldName("require_approval");
+ this.requireApproval.writeTo(jsonWriter);
+ }
+ return jsonWriter.writeEndObject();
+ }
+
+ /**
+ * Reads an instance of WebIqPreviewToolboxTool from the JsonReader.
+ *
+ * @param jsonReader The JsonReader being read.
+ * @return An instance of WebIqPreviewToolboxTool if the JsonReader was pointing to an instance of it, or null if it
+ * was pointing to JSON null.
+ * @throws IllegalStateException If the deserialized JSON object was missing any required properties.
+ * @throws IOException If an error occurs while reading the WebIqPreviewToolboxTool.
+ */
+ @Generated
+ public static WebIqPreviewToolboxTool fromJson(JsonReader jsonReader) throws IOException {
+ return jsonReader.readObject(reader -> {
+ String name = null;
+ String description = null;
+ Map toolConfigs = null;
+ String projectConnectionId = null;
+ ToolboxToolType type = ToolboxToolType.WEB_IQ_PREVIEW;
+ String serverLabel = null;
+ BinaryData requireApproval = null;
+ while (reader.nextToken() != JsonToken.END_OBJECT) {
+ String fieldName = reader.getFieldName();
+ reader.nextToken();
+ if ("name".equals(fieldName)) {
+ name = reader.getString();
+ } else if ("description".equals(fieldName)) {
+ description = reader.getString();
+ } else if ("tool_configs".equals(fieldName)) {
+ toolConfigs = reader.readMap(reader1 -> ToolConfig.fromJson(reader1));
+ } else if ("project_connection_id".equals(fieldName)) {
+ projectConnectionId = reader.getString();
+ } else if ("type".equals(fieldName)) {
+ type = ToolboxToolType.fromString(reader.getString());
+ } else if ("server_label".equals(fieldName)) {
+ serverLabel = reader.getString();
+ } else if ("require_approval".equals(fieldName)) {
+ requireApproval
+ = reader.getNullable(nonNullReader -> BinaryData.fromObject(nonNullReader.readUntyped()));
+ } else {
+ reader.skipChildren();
+ }
+ }
+ WebIqPreviewToolboxTool deserializedWebIqPreviewToolboxTool
+ = new WebIqPreviewToolboxTool(projectConnectionId);
+ deserializedWebIqPreviewToolboxTool.setName(name);
+ deserializedWebIqPreviewToolboxTool.setDescription(description);
+ deserializedWebIqPreviewToolboxTool.setToolConfigs(toolConfigs);
+ deserializedWebIqPreviewToolboxTool.type = type;
+ deserializedWebIqPreviewToolboxTool.serverLabel = serverLabel;
+ deserializedWebIqPreviewToolboxTool.requireApproval = requireApproval;
+ return deserializedWebIqPreviewToolboxTool;
+ });
+ }
+
+ /**
+ * Set the requireApproval property: Whether the agent requires approval before executing actions. When omitted, the
+ * service defaults to "always".
+ *
+ * @param requireApproval the approval setting string to set (e.g., "always" or "never").
+ * @return the WebIqPreviewToolboxTool object itself.
+ */
+ public WebIqPreviewToolboxTool setRequireApproval(String requireApproval) {
+ // AI Tooling: union type
+ this.requireApproval = requireApproval == null ? null : BinaryData.fromObject(requireApproval);
+ return this;
+ }
+
+ /**
+ * Get the requireApproval property: Whether the agent requires approval before executing actions. When omitted, the
+ * service defaults to "always".
+ *
+ * @return the requireApproval value as a String, or {@code null} when it is not set or holds another variant.
+ */
+ public String getRequireApprovalAsString() {
+ // AI Tooling: union type
+ if (this.requireApproval == null) {
+ return null;
+ }
+ String json = this.requireApproval.toString().trim();
+ if (!(json.startsWith("\""))) {
+ return null;
+ }
+ return this.requireApproval.toObject(String.class);
+ }
+
+ /**
+ * Set the requireApproval property: Whether the agent requires approval before executing actions. When omitted, the
+ * service defaults to "always".
+ *
+ * @param requireApproval the {@link McpToolRequireApproval} filter to set.
+ * @return the WebIqPreviewToolboxTool object itself.
+ */
+ public WebIqPreviewToolboxTool setRequireApproval(McpToolRequireApproval requireApproval) {
+ // AI Tooling: union type
+ this.requireApproval = requireApproval == null ? null : BinaryData.fromObject(requireApproval);
+ return this;
+ }
+
+ /**
+ * Get the requireApproval property: Whether the agent requires approval before executing actions. When omitted, the
+ * service defaults to "always".
+ *
+ * @return the requireApproval value as a {@link McpToolRequireApproval}, or {@code null} when it is not set or
+ * holds another variant.
+ */
+ public McpToolRequireApproval getRequireApprovalAsMcpToolRequireApproval() {
+ // AI Tooling: union type
+ if (this.requireApproval == null) {
+ return null;
+ }
+ String json = this.requireApproval.toString().trim();
+ if (!(json.startsWith("{"))) {
+ return null;
+ }
+ return this.requireApproval.toObject(McpToolRequireApproval.class);
+ }
+}
diff --git a/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/WebSearchTool.java b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/WebSearchTool.java
index bb3fcf2fc741..13dc5dc3cdf2 100644
--- a/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/WebSearchTool.java
+++ b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/WebSearchTool.java
@@ -172,6 +172,7 @@ public WebSearchTool setCustomSearchConfiguration(WebSearchConfiguration customS
public JsonWriter toJson(JsonWriter jsonWriter) throws IOException {
jsonWriter.writeStartObject();
jsonWriter.writeStringField("type", this.type == null ? null : this.type.toString());
+ jsonWriter.writeBooleanField("external_web_access", this.externalWebAccess);
jsonWriter.writeJsonField("filters", this.filters);
jsonWriter.writeJsonField("user_location", this.userLocation);
jsonWriter.writeStringField("search_context_size",
@@ -200,6 +201,8 @@ public static WebSearchTool fromJson(JsonReader jsonReader) throws IOException {
reader.nextToken();
if ("type".equals(fieldName)) {
deserializedWebSearchTool.type = ToolType.fromString(reader.getString());
+ } else if ("external_web_access".equals(fieldName)) {
+ deserializedWebSearchTool.externalWebAccess = reader.getNullable(JsonReader::getBoolean);
} else if ("filters".equals(fieldName)) {
deserializedWebSearchTool.filters = WebSearchToolFilters.fromJson(reader);
} else if ("user_location".equals(fieldName)) {
@@ -307,4 +310,35 @@ public WebSearchTool setToolConfigs(Map toolConfigs) {
this.toolConfigs = toolConfigs;
return this;
}
+
+ /*
+ * Allow live internet access for web search. Defaults to true when omitted. When false, the web search tool runs in
+ * offline/cache-only mode and will not fetch new external content.
+ */
+ @Generated
+ private Boolean externalWebAccess;
+
+ /**
+ * Get the externalWebAccess property: Allow live internet access for web search. Defaults to true when omitted.
+ * When false, the web search tool runs in offline/cache-only mode and will not fetch new external content.
+ *
+ * @return the externalWebAccess value.
+ */
+ @Generated
+ public Boolean isExternalWebAccess() {
+ return this.externalWebAccess;
+ }
+
+ /**
+ * Set the externalWebAccess property: Allow live internet access for web search. Defaults to true when omitted.
+ * When false, the web search tool runs in offline/cache-only mode and will not fetch new external content.
+ *
+ * @param externalWebAccess the externalWebAccess value to set.
+ * @return the WebSearchTool object itself.
+ */
+ @Generated
+ public WebSearchTool setExternalWebAccess(Boolean externalWebAccess) {
+ this.externalWebAccess = externalWebAccess;
+ return this;
+ }
}
diff --git a/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/WebSearchToolboxTool.java b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/WebSearchToolboxTool.java
index 0e12f26b25bd..25b7f722ed26 100644
--- a/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/WebSearchToolboxTool.java
+++ b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/WebSearchToolboxTool.java
@@ -202,6 +202,7 @@ public JsonWriter toJson(JsonWriter jsonWriter) throws IOException {
jsonWriter.writeStringField("description", getDescription());
jsonWriter.writeMapField("tool_configs", getToolConfigs(), (writer, element) -> writer.writeJson(element));
jsonWriter.writeStringField("type", this.type == null ? null : this.type.toString());
+ jsonWriter.writeBooleanField("external_web_access", this.externalWebAccess);
jsonWriter.writeJsonField("filters", this.filters);
jsonWriter.writeJsonField("user_location", this.userLocation);
jsonWriter.writeStringField("search_context_size",
@@ -234,6 +235,8 @@ public static WebSearchToolboxTool fromJson(JsonReader jsonReader) throws IOExce
deserializedWebSearchToolboxTool.setToolConfigs(toolConfigs);
} else if ("type".equals(fieldName)) {
deserializedWebSearchToolboxTool.type = ToolboxToolType.fromString(reader.getString());
+ } else if ("external_web_access".equals(fieldName)) {
+ deserializedWebSearchToolboxTool.externalWebAccess = reader.getNullable(JsonReader::getBoolean);
} else if ("filters".equals(fieldName)) {
deserializedWebSearchToolboxTool.filters = WebSearchToolFilters.fromJson(reader);
} else if ("user_location".equals(fieldName)) {
@@ -251,4 +254,35 @@ public static WebSearchToolboxTool fromJson(JsonReader jsonReader) throws IOExce
return deserializedWebSearchToolboxTool;
});
}
+
+ /*
+ * Allow live internet access for web search. Defaults to true when omitted. When false, the web search tool runs in
+ * offline/cache-only mode and will not fetch new external content.
+ */
+ @Generated
+ private Boolean externalWebAccess;
+
+ /**
+ * Get the externalWebAccess property: Allow live internet access for web search. Defaults to true when omitted.
+ * When false, the web search tool runs in offline/cache-only mode and will not fetch new external content.
+ *
+ * @return the externalWebAccess value.
+ */
+ @Generated
+ public Boolean isExternalWebAccess() {
+ return this.externalWebAccess;
+ }
+
+ /**
+ * Set the externalWebAccess property: Allow live internet access for web search. Defaults to true when omitted.
+ * When false, the web search tool runs in offline/cache-only mode and will not fetch new external content.
+ *
+ * @param externalWebAccess the externalWebAccess value to set.
+ * @return the WebSearchToolboxTool object itself.
+ */
+ @Generated
+ public WebSearchToolboxTool setExternalWebAccess(Boolean externalWebAccess) {
+ this.externalWebAccess = externalWebAccess;
+ return this;
+ }
}
diff --git a/sdk/ai/azure-ai-agents/src/main/resources/META-INF/azure-ai-agents_metadata.json b/sdk/ai/azure-ai-agents/src/main/resources/META-INF/azure-ai-agents_metadata.json
index 9fbbd14cb600..63797ced1219 100644
--- a/sdk/ai/azure-ai-agents/src/main/resources/META-INF/azure-ai-agents_metadata.json
+++ b/sdk/ai/azure-ai-agents/src/main/resources/META-INF/azure-ai-agents_metadata.json
@@ -1 +1 @@
-{"flavor":"azure","apiVersions":{"Azure.AI.Projects":"v1"},"crossLanguagePackageId":"Azure.AI.Projects","crossLanguageVersion":"aded27afff20","crossLanguageDefinitions":{"com.azure.ai.agents.AgentsAsyncClient":"Azure.AI.Projects.Agents","com.azure.ai.agents.AgentsAsyncClient.createAgent":"Azure.AI.Projects.Agents.createAgent","com.azure.ai.agents.AgentsAsyncClient.createAgentFromCode":"Azure.AI.Projects.Agents.createAgentFromCode","com.azure.ai.agents.AgentsAsyncClient.createAgentFromCodeWithResponse":"Azure.AI.Projects.Agents.createAgentFromCode","com.azure.ai.agents.AgentsAsyncClient.createAgentFromManifest":"Azure.AI.Projects.Agents.createAgentFromManifest","com.azure.ai.agents.AgentsAsyncClient.createAgentFromManifestWithResponse":"Azure.AI.Projects.Agents.createAgentFromManifest","com.azure.ai.agents.AgentsAsyncClient.createAgentVersion":"Azure.AI.Projects.Agents.createAgentVersion","com.azure.ai.agents.AgentsAsyncClient.createAgentVersionFromCode":"Azure.AI.Projects.Agents.createAgentVersionFromCode","com.azure.ai.agents.AgentsAsyncClient.createAgentVersionFromCodeWithResponse":"Azure.AI.Projects.Agents.createAgentVersionFromCode","com.azure.ai.agents.AgentsAsyncClient.createAgentVersionFromManifest":"Azure.AI.Projects.Agents.createAgentVersionFromManifest","com.azure.ai.agents.AgentsAsyncClient.createAgentVersionFromManifestWithResponse":"Azure.AI.Projects.Agents.createAgentVersionFromManifest","com.azure.ai.agents.AgentsAsyncClient.createAgentVersionWithResponse":"Azure.AI.Projects.Agents.createAgentVersion","com.azure.ai.agents.AgentsAsyncClient.createAgentWithResponse":"Azure.AI.Projects.Agents.createAgent","com.azure.ai.agents.AgentsAsyncClient.createSession":"Azure.AI.Projects.Agents.createSession","com.azure.ai.agents.AgentsAsyncClient.createSessionWithResponse":"Azure.AI.Projects.Agents.createSession","com.azure.ai.agents.AgentsAsyncClient.deleteSession":"Azure.AI.Projects.Agents.deleteSession","com.azure.ai.agents.AgentsAsyncClient.deleteSessionFile":"Azure.AI.Projects.AgentSessionFiles.deleteSessionFile","com.azure.ai.agents.AgentsAsyncClient.deleteSessionFileWithResponse":"Azure.AI.Projects.AgentSessionFiles.deleteSessionFile","com.azure.ai.agents.AgentsAsyncClient.deleteSessionWithResponse":"Azure.AI.Projects.Agents.deleteSession","com.azure.ai.agents.AgentsAsyncClient.disableAgent":"Azure.AI.Projects.Agents.disableAgent","com.azure.ai.agents.AgentsAsyncClient.disableAgentWithResponse":"Azure.AI.Projects.Agents.disableAgent","com.azure.ai.agents.AgentsAsyncClient.downloadAgentCode":"Azure.AI.Projects.Agents.downloadAgentCode","com.azure.ai.agents.AgentsAsyncClient.downloadAgentCodeWithResponse":"Azure.AI.Projects.Agents.downloadAgentCode","com.azure.ai.agents.AgentsAsyncClient.downloadSessionFile":"Azure.AI.Projects.AgentSessionFiles.downloadSessionFile","com.azure.ai.agents.AgentsAsyncClient.downloadSessionFileWithResponse":"Azure.AI.Projects.AgentSessionFiles.downloadSessionFile","com.azure.ai.agents.AgentsAsyncClient.enableAgent":"Azure.AI.Projects.Agents.enableAgent","com.azure.ai.agents.AgentsAsyncClient.enableAgentWithResponse":"Azure.AI.Projects.Agents.enableAgent","com.azure.ai.agents.AgentsAsyncClient.getAgent":"Azure.AI.Projects.Agents.getAgent","com.azure.ai.agents.AgentsAsyncClient.getAgentVersionDetails":"Azure.AI.Projects.Agents.getAgentVersion","com.azure.ai.agents.AgentsAsyncClient.getAgentVersionDetailsWithResponse":"Azure.AI.Projects.Agents.getAgentVersion","com.azure.ai.agents.AgentsAsyncClient.getAgentWithResponse":"Azure.AI.Projects.Agents.getAgent","com.azure.ai.agents.AgentsAsyncClient.getSession":"Azure.AI.Projects.Agents.getSession","com.azure.ai.agents.AgentsAsyncClient.getSessionWithResponse":"Azure.AI.Projects.Agents.getSession","com.azure.ai.agents.AgentsAsyncClient.listAgentConversations":"Azure.AI.Projects.Conversations.listConversations","com.azure.ai.agents.AgentsAsyncClient.listAgentVersions":"Azure.AI.Projects.Agents.listAgentVersions","com.azure.ai.agents.AgentsAsyncClient.listAgents":"Azure.AI.Projects.Agents.listAgents","com.azure.ai.agents.AgentsAsyncClient.listSessionFiles":"Azure.AI.Projects.AgentSessionFiles.listSessionFiles","com.azure.ai.agents.AgentsAsyncClient.listSessions":"Azure.AI.Projects.Agents.listSessions","com.azure.ai.agents.AgentsAsyncClient.stopSession":"Azure.AI.Projects.Agents.stopSession","com.azure.ai.agents.AgentsAsyncClient.stopSessionWithResponse":"Azure.AI.Projects.Agents.stopSession","com.azure.ai.agents.AgentsAsyncClient.updateAgent":"Azure.AI.Projects.Agents.updateAgent","com.azure.ai.agents.AgentsAsyncClient.updateAgentDetails":"Azure.AI.Projects.Agents.patchAgentObject","com.azure.ai.agents.AgentsAsyncClient.updateAgentDetailsWithResponse":"Azure.AI.Projects.Agents.patchAgentObject","com.azure.ai.agents.AgentsAsyncClient.updateAgentFromCode":"Azure.AI.Projects.Agents.updateAgentFromCode","com.azure.ai.agents.AgentsAsyncClient.updateAgentFromCodeWithResponse":"Azure.AI.Projects.Agents.updateAgentFromCode","com.azure.ai.agents.AgentsAsyncClient.updateAgentFromManifest":"Azure.AI.Projects.Agents.updateAgentFromManifest","com.azure.ai.agents.AgentsAsyncClient.updateAgentFromManifestWithResponse":"Azure.AI.Projects.Agents.updateAgentFromManifest","com.azure.ai.agents.AgentsAsyncClient.updateAgentWithResponse":"Azure.AI.Projects.Agents.updateAgent","com.azure.ai.agents.AgentsAsyncClient.uploadSessionFile":"Azure.AI.Projects.AgentSessionFiles.uploadSessionFile","com.azure.ai.agents.AgentsAsyncClient.uploadSessionFileWithResponse":"Azure.AI.Projects.AgentSessionFiles.uploadSessionFile","com.azure.ai.agents.AgentsClient":"Azure.AI.Projects.Agents","com.azure.ai.agents.AgentsClient.createAgent":"Azure.AI.Projects.Agents.createAgent","com.azure.ai.agents.AgentsClient.createAgentFromCode":"Azure.AI.Projects.Agents.createAgentFromCode","com.azure.ai.agents.AgentsClient.createAgentFromCodeWithResponse":"Azure.AI.Projects.Agents.createAgentFromCode","com.azure.ai.agents.AgentsClient.createAgentFromManifest":"Azure.AI.Projects.Agents.createAgentFromManifest","com.azure.ai.agents.AgentsClient.createAgentFromManifestWithResponse":"Azure.AI.Projects.Agents.createAgentFromManifest","com.azure.ai.agents.AgentsClient.createAgentVersion":"Azure.AI.Projects.Agents.createAgentVersion","com.azure.ai.agents.AgentsClient.createAgentVersionFromCode":"Azure.AI.Projects.Agents.createAgentVersionFromCode","com.azure.ai.agents.AgentsClient.createAgentVersionFromCodeWithResponse":"Azure.AI.Projects.Agents.createAgentVersionFromCode","com.azure.ai.agents.AgentsClient.createAgentVersionFromManifest":"Azure.AI.Projects.Agents.createAgentVersionFromManifest","com.azure.ai.agents.AgentsClient.createAgentVersionFromManifestWithResponse":"Azure.AI.Projects.Agents.createAgentVersionFromManifest","com.azure.ai.agents.AgentsClient.createAgentVersionWithResponse":"Azure.AI.Projects.Agents.createAgentVersion","com.azure.ai.agents.AgentsClient.createAgentWithResponse":"Azure.AI.Projects.Agents.createAgent","com.azure.ai.agents.AgentsClient.createSession":"Azure.AI.Projects.Agents.createSession","com.azure.ai.agents.AgentsClient.createSessionWithResponse":"Azure.AI.Projects.Agents.createSession","com.azure.ai.agents.AgentsClient.deleteSession":"Azure.AI.Projects.Agents.deleteSession","com.azure.ai.agents.AgentsClient.deleteSessionFile":"Azure.AI.Projects.AgentSessionFiles.deleteSessionFile","com.azure.ai.agents.AgentsClient.deleteSessionFileWithResponse":"Azure.AI.Projects.AgentSessionFiles.deleteSessionFile","com.azure.ai.agents.AgentsClient.deleteSessionWithResponse":"Azure.AI.Projects.Agents.deleteSession","com.azure.ai.agents.AgentsClient.disableAgent":"Azure.AI.Projects.Agents.disableAgent","com.azure.ai.agents.AgentsClient.disableAgentWithResponse":"Azure.AI.Projects.Agents.disableAgent","com.azure.ai.agents.AgentsClient.downloadAgentCode":"Azure.AI.Projects.Agents.downloadAgentCode","com.azure.ai.agents.AgentsClient.downloadAgentCodeWithResponse":"Azure.AI.Projects.Agents.downloadAgentCode","com.azure.ai.agents.AgentsClient.downloadSessionFile":"Azure.AI.Projects.AgentSessionFiles.downloadSessionFile","com.azure.ai.agents.AgentsClient.downloadSessionFileWithResponse":"Azure.AI.Projects.AgentSessionFiles.downloadSessionFile","com.azure.ai.agents.AgentsClient.enableAgent":"Azure.AI.Projects.Agents.enableAgent","com.azure.ai.agents.AgentsClient.enableAgentWithResponse":"Azure.AI.Projects.Agents.enableAgent","com.azure.ai.agents.AgentsClient.getAgent":"Azure.AI.Projects.Agents.getAgent","com.azure.ai.agents.AgentsClient.getAgentVersionDetails":"Azure.AI.Projects.Agents.getAgentVersion","com.azure.ai.agents.AgentsClient.getAgentVersionDetailsWithResponse":"Azure.AI.Projects.Agents.getAgentVersion","com.azure.ai.agents.AgentsClient.getAgentWithResponse":"Azure.AI.Projects.Agents.getAgent","com.azure.ai.agents.AgentsClient.getSession":"Azure.AI.Projects.Agents.getSession","com.azure.ai.agents.AgentsClient.getSessionWithResponse":"Azure.AI.Projects.Agents.getSession","com.azure.ai.agents.AgentsClient.listAgentConversations":"Azure.AI.Projects.Conversations.listConversations","com.azure.ai.agents.AgentsClient.listAgentVersions":"Azure.AI.Projects.Agents.listAgentVersions","com.azure.ai.agents.AgentsClient.listAgents":"Azure.AI.Projects.Agents.listAgents","com.azure.ai.agents.AgentsClient.listSessionFiles":"Azure.AI.Projects.AgentSessionFiles.listSessionFiles","com.azure.ai.agents.AgentsClient.listSessions":"Azure.AI.Projects.Agents.listSessions","com.azure.ai.agents.AgentsClient.stopSession":"Azure.AI.Projects.Agents.stopSession","com.azure.ai.agents.AgentsClient.stopSessionWithResponse":"Azure.AI.Projects.Agents.stopSession","com.azure.ai.agents.AgentsClient.updateAgent":"Azure.AI.Projects.Agents.updateAgent","com.azure.ai.agents.AgentsClient.updateAgentDetails":"Azure.AI.Projects.Agents.patchAgentObject","com.azure.ai.agents.AgentsClient.updateAgentDetailsWithResponse":"Azure.AI.Projects.Agents.patchAgentObject","com.azure.ai.agents.AgentsClient.updateAgentFromCode":"Azure.AI.Projects.Agents.updateAgentFromCode","com.azure.ai.agents.AgentsClient.updateAgentFromCodeWithResponse":"Azure.AI.Projects.Agents.updateAgentFromCode","com.azure.ai.agents.AgentsClient.updateAgentFromManifest":"Azure.AI.Projects.Agents.updateAgentFromManifest","com.azure.ai.agents.AgentsClient.updateAgentFromManifestWithResponse":"Azure.AI.Projects.Agents.updateAgentFromManifest","com.azure.ai.agents.AgentsClient.updateAgentWithResponse":"Azure.AI.Projects.Agents.updateAgent","com.azure.ai.agents.AgentsClient.uploadSessionFile":"Azure.AI.Projects.AgentSessionFiles.uploadSessionFile","com.azure.ai.agents.AgentsClient.uploadSessionFileWithResponse":"Azure.AI.Projects.AgentSessionFiles.uploadSessionFile","com.azure.ai.agents.AgentsClientBuilder":"Azure.AI.Projects","com.azure.ai.agents.BetaAgentsAsyncClient":"Azure.AI.Projects.Beta.Agents","com.azure.ai.agents.BetaAgentsAsyncClient.beginCreateOptimizationJob":"Azure.AI.Projects.AgentOptimizationJobs.create","com.azure.ai.agents.BetaAgentsAsyncClient.beginCreateOptimizationJobWithModel":"Azure.AI.Projects.AgentOptimizationJobs.create","com.azure.ai.agents.BetaAgentsAsyncClient.cancelOptimizationJob":"Azure.AI.Projects.AgentOptimizationJobs.cancel","com.azure.ai.agents.BetaAgentsAsyncClient.cancelOptimizationJobWithResponse":"Azure.AI.Projects.AgentOptimizationJobs.cancel","com.azure.ai.agents.BetaAgentsAsyncClient.deleteOptimizationJob":"Azure.AI.Projects.AgentOptimizationJobs.delete","com.azure.ai.agents.BetaAgentsAsyncClient.deleteOptimizationJobWithResponse":"Azure.AI.Projects.AgentOptimizationJobs.delete","com.azure.ai.agents.BetaAgentsAsyncClient.getOptimizationJob":"Azure.AI.Projects.AgentOptimizationJobs.get","com.azure.ai.agents.BetaAgentsAsyncClient.getOptimizationJobWithResponse":"Azure.AI.Projects.AgentOptimizationJobs.get","com.azure.ai.agents.BetaAgentsAsyncClient.listOptimizationJobs":"Azure.AI.Projects.AgentOptimizationJobs.list","com.azure.ai.agents.BetaAgentsClient":"Azure.AI.Projects.Beta.Agents","com.azure.ai.agents.BetaAgentsClient.beginCreateOptimizationJob":"Azure.AI.Projects.AgentOptimizationJobs.create","com.azure.ai.agents.BetaAgentsClient.beginCreateOptimizationJobWithModel":"Azure.AI.Projects.AgentOptimizationJobs.create","com.azure.ai.agents.BetaAgentsClient.cancelOptimizationJob":"Azure.AI.Projects.AgentOptimizationJobs.cancel","com.azure.ai.agents.BetaAgentsClient.cancelOptimizationJobWithResponse":"Azure.AI.Projects.AgentOptimizationJobs.cancel","com.azure.ai.agents.BetaAgentsClient.deleteOptimizationJob":"Azure.AI.Projects.AgentOptimizationJobs.delete","com.azure.ai.agents.BetaAgentsClient.deleteOptimizationJobWithResponse":"Azure.AI.Projects.AgentOptimizationJobs.delete","com.azure.ai.agents.BetaAgentsClient.getOptimizationJob":"Azure.AI.Projects.AgentOptimizationJobs.get","com.azure.ai.agents.BetaAgentsClient.getOptimizationJobWithResponse":"Azure.AI.Projects.AgentOptimizationJobs.get","com.azure.ai.agents.BetaAgentsClient.listOptimizationJobs":"Azure.AI.Projects.AgentOptimizationJobs.list","com.azure.ai.agents.BetaMemoryStoresAsyncClient":"Azure.AI.Projects.Beta.MemoryStores","com.azure.ai.agents.BetaMemoryStoresAsyncClient.beginInternalUpdateMemories":"Azure.AI.Projects.MemoryStores.updateMemories","com.azure.ai.agents.BetaMemoryStoresAsyncClient.beginInternalUpdateMemoriesWithModel":"Azure.AI.Projects.MemoryStores.updateMemories","com.azure.ai.agents.BetaMemoryStoresAsyncClient.createMemory":"Azure.AI.Projects.MemoryStores.createMemory","com.azure.ai.agents.BetaMemoryStoresAsyncClient.createMemoryStore":"Azure.AI.Projects.MemoryStores.createMemoryStore","com.azure.ai.agents.BetaMemoryStoresAsyncClient.createMemoryStoreWithResponse":"Azure.AI.Projects.MemoryStores.createMemoryStore","com.azure.ai.agents.BetaMemoryStoresAsyncClient.createMemoryWithResponse":"Azure.AI.Projects.MemoryStores.createMemory","com.azure.ai.agents.BetaMemoryStoresAsyncClient.getMemory":"Azure.AI.Projects.MemoryStores.getMemory","com.azure.ai.agents.BetaMemoryStoresAsyncClient.getMemoryStore":"Azure.AI.Projects.MemoryStores.getMemoryStore","com.azure.ai.agents.BetaMemoryStoresAsyncClient.getMemoryStoreWithResponse":"Azure.AI.Projects.MemoryStores.getMemoryStore","com.azure.ai.agents.BetaMemoryStoresAsyncClient.getMemoryWithResponse":"Azure.AI.Projects.MemoryStores.getMemory","com.azure.ai.agents.BetaMemoryStoresAsyncClient.getUpdateResult":"Azure.AI.Projects.MemoryStores.getUpdateResult","com.azure.ai.agents.BetaMemoryStoresAsyncClient.getUpdateResultWithResponse":"Azure.AI.Projects.MemoryStores.getUpdateResult","com.azure.ai.agents.BetaMemoryStoresAsyncClient.internalSearchMemories":"Azure.AI.Projects.MemoryStores.searchMemories","com.azure.ai.agents.BetaMemoryStoresAsyncClient.internalSearchMemoriesWithResponse":"Azure.AI.Projects.MemoryStores.searchMemories","com.azure.ai.agents.BetaMemoryStoresAsyncClient.listMemories":"Azure.AI.Projects.MemoryStores.listMemories","com.azure.ai.agents.BetaMemoryStoresAsyncClient.listMemoryStores":"Azure.AI.Projects.MemoryStores.listMemoryStores","com.azure.ai.agents.BetaMemoryStoresAsyncClient.updateMemory":"Azure.AI.Projects.MemoryStores.updateMemory","com.azure.ai.agents.BetaMemoryStoresAsyncClient.updateMemoryStore":"Azure.AI.Projects.MemoryStores.updateMemoryStore","com.azure.ai.agents.BetaMemoryStoresAsyncClient.updateMemoryStoreWithResponse":"Azure.AI.Projects.MemoryStores.updateMemoryStore","com.azure.ai.agents.BetaMemoryStoresAsyncClient.updateMemoryWithResponse":"Azure.AI.Projects.MemoryStores.updateMemory","com.azure.ai.agents.BetaMemoryStoresClient":"Azure.AI.Projects.Beta.MemoryStores","com.azure.ai.agents.BetaMemoryStoresClient.beginInternalUpdateMemories":"Azure.AI.Projects.MemoryStores.updateMemories","com.azure.ai.agents.BetaMemoryStoresClient.beginInternalUpdateMemoriesWithModel":"Azure.AI.Projects.MemoryStores.updateMemories","com.azure.ai.agents.BetaMemoryStoresClient.createMemory":"Azure.AI.Projects.MemoryStores.createMemory","com.azure.ai.agents.BetaMemoryStoresClient.createMemoryStore":"Azure.AI.Projects.MemoryStores.createMemoryStore","com.azure.ai.agents.BetaMemoryStoresClient.createMemoryStoreWithResponse":"Azure.AI.Projects.MemoryStores.createMemoryStore","com.azure.ai.agents.BetaMemoryStoresClient.createMemoryWithResponse":"Azure.AI.Projects.MemoryStores.createMemory","com.azure.ai.agents.BetaMemoryStoresClient.getMemory":"Azure.AI.Projects.MemoryStores.getMemory","com.azure.ai.agents.BetaMemoryStoresClient.getMemoryStore":"Azure.AI.Projects.MemoryStores.getMemoryStore","com.azure.ai.agents.BetaMemoryStoresClient.getMemoryStoreWithResponse":"Azure.AI.Projects.MemoryStores.getMemoryStore","com.azure.ai.agents.BetaMemoryStoresClient.getMemoryWithResponse":"Azure.AI.Projects.MemoryStores.getMemory","com.azure.ai.agents.BetaMemoryStoresClient.getUpdateResult":"Azure.AI.Projects.MemoryStores.getUpdateResult","com.azure.ai.agents.BetaMemoryStoresClient.getUpdateResultWithResponse":"Azure.AI.Projects.MemoryStores.getUpdateResult","com.azure.ai.agents.BetaMemoryStoresClient.internalSearchMemories":"Azure.AI.Projects.MemoryStores.searchMemories","com.azure.ai.agents.BetaMemoryStoresClient.internalSearchMemoriesWithResponse":"Azure.AI.Projects.MemoryStores.searchMemories","com.azure.ai.agents.BetaMemoryStoresClient.listMemories":"Azure.AI.Projects.MemoryStores.listMemories","com.azure.ai.agents.BetaMemoryStoresClient.listMemoryStores":"Azure.AI.Projects.MemoryStores.listMemoryStores","com.azure.ai.agents.BetaMemoryStoresClient.updateMemory":"Azure.AI.Projects.MemoryStores.updateMemory","com.azure.ai.agents.BetaMemoryStoresClient.updateMemoryStore":"Azure.AI.Projects.MemoryStores.updateMemoryStore","com.azure.ai.agents.BetaMemoryStoresClient.updateMemoryStoreWithResponse":"Azure.AI.Projects.MemoryStores.updateMemoryStore","com.azure.ai.agents.BetaMemoryStoresClient.updateMemoryWithResponse":"Azure.AI.Projects.MemoryStores.updateMemory","com.azure.ai.agents.ToolboxesAsyncClient":"Azure.AI.Projects.Toolboxes","com.azure.ai.agents.ToolboxesAsyncClient.createToolboxVersion":"Azure.AI.Projects.Toolboxes.createToolboxVersion","com.azure.ai.agents.ToolboxesAsyncClient.createToolboxVersionWithResponse":"Azure.AI.Projects.Toolboxes.createToolboxVersion","com.azure.ai.agents.ToolboxesAsyncClient.deleteToolbox":"Azure.AI.Projects.Toolboxes.deleteToolbox","com.azure.ai.agents.ToolboxesAsyncClient.deleteToolboxVersion":"Azure.AI.Projects.Toolboxes.deleteToolboxVersion","com.azure.ai.agents.ToolboxesAsyncClient.deleteToolboxVersionWithResponse":"Azure.AI.Projects.Toolboxes.deleteToolboxVersion","com.azure.ai.agents.ToolboxesAsyncClient.deleteToolboxWithResponse":"Azure.AI.Projects.Toolboxes.deleteToolbox","com.azure.ai.agents.ToolboxesAsyncClient.getToolbox":"Azure.AI.Projects.Toolboxes.getToolbox","com.azure.ai.agents.ToolboxesAsyncClient.getToolboxVersion":"Azure.AI.Projects.Toolboxes.getToolboxVersion","com.azure.ai.agents.ToolboxesAsyncClient.getToolboxVersionWithResponse":"Azure.AI.Projects.Toolboxes.getToolboxVersion","com.azure.ai.agents.ToolboxesAsyncClient.getToolboxWithResponse":"Azure.AI.Projects.Toolboxes.getToolbox","com.azure.ai.agents.ToolboxesAsyncClient.listToolboxVersions":"Azure.AI.Projects.Toolboxes.listToolboxVersions","com.azure.ai.agents.ToolboxesAsyncClient.listToolboxes":"Azure.AI.Projects.Toolboxes.listToolboxes","com.azure.ai.agents.ToolboxesAsyncClient.updateToolbox":"Azure.AI.Projects.Toolboxes.updateToolbox","com.azure.ai.agents.ToolboxesAsyncClient.updateToolboxWithResponse":"Azure.AI.Projects.Toolboxes.updateToolbox","com.azure.ai.agents.ToolboxesClient":"Azure.AI.Projects.Toolboxes","com.azure.ai.agents.ToolboxesClient.createToolboxVersion":"Azure.AI.Projects.Toolboxes.createToolboxVersion","com.azure.ai.agents.ToolboxesClient.createToolboxVersionWithResponse":"Azure.AI.Projects.Toolboxes.createToolboxVersion","com.azure.ai.agents.ToolboxesClient.deleteToolbox":"Azure.AI.Projects.Toolboxes.deleteToolbox","com.azure.ai.agents.ToolboxesClient.deleteToolboxVersion":"Azure.AI.Projects.Toolboxes.deleteToolboxVersion","com.azure.ai.agents.ToolboxesClient.deleteToolboxVersionWithResponse":"Azure.AI.Projects.Toolboxes.deleteToolboxVersion","com.azure.ai.agents.ToolboxesClient.deleteToolboxWithResponse":"Azure.AI.Projects.Toolboxes.deleteToolbox","com.azure.ai.agents.ToolboxesClient.getToolbox":"Azure.AI.Projects.Toolboxes.getToolbox","com.azure.ai.agents.ToolboxesClient.getToolboxVersion":"Azure.AI.Projects.Toolboxes.getToolboxVersion","com.azure.ai.agents.ToolboxesClient.getToolboxVersionWithResponse":"Azure.AI.Projects.Toolboxes.getToolboxVersion","com.azure.ai.agents.ToolboxesClient.getToolboxWithResponse":"Azure.AI.Projects.Toolboxes.getToolbox","com.azure.ai.agents.ToolboxesClient.listToolboxVersions":"Azure.AI.Projects.Toolboxes.listToolboxVersions","com.azure.ai.agents.ToolboxesClient.listToolboxes":"Azure.AI.Projects.Toolboxes.listToolboxes","com.azure.ai.agents.ToolboxesClient.updateToolbox":"Azure.AI.Projects.Toolboxes.updateToolbox","com.azure.ai.agents.ToolboxesClient.updateToolboxWithResponse":"Azure.AI.Projects.Toolboxes.updateToolbox","com.azure.ai.agents.implementation.models.AgentDefinitionOptInKeys":"Azure.AI.Projects.AgentDefinitionOptInKeys","com.azure.ai.agents.implementation.models.CreateAgentFromCodeContent":"Azure.AI.Projects.CreateAgentFromCodeContent","com.azure.ai.agents.implementation.models.CreateAgentFromManifestRequest":"Azure.AI.Projects.createAgentFromManifest.Request.anonymous","com.azure.ai.agents.implementation.models.CreateAgentOptions":null,"com.azure.ai.agents.implementation.models.CreateAgentRequest":"Azure.AI.Projects.createAgent.Request.anonymous","com.azure.ai.agents.implementation.models.CreateAgentVersionFromManifestRequest":"Azure.AI.Projects.createAgentVersionFromManifest.Request.anonymous","com.azure.ai.agents.implementation.models.CreateAgentVersionRequest":"Azure.AI.Projects.createAgentVersion.Request.anonymous","com.azure.ai.agents.implementation.models.CreateMemoryRequest":"Azure.AI.Projects.createMemory.Request.anonymous","com.azure.ai.agents.implementation.models.CreateMemoryStoreRequest":"Azure.AI.Projects.createMemoryStore.Request.anonymous","com.azure.ai.agents.implementation.models.CreateSessionRequest":"Azure.AI.Projects.createSession.Request.anonymous","com.azure.ai.agents.implementation.models.CreateToolboxVersionRequest":"Azure.AI.Projects.createToolboxVersion.Request.anonymous","com.azure.ai.agents.implementation.models.FoundryFeaturesOptInKeys":"Azure.AI.Projects.FoundryFeaturesOptInKeys","com.azure.ai.agents.implementation.models.ListMemoriesRequest":"Azure.AI.Projects.listMemories.Request.anonymous","com.azure.ai.agents.implementation.models.SearchMemoriesRequest":"Azure.AI.Projects.searchMemories.Request.anonymous","com.azure.ai.agents.implementation.models.UpdateAgentFromManifestRequest":"Azure.AI.Projects.updateAgentFromManifest.Request.anonymous","com.azure.ai.agents.implementation.models.UpdateAgentRequest":"Azure.AI.Projects.updateAgent.Request.anonymous","com.azure.ai.agents.implementation.models.UpdateMemoriesRequest":"Azure.AI.Projects.updateMemories.Request.anonymous","com.azure.ai.agents.implementation.models.UpdateMemoryRequest":"Azure.AI.Projects.updateMemory.Request.anonymous","com.azure.ai.agents.implementation.models.UpdateMemoryStoreRequest":"Azure.AI.Projects.updateMemoryStore.Request.anonymous","com.azure.ai.agents.implementation.models.UpdateToolboxInput":"Azure.AI.Projects.UpdateToolboxRequest","com.azure.ai.agents.implementation.models.UpdateToolboxRequest":"Azure.AI.Projects.updateToolbox.Request.anonymous","com.azure.ai.agents.models.A2APreviewTool":"Azure.AI.Projects.A2APreviewTool","com.azure.ai.agents.models.A2APreviewToolboxTool":"Azure.AI.Projects.A2APreviewToolboxTool","com.azure.ai.agents.models.A2AProtocolConfiguration":"Azure.AI.Projects.A2AProtocolConfiguration","com.azure.ai.agents.models.A2AProtocolVersion":"Azure.AI.Projects.A2AProtocolVersion","com.azure.ai.agents.models.A2ATool":"Azure.AI.Projects.A2ATool","com.azure.ai.agents.models.A2AToolCall":"Azure.AI.Projects.A2AToolCall","com.azure.ai.agents.models.A2AToolCallOutput":"Azure.AI.Projects.A2AToolCallOutput","com.azure.ai.agents.models.A2AToolboxTool":"Azure.AI.Projects.A2AToolboxTool","com.azure.ai.agents.models.AISearchIndexResource":"Azure.AI.Projects.AISearchIndexResource","com.azure.ai.agents.models.ActivityProtocolConfiguration":"Azure.AI.Projects.ActivityProtocolConfiguration","com.azure.ai.agents.models.AgentBlueprintReference":"Azure.AI.Projects.AgentBlueprintReference","com.azure.ai.agents.models.AgentBlueprintReferenceType":"Azure.AI.Projects.AgentBlueprintReferenceType","com.azure.ai.agents.models.AgentCard":"Azure.AI.Projects.AgentCard","com.azure.ai.agents.models.AgentCardSkill":"Azure.AI.Projects.AgentCardSkill","com.azure.ai.agents.models.AgentDefinition":"Azure.AI.Projects.AgentDefinition","com.azure.ai.agents.models.AgentDetails":"Azure.AI.Projects.AgentObject","com.azure.ai.agents.models.AgentDetailsVersions":"Azure.AI.Projects.AgentObject.versions.anonymous","com.azure.ai.agents.models.AgentEndpointAuthorizationScheme":"Azure.AI.Projects.AgentEndpointAuthorizationScheme","com.azure.ai.agents.models.AgentEndpointAuthorizationSchemeType":"Azure.AI.Projects.AgentEndpointAuthorizationSchemeType","com.azure.ai.agents.models.AgentEndpointConfig":"Azure.AI.Projects.AgentEndpointConfig","com.azure.ai.agents.models.AgentEndpointProtocol":"Azure.AI.Projects.AgentEndpointProtocol","com.azure.ai.agents.models.AgentIdentity":"Azure.AI.Projects.AgentIdentity","com.azure.ai.agents.models.AgentIdentityStatus":"Azure.AI.Projects.AgentIdentityStatus","com.azure.ai.agents.models.AgentKind":"Azure.AI.Projects.AgentKind","com.azure.ai.agents.models.AgentObjectType":"Azure.AI.Projects.AgentObjectType","com.azure.ai.agents.models.AgentOptimizationCandidate":"Azure.AI.Projects.AgentOptimizationCandidate","com.azure.ai.agents.models.AgentOptimizationDatasetCriterion":"Azure.AI.Projects.AgentOptimizationDatasetCriterion","com.azure.ai.agents.models.AgentOptimizationDatasetInput":"Azure.AI.Projects.AgentOptimizationDatasetInput","com.azure.ai.agents.models.AgentOptimizationDatasetInputType":"Azure.AI.Projects.AgentOptimizationDatasetInputType","com.azure.ai.agents.models.AgentOptimizationDatasetItem":"Azure.AI.Projects.AgentOptimizationDatasetItem","com.azure.ai.agents.models.AgentOptimizationEvaluatorRef":"Azure.AI.Projects.AgentOptimizationEvaluatorRef","com.azure.ai.agents.models.AgentOptimizationInlineDatasetInput":"Azure.AI.Projects.AgentOptimizationInlineDatasetInput","com.azure.ai.agents.models.AgentOptimizationJob":"Azure.AI.Projects.AgentOptimizationJob","com.azure.ai.agents.models.AgentOptimizationJobInputs":"Azure.AI.Projects.AgentOptimizationJobInputs","com.azure.ai.agents.models.AgentOptimizationJobListItem":"Azure.AI.Projects.AgentOptimizationJobListItem","com.azure.ai.agents.models.AgentOptimizationJobProgress":"Azure.AI.Projects.AgentOptimizationJobProgress","com.azure.ai.agents.models.AgentOptimizationJobResult":"Azure.AI.Projects.AgentOptimizationJobResult","com.azure.ai.agents.models.AgentOptimizationOptions":"Azure.AI.Projects.AgentOptimizationOptions","com.azure.ai.agents.models.AgentOptimizationReferenceDatasetInput":"Azure.AI.Projects.AgentOptimizationReferenceDatasetInput","com.azure.ai.agents.models.AgentReference":"Azure.AI.Projects.AgentReference","com.azure.ai.agents.models.AgentSessionResource":"Azure.AI.Projects.AgentSessionResource","com.azure.ai.agents.models.AgentSessionStatus":"Azure.AI.Projects.AgentSessionStatus","com.azure.ai.agents.models.AgentState":"Azure.AI.Projects.AgentState","com.azure.ai.agents.models.AgentStateSource":"Azure.AI.Projects.AgentStateSource","com.azure.ai.agents.models.AgentVersionDetails":"Azure.AI.Projects.AgentVersionObject","com.azure.ai.agents.models.AgentVersionStatus":"Azure.AI.Projects.AgentVersionStatus","com.azure.ai.agents.models.ApiError":"OpenAI.Error","com.azure.ai.agents.models.ApplyPatchToolParameter":"OpenAI.ApplyPatchToolParam","com.azure.ai.agents.models.ApproximateLocation":"OpenAI.ApproximateLocation","com.azure.ai.agents.models.AutoCodeInterpreterToolParameter":"OpenAI.AutoCodeInterpreterToolParam","com.azure.ai.agents.models.AzureAISearchQueryType":"Azure.AI.Projects.AzureAISearchQueryType","com.azure.ai.agents.models.AzureAISearchTool":"Azure.AI.Projects.AzureAISearchTool","com.azure.ai.agents.models.AzureAISearchToolCall":"Azure.AI.Projects.AzureAISearchToolCall","com.azure.ai.agents.models.AzureAISearchToolCallOutput":"Azure.AI.Projects.AzureAISearchToolCallOutput","com.azure.ai.agents.models.AzureAISearchToolResource":"Azure.AI.Projects.AzureAISearchToolResource","com.azure.ai.agents.models.AzureAISearchToolboxTool":"Azure.AI.Projects.AzureAISearchToolboxTool","com.azure.ai.agents.models.AzureCreateResponseDetails":"Azure.AI.Projects.AzureCreateResponseDetails","com.azure.ai.agents.models.AzureCreateResponseOptions":"Azure.AI.Projects.AzureCreateResponseOptions","com.azure.ai.agents.models.AzureFunctionBinding":"Azure.AI.Projects.AzureFunctionBinding","com.azure.ai.agents.models.AzureFunctionDefinition":"Azure.AI.Projects.AzureFunctionDefinition","com.azure.ai.agents.models.AzureFunctionDefinitionDetails":"Azure.AI.Projects.AzureFunctionDefinition.function.anonymous","com.azure.ai.agents.models.AzureFunctionStorageQueue":"Azure.AI.Projects.AzureFunctionStorageQueue","com.azure.ai.agents.models.AzureFunctionTool":"Azure.AI.Projects.AzureFunctionTool","com.azure.ai.agents.models.AzureFunctionToolCall":"Azure.AI.Projects.AzureFunctionToolCall","com.azure.ai.agents.models.AzureFunctionToolCallOutput":"Azure.AI.Projects.AzureFunctionToolCallOutput","com.azure.ai.agents.models.AzureUserSecurityContext":"Azure.AI.Projects.AzureUserSecurityContext","com.azure.ai.agents.models.BingCustomSearchConfiguration":"Azure.AI.Projects.BingCustomSearchConfiguration","com.azure.ai.agents.models.BingCustomSearchPreviewTool":"Azure.AI.Projects.BingCustomSearchPreviewTool","com.azure.ai.agents.models.BingCustomSearchToolCall":"Azure.AI.Projects.BingCustomSearchToolCall","com.azure.ai.agents.models.BingCustomSearchToolCallOutput":"Azure.AI.Projects.BingCustomSearchToolCallOutput","com.azure.ai.agents.models.BingCustomSearchToolParameters":"Azure.AI.Projects.BingCustomSearchToolParameters","com.azure.ai.agents.models.BingGroundingSearchConfiguration":"Azure.AI.Projects.BingGroundingSearchConfiguration","com.azure.ai.agents.models.BingGroundingSearchToolParameters":"Azure.AI.Projects.BingGroundingSearchToolParameters","com.azure.ai.agents.models.BingGroundingTool":"Azure.AI.Projects.BingGroundingTool","com.azure.ai.agents.models.BingGroundingToolCall":"Azure.AI.Projects.BingGroundingToolCall","com.azure.ai.agents.models.BingGroundingToolCallOutput":"Azure.AI.Projects.BingGroundingToolCallOutput","com.azure.ai.agents.models.BotServiceAuthorizationScheme":"Azure.AI.Projects.BotServiceAuthorizationScheme","com.azure.ai.agents.models.BotServiceRbacAuthorizationScheme":"Azure.AI.Projects.BotServiceRbacAuthorizationScheme","com.azure.ai.agents.models.BotServiceTenantAuthorizationScheme":"Azure.AI.Projects.BotServiceTenantAuthorizationScheme","com.azure.ai.agents.models.BrowserAutomationPreviewTool":"Azure.AI.Projects.BrowserAutomationPreviewTool","com.azure.ai.agents.models.BrowserAutomationPreviewToolboxTool":"Azure.AI.Projects.BrowserAutomationPreviewToolboxTool","com.azure.ai.agents.models.BrowserAutomationToolCall":"Azure.AI.Projects.BrowserAutomationToolCall","com.azure.ai.agents.models.BrowserAutomationToolCallOutput":"Azure.AI.Projects.BrowserAutomationToolCallOutput","com.azure.ai.agents.models.BrowserAutomationToolConnectionParameters":"Azure.AI.Projects.BrowserAutomationToolConnectionParameters","com.azure.ai.agents.models.BrowserAutomationToolParameters":"Azure.AI.Projects.BrowserAutomationToolParameters","com.azure.ai.agents.models.CallableToolAllowedCaller":"OpenAI.CallableToolAllowedCaller","com.azure.ai.agents.models.CaptureStructuredOutputsTool":"Azure.AI.Projects.CaptureStructuredOutputsTool","com.azure.ai.agents.models.ChatSummaryMemoryItem":"Azure.AI.Projects.ChatSummaryMemoryItem","com.azure.ai.agents.models.CodeConfiguration":"Azure.AI.Projects.CodeConfiguration","com.azure.ai.agents.models.CodeDependencyResolution":"Azure.AI.Projects.CodeDependencyResolution","com.azure.ai.agents.models.CodeFileDetails":null,"com.azure.ai.agents.models.CodeInterpreterTool":"OpenAI.CodeInterpreterTool","com.azure.ai.agents.models.CodeInterpreterToolboxTool":"Azure.AI.Projects.CodeInterpreterToolboxTool","com.azure.ai.agents.models.ComputerEnvironment":"ComputerEnvironmentExpandable","com.azure.ai.agents.models.ComputerTool":"OpenAI.ComputerTool","com.azure.ai.agents.models.ComputerUsePreviewTool":"OpenAI.ComputerUsePreviewTool","com.azure.ai.agents.models.ContainerAutoParameter":"OpenAI.ContainerAutoParam","com.azure.ai.agents.models.ContainerConfiguration":"Azure.AI.Projects.ContainerConfiguration","com.azure.ai.agents.models.ContainerMemoryLimit":"ContainerMemoryLimitExpandable","com.azure.ai.agents.models.ContainerNetworkPolicyAllowlistParameter":"OpenAI.ContainerNetworkPolicyAllowlistParam","com.azure.ai.agents.models.ContainerNetworkPolicyDisabledParameter":"OpenAI.ContainerNetworkPolicyDisabledParam","com.azure.ai.agents.models.ContainerNetworkPolicyDomainSecretParameter":"OpenAI.ContainerNetworkPolicyDomainSecretParam","com.azure.ai.agents.models.ContainerNetworkPolicyParamType":"OpenAI.ContainerNetworkPolicyParamType","com.azure.ai.agents.models.ContainerNetworkPolicyParameter":"OpenAI.ContainerNetworkPolicyParam","com.azure.ai.agents.models.ContainerSkill":"OpenAI.ContainerSkill","com.azure.ai.agents.models.ContainerSkillType":"OpenAI.ContainerSkillType","com.azure.ai.agents.models.CreateAgentVersionFromCodeContent":"Azure.AI.Projects.CreateAgentVersionFromCodeContent","com.azure.ai.agents.models.CreateAgentVersionFromCodeMetadata":"Azure.AI.Projects.CreateAgentVersionFromCodeMetadata","com.azure.ai.agents.models.CreateAgentVersionInput":"Azure.AI.Projects.CreateAgentVersionRequest","com.azure.ai.agents.models.CustomGrammarFormatParameter":"OpenAI.CustomGrammarFormatParam","com.azure.ai.agents.models.CustomTextFormatParameter":"OpenAI.CustomTextFormatParam","com.azure.ai.agents.models.CustomToolParamFormat":"OpenAI.CustomToolParamFormat","com.azure.ai.agents.models.CustomToolParamFormatType":"OpenAI.CustomToolParamFormatType","com.azure.ai.agents.models.CustomToolParameter":"OpenAI.CustomToolParam","com.azure.ai.agents.models.EntraAuthorizationScheme":"Azure.AI.Projects.EntraAuthorizationScheme","com.azure.ai.agents.models.EvaluationLevel":"Azure.AI.Projects.EvaluationLevel","com.azure.ai.agents.models.ExternalAgentDefinition":"Azure.AI.Projects.ExternalAgentDefinition","com.azure.ai.agents.models.FabricDataAgentToolCall":"Azure.AI.Projects.FabricDataAgentToolCall","com.azure.ai.agents.models.FabricDataAgentToolCallOutput":"Azure.AI.Projects.FabricDataAgentToolCallOutput","com.azure.ai.agents.models.FabricDataAgentToolParameters":"Azure.AI.Projects.FabricDataAgentToolParameters","com.azure.ai.agents.models.FabricIqPreviewTool":"Azure.AI.Projects.FabricIQPreviewTool","com.azure.ai.agents.models.FabricIqPreviewToolboxTool":"Azure.AI.Projects.FabricIQPreviewToolboxTool","com.azure.ai.agents.models.FileSearchTool":"OpenAI.FileSearchTool","com.azure.ai.agents.models.FileSearchToolboxTool":"Azure.AI.Projects.FileSearchToolboxTool","com.azure.ai.agents.models.FixedRatioVersionSelectionRule":"Azure.AI.Projects.FixedRatioVersionSelectionRule","com.azure.ai.agents.models.FunctionShellToolParamEnvironment":"OpenAI.FunctionShellToolParamEnvironment","com.azure.ai.agents.models.FunctionShellToolParamEnvironmentType":"OpenAI.FunctionShellToolParamEnvironmentType","com.azure.ai.agents.models.FunctionShellToolParameter":"OpenAI.FunctionShellToolParam","com.azure.ai.agents.models.FunctionShellToolParameterEnvironmentContainerReferenceParameter":"OpenAI.FunctionShellToolParamEnvironmentContainerReferenceParam","com.azure.ai.agents.models.FunctionShellToolParameterEnvironmentLocalEnvironmentParameter":"OpenAI.FunctionShellToolParamEnvironmentLocalEnvironmentParam","com.azure.ai.agents.models.FunctionTool":"OpenAI.FunctionTool","com.azure.ai.agents.models.GrammarSyntax":"GrammarSyntaxExpandable","com.azure.ai.agents.models.HeaderTelemetryEndpointAuth":"Azure.AI.Projects.HeaderTelemetryEndpointAuth","com.azure.ai.agents.models.HostedAgentDefinition":"Azure.AI.Projects.HostedAgentDefinition","com.azure.ai.agents.models.HybridSearchOptions":"OpenAI.HybridSearchOptions","com.azure.ai.agents.models.ImageGenActionEnum":"ImageGenActionEnumExpandable","com.azure.ai.agents.models.ImageGenTool":"OpenAI.ImageGenTool","com.azure.ai.agents.models.ImageGenToolBackground":"ImageGenToolBackgroundExpandable","com.azure.ai.agents.models.ImageGenToolInputImageMask":"OpenAI.ImageGenToolInputImageMask","com.azure.ai.agents.models.ImageGenToolModel":"OpenAI.ImageGenTool.model.anonymous","com.azure.ai.agents.models.ImageGenToolModeration":"ImageGenToolModerationExpandable","com.azure.ai.agents.models.ImageGenToolOutputFormat":"ImageGenToolOutputFormatExpandable","com.azure.ai.agents.models.ImageGenToolQuality":"ImageGenToolQualityExpandable","com.azure.ai.agents.models.ImageGenToolSize":"ImageGenToolSizeExpandable","com.azure.ai.agents.models.IncludeEnum":"OpenAI.IncludeEnum","com.azure.ai.agents.models.InlineSkillParameter":"OpenAI.InlineSkillParam","com.azure.ai.agents.models.InlineSkillSourceParameter":"OpenAI.InlineSkillSourceParam","com.azure.ai.agents.models.InputFidelity":"InputFidelityExpandable","com.azure.ai.agents.models.InvocationsProtocolConfiguration":"Azure.AI.Projects.InvocationsProtocolConfiguration","com.azure.ai.agents.models.InvocationsWsProtocolConfiguration":"Azure.AI.Projects.InvocationsWsProtocolConfiguration","com.azure.ai.agents.models.JobStatus":"Azure.AI.Projects.JobStatus","com.azure.ai.agents.models.ListMemoriesOptions":null,"com.azure.ai.agents.models.LocalShellToolParameter":"OpenAI.LocalShellToolParam","com.azure.ai.agents.models.LocalSkillParameter":"OpenAI.LocalSkillParam","com.azure.ai.agents.models.ManagedAgentIdentityBlueprintReference":"Azure.AI.Projects.ManagedAgentIdentityBlueprintReference","com.azure.ai.agents.models.McpProtocolConfiguration":"Azure.AI.Projects.McpProtocolConfiguration","com.azure.ai.agents.models.McpTool":"OpenAI.MCPTool","com.azure.ai.agents.models.McpToolConnectorId":"McpToolConnectorIdExpandable","com.azure.ai.agents.models.McpToolFilter":"OpenAI.MCPToolFilter","com.azure.ai.agents.models.McpToolRequireApproval":"OpenAI.MCPToolRequireApproval","com.azure.ai.agents.models.McpToolboxTool":"Azure.AI.Projects.MCPToolboxTool","com.azure.ai.agents.models.MemoryCommandToolCall":"Azure.AI.Projects.MemoryCommandToolCall","com.azure.ai.agents.models.MemoryCommandToolCallOutput":"Azure.AI.Projects.MemoryCommandToolCallOutput","com.azure.ai.agents.models.MemoryItem":"Azure.AI.Projects.MemoryItem","com.azure.ai.agents.models.MemoryItemKind":"Azure.AI.Projects.MemoryItemKind","com.azure.ai.agents.models.MemoryOperation":"Azure.AI.Projects.MemoryOperation","com.azure.ai.agents.models.MemoryOperationKind":"Azure.AI.Projects.MemoryOperationKind","com.azure.ai.agents.models.MemorySearchItem":"Azure.AI.Projects.MemorySearchItem","com.azure.ai.agents.models.MemorySearchOptions":"Azure.AI.Projects.MemorySearchOptions","com.azure.ai.agents.models.MemorySearchPreviewTool":"Azure.AI.Projects.MemorySearchPreviewTool","com.azure.ai.agents.models.MemorySearchToolCall":"Azure.AI.Projects.MemorySearchToolCall","com.azure.ai.agents.models.MemoryStoreDefaultDefinition":"Azure.AI.Projects.MemoryStoreDefaultDefinition","com.azure.ai.agents.models.MemoryStoreDefaultOptions":"Azure.AI.Projects.MemoryStoreDefaultOptions","com.azure.ai.agents.models.MemoryStoreDefinition":"Azure.AI.Projects.MemoryStoreDefinition","com.azure.ai.agents.models.MemoryStoreDetails":"Azure.AI.Projects.MemoryStoreObject","com.azure.ai.agents.models.MemoryStoreKind":"Azure.AI.Projects.MemoryStoreKind","com.azure.ai.agents.models.MemoryStoreObjectType":"Azure.AI.Projects.MemoryStoreObjectType","com.azure.ai.agents.models.MemoryStoreOperationUsage":"Azure.AI.Projects.MemoryStoreOperationUsage","com.azure.ai.agents.models.MemoryStoreSearchResponse":"Azure.AI.Projects.MemoryStoreSearchResponse","com.azure.ai.agents.models.MemoryStoreUpdateCompletedResult":"Azure.AI.Projects.MemoryStoreUpdateCompletedResult","com.azure.ai.agents.models.MemoryStoreUpdateResponse":"Azure.AI.Projects.MemoryStoreUpdateResponse","com.azure.ai.agents.models.MemoryStoreUpdateStatus":"Azure.AI.Projects.MemoryStoreUpdateStatus","com.azure.ai.agents.models.MicrosoftFabricPreviewTool":"Azure.AI.Projects.MicrosoftFabricPreviewTool","com.azure.ai.agents.models.NamespaceTool":"OpenAI.NamespaceToolParam","com.azure.ai.agents.models.OpenApiAnonymousAuthDetails":"Azure.AI.Projects.OpenApiAnonymousAuthDetails","com.azure.ai.agents.models.OpenApiAuthDetails":"Azure.AI.Projects.OpenApiAuthDetails","com.azure.ai.agents.models.OpenApiAuthType":"Azure.AI.Projects.OpenApiAuthType","com.azure.ai.agents.models.OpenApiFunctionDefinition":"Azure.AI.Projects.OpenApiFunctionDefinition","com.azure.ai.agents.models.OpenApiFunctionDefinitionFunction":"Azure.AI.Projects.OpenApiFunctionDefinition.function.anonymous","com.azure.ai.agents.models.OpenApiManagedAuthDetails":"Azure.AI.Projects.OpenApiManagedAuthDetails","com.azure.ai.agents.models.OpenApiManagedSecurityScheme":"Azure.AI.Projects.OpenApiManagedSecurityScheme","com.azure.ai.agents.models.OpenApiProjectConnectionAuthDetails":"Azure.AI.Projects.OpenApiProjectConnectionAuthDetails","com.azure.ai.agents.models.OpenApiProjectConnectionSecurityScheme":"Azure.AI.Projects.OpenApiProjectConnectionSecurityScheme","com.azure.ai.agents.models.OpenApiTool":"Azure.AI.Projects.OpenApiTool","com.azure.ai.agents.models.OpenApiToolCall":"Azure.AI.Projects.OpenApiToolCall","com.azure.ai.agents.models.OpenApiToolCallOutput":"Azure.AI.Projects.OpenApiToolCallOutput","com.azure.ai.agents.models.OpenApiToolboxTool":"Azure.AI.Projects.OpenApiToolboxTool","com.azure.ai.agents.models.OptimizedAgentIdentifier":"Azure.AI.Projects.OptimizedAgentIdentifier","com.azure.ai.agents.models.OtlpTelemetryEndpoint":"Azure.AI.Projects.OtlpTelemetryEndpoint","com.azure.ai.agents.models.PageOrder":"Azure.AI.Projects.PageOrder","com.azure.ai.agents.models.ProceduralMemoryItem":"Azure.AI.Projects.ProceduralMemoryItem","com.azure.ai.agents.models.ProgrammaticToolCallingParameter":"OpenAI.ProgrammaticToolCallingParam","com.azure.ai.agents.models.PromotionInfo":"Azure.AI.Projects.PromotionInfo","com.azure.ai.agents.models.PromptAgentDefinition":"Azure.AI.Projects.PromptAgentDefinition","com.azure.ai.agents.models.PromptAgentDefinitionTextOptions":"Azure.AI.Projects.PromptAgentDefinitionTextOptions","com.azure.ai.agents.models.ProtocolConfiguration":"Azure.AI.Projects.ProtocolConfiguration","com.azure.ai.agents.models.ProtocolVersionRecord":"Azure.AI.Projects.ProtocolVersionRecord","com.azure.ai.agents.models.RaiConfig":"Azure.AI.Projects.RaiConfig","com.azure.ai.agents.models.RankerVersionType":"RankerVersionTypeExpandable","com.azure.ai.agents.models.RankingOptions":"OpenAI.RankingOptions","com.azure.ai.agents.models.ReminderPreviewToolboxTool":"Azure.AI.Projects.ReminderPreviewToolboxTool","com.azure.ai.agents.models.ResponseFormatJsonSchemaInner":"OpenAI.ResponseFormatJsonSchemaSchema","com.azure.ai.agents.models.ResponseUsageInputTokensDetails":"OpenAI.ResponseUsageInputTokensDetails","com.azure.ai.agents.models.ResponseUsageOutputTokensDetails":"OpenAI.ResponseUsageOutputTokensDetails","com.azure.ai.agents.models.ResponsesProtocolConfiguration":"Azure.AI.Projects.ResponsesProtocolConfiguration","com.azure.ai.agents.models.SearchContentType":"OpenAI.SearchContentType","com.azure.ai.agents.models.SearchContextSize":"SearchContextSizeExpandable","com.azure.ai.agents.models.SessionDirectoryEntry":"Azure.AI.Projects.SessionDirectoryEntry","com.azure.ai.agents.models.SessionFileWriteResult":"Azure.AI.Projects.SessionFileWriteResponse","com.azure.ai.agents.models.SessionLogEvent":"Azure.AI.Projects.SessionLogEvent","com.azure.ai.agents.models.SessionLogEventType":"Azure.AI.Projects.SessionLogEventType","com.azure.ai.agents.models.SharepointGroundingToolCall":"Azure.AI.Projects.SharepointGroundingToolCall","com.azure.ai.agents.models.SharepointGroundingToolCallOutput":"Azure.AI.Projects.SharepointGroundingToolCallOutput","com.azure.ai.agents.models.SharepointGroundingToolParameters":"Azure.AI.Projects.SharepointGroundingToolParameters","com.azure.ai.agents.models.SharepointPreviewTool":"Azure.AI.Projects.SharepointPreviewTool","com.azure.ai.agents.models.SkillReferenceParameter":"OpenAI.SkillReferenceParam","com.azure.ai.agents.models.StructuredInputDefinition":"Azure.AI.Projects.StructuredInputDefinition","com.azure.ai.agents.models.StructuredOutputDefinition":"Azure.AI.Projects.StructuredOutputDefinition","com.azure.ai.agents.models.TelemetryConfig":"Azure.AI.Projects.TelemetryConfig","com.azure.ai.agents.models.TelemetryDataKind":"Azure.AI.Projects.TelemetryDataKind","com.azure.ai.agents.models.TelemetryEndpoint":"Azure.AI.Projects.TelemetryEndpoint","com.azure.ai.agents.models.TelemetryEndpointAuth":"Azure.AI.Projects.TelemetryEndpointAuth","com.azure.ai.agents.models.TelemetryEndpointAuthType":"Azure.AI.Projects.TelemetryEndpointAuthType","com.azure.ai.agents.models.TelemetryEndpointKind":"Azure.AI.Projects.TelemetryEndpointKind","com.azure.ai.agents.models.TelemetryTransportProtocol":"Azure.AI.Projects.TelemetryTransportProtocol","com.azure.ai.agents.models.TextResponseFormatConfiguration":"OpenAI.TextResponseFormatConfiguration","com.azure.ai.agents.models.TextResponseFormatConfigurationResponseFormatJsonObject":"OpenAI.TextResponseFormatConfigurationResponseFormatJsonObject","com.azure.ai.agents.models.TextResponseFormatConfigurationResponseFormatText":"OpenAI.TextResponseFormatConfigurationResponseFormatText","com.azure.ai.agents.models.TextResponseFormatConfigurationType":"OpenAI.TextResponseFormatConfigurationType","com.azure.ai.agents.models.TextResponseFormatJsonSchema":"OpenAI.TextResponseFormatJsonSchema","com.azure.ai.agents.models.Tool":"OpenAI.Tool","com.azure.ai.agents.models.ToolCallStatus":"Azure.AI.Projects.ToolCallStatus","com.azure.ai.agents.models.ToolConfig":"Azure.AI.Projects.ToolConfig","com.azure.ai.agents.models.ToolProjectConnection":"Azure.AI.Projects.ToolProjectConnection","com.azure.ai.agents.models.ToolSearchExecutionType":"OpenAI.ToolSearchExecutionType","com.azure.ai.agents.models.ToolSearchTool":"OpenAI.ToolSearchToolParam","com.azure.ai.agents.models.ToolSearchToolboxTool":"Azure.AI.Projects.ToolSearchToolboxTool","com.azure.ai.agents.models.ToolType":"OpenAI.ToolType","com.azure.ai.agents.models.ToolboxDetails":"Azure.AI.Projects.ToolboxObject","com.azure.ai.agents.models.ToolboxPolicies":"Azure.AI.Projects.ToolboxPolicies","com.azure.ai.agents.models.ToolboxSearchPreviewToolboxTool":"Azure.AI.Projects.ToolboxSearchPreviewToolboxTool","com.azure.ai.agents.models.ToolboxSkill":"Azure.AI.Projects.ToolboxSkill","com.azure.ai.agents.models.ToolboxSkillReference":"Azure.AI.Projects.ToolboxSkillReference","com.azure.ai.agents.models.ToolboxTool":"Azure.AI.Projects.ToolboxTool","com.azure.ai.agents.models.ToolboxToolType":"ToolboxToolTypeJava","com.azure.ai.agents.models.ToolboxVersionDetails":"Azure.AI.Projects.ToolboxVersionObject","com.azure.ai.agents.models.UpdateAgentDetailsOptions":"Azure.AI.Projects.patchAgentObject.Request.anonymous","com.azure.ai.agents.models.UserProfileMemoryItem":"Azure.AI.Projects.UserProfileMemoryItem","com.azure.ai.agents.models.VersionIndicator":"Azure.AI.Projects.VersionIndicator","com.azure.ai.agents.models.VersionIndicatorType":"Azure.AI.Projects.VersionIndicatorType","com.azure.ai.agents.models.VersionRefIndicator":"Azure.AI.Projects.VersionRefIndicator","com.azure.ai.agents.models.VersionSelectionRule":"Azure.AI.Projects.VersionSelectionRule","com.azure.ai.agents.models.VersionSelector":"Azure.AI.Projects.VersionSelector","com.azure.ai.agents.models.VersionSelectorType":"Azure.AI.Projects.VersionSelectorType","com.azure.ai.agents.models.WebSearchApproximateLocation":"OpenAI.WebSearchApproximateLocation","com.azure.ai.agents.models.WebSearchConfiguration":"Azure.AI.Projects.WebSearchConfiguration","com.azure.ai.agents.models.WebSearchPreviewTool":"OpenAI.WebSearchPreviewTool","com.azure.ai.agents.models.WebSearchTool":"OpenAI.WebSearchTool","com.azure.ai.agents.models.WebSearchToolFilters":"OpenAI.WebSearchToolFilters","com.azure.ai.agents.models.WebSearchToolSearchContextSize":"WebSearchToolSearchContextSizeExpandable","com.azure.ai.agents.models.WebSearchToolboxTool":"Azure.AI.Projects.WebSearchToolboxTool","com.azure.ai.agents.models.WorkIqPreviewTool":"Azure.AI.Projects.WorkIQPreviewTool","com.azure.ai.agents.models.WorkIqPreviewToolboxTool":"Azure.AI.Projects.WorkIQPreviewToolboxTool","com.azure.ai.agents.models.WorkflowAgentDefinition":"Azure.AI.Projects.WorkflowAgentDefinition"},"generatedFiles":["src/main/java/com/azure/ai/agents/AgentsAsyncClient.java","src/main/java/com/azure/ai/agents/AgentsClient.java","src/main/java/com/azure/ai/agents/AgentsClientBuilder.java","src/main/java/com/azure/ai/agents/AgentsServiceVersion.java","src/main/java/com/azure/ai/agents/BetaAgentsAsyncClient.java","src/main/java/com/azure/ai/agents/BetaAgentsClient.java","src/main/java/com/azure/ai/agents/BetaMemoryStoresAsyncClient.java","src/main/java/com/azure/ai/agents/BetaMemoryStoresClient.java","src/main/java/com/azure/ai/agents/ToolboxesAsyncClient.java","src/main/java/com/azure/ai/agents/ToolboxesClient.java","src/main/java/com/azure/ai/agents/implementation/AgentsClientImpl.java","src/main/java/com/azure/ai/agents/implementation/AgentsImpl.java","src/main/java/com/azure/ai/agents/implementation/BetaAgentsImpl.java","src/main/java/com/azure/ai/agents/implementation/BetaMemoryStoresImpl.java","src/main/java/com/azure/ai/agents/implementation/JsonMergePatchHelper.java","src/main/java/com/azure/ai/agents/implementation/MultipartFormDataHelper.java","src/main/java/com/azure/ai/agents/implementation/OperationLocationPollingStrategy.java","src/main/java/com/azure/ai/agents/implementation/PollingUtils.java","src/main/java/com/azure/ai/agents/implementation/SyncOperationLocationPollingStrategy.java","src/main/java/com/azure/ai/agents/implementation/ToolboxesImpl.java","src/main/java/com/azure/ai/agents/implementation/models/AgentDefinitionOptInKeys.java","src/main/java/com/azure/ai/agents/implementation/models/CreateAgentFromCodeContent.java","src/main/java/com/azure/ai/agents/implementation/models/CreateAgentFromManifestRequest.java","src/main/java/com/azure/ai/agents/implementation/models/CreateAgentOptions.java","src/main/java/com/azure/ai/agents/implementation/models/CreateAgentRequest.java","src/main/java/com/azure/ai/agents/implementation/models/CreateAgentVersionFromManifestRequest.java","src/main/java/com/azure/ai/agents/implementation/models/CreateAgentVersionRequest.java","src/main/java/com/azure/ai/agents/implementation/models/CreateMemoryRequest.java","src/main/java/com/azure/ai/agents/implementation/models/CreateMemoryStoreRequest.java","src/main/java/com/azure/ai/agents/implementation/models/CreateSessionRequest.java","src/main/java/com/azure/ai/agents/implementation/models/CreateToolboxVersionRequest.java","src/main/java/com/azure/ai/agents/implementation/models/FoundryFeaturesOptInKeys.java","src/main/java/com/azure/ai/agents/implementation/models/ListMemoriesRequest.java","src/main/java/com/azure/ai/agents/implementation/models/SearchMemoriesRequest.java","src/main/java/com/azure/ai/agents/implementation/models/UpdateAgentFromManifestRequest.java","src/main/java/com/azure/ai/agents/implementation/models/UpdateAgentRequest.java","src/main/java/com/azure/ai/agents/implementation/models/UpdateMemoriesRequest.java","src/main/java/com/azure/ai/agents/implementation/models/UpdateMemoryRequest.java","src/main/java/com/azure/ai/agents/implementation/models/UpdateMemoryStoreRequest.java","src/main/java/com/azure/ai/agents/implementation/models/UpdateToolboxInput.java","src/main/java/com/azure/ai/agents/implementation/models/UpdateToolboxRequest.java","src/main/java/com/azure/ai/agents/implementation/models/package-info.java","src/main/java/com/azure/ai/agents/implementation/package-info.java","src/main/java/com/azure/ai/agents/models/A2APreviewTool.java","src/main/java/com/azure/ai/agents/models/A2APreviewToolboxTool.java","src/main/java/com/azure/ai/agents/models/A2AProtocolConfiguration.java","src/main/java/com/azure/ai/agents/models/A2AProtocolVersion.java","src/main/java/com/azure/ai/agents/models/A2ATool.java","src/main/java/com/azure/ai/agents/models/A2AToolCall.java","src/main/java/com/azure/ai/agents/models/A2AToolCallOutput.java","src/main/java/com/azure/ai/agents/models/A2AToolboxTool.java","src/main/java/com/azure/ai/agents/models/AISearchIndexResource.java","src/main/java/com/azure/ai/agents/models/ActivityProtocolConfiguration.java","src/main/java/com/azure/ai/agents/models/AgentBlueprintReference.java","src/main/java/com/azure/ai/agents/models/AgentBlueprintReferenceType.java","src/main/java/com/azure/ai/agents/models/AgentCard.java","src/main/java/com/azure/ai/agents/models/AgentCardSkill.java","src/main/java/com/azure/ai/agents/models/AgentDefinition.java","src/main/java/com/azure/ai/agents/models/AgentDetails.java","src/main/java/com/azure/ai/agents/models/AgentDetailsVersions.java","src/main/java/com/azure/ai/agents/models/AgentEndpointAuthorizationScheme.java","src/main/java/com/azure/ai/agents/models/AgentEndpointAuthorizationSchemeType.java","src/main/java/com/azure/ai/agents/models/AgentEndpointConfig.java","src/main/java/com/azure/ai/agents/models/AgentEndpointProtocol.java","src/main/java/com/azure/ai/agents/models/AgentIdentity.java","src/main/java/com/azure/ai/agents/models/AgentIdentityStatus.java","src/main/java/com/azure/ai/agents/models/AgentKind.java","src/main/java/com/azure/ai/agents/models/AgentObjectType.java","src/main/java/com/azure/ai/agents/models/AgentOptimizationCandidate.java","src/main/java/com/azure/ai/agents/models/AgentOptimizationDatasetCriterion.java","src/main/java/com/azure/ai/agents/models/AgentOptimizationDatasetInput.java","src/main/java/com/azure/ai/agents/models/AgentOptimizationDatasetInputType.java","src/main/java/com/azure/ai/agents/models/AgentOptimizationDatasetItem.java","src/main/java/com/azure/ai/agents/models/AgentOptimizationEvaluatorRef.java","src/main/java/com/azure/ai/agents/models/AgentOptimizationInlineDatasetInput.java","src/main/java/com/azure/ai/agents/models/AgentOptimizationJob.java","src/main/java/com/azure/ai/agents/models/AgentOptimizationJobInputs.java","src/main/java/com/azure/ai/agents/models/AgentOptimizationJobListItem.java","src/main/java/com/azure/ai/agents/models/AgentOptimizationJobProgress.java","src/main/java/com/azure/ai/agents/models/AgentOptimizationJobResult.java","src/main/java/com/azure/ai/agents/models/AgentOptimizationOptions.java","src/main/java/com/azure/ai/agents/models/AgentOptimizationReferenceDatasetInput.java","src/main/java/com/azure/ai/agents/models/AgentReference.java","src/main/java/com/azure/ai/agents/models/AgentSessionResource.java","src/main/java/com/azure/ai/agents/models/AgentSessionStatus.java","src/main/java/com/azure/ai/agents/models/AgentState.java","src/main/java/com/azure/ai/agents/models/AgentStateSource.java","src/main/java/com/azure/ai/agents/models/AgentVersionDetails.java","src/main/java/com/azure/ai/agents/models/AgentVersionStatus.java","src/main/java/com/azure/ai/agents/models/ApiError.java","src/main/java/com/azure/ai/agents/models/ApplyPatchToolParameter.java","src/main/java/com/azure/ai/agents/models/ApproximateLocation.java","src/main/java/com/azure/ai/agents/models/AutoCodeInterpreterToolParameter.java","src/main/java/com/azure/ai/agents/models/AzureAISearchQueryType.java","src/main/java/com/azure/ai/agents/models/AzureAISearchTool.java","src/main/java/com/azure/ai/agents/models/AzureAISearchToolCall.java","src/main/java/com/azure/ai/agents/models/AzureAISearchToolCallOutput.java","src/main/java/com/azure/ai/agents/models/AzureAISearchToolResource.java","src/main/java/com/azure/ai/agents/models/AzureAISearchToolboxTool.java","src/main/java/com/azure/ai/agents/models/AzureCreateResponseDetails.java","src/main/java/com/azure/ai/agents/models/AzureCreateResponseOptions.java","src/main/java/com/azure/ai/agents/models/AzureFunctionBinding.java","src/main/java/com/azure/ai/agents/models/AzureFunctionDefinition.java","src/main/java/com/azure/ai/agents/models/AzureFunctionDefinitionDetails.java","src/main/java/com/azure/ai/agents/models/AzureFunctionStorageQueue.java","src/main/java/com/azure/ai/agents/models/AzureFunctionTool.java","src/main/java/com/azure/ai/agents/models/AzureFunctionToolCall.java","src/main/java/com/azure/ai/agents/models/AzureFunctionToolCallOutput.java","src/main/java/com/azure/ai/agents/models/AzureUserSecurityContext.java","src/main/java/com/azure/ai/agents/models/BingCustomSearchConfiguration.java","src/main/java/com/azure/ai/agents/models/BingCustomSearchPreviewTool.java","src/main/java/com/azure/ai/agents/models/BingCustomSearchToolCall.java","src/main/java/com/azure/ai/agents/models/BingCustomSearchToolCallOutput.java","src/main/java/com/azure/ai/agents/models/BingCustomSearchToolParameters.java","src/main/java/com/azure/ai/agents/models/BingGroundingSearchConfiguration.java","src/main/java/com/azure/ai/agents/models/BingGroundingSearchToolParameters.java","src/main/java/com/azure/ai/agents/models/BingGroundingTool.java","src/main/java/com/azure/ai/agents/models/BingGroundingToolCall.java","src/main/java/com/azure/ai/agents/models/BingGroundingToolCallOutput.java","src/main/java/com/azure/ai/agents/models/BotServiceAuthorizationScheme.java","src/main/java/com/azure/ai/agents/models/BotServiceRbacAuthorizationScheme.java","src/main/java/com/azure/ai/agents/models/BotServiceTenantAuthorizationScheme.java","src/main/java/com/azure/ai/agents/models/BrowserAutomationPreviewTool.java","src/main/java/com/azure/ai/agents/models/BrowserAutomationPreviewToolboxTool.java","src/main/java/com/azure/ai/agents/models/BrowserAutomationToolCall.java","src/main/java/com/azure/ai/agents/models/BrowserAutomationToolCallOutput.java","src/main/java/com/azure/ai/agents/models/BrowserAutomationToolConnectionParameters.java","src/main/java/com/azure/ai/agents/models/BrowserAutomationToolParameters.java","src/main/java/com/azure/ai/agents/models/CallableToolAllowedCaller.java","src/main/java/com/azure/ai/agents/models/CaptureStructuredOutputsTool.java","src/main/java/com/azure/ai/agents/models/ChatSummaryMemoryItem.java","src/main/java/com/azure/ai/agents/models/CodeConfiguration.java","src/main/java/com/azure/ai/agents/models/CodeDependencyResolution.java","src/main/java/com/azure/ai/agents/models/CodeFileDetails.java","src/main/java/com/azure/ai/agents/models/CodeInterpreterTool.java","src/main/java/com/azure/ai/agents/models/CodeInterpreterToolboxTool.java","src/main/java/com/azure/ai/agents/models/ComputerEnvironment.java","src/main/java/com/azure/ai/agents/models/ComputerTool.java","src/main/java/com/azure/ai/agents/models/ComputerUsePreviewTool.java","src/main/java/com/azure/ai/agents/models/ContainerAutoParameter.java","src/main/java/com/azure/ai/agents/models/ContainerConfiguration.java","src/main/java/com/azure/ai/agents/models/ContainerMemoryLimit.java","src/main/java/com/azure/ai/agents/models/ContainerNetworkPolicyAllowlistParameter.java","src/main/java/com/azure/ai/agents/models/ContainerNetworkPolicyDisabledParameter.java","src/main/java/com/azure/ai/agents/models/ContainerNetworkPolicyDomainSecretParameter.java","src/main/java/com/azure/ai/agents/models/ContainerNetworkPolicyParamType.java","src/main/java/com/azure/ai/agents/models/ContainerNetworkPolicyParameter.java","src/main/java/com/azure/ai/agents/models/ContainerSkill.java","src/main/java/com/azure/ai/agents/models/ContainerSkillType.java","src/main/java/com/azure/ai/agents/models/CreateAgentVersionFromCodeContent.java","src/main/java/com/azure/ai/agents/models/CreateAgentVersionFromCodeMetadata.java","src/main/java/com/azure/ai/agents/models/CreateAgentVersionInput.java","src/main/java/com/azure/ai/agents/models/CustomGrammarFormatParameter.java","src/main/java/com/azure/ai/agents/models/CustomTextFormatParameter.java","src/main/java/com/azure/ai/agents/models/CustomToolParamFormat.java","src/main/java/com/azure/ai/agents/models/CustomToolParamFormatType.java","src/main/java/com/azure/ai/agents/models/CustomToolParameter.java","src/main/java/com/azure/ai/agents/models/EntraAuthorizationScheme.java","src/main/java/com/azure/ai/agents/models/EvaluationLevel.java","src/main/java/com/azure/ai/agents/models/ExternalAgentDefinition.java","src/main/java/com/azure/ai/agents/models/FabricDataAgentToolCall.java","src/main/java/com/azure/ai/agents/models/FabricDataAgentToolCallOutput.java","src/main/java/com/azure/ai/agents/models/FabricDataAgentToolParameters.java","src/main/java/com/azure/ai/agents/models/FabricIqPreviewTool.java","src/main/java/com/azure/ai/agents/models/FabricIqPreviewToolboxTool.java","src/main/java/com/azure/ai/agents/models/FileSearchTool.java","src/main/java/com/azure/ai/agents/models/FileSearchToolboxTool.java","src/main/java/com/azure/ai/agents/models/FixedRatioVersionSelectionRule.java","src/main/java/com/azure/ai/agents/models/FunctionShellToolParamEnvironment.java","src/main/java/com/azure/ai/agents/models/FunctionShellToolParamEnvironmentType.java","src/main/java/com/azure/ai/agents/models/FunctionShellToolParameter.java","src/main/java/com/azure/ai/agents/models/FunctionShellToolParameterEnvironmentContainerReferenceParameter.java","src/main/java/com/azure/ai/agents/models/FunctionShellToolParameterEnvironmentLocalEnvironmentParameter.java","src/main/java/com/azure/ai/agents/models/FunctionTool.java","src/main/java/com/azure/ai/agents/models/GrammarSyntax.java","src/main/java/com/azure/ai/agents/models/HeaderTelemetryEndpointAuth.java","src/main/java/com/azure/ai/agents/models/HostedAgentDefinition.java","src/main/java/com/azure/ai/agents/models/HybridSearchOptions.java","src/main/java/com/azure/ai/agents/models/ImageGenActionEnum.java","src/main/java/com/azure/ai/agents/models/ImageGenTool.java","src/main/java/com/azure/ai/agents/models/ImageGenToolBackground.java","src/main/java/com/azure/ai/agents/models/ImageGenToolInputImageMask.java","src/main/java/com/azure/ai/agents/models/ImageGenToolModel.java","src/main/java/com/azure/ai/agents/models/ImageGenToolModeration.java","src/main/java/com/azure/ai/agents/models/ImageGenToolOutputFormat.java","src/main/java/com/azure/ai/agents/models/ImageGenToolQuality.java","src/main/java/com/azure/ai/agents/models/ImageGenToolSize.java","src/main/java/com/azure/ai/agents/models/IncludeEnum.java","src/main/java/com/azure/ai/agents/models/InlineSkillParameter.java","src/main/java/com/azure/ai/agents/models/InlineSkillSourceParameter.java","src/main/java/com/azure/ai/agents/models/InputFidelity.java","src/main/java/com/azure/ai/agents/models/InvocationsProtocolConfiguration.java","src/main/java/com/azure/ai/agents/models/InvocationsWsProtocolConfiguration.java","src/main/java/com/azure/ai/agents/models/JobStatus.java","src/main/java/com/azure/ai/agents/models/ListMemoriesOptions.java","src/main/java/com/azure/ai/agents/models/LocalShellToolParameter.java","src/main/java/com/azure/ai/agents/models/LocalSkillParameter.java","src/main/java/com/azure/ai/agents/models/ManagedAgentIdentityBlueprintReference.java","src/main/java/com/azure/ai/agents/models/McpProtocolConfiguration.java","src/main/java/com/azure/ai/agents/models/McpTool.java","src/main/java/com/azure/ai/agents/models/McpToolConnectorId.java","src/main/java/com/azure/ai/agents/models/McpToolFilter.java","src/main/java/com/azure/ai/agents/models/McpToolRequireApproval.java","src/main/java/com/azure/ai/agents/models/McpToolboxTool.java","src/main/java/com/azure/ai/agents/models/MemoryCommandToolCall.java","src/main/java/com/azure/ai/agents/models/MemoryCommandToolCallOutput.java","src/main/java/com/azure/ai/agents/models/MemoryItem.java","src/main/java/com/azure/ai/agents/models/MemoryItemKind.java","src/main/java/com/azure/ai/agents/models/MemoryOperation.java","src/main/java/com/azure/ai/agents/models/MemoryOperationKind.java","src/main/java/com/azure/ai/agents/models/MemorySearchItem.java","src/main/java/com/azure/ai/agents/models/MemorySearchOptions.java","src/main/java/com/azure/ai/agents/models/MemorySearchPreviewTool.java","src/main/java/com/azure/ai/agents/models/MemorySearchToolCall.java","src/main/java/com/azure/ai/agents/models/MemoryStoreDefaultDefinition.java","src/main/java/com/azure/ai/agents/models/MemoryStoreDefaultOptions.java","src/main/java/com/azure/ai/agents/models/MemoryStoreDefinition.java","src/main/java/com/azure/ai/agents/models/MemoryStoreDetails.java","src/main/java/com/azure/ai/agents/models/MemoryStoreKind.java","src/main/java/com/azure/ai/agents/models/MemoryStoreObjectType.java","src/main/java/com/azure/ai/agents/models/MemoryStoreOperationUsage.java","src/main/java/com/azure/ai/agents/models/MemoryStoreSearchResponse.java","src/main/java/com/azure/ai/agents/models/MemoryStoreUpdateCompletedResult.java","src/main/java/com/azure/ai/agents/models/MemoryStoreUpdateResponse.java","src/main/java/com/azure/ai/agents/models/MemoryStoreUpdateStatus.java","src/main/java/com/azure/ai/agents/models/MicrosoftFabricPreviewTool.java","src/main/java/com/azure/ai/agents/models/NamespaceTool.java","src/main/java/com/azure/ai/agents/models/OpenApiAnonymousAuthDetails.java","src/main/java/com/azure/ai/agents/models/OpenApiAuthDetails.java","src/main/java/com/azure/ai/agents/models/OpenApiAuthType.java","src/main/java/com/azure/ai/agents/models/OpenApiFunctionDefinition.java","src/main/java/com/azure/ai/agents/models/OpenApiFunctionDefinitionFunction.java","src/main/java/com/azure/ai/agents/models/OpenApiManagedAuthDetails.java","src/main/java/com/azure/ai/agents/models/OpenApiManagedSecurityScheme.java","src/main/java/com/azure/ai/agents/models/OpenApiProjectConnectionAuthDetails.java","src/main/java/com/azure/ai/agents/models/OpenApiProjectConnectionSecurityScheme.java","src/main/java/com/azure/ai/agents/models/OpenApiTool.java","src/main/java/com/azure/ai/agents/models/OpenApiToolCall.java","src/main/java/com/azure/ai/agents/models/OpenApiToolCallOutput.java","src/main/java/com/azure/ai/agents/models/OpenApiToolboxTool.java","src/main/java/com/azure/ai/agents/models/OptimizedAgentIdentifier.java","src/main/java/com/azure/ai/agents/models/OtlpTelemetryEndpoint.java","src/main/java/com/azure/ai/agents/models/PageOrder.java","src/main/java/com/azure/ai/agents/models/ProceduralMemoryItem.java","src/main/java/com/azure/ai/agents/models/ProgrammaticToolCallingParameter.java","src/main/java/com/azure/ai/agents/models/PromotionInfo.java","src/main/java/com/azure/ai/agents/models/PromptAgentDefinition.java","src/main/java/com/azure/ai/agents/models/PromptAgentDefinitionTextOptions.java","src/main/java/com/azure/ai/agents/models/ProtocolConfiguration.java","src/main/java/com/azure/ai/agents/models/ProtocolVersionRecord.java","src/main/java/com/azure/ai/agents/models/RaiConfig.java","src/main/java/com/azure/ai/agents/models/RankerVersionType.java","src/main/java/com/azure/ai/agents/models/RankingOptions.java","src/main/java/com/azure/ai/agents/models/ReminderPreviewToolboxTool.java","src/main/java/com/azure/ai/agents/models/ResponseFormatJsonSchemaInner.java","src/main/java/com/azure/ai/agents/models/ResponseUsageInputTokensDetails.java","src/main/java/com/azure/ai/agents/models/ResponseUsageOutputTokensDetails.java","src/main/java/com/azure/ai/agents/models/ResponsesProtocolConfiguration.java","src/main/java/com/azure/ai/agents/models/SearchContentType.java","src/main/java/com/azure/ai/agents/models/SearchContextSize.java","src/main/java/com/azure/ai/agents/models/SessionDirectoryEntry.java","src/main/java/com/azure/ai/agents/models/SessionFileWriteResult.java","src/main/java/com/azure/ai/agents/models/SessionLogEvent.java","src/main/java/com/azure/ai/agents/models/SessionLogEventType.java","src/main/java/com/azure/ai/agents/models/SharepointGroundingToolCall.java","src/main/java/com/azure/ai/agents/models/SharepointGroundingToolCallOutput.java","src/main/java/com/azure/ai/agents/models/SharepointGroundingToolParameters.java","src/main/java/com/azure/ai/agents/models/SharepointPreviewTool.java","src/main/java/com/azure/ai/agents/models/SkillReferenceParameter.java","src/main/java/com/azure/ai/agents/models/StructuredInputDefinition.java","src/main/java/com/azure/ai/agents/models/StructuredOutputDefinition.java","src/main/java/com/azure/ai/agents/models/TelemetryConfig.java","src/main/java/com/azure/ai/agents/models/TelemetryDataKind.java","src/main/java/com/azure/ai/agents/models/TelemetryEndpoint.java","src/main/java/com/azure/ai/agents/models/TelemetryEndpointAuth.java","src/main/java/com/azure/ai/agents/models/TelemetryEndpointAuthType.java","src/main/java/com/azure/ai/agents/models/TelemetryEndpointKind.java","src/main/java/com/azure/ai/agents/models/TelemetryTransportProtocol.java","src/main/java/com/azure/ai/agents/models/TextResponseFormatConfiguration.java","src/main/java/com/azure/ai/agents/models/TextResponseFormatConfigurationResponseFormatJsonObject.java","src/main/java/com/azure/ai/agents/models/TextResponseFormatConfigurationResponseFormatText.java","src/main/java/com/azure/ai/agents/models/TextResponseFormatConfigurationType.java","src/main/java/com/azure/ai/agents/models/TextResponseFormatJsonSchema.java","src/main/java/com/azure/ai/agents/models/Tool.java","src/main/java/com/azure/ai/agents/models/ToolCallStatus.java","src/main/java/com/azure/ai/agents/models/ToolConfig.java","src/main/java/com/azure/ai/agents/models/ToolProjectConnection.java","src/main/java/com/azure/ai/agents/models/ToolSearchExecutionType.java","src/main/java/com/azure/ai/agents/models/ToolSearchTool.java","src/main/java/com/azure/ai/agents/models/ToolSearchToolboxTool.java","src/main/java/com/azure/ai/agents/models/ToolType.java","src/main/java/com/azure/ai/agents/models/ToolboxDetails.java","src/main/java/com/azure/ai/agents/models/ToolboxPolicies.java","src/main/java/com/azure/ai/agents/models/ToolboxSearchPreviewToolboxTool.java","src/main/java/com/azure/ai/agents/models/ToolboxSkill.java","src/main/java/com/azure/ai/agents/models/ToolboxSkillReference.java","src/main/java/com/azure/ai/agents/models/ToolboxTool.java","src/main/java/com/azure/ai/agents/models/ToolboxToolType.java","src/main/java/com/azure/ai/agents/models/ToolboxVersionDetails.java","src/main/java/com/azure/ai/agents/models/UpdateAgentDetailsOptions.java","src/main/java/com/azure/ai/agents/models/UserProfileMemoryItem.java","src/main/java/com/azure/ai/agents/models/VersionIndicator.java","src/main/java/com/azure/ai/agents/models/VersionIndicatorType.java","src/main/java/com/azure/ai/agents/models/VersionRefIndicator.java","src/main/java/com/azure/ai/agents/models/VersionSelectionRule.java","src/main/java/com/azure/ai/agents/models/VersionSelector.java","src/main/java/com/azure/ai/agents/models/VersionSelectorType.java","src/main/java/com/azure/ai/agents/models/WebSearchApproximateLocation.java","src/main/java/com/azure/ai/agents/models/WebSearchConfiguration.java","src/main/java/com/azure/ai/agents/models/WebSearchPreviewTool.java","src/main/java/com/azure/ai/agents/models/WebSearchTool.java","src/main/java/com/azure/ai/agents/models/WebSearchToolFilters.java","src/main/java/com/azure/ai/agents/models/WebSearchToolSearchContextSize.java","src/main/java/com/azure/ai/agents/models/WebSearchToolboxTool.java","src/main/java/com/azure/ai/agents/models/WorkIqPreviewTool.java","src/main/java/com/azure/ai/agents/models/WorkIqPreviewToolboxTool.java","src/main/java/com/azure/ai/agents/models/WorkflowAgentDefinition.java","src/main/java/com/azure/ai/agents/models/package-info.java","src/main/java/com/azure/ai/agents/package-info.java","src/main/java/module-info.java"]}
\ No newline at end of file
+{"flavor":"azure","apiVersions":{"Azure.AI.Projects":"v1"},"crossLanguagePackageId":"Azure.AI.Projects","crossLanguageVersion":"c64ff2bf6467","crossLanguageDefinitions":{"com.azure.ai.agents.AgentsAsyncClient":"Azure.AI.Projects.Agents","com.azure.ai.agents.AgentsAsyncClient.createAgent":"Azure.AI.Projects.Agents.createAgent","com.azure.ai.agents.AgentsAsyncClient.createAgentFromCode":"Azure.AI.Projects.Agents.createAgentFromCode","com.azure.ai.agents.AgentsAsyncClient.createAgentFromCodeWithResponseInternal":"Azure.AI.Projects.Agents.createAgentFromCode","com.azure.ai.agents.AgentsAsyncClient.createAgentFromManifest":"Azure.AI.Projects.Agents.createAgentFromManifest","com.azure.ai.agents.AgentsAsyncClient.createAgentFromManifestWithResponse":"Azure.AI.Projects.Agents.createAgentFromManifest","com.azure.ai.agents.AgentsAsyncClient.createAgentVersion":"Azure.AI.Projects.Agents.createAgentVersion","com.azure.ai.agents.AgentsAsyncClient.createAgentVersionFromCode":"Azure.AI.Projects.Agents.createAgentVersionFromCode","com.azure.ai.agents.AgentsAsyncClient.createAgentVersionFromCodeWithResponseInternal":"Azure.AI.Projects.Agents.createAgentVersionFromCode","com.azure.ai.agents.AgentsAsyncClient.createAgentVersionFromManifest":"Azure.AI.Projects.Agents.createAgentVersionFromManifest","com.azure.ai.agents.AgentsAsyncClient.createAgentVersionFromManifestWithResponse":"Azure.AI.Projects.Agents.createAgentVersionFromManifest","com.azure.ai.agents.AgentsAsyncClient.createAgentVersionWithResponse":"Azure.AI.Projects.Agents.createAgentVersion","com.azure.ai.agents.AgentsAsyncClient.createAgentWithResponse":"Azure.AI.Projects.Agents.createAgent","com.azure.ai.agents.AgentsAsyncClient.createSession":"Azure.AI.Projects.Agents.createSession","com.azure.ai.agents.AgentsAsyncClient.createSessionWithResponse":"Azure.AI.Projects.Agents.createSession","com.azure.ai.agents.AgentsAsyncClient.deleteSession":"Azure.AI.Projects.Agents.deleteSession","com.azure.ai.agents.AgentsAsyncClient.deleteSessionFile":"Azure.AI.Projects.AgentSessionFiles.deleteSessionFile","com.azure.ai.agents.AgentsAsyncClient.deleteSessionFileWithResponse":"Azure.AI.Projects.AgentSessionFiles.deleteSessionFile","com.azure.ai.agents.AgentsAsyncClient.deleteSessionWithResponse":"Azure.AI.Projects.Agents.deleteSession","com.azure.ai.agents.AgentsAsyncClient.disableAgent":"Azure.AI.Projects.Agents.disableAgent","com.azure.ai.agents.AgentsAsyncClient.disableAgentWithResponse":"Azure.AI.Projects.Agents.disableAgent","com.azure.ai.agents.AgentsAsyncClient.downloadAgentCode":"Azure.AI.Projects.Agents.downloadAgentCode","com.azure.ai.agents.AgentsAsyncClient.downloadAgentCodeWithResponse":"Azure.AI.Projects.Agents.downloadAgentCode","com.azure.ai.agents.AgentsAsyncClient.downloadSessionFile":"Azure.AI.Projects.AgentSessionFiles.downloadSessionFile","com.azure.ai.agents.AgentsAsyncClient.downloadSessionFileWithResponse":"Azure.AI.Projects.AgentSessionFiles.downloadSessionFile","com.azure.ai.agents.AgentsAsyncClient.enableAgent":"Azure.AI.Projects.Agents.enableAgent","com.azure.ai.agents.AgentsAsyncClient.enableAgentWithResponse":"Azure.AI.Projects.Agents.enableAgent","com.azure.ai.agents.AgentsAsyncClient.getAgent":"Azure.AI.Projects.Agents.getAgent","com.azure.ai.agents.AgentsAsyncClient.getAgentVersionDetails":"Azure.AI.Projects.Agents.getAgentVersion","com.azure.ai.agents.AgentsAsyncClient.getAgentVersionDetailsWithResponse":"Azure.AI.Projects.Agents.getAgentVersion","com.azure.ai.agents.AgentsAsyncClient.getAgentWithResponse":"Azure.AI.Projects.Agents.getAgent","com.azure.ai.agents.AgentsAsyncClient.getMicrosoft365AppPackage":"Azure.AI.Projects.Microsoft365Publishing.getMicrosoft365AppPackage","com.azure.ai.agents.AgentsAsyncClient.getMicrosoft365AppPackageWithResponse":"Azure.AI.Projects.Microsoft365Publishing.getMicrosoft365AppPackage","com.azure.ai.agents.AgentsAsyncClient.getMicrosoft365PublishDefaults":"Azure.AI.Projects.Microsoft365Publishing.getMicrosoft365PublishDefaults","com.azure.ai.agents.AgentsAsyncClient.getMicrosoft365PublishDefaultsWithResponse":"Azure.AI.Projects.Microsoft365Publishing.getMicrosoft365PublishDefaults","com.azure.ai.agents.AgentsAsyncClient.getSession":"Azure.AI.Projects.Agents.getSession","com.azure.ai.agents.AgentsAsyncClient.getSessionWithResponse":"Azure.AI.Projects.Agents.getSession","com.azure.ai.agents.AgentsAsyncClient.listAgentConversations":"Azure.AI.Projects.Conversations.listConversations","com.azure.ai.agents.AgentsAsyncClient.listAgentVersions":"Azure.AI.Projects.Agents.listAgentVersions","com.azure.ai.agents.AgentsAsyncClient.listAgents":"Azure.AI.Projects.Agents.listAgents","com.azure.ai.agents.AgentsAsyncClient.listSessionFiles":"Azure.AI.Projects.AgentSessionFiles.listSessionFiles","com.azure.ai.agents.AgentsAsyncClient.listSessions":"Azure.AI.Projects.Agents.listSessions","com.azure.ai.agents.AgentsAsyncClient.publishAgentToMicrosoft365":"Azure.AI.Projects.Microsoft365Publishing.publishAgentToMicrosoft365","com.azure.ai.agents.AgentsAsyncClient.publishAgentToMicrosoft365WithResponse":"Azure.AI.Projects.Microsoft365Publishing.publishAgentToMicrosoft365","com.azure.ai.agents.AgentsAsyncClient.stopSession":"Azure.AI.Projects.Agents.stopSession","com.azure.ai.agents.AgentsAsyncClient.stopSessionWithResponse":"Azure.AI.Projects.Agents.stopSession","com.azure.ai.agents.AgentsAsyncClient.updateAgent":"Azure.AI.Projects.Agents.updateAgent","com.azure.ai.agents.AgentsAsyncClient.updateAgentDetails":"Azure.AI.Projects.Agents.patchAgentObject","com.azure.ai.agents.AgentsAsyncClient.updateAgentDetailsWithResponse":"Azure.AI.Projects.Agents.patchAgentObject","com.azure.ai.agents.AgentsAsyncClient.updateAgentFromCode":"Azure.AI.Projects.Agents.updateAgentFromCode","com.azure.ai.agents.AgentsAsyncClient.updateAgentFromCodeWithResponseInternal":"Azure.AI.Projects.Agents.updateAgentFromCode","com.azure.ai.agents.AgentsAsyncClient.updateAgentFromManifest":"Azure.AI.Projects.Agents.updateAgentFromManifest","com.azure.ai.agents.AgentsAsyncClient.updateAgentFromManifestWithResponse":"Azure.AI.Projects.Agents.updateAgentFromManifest","com.azure.ai.agents.AgentsAsyncClient.updateAgentWithResponse":"Azure.AI.Projects.Agents.updateAgent","com.azure.ai.agents.AgentsAsyncClient.uploadSessionFile":"Azure.AI.Projects.AgentSessionFiles.uploadSessionFile","com.azure.ai.agents.AgentsAsyncClient.uploadSessionFileWithResponse":"Azure.AI.Projects.AgentSessionFiles.uploadSessionFile","com.azure.ai.agents.AgentsClient":"Azure.AI.Projects.Agents","com.azure.ai.agents.AgentsClient.createAgent":"Azure.AI.Projects.Agents.createAgent","com.azure.ai.agents.AgentsClient.createAgentFromCode":"Azure.AI.Projects.Agents.createAgentFromCode","com.azure.ai.agents.AgentsClient.createAgentFromCodeWithResponseInternal":"Azure.AI.Projects.Agents.createAgentFromCode","com.azure.ai.agents.AgentsClient.createAgentFromManifest":"Azure.AI.Projects.Agents.createAgentFromManifest","com.azure.ai.agents.AgentsClient.createAgentFromManifestWithResponse":"Azure.AI.Projects.Agents.createAgentFromManifest","com.azure.ai.agents.AgentsClient.createAgentVersion":"Azure.AI.Projects.Agents.createAgentVersion","com.azure.ai.agents.AgentsClient.createAgentVersionFromCode":"Azure.AI.Projects.Agents.createAgentVersionFromCode","com.azure.ai.agents.AgentsClient.createAgentVersionFromCodeWithResponseInternal":"Azure.AI.Projects.Agents.createAgentVersionFromCode","com.azure.ai.agents.AgentsClient.createAgentVersionFromManifest":"Azure.AI.Projects.Agents.createAgentVersionFromManifest","com.azure.ai.agents.AgentsClient.createAgentVersionFromManifestWithResponse":"Azure.AI.Projects.Agents.createAgentVersionFromManifest","com.azure.ai.agents.AgentsClient.createAgentVersionWithResponse":"Azure.AI.Projects.Agents.createAgentVersion","com.azure.ai.agents.AgentsClient.createAgentWithResponse":"Azure.AI.Projects.Agents.createAgent","com.azure.ai.agents.AgentsClient.createSession":"Azure.AI.Projects.Agents.createSession","com.azure.ai.agents.AgentsClient.createSessionWithResponse":"Azure.AI.Projects.Agents.createSession","com.azure.ai.agents.AgentsClient.deleteSession":"Azure.AI.Projects.Agents.deleteSession","com.azure.ai.agents.AgentsClient.deleteSessionFile":"Azure.AI.Projects.AgentSessionFiles.deleteSessionFile","com.azure.ai.agents.AgentsClient.deleteSessionFileWithResponse":"Azure.AI.Projects.AgentSessionFiles.deleteSessionFile","com.azure.ai.agents.AgentsClient.deleteSessionWithResponse":"Azure.AI.Projects.Agents.deleteSession","com.azure.ai.agents.AgentsClient.disableAgent":"Azure.AI.Projects.Agents.disableAgent","com.azure.ai.agents.AgentsClient.disableAgentWithResponse":"Azure.AI.Projects.Agents.disableAgent","com.azure.ai.agents.AgentsClient.downloadAgentCode":"Azure.AI.Projects.Agents.downloadAgentCode","com.azure.ai.agents.AgentsClient.downloadAgentCodeWithResponse":"Azure.AI.Projects.Agents.downloadAgentCode","com.azure.ai.agents.AgentsClient.downloadSessionFile":"Azure.AI.Projects.AgentSessionFiles.downloadSessionFile","com.azure.ai.agents.AgentsClient.downloadSessionFileWithResponse":"Azure.AI.Projects.AgentSessionFiles.downloadSessionFile","com.azure.ai.agents.AgentsClient.enableAgent":"Azure.AI.Projects.Agents.enableAgent","com.azure.ai.agents.AgentsClient.enableAgentWithResponse":"Azure.AI.Projects.Agents.enableAgent","com.azure.ai.agents.AgentsClient.getAgent":"Azure.AI.Projects.Agents.getAgent","com.azure.ai.agents.AgentsClient.getAgentVersionDetails":"Azure.AI.Projects.Agents.getAgentVersion","com.azure.ai.agents.AgentsClient.getAgentVersionDetailsWithResponse":"Azure.AI.Projects.Agents.getAgentVersion","com.azure.ai.agents.AgentsClient.getAgentWithResponse":"Azure.AI.Projects.Agents.getAgent","com.azure.ai.agents.AgentsClient.getMicrosoft365AppPackage":"Azure.AI.Projects.Microsoft365Publishing.getMicrosoft365AppPackage","com.azure.ai.agents.AgentsClient.getMicrosoft365AppPackageWithResponse":"Azure.AI.Projects.Microsoft365Publishing.getMicrosoft365AppPackage","com.azure.ai.agents.AgentsClient.getMicrosoft365PublishDefaults":"Azure.AI.Projects.Microsoft365Publishing.getMicrosoft365PublishDefaults","com.azure.ai.agents.AgentsClient.getMicrosoft365PublishDefaultsWithResponse":"Azure.AI.Projects.Microsoft365Publishing.getMicrosoft365PublishDefaults","com.azure.ai.agents.AgentsClient.getSession":"Azure.AI.Projects.Agents.getSession","com.azure.ai.agents.AgentsClient.getSessionWithResponse":"Azure.AI.Projects.Agents.getSession","com.azure.ai.agents.AgentsClient.listAgentConversations":"Azure.AI.Projects.Conversations.listConversations","com.azure.ai.agents.AgentsClient.listAgentVersions":"Azure.AI.Projects.Agents.listAgentVersions","com.azure.ai.agents.AgentsClient.listAgents":"Azure.AI.Projects.Agents.listAgents","com.azure.ai.agents.AgentsClient.listSessionFiles":"Azure.AI.Projects.AgentSessionFiles.listSessionFiles","com.azure.ai.agents.AgentsClient.listSessions":"Azure.AI.Projects.Agents.listSessions","com.azure.ai.agents.AgentsClient.publishAgentToMicrosoft365":"Azure.AI.Projects.Microsoft365Publishing.publishAgentToMicrosoft365","com.azure.ai.agents.AgentsClient.publishAgentToMicrosoft365WithResponse":"Azure.AI.Projects.Microsoft365Publishing.publishAgentToMicrosoft365","com.azure.ai.agents.AgentsClient.stopSession":"Azure.AI.Projects.Agents.stopSession","com.azure.ai.agents.AgentsClient.stopSessionWithResponse":"Azure.AI.Projects.Agents.stopSession","com.azure.ai.agents.AgentsClient.updateAgent":"Azure.AI.Projects.Agents.updateAgent","com.azure.ai.agents.AgentsClient.updateAgentDetails":"Azure.AI.Projects.Agents.patchAgentObject","com.azure.ai.agents.AgentsClient.updateAgentDetailsWithResponse":"Azure.AI.Projects.Agents.patchAgentObject","com.azure.ai.agents.AgentsClient.updateAgentFromCode":"Azure.AI.Projects.Agents.updateAgentFromCode","com.azure.ai.agents.AgentsClient.updateAgentFromCodeWithResponseInternal":"Azure.AI.Projects.Agents.updateAgentFromCode","com.azure.ai.agents.AgentsClient.updateAgentFromManifest":"Azure.AI.Projects.Agents.updateAgentFromManifest","com.azure.ai.agents.AgentsClient.updateAgentFromManifestWithResponse":"Azure.AI.Projects.Agents.updateAgentFromManifest","com.azure.ai.agents.AgentsClient.updateAgentWithResponse":"Azure.AI.Projects.Agents.updateAgent","com.azure.ai.agents.AgentsClient.uploadSessionFile":"Azure.AI.Projects.AgentSessionFiles.uploadSessionFile","com.azure.ai.agents.AgentsClient.uploadSessionFileWithResponse":"Azure.AI.Projects.AgentSessionFiles.uploadSessionFile","com.azure.ai.agents.AgentsClientBuilder":"Azure.AI.Projects","com.azure.ai.agents.BetaAgentsAsyncClient":"Azure.AI.Projects.Beta.Agents","com.azure.ai.agents.BetaAgentsAsyncClient.beginCreateOptimizationJob":"Azure.AI.Projects.AgentOptimizationJobs.create","com.azure.ai.agents.BetaAgentsAsyncClient.beginCreateOptimizationJobWithModel":"Azure.AI.Projects.AgentOptimizationJobs.create","com.azure.ai.agents.BetaAgentsAsyncClient.cancelOptimizationJob":"Azure.AI.Projects.AgentOptimizationJobs.cancel","com.azure.ai.agents.BetaAgentsAsyncClient.cancelOptimizationJobWithResponse":"Azure.AI.Projects.AgentOptimizationJobs.cancel","com.azure.ai.agents.BetaAgentsAsyncClient.deleteOptimizationJob":"Azure.AI.Projects.AgentOptimizationJobs.delete","com.azure.ai.agents.BetaAgentsAsyncClient.deleteOptimizationJobWithResponse":"Azure.AI.Projects.AgentOptimizationJobs.delete","com.azure.ai.agents.BetaAgentsAsyncClient.getOptimizationJob":"Azure.AI.Projects.AgentOptimizationJobs.get","com.azure.ai.agents.BetaAgentsAsyncClient.getOptimizationJobWithResponse":"Azure.AI.Projects.AgentOptimizationJobs.get","com.azure.ai.agents.BetaAgentsAsyncClient.listOptimizationJobs":"Azure.AI.Projects.AgentOptimizationJobs.list","com.azure.ai.agents.BetaAgentsClient":"Azure.AI.Projects.Beta.Agents","com.azure.ai.agents.BetaAgentsClient.beginCreateOptimizationJob":"Azure.AI.Projects.AgentOptimizationJobs.create","com.azure.ai.agents.BetaAgentsClient.beginCreateOptimizationJobWithModel":"Azure.AI.Projects.AgentOptimizationJobs.create","com.azure.ai.agents.BetaAgentsClient.cancelOptimizationJob":"Azure.AI.Projects.AgentOptimizationJobs.cancel","com.azure.ai.agents.BetaAgentsClient.cancelOptimizationJobWithResponse":"Azure.AI.Projects.AgentOptimizationJobs.cancel","com.azure.ai.agents.BetaAgentsClient.deleteOptimizationJob":"Azure.AI.Projects.AgentOptimizationJobs.delete","com.azure.ai.agents.BetaAgentsClient.deleteOptimizationJobWithResponse":"Azure.AI.Projects.AgentOptimizationJobs.delete","com.azure.ai.agents.BetaAgentsClient.getOptimizationJob":"Azure.AI.Projects.AgentOptimizationJobs.get","com.azure.ai.agents.BetaAgentsClient.getOptimizationJobWithResponse":"Azure.AI.Projects.AgentOptimizationJobs.get","com.azure.ai.agents.BetaAgentsClient.listOptimizationJobs":"Azure.AI.Projects.AgentOptimizationJobs.list","com.azure.ai.agents.BetaMemoryStoresAsyncClient":"Azure.AI.Projects.Beta.MemoryStores","com.azure.ai.agents.BetaMemoryStoresAsyncClient.beginInternalUpdateMemories":"Azure.AI.Projects.MemoryStores.updateMemories","com.azure.ai.agents.BetaMemoryStoresAsyncClient.beginInternalUpdateMemoriesWithModel":"Azure.AI.Projects.MemoryStores.updateMemories","com.azure.ai.agents.BetaMemoryStoresAsyncClient.createMemory":"Azure.AI.Projects.MemoryStores.createMemory","com.azure.ai.agents.BetaMemoryStoresAsyncClient.createMemoryStore":"Azure.AI.Projects.MemoryStores.createMemoryStore","com.azure.ai.agents.BetaMemoryStoresAsyncClient.createMemoryStoreWithResponse":"Azure.AI.Projects.MemoryStores.createMemoryStore","com.azure.ai.agents.BetaMemoryStoresAsyncClient.createMemoryWithResponse":"Azure.AI.Projects.MemoryStores.createMemory","com.azure.ai.agents.BetaMemoryStoresAsyncClient.getMemory":"Azure.AI.Projects.MemoryStores.getMemory","com.azure.ai.agents.BetaMemoryStoresAsyncClient.getMemoryStore":"Azure.AI.Projects.MemoryStores.getMemoryStore","com.azure.ai.agents.BetaMemoryStoresAsyncClient.getMemoryStoreWithResponse":"Azure.AI.Projects.MemoryStores.getMemoryStore","com.azure.ai.agents.BetaMemoryStoresAsyncClient.getMemoryWithResponse":"Azure.AI.Projects.MemoryStores.getMemory","com.azure.ai.agents.BetaMemoryStoresAsyncClient.getUpdateResult":"Azure.AI.Projects.MemoryStores.getUpdateResult","com.azure.ai.agents.BetaMemoryStoresAsyncClient.getUpdateResultWithResponse":"Azure.AI.Projects.MemoryStores.getUpdateResult","com.azure.ai.agents.BetaMemoryStoresAsyncClient.internalSearchMemories":"Azure.AI.Projects.MemoryStores.searchMemories","com.azure.ai.agents.BetaMemoryStoresAsyncClient.internalSearchMemoriesWithResponse":"Azure.AI.Projects.MemoryStores.searchMemories","com.azure.ai.agents.BetaMemoryStoresAsyncClient.listMemories":"Azure.AI.Projects.MemoryStores.listMemories","com.azure.ai.agents.BetaMemoryStoresAsyncClient.listMemoryStores":"Azure.AI.Projects.MemoryStores.listMemoryStores","com.azure.ai.agents.BetaMemoryStoresAsyncClient.updateMemory":"Azure.AI.Projects.MemoryStores.updateMemory","com.azure.ai.agents.BetaMemoryStoresAsyncClient.updateMemoryStore":"Azure.AI.Projects.MemoryStores.updateMemoryStore","com.azure.ai.agents.BetaMemoryStoresAsyncClient.updateMemoryStoreWithResponse":"Azure.AI.Projects.MemoryStores.updateMemoryStore","com.azure.ai.agents.BetaMemoryStoresAsyncClient.updateMemoryWithResponse":"Azure.AI.Projects.MemoryStores.updateMemory","com.azure.ai.agents.BetaMemoryStoresClient":"Azure.AI.Projects.Beta.MemoryStores","com.azure.ai.agents.BetaMemoryStoresClient.beginInternalUpdateMemories":"Azure.AI.Projects.MemoryStores.updateMemories","com.azure.ai.agents.BetaMemoryStoresClient.beginInternalUpdateMemoriesWithModel":"Azure.AI.Projects.MemoryStores.updateMemories","com.azure.ai.agents.BetaMemoryStoresClient.createMemory":"Azure.AI.Projects.MemoryStores.createMemory","com.azure.ai.agents.BetaMemoryStoresClient.createMemoryStore":"Azure.AI.Projects.MemoryStores.createMemoryStore","com.azure.ai.agents.BetaMemoryStoresClient.createMemoryStoreWithResponse":"Azure.AI.Projects.MemoryStores.createMemoryStore","com.azure.ai.agents.BetaMemoryStoresClient.createMemoryWithResponse":"Azure.AI.Projects.MemoryStores.createMemory","com.azure.ai.agents.BetaMemoryStoresClient.getMemory":"Azure.AI.Projects.MemoryStores.getMemory","com.azure.ai.agents.BetaMemoryStoresClient.getMemoryStore":"Azure.AI.Projects.MemoryStores.getMemoryStore","com.azure.ai.agents.BetaMemoryStoresClient.getMemoryStoreWithResponse":"Azure.AI.Projects.MemoryStores.getMemoryStore","com.azure.ai.agents.BetaMemoryStoresClient.getMemoryWithResponse":"Azure.AI.Projects.MemoryStores.getMemory","com.azure.ai.agents.BetaMemoryStoresClient.getUpdateResult":"Azure.AI.Projects.MemoryStores.getUpdateResult","com.azure.ai.agents.BetaMemoryStoresClient.getUpdateResultWithResponse":"Azure.AI.Projects.MemoryStores.getUpdateResult","com.azure.ai.agents.BetaMemoryStoresClient.internalSearchMemories":"Azure.AI.Projects.MemoryStores.searchMemories","com.azure.ai.agents.BetaMemoryStoresClient.internalSearchMemoriesWithResponse":"Azure.AI.Projects.MemoryStores.searchMemories","com.azure.ai.agents.BetaMemoryStoresClient.listMemories":"Azure.AI.Projects.MemoryStores.listMemories","com.azure.ai.agents.BetaMemoryStoresClient.listMemoryStores":"Azure.AI.Projects.MemoryStores.listMemoryStores","com.azure.ai.agents.BetaMemoryStoresClient.updateMemory":"Azure.AI.Projects.MemoryStores.updateMemory","com.azure.ai.agents.BetaMemoryStoresClient.updateMemoryStore":"Azure.AI.Projects.MemoryStores.updateMemoryStore","com.azure.ai.agents.BetaMemoryStoresClient.updateMemoryStoreWithResponse":"Azure.AI.Projects.MemoryStores.updateMemoryStore","com.azure.ai.agents.BetaMemoryStoresClient.updateMemoryWithResponse":"Azure.AI.Projects.MemoryStores.updateMemory","com.azure.ai.agents.ToolboxesAsyncClient":"Azure.AI.Projects.Toolboxes","com.azure.ai.agents.ToolboxesAsyncClient.createToolboxVersion":"Azure.AI.Projects.Toolboxes.createToolboxVersion","com.azure.ai.agents.ToolboxesAsyncClient.createToolboxVersionWithResponse":"Azure.AI.Projects.Toolboxes.createToolboxVersion","com.azure.ai.agents.ToolboxesAsyncClient.deleteToolbox":"Azure.AI.Projects.Toolboxes.deleteToolbox","com.azure.ai.agents.ToolboxesAsyncClient.deleteToolboxVersion":"Azure.AI.Projects.Toolboxes.deleteToolboxVersion","com.azure.ai.agents.ToolboxesAsyncClient.deleteToolboxVersionWithResponse":"Azure.AI.Projects.Toolboxes.deleteToolboxVersion","com.azure.ai.agents.ToolboxesAsyncClient.deleteToolboxWithResponse":"Azure.AI.Projects.Toolboxes.deleteToolbox","com.azure.ai.agents.ToolboxesAsyncClient.getToolbox":"Azure.AI.Projects.Toolboxes.getToolbox","com.azure.ai.agents.ToolboxesAsyncClient.getToolboxVersion":"Azure.AI.Projects.Toolboxes.getToolboxVersion","com.azure.ai.agents.ToolboxesAsyncClient.getToolboxVersionWithResponse":"Azure.AI.Projects.Toolboxes.getToolboxVersion","com.azure.ai.agents.ToolboxesAsyncClient.getToolboxWithResponse":"Azure.AI.Projects.Toolboxes.getToolbox","com.azure.ai.agents.ToolboxesAsyncClient.listToolboxVersions":"Azure.AI.Projects.Toolboxes.listToolboxVersions","com.azure.ai.agents.ToolboxesAsyncClient.listToolboxes":"Azure.AI.Projects.Toolboxes.listToolboxes","com.azure.ai.agents.ToolboxesAsyncClient.updateToolbox":"Azure.AI.Projects.Toolboxes.updateToolbox","com.azure.ai.agents.ToolboxesAsyncClient.updateToolboxWithResponse":"Azure.AI.Projects.Toolboxes.updateToolbox","com.azure.ai.agents.ToolboxesClient":"Azure.AI.Projects.Toolboxes","com.azure.ai.agents.ToolboxesClient.createToolboxVersion":"Azure.AI.Projects.Toolboxes.createToolboxVersion","com.azure.ai.agents.ToolboxesClient.createToolboxVersionWithResponse":"Azure.AI.Projects.Toolboxes.createToolboxVersion","com.azure.ai.agents.ToolboxesClient.deleteToolbox":"Azure.AI.Projects.Toolboxes.deleteToolbox","com.azure.ai.agents.ToolboxesClient.deleteToolboxVersion":"Azure.AI.Projects.Toolboxes.deleteToolboxVersion","com.azure.ai.agents.ToolboxesClient.deleteToolboxVersionWithResponse":"Azure.AI.Projects.Toolboxes.deleteToolboxVersion","com.azure.ai.agents.ToolboxesClient.deleteToolboxWithResponse":"Azure.AI.Projects.Toolboxes.deleteToolbox","com.azure.ai.agents.ToolboxesClient.getToolbox":"Azure.AI.Projects.Toolboxes.getToolbox","com.azure.ai.agents.ToolboxesClient.getToolboxVersion":"Azure.AI.Projects.Toolboxes.getToolboxVersion","com.azure.ai.agents.ToolboxesClient.getToolboxVersionWithResponse":"Azure.AI.Projects.Toolboxes.getToolboxVersion","com.azure.ai.agents.ToolboxesClient.getToolboxWithResponse":"Azure.AI.Projects.Toolboxes.getToolbox","com.azure.ai.agents.ToolboxesClient.listToolboxVersions":"Azure.AI.Projects.Toolboxes.listToolboxVersions","com.azure.ai.agents.ToolboxesClient.listToolboxes":"Azure.AI.Projects.Toolboxes.listToolboxes","com.azure.ai.agents.ToolboxesClient.updateToolbox":"Azure.AI.Projects.Toolboxes.updateToolbox","com.azure.ai.agents.ToolboxesClient.updateToolboxWithResponse":"Azure.AI.Projects.Toolboxes.updateToolbox","com.azure.ai.agents.implementation.models.AgentDefinitionOptInKeys":"Azure.AI.Projects.AgentDefinitionOptInKeys","com.azure.ai.agents.implementation.models.CreateAgentFromCodeContent":"Azure.AI.Projects.CreateAgentFromCodeContent","com.azure.ai.agents.implementation.models.CreateAgentFromManifestRequest":"Azure.AI.Projects.createAgentFromManifest.Request.anonymous","com.azure.ai.agents.implementation.models.CreateAgentOptions":null,"com.azure.ai.agents.implementation.models.CreateAgentRequest":"Azure.AI.Projects.createAgent.Request.anonymous","com.azure.ai.agents.implementation.models.CreateAgentVersionFromManifestRequest":"Azure.AI.Projects.createAgentVersionFromManifest.Request.anonymous","com.azure.ai.agents.implementation.models.CreateAgentVersionRequest":"Azure.AI.Projects.createAgentVersion.Request.anonymous","com.azure.ai.agents.implementation.models.CreateMemoryRequest":"Azure.AI.Projects.createMemory.Request.anonymous","com.azure.ai.agents.implementation.models.CreateMemoryStoreRequest":"Azure.AI.Projects.createMemoryStore.Request.anonymous","com.azure.ai.agents.implementation.models.CreateSessionRequest":"Azure.AI.Projects.createSession.Request.anonymous","com.azure.ai.agents.implementation.models.CreateToolboxVersionRequest":"Azure.AI.Projects.createToolboxVersion.Request.anonymous","com.azure.ai.agents.implementation.models.FoundryFeaturesOptInKeys":"Azure.AI.Projects.FoundryFeaturesOptInKeys","com.azure.ai.agents.implementation.models.GetMicrosoft365AppPackageRequest":"Azure.AI.Projects.getMicrosoft365AppPackage.Request.anonymous","com.azure.ai.agents.implementation.models.ListMemoriesRequest":"Azure.AI.Projects.listMemories.Request.anonymous","com.azure.ai.agents.implementation.models.PublishAgentToMicrosoft365Request":"Azure.AI.Projects.publishAgentToMicrosoft365.Request.anonymous","com.azure.ai.agents.implementation.models.SearchMemoriesRequest":"Azure.AI.Projects.searchMemories.Request.anonymous","com.azure.ai.agents.implementation.models.UpdateAgentFromManifestRequest":"Azure.AI.Projects.updateAgentFromManifest.Request.anonymous","com.azure.ai.agents.implementation.models.UpdateAgentRequest":"Azure.AI.Projects.updateAgent.Request.anonymous","com.azure.ai.agents.implementation.models.UpdateMemoriesRequest":"Azure.AI.Projects.updateMemories.Request.anonymous","com.azure.ai.agents.implementation.models.UpdateMemoryRequest":"Azure.AI.Projects.updateMemory.Request.anonymous","com.azure.ai.agents.implementation.models.UpdateMemoryStoreRequest":"Azure.AI.Projects.updateMemoryStore.Request.anonymous","com.azure.ai.agents.implementation.models.UpdateToolboxInput":"Azure.AI.Projects.UpdateToolboxRequest","com.azure.ai.agents.implementation.models.UpdateToolboxRequest":"Azure.AI.Projects.updateToolbox.Request.anonymous","com.azure.ai.agents.models.A2APreviewTool":"Azure.AI.Projects.A2APreviewTool","com.azure.ai.agents.models.A2APreviewToolboxTool":"Azure.AI.Projects.A2APreviewToolboxTool","com.azure.ai.agents.models.A2AProtocolConfiguration":"Azure.AI.Projects.A2AProtocolConfiguration","com.azure.ai.agents.models.A2AProtocolVersion":"Azure.AI.Projects.A2AProtocolVersion","com.azure.ai.agents.models.A2ATool":"Azure.AI.Projects.A2ATool","com.azure.ai.agents.models.A2AToolCall":"Azure.AI.Projects.A2AToolCall","com.azure.ai.agents.models.A2AToolCallOutput":"Azure.AI.Projects.A2AToolCallOutput","com.azure.ai.agents.models.A2AToolboxTool":"Azure.AI.Projects.A2AToolboxTool","com.azure.ai.agents.models.AISearchIndexResource":"Azure.AI.Projects.AISearchIndexResource","com.azure.ai.agents.models.ActivityProtocolAccessBoundary":"Azure.AI.Projects.ActivityProtocolAccessBoundary","com.azure.ai.agents.models.ActivityProtocolConfiguration":"Azure.AI.Projects.ActivityProtocolConfiguration","com.azure.ai.agents.models.AgentBlueprintReference":"Azure.AI.Projects.AgentBlueprintReference","com.azure.ai.agents.models.AgentBlueprintReferenceType":"Azure.AI.Projects.AgentBlueprintReferenceType","com.azure.ai.agents.models.AgentCard":"Azure.AI.Projects.AgentCard","com.azure.ai.agents.models.AgentCardSkill":"Azure.AI.Projects.AgentCardSkill","com.azure.ai.agents.models.AgentDefinition":"Azure.AI.Projects.AgentDefinition","com.azure.ai.agents.models.AgentDetails":"Azure.AI.Projects.AgentObject","com.azure.ai.agents.models.AgentDetailsVersions":"Azure.AI.Projects.AgentObject.versions.anonymous","com.azure.ai.agents.models.AgentEndpointAuthorizationScheme":"Azure.AI.Projects.AgentEndpointAuthorizationScheme","com.azure.ai.agents.models.AgentEndpointAuthorizationSchemeType":"Azure.AI.Projects.AgentEndpointAuthorizationSchemeType","com.azure.ai.agents.models.AgentEndpointConfig":"Azure.AI.Projects.AgentEndpointConfig","com.azure.ai.agents.models.AgentEndpointProtocol":"Azure.AI.Projects.AgentEndpointProtocol","com.azure.ai.agents.models.AgentIdentity":"Azure.AI.Projects.AgentIdentity","com.azure.ai.agents.models.AgentIdentityStatus":"Azure.AI.Projects.AgentIdentityStatus","com.azure.ai.agents.models.AgentKind":"Azure.AI.Projects.AgentKind","com.azure.ai.agents.models.AgentObjectType":"Azure.AI.Projects.AgentObjectType","com.azure.ai.agents.models.AgentOptimizationCandidate":"Azure.AI.Projects.AgentOptimizationCandidate","com.azure.ai.agents.models.AgentOptimizationDatasetCriterion":"Azure.AI.Projects.AgentOptimizationDatasetCriterion","com.azure.ai.agents.models.AgentOptimizationDatasetInput":"Azure.AI.Projects.AgentOptimizationDatasetInput","com.azure.ai.agents.models.AgentOptimizationDatasetInputType":"Azure.AI.Projects.AgentOptimizationDatasetInputType","com.azure.ai.agents.models.AgentOptimizationDatasetItem":"Azure.AI.Projects.AgentOptimizationDatasetItem","com.azure.ai.agents.models.AgentOptimizationEvaluatorReference":"Azure.AI.Projects.AgentOptimizationEvaluatorRef","com.azure.ai.agents.models.AgentOptimizationInlineDatasetInput":"Azure.AI.Projects.AgentOptimizationInlineDatasetInput","com.azure.ai.agents.models.AgentOptimizationJob":"Azure.AI.Projects.AgentOptimizationJob","com.azure.ai.agents.models.AgentOptimizationJobInputs":"Azure.AI.Projects.AgentOptimizationJobInputs","com.azure.ai.agents.models.AgentOptimizationJobListItem":"Azure.AI.Projects.AgentOptimizationJobListItem","com.azure.ai.agents.models.AgentOptimizationJobProgress":"Azure.AI.Projects.AgentOptimizationJobProgress","com.azure.ai.agents.models.AgentOptimizationJobResult":"Azure.AI.Projects.AgentOptimizationJobResult","com.azure.ai.agents.models.AgentOptimizationOptions":"Azure.AI.Projects.AgentOptimizationOptions","com.azure.ai.agents.models.AgentOptimizationReferenceDatasetInput":"Azure.AI.Projects.AgentOptimizationReferenceDatasetInput","com.azure.ai.agents.models.AgentReference":"Azure.AI.Projects.AgentReference","com.azure.ai.agents.models.AgentSessionResource":"Azure.AI.Projects.AgentSessionResource","com.azure.ai.agents.models.AgentSessionStatus":"Azure.AI.Projects.AgentSessionStatus","com.azure.ai.agents.models.AgentState":"Azure.AI.Projects.AgentState","com.azure.ai.agents.models.AgentStateSource":"Azure.AI.Projects.AgentStateSource","com.azure.ai.agents.models.AgentVersionDetails":"Azure.AI.Projects.AgentVersionObject","com.azure.ai.agents.models.AgentVersionStatus":"Azure.AI.Projects.AgentVersionStatus","com.azure.ai.agents.models.ApiError":"OpenAI.Error","com.azure.ai.agents.models.ApplyPatchToolParameter":"OpenAI.ApplyPatchToolParam","com.azure.ai.agents.models.ApproximateLocation":"OpenAI.ApproximateLocation","com.azure.ai.agents.models.AutoCodeInterpreterToolParameter":"OpenAI.AutoCodeInterpreterToolParam","com.azure.ai.agents.models.AzureAISearchQueryType":"Azure.AI.Projects.AzureAISearchQueryType","com.azure.ai.agents.models.AzureAISearchTool":"Azure.AI.Projects.AzureAISearchTool","com.azure.ai.agents.models.AzureAISearchToolCall":"Azure.AI.Projects.AzureAISearchToolCall","com.azure.ai.agents.models.AzureAISearchToolCallOutput":"Azure.AI.Projects.AzureAISearchToolCallOutput","com.azure.ai.agents.models.AzureAISearchToolResource":"Azure.AI.Projects.AzureAISearchToolResource","com.azure.ai.agents.models.AzureAISearchToolboxTool":"Azure.AI.Projects.AzureAISearchToolboxTool","com.azure.ai.agents.models.AzureCreateResponseDetails":"Azure.AI.Projects.AzureCreateResponseDetails","com.azure.ai.agents.models.AzureCreateResponseOptions":"Azure.AI.Projects.AzureCreateResponseOptions","com.azure.ai.agents.models.AzureFunctionBinding":"Azure.AI.Projects.AzureFunctionBinding","com.azure.ai.agents.models.AzureFunctionDefinition":"Azure.AI.Projects.AzureFunctionDefinition","com.azure.ai.agents.models.AzureFunctionDefinitionDetails":"Azure.AI.Projects.AzureFunctionDefinition.function.anonymous","com.azure.ai.agents.models.AzureFunctionStorageQueue":"Azure.AI.Projects.AzureFunctionStorageQueue","com.azure.ai.agents.models.AzureFunctionTool":"Azure.AI.Projects.AzureFunctionTool","com.azure.ai.agents.models.AzureFunctionToolCall":"Azure.AI.Projects.AzureFunctionToolCall","com.azure.ai.agents.models.AzureFunctionToolCallOutput":"Azure.AI.Projects.AzureFunctionToolCallOutput","com.azure.ai.agents.models.AzureUserSecurityContext":"Azure.AI.Projects.AzureUserSecurityContext","com.azure.ai.agents.models.BingCustomSearchConfiguration":"Azure.AI.Projects.BingCustomSearchConfiguration","com.azure.ai.agents.models.BingCustomSearchPreviewTool":"Azure.AI.Projects.BingCustomSearchPreviewTool","com.azure.ai.agents.models.BingCustomSearchToolCall":"Azure.AI.Projects.BingCustomSearchToolCall","com.azure.ai.agents.models.BingCustomSearchToolCallOutput":"Azure.AI.Projects.BingCustomSearchToolCallOutput","com.azure.ai.agents.models.BingCustomSearchToolParameters":"Azure.AI.Projects.BingCustomSearchToolParameters","com.azure.ai.agents.models.BingGroundingSearchConfiguration":"Azure.AI.Projects.BingGroundingSearchConfiguration","com.azure.ai.agents.models.BingGroundingSearchToolParameters":"Azure.AI.Projects.BingGroundingSearchToolParameters","com.azure.ai.agents.models.BingGroundingTool":"Azure.AI.Projects.BingGroundingTool","com.azure.ai.agents.models.BingGroundingToolCall":"Azure.AI.Projects.BingGroundingToolCall","com.azure.ai.agents.models.BingGroundingToolCallOutput":"Azure.AI.Projects.BingGroundingToolCallOutput","com.azure.ai.agents.models.BotServiceAuthorizationScheme":"Azure.AI.Projects.BotServiceAuthorizationScheme","com.azure.ai.agents.models.BotServiceRbacAuthorizationScheme":"Azure.AI.Projects.BotServiceRbacAuthorizationScheme","com.azure.ai.agents.models.BotServiceTenantAuthorizationScheme":"Azure.AI.Projects.BotServiceTenantAuthorizationScheme","com.azure.ai.agents.models.BrowserAutomationPreviewTool":"Azure.AI.Projects.BrowserAutomationPreviewTool","com.azure.ai.agents.models.BrowserAutomationPreviewToolboxTool":"Azure.AI.Projects.BrowserAutomationPreviewToolboxTool","com.azure.ai.agents.models.BrowserAutomationToolCall":"Azure.AI.Projects.BrowserAutomationToolCall","com.azure.ai.agents.models.BrowserAutomationToolCallOutput":"Azure.AI.Projects.BrowserAutomationToolCallOutput","com.azure.ai.agents.models.BrowserAutomationToolConnectionParameters":"Azure.AI.Projects.BrowserAutomationToolConnectionParameters","com.azure.ai.agents.models.BrowserAutomationToolParameters":"Azure.AI.Projects.BrowserAutomationToolParameters","com.azure.ai.agents.models.CallableToolAllowedCaller":"OpenAI.CallableToolAllowedCaller","com.azure.ai.agents.models.CaptureStructuredOutputsTool":"Azure.AI.Projects.CaptureStructuredOutputsTool","com.azure.ai.agents.models.ChatSummaryMemoryItem":"Azure.AI.Projects.ChatSummaryMemoryItem","com.azure.ai.agents.models.CodeConfiguration":"Azure.AI.Projects.CodeConfiguration","com.azure.ai.agents.models.CodeDependencyResolution":"Azure.AI.Projects.CodeDependencyResolution","com.azure.ai.agents.models.CodeFileDetails":null,"com.azure.ai.agents.models.CodeInterpreterTool":"OpenAI.CodeInterpreterTool","com.azure.ai.agents.models.CodeInterpreterToolboxTool":"Azure.AI.Projects.CodeInterpreterToolboxTool","com.azure.ai.agents.models.ComputerEnvironment":"ComputerEnvironmentExpandable","com.azure.ai.agents.models.ComputerTool":"OpenAI.ComputerTool","com.azure.ai.agents.models.ComputerUsePreviewTool":"OpenAI.ComputerUsePreviewTool","com.azure.ai.agents.models.ContainerAutoParameter":"OpenAI.ContainerAutoParam","com.azure.ai.agents.models.ContainerConfiguration":"Azure.AI.Projects.ContainerConfiguration","com.azure.ai.agents.models.ContainerMemoryLimit":"ContainerMemoryLimitExpandable","com.azure.ai.agents.models.ContainerNetworkPolicyAllowlistParameter":"OpenAI.ContainerNetworkPolicyAllowlistParam","com.azure.ai.agents.models.ContainerNetworkPolicyDisabledParameter":"OpenAI.ContainerNetworkPolicyDisabledParam","com.azure.ai.agents.models.ContainerNetworkPolicyDomainSecretParameter":"OpenAI.ContainerNetworkPolicyDomainSecretParam","com.azure.ai.agents.models.ContainerNetworkPolicyParamType":"OpenAI.ContainerNetworkPolicyParamType","com.azure.ai.agents.models.ContainerNetworkPolicyParameter":"OpenAI.ContainerNetworkPolicyParam","com.azure.ai.agents.models.ContainerSkill":"OpenAI.ContainerSkill","com.azure.ai.agents.models.ContainerSkillType":"OpenAI.ContainerSkillType","com.azure.ai.agents.models.CreateAgentVersionFromCodeContent":"Azure.AI.Projects.CreateAgentVersionFromCodeContent","com.azure.ai.agents.models.CreateAgentVersionFromCodeMetadata":"Azure.AI.Projects.CreateAgentVersionFromCodeMetadata","com.azure.ai.agents.models.CreateAgentVersionInput":"Azure.AI.Projects.CreateAgentVersionRequest","com.azure.ai.agents.models.CreateAgentVersionOptions":null,"com.azure.ai.agents.models.CustomGrammarFormatParameter":"OpenAI.CustomGrammarFormatParam","com.azure.ai.agents.models.CustomTextFormatParameter":"OpenAI.CustomTextFormatParam","com.azure.ai.agents.models.CustomToolParamFormat":"OpenAI.CustomToolParamFormat","com.azure.ai.agents.models.CustomToolParamFormatType":"OpenAI.CustomToolParamFormatType","com.azure.ai.agents.models.CustomToolParameter":"OpenAI.CustomToolParam","com.azure.ai.agents.models.DigitalWorkerType":"Azure.AI.Projects.DigitalWorkerType","com.azure.ai.agents.models.EntraAuthorizationScheme":"Azure.AI.Projects.EntraAuthorizationScheme","com.azure.ai.agents.models.EvaluationLevel":"Azure.AI.Projects.EvaluationLevel","com.azure.ai.agents.models.ExternalAgentDefinition":"Azure.AI.Projects.ExternalAgentDefinition","com.azure.ai.agents.models.FabricDataAgentToolCall":"Azure.AI.Projects.FabricDataAgentToolCall","com.azure.ai.agents.models.FabricDataAgentToolCallOutput":"Azure.AI.Projects.FabricDataAgentToolCallOutput","com.azure.ai.agents.models.FabricDataAgentToolParameters":"Azure.AI.Projects.FabricDataAgentToolParameters","com.azure.ai.agents.models.FabricIqPreviewTool":"Azure.AI.Projects.FabricIQPreviewTool","com.azure.ai.agents.models.FabricIqPreviewToolboxTool":"Azure.AI.Projects.FabricIQPreviewToolboxTool","com.azure.ai.agents.models.FileSearchTool":"OpenAI.FileSearchTool","com.azure.ai.agents.models.FileSearchToolboxTool":"Azure.AI.Projects.FileSearchToolboxTool","com.azure.ai.agents.models.FixedRatioVersionSelectionRule":"Azure.AI.Projects.FixedRatioVersionSelectionRule","com.azure.ai.agents.models.FunctionShellToolParamEnvironment":"OpenAI.FunctionShellToolParamEnvironment","com.azure.ai.agents.models.FunctionShellToolParamEnvironmentType":"OpenAI.FunctionShellToolParamEnvironmentType","com.azure.ai.agents.models.FunctionShellToolParameter":"OpenAI.FunctionShellToolParam","com.azure.ai.agents.models.FunctionShellToolParameterEnvironmentContainerReferenceParameter":"OpenAI.FunctionShellToolParamEnvironmentContainerReferenceParam","com.azure.ai.agents.models.FunctionShellToolParameterEnvironmentLocalEnvironmentParameter":"OpenAI.FunctionShellToolParamEnvironmentLocalEnvironmentParam","com.azure.ai.agents.models.FunctionTool":"OpenAI.FunctionTool","com.azure.ai.agents.models.GetMicrosoft365AppPackageOptions":null,"com.azure.ai.agents.models.GrammarSyntax":"GrammarSyntaxExpandable","com.azure.ai.agents.models.HeaderTelemetryEndpointAuth":"Azure.AI.Projects.HeaderTelemetryEndpointAuth","com.azure.ai.agents.models.HostedAgentDefinition":"Azure.AI.Projects.HostedAgentDefinition","com.azure.ai.agents.models.HybridSearchOptions":"OpenAI.HybridSearchOptions","com.azure.ai.agents.models.ImageGenActionEnum":"ImageGenActionEnumExpandable","com.azure.ai.agents.models.ImageGenTool":"OpenAI.ImageGenTool","com.azure.ai.agents.models.ImageGenToolBackground":"ImageGenToolBackgroundExpandable","com.azure.ai.agents.models.ImageGenToolInputImageMask":"OpenAI.ImageGenToolInputImageMask","com.azure.ai.agents.models.ImageGenToolModel":"OpenAI.ImageGenTool.model.anonymous","com.azure.ai.agents.models.ImageGenToolModeration":"ImageGenToolModerationExpandable","com.azure.ai.agents.models.ImageGenToolOutputFormat":"ImageGenToolOutputFormatExpandable","com.azure.ai.agents.models.ImageGenToolQuality":"ImageGenToolQualityExpandable","com.azure.ai.agents.models.ImageGenToolSize":"ImageGenToolSizeExpandable","com.azure.ai.agents.models.IncludeEnum":"OpenAI.IncludeEnum","com.azure.ai.agents.models.InlineSkillParameter":"OpenAI.InlineSkillParam","com.azure.ai.agents.models.InlineSkillSourceParameter":"OpenAI.InlineSkillSourceParam","com.azure.ai.agents.models.InputFidelity":"InputFidelityExpandable","com.azure.ai.agents.models.InvocationsProtocolConfiguration":"Azure.AI.Projects.InvocationsProtocolConfiguration","com.azure.ai.agents.models.InvocationsWsProtocolConfiguration":"Azure.AI.Projects.InvocationsWsProtocolConfiguration","com.azure.ai.agents.models.JobStatus":"Azure.AI.Projects.JobStatus","com.azure.ai.agents.models.ListMemoriesOptions":null,"com.azure.ai.agents.models.LocalShellToolParameter":"OpenAI.LocalShellToolParam","com.azure.ai.agents.models.LocalSkillParameter":"OpenAI.LocalSkillParam","com.azure.ai.agents.models.ManagedAgentIdentityBlueprintReference":"Azure.AI.Projects.ManagedAgentIdentityBlueprintReference","com.azure.ai.agents.models.McpProtocolConfiguration":"Azure.AI.Projects.McpProtocolConfiguration","com.azure.ai.agents.models.McpTool":"OpenAI.MCPTool","com.azure.ai.agents.models.McpToolConnectorId":"McpToolConnectorIdExpandable","com.azure.ai.agents.models.McpToolFilter":"OpenAI.MCPToolFilter","com.azure.ai.agents.models.McpToolRequireApproval":"OpenAI.MCPToolRequireApproval","com.azure.ai.agents.models.McpToolboxTool":"Azure.AI.Projects.MCPToolboxTool","com.azure.ai.agents.models.MemoryCommandToolCall":"Azure.AI.Projects.MemoryCommandToolCall","com.azure.ai.agents.models.MemoryCommandToolCallOutput":"Azure.AI.Projects.MemoryCommandToolCallOutput","com.azure.ai.agents.models.MemoryItem":"Azure.AI.Projects.MemoryItem","com.azure.ai.agents.models.MemoryItemKind":"Azure.AI.Projects.MemoryItemKind","com.azure.ai.agents.models.MemoryOperation":"Azure.AI.Projects.MemoryOperation","com.azure.ai.agents.models.MemoryOperationKind":"Azure.AI.Projects.MemoryOperationKind","com.azure.ai.agents.models.MemorySearchItem":"Azure.AI.Projects.MemorySearchItem","com.azure.ai.agents.models.MemorySearchOptions":"Azure.AI.Projects.MemorySearchOptions","com.azure.ai.agents.models.MemorySearchPreviewTool":"Azure.AI.Projects.MemorySearchPreviewTool","com.azure.ai.agents.models.MemorySearchToolCall":"Azure.AI.Projects.MemorySearchToolCall","com.azure.ai.agents.models.MemoryStoreDefaultDefinition":"Azure.AI.Projects.MemoryStoreDefaultDefinition","com.azure.ai.agents.models.MemoryStoreDefaultOptions":"Azure.AI.Projects.MemoryStoreDefaultOptions","com.azure.ai.agents.models.MemoryStoreDefinition":"Azure.AI.Projects.MemoryStoreDefinition","com.azure.ai.agents.models.MemoryStoreDetails":"Azure.AI.Projects.MemoryStoreObject","com.azure.ai.agents.models.MemoryStoreKind":"Azure.AI.Projects.MemoryStoreKind","com.azure.ai.agents.models.MemoryStoreObjectType":"Azure.AI.Projects.MemoryStoreObjectType","com.azure.ai.agents.models.MemoryStoreOperationUsage":"Azure.AI.Projects.MemoryStoreOperationUsage","com.azure.ai.agents.models.MemoryStoreSearchResponse":"Azure.AI.Projects.MemoryStoreSearchResponse","com.azure.ai.agents.models.MemoryStoreUpdateCompletedResult":"Azure.AI.Projects.MemoryStoreUpdateCompletedResult","com.azure.ai.agents.models.MemoryStoreUpdateResponse":"Azure.AI.Projects.MemoryStoreUpdateResponse","com.azure.ai.agents.models.MemoryStoreUpdateStatus":"Azure.AI.Projects.MemoryStoreUpdateStatus","com.azure.ai.agents.models.Microsoft365PermissionScopes":"Azure.AI.Projects.Microsoft365PermissionScopes","com.azure.ai.agents.models.Microsoft365PublishDefaults":"Azure.AI.Projects.Microsoft365PublishDefaults","com.azure.ai.agents.models.Microsoft365PublishResult":"Azure.AI.Projects.Microsoft365PublishResponse","com.azure.ai.agents.models.Microsoft365PublishScope":"Azure.AI.Projects.Microsoft365PublishScope","com.azure.ai.agents.models.MicrosoftFabricPreviewTool":"Azure.AI.Projects.MicrosoftFabricPreviewTool","com.azure.ai.agents.models.ModelRouterAttempt":"Azure.AI.Projects.ModelRouterAttempt","com.azure.ai.agents.models.ModelRouterAttemptError":"Azure.AI.Projects.ModelRouterAttemptError","com.azure.ai.agents.models.ModelRouterAttemptResult":"Azure.AI.Projects.ModelRouterAttemptResult","com.azure.ai.agents.models.ModelRouterDetails":"Azure.AI.Projects.ModelRouterDetails","com.azure.ai.agents.models.ModelRouterMode":"Azure.AI.Projects.ModelRouterMode","com.azure.ai.agents.models.ModelSelectionDetails":"Azure.AI.Projects.ModelSelectionDetails","com.azure.ai.agents.models.NamespaceTool":"OpenAI.NamespaceToolParam","com.azure.ai.agents.models.OpenApiAnonymousAuthDetails":"Azure.AI.Projects.OpenApiAnonymousAuthDetails","com.azure.ai.agents.models.OpenApiAuthDetails":"Azure.AI.Projects.OpenApiAuthDetails","com.azure.ai.agents.models.OpenApiAuthType":"Azure.AI.Projects.OpenApiAuthType","com.azure.ai.agents.models.OpenApiFunctionDefinition":"Azure.AI.Projects.OpenApiFunctionDefinition","com.azure.ai.agents.models.OpenApiFunctionDefinitionFunction":"Azure.AI.Projects.OpenApiFunctionDefinition.function.anonymous","com.azure.ai.agents.models.OpenApiManagedAuthDetails":"Azure.AI.Projects.OpenApiManagedAuthDetails","com.azure.ai.agents.models.OpenApiManagedSecurityScheme":"Azure.AI.Projects.OpenApiManagedSecurityScheme","com.azure.ai.agents.models.OpenApiProjectConnectionAuthDetails":"Azure.AI.Projects.OpenApiProjectConnectionAuthDetails","com.azure.ai.agents.models.OpenApiProjectConnectionSecurityScheme":"Azure.AI.Projects.OpenApiProjectConnectionSecurityScheme","com.azure.ai.agents.models.OpenApiTool":"Azure.AI.Projects.OpenApiTool","com.azure.ai.agents.models.OpenApiToolCall":"Azure.AI.Projects.OpenApiToolCall","com.azure.ai.agents.models.OpenApiToolCallOutput":"Azure.AI.Projects.OpenApiToolCallOutput","com.azure.ai.agents.models.OpenApiToolboxTool":"Azure.AI.Projects.OpenApiToolboxTool","com.azure.ai.agents.models.OptimizedAgentIdentifier":"Azure.AI.Projects.OptimizedAgentIdentifier","com.azure.ai.agents.models.OtlpTelemetryEndpoint":"Azure.AI.Projects.OtlpTelemetryEndpoint","com.azure.ai.agents.models.PageOrder":"Azure.AI.Projects.PageOrder","com.azure.ai.agents.models.ProceduralMemoryItem":"Azure.AI.Projects.ProceduralMemoryItem","com.azure.ai.agents.models.ProgrammaticToolCallingParameter":"OpenAI.ProgrammaticToolCallingParam","com.azure.ai.agents.models.PromotionInfo":"Azure.AI.Projects.PromotionInfo","com.azure.ai.agents.models.PromptAgentDefinition":"Azure.AI.Projects.PromptAgentDefinition","com.azure.ai.agents.models.PromptAgentDefinitionTextOptions":"Azure.AI.Projects.PromptAgentDefinitionTextOptions","com.azure.ai.agents.models.ProtocolConfiguration":"Azure.AI.Projects.ProtocolConfiguration","com.azure.ai.agents.models.ProtocolVersionRecord":"Azure.AI.Projects.ProtocolVersionRecord","com.azure.ai.agents.models.PublishAgentToMicrosoft365Options":null,"com.azure.ai.agents.models.PublishApprovalStatus":"Azure.AI.Projects.PublishApprovalStatus","com.azure.ai.agents.models.RaiConfig":"Azure.AI.Projects.RaiConfig","com.azure.ai.agents.models.RankerVersionType":"RankerVersionTypeExpandable","com.azure.ai.agents.models.RankingOptions":"OpenAI.RankingOptions","com.azure.ai.agents.models.ReminderPreviewToolboxTool":"Azure.AI.Projects.ReminderPreviewToolboxTool","com.azure.ai.agents.models.ResponseFormatJsonSchemaInner":"OpenAI.ResponseFormatJsonSchemaSchema","com.azure.ai.agents.models.ResponseUsageInputTokensDetails":"OpenAI.ResponseUsageInputTokensDetails","com.azure.ai.agents.models.ResponseUsageOutputTokensDetails":"OpenAI.ResponseUsageOutputTokensDetails","com.azure.ai.agents.models.ResponsesProtocolConfiguration":"Azure.AI.Projects.ResponsesProtocolConfiguration","com.azure.ai.agents.models.RoutingTraceEntry":"Azure.AI.Projects.RoutingTraceEntry","com.azure.ai.agents.models.SearchContentType":"OpenAI.SearchContentType","com.azure.ai.agents.models.SearchContextSize":"SearchContextSizeExpandable","com.azure.ai.agents.models.SessionConfiguration":"Azure.AI.Projects.SessionConfiguration","com.azure.ai.agents.models.SessionDirectoryEntry":"Azure.AI.Projects.SessionDirectoryEntry","com.azure.ai.agents.models.SessionFileWriteResult":"Azure.AI.Projects.SessionFileWriteResponse","com.azure.ai.agents.models.SessionLogEvent":"Azure.AI.Projects.SessionLogEvent","com.azure.ai.agents.models.SessionLogEventType":"Azure.AI.Projects.SessionLogEventType","com.azure.ai.agents.models.SharepointGroundingToolCall":"Azure.AI.Projects.SharepointGroundingToolCall","com.azure.ai.agents.models.SharepointGroundingToolCallOutput":"Azure.AI.Projects.SharepointGroundingToolCallOutput","com.azure.ai.agents.models.SharepointGroundingToolParameters":"Azure.AI.Projects.SharepointGroundingToolParameters","com.azure.ai.agents.models.SharepointPreviewTool":"Azure.AI.Projects.SharepointPreviewTool","com.azure.ai.agents.models.ShellToolboxTool":"Azure.AI.Projects.ShellToolboxTool","com.azure.ai.agents.models.SkillReferenceParameter":"OpenAI.SkillReferenceParam","com.azure.ai.agents.models.StructuredInputDefinition":"Azure.AI.Projects.StructuredInputDefinition","com.azure.ai.agents.models.StructuredOutputDefinition":"Azure.AI.Projects.StructuredOutputDefinition","com.azure.ai.agents.models.TelemetryConfig":"Azure.AI.Projects.TelemetryConfig","com.azure.ai.agents.models.TelemetryDataKind":"Azure.AI.Projects.TelemetryDataKind","com.azure.ai.agents.models.TelemetryEndpoint":"Azure.AI.Projects.TelemetryEndpoint","com.azure.ai.agents.models.TelemetryEndpointAuth":"Azure.AI.Projects.TelemetryEndpointAuth","com.azure.ai.agents.models.TelemetryEndpointAuthType":"Azure.AI.Projects.TelemetryEndpointAuthType","com.azure.ai.agents.models.TelemetryEndpointKind":"Azure.AI.Projects.TelemetryEndpointKind","com.azure.ai.agents.models.TelemetryTransportProtocol":"Azure.AI.Projects.TelemetryTransportProtocol","com.azure.ai.agents.models.TextResponseFormatConfiguration":"OpenAI.TextResponseFormatConfiguration","com.azure.ai.agents.models.TextResponseFormatConfigurationResponseFormatJsonObject":"OpenAI.TextResponseFormatConfigurationResponseFormatJsonObject","com.azure.ai.agents.models.TextResponseFormatConfigurationResponseFormatText":"OpenAI.TextResponseFormatConfigurationResponseFormatText","com.azure.ai.agents.models.TextResponseFormatConfigurationType":"OpenAI.TextResponseFormatConfigurationType","com.azure.ai.agents.models.TextResponseFormatJsonSchema":"OpenAI.TextResponseFormatJsonSchema","com.azure.ai.agents.models.Tool":"OpenAI.Tool","com.azure.ai.agents.models.ToolCallStatus":"Azure.AI.Projects.ToolCallStatus","com.azure.ai.agents.models.ToolConfig":"Azure.AI.Projects.ToolConfig","com.azure.ai.agents.models.ToolProjectConnection":"Azure.AI.Projects.ToolProjectConnection","com.azure.ai.agents.models.ToolSearchExecutionType":"OpenAI.ToolSearchExecutionType","com.azure.ai.agents.models.ToolSearchTool":"OpenAI.ToolSearchToolParam","com.azure.ai.agents.models.ToolSearchToolboxTool":"Azure.AI.Projects.ToolSearchToolboxTool","com.azure.ai.agents.models.ToolType":"OpenAI.ToolType","com.azure.ai.agents.models.ToolboxDetails":"Azure.AI.Projects.ToolboxObject","com.azure.ai.agents.models.ToolboxPolicies":"Azure.AI.Projects.ToolboxPolicies","com.azure.ai.agents.models.ToolboxSearchPreviewToolboxTool":"Azure.AI.Projects.ToolboxSearchPreviewToolboxTool","com.azure.ai.agents.models.ToolboxShellContainerAutoEnvironment":"Azure.AI.Projects.ToolboxShellContainerAutoEnvironment","com.azure.ai.agents.models.ToolboxShellContainerReferenceEnvironment":"Azure.AI.Projects.ToolboxShellContainerReferenceEnvironment","com.azure.ai.agents.models.ToolboxShellEnvironment":"Azure.AI.Projects.ToolboxShellEnvironment","com.azure.ai.agents.models.ToolboxShellNetworkPolicy":"Azure.AI.Projects.ToolboxShellNetworkPolicy","com.azure.ai.agents.models.ToolboxShellNetworkPolicyDisabled":"Azure.AI.Projects.ToolboxShellNetworkPolicyDisabled","com.azure.ai.agents.models.ToolboxSkill":"Azure.AI.Projects.ToolboxSkill","com.azure.ai.agents.models.ToolboxSkillReference":"Azure.AI.Projects.ToolboxSkillReference","com.azure.ai.agents.models.ToolboxTool":"Azure.AI.Projects.ToolboxTool","com.azure.ai.agents.models.ToolboxToolType":"Azure.AI.Projects.ToolboxToolType","com.azure.ai.agents.models.ToolboxVersionDetails":"Azure.AI.Projects.ToolboxVersionObject","com.azure.ai.agents.models.UpdateAgentDetailsOptions":"Azure.AI.Projects.patchAgentObject.Request.anonymous","com.azure.ai.agents.models.UserProfileMemoryItem":"Azure.AI.Projects.UserProfileMemoryItem","com.azure.ai.agents.models.VersionIndicator":"Azure.AI.Projects.VersionIndicator","com.azure.ai.agents.models.VersionIndicatorType":"Azure.AI.Projects.VersionIndicatorType","com.azure.ai.agents.models.VersionRefIndicator":"Azure.AI.Projects.VersionRefIndicator","com.azure.ai.agents.models.VersionSelectionRule":"Azure.AI.Projects.VersionSelectionRule","com.azure.ai.agents.models.VersionSelector":"Azure.AI.Projects.VersionSelector","com.azure.ai.agents.models.VersionSelectorType":"Azure.AI.Projects.VersionSelectorType","com.azure.ai.agents.models.WebIqPreviewTool":"Azure.AI.Projects.WebIQPreviewTool","com.azure.ai.agents.models.WebIqPreviewToolboxTool":"Azure.AI.Projects.WebIQPreviewToolboxTool","com.azure.ai.agents.models.WebSearchApproximateLocation":"OpenAI.WebSearchApproximateLocation","com.azure.ai.agents.models.WebSearchConfiguration":"Azure.AI.Projects.WebSearchConfiguration","com.azure.ai.agents.models.WebSearchPreviewTool":"OpenAI.WebSearchPreviewTool","com.azure.ai.agents.models.WebSearchTool":"OpenAI.WebSearchTool","com.azure.ai.agents.models.WebSearchToolFilters":"OpenAI.WebSearchToolFilters","com.azure.ai.agents.models.WebSearchToolSearchContextSize":"WebSearchToolSearchContextSizeExpandable","com.azure.ai.agents.models.WebSearchToolboxTool":"Azure.AI.Projects.WebSearchToolboxTool","com.azure.ai.agents.models.WorkIqPreviewTool":"Azure.AI.Projects.WorkIQPreviewTool","com.azure.ai.agents.models.WorkIqPreviewToolboxTool":"Azure.AI.Projects.WorkIQPreviewToolboxTool","com.azure.ai.agents.models.WorkflowAgentDefinition":"Azure.AI.Projects.WorkflowAgentDefinition"},"generatedFiles":["src/main/java/com/azure/ai/agents/AgentsAsyncClient.java","src/main/java/com/azure/ai/agents/AgentsClient.java","src/main/java/com/azure/ai/agents/AgentsClientBuilder.java","src/main/java/com/azure/ai/agents/AgentsServiceVersion.java","src/main/java/com/azure/ai/agents/BetaAgentsAsyncClient.java","src/main/java/com/azure/ai/agents/BetaAgentsClient.java","src/main/java/com/azure/ai/agents/BetaMemoryStoresAsyncClient.java","src/main/java/com/azure/ai/agents/BetaMemoryStoresClient.java","src/main/java/com/azure/ai/agents/ToolboxesAsyncClient.java","src/main/java/com/azure/ai/agents/ToolboxesClient.java","src/main/java/com/azure/ai/agents/implementation/AgentsClientImpl.java","src/main/java/com/azure/ai/agents/implementation/AgentsImpl.java","src/main/java/com/azure/ai/agents/implementation/BetaAgentsImpl.java","src/main/java/com/azure/ai/agents/implementation/BetaMemoryStoresImpl.java","src/main/java/com/azure/ai/agents/implementation/JsonMergePatchHelper.java","src/main/java/com/azure/ai/agents/implementation/MultipartFormDataHelper.java","src/main/java/com/azure/ai/agents/implementation/OperationLocationPollingStrategy.java","src/main/java/com/azure/ai/agents/implementation/PollingUtils.java","src/main/java/com/azure/ai/agents/implementation/SyncOperationLocationPollingStrategy.java","src/main/java/com/azure/ai/agents/implementation/ToolboxesImpl.java","src/main/java/com/azure/ai/agents/implementation/models/AgentDefinitionOptInKeys.java","src/main/java/com/azure/ai/agents/implementation/models/CreateAgentFromCodeContent.java","src/main/java/com/azure/ai/agents/implementation/models/CreateAgentFromManifestRequest.java","src/main/java/com/azure/ai/agents/implementation/models/CreateAgentOptions.java","src/main/java/com/azure/ai/agents/implementation/models/CreateAgentRequest.java","src/main/java/com/azure/ai/agents/implementation/models/CreateAgentVersionFromManifestRequest.java","src/main/java/com/azure/ai/agents/implementation/models/CreateAgentVersionRequest.java","src/main/java/com/azure/ai/agents/implementation/models/CreateMemoryRequest.java","src/main/java/com/azure/ai/agents/implementation/models/CreateMemoryStoreRequest.java","src/main/java/com/azure/ai/agents/implementation/models/CreateSessionRequest.java","src/main/java/com/azure/ai/agents/implementation/models/CreateToolboxVersionRequest.java","src/main/java/com/azure/ai/agents/implementation/models/FoundryFeaturesOptInKeys.java","src/main/java/com/azure/ai/agents/implementation/models/GetMicrosoft365AppPackageRequest.java","src/main/java/com/azure/ai/agents/implementation/models/ListMemoriesRequest.java","src/main/java/com/azure/ai/agents/implementation/models/PublishAgentToMicrosoft365Request.java","src/main/java/com/azure/ai/agents/implementation/models/SearchMemoriesRequest.java","src/main/java/com/azure/ai/agents/implementation/models/UpdateAgentFromManifestRequest.java","src/main/java/com/azure/ai/agents/implementation/models/UpdateAgentRequest.java","src/main/java/com/azure/ai/agents/implementation/models/UpdateMemoriesRequest.java","src/main/java/com/azure/ai/agents/implementation/models/UpdateMemoryRequest.java","src/main/java/com/azure/ai/agents/implementation/models/UpdateMemoryStoreRequest.java","src/main/java/com/azure/ai/agents/implementation/models/UpdateToolboxInput.java","src/main/java/com/azure/ai/agents/implementation/models/UpdateToolboxRequest.java","src/main/java/com/azure/ai/agents/implementation/models/package-info.java","src/main/java/com/azure/ai/agents/implementation/package-info.java","src/main/java/com/azure/ai/agents/models/A2APreviewTool.java","src/main/java/com/azure/ai/agents/models/A2APreviewToolboxTool.java","src/main/java/com/azure/ai/agents/models/A2AProtocolConfiguration.java","src/main/java/com/azure/ai/agents/models/A2AProtocolVersion.java","src/main/java/com/azure/ai/agents/models/A2ATool.java","src/main/java/com/azure/ai/agents/models/A2AToolCall.java","src/main/java/com/azure/ai/agents/models/A2AToolCallOutput.java","src/main/java/com/azure/ai/agents/models/A2AToolboxTool.java","src/main/java/com/azure/ai/agents/models/AISearchIndexResource.java","src/main/java/com/azure/ai/agents/models/ActivityProtocolAccessBoundary.java","src/main/java/com/azure/ai/agents/models/ActivityProtocolConfiguration.java","src/main/java/com/azure/ai/agents/models/AgentBlueprintReference.java","src/main/java/com/azure/ai/agents/models/AgentBlueprintReferenceType.java","src/main/java/com/azure/ai/agents/models/AgentCard.java","src/main/java/com/azure/ai/agents/models/AgentCardSkill.java","src/main/java/com/azure/ai/agents/models/AgentDefinition.java","src/main/java/com/azure/ai/agents/models/AgentDetails.java","src/main/java/com/azure/ai/agents/models/AgentDetailsVersions.java","src/main/java/com/azure/ai/agents/models/AgentEndpointAuthorizationScheme.java","src/main/java/com/azure/ai/agents/models/AgentEndpointAuthorizationSchemeType.java","src/main/java/com/azure/ai/agents/models/AgentEndpointConfig.java","src/main/java/com/azure/ai/agents/models/AgentEndpointProtocol.java","src/main/java/com/azure/ai/agents/models/AgentIdentity.java","src/main/java/com/azure/ai/agents/models/AgentIdentityStatus.java","src/main/java/com/azure/ai/agents/models/AgentKind.java","src/main/java/com/azure/ai/agents/models/AgentObjectType.java","src/main/java/com/azure/ai/agents/models/AgentOptimizationCandidate.java","src/main/java/com/azure/ai/agents/models/AgentOptimizationDatasetCriterion.java","src/main/java/com/azure/ai/agents/models/AgentOptimizationDatasetInput.java","src/main/java/com/azure/ai/agents/models/AgentOptimizationDatasetInputType.java","src/main/java/com/azure/ai/agents/models/AgentOptimizationDatasetItem.java","src/main/java/com/azure/ai/agents/models/AgentOptimizationEvaluatorReference.java","src/main/java/com/azure/ai/agents/models/AgentOptimizationInlineDatasetInput.java","src/main/java/com/azure/ai/agents/models/AgentOptimizationJob.java","src/main/java/com/azure/ai/agents/models/AgentOptimizationJobInputs.java","src/main/java/com/azure/ai/agents/models/AgentOptimizationJobListItem.java","src/main/java/com/azure/ai/agents/models/AgentOptimizationJobProgress.java","src/main/java/com/azure/ai/agents/models/AgentOptimizationJobResult.java","src/main/java/com/azure/ai/agents/models/AgentOptimizationOptions.java","src/main/java/com/azure/ai/agents/models/AgentOptimizationReferenceDatasetInput.java","src/main/java/com/azure/ai/agents/models/AgentReference.java","src/main/java/com/azure/ai/agents/models/AgentSessionResource.java","src/main/java/com/azure/ai/agents/models/AgentSessionStatus.java","src/main/java/com/azure/ai/agents/models/AgentState.java","src/main/java/com/azure/ai/agents/models/AgentStateSource.java","src/main/java/com/azure/ai/agents/models/AgentVersionDetails.java","src/main/java/com/azure/ai/agents/models/AgentVersionStatus.java","src/main/java/com/azure/ai/agents/models/ApiError.java","src/main/java/com/azure/ai/agents/models/ApplyPatchToolParameter.java","src/main/java/com/azure/ai/agents/models/ApproximateLocation.java","src/main/java/com/azure/ai/agents/models/AutoCodeInterpreterToolParameter.java","src/main/java/com/azure/ai/agents/models/AzureAISearchQueryType.java","src/main/java/com/azure/ai/agents/models/AzureAISearchTool.java","src/main/java/com/azure/ai/agents/models/AzureAISearchToolCall.java","src/main/java/com/azure/ai/agents/models/AzureAISearchToolCallOutput.java","src/main/java/com/azure/ai/agents/models/AzureAISearchToolResource.java","src/main/java/com/azure/ai/agents/models/AzureAISearchToolboxTool.java","src/main/java/com/azure/ai/agents/models/AzureCreateResponseDetails.java","src/main/java/com/azure/ai/agents/models/AzureCreateResponseOptions.java","src/main/java/com/azure/ai/agents/models/AzureFunctionBinding.java","src/main/java/com/azure/ai/agents/models/AzureFunctionDefinition.java","src/main/java/com/azure/ai/agents/models/AzureFunctionDefinitionDetails.java","src/main/java/com/azure/ai/agents/models/AzureFunctionStorageQueue.java","src/main/java/com/azure/ai/agents/models/AzureFunctionTool.java","src/main/java/com/azure/ai/agents/models/AzureFunctionToolCall.java","src/main/java/com/azure/ai/agents/models/AzureFunctionToolCallOutput.java","src/main/java/com/azure/ai/agents/models/AzureUserSecurityContext.java","src/main/java/com/azure/ai/agents/models/BingCustomSearchConfiguration.java","src/main/java/com/azure/ai/agents/models/BingCustomSearchPreviewTool.java","src/main/java/com/azure/ai/agents/models/BingCustomSearchToolCall.java","src/main/java/com/azure/ai/agents/models/BingCustomSearchToolCallOutput.java","src/main/java/com/azure/ai/agents/models/BingCustomSearchToolParameters.java","src/main/java/com/azure/ai/agents/models/BingGroundingSearchConfiguration.java","src/main/java/com/azure/ai/agents/models/BingGroundingSearchToolParameters.java","src/main/java/com/azure/ai/agents/models/BingGroundingTool.java","src/main/java/com/azure/ai/agents/models/BingGroundingToolCall.java","src/main/java/com/azure/ai/agents/models/BingGroundingToolCallOutput.java","src/main/java/com/azure/ai/agents/models/BotServiceAuthorizationScheme.java","src/main/java/com/azure/ai/agents/models/BotServiceRbacAuthorizationScheme.java","src/main/java/com/azure/ai/agents/models/BotServiceTenantAuthorizationScheme.java","src/main/java/com/azure/ai/agents/models/BrowserAutomationPreviewTool.java","src/main/java/com/azure/ai/agents/models/BrowserAutomationPreviewToolboxTool.java","src/main/java/com/azure/ai/agents/models/BrowserAutomationToolCall.java","src/main/java/com/azure/ai/agents/models/BrowserAutomationToolCallOutput.java","src/main/java/com/azure/ai/agents/models/BrowserAutomationToolConnectionParameters.java","src/main/java/com/azure/ai/agents/models/BrowserAutomationToolParameters.java","src/main/java/com/azure/ai/agents/models/CallableToolAllowedCaller.java","src/main/java/com/azure/ai/agents/models/CaptureStructuredOutputsTool.java","src/main/java/com/azure/ai/agents/models/ChatSummaryMemoryItem.java","src/main/java/com/azure/ai/agents/models/CodeConfiguration.java","src/main/java/com/azure/ai/agents/models/CodeDependencyResolution.java","src/main/java/com/azure/ai/agents/models/CodeFileDetails.java","src/main/java/com/azure/ai/agents/models/CodeInterpreterTool.java","src/main/java/com/azure/ai/agents/models/CodeInterpreterToolboxTool.java","src/main/java/com/azure/ai/agents/models/ComputerEnvironment.java","src/main/java/com/azure/ai/agents/models/ComputerTool.java","src/main/java/com/azure/ai/agents/models/ComputerUsePreviewTool.java","src/main/java/com/azure/ai/agents/models/ContainerAutoParameter.java","src/main/java/com/azure/ai/agents/models/ContainerConfiguration.java","src/main/java/com/azure/ai/agents/models/ContainerMemoryLimit.java","src/main/java/com/azure/ai/agents/models/ContainerNetworkPolicyAllowlistParameter.java","src/main/java/com/azure/ai/agents/models/ContainerNetworkPolicyDisabledParameter.java","src/main/java/com/azure/ai/agents/models/ContainerNetworkPolicyDomainSecretParameter.java","src/main/java/com/azure/ai/agents/models/ContainerNetworkPolicyParamType.java","src/main/java/com/azure/ai/agents/models/ContainerNetworkPolicyParameter.java","src/main/java/com/azure/ai/agents/models/ContainerSkill.java","src/main/java/com/azure/ai/agents/models/ContainerSkillType.java","src/main/java/com/azure/ai/agents/models/CreateAgentVersionFromCodeContent.java","src/main/java/com/azure/ai/agents/models/CreateAgentVersionFromCodeMetadata.java","src/main/java/com/azure/ai/agents/models/CreateAgentVersionInput.java","src/main/java/com/azure/ai/agents/models/CreateAgentVersionOptions.java","src/main/java/com/azure/ai/agents/models/CustomGrammarFormatParameter.java","src/main/java/com/azure/ai/agents/models/CustomTextFormatParameter.java","src/main/java/com/azure/ai/agents/models/CustomToolParamFormat.java","src/main/java/com/azure/ai/agents/models/CustomToolParamFormatType.java","src/main/java/com/azure/ai/agents/models/CustomToolParameter.java","src/main/java/com/azure/ai/agents/models/DigitalWorkerType.java","src/main/java/com/azure/ai/agents/models/EntraAuthorizationScheme.java","src/main/java/com/azure/ai/agents/models/EvaluationLevel.java","src/main/java/com/azure/ai/agents/models/ExternalAgentDefinition.java","src/main/java/com/azure/ai/agents/models/FabricDataAgentToolCall.java","src/main/java/com/azure/ai/agents/models/FabricDataAgentToolCallOutput.java","src/main/java/com/azure/ai/agents/models/FabricDataAgentToolParameters.java","src/main/java/com/azure/ai/agents/models/FabricIqPreviewTool.java","src/main/java/com/azure/ai/agents/models/FabricIqPreviewToolboxTool.java","src/main/java/com/azure/ai/agents/models/FileSearchTool.java","src/main/java/com/azure/ai/agents/models/FileSearchToolboxTool.java","src/main/java/com/azure/ai/agents/models/FixedRatioVersionSelectionRule.java","src/main/java/com/azure/ai/agents/models/FunctionShellToolParamEnvironment.java","src/main/java/com/azure/ai/agents/models/FunctionShellToolParamEnvironmentType.java","src/main/java/com/azure/ai/agents/models/FunctionShellToolParameter.java","src/main/java/com/azure/ai/agents/models/FunctionShellToolParameterEnvironmentContainerReferenceParameter.java","src/main/java/com/azure/ai/agents/models/FunctionShellToolParameterEnvironmentLocalEnvironmentParameter.java","src/main/java/com/azure/ai/agents/models/FunctionTool.java","src/main/java/com/azure/ai/agents/models/GetMicrosoft365AppPackageOptions.java","src/main/java/com/azure/ai/agents/models/GrammarSyntax.java","src/main/java/com/azure/ai/agents/models/HeaderTelemetryEndpointAuth.java","src/main/java/com/azure/ai/agents/models/HostedAgentDefinition.java","src/main/java/com/azure/ai/agents/models/HybridSearchOptions.java","src/main/java/com/azure/ai/agents/models/ImageGenActionEnum.java","src/main/java/com/azure/ai/agents/models/ImageGenTool.java","src/main/java/com/azure/ai/agents/models/ImageGenToolBackground.java","src/main/java/com/azure/ai/agents/models/ImageGenToolInputImageMask.java","src/main/java/com/azure/ai/agents/models/ImageGenToolModel.java","src/main/java/com/azure/ai/agents/models/ImageGenToolModeration.java","src/main/java/com/azure/ai/agents/models/ImageGenToolOutputFormat.java","src/main/java/com/azure/ai/agents/models/ImageGenToolQuality.java","src/main/java/com/azure/ai/agents/models/ImageGenToolSize.java","src/main/java/com/azure/ai/agents/models/IncludeEnum.java","src/main/java/com/azure/ai/agents/models/InlineSkillParameter.java","src/main/java/com/azure/ai/agents/models/InlineSkillSourceParameter.java","src/main/java/com/azure/ai/agents/models/InputFidelity.java","src/main/java/com/azure/ai/agents/models/InvocationsProtocolConfiguration.java","src/main/java/com/azure/ai/agents/models/InvocationsWsProtocolConfiguration.java","src/main/java/com/azure/ai/agents/models/JobStatus.java","src/main/java/com/azure/ai/agents/models/ListMemoriesOptions.java","src/main/java/com/azure/ai/agents/models/LocalShellToolParameter.java","src/main/java/com/azure/ai/agents/models/LocalSkillParameter.java","src/main/java/com/azure/ai/agents/models/ManagedAgentIdentityBlueprintReference.java","src/main/java/com/azure/ai/agents/models/McpProtocolConfiguration.java","src/main/java/com/azure/ai/agents/models/McpTool.java","src/main/java/com/azure/ai/agents/models/McpToolConnectorId.java","src/main/java/com/azure/ai/agents/models/McpToolFilter.java","src/main/java/com/azure/ai/agents/models/McpToolRequireApproval.java","src/main/java/com/azure/ai/agents/models/McpToolboxTool.java","src/main/java/com/azure/ai/agents/models/MemoryCommandToolCall.java","src/main/java/com/azure/ai/agents/models/MemoryCommandToolCallOutput.java","src/main/java/com/azure/ai/agents/models/MemoryItem.java","src/main/java/com/azure/ai/agents/models/MemoryItemKind.java","src/main/java/com/azure/ai/agents/models/MemoryOperation.java","src/main/java/com/azure/ai/agents/models/MemoryOperationKind.java","src/main/java/com/azure/ai/agents/models/MemorySearchItem.java","src/main/java/com/azure/ai/agents/models/MemorySearchOptions.java","src/main/java/com/azure/ai/agents/models/MemorySearchPreviewTool.java","src/main/java/com/azure/ai/agents/models/MemorySearchToolCall.java","src/main/java/com/azure/ai/agents/models/MemoryStoreDefaultDefinition.java","src/main/java/com/azure/ai/agents/models/MemoryStoreDefaultOptions.java","src/main/java/com/azure/ai/agents/models/MemoryStoreDefinition.java","src/main/java/com/azure/ai/agents/models/MemoryStoreDetails.java","src/main/java/com/azure/ai/agents/models/MemoryStoreKind.java","src/main/java/com/azure/ai/agents/models/MemoryStoreObjectType.java","src/main/java/com/azure/ai/agents/models/MemoryStoreOperationUsage.java","src/main/java/com/azure/ai/agents/models/MemoryStoreSearchResponse.java","src/main/java/com/azure/ai/agents/models/MemoryStoreUpdateCompletedResult.java","src/main/java/com/azure/ai/agents/models/MemoryStoreUpdateResponse.java","src/main/java/com/azure/ai/agents/models/MemoryStoreUpdateStatus.java","src/main/java/com/azure/ai/agents/models/Microsoft365PermissionScopes.java","src/main/java/com/azure/ai/agents/models/Microsoft365PublishDefaults.java","src/main/java/com/azure/ai/agents/models/Microsoft365PublishResult.java","src/main/java/com/azure/ai/agents/models/Microsoft365PublishScope.java","src/main/java/com/azure/ai/agents/models/MicrosoftFabricPreviewTool.java","src/main/java/com/azure/ai/agents/models/ModelRouterAttempt.java","src/main/java/com/azure/ai/agents/models/ModelRouterAttemptError.java","src/main/java/com/azure/ai/agents/models/ModelRouterAttemptResult.java","src/main/java/com/azure/ai/agents/models/ModelRouterDetails.java","src/main/java/com/azure/ai/agents/models/ModelRouterMode.java","src/main/java/com/azure/ai/agents/models/ModelSelectionDetails.java","src/main/java/com/azure/ai/agents/models/NamespaceTool.java","src/main/java/com/azure/ai/agents/models/OpenApiAnonymousAuthDetails.java","src/main/java/com/azure/ai/agents/models/OpenApiAuthDetails.java","src/main/java/com/azure/ai/agents/models/OpenApiAuthType.java","src/main/java/com/azure/ai/agents/models/OpenApiFunctionDefinition.java","src/main/java/com/azure/ai/agents/models/OpenApiFunctionDefinitionFunction.java","src/main/java/com/azure/ai/agents/models/OpenApiManagedAuthDetails.java","src/main/java/com/azure/ai/agents/models/OpenApiManagedSecurityScheme.java","src/main/java/com/azure/ai/agents/models/OpenApiProjectConnectionAuthDetails.java","src/main/java/com/azure/ai/agents/models/OpenApiProjectConnectionSecurityScheme.java","src/main/java/com/azure/ai/agents/models/OpenApiTool.java","src/main/java/com/azure/ai/agents/models/OpenApiToolCall.java","src/main/java/com/azure/ai/agents/models/OpenApiToolCallOutput.java","src/main/java/com/azure/ai/agents/models/OpenApiToolboxTool.java","src/main/java/com/azure/ai/agents/models/OptimizedAgentIdentifier.java","src/main/java/com/azure/ai/agents/models/OtlpTelemetryEndpoint.java","src/main/java/com/azure/ai/agents/models/PageOrder.java","src/main/java/com/azure/ai/agents/models/ProceduralMemoryItem.java","src/main/java/com/azure/ai/agents/models/ProgrammaticToolCallingParameter.java","src/main/java/com/azure/ai/agents/models/PromotionInfo.java","src/main/java/com/azure/ai/agents/models/PromptAgentDefinition.java","src/main/java/com/azure/ai/agents/models/PromptAgentDefinitionTextOptions.java","src/main/java/com/azure/ai/agents/models/ProtocolConfiguration.java","src/main/java/com/azure/ai/agents/models/ProtocolVersionRecord.java","src/main/java/com/azure/ai/agents/models/PublishAgentToMicrosoft365Options.java","src/main/java/com/azure/ai/agents/models/PublishApprovalStatus.java","src/main/java/com/azure/ai/agents/models/RaiConfig.java","src/main/java/com/azure/ai/agents/models/RankerVersionType.java","src/main/java/com/azure/ai/agents/models/RankingOptions.java","src/main/java/com/azure/ai/agents/models/ReminderPreviewToolboxTool.java","src/main/java/com/azure/ai/agents/models/ResponseFormatJsonSchemaInner.java","src/main/java/com/azure/ai/agents/models/ResponseUsageInputTokensDetails.java","src/main/java/com/azure/ai/agents/models/ResponseUsageOutputTokensDetails.java","src/main/java/com/azure/ai/agents/models/ResponsesProtocolConfiguration.java","src/main/java/com/azure/ai/agents/models/RoutingTraceEntry.java","src/main/java/com/azure/ai/agents/models/SearchContentType.java","src/main/java/com/azure/ai/agents/models/SearchContextSize.java","src/main/java/com/azure/ai/agents/models/SessionConfiguration.java","src/main/java/com/azure/ai/agents/models/SessionDirectoryEntry.java","src/main/java/com/azure/ai/agents/models/SessionFileWriteResult.java","src/main/java/com/azure/ai/agents/models/SessionLogEvent.java","src/main/java/com/azure/ai/agents/models/SessionLogEventType.java","src/main/java/com/azure/ai/agents/models/SharepointGroundingToolCall.java","src/main/java/com/azure/ai/agents/models/SharepointGroundingToolCallOutput.java","src/main/java/com/azure/ai/agents/models/SharepointGroundingToolParameters.java","src/main/java/com/azure/ai/agents/models/SharepointPreviewTool.java","src/main/java/com/azure/ai/agents/models/ShellToolboxTool.java","src/main/java/com/azure/ai/agents/models/SkillReferenceParameter.java","src/main/java/com/azure/ai/agents/models/StructuredInputDefinition.java","src/main/java/com/azure/ai/agents/models/StructuredOutputDefinition.java","src/main/java/com/azure/ai/agents/models/TelemetryConfig.java","src/main/java/com/azure/ai/agents/models/TelemetryDataKind.java","src/main/java/com/azure/ai/agents/models/TelemetryEndpoint.java","src/main/java/com/azure/ai/agents/models/TelemetryEndpointAuth.java","src/main/java/com/azure/ai/agents/models/TelemetryEndpointAuthType.java","src/main/java/com/azure/ai/agents/models/TelemetryEndpointKind.java","src/main/java/com/azure/ai/agents/models/TelemetryTransportProtocol.java","src/main/java/com/azure/ai/agents/models/TextResponseFormatConfiguration.java","src/main/java/com/azure/ai/agents/models/TextResponseFormatConfigurationResponseFormatJsonObject.java","src/main/java/com/azure/ai/agents/models/TextResponseFormatConfigurationResponseFormatText.java","src/main/java/com/azure/ai/agents/models/TextResponseFormatConfigurationType.java","src/main/java/com/azure/ai/agents/models/TextResponseFormatJsonSchema.java","src/main/java/com/azure/ai/agents/models/Tool.java","src/main/java/com/azure/ai/agents/models/ToolCallStatus.java","src/main/java/com/azure/ai/agents/models/ToolConfig.java","src/main/java/com/azure/ai/agents/models/ToolProjectConnection.java","src/main/java/com/azure/ai/agents/models/ToolSearchExecutionType.java","src/main/java/com/azure/ai/agents/models/ToolSearchTool.java","src/main/java/com/azure/ai/agents/models/ToolSearchToolboxTool.java","src/main/java/com/azure/ai/agents/models/ToolType.java","src/main/java/com/azure/ai/agents/models/ToolboxDetails.java","src/main/java/com/azure/ai/agents/models/ToolboxPolicies.java","src/main/java/com/azure/ai/agents/models/ToolboxSearchPreviewToolboxTool.java","src/main/java/com/azure/ai/agents/models/ToolboxShellContainerAutoEnvironment.java","src/main/java/com/azure/ai/agents/models/ToolboxShellContainerReferenceEnvironment.java","src/main/java/com/azure/ai/agents/models/ToolboxShellEnvironment.java","src/main/java/com/azure/ai/agents/models/ToolboxShellNetworkPolicy.java","src/main/java/com/azure/ai/agents/models/ToolboxShellNetworkPolicyDisabled.java","src/main/java/com/azure/ai/agents/models/ToolboxSkill.java","src/main/java/com/azure/ai/agents/models/ToolboxSkillReference.java","src/main/java/com/azure/ai/agents/models/ToolboxTool.java","src/main/java/com/azure/ai/agents/models/ToolboxToolType.java","src/main/java/com/azure/ai/agents/models/ToolboxVersionDetails.java","src/main/java/com/azure/ai/agents/models/UpdateAgentDetailsOptions.java","src/main/java/com/azure/ai/agents/models/UserProfileMemoryItem.java","src/main/java/com/azure/ai/agents/models/VersionIndicator.java","src/main/java/com/azure/ai/agents/models/VersionIndicatorType.java","src/main/java/com/azure/ai/agents/models/VersionRefIndicator.java","src/main/java/com/azure/ai/agents/models/VersionSelectionRule.java","src/main/java/com/azure/ai/agents/models/VersionSelector.java","src/main/java/com/azure/ai/agents/models/VersionSelectorType.java","src/main/java/com/azure/ai/agents/models/WebIqPreviewTool.java","src/main/java/com/azure/ai/agents/models/WebIqPreviewToolboxTool.java","src/main/java/com/azure/ai/agents/models/WebSearchApproximateLocation.java","src/main/java/com/azure/ai/agents/models/WebSearchConfiguration.java","src/main/java/com/azure/ai/agents/models/WebSearchPreviewTool.java","src/main/java/com/azure/ai/agents/models/WebSearchTool.java","src/main/java/com/azure/ai/agents/models/WebSearchToolFilters.java","src/main/java/com/azure/ai/agents/models/WebSearchToolSearchContextSize.java","src/main/java/com/azure/ai/agents/models/WebSearchToolboxTool.java","src/main/java/com/azure/ai/agents/models/WorkIqPreviewTool.java","src/main/java/com/azure/ai/agents/models/WorkIqPreviewToolboxTool.java","src/main/java/com/azure/ai/agents/models/WorkflowAgentDefinition.java","src/main/java/com/azure/ai/agents/models/package-info.java","src/main/java/com/azure/ai/agents/package-info.java","src/main/java/module-info.java"]}
\ No newline at end of file
diff --git a/sdk/ai/azure-ai-agents/src/samples/java/com/azure/ai/agents/CreateResponseWithConversation.java b/sdk/ai/azure-ai-agents/src/samples/java/com/azure/ai/agents/CreateResponseWithConversation.java
index 14ff30b42059..87e5dad4dc63 100644
--- a/sdk/ai/azure-ai-agents/src/samples/java/com/azure/ai/agents/CreateResponseWithConversation.java
+++ b/sdk/ai/azure-ai-agents/src/samples/java/com/azure/ai/agents/CreateResponseWithConversation.java
@@ -3,12 +3,17 @@
package com.azure.ai.agents;
-import com.azure.ai.agents.models.AgentReference;
-import com.azure.ai.agents.models.AzureCreateResponseOptions;
+import com.azure.ai.agents.models.AgentEndpointConfig;
import com.azure.ai.agents.models.AgentVersionDetails;
+import com.azure.ai.agents.models.FixedRatioVersionSelectionRule;
import com.azure.ai.agents.models.PromptAgentDefinition;
+import com.azure.ai.agents.models.ProtocolConfiguration;
+import com.azure.ai.agents.models.ResponsesProtocolConfiguration;
+import com.azure.ai.agents.models.UpdateAgentDetailsOptions;
+import com.azure.ai.agents.models.VersionSelector;
import com.azure.core.util.Configuration;
import com.azure.identity.DefaultAzureCredentialBuilder;
+import com.openai.client.OpenAIClient;
import com.openai.models.conversations.Conversation;
import com.openai.models.responses.Response;
import com.openai.models.responses.ResponseCreateParams;
@@ -16,9 +21,11 @@
import com.openai.models.responses.ResponseOutputMessage;
import com.openai.services.blocking.ConversationService;
+import java.util.Collections;
+
/**
- * This sample demonstrates how to use the createWithAgentConversation helper method
- * to create a response with a conversation.
+ * This sample demonstrates how to to create a response with a conversation
+ * against an agent.
*/
public class CreateResponseWithConversation {
public static void main(String[] args) {
@@ -32,7 +39,6 @@ public static void main(String[] args) {
AgentsClient agentsClient = builder.buildAgentsClient();
ConversationService conversationService = builder.buildOpenAIClient().conversations();
- ResponsesClient responsesClient = builder.buildResponsesClient();
AgentVersionDetails agent = null;
String conversationId = null;
@@ -45,8 +51,14 @@ public static void main(String[] args) {
agent = agentsClient.createAgentVersion("my-agent", agentDefinition);
System.out.printf("Agent created (id: %s, version: %s)\n", agent.getId(), agent.getVersion());
- AgentReference agentReference = new AgentReference(agent.getName())
- .setVersion(agent.getVersion());
+ AgentEndpointConfig endpointConfig = new AgentEndpointConfig()
+ .setVersionSelector(new VersionSelector().setVersionSelectionRules(Collections.singletonList(
+ new FixedRatioVersionSelectionRule(100).setAgentVersion(agent.getVersion()))))
+ .setProtocolConfiguration(new ProtocolConfiguration().setResponses(new ResponsesProtocolConfiguration()));
+ agentsClient.updateAgentDetails(agent.getName(),
+ new UpdateAgentDetailsOptions().setAgentEndpoint(endpointConfig));
+
+ OpenAIClient openAIClient = builder.buildAgentScopedOpenAIClient(agent.getName());
// Create a conversation
Conversation conversation = conversationService.create();
@@ -54,11 +66,11 @@ public static void main(String[] args) {
System.out.println("Created conversation: " + conversationId);
// Create a response using the conversation
- Response response = responsesClient.createAzureResponse(
- new AzureCreateResponseOptions().setAgentReference(agentReference),
+ Response response = openAIClient.responses().create(
ResponseCreateParams.builder()
.conversation(conversationId)
- .input("Hi, how can you help me?"));
+ .input("Hi, how can you help me?")
+ .build());
// Process and display the response
System.out.println("\n=== Agent Response ===");
diff --git a/sdk/ai/azure-ai-agents/src/samples/java/com/azure/ai/agents/MemorySearchAgent.java b/sdk/ai/azure-ai-agents/src/samples/java/com/azure/ai/agents/MemorySearchAgent.java
index 579f608fec56..4178b1b7ab3c 100644
--- a/sdk/ai/azure-ai-agents/src/samples/java/com/azure/ai/agents/MemorySearchAgent.java
+++ b/sdk/ai/azure-ai-agents/src/samples/java/com/azure/ai/agents/MemorySearchAgent.java
@@ -3,8 +3,6 @@
package com.azure.ai.agents;
-import com.azure.ai.agents.models.AgentReference;
-import com.azure.ai.agents.models.AzureCreateResponseOptions;
import com.azure.ai.agents.models.AgentVersionDetails;
import com.azure.ai.agents.models.MemorySearchPreviewTool;
import com.azure.ai.agents.models.MemoryStoreDefaultDefinition;
@@ -14,6 +12,7 @@
import com.azure.core.exception.ResourceNotFoundException;
import com.azure.core.util.Configuration;
import com.azure.identity.DefaultAzureCredentialBuilder;
+import com.openai.client.OpenAIClient;
import com.openai.models.conversations.Conversation;
import com.openai.models.responses.Response;
import com.openai.models.responses.ResponseCreateParams;
@@ -43,7 +42,6 @@ public static void main(String[] args) {
AgentsClient agentsClient = builder.buildAgentsClient();
BetaMemoryStoresClient memoryStoresClient = builder.beta().buildBetaMemoryStoresClient();
ConversationService conversationService = builder.buildOpenAIClient().conversations();
- ResponsesClient responsesClient = builder.buildResponsesClient();
String memoryStoreName = "my_memory_store";
String agentName = "MyAgent";
@@ -74,18 +72,20 @@ public static void main(String[] args) {
agent = agentsClient.createAgentVersion(agentName, agentDefinition);
System.out.printf("Agent created (id: %s, version: %s)\n", agent.getId(), agent.getVersion());
- AgentReference agentReference = new AgentReference(agent.getName()).setVersion(agent.getVersion());
+ SampleUtils.pinAgentVersion(agentsClient, agent);
+
+ OpenAIClient openAIClient = builder.buildAgentScopedOpenAIClient(agent.getName());
Conversation conversation = conversationService.create();
firstConversationId = conversation.id();
System.out.println("Created conversation (id: " + firstConversationId + ")");
- Response response = responsesClient.createAzureResponse(
- new AzureCreateResponseOptions().setAgentReference(agentReference),
+ Response response = openAIClient.responses().create(
ResponseCreateParams.builder()
.conversation(firstConversationId)
- .input("I prefer dark roast coffee"));
+ .input("I prefer dark roast coffee")
+ .build());
System.out.println("Response output: " + getResponseText(response));
System.out.println("Waiting for memories to be stored...");
@@ -95,11 +95,11 @@ public static void main(String[] args) {
followUpConversationId = newConversation.id();
System.out.println("Created new conversation (id: " + followUpConversationId + ")");
- Response followUpResponse = responsesClient.createAzureResponse(
- new AzureCreateResponseOptions().setAgentReference(agentReference),
+ Response followUpResponse = openAIClient.responses().create(
ResponseCreateParams.builder()
.conversation(followUpConversationId)
- .input("Please order my usual coffee"));
+ .input("Please order my usual coffee")
+ .build());
System.out.println("Response output: " + getResponseText(followUpResponse));
System.out.println("Sample completed successfully.");
diff --git a/sdk/ai/azure-ai-agents/src/samples/java/com/azure/ai/agents/MultipleAgentsConversation.java b/sdk/ai/azure-ai-agents/src/samples/java/com/azure/ai/agents/MultipleAgentsConversation.java
index 019292cbc34f..e050acc4eff2 100644
--- a/sdk/ai/azure-ai-agents/src/samples/java/com/azure/ai/agents/MultipleAgentsConversation.java
+++ b/sdk/ai/azure-ai-agents/src/samples/java/com/azure/ai/agents/MultipleAgentsConversation.java
@@ -3,12 +3,11 @@
package com.azure.ai.agents;
-import com.azure.ai.agents.models.AgentReference;
-import com.azure.ai.agents.models.AzureCreateResponseOptions;
import com.azure.ai.agents.models.AgentVersionDetails;
import com.azure.ai.agents.models.PromptAgentDefinition;
import com.azure.core.util.Configuration;
import com.azure.identity.DefaultAzureCredentialBuilder;
+import com.openai.client.OpenAIClient;
import com.openai.models.conversations.Conversation;
import com.openai.models.conversations.items.ItemCreateParams;
import com.openai.models.conversations.items.ItemListPage;
@@ -35,7 +34,6 @@ public static void main(String[] args) {
.serviceVersion(AgentsServiceVersion.getLatest())
.endpoint(endpoint);
AgentsClient agentsClient = builder.buildAgentsClient();
- ResponsesClient responsesClient = builder.buildResponsesClient();
ConversationService conversationsClient = builder.buildOpenAIClient().conversations();
// Setting up the conversation with initial messages
@@ -50,13 +48,15 @@ public static void main(String[] args) {
AgentVersionDetails agent1 = createPromptAgent(agentsClient, model, "weather-agent-1");
AgentVersionDetails agent2 = createPromptAgent(agentsClient, model, "weather-agent-2");
- AgentReference agent1Reference = new AgentReference(agent1.getName()).setVersion(agent1.getVersion());
- AgentReference agent2Reference = new AgentReference(agent2.getName()).setVersion(agent2.getVersion());
+ SampleUtils.pinAgentVersion(agentsClient, agent1);
+ SampleUtils.pinAgentVersion(agentsClient, agent2);
+ OpenAIClient agent1Client = builder.buildAgentScopedOpenAIClient(agent1.getName());
+ OpenAIClient agent2Client = builder.buildAgentScopedOpenAIClient(agent2.getName());
// Get response from agent1
- Response response = responsesClient.createAzureResponse(
- new AzureCreateResponseOptions().setAgentReference(agent1Reference),
- ResponseCreateParams.builder().conversation(conversation.id()));
+ Response response = agent1Client.responses().create(ResponseCreateParams.builder()
+ .conversation(conversation.id())
+ .build());
System.out.println("Agent response from: " + agent1.getName());
System.out.println("\tResponse: " + response.output().get(0).asMessage().content().get(0).asOutputText().text());
@@ -66,9 +66,9 @@ public static void main(String[] args) {
printConversationItems(conversationsClient, conversation.id(), 3);
// Get follow-up response from agent1
- Response followUpResponse = responsesClient.createAzureResponse(
- new AzureCreateResponseOptions().setAgentReference(agent1Reference),
- ResponseCreateParams.builder().conversation(conversation.id()));
+ Response followUpResponse = agent1Client.responses().create(ResponseCreateParams.builder()
+ .conversation(conversation.id())
+ .build());
System.out.println("Agent response from: " + agent1.getName());
System.out.println("\tResponse: " + followUpResponse.output().get(0).asMessage().content().get(0).asOutputText().text());
@@ -77,9 +77,9 @@ public static void main(String[] args) {
"Provide suggestions opposite of what historical data indicates.", EasyInputMessage.Role.SYSTEM);
printConversationItems(conversationsClient, conversation.id(), 4);
- Response newMessageThread = responsesClient.createAzureResponse(
- new AzureCreateResponseOptions().setAgentReference(agent2Reference),
- ResponseCreateParams.builder().conversation(conversation.id()));
+ Response newMessageThread = agent2Client.responses().create(ResponseCreateParams.builder()
+ .conversation(conversation.id())
+ .build());
System.out.println("Agent response from: " + agent2.getName());
System.out.println("\tResponse: " + newMessageThread.output().get(0).asMessage().content().get(0).asOutputText().text());
}
diff --git a/sdk/ai/azure-ai-agents/src/samples/java/com/azure/ai/agents/ReadmeSamples.java b/sdk/ai/azure-ai-agents/src/samples/java/com/azure/ai/agents/ReadmeSamples.java
index 14542ed8ad31..1e8888748936 100644
--- a/sdk/ai/azure-ai-agents/src/samples/java/com/azure/ai/agents/ReadmeSamples.java
+++ b/sdk/ai/azure-ai-agents/src/samples/java/com/azure/ai/agents/ReadmeSamples.java
@@ -4,12 +4,15 @@
package com.azure.ai.agents;
-import com.azure.ai.agents.models.AgentReference;
+import com.azure.ai.agents.models.AgentEndpointConfig;
import com.azure.ai.agents.models.AgentVersionDetails;
-import com.azure.ai.agents.models.AzureCreateResponseDetails;
-import com.azure.ai.agents.models.AzureCreateResponseOptions;
+import com.azure.ai.agents.models.FixedRatioVersionSelectionRule;
import com.azure.ai.agents.models.PromptAgentDefinition;
+import com.azure.ai.agents.models.ProtocolConfiguration;
+import com.azure.ai.agents.models.ResponsesProtocolConfiguration;
import com.azure.ai.agents.models.SessionLogEvent;
+import com.azure.ai.agents.models.UpdateAgentDetailsOptions;
+import com.azure.ai.agents.models.VersionSelector;
import com.azure.core.util.IterableStream;
import com.azure.identity.AuthenticationUtil;
import com.azure.identity.DefaultAzureCredentialBuilder;
@@ -23,6 +26,8 @@
import com.openai.models.responses.ResponseCreateParams;
import com.openai.services.blocking.ConversationService;
+import java.util.Collections;
+
public final class ReadmeSamples {
public void readmeSamples() {
String endpoint = "my-resource-url";
@@ -31,7 +36,6 @@ public void readmeSamples() {
AgentsClientBuilder builder = new AgentsClientBuilder();
AgentsClient agentsClient = builder.buildAgentsClient();
- ResponsesClient responsesClient = builder.buildResponsesClient();
ConversationService conversationsClient = builder.buildOpenAIClient().conversations();
AgentsAsyncClient agentsAsyncClient = builder.buildAgentsAsyncClient();
@@ -45,6 +49,16 @@ public void readmeSamples() {
AgentVersionDetails agent = agentsClient.createAgentVersion("my-agent", promptAgentDefinition);
// END: com.azure.ai.agents.create_prompt_agent
+ // BEGIN: com.azure.ai.agents.configure_agent_endpoint
+ AgentEndpointConfig endpointConfig = new AgentEndpointConfig()
+ .setVersionSelector(new VersionSelector().setVersionSelectionRules(Collections.singletonList(
+ new FixedRatioVersionSelectionRule(100).setAgentVersion(agent.getVersion()))))
+ .setProtocolConfiguration(new ProtocolConfiguration().setResponses(new ResponsesProtocolConfiguration()));
+
+ agentsClient.updateAgentDetails(agent.getName(),
+ new UpdateAgentDetailsOptions().setAgentEndpoint(endpointConfig));
+ // END: com.azure.ai.agents.configure_agent_endpoint
+
// BEGIN: com.azure.ai.agents.create_conversation
Conversation conversation = conversationsClient.create();
// END: com.azure.ai.agents.create_conversation
@@ -66,12 +80,11 @@ public void readmeSamples() {
// END: com.azure.ai.agents.add_message_to_conversation
// BEGIN: com.azure.ai.agents.create_response
- AgentReference agentReference = new AgentReference(agent.getName()).setVersion(agent.getVersion());
- Response response = responsesClient.createAzureResponse(
- new AzureCreateResponseOptions().setAgentReference(agentReference),
- ResponseCreateParams.builder().conversation(conversation.id()));
- // To extract Azure-specific response details:
- AzureCreateResponseDetails azureResults = ResponsesClient.getAzureFields(response);
+ OpenAIClient agentScopedClient = builder.buildAgentScopedOpenAIClient(agent.getName());
+
+ Response response = agentScopedClient.responses().create(ResponseCreateParams.builder()
+ .conversation(conversation.id())
+ .build());
// END: com.azure.ai.agents.create_response
// BEGIN: com.azure.ai.agents.openai_official_library
diff --git a/sdk/ai/azure-ai-agents/src/samples/java/com/azure/ai/agents/SampleUtils.java b/sdk/ai/azure-ai-agents/src/samples/java/com/azure/ai/agents/SampleUtils.java
index f32f41263004..e36d3a485b4b 100644
--- a/sdk/ai/azure-ai-agents/src/samples/java/com/azure/ai/agents/SampleUtils.java
+++ b/sdk/ai/azure-ai-agents/src/samples/java/com/azure/ai/agents/SampleUtils.java
@@ -3,14 +3,49 @@
package com.azure.ai.agents;
+import com.azure.ai.agents.models.AgentDetails;
+import com.azure.ai.agents.models.AgentEndpointConfig;
+import com.azure.ai.agents.models.AgentVersionDetails;
+import com.azure.ai.agents.models.FixedRatioVersionSelectionRule;
+import com.azure.ai.agents.models.ProtocolConfiguration;
+import com.azure.ai.agents.models.ResponsesProtocolConfiguration;
+import com.azure.ai.agents.models.UpdateAgentDetailsOptions;
+import com.azure.ai.agents.models.VersionSelector;
+import reactor.core.publisher.Mono;
+
import java.net.URISyntaxException;
import java.net.URL;
import java.nio.file.Files;
import java.nio.file.Path;
import java.nio.file.Paths;
+import java.util.Collections;
public class SampleUtils {
+ /**
+ * Pins an agent endpoint to a specific agent version and enables the OpenAI Responses protocol.
+ *
+ * @param agentsClient the agents client
+ * @param versionDetails the agent version to pin
+ * @return the updated agent details
+ */
+ public static AgentDetails pinAgentVersion(AgentsClient agentsClient, AgentVersionDetails versionDetails) {
+ return agentsClient.updateAgentDetails(versionDetails.getName(), createPinnedEndpointOptions(versionDetails));
+ }
+
+ /**
+ * Pins an agent endpoint to a specific agent version and enables the OpenAI Responses protocol.
+ *
+ * @param agentsAsyncClient the asynchronous agents client
+ * @param versionDetails the agent version to pin
+ * @return a publisher containing the updated agent details
+ */
+ public static Mono pinAgentVersion(AgentsAsyncClient agentsAsyncClient,
+ AgentVersionDetails versionDetails) {
+ return agentsAsyncClient.updateAgentDetails(versionDetails.getName(),
+ createPinnedEndpointOptions(versionDetails));
+ }
+
/**
* Gets the path to a file in the sample resource folder.
* @param fileName the name of the file in the sample resource folder
@@ -37,4 +72,13 @@ public static Path getResourcePath(String fileName) {
}
throw new RuntimeException("Sample resource file not found: " + fileName);
}
+
+ private static UpdateAgentDetailsOptions createPinnedEndpointOptions(AgentVersionDetails versionDetails) {
+ AgentEndpointConfig endpointConfig = new AgentEndpointConfig()
+ .setVersionSelector(new VersionSelector().setVersionSelectionRules(Collections.singletonList(
+ new FixedRatioVersionSelectionRule(100).setAgentVersion(versionDetails.getVersion()))))
+ .setProtocolConfiguration(new ProtocolConfiguration().setResponses(new ResponsesProtocolConfiguration()));
+
+ return new UpdateAgentDetailsOptions().setAgentEndpoint(endpointConfig);
+ }
}
diff --git a/sdk/ai/azure-ai-agents/src/samples/java/com/azure/ai/agents/optimization/AgentOptimizationAsyncSample.java b/sdk/ai/azure-ai-agents/src/samples/java/com/azure/ai/agents/optimization/AgentOptimizationAsyncSample.java
index 651facd4c700..d8e24b739da9 100644
--- a/sdk/ai/azure-ai-agents/src/samples/java/com/azure/ai/agents/optimization/AgentOptimizationAsyncSample.java
+++ b/sdk/ai/azure-ai-agents/src/samples/java/com/azure/ai/agents/optimization/AgentOptimizationAsyncSample.java
@@ -5,7 +5,7 @@
import com.azure.ai.agents.AgentsClientBuilder;
import com.azure.ai.agents.BetaAgentsAsyncClient;
-import com.azure.ai.agents.models.AgentOptimizationEvaluatorRef;
+import com.azure.ai.agents.models.AgentOptimizationEvaluatorReference;
import com.azure.ai.agents.models.AgentOptimizationJob;
import com.azure.ai.agents.models.AgentOptimizationJobInputs;
import com.azure.ai.agents.models.AgentOptimizationJobResult;
@@ -77,7 +77,7 @@ public static void main(String[] args) {
private static AgentOptimizationJob createOptimizationJob(Configuration configuration) {
String evaluatorVersion = configuration.get("EVALUATOR_VERSION");
- AgentOptimizationEvaluatorRef evaluator = new AgentOptimizationEvaluatorRef(
+ AgentOptimizationEvaluatorReference evaluator = new AgentOptimizationEvaluatorReference(
configuration.get("EVALUATOR_NAME", "task_adherence"));
if (evaluatorVersion != null) {
evaluator.setVersion(evaluatorVersion);
diff --git a/sdk/ai/azure-ai-agents/src/samples/java/com/azure/ai/agents/optimization/AgentOptimizationSample.java b/sdk/ai/azure-ai-agents/src/samples/java/com/azure/ai/agents/optimization/AgentOptimizationSample.java
index 45c5141b4c57..8c2bc6b1f63a 100644
--- a/sdk/ai/azure-ai-agents/src/samples/java/com/azure/ai/agents/optimization/AgentOptimizationSample.java
+++ b/sdk/ai/azure-ai-agents/src/samples/java/com/azure/ai/agents/optimization/AgentOptimizationSample.java
@@ -6,7 +6,7 @@
import com.azure.ai.agents.AgentsClientBuilder;
import com.azure.ai.agents.BetaAgentsClient;
import com.azure.ai.agents.models.AgentOptimizationCandidate;
-import com.azure.ai.agents.models.AgentOptimizationEvaluatorRef;
+import com.azure.ai.agents.models.AgentOptimizationEvaluatorReference;
import com.azure.ai.agents.models.AgentOptimizationJob;
import com.azure.ai.agents.models.AgentOptimizationJobInputs;
import com.azure.ai.agents.models.AgentOptimizationJobResult;
@@ -82,7 +82,7 @@ public static void main(String[] args) {
private static AgentOptimizationJob createOptimizationJob(Configuration configuration) {
String evaluatorVersion = configuration.get("EVALUATOR_VERSION");
- AgentOptimizationEvaluatorRef evaluator = new AgentOptimizationEvaluatorRef(
+ AgentOptimizationEvaluatorReference evaluator = new AgentOptimizationEvaluatorReference(
configuration.get("EVALUATOR_NAME", "task_adherence"));
if (evaluatorVersion != null) {
evaluator.setVersion(evaluatorVersion);
diff --git a/sdk/ai/azure-ai-agents/src/samples/java/com/azure/ai/agents/streaming/CodeInterpreterStreamingSync.java b/sdk/ai/azure-ai-agents/src/samples/java/com/azure/ai/agents/streaming/CodeInterpreterStreamingSync.java
index b64d548bb303..4c4c3df5ca9d 100644
--- a/sdk/ai/azure-ai-agents/src/samples/java/com/azure/ai/agents/streaming/CodeInterpreterStreamingSync.java
+++ b/sdk/ai/azure-ai-agents/src/samples/java/com/azure/ai/agents/streaming/CodeInterpreterStreamingSync.java
@@ -5,15 +5,14 @@
import com.azure.ai.agents.AgentsClient;
import com.azure.ai.agents.AgentsClientBuilder;
-import com.azure.ai.agents.ResponsesClient;
-import com.azure.ai.agents.models.AgentReference;
-import com.azure.ai.agents.models.AzureCreateResponseOptions;
+import com.azure.ai.agents.SampleUtils;
import com.azure.ai.agents.models.AgentVersionDetails;
import com.azure.ai.agents.models.CodeInterpreterTool;
import com.azure.ai.agents.models.PromptAgentDefinition;
import com.azure.core.util.Configuration;
-import com.azure.core.util.IterableStream;
import com.azure.identity.DefaultAzureCredentialBuilder;
+import com.openai.client.OpenAIClient;
+import com.openai.core.http.StreamResponse;
import com.openai.helpers.ResponseAccumulator;
import com.openai.models.responses.Response;
import com.openai.models.responses.ResponseCreateParams;
@@ -42,7 +41,6 @@ public static void main(String[] args) {
.endpoint(endpoint);
AgentsClient agentsClient = builder.buildAgentsClient();
- ResponsesClient responsesClient = builder.buildResponsesClient();
AgentVersionDetails agent = null;
@@ -59,32 +57,32 @@ public static void main(String[] args) {
agent = agentsClient.createAgentVersion("code-interpreter-streaming-agent", agentDefinition);
System.out.printf("Agent created: %s (version %s)%n", agent.getName(), agent.getVersion());
- AgentReference agentReference = new AgentReference(agent.getName())
- .setVersion(agent.getVersion());
+ SampleUtils.pinAgentVersion(agentsClient, agent);
+ OpenAIClient openAIClient = builder.buildAgentScopedOpenAIClient(agent.getName());
// BEGIN: com.azure.ai.agents.streaming.code_interpreter_sync
// Stream response with Code Interpreter - observe code execution events as they arrive
ResponseAccumulator responseAccumulator = ResponseAccumulator.create();
- IterableStream events =
- responsesClient.createStreamingAzureResponse(
- new AzureCreateResponseOptions().setAgentReference(agentReference),
+ try (StreamResponse events = openAIClient.responses().createStreaming(
ResponseCreateParams.builder()
- .input("Calculate the first 10 prime numbers using Python."));
-
- for (ResponseStreamEvent event : events) {
- responseAccumulator.accumulate(event);
- // Print text deltas as they stream in
- event.outputTextDelta().ifPresent(textEvent ->
- System.out.print(textEvent.delta()));
-
- // Observe code interpreter progress events
- event.codeInterpreterCallInProgress().ifPresent(e ->
- System.out.println("\n[Code interpreter running...]"));
- event.codeInterpreterCallCodeDelta().ifPresent(e ->
- System.out.print(e.delta()));
- event.codeInterpreterCallCompleted().ifPresent(e ->
- System.out.println("\n[Code interpreter completed]"));
+ .input("Calculate the first 10 prime numbers using Python.")
+ .build())) {
+
+ events.stream().forEach(event -> {
+ responseAccumulator.accumulate(event);
+ // Print text deltas as they stream in
+ event.outputTextDelta().ifPresent(textEvent ->
+ System.out.print(textEvent.delta()));
+
+ // Observe code interpreter progress events
+ event.codeInterpreterCallInProgress().ifPresent(e ->
+ System.out.println("\n[Code interpreter running...]"));
+ event.codeInterpreterCallCodeDelta().ifPresent(e ->
+ System.out.print(e.delta()));
+ event.codeInterpreterCallCompleted().ifPresent(e ->
+ System.out.println("\n[Code interpreter completed]"));
+ });
}
System.out.println();
diff --git a/sdk/ai/azure-ai-agents/src/samples/java/com/azure/ai/agents/streaming/FunctionCallStreamingSync.java b/sdk/ai/azure-ai-agents/src/samples/java/com/azure/ai/agents/streaming/FunctionCallStreamingSync.java
index 9912a8aac1b6..1b90d311e1ca 100644
--- a/sdk/ai/azure-ai-agents/src/samples/java/com/azure/ai/agents/streaming/FunctionCallStreamingSync.java
+++ b/sdk/ai/azure-ai-agents/src/samples/java/com/azure/ai/agents/streaming/FunctionCallStreamingSync.java
@@ -5,16 +5,15 @@
import com.azure.ai.agents.AgentsClient;
import com.azure.ai.agents.AgentsClientBuilder;
-import com.azure.ai.agents.ResponsesClient;
-import com.azure.ai.agents.models.AgentReference;
-import com.azure.ai.agents.models.AzureCreateResponseOptions;
+import com.azure.ai.agents.SampleUtils;
import com.azure.ai.agents.models.AgentVersionDetails;
import com.azure.ai.agents.models.FunctionTool;
import com.azure.ai.agents.models.PromptAgentDefinition;
import com.azure.core.util.BinaryData;
import com.azure.core.util.Configuration;
-import com.azure.core.util.IterableStream;
import com.azure.identity.DefaultAzureCredentialBuilder;
+import com.openai.client.OpenAIClient;
+import com.openai.core.http.StreamResponse;
import com.openai.helpers.ResponseAccumulator;
import com.openai.models.responses.Response;
import com.openai.models.responses.ResponseCreateParams;
@@ -48,7 +47,6 @@ public static void main(String[] args) {
.endpoint(endpoint);
AgentsClient agentsClient = builder.buildAgentsClient();
- ResponsesClient responsesClient = builder.buildResponsesClient();
AgentVersionDetails agent = null;
@@ -84,27 +82,27 @@ public static void main(String[] args) {
agent = agentsClient.createAgentVersion("function-streaming-agent", agentDefinition);
System.out.printf("Agent created: %s (version %s)%n", agent.getName(), agent.getVersion());
- AgentReference agentReference = new AgentReference(agent.getName())
- .setVersion(agent.getVersion());
+ SampleUtils.pinAgentVersion(agentsClient, agent);
+ OpenAIClient openAIClient = builder.buildAgentScopedOpenAIClient(agent.getName());
// BEGIN: com.azure.ai.agents.streaming.function_call_sync
// Stream response with function tool - observe function call arguments and text as they arrive
ResponseAccumulator responseAccumulator = ResponseAccumulator.create();
- IterableStream events =
- responsesClient.createStreamingAzureResponse(
- new AzureCreateResponseOptions().setAgentReference(agentReference),
+ try (StreamResponse events = openAIClient.responses().createStreaming(
ResponseCreateParams.builder()
- .input("What's the weather like in Seattle?"));
-
- for (ResponseStreamEvent event : events) {
- responseAccumulator.accumulate(event);
- // Print text deltas as they stream in
- event.outputTextDelta().ifPresent(textEvent ->
- System.out.print(textEvent.delta()));
- // Print function call argument deltas as they stream in
- event.functionCallArgumentsDelta().ifPresent(argEvent ->
- System.out.print(argEvent.delta()));
+ .input("What's the weather like in Seattle?")
+ .build())) {
+
+ events.stream().forEach(event -> {
+ responseAccumulator.accumulate(event);
+ // Print text deltas as they stream in
+ event.outputTextDelta().ifPresent(textEvent ->
+ System.out.print(textEvent.delta()));
+ // Print function call argument deltas as they stream in
+ event.functionCallArgumentsDelta().ifPresent(argEvent ->
+ System.out.print(argEvent.delta()));
+ });
}
System.out.println();
diff --git a/sdk/ai/azure-ai-agents/src/samples/java/com/azure/ai/agents/streaming/SimpleStreamingAsync.java b/sdk/ai/azure-ai-agents/src/samples/java/com/azure/ai/agents/streaming/SimpleStreamingAsync.java
index 6748c0d1a539..2f8c8982308f 100644
--- a/sdk/ai/azure-ai-agents/src/samples/java/com/azure/ai/agents/streaming/SimpleStreamingAsync.java
+++ b/sdk/ai/azure-ai-agents/src/samples/java/com/azure/ai/agents/streaming/SimpleStreamingAsync.java
@@ -5,16 +5,17 @@
import com.azure.ai.agents.AgentsAsyncClient;
import com.azure.ai.agents.AgentsClientBuilder;
-import com.azure.ai.agents.ResponsesAsyncClient;
-import com.azure.ai.agents.models.AgentReference;
-import com.azure.ai.agents.models.AzureCreateResponseOptions;
+import com.azure.ai.agents.SampleUtils;
import com.azure.ai.agents.models.AgentVersionDetails;
import com.azure.ai.agents.models.PromptAgentDefinition;
import com.azure.core.util.Configuration;
import com.azure.identity.DefaultAzureCredentialBuilder;
+import com.openai.client.OpenAIClientAsync;
+import com.openai.core.http.AsyncStreamResponse;
import com.openai.helpers.ResponseAccumulator;
import com.openai.models.responses.Response;
import com.openai.models.responses.ResponseCreateParams;
+import com.openai.models.responses.ResponseStreamEvent;
import reactor.core.publisher.Mono;
import java.util.concurrent.atomic.AtomicReference;
@@ -39,7 +40,6 @@ public static void main(String[] args) {
.endpoint(endpoint);
AgentsAsyncClient agentsAsyncClient = builder.buildAgentsAsyncClient();
- ResponsesAsyncClient responsesAsyncClient = builder.buildResponsesAsyncClient();
AtomicReference agentRef = new AtomicReference<>();
@@ -52,32 +52,34 @@ public static void main(String[] args) {
agentRef.set(agent);
System.out.printf("Agent created: %s (version %s)%n", agent.getName(), agent.getVersion());
- AgentReference agentReference = new AgentReference(agent.getName())
- .setVersion(agent.getVersion());
+ OpenAIClientAsync openAIAsyncClient = builder.buildAgentScopedOpenAIAsyncClient(agent.getName());
// BEGIN: com.azure.ai.agents.streaming.simple_async
- // Use ResponseAccumulator to collect streamed events into a final Response
- ResponseAccumulator responseAccumulator = ResponseAccumulator.create();
-
- // Stream response asynchronously - text is printed as each chunk arrives
- return responsesAsyncClient.createStreamingAzureResponse(
- new AzureCreateResponseOptions().setAgentReference(agentReference),
+ // OpenAI streaming events arrive through callbacks. This Mono only tracks terminal completion.
+ Mono streamingCompletion = Mono.defer(() -> {
+ ResponseAccumulator responseAccumulator = ResponseAccumulator.create();
+ AsyncStreamResponse stream = openAIAsyncClient.responses().createStreaming(
ResponseCreateParams.builder()
- .input("Tell me a short story about a brave explorer."))
- .doOnNext(event -> {
- responseAccumulator.accumulate(event);
- event.outputTextDelta()
- .ifPresent(textEvent -> System.out.print(textEvent.delta()));
- })
- .then(Mono.fromCallable(() -> {
- System.out.println(); // newline after streamed text
+ .input("Tell me a short story about a brave explorer.")
+ .build());
+
+ stream.subscribe(event -> responseAccumulator.accumulate(event)
+ .outputTextDelta()
+ .ifPresent(textEvent -> System.out.print(textEvent.delta())));
+
+ return Mono.fromFuture(stream.onCompleteFuture())
+ .doOnSuccess(unused -> {
+ System.out.println(); // newline after streamed text
+
+ // Access the complete accumulated response
+ Response response = responseAccumulator.response();
+ System.out.println("\nResponse ID: " + response.id());
+ })
+ .doFinally(signal -> stream.close());
+ });
+ // END: com.azure.ai.agents.streaming.simple_async
- // Access the complete accumulated response
- Response response = responseAccumulator.response();
- System.out.println("\nResponse ID: " + response.id());
- // END: com.azure.ai.agents.streaming.simple_async
- return response;
- }));
+ return SampleUtils.pinAgentVersion(agentsAsyncClient, agent).then(streamingCompletion);
})
.then(Mono.defer(() -> {
AgentVersionDetails agent = agentRef.get();
diff --git a/sdk/ai/azure-ai-agents/src/samples/java/com/azure/ai/agents/streaming/SimpleStreamingSync.java b/sdk/ai/azure-ai-agents/src/samples/java/com/azure/ai/agents/streaming/SimpleStreamingSync.java
index 053df3c69070..1f996a820b76 100644
--- a/sdk/ai/azure-ai-agents/src/samples/java/com/azure/ai/agents/streaming/SimpleStreamingSync.java
+++ b/sdk/ai/azure-ai-agents/src/samples/java/com/azure/ai/agents/streaming/SimpleStreamingSync.java
@@ -5,14 +5,13 @@
import com.azure.ai.agents.AgentsClient;
import com.azure.ai.agents.AgentsClientBuilder;
-import com.azure.ai.agents.ResponsesClient;
-import com.azure.ai.agents.models.AgentReference;
-import com.azure.ai.agents.models.AzureCreateResponseOptions;
+import com.azure.ai.agents.SampleUtils;
import com.azure.ai.agents.models.AgentVersionDetails;
import com.azure.ai.agents.models.PromptAgentDefinition;
import com.azure.core.util.Configuration;
-import com.azure.core.util.IterableStream;
import com.azure.identity.DefaultAzureCredentialBuilder;
+import com.openai.client.OpenAIClient;
+import com.openai.core.http.StreamResponse;
import com.openai.helpers.ResponseAccumulator;
import com.openai.models.responses.Response;
import com.openai.models.responses.ResponseCreateParams;
@@ -38,7 +37,6 @@ public static void main(String[] args) {
.endpoint(endpoint);
AgentsClient agentsClient = builder.buildAgentsClient();
- ResponsesClient responsesClient = builder.buildResponsesClient();
AgentVersionDetails agent = null;
@@ -50,24 +48,24 @@ public static void main(String[] args) {
agent = agentsClient.createAgentVersion("streaming-agent", agentDefinition);
System.out.printf("Agent created: %s (version %s)%n", agent.getName(), agent.getVersion());
- AgentReference agentReference = new AgentReference(agent.getName())
- .setVersion(agent.getVersion());
+ SampleUtils.pinAgentVersion(agentsClient, agent);
+ OpenAIClient openAIClient = builder.buildAgentScopedOpenAIClient(agent.getName());
// BEGIN: com.azure.ai.agents.streaming.simple_sync
// Use ResponseAccumulator to collect streamed events into a final Response
ResponseAccumulator responseAccumulator = ResponseAccumulator.create();
// Stream response - text is printed as it arrives
- IterableStream events =
- responsesClient.createStreamingAzureResponse(
- new AzureCreateResponseOptions().setAgentReference(agentReference),
+ try (StreamResponse events = openAIClient.responses().createStreaming(
ResponseCreateParams.builder()
- .input("Tell me a short story about a brave explorer."));
+ .input("Tell me a short story about a brave explorer.")
+ .build())) {
- for (ResponseStreamEvent event : events) {
- responseAccumulator.accumulate(event);
- event.outputTextDelta()
- .ifPresent(textEvent -> System.out.print(textEvent.delta()));
+ events.stream().forEach(event -> {
+ responseAccumulator.accumulate(event);
+ event.outputTextDelta()
+ .ifPresent(textEvent -> System.out.print(textEvent.delta()));
+ });
}
System.out.println(); // newline after streamed text
diff --git a/sdk/ai/azure-ai-agents/src/samples/java/com/azure/ai/agents/tools/AgentToAgentAsync.java b/sdk/ai/azure-ai-agents/src/samples/java/com/azure/ai/agents/tools/AgentToAgentAsync.java
index 3bc983de53fd..fdc6b54a3ae2 100644
--- a/sdk/ai/azure-ai-agents/src/samples/java/com/azure/ai/agents/tools/AgentToAgentAsync.java
+++ b/sdk/ai/azure-ai-agents/src/samples/java/com/azure/ai/agents/tools/AgentToAgentAsync.java
@@ -5,15 +5,14 @@
import com.azure.ai.agents.AgentsAsyncClient;
import com.azure.ai.agents.AgentsClientBuilder;
-import com.azure.ai.agents.ResponsesAsyncClient;
+import com.azure.ai.agents.SampleUtils;
import com.azure.ai.agents.models.A2AProtocolVersion;
import com.azure.ai.agents.models.A2ATool;
-import com.azure.ai.agents.models.AgentReference;
-import com.azure.ai.agents.models.AzureCreateResponseOptions;
import com.azure.ai.agents.models.AgentVersionDetails;
import com.azure.ai.agents.models.PromptAgentDefinition;
import com.azure.core.util.Configuration;
import com.azure.identity.DefaultAzureCredentialBuilder;
+import com.openai.client.OpenAIClientAsync;
import com.openai.models.responses.ResponseCreateParams;
import java.time.Duration;
import java.util.Collections;
@@ -35,6 +34,7 @@ public class AgentToAgentAsync {
public static void main(String[] args) {
String endpoint = Configuration.getGlobalConfiguration().get("FOUNDRY_PROJECT_ENDPOINT");
String model = Configuration.getGlobalConfiguration().get("FOUNDRY_MODEL_NAME");
+ String agentName = "a2a-agent";
String a2aConnectionId = Configuration.getGlobalConfiguration().get("A2A_PROJECT_CONNECTION_ID");
AgentsClientBuilder builder = new AgentsClientBuilder()
@@ -42,7 +42,7 @@ public static void main(String[] args) {
.endpoint(endpoint);
AgentsAsyncClient agentsAsyncClient = builder.buildAgentsAsyncClient();
- ResponsesAsyncClient responsesAsyncClient = builder.buildResponsesAsyncClient();
+ OpenAIClientAsync openAIAsyncClient = builder.buildAgentScopedOpenAIAsyncClient(agentName);
AtomicReference agentRef = new AtomicReference<>();
@@ -54,18 +54,16 @@ public static void main(String[] args) {
.setInstructions("You are a coordinator agent that can communicate with other agents.")
.setTools(Collections.singletonList(a2aTool));
- agentsAsyncClient.createAgentVersion("a2a-agent", agentDefinition)
+ agentsAsyncClient.createAgentVersion(agentName, agentDefinition)
.flatMap(agent -> {
agentRef.set(agent);
System.out.printf("Agent created: %s (version %s)%n", agent.getName(), agent.getVersion());
- AgentReference agentReference = new AgentReference(agent.getName())
- .setVersion(agent.getVersion());
-
- return responsesAsyncClient.createAzureResponse(
- new AzureCreateResponseOptions().setAgentReference(agentReference),
- ResponseCreateParams.builder()
- .input("What can the secondary agent do?"));
+ return SampleUtils.pinAgentVersion(agentsAsyncClient, agent)
+ .then(Mono.fromFuture(() -> openAIAsyncClient.responses().create(
+ ResponseCreateParams.builder()
+ .input("What can the secondary agent do?")
+ .build())));
})
.doOnNext(response -> {
System.out.println("Response: " + response.output());
diff --git a/sdk/ai/azure-ai-agents/src/samples/java/com/azure/ai/agents/tools/AgentToAgentSync.java b/sdk/ai/azure-ai-agents/src/samples/java/com/azure/ai/agents/tools/AgentToAgentSync.java
index 35a1e34f7be9..855145e3d6c1 100644
--- a/sdk/ai/azure-ai-agents/src/samples/java/com/azure/ai/agents/tools/AgentToAgentSync.java
+++ b/sdk/ai/azure-ai-agents/src/samples/java/com/azure/ai/agents/tools/AgentToAgentSync.java
@@ -5,15 +5,14 @@
import com.azure.ai.agents.AgentsClient;
import com.azure.ai.agents.AgentsClientBuilder;
-import com.azure.ai.agents.ResponsesClient;
+import com.azure.ai.agents.SampleUtils;
import com.azure.ai.agents.models.A2AProtocolVersion;
import com.azure.ai.agents.models.A2ATool;
-import com.azure.ai.agents.models.AgentReference;
-import com.azure.ai.agents.models.AzureCreateResponseOptions;
import com.azure.ai.agents.models.AgentVersionDetails;
import com.azure.ai.agents.models.PromptAgentDefinition;
import com.azure.core.util.Configuration;
import com.azure.identity.DefaultAzureCredentialBuilder;
+import com.openai.client.OpenAIClient;
import com.openai.models.responses.Response;
import com.openai.models.responses.ResponseCreateParams;
@@ -41,7 +40,6 @@ public static void main(String[] args) {
.endpoint(endpoint);
AgentsClient agentsClient = builder.buildAgentsClient();
- ResponsesClient responsesClient = builder.buildResponsesClient();
// BEGIN: com.azure.ai.agents.define_agent_to_agent
// Create agent-to-agent tool with A2A protocol version and connection ID
@@ -59,13 +57,13 @@ public static void main(String[] args) {
try {
// Create a response
- AgentReference agentReference = new AgentReference(agent.getName())
- .setVersion(agent.getVersion());
+ SampleUtils.pinAgentVersion(agentsClient, agent);
+ OpenAIClient openAIClient = builder.buildAgentScopedOpenAIClient(agent.getName());
- Response response = responsesClient.createAzureResponse(
- new AzureCreateResponseOptions().setAgentReference(agentReference),
+ Response response = openAIClient.responses().create(
ResponseCreateParams.builder()
- .input("What can the secondary agent do?"));
+ .input("What can the secondary agent do?")
+ .build());
System.out.println("Response: " + response.output());
} finally {
diff --git a/sdk/ai/azure-ai-agents/src/samples/java/com/azure/ai/agents/tools/AzureAISearchAsync.java b/sdk/ai/azure-ai-agents/src/samples/java/com/azure/ai/agents/tools/AzureAISearchAsync.java
index d96b5a34e192..164f50c0b2c1 100644
--- a/sdk/ai/azure-ai-agents/src/samples/java/com/azure/ai/agents/tools/AzureAISearchAsync.java
+++ b/sdk/ai/azure-ai-agents/src/samples/java/com/azure/ai/agents/tools/AzureAISearchAsync.java
@@ -5,10 +5,8 @@
import com.azure.ai.agents.AgentsAsyncClient;
import com.azure.ai.agents.AgentsClientBuilder;
-import com.azure.ai.agents.ResponsesAsyncClient;
+import com.azure.ai.agents.SampleUtils;
import com.azure.ai.agents.models.AISearchIndexResource;
-import com.azure.ai.agents.models.AgentReference;
-import com.azure.ai.agents.models.AzureCreateResponseOptions;
import com.azure.ai.agents.models.AgentVersionDetails;
import com.azure.ai.agents.models.AzureAISearchQueryType;
import com.azure.ai.agents.models.AzureAISearchTool;
@@ -16,6 +14,7 @@
import com.azure.ai.agents.models.PromptAgentDefinition;
import com.azure.core.util.Configuration;
import com.azure.identity.DefaultAzureCredentialBuilder;
+import com.openai.client.OpenAIClientAsync;
import com.openai.models.responses.ResponseCreateParams;
import java.time.Duration;
import java.util.Arrays;
@@ -39,6 +38,7 @@ public class AzureAISearchAsync {
public static void main(String[] args) {
String endpoint = Configuration.getGlobalConfiguration().get("FOUNDRY_PROJECT_ENDPOINT");
String model = Configuration.getGlobalConfiguration().get("FOUNDRY_MODEL_NAME");
+ String agentName = "ai-search-agent";
String connectionId = Configuration.getGlobalConfiguration().get("AZURE_AI_SEARCH_CONNECTION_ID");
String indexName = Configuration.getGlobalConfiguration().get("AI_SEARCH_INDEX_NAME");
@@ -47,7 +47,7 @@ public static void main(String[] args) {
.endpoint(endpoint);
AgentsAsyncClient agentsAsyncClient = builder.buildAgentsAsyncClient();
- ResponsesAsyncClient responsesAsyncClient = builder.buildResponsesAsyncClient();
+ OpenAIClientAsync openAIAsyncClient = builder.buildAgentScopedOpenAIAsyncClient(agentName);
AtomicReference agentRef = new AtomicReference<>();
@@ -66,18 +66,16 @@ public static void main(String[] args) {
+ "Always provide citations for answers using the tool.")
.setTools(Collections.singletonList(aiSearchTool));
- agentsAsyncClient.createAgentVersion("ai-search-agent", agentDefinition)
+ agentsAsyncClient.createAgentVersion(agentName, agentDefinition)
.flatMap(agent -> {
agentRef.set(agent);
System.out.printf("Agent created: %s (version %s)%n", agent.getName(), agent.getVersion());
- AgentReference agentReference = new AgentReference(agent.getName())
- .setVersion(agent.getVersion());
-
- return responsesAsyncClient.createAzureResponse(
- new AzureCreateResponseOptions().setAgentReference(agentReference),
- ResponseCreateParams.builder()
- .input("Search for information about Azure AI services"));
+ return SampleUtils.pinAgentVersion(agentsAsyncClient, agent)
+ .then(Mono.fromFuture(() -> openAIAsyncClient.responses().create(
+ ResponseCreateParams.builder()
+ .input("Search for information about Azure AI services")
+ .build())));
})
.doOnNext(response -> {
System.out.println("Response: " + response.output());
diff --git a/sdk/ai/azure-ai-agents/src/samples/java/com/azure/ai/agents/tools/AzureAISearchSync.java b/sdk/ai/azure-ai-agents/src/samples/java/com/azure/ai/agents/tools/AzureAISearchSync.java
index 6e0190bb9527..a2ade1bb0b03 100644
--- a/sdk/ai/azure-ai-agents/src/samples/java/com/azure/ai/agents/tools/AzureAISearchSync.java
+++ b/sdk/ai/azure-ai-agents/src/samples/java/com/azure/ai/agents/tools/AzureAISearchSync.java
@@ -5,9 +5,7 @@
import com.azure.ai.agents.AgentsClient;
import com.azure.ai.agents.AgentsClientBuilder;
-import com.azure.ai.agents.ResponsesClient;
-import com.azure.ai.agents.models.AgentReference;
-import com.azure.ai.agents.models.AzureCreateResponseOptions;
+import com.azure.ai.agents.SampleUtils;
import com.azure.ai.agents.models.AgentVersionDetails;
import com.azure.ai.agents.models.AISearchIndexResource;
import com.azure.ai.agents.models.AzureAISearchQueryType;
@@ -16,6 +14,7 @@
import com.azure.ai.agents.models.PromptAgentDefinition;
import com.azure.core.util.Configuration;
import com.azure.identity.DefaultAzureCredentialBuilder;
+import com.openai.client.OpenAIClient;
import com.openai.models.responses.Response;
import com.openai.models.responses.ResponseCreateParams;
@@ -46,7 +45,6 @@ public static void main(String[] args) {
.endpoint(endpoint);
AgentsClient agentsClient = builder.buildAgentsClient();
- ResponsesClient responsesClient = builder.buildResponsesClient();
// BEGIN: com.azure.ai.agents.define_azure_ai_search
// Create Azure AI Search tool with index configuration
@@ -71,13 +69,13 @@ public static void main(String[] args) {
try {
// Create a response
- AgentReference agentReference = new AgentReference(agent.getName())
- .setVersion(agent.getVersion());
+ SampleUtils.pinAgentVersion(agentsClient, agent);
+ OpenAIClient openAIClient = builder.buildAgentScopedOpenAIClient(agent.getName());
- Response response = responsesClient.createAzureResponse(
- new AzureCreateResponseOptions().setAgentReference(agentReference),
+ Response response = openAIClient.responses().create(
ResponseCreateParams.builder()
- .input("Search for information about Azure AI services"));
+ .input("Search for information about Azure AI services")
+ .build());
System.out.println("Response: " + response.output());
} finally {
diff --git a/sdk/ai/azure-ai-agents/src/samples/java/com/azure/ai/agents/tools/AzureFunctionAsync.java b/sdk/ai/azure-ai-agents/src/samples/java/com/azure/ai/agents/tools/AzureFunctionAsync.java
index d70d71ccaff8..3ee685afce2a 100644
--- a/sdk/ai/azure-ai-agents/src/samples/java/com/azure/ai/agents/tools/AzureFunctionAsync.java
+++ b/sdk/ai/azure-ai-agents/src/samples/java/com/azure/ai/agents/tools/AzureFunctionAsync.java
@@ -5,9 +5,7 @@
import com.azure.ai.agents.AgentsAsyncClient;
import com.azure.ai.agents.AgentsClientBuilder;
-import com.azure.ai.agents.ResponsesAsyncClient;
-import com.azure.ai.agents.models.AgentReference;
-import com.azure.ai.agents.models.AzureCreateResponseOptions;
+import com.azure.ai.agents.SampleUtils;
import com.azure.ai.agents.models.AgentVersionDetails;
import com.azure.ai.agents.models.AzureFunctionBinding;
import com.azure.ai.agents.models.AzureFunctionDefinition;
@@ -18,6 +16,7 @@
import com.azure.core.util.BinaryData;
import com.azure.core.util.Configuration;
import com.azure.identity.DefaultAzureCredentialBuilder;
+import com.openai.client.OpenAIClientAsync;
import com.openai.models.responses.ResponseCreateParams;
import com.openai.models.responses.ToolChoiceOptions;
import reactor.core.publisher.Mono;
@@ -46,6 +45,7 @@ public class AzureFunctionAsync {
public static void main(String[] args) {
String endpoint = Configuration.getGlobalConfiguration().get("FOUNDRY_PROJECT_ENDPOINT");
String model = Configuration.getGlobalConfiguration().get("FOUNDRY_MODEL_NAME");
+ String agentName = "azure-function-agent";
String inputQueueName = Configuration.getGlobalConfiguration().get("STORAGE_INPUT_QUEUE_NAME");
String outputQueueName = Configuration.getGlobalConfiguration().get("STORAGE_OUTPUT_QUEUE_NAME");
String queueServiceEndpoint = Configuration.getGlobalConfiguration().get("STORAGE_QUEUE_SERVICE_ENDPOINT");
@@ -55,7 +55,7 @@ public static void main(String[] args) {
.endpoint(endpoint);
AgentsAsyncClient agentsAsyncClient = builder.buildAgentsAsyncClient();
- ResponsesAsyncClient responsesAsyncClient = builder.buildResponsesAsyncClient();
+ OpenAIClientAsync openAIAsyncClient = builder.buildAgentScopedOpenAIAsyncClient(agentName);
AtomicReference agentRef = new AtomicReference<>();
@@ -85,19 +85,17 @@ public static void main(String[] args) {
.setInstructions("You are a helpful assistant.")
.setTools(Collections.singletonList(azureFunctionTool));
- agentsAsyncClient.createAgentVersion("azure-function-agent", agentDefinition)
+ agentsAsyncClient.createAgentVersion(agentName, agentDefinition)
.flatMap(agent -> {
agentRef.set(agent);
System.out.printf("Agent created: %s (version %s)%n", agent.getName(), agent.getVersion());
- AgentReference agentReference = new AgentReference(agent.getName())
- .setVersion(agent.getVersion());
-
- return responsesAsyncClient.createAzureResponse(
- new AzureCreateResponseOptions().setAgentReference(agentReference),
- ResponseCreateParams.builder()
- .toolChoice(ToolChoiceOptions.REQUIRED)
- .input("What is the weather in Seattle?"));
+ return SampleUtils.pinAgentVersion(agentsAsyncClient, agent)
+ .then(Mono.fromFuture(() -> openAIAsyncClient.responses().create(
+ ResponseCreateParams.builder()
+ .toolChoice(ToolChoiceOptions.REQUIRED)
+ .input("What is the weather in Seattle?")
+ .build())));
})
.doOnNext(response -> {
System.out.println("Response: " + response.output());
diff --git a/sdk/ai/azure-ai-agents/src/samples/java/com/azure/ai/agents/tools/AzureFunctionSync.java b/sdk/ai/azure-ai-agents/src/samples/java/com/azure/ai/agents/tools/AzureFunctionSync.java
index 9fb27334bf6e..8f194cdc09d8 100644
--- a/sdk/ai/azure-ai-agents/src/samples/java/com/azure/ai/agents/tools/AzureFunctionSync.java
+++ b/sdk/ai/azure-ai-agents/src/samples/java/com/azure/ai/agents/tools/AzureFunctionSync.java
@@ -5,9 +5,7 @@
import com.azure.ai.agents.AgentsClient;
import com.azure.ai.agents.AgentsClientBuilder;
-import com.azure.ai.agents.ResponsesClient;
-import com.azure.ai.agents.models.AgentReference;
-import com.azure.ai.agents.models.AzureCreateResponseOptions;
+import com.azure.ai.agents.SampleUtils;
import com.azure.ai.agents.models.AgentVersionDetails;
import com.azure.ai.agents.models.AzureFunctionBinding;
import com.azure.ai.agents.models.AzureFunctionDefinition;
@@ -18,6 +16,7 @@
import com.azure.core.util.BinaryData;
import com.azure.core.util.Configuration;
import com.azure.identity.DefaultAzureCredentialBuilder;
+import com.openai.client.OpenAIClient;
import com.openai.models.responses.Response;
import com.openai.models.responses.ResponseCreateParams;
import com.openai.models.responses.ToolChoiceOptions;
@@ -53,7 +52,6 @@ public static void main(String[] args) {
.endpoint(endpoint);
AgentsClient agentsClient = builder.buildAgentsClient();
- ResponsesClient responsesClient = builder.buildResponsesClient();
// Define function parameters
// Use BinaryData.fromObject() to produce correct JSON types
@@ -91,14 +89,14 @@ public static void main(String[] args) {
System.out.printf("Agent created: %s (version %s)%n", agent.getName(), agent.getVersion());
try {
- AgentReference agentReference = new AgentReference(agent.getName())
- .setVersion(agent.getVersion());
+ SampleUtils.pinAgentVersion(agentsClient, agent);
+ OpenAIClient openAIClient = builder.buildAgentScopedOpenAIClient(agent.getName());
- Response response = responsesClient.createAzureResponse(
- new AzureCreateResponseOptions().setAgentReference(agentReference),
+ Response response = openAIClient.responses().create(
ResponseCreateParams.builder()
.toolChoice(ToolChoiceOptions.REQUIRED)
- .input("What is the weather in Seattle?"));
+ .input("What is the weather in Seattle?")
+ .build());
System.out.println("Response: " + response.output());
} finally {
diff --git a/sdk/ai/azure-ai-agents/src/samples/java/com/azure/ai/agents/tools/BingCustomSearchAsync.java b/sdk/ai/azure-ai-agents/src/samples/java/com/azure/ai/agents/tools/BingCustomSearchAsync.java
index 6169c2f7027c..98184c9c3bcb 100644
--- a/sdk/ai/azure-ai-agents/src/samples/java/com/azure/ai/agents/tools/BingCustomSearchAsync.java
+++ b/sdk/ai/azure-ai-agents/src/samples/java/com/azure/ai/agents/tools/BingCustomSearchAsync.java
@@ -5,9 +5,7 @@
import com.azure.ai.agents.AgentsAsyncClient;
import com.azure.ai.agents.AgentsClientBuilder;
-import com.azure.ai.agents.ResponsesAsyncClient;
-import com.azure.ai.agents.models.AgentReference;
-import com.azure.ai.agents.models.AzureCreateResponseOptions;
+import com.azure.ai.agents.SampleUtils;
import com.azure.ai.agents.models.AgentVersionDetails;
import com.azure.ai.agents.models.BingCustomSearchConfiguration;
import com.azure.ai.agents.models.BingCustomSearchPreviewTool;
@@ -15,6 +13,7 @@
import com.azure.ai.agents.models.PromptAgentDefinition;
import com.azure.core.util.Configuration;
import com.azure.identity.DefaultAzureCredentialBuilder;
+import com.openai.client.OpenAIClientAsync;
import com.openai.models.responses.ResponseCreateParams;
import reactor.core.publisher.Mono;
@@ -39,6 +38,7 @@ public class BingCustomSearchAsync {
public static void main(String[] args) {
String endpoint = Configuration.getGlobalConfiguration().get("FOUNDRY_PROJECT_ENDPOINT");
String model = Configuration.getGlobalConfiguration().get("FOUNDRY_MODEL_NAME");
+ String agentName = "bing-custom-search-agent";
String connectionId = Configuration.getGlobalConfiguration().get("BING_CUSTOM_SEARCH_PROJECT_CONNECTION_ID");
String instanceName = Configuration.getGlobalConfiguration().get("BING_CUSTOM_SEARCH_INSTANCE_NAME");
@@ -47,7 +47,7 @@ public static void main(String[] args) {
.endpoint(endpoint);
AgentsAsyncClient agentsAsyncClient = builder.buildAgentsAsyncClient();
- ResponsesAsyncClient responsesAsyncClient = builder.buildResponsesAsyncClient();
+ OpenAIClientAsync openAIAsyncClient = builder.buildAgentScopedOpenAIAsyncClient(agentName);
AtomicReference agentRef = new AtomicReference<>();
@@ -62,18 +62,16 @@ public static void main(String[] args) {
+ "Use the available Bing Custom Search tools to answer questions and perform tasks.")
.setTools(Collections.singletonList(bingCustomSearchTool));
- agentsAsyncClient.createAgentVersion("bing-custom-search-agent", agentDefinition)
+ agentsAsyncClient.createAgentVersion(agentName, agentDefinition)
.flatMap(agent -> {
agentRef.set(agent);
System.out.printf("Agent created: %s (version %s)%n", agent.getName(), agent.getVersion());
- AgentReference agentReference = new AgentReference(agent.getName())
- .setVersion(agent.getVersion());
-
- return responsesAsyncClient.createAzureResponse(
- new AzureCreateResponseOptions().setAgentReference(agentReference),
- ResponseCreateParams.builder()
- .input("Search for the latest Azure AI documentation"));
+ return SampleUtils.pinAgentVersion(agentsAsyncClient, agent)
+ .then(Mono.fromFuture(() -> openAIAsyncClient.responses().create(
+ ResponseCreateParams.builder()
+ .input("Search for the latest Azure AI documentation")
+ .build())));
})
.doOnNext(response -> {
System.out.println("Response: " + response.output());
diff --git a/sdk/ai/azure-ai-agents/src/samples/java/com/azure/ai/agents/tools/BingCustomSearchSync.java b/sdk/ai/azure-ai-agents/src/samples/java/com/azure/ai/agents/tools/BingCustomSearchSync.java
index 0851bae06249..5b4150707515 100644
--- a/sdk/ai/azure-ai-agents/src/samples/java/com/azure/ai/agents/tools/BingCustomSearchSync.java
+++ b/sdk/ai/azure-ai-agents/src/samples/java/com/azure/ai/agents/tools/BingCustomSearchSync.java
@@ -5,9 +5,7 @@
import com.azure.ai.agents.AgentsClient;
import com.azure.ai.agents.AgentsClientBuilder;
-import com.azure.ai.agents.ResponsesClient;
-import com.azure.ai.agents.models.AgentReference;
-import com.azure.ai.agents.models.AzureCreateResponseOptions;
+import com.azure.ai.agents.SampleUtils;
import com.azure.ai.agents.models.AgentVersionDetails;
import com.azure.ai.agents.models.BingCustomSearchConfiguration;
import com.azure.ai.agents.models.BingCustomSearchPreviewTool;
@@ -15,6 +13,7 @@
import com.azure.ai.agents.models.PromptAgentDefinition;
import com.azure.core.util.Configuration;
import com.azure.identity.DefaultAzureCredentialBuilder;
+import com.openai.client.OpenAIClient;
import com.openai.models.responses.Response;
import com.openai.models.responses.ResponseCreateParams;
@@ -50,7 +49,6 @@ public static void main(String[] args) {
.endpoint(endpoint);
AgentsClient agentsClient = builder.buildAgentsClient();
- ResponsesClient responsesClient = builder.buildResponsesClient();
// BEGIN: com.azure.ai.agents.define_bing_custom_search
// Create Bing Custom Search tool with connection and instance configuration
@@ -71,13 +69,13 @@ public static void main(String[] args) {
System.out.printf("Agent created: %s (version %s)%n", agent.getName(), agent.getVersion());
try {
- AgentReference agentReference = new AgentReference(agent.getName())
- .setVersion(agent.getVersion());
+ SampleUtils.pinAgentVersion(agentsClient, agent);
+ OpenAIClient openAIClient = builder.buildAgentScopedOpenAIClient(agent.getName());
- Response response = responsesClient.createAzureResponse(
- new AzureCreateResponseOptions().setAgentReference(agentReference),
+ Response response = openAIClient.responses().create(
ResponseCreateParams.builder()
- .input("Search for the latest Azure AI documentation"));
+ .input("Search for the latest Azure AI documentation")
+ .build());
System.out.println("Response: " + response.output());
} finally {
diff --git a/sdk/ai/azure-ai-agents/src/samples/java/com/azure/ai/agents/tools/BingGroundingAsync.java b/sdk/ai/azure-ai-agents/src/samples/java/com/azure/ai/agents/tools/BingGroundingAsync.java
index 2cbfbed36da8..e0311fe8da88 100644
--- a/sdk/ai/azure-ai-agents/src/samples/java/com/azure/ai/agents/tools/BingGroundingAsync.java
+++ b/sdk/ai/azure-ai-agents/src/samples/java/com/azure/ai/agents/tools/BingGroundingAsync.java
@@ -5,9 +5,7 @@
import com.azure.ai.agents.AgentsAsyncClient;
import com.azure.ai.agents.AgentsClientBuilder;
-import com.azure.ai.agents.ResponsesAsyncClient;
-import com.azure.ai.agents.models.AgentReference;
-import com.azure.ai.agents.models.AzureCreateResponseOptions;
+import com.azure.ai.agents.SampleUtils;
import com.azure.ai.agents.models.AgentVersionDetails;
import com.azure.ai.agents.models.BingGroundingSearchConfiguration;
import com.azure.ai.agents.models.BingGroundingSearchToolParameters;
@@ -15,6 +13,7 @@
import com.azure.ai.agents.models.PromptAgentDefinition;
import com.azure.core.util.Configuration;
import com.azure.identity.DefaultAzureCredentialBuilder;
+import com.openai.client.OpenAIClientAsync;
import com.openai.models.responses.ResponseCreateParams;
import java.time.Duration;
import java.util.Arrays;
@@ -37,6 +36,7 @@ public class BingGroundingAsync {
public static void main(String[] args) {
String endpoint = Configuration.getGlobalConfiguration().get("FOUNDRY_PROJECT_ENDPOINT");
String model = Configuration.getGlobalConfiguration().get("FOUNDRY_MODEL_NAME");
+ String agentName = "bing-grounding-agent";
String bingConnectionId = Configuration.getGlobalConfiguration().get("BING_PROJECT_CONNECTION_ID");
AgentsClientBuilder builder = new AgentsClientBuilder()
@@ -44,7 +44,7 @@ public static void main(String[] args) {
.endpoint(endpoint);
AgentsAsyncClient agentsAsyncClient = builder.buildAgentsAsyncClient();
- ResponsesAsyncClient responsesAsyncClient = builder.buildResponsesAsyncClient();
+ OpenAIClientAsync openAIAsyncClient = builder.buildAgentScopedOpenAIAsyncClient(agentName);
AtomicReference agentRef = new AtomicReference<>();
@@ -59,18 +59,16 @@ public static void main(String[] args) {
.setInstructions("You are a helpful assistant. Use Bing to find up-to-date information.")
.setTools(Collections.singletonList(bingTool));
- agentsAsyncClient.createAgentVersion("bing-grounding-agent", agentDefinition)
+ agentsAsyncClient.createAgentVersion(agentName, agentDefinition)
.flatMap(agent -> {
agentRef.set(agent);
System.out.printf("Agent created: %s (version %s)%n", agent.getName(), agent.getVersion());
- AgentReference agentReference = new AgentReference(agent.getName())
- .setVersion(agent.getVersion());
-
- return responsesAsyncClient.createAzureResponse(
- new AzureCreateResponseOptions().setAgentReference(agentReference),
- ResponseCreateParams.builder()
- .input("What are the latest developments in AI?"));
+ return SampleUtils.pinAgentVersion(agentsAsyncClient, agent)
+ .then(Mono.fromFuture(() -> openAIAsyncClient.responses().create(
+ ResponseCreateParams.builder()
+ .input("What are the latest developments in AI?")
+ .build())));
})
.doOnNext(response -> {
System.out.println("Response: " + response.output());
diff --git a/sdk/ai/azure-ai-agents/src/samples/java/com/azure/ai/agents/tools/BingGroundingSync.java b/sdk/ai/azure-ai-agents/src/samples/java/com/azure/ai/agents/tools/BingGroundingSync.java
index a5f1dc4bc8df..3f56273dafad 100644
--- a/sdk/ai/azure-ai-agents/src/samples/java/com/azure/ai/agents/tools/BingGroundingSync.java
+++ b/sdk/ai/azure-ai-agents/src/samples/java/com/azure/ai/agents/tools/BingGroundingSync.java
@@ -5,9 +5,7 @@
import com.azure.ai.agents.AgentsClient;
import com.azure.ai.agents.AgentsClientBuilder;
-import com.azure.ai.agents.ResponsesClient;
-import com.azure.ai.agents.models.AgentReference;
-import com.azure.ai.agents.models.AzureCreateResponseOptions;
+import com.azure.ai.agents.SampleUtils;
import com.azure.ai.agents.models.AgentVersionDetails;
import com.azure.ai.agents.models.BingGroundingSearchConfiguration;
import com.azure.ai.agents.models.BingGroundingSearchToolParameters;
@@ -15,6 +13,7 @@
import com.azure.ai.agents.models.PromptAgentDefinition;
import com.azure.core.util.Configuration;
import com.azure.identity.DefaultAzureCredentialBuilder;
+import com.openai.client.OpenAIClient;
import com.openai.models.responses.Response;
import com.openai.models.responses.ResponseCreateParams;
@@ -43,7 +42,6 @@ public static void main(String[] args) {
.endpoint(endpoint);
AgentsClient agentsClient = builder.buildAgentsClient();
- ResponsesClient responsesClient = builder.buildResponsesClient();
// BEGIN: com.azure.ai.agents.define_bing_grounding
// Create Bing grounding tool with connection configuration
@@ -64,13 +62,13 @@ public static void main(String[] args) {
try {
// Create a response
- AgentReference agentReference = new AgentReference(agent.getName())
- .setVersion(agent.getVersion());
+ SampleUtils.pinAgentVersion(agentsClient, agent);
+ OpenAIClient openAIClient = builder.buildAgentScopedOpenAIClient(agent.getName());
- Response response = responsesClient.createAzureResponse(
- new AzureCreateResponseOptions().setAgentReference(agentReference),
+ Response response = openAIClient.responses().create(
ResponseCreateParams.builder()
- .input("What are the latest developments in AI?"));
+ .input("What are the latest developments in AI?")
+ .build());
System.out.println("Response: " + response.output());
} finally {
diff --git a/sdk/ai/azure-ai-agents/src/samples/java/com/azure/ai/agents/tools/BrowserAutomationAsync.java b/sdk/ai/azure-ai-agents/src/samples/java/com/azure/ai/agents/tools/BrowserAutomationAsync.java
index b4ff5cf914be..3ccfb218633e 100644
--- a/sdk/ai/azure-ai-agents/src/samples/java/com/azure/ai/agents/tools/BrowserAutomationAsync.java
+++ b/sdk/ai/azure-ai-agents/src/samples/java/com/azure/ai/agents/tools/BrowserAutomationAsync.java
@@ -5,9 +5,7 @@
import com.azure.ai.agents.AgentsAsyncClient;
import com.azure.ai.agents.AgentsClientBuilder;
-import com.azure.ai.agents.ResponsesAsyncClient;
-import com.azure.ai.agents.models.AgentReference;
-import com.azure.ai.agents.models.AzureCreateResponseOptions;
+import com.azure.ai.agents.SampleUtils;
import com.azure.ai.agents.models.AgentVersionDetails;
import com.azure.ai.agents.models.BrowserAutomationPreviewTool;
import com.azure.ai.agents.models.BrowserAutomationToolConnectionParameters;
@@ -15,6 +13,7 @@
import com.azure.ai.agents.models.PromptAgentDefinition;
import com.azure.core.util.Configuration;
import com.azure.identity.DefaultAzureCredentialBuilder;
+import com.openai.client.OpenAIClientAsync;
import com.openai.models.responses.ResponseCreateParams;
import java.time.Duration;
import java.util.Collections;
@@ -36,6 +35,7 @@ public class BrowserAutomationAsync {
public static void main(String[] args) {
String endpoint = Configuration.getGlobalConfiguration().get("FOUNDRY_PROJECT_ENDPOINT");
String model = Configuration.getGlobalConfiguration().get("FOUNDRY_MODEL_NAME");
+ String agentName = "browser-agent";
String connectionId = Configuration.getGlobalConfiguration().get("BROWSER_AUTOMATION_PROJECT_CONNECTION_ID");
AgentsClientBuilder builder = new AgentsClientBuilder()
@@ -43,7 +43,7 @@ public static void main(String[] args) {
.endpoint(endpoint);
AgentsAsyncClient agentsAsyncClient = builder.buildAgentsAsyncClient();
- ResponsesAsyncClient responsesAsyncClient = builder.buildResponsesAsyncClient();
+ OpenAIClientAsync openAIAsyncClient = builder.buildAgentScopedOpenAIAsyncClient(agentName);
AtomicReference agentRef = new AtomicReference<>();
@@ -58,18 +58,16 @@ public static void main(String[] args) {
.setInstructions("You are a helpful assistant that can interact with web pages.")
.setTools(Collections.singletonList(browserTool));
- agentsAsyncClient.createAgentVersion("browser-agent", agentDefinition)
+ agentsAsyncClient.createAgentVersion(agentName, agentDefinition)
.flatMap(agent -> {
agentRef.set(agent);
System.out.printf("Agent created: %s (version %s)%n", agent.getName(), agent.getVersion());
- AgentReference agentReference = new AgentReference(agent.getName())
- .setVersion(agent.getVersion());
-
- return responsesAsyncClient.createAzureResponse(
- new AzureCreateResponseOptions().setAgentReference(agentReference),
- ResponseCreateParams.builder()
- .input("Navigate to microsoft.com and summarize the main content"));
+ return SampleUtils.pinAgentVersion(agentsAsyncClient, agent)
+ .then(Mono.fromFuture(() -> openAIAsyncClient.responses().create(
+ ResponseCreateParams.builder()
+ .input("Navigate to microsoft.com and summarize the main content")
+ .build())));
})
.doOnNext(response -> {
System.out.println("Response: " + response.output());
diff --git a/sdk/ai/azure-ai-agents/src/samples/java/com/azure/ai/agents/tools/BrowserAutomationSync.java b/sdk/ai/azure-ai-agents/src/samples/java/com/azure/ai/agents/tools/BrowserAutomationSync.java
index 81f42044575a..6bf4551134d3 100644
--- a/sdk/ai/azure-ai-agents/src/samples/java/com/azure/ai/agents/tools/BrowserAutomationSync.java
+++ b/sdk/ai/azure-ai-agents/src/samples/java/com/azure/ai/agents/tools/BrowserAutomationSync.java
@@ -5,9 +5,7 @@
import com.azure.ai.agents.AgentsClient;
import com.azure.ai.agents.AgentsClientBuilder;
-import com.azure.ai.agents.ResponsesClient;
-import com.azure.ai.agents.models.AgentReference;
-import com.azure.ai.agents.models.AzureCreateResponseOptions;
+import com.azure.ai.agents.SampleUtils;
import com.azure.ai.agents.models.AgentVersionDetails;
import com.azure.ai.agents.models.BrowserAutomationPreviewTool;
import com.azure.ai.agents.models.BrowserAutomationToolConnectionParameters;
@@ -15,6 +13,7 @@
import com.azure.ai.agents.models.PromptAgentDefinition;
import com.azure.core.util.Configuration;
import com.azure.identity.DefaultAzureCredentialBuilder;
+import com.openai.client.OpenAIClient;
import com.openai.models.responses.Response;
import com.openai.models.responses.ResponseCreateParams;
@@ -42,7 +41,6 @@ public static void main(String[] args) {
.endpoint(endpoint);
AgentsClient agentsClient = builder.buildAgentsClient();
- ResponsesClient responsesClient = builder.buildResponsesClient();
// BEGIN: com.azure.ai.agents.define_browser_automation
// Create browser automation tool with connection configuration
@@ -63,13 +61,13 @@ public static void main(String[] args) {
try {
// Create a response
- AgentReference agentReference = new AgentReference(agent.getName())
- .setVersion(agent.getVersion());
+ SampleUtils.pinAgentVersion(agentsClient, agent);
+ OpenAIClient openAIClient = builder.buildAgentScopedOpenAIClient(agent.getName());
- Response response = responsesClient.createAzureResponse(
- new AzureCreateResponseOptions().setAgentReference(agentReference),
+ Response response = openAIClient.responses().create(
ResponseCreateParams.builder()
- .input("Navigate to microsoft.com and summarize the main content"));
+ .input("Navigate to microsoft.com and summarize the main content")
+ .build());
System.out.println("Response: " + response.output());
} finally {
diff --git a/sdk/ai/azure-ai-agents/src/samples/java/com/azure/ai/agents/tools/CodeInterpreterAsync.java b/sdk/ai/azure-ai-agents/src/samples/java/com/azure/ai/agents/tools/CodeInterpreterAsync.java
index e456e472fd21..e6a8e7516761 100644
--- a/sdk/ai/azure-ai-agents/src/samples/java/com/azure/ai/agents/tools/CodeInterpreterAsync.java
+++ b/sdk/ai/azure-ai-agents/src/samples/java/com/azure/ai/agents/tools/CodeInterpreterAsync.java
@@ -5,14 +5,13 @@
import com.azure.ai.agents.AgentsAsyncClient;
import com.azure.ai.agents.AgentsClientBuilder;
-import com.azure.ai.agents.ResponsesAsyncClient;
-import com.azure.ai.agents.models.AgentReference;
-import com.azure.ai.agents.models.AzureCreateResponseOptions;
+import com.azure.ai.agents.SampleUtils;
import com.azure.ai.agents.models.AgentVersionDetails;
import com.azure.ai.agents.models.CodeInterpreterTool;
import com.azure.ai.agents.models.PromptAgentDefinition;
import com.azure.core.util.Configuration;
import com.azure.identity.DefaultAzureCredentialBuilder;
+import com.openai.client.OpenAIClientAsync;
import com.openai.models.responses.ResponseCodeInterpreterToolCall;
import com.openai.models.responses.ResponseCreateParams;
import com.openai.models.responses.ResponseOutputItem;
@@ -37,13 +36,14 @@ public class CodeInterpreterAsync {
public static void main(String[] args) {
String endpoint = Configuration.getGlobalConfiguration().get("FOUNDRY_PROJECT_ENDPOINT");
String model = Configuration.getGlobalConfiguration().get("FOUNDRY_MODEL_NAME");
+ String agentName = "code-interpreter-agent";
AgentsClientBuilder builder = new AgentsClientBuilder()
.credential(new DefaultAzureCredentialBuilder().build())
.endpoint(endpoint);
AgentsAsyncClient agentsAsyncClient = builder.buildAgentsAsyncClient();
- ResponsesAsyncClient responsesAsyncClient = builder.buildResponsesAsyncClient();
+ OpenAIClientAsync openAIAsyncClient = builder.buildAgentScopedOpenAIAsyncClient(agentName);
AtomicReference agentRef = new AtomicReference<>();
@@ -55,18 +55,16 @@ public static void main(String[] args) {
+ "When asked to perform calculations or data analysis, use the code interpreter to run Python code.")
.setTools(Collections.singletonList(tool));
- agentsAsyncClient.createAgentVersion("code-interpreter-agent", agentDefinition)
+ agentsAsyncClient.createAgentVersion(agentName, agentDefinition)
.flatMap(agent -> {
agentRef.set(agent);
System.out.printf("Agent created: %s (version %s)%n", agent.getName(), agent.getVersion());
- AgentReference agentReference = new AgentReference(agent.getName())
- .setVersion(agent.getVersion());
-
- return responsesAsyncClient.createAzureResponse(
- new AzureCreateResponseOptions().setAgentReference(agentReference),
- ResponseCreateParams.builder()
- .input("Calculate the first 10 prime numbers and show me the Python code you used."));
+ return SampleUtils.pinAgentVersion(agentsAsyncClient, agent)
+ .then(Mono.fromFuture(() -> openAIAsyncClient.responses().create(
+ ResponseCreateParams.builder()
+ .input("Calculate the first 10 prime numbers and show me the Python code you used.")
+ .build())));
})
.doOnNext(response -> {
for (ResponseOutputItem outputItem : response.output()) {
diff --git a/sdk/ai/azure-ai-agents/src/samples/java/com/azure/ai/agents/tools/CodeInterpreterSync.java b/sdk/ai/azure-ai-agents/src/samples/java/com/azure/ai/agents/tools/CodeInterpreterSync.java
index 2d1881b34f13..42f7ca99800a 100644
--- a/sdk/ai/azure-ai-agents/src/samples/java/com/azure/ai/agents/tools/CodeInterpreterSync.java
+++ b/sdk/ai/azure-ai-agents/src/samples/java/com/azure/ai/agents/tools/CodeInterpreterSync.java
@@ -5,14 +5,13 @@
import com.azure.ai.agents.AgentsClient;
import com.azure.ai.agents.AgentsClientBuilder;
-import com.azure.ai.agents.ResponsesClient;
-import com.azure.ai.agents.models.AgentReference;
-import com.azure.ai.agents.models.AzureCreateResponseOptions;
+import com.azure.ai.agents.SampleUtils;
import com.azure.ai.agents.models.AgentVersionDetails;
import com.azure.ai.agents.models.CodeInterpreterTool;
import com.azure.ai.agents.models.PromptAgentDefinition;
import com.azure.core.util.Configuration;
import com.azure.identity.DefaultAzureCredentialBuilder;
+import com.openai.client.OpenAIClient;
import com.openai.models.responses.Response;
import com.openai.models.responses.ResponseCodeInterpreterToolCall;
import com.openai.models.responses.ResponseCreateParams;
@@ -41,7 +40,6 @@ public static void main(String[] args) {
.endpoint(endpoint);
AgentsClient agentsClient = builder.buildAgentsClient();
- ResponsesClient responsesClient = builder.buildResponsesClient();
AgentVersionDetails agent = null;
@@ -60,13 +58,14 @@ public static void main(String[] args) {
agent = agentsClient.createAgentVersion("code-interpreter-agent", agentDefinition);
System.out.printf("Agent created: %s (version %s)%n", agent.getName(), agent.getVersion());
- AgentReference agentReference = new AgentReference(agent.getName())
- .setVersion(agent.getVersion());
+ SampleUtils.pinAgentVersion(agentsClient, agent);
- Response response = responsesClient.createAzureResponse(
- new AzureCreateResponseOptions().setAgentReference(agentReference),
+ OpenAIClient openAIClient = builder.buildAgentScopedOpenAIClient(agent.getName());
+
+ Response response = openAIClient.responses().create(
ResponseCreateParams.builder()
- .input("Calculate the first 10 prime numbers and show me the Python code you used."));
+ .input("Calculate the first 10 prime numbers and show me the Python code you used.")
+ .build());
// Process and display the response
for (ResponseOutputItem outputItem : response.output()) {
diff --git a/sdk/ai/azure-ai-agents/src/samples/java/com/azure/ai/agents/tools/ComputerUseAsync.java b/sdk/ai/azure-ai-agents/src/samples/java/com/azure/ai/agents/tools/ComputerUseAsync.java
index e446e08f50c0..c8ffda08fa5b 100644
--- a/sdk/ai/azure-ai-agents/src/samples/java/com/azure/ai/agents/tools/ComputerUseAsync.java
+++ b/sdk/ai/azure-ai-agents/src/samples/java/com/azure/ai/agents/tools/ComputerUseAsync.java
@@ -6,9 +6,7 @@
import com.azure.ai.agents.AgentsAsyncClient;
import com.azure.ai.agents.AgentsClientBuilder;
import com.azure.ai.agents.AgentsServiceVersion;
-import com.azure.ai.agents.ResponsesAsyncClient;
-import com.azure.ai.agents.models.AgentReference;
-import com.azure.ai.agents.models.AzureCreateResponseOptions;
+import com.azure.ai.agents.SampleUtils;
import com.azure.ai.agents.models.AgentVersionDetails;
import com.azure.ai.agents.models.ComputerEnvironment;
import com.azure.ai.agents.models.ComputerUsePreviewTool;
@@ -18,6 +16,7 @@
import com.azure.ai.agents.tools.ComputerUseUtil.SearchState;
import com.azure.core.util.Configuration;
import com.azure.identity.DefaultAzureCredentialBuilder;
+import com.openai.client.OpenAIClientAsync;
import com.openai.models.responses.EasyInputMessage;
import com.openai.models.responses.Response;
import com.openai.models.responses.ResponseComputerToolCall;
@@ -65,6 +64,7 @@ public static void main(String[] args) {
Configuration configuration = Configuration.getGlobalConfiguration();
String endpoint = configuration.get("FOUNDRY_PROJECT_ENDPOINT");
String model = configuration.get("AZURE_COMPUTER_USE_MODEL_DEPLOYMENT_NAME", "computer-use-preview");
+ String agentName = "ComputerUseAgent";
AgentsClientBuilder builder = new AgentsClientBuilder()
.credential(new DefaultAzureCredentialBuilder().build())
@@ -72,7 +72,7 @@ public static void main(String[] args) {
.serviceVersion(AgentsServiceVersion.getLatest());
AgentsAsyncClient agentsClient = builder.buildAgentsAsyncClient();
- ResponsesAsyncClient responsesClient = builder.buildResponsesAsyncClient();
+ OpenAIClientAsync openAIAsyncClient = builder.buildAgentScopedOpenAIAsyncClient(agentName);
// Load screenshot assets
Map screenshots;
@@ -124,28 +124,26 @@ public static void main(String[] args) {
);
// Create agent and run the interaction loop
- agentsClient.createAgentVersion("ComputerUseAgent", agentDefinition)
+ agentsClient.createAgentVersion(agentName, agentDefinition)
.doOnNext(agent -> {
agentRef.set(agent);
System.out.printf("Agent created (id: %s, name: %s, version: %s)%n",
agent.getId(), agent.getName(), agent.getVersion());
})
.flatMap(agent -> {
- // Create the AgentReference for the response
- AgentReference agentReference = new AgentReference(agent.getName())
- .setVersion(agent.getVersion());
System.out.println("Starting computer automation session (initial screenshot: cua_browser_search.png)...");
// Send initial request
- return responsesClient.createAzureResponse(
- new AzureCreateResponseOptions().setAgentReference(agentReference),
+ return SampleUtils.pinAgentVersion(agentsClient, agent)
+ .then(Mono.fromFuture(() -> openAIAsyncClient.responses().create(
ResponseCreateParams.builder()
.inputOfResponse(initialInput)
- .truncation(ResponseCreateParams.Truncation.AUTO))
+ .truncation(ResponseCreateParams.Truncation.AUTO)
+ .build())))
.doOnNext(response -> System.out.printf("Initial response received (ID: %s)%n", response.id()))
.flatMap(response -> runInteractionLoop(
- responsesClient, agentReference, response, screenshots, SearchState.INITIAL, 0));
+ openAIAsyncClient, response, screenshots, SearchState.INITIAL, 0));
})
.doFinally(signalType -> {
System.out.println("\nCleaning up...");
@@ -163,8 +161,7 @@ public static void main(String[] args) {
/**
* Recursively processes the interaction loop with the Computer Use Agent.
*
- * @param responsesClient The responses async client.
- * @param agentReference The agent reference.
+ * @param openAIAsyncClient The agent-scoped OpenAI async client.
* @param response The current response from the agent.
* @param screenshots The map of screenshot assets.
* @param currentState The current search state.
@@ -172,8 +169,7 @@ public static void main(String[] args) {
* @return A Mono that completes when the loop finishes.
*/
private static Mono runInteractionLoop(
- ResponsesAsyncClient responsesClient,
- AgentReference agentReference,
+ OpenAIClientAsync openAIAsyncClient,
Response response,
Map screenshots,
SearchState currentState,
@@ -222,14 +218,14 @@ private static Mono runInteractionLoop(
.build())
);
- return responsesClient.createAzureResponse(
- new AzureCreateResponseOptions().setAgentReference(agentReference),
+ return Mono.fromFuture(() -> openAIAsyncClient.responses().create(
ResponseCreateParams.builder()
.previousResponseId(response.id())
.inputOfResponse(followUpInput)
- .truncation(ResponseCreateParams.Truncation.AUTO))
+ .truncation(ResponseCreateParams.Truncation.AUTO)
+ .build()))
.doOnNext(newResponse -> System.out.printf("Follow-up response received (ID: %s)%n", newResponse.id()))
.flatMap(newResponse -> runInteractionLoop(
- responsesClient, agentReference, newResponse, screenshots, newState, iteration + 1));
+ openAIAsyncClient, newResponse, screenshots, newState, iteration + 1));
}
}
diff --git a/sdk/ai/azure-ai-agents/src/samples/java/com/azure/ai/agents/tools/ComputerUseSync.java b/sdk/ai/azure-ai-agents/src/samples/java/com/azure/ai/agents/tools/ComputerUseSync.java
index cf1cc52d2045..9a8e426f8c79 100644
--- a/sdk/ai/azure-ai-agents/src/samples/java/com/azure/ai/agents/tools/ComputerUseSync.java
+++ b/sdk/ai/azure-ai-agents/src/samples/java/com/azure/ai/agents/tools/ComputerUseSync.java
@@ -6,9 +6,7 @@
import com.azure.ai.agents.AgentsClient;
import com.azure.ai.agents.AgentsClientBuilder;
import com.azure.ai.agents.AgentsServiceVersion;
-import com.azure.ai.agents.ResponsesClient;
-import com.azure.ai.agents.models.AgentReference;
-import com.azure.ai.agents.models.AzureCreateResponseOptions;
+import com.azure.ai.agents.SampleUtils;
import com.azure.ai.agents.models.AgentVersionDetails;
import com.azure.ai.agents.models.ComputerEnvironment;
import com.azure.ai.agents.models.ComputerUsePreviewTool;
@@ -18,6 +16,7 @@
import com.azure.ai.agents.tools.ComputerUseUtil.SearchState;
import com.azure.core.util.Configuration;
import com.azure.identity.DefaultAzureCredentialBuilder;
+import com.openai.client.OpenAIClient;
import com.openai.models.responses.EasyInputMessage;
import com.openai.models.responses.Response;
import com.openai.models.responses.ResponseComputerToolCall;
@@ -68,7 +67,6 @@ public static void main(String[] args) {
.serviceVersion(AgentsServiceVersion.getLatest());
AgentsClient agentsClient = builder.buildAgentsClient();
- ResponsesClient responsesClient = builder.buildResponsesClient();
// Initialize state machine
SearchState currentState = SearchState.INITIAL;
@@ -104,9 +102,8 @@ public static void main(String[] args) {
System.out.printf("Agent created (id: %s, name: %s, version: %s)%n",
agent.getId(), agent.getName(), agent.getVersion());
- // Create the AgentReference for the response
- AgentReference agentReference = new AgentReference(agent.getName())
- .setVersion(agent.getVersion());
+ SampleUtils.pinAgentVersion(agentsClient, agent);
+ OpenAIClient openAIClient = builder.buildAgentScopedOpenAIClient(agent.getName());
// Initial request with screenshot - start with Bing search page
System.out.println("Starting computer automation session (initial screenshot: cua_browser_search.png)...");
@@ -136,11 +133,11 @@ public static void main(String[] args) {
.build())
);
- Response response = responsesClient.createAzureResponse(
- new AzureCreateResponseOptions().setAgentReference(agentReference),
+ Response response = openAIClient.responses().create(
ResponseCreateParams.builder()
.inputOfResponse(initialInput)
- .truncation(ResponseCreateParams.Truncation.AUTO));
+ .truncation(ResponseCreateParams.Truncation.AUTO)
+ .build());
System.out.printf("Initial response received (ID: %s)%n", response.id());
@@ -193,12 +190,12 @@ public static void main(String[] args) {
.build())
);
- response = responsesClient.createAzureResponse(
- new AzureCreateResponseOptions().setAgentReference(agentReference),
+ response = openAIClient.responses().create(
ResponseCreateParams.builder()
.previousResponseId(response.id())
.inputOfResponse(followUpInput)
- .truncation(ResponseCreateParams.Truncation.AUTO));
+ .truncation(ResponseCreateParams.Truncation.AUTO)
+ .build());
System.out.printf("Follow-up response received (ID: %s)%n", response.id());
}
diff --git a/sdk/ai/azure-ai-agents/src/samples/java/com/azure/ai/agents/tools/CustomCodeInterpreterAsync.java b/sdk/ai/azure-ai-agents/src/samples/java/com/azure/ai/agents/tools/CustomCodeInterpreterAsync.java
index 32cd8ec4d61c..07843dfde2ef 100644
--- a/sdk/ai/azure-ai-agents/src/samples/java/com/azure/ai/agents/tools/CustomCodeInterpreterAsync.java
+++ b/sdk/ai/azure-ai-agents/src/samples/java/com/azure/ai/agents/tools/CustomCodeInterpreterAsync.java
@@ -5,14 +5,13 @@
import com.azure.ai.agents.AgentsAsyncClient;
import com.azure.ai.agents.AgentsClientBuilder;
-import com.azure.ai.agents.ResponsesAsyncClient;
-import com.azure.ai.agents.models.AgentReference;
-import com.azure.ai.agents.models.AzureCreateResponseOptions;
+import com.azure.ai.agents.SampleUtils;
import com.azure.ai.agents.models.AgentVersionDetails;
import com.azure.ai.agents.models.McpTool;
import com.azure.ai.agents.models.PromptAgentDefinition;
import com.azure.core.util.Configuration;
import com.azure.identity.DefaultAzureCredentialBuilder;
+import com.openai.client.OpenAIClientAsync;
import com.openai.models.responses.ResponseCreateParams;
import reactor.core.publisher.Mono;
@@ -36,6 +35,7 @@ public class CustomCodeInterpreterAsync {
public static void main(String[] args) {
String endpoint = Configuration.getGlobalConfiguration().get("FOUNDRY_PROJECT_ENDPOINT");
String model = Configuration.getGlobalConfiguration().get("FOUNDRY_MODEL_NAME");
+ String agentName = "CustomCodeInterpreterAgent";
String mcpServerUrl = Configuration.getGlobalConfiguration().get("MCP_SERVER_URL");
String connectionId = Configuration.getGlobalConfiguration().get("MCP_PROJECT_CONNECTION_ID");
@@ -44,7 +44,7 @@ public static void main(String[] args) {
.endpoint(endpoint);
AgentsAsyncClient agentsAsyncClient = builder.buildAgentsAsyncClient();
- ResponsesAsyncClient responsesAsyncClient = builder.buildResponsesAsyncClient();
+ OpenAIClientAsync openAIAsyncClient = builder.buildAgentScopedOpenAIAsyncClient(agentName);
AtomicReference agentRef = new AtomicReference<>();
@@ -57,18 +57,16 @@ public static void main(String[] args) {
.setInstructions("You are a helpful assistant that can run Python code to analyze data and solve problems.")
.setTools(Collections.singletonList(customCodeInterpreter));
- agentsAsyncClient.createAgentVersion("CustomCodeInterpreterAgent", agentDefinition)
+ agentsAsyncClient.createAgentVersion(agentName, agentDefinition)
.flatMap(agent -> {
agentRef.set(agent);
System.out.printf("Agent created: %s (version %s)%n", agent.getName(), agent.getVersion());
- AgentReference agentReference = new AgentReference(agent.getName())
- .setVersion(agent.getVersion());
-
- return responsesAsyncClient.createAzureResponse(
- new AzureCreateResponseOptions().setAgentReference(agentReference),
- ResponseCreateParams.builder()
- .input("Calculate the factorial of 10 using Python."));
+ return SampleUtils.pinAgentVersion(agentsAsyncClient, agent)
+ .then(Mono.fromFuture(() -> openAIAsyncClient.responses().create(
+ ResponseCreateParams.builder()
+ .input("Calculate the factorial of 10 using Python.")
+ .build())));
})
.doOnNext(response -> {
System.out.println("Response: " + response.output());
diff --git a/sdk/ai/azure-ai-agents/src/samples/java/com/azure/ai/agents/tools/CustomCodeInterpreterSync.java b/sdk/ai/azure-ai-agents/src/samples/java/com/azure/ai/agents/tools/CustomCodeInterpreterSync.java
index 123d1df73c2c..8e3a4a299ddf 100644
--- a/sdk/ai/azure-ai-agents/src/samples/java/com/azure/ai/agents/tools/CustomCodeInterpreterSync.java
+++ b/sdk/ai/azure-ai-agents/src/samples/java/com/azure/ai/agents/tools/CustomCodeInterpreterSync.java
@@ -5,14 +5,13 @@
import com.azure.ai.agents.AgentsClient;
import com.azure.ai.agents.AgentsClientBuilder;
-import com.azure.ai.agents.ResponsesClient;
-import com.azure.ai.agents.models.AgentReference;
-import com.azure.ai.agents.models.AzureCreateResponseOptions;
+import com.azure.ai.agents.SampleUtils;
import com.azure.ai.agents.models.AgentVersionDetails;
import com.azure.ai.agents.models.McpTool;
import com.azure.ai.agents.models.PromptAgentDefinition;
import com.azure.core.util.Configuration;
import com.azure.identity.DefaultAzureCredentialBuilder;
+import com.openai.client.OpenAIClient;
import com.openai.models.responses.Response;
import com.openai.models.responses.ResponseCreateParams;
@@ -42,7 +41,6 @@ public static void main(String[] args) {
.endpoint(endpoint);
AgentsClient agentsClient = builder.buildAgentsClient();
- ResponsesClient responsesClient = builder.buildResponsesClient();
// Create custom code interpreter MCP tool
// Uses require_approval: "never" because code runs in a sandboxed Container Apps session
@@ -61,13 +59,13 @@ public static void main(String[] args) {
try {
// Create a response
- AgentReference agentReference = new AgentReference(agent.getName())
- .setVersion(agent.getVersion());
+ SampleUtils.pinAgentVersion(agentsClient, agent);
+ OpenAIClient openAIClient = builder.buildAgentScopedOpenAIClient(agent.getName());
- Response response = responsesClient.createAzureResponse(
- new AzureCreateResponseOptions().setAgentReference(agentReference),
+ Response response = openAIClient.responses().create(
ResponseCreateParams.builder()
- .input("Calculate the factorial of 10 using Python."));
+ .input("Calculate the factorial of 10 using Python.")
+ .build());
System.out.println("Response: " + response.output());
} finally {
diff --git a/sdk/ai/azure-ai-agents/src/samples/java/com/azure/ai/agents/tools/FabricAsync.java b/sdk/ai/azure-ai-agents/src/samples/java/com/azure/ai/agents/tools/FabricAsync.java
index 5ea819e4b43f..bd87b31b5e3a 100644
--- a/sdk/ai/azure-ai-agents/src/samples/java/com/azure/ai/agents/tools/FabricAsync.java
+++ b/sdk/ai/azure-ai-agents/src/samples/java/com/azure/ai/agents/tools/FabricAsync.java
@@ -5,9 +5,7 @@
import com.azure.ai.agents.AgentsAsyncClient;
import com.azure.ai.agents.AgentsClientBuilder;
-import com.azure.ai.agents.ResponsesAsyncClient;
-import com.azure.ai.agents.models.AgentReference;
-import com.azure.ai.agents.models.AzureCreateResponseOptions;
+import com.azure.ai.agents.SampleUtils;
import com.azure.ai.agents.models.AgentVersionDetails;
import com.azure.ai.agents.models.FabricDataAgentToolParameters;
import com.azure.ai.agents.models.MicrosoftFabricPreviewTool;
@@ -15,6 +13,7 @@
import com.azure.ai.agents.models.ToolProjectConnection;
import com.azure.core.util.Configuration;
import com.azure.identity.DefaultAzureCredentialBuilder;
+import com.openai.client.OpenAIClientAsync;
import com.openai.models.responses.ResponseCreateParams;
import java.time.Duration;
import java.util.Arrays;
@@ -37,6 +36,7 @@ public class FabricAsync {
public static void main(String[] args) {
String endpoint = Configuration.getGlobalConfiguration().get("FOUNDRY_PROJECT_ENDPOINT");
String model = Configuration.getGlobalConfiguration().get("FOUNDRY_MODEL_NAME");
+ String agentName = "fabric-agent";
String fabricConnectionId = Configuration.getGlobalConfiguration().get("FABRIC_PROJECT_CONNECTION_ID");
AgentsClientBuilder builder = new AgentsClientBuilder()
@@ -44,7 +44,7 @@ public static void main(String[] args) {
.endpoint(endpoint);
AgentsAsyncClient agentsAsyncClient = builder.buildAgentsAsyncClient();
- ResponsesAsyncClient responsesAsyncClient = builder.buildResponsesAsyncClient();
+ OpenAIClientAsync openAIAsyncClient = builder.buildAgentScopedOpenAIAsyncClient(agentName);
AtomicReference agentRef = new AtomicReference<>();
@@ -60,18 +60,16 @@ public static void main(String[] args) {
.setInstructions("You are a data assistant that can query Microsoft Fabric data.")
.setTools(Collections.singletonList(fabricTool));
- agentsAsyncClient.createAgentVersion("fabric-agent", agentDefinition)
+ agentsAsyncClient.createAgentVersion(agentName, agentDefinition)
.flatMap(agent -> {
agentRef.set(agent);
System.out.printf("Agent created: %s (version %s)%n", agent.getName(), agent.getVersion());
- AgentReference agentReference = new AgentReference(agent.getName())
- .setVersion(agent.getVersion());
-
- return responsesAsyncClient.createAzureResponse(
- new AzureCreateResponseOptions().setAgentReference(agentReference),
- ResponseCreateParams.builder()
- .input("Query the latest sales data from Microsoft Fabric"));
+ return SampleUtils.pinAgentVersion(agentsAsyncClient, agent)
+ .then(Mono.fromFuture(() -> openAIAsyncClient.responses().create(
+ ResponseCreateParams.builder()
+ .input("Query the latest sales data from Microsoft Fabric")
+ .build())));
})
.doOnNext(response -> {
System.out.println("Response: " + response.output());
diff --git a/sdk/ai/azure-ai-agents/src/samples/java/com/azure/ai/agents/tools/FabricIQAsync.java b/sdk/ai/azure-ai-agents/src/samples/java/com/azure/ai/agents/tools/FabricIQAsync.java
index 0bcb498f6600..3f92a93e72a8 100644
--- a/sdk/ai/azure-ai-agents/src/samples/java/com/azure/ai/agents/tools/FabricIQAsync.java
+++ b/sdk/ai/azure-ai-agents/src/samples/java/com/azure/ai/agents/tools/FabricIQAsync.java
@@ -5,14 +5,13 @@
import com.azure.ai.agents.AgentsAsyncClient;
import com.azure.ai.agents.AgentsClientBuilder;
-import com.azure.ai.agents.ResponsesAsyncClient;
-import com.azure.ai.agents.models.AgentReference;
-import com.azure.ai.agents.models.AzureCreateResponseOptions;
+import com.azure.ai.agents.SampleUtils;
import com.azure.ai.agents.models.AgentVersionDetails;
import com.azure.ai.agents.models.FabricIqPreviewTool;
import com.azure.ai.agents.models.PromptAgentDefinition;
import com.azure.core.util.Configuration;
import com.azure.identity.DefaultAzureCredentialBuilder;
+import com.openai.client.OpenAIClientAsync;
import com.openai.models.responses.Response;
import com.openai.models.responses.ResponseCreateParams;
import com.openai.models.responses.ResponseOutputItem;
@@ -48,7 +47,7 @@ public static void main(String[] args) {
.endpoint(endpoint);
AgentsAsyncClient agentsAsyncClient = builder.buildAgentsAsyncClient();
- ResponsesAsyncClient responsesAsyncClient = builder.buildResponsesAsyncClient();
+ OpenAIClientAsync openAIAsyncClient = builder.buildAgentScopedOpenAIAsyncClient(agentName);
FabricIqPreviewTool fabricIqTool = new FabricIqPreviewTool(fabricIqConnectionId)
.setServerLabel("fabric-iq-tool")
@@ -63,13 +62,11 @@ public static void main(String[] args) {
agent -> {
System.out.printf("Agent created: %s (version %s)%n", agent.getName(), agent.getVersion());
- AgentReference agentReference = new AgentReference(agent.getName())
- .setVersion(agent.getVersion());
-
- return responsesAsyncClient.createAzureResponse(
- new AzureCreateResponseOptions().setAgentReference(agentReference),
- ResponseCreateParams.builder()
- .input(userInput))
+ return SampleUtils.pinAgentVersion(agentsAsyncClient, agent)
+ .then(Mono.fromFuture(() -> openAIAsyncClient.responses().create(
+ ResponseCreateParams.builder()
+ .input(userInput)
+ .build())))
.doOnNext(FabricIQAsync::printResponse)
.then();
},
diff --git a/sdk/ai/azure-ai-agents/src/samples/java/com/azure/ai/agents/tools/FabricIQSync.java b/sdk/ai/azure-ai-agents/src/samples/java/com/azure/ai/agents/tools/FabricIQSync.java
index 8e107e6935db..21b56b001451 100644
--- a/sdk/ai/azure-ai-agents/src/samples/java/com/azure/ai/agents/tools/FabricIQSync.java
+++ b/sdk/ai/azure-ai-agents/src/samples/java/com/azure/ai/agents/tools/FabricIQSync.java
@@ -5,14 +5,13 @@
import com.azure.ai.agents.AgentsClient;
import com.azure.ai.agents.AgentsClientBuilder;
-import com.azure.ai.agents.ResponsesClient;
-import com.azure.ai.agents.models.AgentReference;
-import com.azure.ai.agents.models.AzureCreateResponseOptions;
+import com.azure.ai.agents.SampleUtils;
import com.azure.ai.agents.models.AgentVersionDetails;
import com.azure.ai.agents.models.FabricIqPreviewTool;
import com.azure.ai.agents.models.PromptAgentDefinition;
import com.azure.core.util.Configuration;
import com.azure.identity.DefaultAzureCredentialBuilder;
+import com.openai.client.OpenAIClient;
import com.openai.models.responses.Response;
import com.openai.models.responses.ResponseCreateParams;
import com.openai.models.responses.ResponseOutputItem;
@@ -46,7 +45,6 @@ public static void main(String[] args) {
.endpoint(endpoint);
AgentsClient agentsClient = builder.buildAgentsClient();
- ResponsesClient responsesClient = builder.buildResponsesClient();
// BEGIN: com.azure.ai.agents.define_fabric_iq
@@ -64,13 +62,13 @@ public static void main(String[] args) {
System.out.printf("Agent created: %s (version %s)%n", agent.getName(), agent.getVersion());
try {
- AgentReference agentReference = new AgentReference(agent.getName())
- .setVersion(agent.getVersion());
+ SampleUtils.pinAgentVersion(agentsClient, agent);
+ OpenAIClient openAIClient = builder.buildAgentScopedOpenAIClient(agent.getName());
- Response response = responsesClient.createAzureResponse(
- new AzureCreateResponseOptions().setAgentReference(agentReference),
+ Response response = openAIClient.responses().create(
ResponseCreateParams.builder()
- .input(userInput));
+ .input(userInput)
+ .build());
printResponse(response);
} finally {
diff --git a/sdk/ai/azure-ai-agents/src/samples/java/com/azure/ai/agents/tools/FabricSync.java b/sdk/ai/azure-ai-agents/src/samples/java/com/azure/ai/agents/tools/FabricSync.java
index 79fa6a4d2072..f58dac20752e 100644
--- a/sdk/ai/azure-ai-agents/src/samples/java/com/azure/ai/agents/tools/FabricSync.java
+++ b/sdk/ai/azure-ai-agents/src/samples/java/com/azure/ai/agents/tools/FabricSync.java
@@ -5,9 +5,7 @@
import com.azure.ai.agents.AgentsClient;
import com.azure.ai.agents.AgentsClientBuilder;
-import com.azure.ai.agents.ResponsesClient;
-import com.azure.ai.agents.models.AgentReference;
-import com.azure.ai.agents.models.AzureCreateResponseOptions;
+import com.azure.ai.agents.SampleUtils;
import com.azure.ai.agents.models.AgentVersionDetails;
import com.azure.ai.agents.models.FabricDataAgentToolParameters;
import com.azure.ai.agents.models.MicrosoftFabricPreviewTool;
@@ -15,6 +13,7 @@
import com.azure.ai.agents.models.ToolProjectConnection;
import com.azure.core.util.Configuration;
import com.azure.identity.DefaultAzureCredentialBuilder;
+import com.openai.client.OpenAIClient;
import com.openai.models.responses.Response;
import com.openai.models.responses.ResponseCreateParams;
@@ -43,7 +42,6 @@ public static void main(String[] args) {
.endpoint(endpoint);
AgentsClient agentsClient = builder.buildAgentsClient();
- ResponsesClient responsesClient = builder.buildResponsesClient();
// BEGIN: com.azure.ai.agents.define_fabric
// Create Microsoft Fabric tool with connection configuration
@@ -65,13 +63,13 @@ public static void main(String[] args) {
try {
// Create a response
- AgentReference agentReference = new AgentReference(agent.getName())
- .setVersion(agent.getVersion());
+ SampleUtils.pinAgentVersion(agentsClient, agent);
+ OpenAIClient openAIClient = builder.buildAgentScopedOpenAIClient(agent.getName());
- Response response = responsesClient.createAzureResponse(
- new AzureCreateResponseOptions().setAgentReference(agentReference),
+ Response response = openAIClient.responses().create(
ResponseCreateParams.builder()
- .input("Query the latest sales data from Microsoft Fabric"));
+ .input("Query the latest sales data from Microsoft Fabric")
+ .build());
System.out.println("Response: " + response.output());
} finally {
diff --git a/sdk/ai/azure-ai-agents/src/samples/java/com/azure/ai/agents/tools/FileSearchAsync.java b/sdk/ai/azure-ai-agents/src/samples/java/com/azure/ai/agents/tools/FileSearchAsync.java
index 3e5d423c229b..94aa6306e7d4 100644
--- a/sdk/ai/azure-ai-agents/src/samples/java/com/azure/ai/agents/tools/FileSearchAsync.java
+++ b/sdk/ai/azure-ai-agents/src/samples/java/com/azure/ai/agents/tools/FileSearchAsync.java
@@ -5,9 +5,7 @@
import com.azure.ai.agents.AgentsAsyncClient;
import com.azure.ai.agents.AgentsClientBuilder;
-import com.azure.ai.agents.ResponsesAsyncClient;
-import com.azure.ai.agents.models.AgentReference;
-import com.azure.ai.agents.models.AzureCreateResponseOptions;
+import com.azure.ai.agents.SampleUtils;
import com.azure.ai.agents.models.AgentVersionDetails;
import com.azure.ai.agents.models.FileSearchTool;
import com.azure.ai.agents.models.PromptAgentDefinition;
@@ -15,6 +13,7 @@
import com.azure.core.util.Configuration;
import com.azure.identity.DefaultAzureCredentialBuilder;
import com.openai.client.OpenAIClient;
+import com.openai.client.OpenAIClientAsync;
import com.openai.models.files.FileCreateParams;
import com.openai.models.files.FileObject;
import com.openai.models.files.FilePurpose;
@@ -58,10 +57,9 @@ public static void main(String[] args) throws Exception {
.endpoint(endpoint);
AgentsAsyncClient agentsAsyncClient = builder.buildAgentsAsyncClient();
- ResponsesAsyncClient responsesAsyncClient = builder.buildResponsesAsyncClient();
ConversationServiceAsync conversationServiceAsync = builder.buildOpenAIAsyncClient().conversations();
// Vector store and file operations use the sync OpenAI client for setup
- OpenAIClient openAIClient = builder.buildOpenAIClient();
+ OpenAIClient projectOpenAIClient = builder.buildOpenAIClient();
AtomicReference agentRef = new AtomicReference<>();
AtomicReference conversationIdRef = new AtomicReference<>();
@@ -75,13 +73,13 @@ public static void main(String[] args) throws Exception {
Path tempFile = Files.createTempFile("sample_document", ".txt");
Files.write(tempFile, sampleContent.getBytes(StandardCharsets.UTF_8));
- FileObject uploadedFile = openAIClient.files().create(FileCreateParams.builder()
+ FileObject uploadedFile = projectOpenAIClient.files().create(FileCreateParams.builder()
.file(tempFile)
.purpose(FilePurpose.ASSISTANTS)
.build());
System.out.println("Uploaded file: " + uploadedFile.id());
- VectorStore vectorStore = openAIClient.vectorStores().create(VectorStoreCreateParams.builder()
+ VectorStore vectorStore = projectOpenAIClient.vectorStores().create(VectorStoreCreateParams.builder()
.name("SampleVectorStore")
.fileIds(Collections.singletonList(uploadedFile.id()))
.build());
@@ -100,19 +98,20 @@ public static void main(String[] args) throws Exception {
agentRef.set(agent);
System.out.printf("Agent created: %s (version %s)%n", agent.getName(), agent.getVersion());
- AgentReference agentReference = new AgentReference(agent.getName())
- .setVersion(agent.getVersion());
+ OpenAIClientAsync agentOpenAIAsyncClient
+ = builder.buildAgentScopedOpenAIAsyncClient(agent.getName());
- return Mono.fromFuture(conversationServiceAsync.create())
+ return SampleUtils.pinAgentVersion(agentsAsyncClient, agent)
+ .then(Mono.fromFuture(conversationServiceAsync.create()))
.flatMap(conversation -> {
conversationIdRef.set(conversation.id());
System.out.println("Created conversation: " + conversation.id());
- return responsesAsyncClient.createAzureResponse(
- new AzureCreateResponseOptions().setAgentReference(agentReference),
+ return Mono.fromFuture(() -> agentOpenAIAsyncClient.responses().create(
ResponseCreateParams.builder()
.conversation(conversation.id())
- .input("What is the largest planet in the Solar System?"));
+ .input("What is the largest planet in the Solar System?")
+ .build()));
});
})
.doOnNext(response -> {
@@ -159,8 +158,8 @@ public static void main(String[] args) throws Exception {
return Mono.empty();
}))
.doFinally(signal -> {
- openAIClient.vectorStores().delete(vectorStore.id());
- openAIClient.files().delete(uploadedFile.id());
+ projectOpenAIClient.vectorStores().delete(vectorStore.id());
+ projectOpenAIClient.files().delete(uploadedFile.id());
try {
Files.deleteIfExists(tempFile);
} catch (Exception ignored) {
diff --git a/sdk/ai/azure-ai-agents/src/samples/java/com/azure/ai/agents/tools/FileSearchSync.java b/sdk/ai/azure-ai-agents/src/samples/java/com/azure/ai/agents/tools/FileSearchSync.java
index 0bd302455651..f029249bfb1b 100644
--- a/sdk/ai/azure-ai-agents/src/samples/java/com/azure/ai/agents/tools/FileSearchSync.java
+++ b/sdk/ai/azure-ai-agents/src/samples/java/com/azure/ai/agents/tools/FileSearchSync.java
@@ -5,9 +5,7 @@
import com.azure.ai.agents.AgentsClient;
import com.azure.ai.agents.AgentsClientBuilder;
-import com.azure.ai.agents.ResponsesClient;
-import com.azure.ai.agents.models.AgentReference;
-import com.azure.ai.agents.models.AzureCreateResponseOptions;
+import com.azure.ai.agents.SampleUtils;
import com.azure.ai.agents.models.AgentVersionDetails;
import com.azure.ai.agents.models.FileSearchTool;
import com.azure.ai.agents.models.PromptAgentDefinition;
@@ -56,9 +54,8 @@ public static void main(String[] args) {
.endpoint(endpoint);
AgentsClient agentsClient = builder.buildAgentsClient();
- ResponsesClient responsesClient = builder.buildResponsesClient();
- ConversationService conversationService = builder.buildOpenAIClient().conversations();
- OpenAIClient openAIClient = builder.buildOpenAIClient();
+ OpenAIClient projectOpenAIClient = builder.buildOpenAIClient();
+ ConversationService conversationService = projectOpenAIClient.conversations();
AgentVersionDetails agent = null;
Conversation conversation = null;
@@ -76,14 +73,14 @@ public static void main(String[] args) {
tempFile = Files.createTempFile("sample_document", ".txt");
Files.write(tempFile, sampleContent.getBytes(StandardCharsets.UTF_8));
- uploadedFile = openAIClient.files().create(FileCreateParams.builder()
+ uploadedFile = projectOpenAIClient.files().create(FileCreateParams.builder()
.file(tempFile)
.purpose(FilePurpose.ASSISTANTS)
.build());
System.out.println("Uploaded file: " + uploadedFile.id());
// Create a vector store with the uploaded file
- vectorStore = openAIClient.vectorStores().create(VectorStoreCreateParams.builder()
+ vectorStore = projectOpenAIClient.vectorStores().create(VectorStoreCreateParams.builder()
.name("SampleVectorStore")
.fileIds(Collections.singletonList(uploadedFile.id()))
.build());
@@ -105,18 +102,18 @@ public static void main(String[] args) {
agent = agentsClient.createAgentVersion("file-search-agent", agentDefinition);
System.out.printf("Agent created: %s (version %s)%n", agent.getName(), agent.getVersion());
- AgentReference agentReference = new AgentReference(agent.getName())
- .setVersion(agent.getVersion());
+ SampleUtils.pinAgentVersion(agentsClient, agent);
+ OpenAIClient agentOpenAIClient = builder.buildAgentScopedOpenAIClient(agent.getName());
// Create a conversation and ask the agent
conversation = conversationService.create();
System.out.println("Created conversation: " + conversation.id());
- Response response = responsesClient.createAzureResponse(
- new AzureCreateResponseOptions().setAgentReference(agentReference),
+ Response response = agentOpenAIClient.responses().create(
ResponseCreateParams.builder()
.conversation(conversation.id())
- .input("What is the largest planet in the Solar System?"));
+ .input("What is the largest planet in the Solar System?")
+ .build());
// Process and display the response
for (ResponseOutputItem outputItem : response.output()) {
@@ -164,11 +161,11 @@ public static void main(String[] args) {
System.out.println("Agent deleted");
}
if (vectorStore != null) {
- openAIClient.vectorStores().delete(vectorStore.id());
+ projectOpenAIClient.vectorStores().delete(vectorStore.id());
System.out.println("Vector store deleted");
}
if (uploadedFile != null) {
- openAIClient.files().delete(uploadedFile.id());
+ projectOpenAIClient.files().delete(uploadedFile.id());
System.out.println("File deleted");
}
}
diff --git a/sdk/ai/azure-ai-agents/src/samples/java/com/azure/ai/agents/tools/FunctionCallAsync.java b/sdk/ai/azure-ai-agents/src/samples/java/com/azure/ai/agents/tools/FunctionCallAsync.java
index 48b253e2823d..5c83166ccc42 100644
--- a/sdk/ai/azure-ai-agents/src/samples/java/com/azure/ai/agents/tools/FunctionCallAsync.java
+++ b/sdk/ai/azure-ai-agents/src/samples/java/com/azure/ai/agents/tools/FunctionCallAsync.java
@@ -5,15 +5,14 @@
import com.azure.ai.agents.AgentsAsyncClient;
import com.azure.ai.agents.AgentsClientBuilder;
-import com.azure.ai.agents.ResponsesAsyncClient;
-import com.azure.ai.agents.models.AgentReference;
-import com.azure.ai.agents.models.AzureCreateResponseOptions;
+import com.azure.ai.agents.SampleUtils;
import com.azure.ai.agents.models.AgentVersionDetails;
import com.azure.ai.agents.models.FunctionTool;
import com.azure.ai.agents.models.PromptAgentDefinition;
import com.azure.core.util.BinaryData;
import com.azure.core.util.Configuration;
import com.azure.identity.DefaultAzureCredentialBuilder;
+import com.openai.client.OpenAIClientAsync;
import com.openai.models.responses.ResponseCreateParams;
import com.openai.models.responses.ResponseFunctionToolCall;
import com.openai.models.responses.ResponseOutputItem;
@@ -42,13 +41,14 @@ public class FunctionCallAsync {
public static void main(String[] args) {
String endpoint = Configuration.getGlobalConfiguration().get("FOUNDRY_PROJECT_ENDPOINT");
String model = Configuration.getGlobalConfiguration().get("FOUNDRY_MODEL_NAME");
+ String agentName = "function-call-agent";
AgentsClientBuilder builder = new AgentsClientBuilder()
.credential(new DefaultAzureCredentialBuilder().build())
.endpoint(endpoint);
AgentsAsyncClient agentsAsyncClient = builder.buildAgentsAsyncClient();
- ResponsesAsyncClient responsesAsyncClient = builder.buildResponsesAsyncClient();
+ OpenAIClientAsync openAIAsyncClient = builder.buildAgentScopedOpenAIAsyncClient(agentName);
AtomicReference agentRef = new AtomicReference<>();
@@ -81,18 +81,16 @@ public static void main(String[] args) {
+ "When asked about the weather, use the get_weather function to retrieve weather data.")
.setTools(Collections.singletonList(tool));
- agentsAsyncClient.createAgentVersion("function-call-agent", agentDefinition)
+ agentsAsyncClient.createAgentVersion(agentName, agentDefinition)
.flatMap(agent -> {
agentRef.set(agent);
System.out.printf("Agent created: %s (version %s)%n", agent.getName(), agent.getVersion());
- AgentReference agentReference = new AgentReference(agent.getName())
- .setVersion(agent.getVersion());
-
- return responsesAsyncClient.createAzureResponse(
- new AzureCreateResponseOptions().setAgentReference(agentReference),
- ResponseCreateParams.builder()
- .input("What's the weather like in Seattle?"));
+ return SampleUtils.pinAgentVersion(agentsAsyncClient, agent)
+ .then(Mono.fromFuture(() -> openAIAsyncClient.responses().create(
+ ResponseCreateParams.builder()
+ .input("What's the weather like in Seattle?")
+ .build())));
})
.doOnNext(response -> {
for (ResponseOutputItem outputItem : response.output()) {
diff --git a/sdk/ai/azure-ai-agents/src/samples/java/com/azure/ai/agents/tools/FunctionCallSync.java b/sdk/ai/azure-ai-agents/src/samples/java/com/azure/ai/agents/tools/FunctionCallSync.java
index f1bce62bfeec..bd15b650bf32 100644
--- a/sdk/ai/azure-ai-agents/src/samples/java/com/azure/ai/agents/tools/FunctionCallSync.java
+++ b/sdk/ai/azure-ai-agents/src/samples/java/com/azure/ai/agents/tools/FunctionCallSync.java
@@ -5,15 +5,14 @@
import com.azure.ai.agents.AgentsClient;
import com.azure.ai.agents.AgentsClientBuilder;
-import com.azure.ai.agents.ResponsesClient;
-import com.azure.ai.agents.models.AgentReference;
-import com.azure.ai.agents.models.AzureCreateResponseOptions;
+import com.azure.ai.agents.SampleUtils;
import com.azure.ai.agents.models.AgentVersionDetails;
import com.azure.ai.agents.models.FunctionTool;
import com.azure.ai.agents.models.PromptAgentDefinition;
import com.azure.core.util.BinaryData;
import com.azure.core.util.Configuration;
import com.azure.identity.DefaultAzureCredentialBuilder;
+import com.openai.client.OpenAIClient;
import com.openai.models.responses.Response;
import com.openai.models.responses.ResponseCreateParams;
import com.openai.models.responses.ResponseFunctionToolCall;
@@ -46,7 +45,6 @@ public static void main(String[] args) {
.endpoint(endpoint);
AgentsClient agentsClient = builder.buildAgentsClient();
- ResponsesClient responsesClient = builder.buildResponsesClient();
AgentVersionDetails agent = null;
@@ -83,13 +81,14 @@ public static void main(String[] args) {
agent = agentsClient.createAgentVersion("function-call-agent", agentDefinition);
System.out.printf("Agent created: %s (version %s)%n", agent.getName(), agent.getVersion());
- AgentReference agentReference = new AgentReference(agent.getName())
- .setVersion(agent.getVersion());
+ SampleUtils.pinAgentVersion(agentsClient, agent);
- Response response = responsesClient.createAzureResponse(
- new AzureCreateResponseOptions().setAgentReference(agentReference),
+ OpenAIClient openAIClient = builder.buildAgentScopedOpenAIClient(agent.getName());
+
+ Response response = openAIClient.responses().create(
ResponseCreateParams.builder()
- .input("What's the weather like in Seattle?"));
+ .input("What's the weather like in Seattle?")
+ .build());
// Process and display the response
for (ResponseOutputItem outputItem : response.output()) {
diff --git a/sdk/ai/azure-ai-agents/src/samples/java/com/azure/ai/agents/tools/ImageGenerationAsync.java b/sdk/ai/azure-ai-agents/src/samples/java/com/azure/ai/agents/tools/ImageGenerationAsync.java
index 6468833a74f6..97db6514e0bc 100644
--- a/sdk/ai/azure-ai-agents/src/samples/java/com/azure/ai/agents/tools/ImageGenerationAsync.java
+++ b/sdk/ai/azure-ai-agents/src/samples/java/com/azure/ai/agents/tools/ImageGenerationAsync.java
@@ -5,9 +5,7 @@
import com.azure.ai.agents.AgentsAsyncClient;
import com.azure.ai.agents.AgentsClientBuilder;
-import com.azure.ai.agents.ResponsesAsyncClient;
-import com.azure.ai.agents.models.AgentReference;
-import com.azure.ai.agents.models.AzureCreateResponseOptions;
+import com.azure.ai.agents.SampleUtils;
import com.azure.ai.agents.models.AgentVersionDetails;
import com.azure.ai.agents.models.ImageGenTool;
import com.azure.ai.agents.models.ImageGenToolModel;
@@ -16,6 +14,7 @@
import com.azure.ai.agents.models.PromptAgentDefinition;
import com.azure.core.util.Configuration;
import com.azure.identity.DefaultAzureCredentialBuilder;
+import com.openai.client.OpenAIClientAsync;
import com.openai.models.responses.ResponseCreateParams;
import java.time.Duration;
import java.util.Collections;
@@ -37,6 +36,7 @@ public class ImageGenerationAsync {
public static void main(String[] args) {
String endpoint = Configuration.getGlobalConfiguration().get("FOUNDRY_PROJECT_ENDPOINT");
String model = Configuration.getGlobalConfiguration().get("FOUNDRY_MODEL_NAME");
+ String agentName = "image-gen-agent";
String imageModel = Configuration.getGlobalConfiguration().get("IMAGE_GENERATION_MODEL_DEPLOYMENT_NAME");
AgentsClientBuilder builder = new AgentsClientBuilder()
@@ -44,7 +44,7 @@ public static void main(String[] args) {
.endpoint(endpoint);
AgentsAsyncClient agentsAsyncClient = builder.buildAgentsAsyncClient();
- ResponsesAsyncClient responsesAsyncClient = builder.buildResponsesAsyncClient();
+ OpenAIClientAsync openAIAsyncClient = builder.buildAgentScopedOpenAIAsyncClient(agentName);
AtomicReference