| store | Boolean | No | Whether to persist the conversation created by this WebSocket
* session. If omitted, the service honors the
* persisted voice agent definition's configured `store` value. If supplied, this value overrides the
@@ -106,9 +120,18 @@ public Mono> connectVoiceAgentWithResponse(String agentName, Requ
* `VoiceAgents=V1Preview` opt-in through either the `Foundry-Features` header or the `foundry_features`
* query parameter.
*
- * If the target agent is disabled, the HTTP WebSocket handshake fails before the `101 Switching Protocols`
- * upgrade. The service returns `409 Conflict` using the shared Foundry `ApiErrorResponse` shape with
- * `error.code = agent_disabled`. This failure is terminal until the caller enables the agent.
+ * Handshake failures are evaluated in the following order, independent of the requested `transport`:
+ *
+ * 1. Agent enablement (any transport): if the target agent is disabled, the handshake fails before the
+ * `101 Switching Protocols` upgrade with `409 Conflict`, using the shared Foundry `ApiErrorResponse` shape
+ * with `error.code = agent_disabled`. This failure is terminal until the caller enables the agent, and it
+ * takes precedence over the WebRTC-specific checks below.
+ * 2. WebRTC availability (only when `transport=webrtc`, and only once the agent itself is enabled): the agent
+ * must have the WebRTC transport capability configured. If the agent is enabled but WebRTC is not available
+ * for it, the handshake fails with `404 Not Found`. This is distinct from the `409 agent_disabled` case
+ * above, which concerns the agent itself rather than its WebRTC capability.
+ * 3. WebRTC compatibility (only when `transport=webrtc`): WebRTC does not support bring-your-own-model (BYOM)
+ * or hosted-agent voice agents; those requests fail with `400 Bad Request`.
*
* @param agentName The name of the voice agent.
* @throws IllegalArgumentException thrown if parameters fail the validation.
@@ -135,9 +158,18 @@ public Mono connectVoiceAgent(String agentName) {
* `VoiceAgents=V1Preview` opt-in through either the `Foundry-Features` header or the `foundry_features`
* query parameter.
*
- * If the target agent is disabled, the HTTP WebSocket handshake fails before the `101 Switching Protocols`
- * upgrade. The service returns `409 Conflict` using the shared Foundry `ApiErrorResponse` shape with
- * `error.code = agent_disabled`. This failure is terminal until the caller enables the agent.
+ * Handshake failures are evaluated in the following order, independent of the requested `transport`:
+ *
+ * 1. Agent enablement (any transport): if the target agent is disabled, the handshake fails before the
+ * `101 Switching Protocols` upgrade with `409 Conflict`, using the shared Foundry `ApiErrorResponse` shape
+ * with `error.code = agent_disabled`. This failure is terminal until the caller enables the agent, and it
+ * takes precedence over the WebRTC-specific checks below.
+ * 2. WebRTC availability (only when `transport=webrtc`, and only once the agent itself is enabled): the agent
+ * must have the WebRTC transport capability configured. If the agent is enabled but WebRTC is not available
+ * for it, the handshake fails with `404 Not Found`. This is distinct from the `409 agent_disabled` case
+ * above, which concerns the agent itself rather than its WebRTC capability.
+ * 3. WebRTC compatibility (only when `transport=webrtc`): WebRTC does not support bring-your-own-model (BYOM)
+ * or hosted-agent voice agents; those requests fail with `400 Bad Request`.
*
* @param agentName The name of the voice agent.
* @param store Whether to persist the conversation created by this WebSocket session. If omitted, the service
diff --git a/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/BetaVoiceAgentWebSocketClient.java b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/BetaVoiceAgentWebSocketClient.java
index 05059faa2829..33686b401aa1 100644
--- a/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/BetaVoiceAgentWebSocketClient.java
+++ b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/BetaVoiceAgentWebSocketClient.java
@@ -46,9 +46,18 @@ public final class BetaVoiceAgentWebSocketClient {
* `VoiceAgents=V1Preview` opt-in through either the `Foundry-Features` header or the `foundry_features`
* query parameter.
*
- * If the target agent is disabled, the HTTP WebSocket handshake fails before the `101 Switching Protocols`
- * upgrade. The service returns `409 Conflict` using the shared Foundry `ApiErrorResponse` shape with
- * `error.code = agent_disabled`. This failure is terminal until the caller enables the agent.
+ * Handshake failures are evaluated in the following order, independent of the requested `transport`:
+ *
+ * 1. Agent enablement (any transport): if the target agent is disabled, the handshake fails before the
+ * `101 Switching Protocols` upgrade with `409 Conflict`, using the shared Foundry `ApiErrorResponse` shape
+ * with `error.code = agent_disabled`. This failure is terminal until the caller enables the agent, and it
+ * takes precedence over the WebRTC-specific checks below.
+ * 2. WebRTC availability (only when `transport=webrtc`, and only once the agent itself is enabled): the agent
+ * must have the WebRTC transport capability configured. If the agent is enabled but WebRTC is not available
+ * for it, the handshake fails with `404 Not Found`. This is distinct from the `409 agent_disabled` case
+ * above, which concerns the agent itself rather than its WebRTC capability.
+ * 3. WebRTC compatibility (only when `transport=webrtc`): WebRTC does not support bring-your-own-model (BYOM)
+ * or hosted-agent voice agents; those requests fail with `400 Bad Request`.
* Query Parameters
*
* Query Parameters
@@ -58,6 +67,11 @@ public final class BetaVoiceAgentWebSocketClient {
* WebSocket handshake. Set this to `VoiceAgents=V1Preview`. Either this query parameter or the header is
* required. Allowed values: "WorkflowAgents=V1Preview", "ExternalAgents=V1Preview", "DraftAgents=V1Preview",
* "VoiceAgents=V1Preview", "DigitalWorker=V1Preview".
+ * | transport | String | No | Selects the connection transport. Omit or send `websocket`
+ * for the default, where signaling and audio are
+ * exchanged as JSON events over this WebSocket. Send `webrtc` to negotiate a WebRTC connection: the WebSocket
+ * then carries only SDP signaling (`rtc.call.sdp.create` / `rtc.call.sdp.created`) while media and the data
+ * channel are peer-to-peer. Allowed values: "websocket", "webrtc". |
* | store | Boolean | No | Whether to persist the conversation created by this WebSocket
* session. If omitted, the service honors the
* persisted voice agent definition's configured `store` value. If supplied, this value overrides the
@@ -104,9 +118,18 @@ public Response connectVoiceAgentWithResponse(String agentName, RequestOpt
* `VoiceAgents=V1Preview` opt-in through either the `Foundry-Features` header or the `foundry_features`
* query parameter.
*
- * If the target agent is disabled, the HTTP WebSocket handshake fails before the `101 Switching Protocols`
- * upgrade. The service returns `409 Conflict` using the shared Foundry `ApiErrorResponse` shape with
- * `error.code = agent_disabled`. This failure is terminal until the caller enables the agent.
+ * Handshake failures are evaluated in the following order, independent of the requested `transport`:
+ *
+ * 1. Agent enablement (any transport): if the target agent is disabled, the handshake fails before the
+ * `101 Switching Protocols` upgrade with `409 Conflict`, using the shared Foundry `ApiErrorResponse` shape
+ * with `error.code = agent_disabled`. This failure is terminal until the caller enables the agent, and it
+ * takes precedence over the WebRTC-specific checks below.
+ * 2. WebRTC availability (only when `transport=webrtc`, and only once the agent itself is enabled): the agent
+ * must have the WebRTC transport capability configured. If the agent is enabled but WebRTC is not available
+ * for it, the handshake fails with `404 Not Found`. This is distinct from the `409 agent_disabled` case
+ * above, which concerns the agent itself rather than its WebRTC capability.
+ * 3. WebRTC compatibility (only when `transport=webrtc`): WebRTC does not support bring-your-own-model (BYOM)
+ * or hosted-agent voice agents; those requests fail with `400 Bad Request`.
*
* @param agentName The name of the voice agent.
* @throws IllegalArgumentException thrown if parameters fail the validation.
@@ -132,9 +155,18 @@ public void connectVoiceAgent(String agentName) {
* `VoiceAgents=V1Preview` opt-in through either the `Foundry-Features` header or the `foundry_features`
* query parameter.
*
- * If the target agent is disabled, the HTTP WebSocket handshake fails before the `101 Switching Protocols`
- * upgrade. The service returns `409 Conflict` using the shared Foundry `ApiErrorResponse` shape with
- * `error.code = agent_disabled`. This failure is terminal until the caller enables the agent.
+ * Handshake failures are evaluated in the following order, independent of the requested `transport`:
+ *
+ * 1. Agent enablement (any transport): if the target agent is disabled, the handshake fails before the
+ * `101 Switching Protocols` upgrade with `409 Conflict`, using the shared Foundry `ApiErrorResponse` shape
+ * with `error.code = agent_disabled`. This failure is terminal until the caller enables the agent, and it
+ * takes precedence over the WebRTC-specific checks below.
+ * 2. WebRTC availability (only when `transport=webrtc`, and only once the agent itself is enabled): the agent
+ * must have the WebRTC transport capability configured. If the agent is enabled but WebRTC is not available
+ * for it, the handshake fails with `404 Not Found`. This is distinct from the `409 agent_disabled` case
+ * above, which concerns the agent itself rather than its WebRTC capability.
+ * 3. WebRTC compatibility (only when `transport=webrtc`): WebRTC does not support bring-your-own-model (BYOM)
+ * or hosted-agent voice agents; those requests fail with `400 Bad Request`.
*
* @param agentName The name of the voice agent.
* @param store Whether to persist the conversation created by this WebSocket session. If omitted, the service
diff --git a/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/implementation/AgentEndpointConversationsImpl.java b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/implementation/AgentEndpointConversationsImpl.java
new file mode 100644
index 000000000000..e6b1ba20da22
--- /dev/null
+++ b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/implementation/AgentEndpointConversationsImpl.java
@@ -0,0 +1,281 @@
+// 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;
+
+import com.azure.ai.agents.AgentsServiceVersion;
+import com.azure.core.annotation.ExpectedResponses;
+import com.azure.core.annotation.Get;
+import com.azure.core.annotation.HeaderParam;
+import com.azure.core.annotation.Host;
+import com.azure.core.annotation.HostParam;
+import com.azure.core.annotation.PathParam;
+import com.azure.core.annotation.QueryParam;
+import com.azure.core.annotation.ReturnType;
+import com.azure.core.annotation.ServiceInterface;
+import com.azure.core.annotation.ServiceMethod;
+import com.azure.core.annotation.UnexpectedResponseExceptionType;
+import com.azure.core.exception.ClientAuthenticationException;
+import com.azure.core.exception.HttpResponseException;
+import com.azure.core.exception.ResourceModifiedException;
+import com.azure.core.exception.ResourceNotFoundException;
+import com.azure.core.http.rest.RequestOptions;
+import com.azure.core.http.rest.Response;
+import com.azure.core.http.rest.RestProxy;
+import com.azure.core.util.BinaryData;
+import com.azure.core.util.Context;
+import com.azure.core.util.FluxUtil;
+import reactor.core.publisher.Mono;
+
+/**
+ * An instance of this class provides access to all the operations defined in AgentEndpointConversations.
+ */
+public final class AgentEndpointConversationsImpl {
+ /**
+ * The proxy service used to perform REST calls.
+ */
+ private final AgentEndpointConversationsService service;
+
+ /**
+ * The service client containing this operation class.
+ */
+ private final AgentsClientImpl client;
+
+ /**
+ * Initializes an instance of AgentEndpointConversationsImpl.
+ *
+ * @param client the instance of the service client containing this operation class.
+ */
+ AgentEndpointConversationsImpl(AgentsClientImpl client) {
+ this.service = RestProxy.create(AgentEndpointConversationsService.class, client.getHttpPipeline(),
+ client.getSerializerAdapter());
+ this.client = client;
+ }
+
+ /**
+ * Gets Service version.
+ *
+ * @return the serviceVersion value.
+ */
+ public AgentsServiceVersion getServiceVersion() {
+ return client.getServiceVersion();
+ }
+
+ /**
+ * The interface defining all the services for AgentsClientAgentEndpointConversations to be used by the proxy
+ * service to perform REST calls.
+ */
+ @Host("{endpoint}")
+ @ServiceInterface(name = "AgentsClientAgentEndpointConversations")
+ public interface AgentEndpointConversationsService {
+ @Get("/agents/{agent_name}/endpoint/protocols/voice/conversations/{conversation_id}/items/{item_id}/audio/generated")
+ @ExpectedResponses({ 200 })
+ @UnexpectedResponseExceptionType(value = ClientAuthenticationException.class, code = { 401 })
+ @UnexpectedResponseExceptionType(value = ResourceNotFoundException.class, code = { 404 })
+ @UnexpectedResponseExceptionType(value = ResourceModifiedException.class, code = { 409 })
+ @UnexpectedResponseExceptionType(HttpResponseException.class)
+ Mono> getAgentConversationItemGeneratedAudio(@HostParam("endpoint") String endpoint,
+ @PathParam("agent_name") String agentName, @PathParam("conversation_id") String conversationId,
+ @PathParam("item_id") String itemId, @QueryParam("api-version") String apiVersion,
+ @HeaderParam("Accept") String accept, RequestOptions requestOptions, Context context);
+
+ @Get("/agents/{agent_name}/endpoint/protocols/voice/conversations/{conversation_id}/items/{item_id}/audio/generated")
+ @ExpectedResponses({ 200 })
+ @UnexpectedResponseExceptionType(value = ClientAuthenticationException.class, code = { 401 })
+ @UnexpectedResponseExceptionType(value = ResourceNotFoundException.class, code = { 404 })
+ @UnexpectedResponseExceptionType(value = ResourceModifiedException.class, code = { 409 })
+ @UnexpectedResponseExceptionType(HttpResponseException.class)
+ Response getAgentConversationItemGeneratedAudioSync(@HostParam("endpoint") String endpoint,
+ @PathParam("agent_name") String agentName, @PathParam("conversation_id") String conversationId,
+ @PathParam("item_id") String itemId, @QueryParam("api-version") String apiVersion,
+ @HeaderParam("Accept") String accept, RequestOptions requestOptions, Context context);
+
+ @Get("/agents/{agent_name}/endpoint/protocols/voice/conversations/{conversation_id}/items/{item_id}/audio/generated/content")
+ @ExpectedResponses({ 200 })
+ @UnexpectedResponseExceptionType(value = ClientAuthenticationException.class, code = { 401 })
+ @UnexpectedResponseExceptionType(value = ResourceNotFoundException.class, code = { 404 })
+ @UnexpectedResponseExceptionType(value = ResourceModifiedException.class, code = { 409 })
+ @UnexpectedResponseExceptionType(HttpResponseException.class)
+ Mono> getAgentConversationItemGeneratedAudioContent(@HostParam("endpoint") String endpoint,
+ @PathParam("agent_name") String agentName, @PathParam("conversation_id") String conversationId,
+ @PathParam("item_id") String itemId, @QueryParam("api-version") String apiVersion,
+ @HeaderParam("Accept") String accept, RequestOptions requestOptions, Context context);
+
+ @Get("/agents/{agent_name}/endpoint/protocols/voice/conversations/{conversation_id}/items/{item_id}/audio/generated/content")
+ @ExpectedResponses({ 200 })
+ @UnexpectedResponseExceptionType(value = ClientAuthenticationException.class, code = { 401 })
+ @UnexpectedResponseExceptionType(value = ResourceNotFoundException.class, code = { 404 })
+ @UnexpectedResponseExceptionType(value = ResourceModifiedException.class, code = { 409 })
+ @UnexpectedResponseExceptionType(HttpResponseException.class)
+ Response getAgentConversationItemGeneratedAudioContentSync(@HostParam("endpoint") String endpoint,
+ @PathParam("agent_name") String agentName, @PathParam("conversation_id") String conversationId,
+ @PathParam("item_id") String itemId, @QueryParam("api-version") String apiVersion,
+ @HeaderParam("Accept") String accept, RequestOptions requestOptions, Context context);
+ }
+
+ /**
+ * Get a voice agent conversation item's generated audio metadata
+ *
+ * Returns metadata for a conversation item's generated audio. This subordinate artifact is separate from the
+ * canonical heard-audio segment and exists only when playback was interrupted and the service rendered more audio
+ * than the listener heard, including when the response ends as cancelled. Returns `404` when the conversation or
+ * item was not persisted, or when no generated audio exists beyond the heard segment.
+ * Response Body Schema
+ *
+ *
+ * {@code
+ * {
+ * conversation_id: String (Required)
+ * item_id: String (Required)
+ * role: String(user/agent) (Optional)
+ * format: String(wav) (Optional)
+ * codec: String(pcm16/pcmu/pcma) (Optional)
+ * sample_rate: Integer (Optional)
+ * channels: Integer (Optional)
+ * start_offset_ms: Long (Optional)
+ * duration_ms: Long (Optional)
+ * blob_uri: String (Optional)
+ * }
+ * }
+ *
+ *
+ * @param agentName The name of the agent.
+ * @param conversationId The id of the conversation that contains the item.
+ * @param itemId The id of the conversation item whose generated audio metadata is retrieved.
+ * @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 a voice agent conversation item's generated audio metadata
+ *
+ * Returns metadata for a conversation item's generated audio along with {@link Response} on successful completion
+ * of {@link Mono}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ public Mono> getAgentConversationItemGeneratedAudioWithResponseAsync(String agentName,
+ String conversationId, String itemId, RequestOptions requestOptions) {
+ final String accept = "application/json";
+ return FluxUtil
+ .withContext(context -> service.getAgentConversationItemGeneratedAudio(this.client.getEndpoint(), agentName,
+ conversationId, itemId, this.client.getServiceVersion().getVersion(), accept, requestOptions, context));
+ }
+
+ /**
+ * Get a voice agent conversation item's generated audio metadata
+ *
+ * Returns metadata for a conversation item's generated audio. This subordinate artifact is separate from the
+ * canonical heard-audio segment and exists only when playback was interrupted and the service rendered more audio
+ * than the listener heard, including when the response ends as cancelled. Returns `404` when the conversation or
+ * item was not persisted, or when no generated audio exists beyond the heard segment.
+ * Response Body Schema
+ *
+ *
+ * {@code
+ * {
+ * conversation_id: String (Required)
+ * item_id: String (Required)
+ * role: String(user/agent) (Optional)
+ * format: String(wav) (Optional)
+ * codec: String(pcm16/pcmu/pcma) (Optional)
+ * sample_rate: Integer (Optional)
+ * channels: Integer (Optional)
+ * start_offset_ms: Long (Optional)
+ * duration_ms: Long (Optional)
+ * blob_uri: String (Optional)
+ * }
+ * }
+ *
+ *
+ * @param agentName The name of the agent.
+ * @param conversationId The id of the conversation that contains the item.
+ * @param itemId The id of the conversation item whose generated audio metadata is retrieved.
+ * @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 a voice agent conversation item's generated audio metadata
+ *
+ * Returns metadata for a conversation item's generated audio along with {@link Response}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ public Response getAgentConversationItemGeneratedAudioWithResponse(String agentName,
+ String conversationId, String itemId, RequestOptions requestOptions) {
+ final String accept = "application/json";
+ return service.getAgentConversationItemGeneratedAudioSync(this.client.getEndpoint(), agentName, conversationId,
+ itemId, this.client.getServiceVersion().getVersion(), accept, requestOptions, Context.NONE);
+ }
+
+ /**
+ * Stream a voice agent conversation item's generated audio
+ *
+ * Streams a conversation item's generated audio as a WAV (`audio/wav`) byte stream through the service. This
+ * subordinate artifact exists only when playback was interrupted and the service rendered more audio than the
+ * listener heard, including when the response ends as cancelled. This route serves Foundry-managed storage only.
+ * For bring-your-own-storage (BYOS) recordings the bytes are not proxied, so this route returns `409 Conflict`.
+ * Returns `404` when the conversation or item was not persisted, or when no generated audio exists beyond the
+ * heard segment.
+ * Response Body Schema
+ *
+ *
+ * {@code
+ * BinaryData
+ * }
+ *
+ *
+ * @param agentName The name of the agent.
+ * @param conversationId The id of the conversation that contains the item.
+ * @param itemId The id of the conversation item whose generated audio is streamed.
+ * @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> getAgentConversationItemGeneratedAudioContentWithResponseAsync(String agentName,
+ String conversationId, String itemId, RequestOptions requestOptions) {
+ final String accept = "audio/wav";
+ return FluxUtil.withContext(
+ context -> service.getAgentConversationItemGeneratedAudioContent(this.client.getEndpoint(), agentName,
+ conversationId, itemId, this.client.getServiceVersion().getVersion(), accept, requestOptions, context));
+ }
+
+ /**
+ * Stream a voice agent conversation item's generated audio
+ *
+ * Streams a conversation item's generated audio as a WAV (`audio/wav`) byte stream through the service. This
+ * subordinate artifact exists only when playback was interrupted and the service rendered more audio than the
+ * listener heard, including when the response ends as cancelled. This route serves Foundry-managed storage only.
+ * For bring-your-own-storage (BYOS) recordings the bytes are not proxied, so this route returns `409 Conflict`.
+ * Returns `404` when the conversation or item was not persisted, or when no generated audio exists beyond the
+ * heard segment.
+ * Response Body Schema
+ *
+ *
+ * {@code
+ * BinaryData
+ * }
+ *
+ *
+ * @param agentName The name of the agent.
+ * @param conversationId The id of the conversation that contains the item.
+ * @param itemId The id of the conversation item whose generated audio is streamed.
+ * @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 getAgentConversationItemGeneratedAudioContentWithResponse(String agentName,
+ String conversationId, String itemId, RequestOptions requestOptions) {
+ final String accept = "audio/wav";
+ return service.getAgentConversationItemGeneratedAudioContentSync(this.client.getEndpoint(), agentName,
+ conversationId, itemId, this.client.getServiceVersion().getVersion(), accept, requestOptions, Context.NONE);
+ }
+}
diff --git a/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/implementation/AgentsClientImpl.java b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/implementation/AgentsClientImpl.java
index 41ad2bcebaea..8f5fc69de92d 100644
--- a/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/implementation/AgentsClientImpl.java
+++ b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/implementation/AgentsClientImpl.java
@@ -150,6 +150,20 @@ public AgentsImpl getAgents() {
return this.agents;
}
+ /**
+ * The AgentEndpointConversationsImpl object to access its operations.
+ */
+ private final AgentEndpointConversationsImpl agentEndpointConversations;
+
+ /**
+ * Gets the AgentEndpointConversationsImpl object to access its operations.
+ *
+ * @return the AgentEndpointConversationsImpl object.
+ */
+ public AgentEndpointConversationsImpl getAgentEndpointConversations() {
+ return this.agentEndpointConversations;
+ }
+
/**
* The ToolboxesImpl object to access its operations.
*/
@@ -217,6 +231,7 @@ public AgentsClientImpl(HttpPipeline httpPipeline, SerializerAdapter serializerA
this.betaVoiceAgentWebSockets = new BetaVoiceAgentWebSocketsImpl(this);
this.betaAgentEndpointConversations = new BetaAgentEndpointConversationsImpl(this);
this.agents = new AgentsImpl(this);
+ this.agentEndpointConversations = new AgentEndpointConversationsImpl(this);
this.toolboxes = new ToolboxesImpl(this);
}
}
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 5ebf4a7431e9..488611bf3c0d 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
@@ -25,6 +25,7 @@
import com.azure.core.exception.HttpResponseException;
import com.azure.core.exception.ResourceModifiedException;
import com.azure.core.exception.ResourceNotFoundException;
+import com.azure.core.http.HttpHeaderName;
import com.azure.core.http.rest.PagedFlux;
import com.azure.core.http.rest.PagedIterable;
import com.azure.core.http.rest.PagedResponse;
@@ -34,7 +35,10 @@
import com.azure.core.http.rest.RestProxy;
import com.azure.core.util.BinaryData;
import com.azure.core.util.Context;
+import com.azure.core.util.CoreUtils;
+import com.azure.core.util.DateTimeRfc1123;
import com.azure.core.util.FluxUtil;
+import java.time.OffsetDateTime;
import java.util.List;
import java.util.Map;
import java.util.stream.Collectors;
@@ -658,6 +662,252 @@ Response getSessionLogStreamSync(@HostParam("endpoint") String endpo
@PathParam("session_id") String sessionId, @QueryParam("api-version") String apiVersion,
@HeaderParam("Accept") String accept, RequestOptions requestOptions, Context context);
+ @Post("/agents/{agent_name}/telephony_bindings")
+ @ExpectedResponses({ 201 })
+ @UnexpectedResponseExceptionType(value = ClientAuthenticationException.class, code = { 401 })
+ @UnexpectedResponseExceptionType(value = ResourceNotFoundException.class, code = { 404 })
+ @UnexpectedResponseExceptionType(value = ResourceModifiedException.class, code = { 409 })
+ @UnexpectedResponseExceptionType(HttpResponseException.class)
+ Mono> createTelephonyBinding(@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 body, RequestOptions requestOptions, Context context);
+
+ @Post("/agents/{agent_name}/telephony_bindings")
+ @ExpectedResponses({ 201 })
+ @UnexpectedResponseExceptionType(value = ClientAuthenticationException.class, code = { 401 })
+ @UnexpectedResponseExceptionType(value = ResourceNotFoundException.class, code = { 404 })
+ @UnexpectedResponseExceptionType(value = ResourceModifiedException.class, code = { 409 })
+ @UnexpectedResponseExceptionType(HttpResponseException.class)
+ Response createTelephonyBindingSync(@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 body, RequestOptions requestOptions, Context context);
+
+ @Get("/agents/{agent_name}/telephony_bindings")
+ @ExpectedResponses({ 200 })
+ @UnexpectedResponseExceptionType(value = ClientAuthenticationException.class, code = { 401 })
+ @UnexpectedResponseExceptionType(value = ResourceNotFoundException.class, code = { 404 })
+ @UnexpectedResponseExceptionType(value = ResourceModifiedException.class, code = { 409 })
+ @UnexpectedResponseExceptionType(HttpResponseException.class)
+ Mono> listTelephonyBindings(@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}/telephony_bindings")
+ @ExpectedResponses({ 200 })
+ @UnexpectedResponseExceptionType(value = ClientAuthenticationException.class, code = { 401 })
+ @UnexpectedResponseExceptionType(value = ResourceNotFoundException.class, code = { 404 })
+ @UnexpectedResponseExceptionType(value = ResourceModifiedException.class, code = { 409 })
+ @UnexpectedResponseExceptionType(HttpResponseException.class)
+ Response listTelephonyBindingsSync(@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}/telephony_bindings/{binding_id}")
+ @ExpectedResponses({ 200 })
+ @UnexpectedResponseExceptionType(value = ClientAuthenticationException.class, code = { 401 })
+ @UnexpectedResponseExceptionType(value = ResourceNotFoundException.class, code = { 404 })
+ @UnexpectedResponseExceptionType(value = ResourceModifiedException.class, code = { 409 })
+ @UnexpectedResponseExceptionType(HttpResponseException.class)
+ Mono> getTelephonyBinding(@HostParam("endpoint") String endpoint,
+ @PathParam("agent_name") String agentName, @PathParam("binding_id") String bindingId,
+ @QueryParam("api-version") String apiVersion, @HeaderParam("Accept") String accept,
+ RequestOptions requestOptions, Context context);
+
+ @Get("/agents/{agent_name}/telephony_bindings/{binding_id}")
+ @ExpectedResponses({ 200 })
+ @UnexpectedResponseExceptionType(value = ClientAuthenticationException.class, code = { 401 })
+ @UnexpectedResponseExceptionType(value = ResourceNotFoundException.class, code = { 404 })
+ @UnexpectedResponseExceptionType(value = ResourceModifiedException.class, code = { 409 })
+ @UnexpectedResponseExceptionType(HttpResponseException.class)
+ Response getTelephonyBindingSync(@HostParam("endpoint") String endpoint,
+ @PathParam("agent_name") String agentName, @PathParam("binding_id") String bindingId,
+ @QueryParam("api-version") String apiVersion, @HeaderParam("Accept") String accept,
+ RequestOptions requestOptions, Context context);
+
+ @Patch("/agents/{agent_name}/telephony_bindings/{binding_id}")
+ @ExpectedResponses({ 200 })
+ @UnexpectedResponseExceptionType(value = ClientAuthenticationException.class, code = { 401 })
+ @UnexpectedResponseExceptionType(value = ResourceNotFoundException.class, code = { 404 })
+ @UnexpectedResponseExceptionType(value = ResourceModifiedException.class, code = { 409 })
+ @UnexpectedResponseExceptionType(HttpResponseException.class)
+ Mono> updateTelephonyBinding(@HostParam("endpoint") String endpoint,
+ @PathParam("agent_name") String agentName, @PathParam("binding_id") String bindingId,
+ @HeaderParam("Content-Type") String contentType, @HeaderParam("If-Match") String ifMatch,
+ @QueryParam("api-version") String apiVersion, @HeaderParam("Accept") String accept,
+ @BodyParam("application/merge-patch+json") BinaryData body, RequestOptions requestOptions, Context context);
+
+ @Patch("/agents/{agent_name}/telephony_bindings/{binding_id}")
+ @ExpectedResponses({ 200 })
+ @UnexpectedResponseExceptionType(value = ClientAuthenticationException.class, code = { 401 })
+ @UnexpectedResponseExceptionType(value = ResourceNotFoundException.class, code = { 404 })
+ @UnexpectedResponseExceptionType(value = ResourceModifiedException.class, code = { 409 })
+ @UnexpectedResponseExceptionType(HttpResponseException.class)
+ Response updateTelephonyBindingSync(@HostParam("endpoint") String endpoint,
+ @PathParam("agent_name") String agentName, @PathParam("binding_id") String bindingId,
+ @HeaderParam("Content-Type") String contentType, @HeaderParam("If-Match") String ifMatch,
+ @QueryParam("api-version") String apiVersion, @HeaderParam("Accept") String accept,
+ @BodyParam("application/merge-patch+json") BinaryData body, RequestOptions requestOptions, Context context);
+
+ @Delete("/agents/{agent_name}/telephony_bindings/{binding_id}")
+ @ExpectedResponses({ 204 })
+ @UnexpectedResponseExceptionType(value = ClientAuthenticationException.class, code = { 401 })
+ @UnexpectedResponseExceptionType(value = ResourceNotFoundException.class, code = { 404 })
+ @UnexpectedResponseExceptionType(value = ResourceModifiedException.class, code = { 409 })
+ @UnexpectedResponseExceptionType(HttpResponseException.class)
+ Mono> deleteTelephonyBinding(@HostParam("endpoint") String endpoint,
+ @PathParam("agent_name") String agentName, @PathParam("binding_id") String bindingId,
+ @HeaderParam("If-Match") String ifMatch, @QueryParam("api-version") String apiVersion,
+ RequestOptions requestOptions, Context context);
+
+ @Delete("/agents/{agent_name}/telephony_bindings/{binding_id}")
+ @ExpectedResponses({ 204 })
+ @UnexpectedResponseExceptionType(value = ClientAuthenticationException.class, code = { 401 })
+ @UnexpectedResponseExceptionType(value = ResourceNotFoundException.class, code = { 404 })
+ @UnexpectedResponseExceptionType(value = ResourceModifiedException.class, code = { 409 })
+ @UnexpectedResponseExceptionType(HttpResponseException.class)
+ Response deleteTelephonyBindingSync(@HostParam("endpoint") String endpoint,
+ @PathParam("agent_name") String agentName, @PathParam("binding_id") String bindingId,
+ @HeaderParam("If-Match") String ifMatch, @QueryParam("api-version") String apiVersion,
+ RequestOptions requestOptions, Context context);
+
+ @Get("/agents/{agent_name}/telephony_calls")
+ @ExpectedResponses({ 200 })
+ @UnexpectedResponseExceptionType(value = ClientAuthenticationException.class, code = { 401 })
+ @UnexpectedResponseExceptionType(value = ResourceNotFoundException.class, code = { 404 })
+ @UnexpectedResponseExceptionType(value = ResourceModifiedException.class, code = { 409 })
+ @UnexpectedResponseExceptionType(HttpResponseException.class)
+ Mono> listTelephonyCalls(@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}/telephony_calls")
+ @ExpectedResponses({ 200 })
+ @UnexpectedResponseExceptionType(value = ClientAuthenticationException.class, code = { 401 })
+ @UnexpectedResponseExceptionType(value = ResourceNotFoundException.class, code = { 404 })
+ @UnexpectedResponseExceptionType(value = ResourceModifiedException.class, code = { 409 })
+ @UnexpectedResponseExceptionType(HttpResponseException.class)
+ Response listTelephonyCallsSync(@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}/telephony_calls/{call_id}")
+ @ExpectedResponses({ 200 })
+ @UnexpectedResponseExceptionType(value = ClientAuthenticationException.class, code = { 401 })
+ @UnexpectedResponseExceptionType(value = ResourceNotFoundException.class, code = { 404 })
+ @UnexpectedResponseExceptionType(value = ResourceModifiedException.class, code = { 409 })
+ @UnexpectedResponseExceptionType(HttpResponseException.class)
+ Mono> getTelephonyCall(@HostParam("endpoint") String endpoint,
+ @PathParam("agent_name") String agentName, @PathParam("call_id") String callId,
+ @QueryParam("api-version") String apiVersion, @HeaderParam("Accept") String accept,
+ RequestOptions requestOptions, Context context);
+
+ @Get("/agents/{agent_name}/telephony_calls/{call_id}")
+ @ExpectedResponses({ 200 })
+ @UnexpectedResponseExceptionType(value = ClientAuthenticationException.class, code = { 401 })
+ @UnexpectedResponseExceptionType(value = ResourceNotFoundException.class, code = { 404 })
+ @UnexpectedResponseExceptionType(value = ResourceModifiedException.class, code = { 409 })
+ @UnexpectedResponseExceptionType(HttpResponseException.class)
+ Response getTelephonyCallSync(@HostParam("endpoint") String endpoint,
+ @PathParam("agent_name") String agentName, @PathParam("call_id") String callId,
+ @QueryParam("api-version") String apiVersion, @HeaderParam("Accept") String accept,
+ RequestOptions requestOptions, Context context);
+
+ @Post("/agents/{agent_name}/telephony_calls/{call_id}:transfer")
+ @ExpectedResponses({ 200 })
+ @UnexpectedResponseExceptionType(value = ClientAuthenticationException.class, code = { 401 })
+ @UnexpectedResponseExceptionType(value = ResourceNotFoundException.class, code = { 404 })
+ @UnexpectedResponseExceptionType(value = ResourceModifiedException.class, code = { 409 })
+ @UnexpectedResponseExceptionType(HttpResponseException.class)
+ Mono> transferTelephonyCall(@HostParam("endpoint") String endpoint,
+ @PathParam("agent_name") String agentName, @PathParam("call_id") String callId,
+ @QueryParam("api-version") String apiVersion, @HeaderParam("Content-Type") String contentType,
+ @HeaderParam("Accept") String accept,
+ @BodyParam("application/json") BinaryData transferTelephonyCallRequest, RequestOptions requestOptions,
+ Context context);
+
+ @Post("/agents/{agent_name}/telephony_calls/{call_id}:transfer")
+ @ExpectedResponses({ 200 })
+ @UnexpectedResponseExceptionType(value = ClientAuthenticationException.class, code = { 401 })
+ @UnexpectedResponseExceptionType(value = ResourceNotFoundException.class, code = { 404 })
+ @UnexpectedResponseExceptionType(value = ResourceModifiedException.class, code = { 409 })
+ @UnexpectedResponseExceptionType(HttpResponseException.class)
+ Response transferTelephonyCallSync(@HostParam("endpoint") String endpoint,
+ @PathParam("agent_name") String agentName, @PathParam("call_id") String callId,
+ @QueryParam("api-version") String apiVersion, @HeaderParam("Content-Type") String contentType,
+ @HeaderParam("Accept") String accept,
+ @BodyParam("application/json") BinaryData transferTelephonyCallRequest, RequestOptions requestOptions,
+ Context context);
+
+ @Post("/agents/{agent_name}/telephony_calls/{call_id}:end")
+ @ExpectedResponses({ 200 })
+ @UnexpectedResponseExceptionType(value = ClientAuthenticationException.class, code = { 401 })
+ @UnexpectedResponseExceptionType(value = ResourceNotFoundException.class, code = { 404 })
+ @UnexpectedResponseExceptionType(value = ResourceModifiedException.class, code = { 409 })
+ @UnexpectedResponseExceptionType(HttpResponseException.class)
+ Mono> endTelephonyCall(@HostParam("endpoint") String endpoint,
+ @PathParam("agent_name") String agentName, @PathParam("call_id") String callId,
+ @QueryParam("api-version") String apiVersion, @HeaderParam("Accept") String accept,
+ RequestOptions requestOptions, Context context);
+
+ @Post("/agents/{agent_name}/telephony_calls/{call_id}:end")
+ @ExpectedResponses({ 200 })
+ @UnexpectedResponseExceptionType(value = ClientAuthenticationException.class, code = { 401 })
+ @UnexpectedResponseExceptionType(value = ResourceNotFoundException.class, code = { 404 })
+ @UnexpectedResponseExceptionType(value = ResourceModifiedException.class, code = { 409 })
+ @UnexpectedResponseExceptionType(HttpResponseException.class)
+ Response endTelephonyCallSync(@HostParam("endpoint") String endpoint,
+ @PathParam("agent_name") String agentName, @PathParam("call_id") String callId,
+ @QueryParam("api-version") String apiVersion, @HeaderParam("Accept") String accept,
+ RequestOptions requestOptions, Context context);
+
+ @Get("/agents/{agent_name}/telephony_transfer_targets")
+ @ExpectedResponses({ 200 })
+ @UnexpectedResponseExceptionType(value = ClientAuthenticationException.class, code = { 401 })
+ @UnexpectedResponseExceptionType(value = ResourceNotFoundException.class, code = { 404 })
+ @UnexpectedResponseExceptionType(value = ResourceModifiedException.class, code = { 409 })
+ @UnexpectedResponseExceptionType(HttpResponseException.class)
+ Mono> getTelephonyTransferTargets(@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}/telephony_transfer_targets")
+ @ExpectedResponses({ 200 })
+ @UnexpectedResponseExceptionType(value = ClientAuthenticationException.class, code = { 401 })
+ @UnexpectedResponseExceptionType(value = ResourceNotFoundException.class, code = { 404 })
+ @UnexpectedResponseExceptionType(value = ResourceModifiedException.class, code = { 409 })
+ @UnexpectedResponseExceptionType(HttpResponseException.class)
+ Response getTelephonyTransferTargetsSync(@HostParam("endpoint") String endpoint,
+ @PathParam("agent_name") String agentName, @QueryParam("api-version") String apiVersion,
+ @HeaderParam("Accept") String accept, RequestOptions requestOptions, Context context);
+
+ @Put("/agents/{agent_name}/telephony_transfer_targets")
+ @ExpectedResponses({ 200 })
+ @UnexpectedResponseExceptionType(value = ClientAuthenticationException.class, code = { 401 })
+ @UnexpectedResponseExceptionType(value = ResourceNotFoundException.class, code = { 404 })
+ @UnexpectedResponseExceptionType(value = ResourceModifiedException.class, code = { 409 })
+ @UnexpectedResponseExceptionType(HttpResponseException.class)
+ Mono> replaceTelephonyTransferTargets(@HostParam("endpoint") String endpoint,
+ @PathParam("agent_name") String agentName, @HeaderParam("If-Match") String ifMatch,
+ @QueryParam("api-version") String apiVersion, @HeaderParam("Content-Type") String contentType,
+ @HeaderParam("Accept") String accept,
+ @BodyParam("application/json") BinaryData replaceTelephonyTransferTargetsRequest,
+ RequestOptions requestOptions, Context context);
+
+ @Put("/agents/{agent_name}/telephony_transfer_targets")
+ @ExpectedResponses({ 200 })
+ @UnexpectedResponseExceptionType(value = ClientAuthenticationException.class, code = { 401 })
+ @UnexpectedResponseExceptionType(value = ResourceNotFoundException.class, code = { 404 })
+ @UnexpectedResponseExceptionType(value = ResourceModifiedException.class, code = { 409 })
+ @UnexpectedResponseExceptionType(HttpResponseException.class)
+ Response replaceTelephonyTransferTargetsSync(@HostParam("endpoint") String endpoint,
+ @PathParam("agent_name") String agentName, @HeaderParam("If-Match") String ifMatch,
+ @QueryParam("api-version") String apiVersion, @HeaderParam("Content-Type") String contentType,
+ @HeaderParam("Accept") String accept,
+ @BodyParam("application/json") BinaryData replaceTelephonyTransferTargetsRequest,
+ RequestOptions requestOptions, Context context);
+
@Put("/agents/{agent_name}/endpoint/sessions/{agent_session_id}/files/content")
@ExpectedResponses({ 201 })
@UnexpectedResponseExceptionType(value = ClientAuthenticationException.class, code = { 401 })
@@ -5931,6 +6181,1649 @@ public Response getSessionLogStreamWithResponse(String agentName, St
this.client.getServiceVersion().getVersion(), accept, requestOptions, Context.NONE);
}
+ /**
+ * Create an agent telephony binding
+ *
+ * Creates a telephony binding for the voice agent named in the path.
+ * Header Parameters
+ *
+ * Header Parameters
+ * | Name | Type | Required | Description |
+ * | repeatability-request-id | String | No | Repeatability request ID header |
+ * | repeatability-first-sent | String | No | Repeatability first sent header as
+ * HTTP-date |
+ *
+ * You can add these to a request with {@link RequestOptions#addHeader}
+ * Request Body Schema
+ *
+ *
+ * {@code
+ * BinaryData
+ * }
+ *
+ *
+ * Response Body Schema
+ *
+ *
+ * {@code
+ * BinaryData
+ * }
+ *
+ *
+ * Response Headers
+ *
+ * Response Headers
+ * | Name | Type | Description |
+ * | ETag | String | The entity tag to send in the `If-Match` header when updating or deleting the
+ * binding. |
+ *
+ *
+ * @param agentName The name of the voice agent that owns the binding.
+ * @param body The provider-specific binding to create.
+ * @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 a telephony binding owned by a voice agent along with {@link Response} on successful completion of
+ * {@link Mono}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ public Mono> createTelephonyBindingWithResponseAsync(String agentName, BinaryData body,
+ RequestOptions requestOptions) {
+ final String contentType = "application/json";
+ final String accept = "application/json";
+ RequestOptions requestOptionsLocal = requestOptions == null ? new RequestOptions() : requestOptions;
+ requestOptionsLocal.addRequestCallback(requestLocal -> {
+ if (requestLocal.getHeaders().get(HttpHeaderName.fromString("repeatability-request-id")) == null) {
+ requestLocal.getHeaders()
+ .set(HttpHeaderName.fromString("repeatability-request-id"), CoreUtils.randomUuid().toString());
+ }
+ });
+ requestOptionsLocal.addRequestCallback(requestLocal -> {
+ if (requestLocal.getHeaders().get(HttpHeaderName.fromString("repeatability-first-sent")) == null) {
+ requestLocal.getHeaders()
+ .set(HttpHeaderName.fromString("repeatability-first-sent"),
+ DateTimeRfc1123.toRfc1123String(OffsetDateTime.now()));
+ }
+ });
+ return FluxUtil.withContext(context -> service.createTelephonyBinding(this.client.getEndpoint(), agentName,
+ this.client.getServiceVersion().getVersion(), contentType, accept, body, requestOptionsLocal, context));
+ }
+
+ /**
+ * Create an agent telephony binding
+ *
+ * Creates a telephony binding for the voice agent named in the path.
+ * Header Parameters
+ *
+ * Header Parameters
+ * | Name | Type | Required | Description |
+ * | repeatability-request-id | String | No | Repeatability request ID header |
+ * | repeatability-first-sent | String | No | Repeatability first sent header as
+ * HTTP-date |
+ *
+ * You can add these to a request with {@link RequestOptions#addHeader}
+ * Request Body Schema
+ *
+ *
+ * {@code
+ * BinaryData
+ * }
+ *
+ *
+ * Response Body Schema
+ *
+ *
+ * {@code
+ * BinaryData
+ * }
+ *
+ *
+ * Response Headers
+ *
+ * Response Headers
+ * | Name | Type | Description |
+ * | ETag | String | The entity tag to send in the `If-Match` header when updating or deleting the
+ * binding. |
+ *
+ *
+ * @param agentName The name of the voice agent that owns the binding.
+ * @param body The provider-specific binding to create.
+ * @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 a telephony binding owned by a voice agent along with {@link Response}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ public Response createTelephonyBindingWithResponse(String agentName, BinaryData body,
+ RequestOptions requestOptions) {
+ final String contentType = "application/json";
+ final String accept = "application/json";
+ RequestOptions requestOptionsLocal = requestOptions == null ? new RequestOptions() : requestOptions;
+ requestOptionsLocal.addRequestCallback(requestLocal -> {
+ if (requestLocal.getHeaders().get(HttpHeaderName.fromString("repeatability-request-id")) == null) {
+ requestLocal.getHeaders()
+ .set(HttpHeaderName.fromString("repeatability-request-id"), CoreUtils.randomUuid().toString());
+ }
+ });
+ requestOptionsLocal.addRequestCallback(requestLocal -> {
+ if (requestLocal.getHeaders().get(HttpHeaderName.fromString("repeatability-first-sent")) == null) {
+ requestLocal.getHeaders()
+ .set(HttpHeaderName.fromString("repeatability-first-sent"),
+ DateTimeRfc1123.toRfc1123String(OffsetDateTime.now()));
+ }
+ });
+ return service.createTelephonyBindingSync(this.client.getEndpoint(), agentName,
+ this.client.getServiceVersion().getVersion(), contentType, accept, body, requestOptionsLocal, Context.NONE);
+ }
+
+ /**
+ * List agent telephony bindings
+ *
+ * Returns the telephony bindings owned by the voice agent named in the path.
+ * Query Parameters
+ *
+ * Query Parameters
+ * | Name | Type | Required | Description |
+ * | provider | String | No | Filters bindings by provider. Allowed values:
+ * "teams_phone_extension", "twilio". |
+ * | status | String | No | Filters bindings by lifecycle status. Allowed values: "active",
+ * "suspended". |
+ * | limit | Integer | No | A limit on the number of objects to be returned. Limit can range
+ * between 1 and 100, and the
+ * default is 20. |
+ * | order | String | No | Sort order by the `created_at` timestamp of the objects. `asc`
+ * for ascending order and`desc`
+ * for descending order. Allowed values: "asc", "desc". |
+ * | after | String | No | A cursor for use in pagination. `after` is an object ID that
+ * defines your place in the list.
+ * For instance, if you make a list request and receive 100 objects, ending with obj_foo, your
+ * subsequent call can include after=obj_foo in order to fetch the next page of the list. |
+ * | before | String | No | A cursor for use in pagination. `before` is an object ID that
+ * defines your place in the list.
+ * For instance, if you make a list request and receive 100 objects, ending with obj_foo, your
+ * subsequent call can include before=obj_foo in order to fetch the previous page of the list. |
+ *
+ * You can add these to a request with {@link RequestOptions#addQueryParam}
+ * Response Body Schema
+ *
+ *
+ * {@code
+ * BinaryData
+ * }
+ *
+ *
+ * @param agentName The name of the voice agent whose bindings are listed.
+ * @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 data for a requested list of items along with {@link PagedResponse} on successful completion
+ * of {@link Mono}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ private Mono> listTelephonyBindingsSinglePageAsync(String agentName,
+ RequestOptions requestOptions) {
+ final String accept = "application/json";
+ return FluxUtil
+ .withContext(context -> service.listTelephonyBindings(this.client.getEndpoint(), agentName,
+ this.client.getServiceVersion().getVersion(), accept, requestOptions, context))
+ .map(res -> new PagedResponseBase<>(res.getRequest(), res.getStatusCode(), res.getHeaders(),
+ getValues(res.getValue(), "data"), null, null));
+ }
+
+ /**
+ * List agent telephony bindings
+ *
+ * Returns the telephony bindings owned by the voice agent named in the path.
+ * Query Parameters
+ *
+ * Query Parameters
+ * | Name | Type | Required | Description |
+ * | provider | String | No | Filters bindings by provider. Allowed values:
+ * "teams_phone_extension", "twilio". |
+ * | status | String | No | Filters bindings by lifecycle status. Allowed values: "active",
+ * "suspended". |
+ * | limit | Integer | No | A limit on the number of objects to be returned. Limit can range
+ * between 1 and 100, and the
+ * default is 20. |
+ * | order | String | No | Sort order by the `created_at` timestamp of the objects. `asc`
+ * for ascending order and`desc`
+ * for descending order. Allowed values: "asc", "desc". |
+ * | after | String | No | A cursor for use in pagination. `after` is an object ID that
+ * defines your place in the list.
+ * For instance, if you make a list request and receive 100 objects, ending with obj_foo, your
+ * subsequent call can include after=obj_foo in order to fetch the next page of the list. |
+ * | before | String | No | A cursor for use in pagination. `before` is an object ID that
+ * defines your place in the list.
+ * For instance, if you make a list request and receive 100 objects, ending with obj_foo, your
+ * subsequent call can include before=obj_foo in order to fetch the previous page of the list. |
+ *
+ * You can add these to a request with {@link RequestOptions#addQueryParam}
+ * Response Body Schema
+ *
+ *
+ * {@code
+ * BinaryData
+ * }
+ *
+ *
+ * @param agentName The name of the voice agent whose bindings are listed.
+ * @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 data for a requested list of items as paginated response with {@link PagedFlux}.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ public PagedFlux listTelephonyBindingsAsync(String agentName, RequestOptions requestOptions) {
+ return new PagedFlux<>(() -> listTelephonyBindingsSinglePageAsync(agentName, requestOptions));
+ }
+
+ /**
+ * List agent telephony bindings
+ *
+ * Returns the telephony bindings owned by the voice agent named in the path.
+ * Query Parameters
+ *
+ * Query Parameters
+ * | Name | Type | Required | Description |
+ * | provider | String | No | Filters bindings by provider. Allowed values:
+ * "teams_phone_extension", "twilio". |
+ * | status | String | No | Filters bindings by lifecycle status. Allowed values: "active",
+ * "suspended". |
+ * | limit | Integer | No | A limit on the number of objects to be returned. Limit can range
+ * between 1 and 100, and the
+ * default is 20. |
+ * | order | String | No | Sort order by the `created_at` timestamp of the objects. `asc`
+ * for ascending order and`desc`
+ * for descending order. Allowed values: "asc", "desc". |
+ * | after | String | No | A cursor for use in pagination. `after` is an object ID that
+ * defines your place in the list.
+ * For instance, if you make a list request and receive 100 objects, ending with obj_foo, your
+ * subsequent call can include after=obj_foo in order to fetch the next page of the list. |
+ * | before | String | No | A cursor for use in pagination. `before` is an object ID that
+ * defines your place in the list.
+ * For instance, if you make a list request and receive 100 objects, ending with obj_foo, your
+ * subsequent call can include before=obj_foo in order to fetch the previous page of the list. |
+ *
+ * You can add these to a request with {@link RequestOptions#addQueryParam}
+ * Response Body Schema
+ *
+ *
+ * {@code
+ * BinaryData
+ * }
+ *
+ *
+ * @param agentName The name of the voice agent whose bindings are listed.
+ * @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 data for a requested list of items along with {@link PagedResponse}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ private PagedResponse listTelephonyBindingsSinglePage(String agentName, RequestOptions requestOptions) {
+ final String accept = "application/json";
+ Response res = service.listTelephonyBindingsSync(this.client.getEndpoint(), agentName,
+ this.client.getServiceVersion().getVersion(), accept, requestOptions, Context.NONE);
+ return new PagedResponseBase<>(res.getRequest(), res.getStatusCode(), res.getHeaders(),
+ getValues(res.getValue(), "data"), null, null);
+ }
+
+ /**
+ * List agent telephony bindings
+ *
+ * Returns the telephony bindings owned by the voice agent named in the path.
+ * Query Parameters
+ *
+ * Query Parameters
+ * | Name | Type | Required | Description |
+ * | provider | String | No | Filters bindings by provider. Allowed values:
+ * "teams_phone_extension", "twilio". |
+ * | status | String | No | Filters bindings by lifecycle status. Allowed values: "active",
+ * "suspended". |
+ * | limit | Integer | No | A limit on the number of objects to be returned. Limit can range
+ * between 1 and 100, and the
+ * default is 20. |
+ * | order | String | No | Sort order by the `created_at` timestamp of the objects. `asc`
+ * for ascending order and`desc`
+ * for descending order. Allowed values: "asc", "desc". |
+ * | after | String | No | A cursor for use in pagination. `after` is an object ID that
+ * defines your place in the list.
+ * For instance, if you make a list request and receive 100 objects, ending with obj_foo, your
+ * subsequent call can include after=obj_foo in order to fetch the next page of the list. |
+ * | before | String | No | A cursor for use in pagination. `before` is an object ID that
+ * defines your place in the list.
+ * For instance, if you make a list request and receive 100 objects, ending with obj_foo, your
+ * subsequent call can include before=obj_foo in order to fetch the previous page of the list. |
+ *
+ * You can add these to a request with {@link RequestOptions#addQueryParam}
+ * Response Body Schema
+ *
+ *
+ * {@code
+ * BinaryData
+ * }
+ *
+ *
+ * @param agentName The name of the voice agent whose bindings are listed.
+ * @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 data for a requested list of items as paginated response with {@link PagedIterable}.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ public PagedIterable listTelephonyBindings(String agentName, RequestOptions requestOptions) {
+ return new PagedIterable<>(() -> listTelephonyBindingsSinglePage(agentName, requestOptions));
+ }
+
+ /**
+ * Get an agent telephony binding
+ *
+ * Retrieves a telephony binding owned by the voice agent named in the path.
+ * Response Body Schema
+ *
+ *
+ * {@code
+ * BinaryData
+ * }
+ *
+ *
+ * Response Headers
+ *
+ * Response Headers
+ * | Name | Type | Description |
+ * | ETag | String | The entity tag to send in the `If-Match` header when updating or deleting the
+ * binding. |
+ *
+ *
+ * @param agentName The name of the voice agent that owns the binding.
+ * @param bindingId The service-generated binding identifier.
+ * @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 an agent telephony binding
+ *
+ * Retrieves a telephony binding owned by the voice agent named in the path along with {@link Response} on
+ * successful completion of {@link Mono}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ public Mono> getTelephonyBindingWithResponseAsync(String agentName, String bindingId,
+ RequestOptions requestOptions) {
+ final String accept = "application/json";
+ return FluxUtil.withContext(context -> service.getTelephonyBinding(this.client.getEndpoint(), agentName,
+ bindingId, this.client.getServiceVersion().getVersion(), accept, requestOptions, context));
+ }
+
+ /**
+ * Get an agent telephony binding
+ *
+ * Retrieves a telephony binding owned by the voice agent named in the path.
+ * Response Body Schema
+ *
+ *
+ * {@code
+ * BinaryData
+ * }
+ *
+ *
+ * Response Headers
+ *
+ * Response Headers
+ * | Name | Type | Description |
+ * | ETag | String | The entity tag to send in the `If-Match` header when updating or deleting the
+ * binding. |
+ *
+ *
+ * @param agentName The name of the voice agent that owns the binding.
+ * @param bindingId The service-generated binding identifier.
+ * @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 an agent telephony binding
+ *
+ * Retrieves a telephony binding owned by the voice agent named in the path along with {@link Response}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ public Response getTelephonyBindingWithResponse(String agentName, String bindingId,
+ RequestOptions requestOptions) {
+ final String accept = "application/json";
+ return service.getTelephonyBindingSync(this.client.getEndpoint(), agentName, bindingId,
+ this.client.getServiceVersion().getVersion(), accept, requestOptions, Context.NONE);
+ }
+
+ /**
+ * Update an agent telephony binding
+ *
+ * Updates a telephony binding owned by the voice agent named in the path.
+ * Request Body Schema
+ *
+ *
+ * {@code
+ * {
+ * status: String(active/suspended) (Optional)
+ * label: String (Optional)
+ * connection: String (Optional)
+ * phone_number: String (Optional)
+ * }
+ * }
+ *
+ *
+ * Response Body Schema
+ *
+ *
+ * {@code
+ * BinaryData
+ * }
+ *
+ *
+ * Response Headers
+ *
+ * Response Headers
+ * | Name | Type | Description |
+ * | ETag | String | The entity tag to send in the `If-Match` header when updating or deleting the
+ * binding. |
+ *
+ *
+ * @param agentName The name of the voice agent that owns the binding.
+ * @param bindingId The service-generated binding identifier.
+ * @param ifMatch The entity tag returned by the latest read. The request fails if the resource changed since that
+ * read.
+ * @param body The binding properties to update.
+ * @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 a telephony binding owned by a voice agent along with {@link Response} on successful completion of
+ * {@link Mono}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ public Mono> updateTelephonyBindingWithResponseAsync(String agentName, String bindingId,
+ String ifMatch, BinaryData body, RequestOptions requestOptions) {
+ final String contentType = "application/merge-patch+json";
+ final String accept = "application/json";
+ return FluxUtil.withContext(
+ context -> service.updateTelephonyBinding(this.client.getEndpoint(), agentName, bindingId, contentType,
+ ifMatch, this.client.getServiceVersion().getVersion(), accept, body, requestOptions, context));
+ }
+
+ /**
+ * Update an agent telephony binding
+ *
+ * Updates a telephony binding owned by the voice agent named in the path.
+ * Request Body Schema
+ *
+ *
+ * {@code
+ * {
+ * status: String(active/suspended) (Optional)
+ * label: String (Optional)
+ * connection: String (Optional)
+ * phone_number: String (Optional)
+ * }
+ * }
+ *
+ *
+ * Response Body Schema
+ *
+ *
+ * {@code
+ * BinaryData
+ * }
+ *
+ *
+ * Response Headers
+ *
+ * Response Headers
+ * | Name | Type | Description |
+ * | ETag | String | The entity tag to send in the `If-Match` header when updating or deleting the
+ * binding. |
+ *
+ *
+ * @param agentName The name of the voice agent that owns the binding.
+ * @param bindingId The service-generated binding identifier.
+ * @param ifMatch The entity tag returned by the latest read. The request fails if the resource changed since that
+ * read.
+ * @param body The binding properties to update.
+ * @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 a telephony binding owned by a voice agent along with {@link Response}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ public Response updateTelephonyBindingWithResponse(String agentName, String bindingId, String ifMatch,
+ BinaryData body, RequestOptions requestOptions) {
+ final String contentType = "application/merge-patch+json";
+ final String accept = "application/json";
+ return service.updateTelephonyBindingSync(this.client.getEndpoint(), agentName, bindingId, contentType, ifMatch,
+ this.client.getServiceVersion().getVersion(), accept, body, requestOptions, Context.NONE);
+ }
+
+ /**
+ * Delete an agent telephony binding
+ *
+ * Deletes a telephony binding owned by the voice agent named in the path.
+ *
+ * @param agentName The name of the voice agent that owns the binding.
+ * @param bindingId The service-generated binding identifier.
+ * @param ifMatch The entity tag returned by the latest read. The request fails if the resource changed since that
+ * read.
+ * @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 {@link Response} on successful completion of {@link Mono}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ public Mono> deleteTelephonyBindingWithResponseAsync(String agentName, String bindingId,
+ String ifMatch, RequestOptions requestOptions) {
+ return FluxUtil.withContext(context -> service.deleteTelephonyBinding(this.client.getEndpoint(), agentName,
+ bindingId, ifMatch, this.client.getServiceVersion().getVersion(), requestOptions, context));
+ }
+
+ /**
+ * Delete an agent telephony binding
+ *
+ * Deletes a telephony binding owned by the voice agent named in the path.
+ *
+ * @param agentName The name of the voice agent that owns the binding.
+ * @param bindingId The service-generated binding identifier.
+ * @param ifMatch The entity tag returned by the latest read. The request fails if the resource changed since that
+ * read.
+ * @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 {@link Response}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ public Response deleteTelephonyBindingWithResponse(String agentName, String bindingId, String ifMatch,
+ RequestOptions requestOptions) {
+ return service.deleteTelephonyBindingSync(this.client.getEndpoint(), agentName, bindingId, ifMatch,
+ this.client.getServiceVersion().getVersion(), requestOptions, Context.NONE);
+ }
+
+ /**
+ * List agent telephony calls
+ *
+ * Returns the durable inbound call history for the voice agent named in the path.
+ * Query Parameters
+ *
+ * Query Parameters
+ * | Name | Type | Required | Description |
+ * | provider | String | No | Filters calls by provider. Allowed values:
+ * "teams_phone_extension", "twilio". |
+ * | status | String | No | Filters calls by lifecycle status. Allowed values:
+ * "in_progress", "success", "failed". |
+ * | started_after | OffsetDateTime | No | Includes calls that started at or after this Unix
+ * timestamp in seconds. |
+ * | started_before | OffsetDateTime | No | Includes calls that started at or before this
+ * Unix timestamp in seconds. |
+ * | limit | Integer | No | A limit on the number of objects to be returned. Limit can range
+ * between 1 and 100, and the
+ * default is 20. |
+ * | order | String | No | Sort order by the `created_at` timestamp of the objects. `asc`
+ * for ascending order and`desc`
+ * for descending order. Allowed values: "asc", "desc". |
+ * | after | String | No | A cursor for use in pagination. `after` is an object ID that
+ * defines your place in the list.
+ * For instance, if you make a list request and receive 100 objects, ending with obj_foo, your
+ * subsequent call can include after=obj_foo in order to fetch the next page of the list. |
+ * | before | String | No | A cursor for use in pagination. `before` is an object ID that
+ * defines your place in the list.
+ * For instance, if you make a list request and receive 100 objects, ending with obj_foo, your
+ * subsequent call can include before=obj_foo in order to fetch the previous page of the list. |
+ *
+ * You can add these to a request with {@link RequestOptions#addQueryParam}
+ * Response Body Schema
+ *
+ *
+ * {@code
+ * {
+ * id: String (Required)
+ * provider: String(teams_phone_extension/twilio) (Required)
+ * provider_call_id: String (Optional)
+ * caller_number: String (Optional)
+ * provider_number: String (Optional)
+ * status: String(in_progress/success/failed) (Required)
+ * phase: String(received/validated/admitted/answering/answered/media_connected/agent_session_ready/bridging/managing/completed/rejected/failed) (Required)
+ * started_at: long (Required)
+ * answered_at: Long (Optional)
+ * media_connected_at: Long (Optional)
+ * agent_session_ready_at: Long (Optional)
+ * ended_at: Long (Optional)
+ * duration_seconds: Long (Optional)
+ * end_reason: String (Optional)
+ * provider_status_code: Integer (Optional)
+ * provider_sub_code: Integer (Optional)
+ * provider_message: String (Optional)
+ * }
+ * }
+ *
+ *
+ * @param agentName The name of the voice agent whose calls are listed.
+ * @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 data for a requested list of items along with {@link PagedResponse} on successful completion
+ * of {@link Mono}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ private Mono> listTelephonyCallsSinglePageAsync(String agentName,
+ RequestOptions requestOptions) {
+ final String accept = "application/json";
+ return FluxUtil
+ .withContext(context -> service.listTelephonyCalls(this.client.getEndpoint(), agentName,
+ this.client.getServiceVersion().getVersion(), accept, requestOptions, context))
+ .map(res -> new PagedResponseBase<>(res.getRequest(), res.getStatusCode(), res.getHeaders(),
+ getValues(res.getValue(), "data"), null, null));
+ }
+
+ /**
+ * List agent telephony calls
+ *
+ * Returns the durable inbound call history for the voice agent named in the path.
+ * Query Parameters
+ *
+ * Query Parameters
+ * | Name | Type | Required | Description |
+ * | provider | String | No | Filters calls by provider. Allowed values:
+ * "teams_phone_extension", "twilio". |
+ * | status | String | No | Filters calls by lifecycle status. Allowed values:
+ * "in_progress", "success", "failed". |
+ * | started_after | OffsetDateTime | No | Includes calls that started at or after this Unix
+ * timestamp in seconds. |
+ * | started_before | OffsetDateTime | No | Includes calls that started at or before this
+ * Unix timestamp in seconds. |
+ * | limit | Integer | No | A limit on the number of objects to be returned. Limit can range
+ * between 1 and 100, and the
+ * default is 20. |
+ * | order | String | No | Sort order by the `created_at` timestamp of the objects. `asc`
+ * for ascending order and`desc`
+ * for descending order. Allowed values: "asc", "desc". |
+ * | after | String | No | A cursor for use in pagination. `after` is an object ID that
+ * defines your place in the list.
+ * For instance, if you make a list request and receive 100 objects, ending with obj_foo, your
+ * subsequent call can include after=obj_foo in order to fetch the next page of the list. |
+ * | before | String | No | A cursor for use in pagination. `before` is an object ID that
+ * defines your place in the list.
+ * For instance, if you make a list request and receive 100 objects, ending with obj_foo, your
+ * subsequent call can include before=obj_foo in order to fetch the previous page of the list. |
+ *
+ * You can add these to a request with {@link RequestOptions#addQueryParam}
+ * Response Body Schema
+ *
+ *
+ * {@code
+ * {
+ * id: String (Required)
+ * provider: String(teams_phone_extension/twilio) (Required)
+ * provider_call_id: String (Optional)
+ * caller_number: String (Optional)
+ * provider_number: String (Optional)
+ * status: String(in_progress/success/failed) (Required)
+ * phase: String(received/validated/admitted/answering/answered/media_connected/agent_session_ready/bridging/managing/completed/rejected/failed) (Required)
+ * started_at: long (Required)
+ * answered_at: Long (Optional)
+ * media_connected_at: Long (Optional)
+ * agent_session_ready_at: Long (Optional)
+ * ended_at: Long (Optional)
+ * duration_seconds: Long (Optional)
+ * end_reason: String (Optional)
+ * provider_status_code: Integer (Optional)
+ * provider_sub_code: Integer (Optional)
+ * provider_message: String (Optional)
+ * }
+ * }
+ *
+ *
+ * @param agentName The name of the voice agent whose calls are listed.
+ * @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 data for a requested list of items as paginated response with {@link PagedFlux}.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ public PagedFlux listTelephonyCallsAsync(String agentName, RequestOptions requestOptions) {
+ return new PagedFlux<>(() -> listTelephonyCallsSinglePageAsync(agentName, requestOptions));
+ }
+
+ /**
+ * List agent telephony calls
+ *
+ * Returns the durable inbound call history for the voice agent named in the path.
+ * Query Parameters
+ *
+ * Query Parameters
+ * | Name | Type | Required | Description |
+ * | provider | String | No | Filters calls by provider. Allowed values:
+ * "teams_phone_extension", "twilio". |
+ * | status | String | No | Filters calls by lifecycle status. Allowed values:
+ * "in_progress", "success", "failed". |
+ * | started_after | OffsetDateTime | No | Includes calls that started at or after this Unix
+ * timestamp in seconds. |
+ * | started_before | OffsetDateTime | No | Includes calls that started at or before this
+ * Unix timestamp in seconds. |
+ * | limit | Integer | No | A limit on the number of objects to be returned. Limit can range
+ * between 1 and 100, and the
+ * default is 20. |
+ * | order | String | No | Sort order by the `created_at` timestamp of the objects. `asc`
+ * for ascending order and`desc`
+ * for descending order. Allowed values: "asc", "desc". |
+ * | after | String | No | A cursor for use in pagination. `after` is an object ID that
+ * defines your place in the list.
+ * For instance, if you make a list request and receive 100 objects, ending with obj_foo, your
+ * subsequent call can include after=obj_foo in order to fetch the next page of the list. |
+ * | before | String | No | A cursor for use in pagination. `before` is an object ID that
+ * defines your place in the list.
+ * For instance, if you make a list request and receive 100 objects, ending with obj_foo, your
+ * subsequent call can include before=obj_foo in order to fetch the previous page of the list. |
+ *
+ * You can add these to a request with {@link RequestOptions#addQueryParam}
+ * Response Body Schema
+ *
+ *
+ * {@code
+ * {
+ * id: String (Required)
+ * provider: String(teams_phone_extension/twilio) (Required)
+ * provider_call_id: String (Optional)
+ * caller_number: String (Optional)
+ * provider_number: String (Optional)
+ * status: String(in_progress/success/failed) (Required)
+ * phase: String(received/validated/admitted/answering/answered/media_connected/agent_session_ready/bridging/managing/completed/rejected/failed) (Required)
+ * started_at: long (Required)
+ * answered_at: Long (Optional)
+ * media_connected_at: Long (Optional)
+ * agent_session_ready_at: Long (Optional)
+ * ended_at: Long (Optional)
+ * duration_seconds: Long (Optional)
+ * end_reason: String (Optional)
+ * provider_status_code: Integer (Optional)
+ * provider_sub_code: Integer (Optional)
+ * provider_message: String (Optional)
+ * }
+ * }
+ *
+ *
+ * @param agentName The name of the voice agent whose calls are listed.
+ * @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 data for a requested list of items along with {@link PagedResponse}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ private PagedResponse listTelephonyCallsSinglePage(String agentName, RequestOptions requestOptions) {
+ final String accept = "application/json";
+ Response res = service.listTelephonyCallsSync(this.client.getEndpoint(), agentName,
+ this.client.getServiceVersion().getVersion(), accept, requestOptions, Context.NONE);
+ return new PagedResponseBase<>(res.getRequest(), res.getStatusCode(), res.getHeaders(),
+ getValues(res.getValue(), "data"), null, null);
+ }
+
+ /**
+ * List agent telephony calls
+ *
+ * Returns the durable inbound call history for the voice agent named in the path.
+ * Query Parameters
+ *
+ * Query Parameters
+ * | Name | Type | Required | Description |
+ * | provider | String | No | Filters calls by provider. Allowed values:
+ * "teams_phone_extension", "twilio". |
+ * | status | String | No | Filters calls by lifecycle status. Allowed values:
+ * "in_progress", "success", "failed". |
+ * | started_after | OffsetDateTime | No | Includes calls that started at or after this Unix
+ * timestamp in seconds. |
+ * | started_before | OffsetDateTime | No | Includes calls that started at or before this
+ * Unix timestamp in seconds. |
+ * | limit | Integer | No | A limit on the number of objects to be returned. Limit can range
+ * between 1 and 100, and the
+ * default is 20. |
+ * | order | String | No | Sort order by the `created_at` timestamp of the objects. `asc`
+ * for ascending order and`desc`
+ * for descending order. Allowed values: "asc", "desc". |
+ * | after | String | No | A cursor for use in pagination. `after` is an object ID that
+ * defines your place in the list.
+ * For instance, if you make a list request and receive 100 objects, ending with obj_foo, your
+ * subsequent call can include after=obj_foo in order to fetch the next page of the list. |
+ * | before | String | No | A cursor for use in pagination. `before` is an object ID that
+ * defines your place in the list.
+ * For instance, if you make a list request and receive 100 objects, ending with obj_foo, your
+ * subsequent call can include before=obj_foo in order to fetch the previous page of the list. |
+ *
+ * You can add these to a request with {@link RequestOptions#addQueryParam}
+ * Response Body Schema
+ *
+ *
+ * {@code
+ * {
+ * id: String (Required)
+ * provider: String(teams_phone_extension/twilio) (Required)
+ * provider_call_id: String (Optional)
+ * caller_number: String (Optional)
+ * provider_number: String (Optional)
+ * status: String(in_progress/success/failed) (Required)
+ * phase: String(received/validated/admitted/answering/answered/media_connected/agent_session_ready/bridging/managing/completed/rejected/failed) (Required)
+ * started_at: long (Required)
+ * answered_at: Long (Optional)
+ * media_connected_at: Long (Optional)
+ * agent_session_ready_at: Long (Optional)
+ * ended_at: Long (Optional)
+ * duration_seconds: Long (Optional)
+ * end_reason: String (Optional)
+ * provider_status_code: Integer (Optional)
+ * provider_sub_code: Integer (Optional)
+ * provider_message: String (Optional)
+ * }
+ * }
+ *
+ *
+ * @param agentName The name of the voice agent whose calls are listed.
+ * @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 data for a requested list of items as paginated response with {@link PagedIterable}.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ public PagedIterable listTelephonyCalls(String agentName, RequestOptions requestOptions) {
+ return new PagedIterable<>(() -> listTelephonyCallsSinglePage(agentName, requestOptions));
+ }
+
+ /**
+ * Get an agent telephony call
+ *
+ * Retrieves a durable inbound call record owned by the voice agent named in the path.
+ * Response Body Schema
+ *
+ *
+ * {@code
+ * {
+ * id: String (Required)
+ * provider: String(teams_phone_extension/twilio) (Required)
+ * provider_call_id: String (Optional)
+ * caller_number: String (Optional)
+ * provider_number: String (Optional)
+ * status: String(in_progress/success/failed) (Required)
+ * phase: String(received/validated/admitted/answering/answered/media_connected/agent_session_ready/bridging/managing/completed/rejected/failed) (Required)
+ * started_at: long (Required)
+ * answered_at: Long (Optional)
+ * media_connected_at: Long (Optional)
+ * agent_session_ready_at: Long (Optional)
+ * ended_at: Long (Optional)
+ * duration_seconds: Long (Optional)
+ * end_reason: String (Optional)
+ * provider_status_code: Integer (Optional)
+ * provider_sub_code: Integer (Optional)
+ * provider_message: String (Optional)
+ * timing (Required): {
+ * received_at_ms: Long (Optional)
+ * validated_at_ms: Long (Optional)
+ * admitted_at_ms: Long (Optional)
+ * answer_requested_at_ms: Long (Optional)
+ * answered_at_ms: Long (Optional)
+ * media_connected_at_ms: Long (Optional)
+ * agent_session_ready_at_ms: Long (Optional)
+ * first_caller_audio_at_ms: Long (Optional)
+ * first_agent_audio_at_ms: Long (Optional)
+ * ended_at_ms: Long (Optional)
+ * duration_basis: String(answered/received) (Optional)
+ * timestamp_source: String(provider/gateway/derived) (Required)
+ * }
+ * trace (Optional): {
+ * status: String(pending/emitting/available/not_recorded/not_applicable/failed) (Required)
+ * trace_id: String (Optional)
+ * root_span_id: String (Optional)
+ * conversation_id: String (Optional)
+ * mode: String(live/post_call) (Optional)
+ * }
+ * events (Required): [
+ * (Required){
+ * sequence: long (Required)
+ * name: String(telephony.webhook.received/telephony.webhook.validation/telephony.binding.resolve/telephony.provider.answer/telephony.media.connect/telephony.agent_session.connect/telephony.media.first_caller_audio/telephony.media.first_agent_audio/telephony.call.transfer/telephony.call.hangup/telephony.call.disconnect) (Required)
+ * source: String(gateway/teams_phone_extension/twilio/voice_agent) (Required)
+ * outcome: String(observed/started/succeeded/failed/rejected/cancelled) (Required)
+ * observed_at_ms: long (Required)
+ * occurred_at_ms: Long (Optional)
+ * timestamp_source: String(provider/gateway/derived) (Required)
+ * reason: String (Optional)
+ * provider_event_id: String (Optional)
+ * provider_sequence: Long (Optional)
+ * provider_status_code: Integer (Optional)
+ * provider_sub_code: Integer (Optional)
+ * }
+ * ]
+ * events_truncated: boolean (Required)
+ * }
+ * }
+ *
+ *
+ * @param agentName The name of the voice agent that owns the call record.
+ * @param callId The service-generated call identifier.
+ * @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 an agent telephony call
+ *
+ * Retrieves a durable inbound call record owned by the voice agent named in the path along with {@link Response} on
+ * successful completion of {@link Mono}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ public Mono> getTelephonyCallWithResponseAsync(String agentName, String callId,
+ RequestOptions requestOptions) {
+ final String accept = "application/json";
+ return FluxUtil.withContext(context -> service.getTelephonyCall(this.client.getEndpoint(), agentName, callId,
+ this.client.getServiceVersion().getVersion(), accept, requestOptions, context));
+ }
+
+ /**
+ * Get an agent telephony call
+ *
+ * Retrieves a durable inbound call record owned by the voice agent named in the path.
+ * Response Body Schema
+ *
+ *
+ * {@code
+ * {
+ * id: String (Required)
+ * provider: String(teams_phone_extension/twilio) (Required)
+ * provider_call_id: String (Optional)
+ * caller_number: String (Optional)
+ * provider_number: String (Optional)
+ * status: String(in_progress/success/failed) (Required)
+ * phase: String(received/validated/admitted/answering/answered/media_connected/agent_session_ready/bridging/managing/completed/rejected/failed) (Required)
+ * started_at: long (Required)
+ * answered_at: Long (Optional)
+ * media_connected_at: Long (Optional)
+ * agent_session_ready_at: Long (Optional)
+ * ended_at: Long (Optional)
+ * duration_seconds: Long (Optional)
+ * end_reason: String (Optional)
+ * provider_status_code: Integer (Optional)
+ * provider_sub_code: Integer (Optional)
+ * provider_message: String (Optional)
+ * timing (Required): {
+ * received_at_ms: Long (Optional)
+ * validated_at_ms: Long (Optional)
+ * admitted_at_ms: Long (Optional)
+ * answer_requested_at_ms: Long (Optional)
+ * answered_at_ms: Long (Optional)
+ * media_connected_at_ms: Long (Optional)
+ * agent_session_ready_at_ms: Long (Optional)
+ * first_caller_audio_at_ms: Long (Optional)
+ * first_agent_audio_at_ms: Long (Optional)
+ * ended_at_ms: Long (Optional)
+ * duration_basis: String(answered/received) (Optional)
+ * timestamp_source: String(provider/gateway/derived) (Required)
+ * }
+ * trace (Optional): {
+ * status: String(pending/emitting/available/not_recorded/not_applicable/failed) (Required)
+ * trace_id: String (Optional)
+ * root_span_id: String (Optional)
+ * conversation_id: String (Optional)
+ * mode: String(live/post_call) (Optional)
+ * }
+ * events (Required): [
+ * (Required){
+ * sequence: long (Required)
+ * name: String(telephony.webhook.received/telephony.webhook.validation/telephony.binding.resolve/telephony.provider.answer/telephony.media.connect/telephony.agent_session.connect/telephony.media.first_caller_audio/telephony.media.first_agent_audio/telephony.call.transfer/telephony.call.hangup/telephony.call.disconnect) (Required)
+ * source: String(gateway/teams_phone_extension/twilio/voice_agent) (Required)
+ * outcome: String(observed/started/succeeded/failed/rejected/cancelled) (Required)
+ * observed_at_ms: long (Required)
+ * occurred_at_ms: Long (Optional)
+ * timestamp_source: String(provider/gateway/derived) (Required)
+ * reason: String (Optional)
+ * provider_event_id: String (Optional)
+ * provider_sequence: Long (Optional)
+ * provider_status_code: Integer (Optional)
+ * provider_sub_code: Integer (Optional)
+ * }
+ * ]
+ * events_truncated: boolean (Required)
+ * }
+ * }
+ *
+ *
+ * @param agentName The name of the voice agent that owns the call record.
+ * @param callId The service-generated call identifier.
+ * @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 an agent telephony call
+ *
+ * Retrieves a durable inbound call record owned by the voice agent named in the path along with {@link Response}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ public Response getTelephonyCallWithResponse(String agentName, String callId,
+ RequestOptions requestOptions) {
+ final String accept = "application/json";
+ return service.getTelephonyCallSync(this.client.getEndpoint(), agentName, callId,
+ this.client.getServiceVersion().getVersion(), accept, requestOptions, Context.NONE);
+ }
+
+ /**
+ * Transfer an active agent telephony call
+ *
+ * Transfers an active inbound call to a configured target for the voice agent named in the path.
+ * Request Body Schema
+ *
+ *
+ * {@code
+ * {
+ * target: String (Required)
+ * }
+ * }
+ *
+ *
+ * Response Body Schema
+ *
+ *
+ * {@code
+ * {
+ * id: String (Required)
+ * provider: String(teams_phone_extension/twilio) (Required)
+ * provider_call_id: String (Optional)
+ * caller_number: String (Optional)
+ * provider_number: String (Optional)
+ * status: String(in_progress/success/failed) (Required)
+ * phase: String(received/validated/admitted/answering/answered/media_connected/agent_session_ready/bridging/managing/completed/rejected/failed) (Required)
+ * started_at: long (Required)
+ * answered_at: Long (Optional)
+ * media_connected_at: Long (Optional)
+ * agent_session_ready_at: Long (Optional)
+ * ended_at: Long (Optional)
+ * duration_seconds: Long (Optional)
+ * end_reason: String (Optional)
+ * provider_status_code: Integer (Optional)
+ * provider_sub_code: Integer (Optional)
+ * provider_message: String (Optional)
+ * timing (Required): {
+ * received_at_ms: Long (Optional)
+ * validated_at_ms: Long (Optional)
+ * admitted_at_ms: Long (Optional)
+ * answer_requested_at_ms: Long (Optional)
+ * answered_at_ms: Long (Optional)
+ * media_connected_at_ms: Long (Optional)
+ * agent_session_ready_at_ms: Long (Optional)
+ * first_caller_audio_at_ms: Long (Optional)
+ * first_agent_audio_at_ms: Long (Optional)
+ * ended_at_ms: Long (Optional)
+ * duration_basis: String(answered/received) (Optional)
+ * timestamp_source: String(provider/gateway/derived) (Required)
+ * }
+ * trace (Optional): {
+ * status: String(pending/emitting/available/not_recorded/not_applicable/failed) (Required)
+ * trace_id: String (Optional)
+ * root_span_id: String (Optional)
+ * conversation_id: String (Optional)
+ * mode: String(live/post_call) (Optional)
+ * }
+ * events (Required): [
+ * (Required){
+ * sequence: long (Required)
+ * name: String(telephony.webhook.received/telephony.webhook.validation/telephony.binding.resolve/telephony.provider.answer/telephony.media.connect/telephony.agent_session.connect/telephony.media.first_caller_audio/telephony.media.first_agent_audio/telephony.call.transfer/telephony.call.hangup/telephony.call.disconnect) (Required)
+ * source: String(gateway/teams_phone_extension/twilio/voice_agent) (Required)
+ * outcome: String(observed/started/succeeded/failed/rejected/cancelled) (Required)
+ * observed_at_ms: long (Required)
+ * occurred_at_ms: Long (Optional)
+ * timestamp_source: String(provider/gateway/derived) (Required)
+ * reason: String (Optional)
+ * provider_event_id: String (Optional)
+ * provider_sequence: Long (Optional)
+ * provider_status_code: Integer (Optional)
+ * provider_sub_code: Integer (Optional)
+ * }
+ * ]
+ * events_truncated: boolean (Required)
+ * }
+ * }
+ *
+ *
+ * @param agentName The name of the voice agent that owns the active call.
+ * @param callId The service-generated call identifier.
+ * @param transferTelephonyCallRequest The transferTelephonyCallRequest 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 detailed diagnostics for a durable inbound call to a voice agent along with {@link Response} on
+ * successful completion of {@link Mono}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ public Mono> transferTelephonyCallWithResponseAsync(String agentName, String callId,
+ BinaryData transferTelephonyCallRequest, RequestOptions requestOptions) {
+ final String contentType = "application/json";
+ final String accept = "application/json";
+ return FluxUtil.withContext(context -> service.transferTelephonyCall(this.client.getEndpoint(), agentName,
+ callId, this.client.getServiceVersion().getVersion(), contentType, accept, transferTelephonyCallRequest,
+ requestOptions, context));
+ }
+
+ /**
+ * Transfer an active agent telephony call
+ *
+ * Transfers an active inbound call to a configured target for the voice agent named in the path.
+ * Request Body Schema
+ *
+ *
+ * {@code
+ * {
+ * target: String (Required)
+ * }
+ * }
+ *
+ *
+ * Response Body Schema
+ *
+ *
+ * {@code
+ * {
+ * id: String (Required)
+ * provider: String(teams_phone_extension/twilio) (Required)
+ * provider_call_id: String (Optional)
+ * caller_number: String (Optional)
+ * provider_number: String (Optional)
+ * status: String(in_progress/success/failed) (Required)
+ * phase: String(received/validated/admitted/answering/answered/media_connected/agent_session_ready/bridging/managing/completed/rejected/failed) (Required)
+ * started_at: long (Required)
+ * answered_at: Long (Optional)
+ * media_connected_at: Long (Optional)
+ * agent_session_ready_at: Long (Optional)
+ * ended_at: Long (Optional)
+ * duration_seconds: Long (Optional)
+ * end_reason: String (Optional)
+ * provider_status_code: Integer (Optional)
+ * provider_sub_code: Integer (Optional)
+ * provider_message: String (Optional)
+ * timing (Required): {
+ * received_at_ms: Long (Optional)
+ * validated_at_ms: Long (Optional)
+ * admitted_at_ms: Long (Optional)
+ * answer_requested_at_ms: Long (Optional)
+ * answered_at_ms: Long (Optional)
+ * media_connected_at_ms: Long (Optional)
+ * agent_session_ready_at_ms: Long (Optional)
+ * first_caller_audio_at_ms: Long (Optional)
+ * first_agent_audio_at_ms: Long (Optional)
+ * ended_at_ms: Long (Optional)
+ * duration_basis: String(answered/received) (Optional)
+ * timestamp_source: String(provider/gateway/derived) (Required)
+ * }
+ * trace (Optional): {
+ * status: String(pending/emitting/available/not_recorded/not_applicable/failed) (Required)
+ * trace_id: String (Optional)
+ * root_span_id: String (Optional)
+ * conversation_id: String (Optional)
+ * mode: String(live/post_call) (Optional)
+ * }
+ * events (Required): [
+ * (Required){
+ * sequence: long (Required)
+ * name: String(telephony.webhook.received/telephony.webhook.validation/telephony.binding.resolve/telephony.provider.answer/telephony.media.connect/telephony.agent_session.connect/telephony.media.first_caller_audio/telephony.media.first_agent_audio/telephony.call.transfer/telephony.call.hangup/telephony.call.disconnect) (Required)
+ * source: String(gateway/teams_phone_extension/twilio/voice_agent) (Required)
+ * outcome: String(observed/started/succeeded/failed/rejected/cancelled) (Required)
+ * observed_at_ms: long (Required)
+ * occurred_at_ms: Long (Optional)
+ * timestamp_source: String(provider/gateway/derived) (Required)
+ * reason: String (Optional)
+ * provider_event_id: String (Optional)
+ * provider_sequence: Long (Optional)
+ * provider_status_code: Integer (Optional)
+ * provider_sub_code: Integer (Optional)
+ * }
+ * ]
+ * events_truncated: boolean (Required)
+ * }
+ * }
+ *
+ *
+ * @param agentName The name of the voice agent that owns the active call.
+ * @param callId The service-generated call identifier.
+ * @param transferTelephonyCallRequest The transferTelephonyCallRequest 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 detailed diagnostics for a durable inbound call to a voice agent along with {@link Response}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ public Response transferTelephonyCallWithResponse(String agentName, String callId,
+ BinaryData transferTelephonyCallRequest, RequestOptions requestOptions) {
+ final String contentType = "application/json";
+ final String accept = "application/json";
+ return service.transferTelephonyCallSync(this.client.getEndpoint(), agentName, callId,
+ this.client.getServiceVersion().getVersion(), contentType, accept, transferTelephonyCallRequest,
+ requestOptions, Context.NONE);
+ }
+
+ /**
+ * End an active agent telephony call
+ *
+ * Ends an active inbound call owned by the voice agent named in the path.
+ * Response Body Schema
+ *
+ *
+ * {@code
+ * {
+ * id: String (Required)
+ * provider: String(teams_phone_extension/twilio) (Required)
+ * provider_call_id: String (Optional)
+ * caller_number: String (Optional)
+ * provider_number: String (Optional)
+ * status: String(in_progress/success/failed) (Required)
+ * phase: String(received/validated/admitted/answering/answered/media_connected/agent_session_ready/bridging/managing/completed/rejected/failed) (Required)
+ * started_at: long (Required)
+ * answered_at: Long (Optional)
+ * media_connected_at: Long (Optional)
+ * agent_session_ready_at: Long (Optional)
+ * ended_at: Long (Optional)
+ * duration_seconds: Long (Optional)
+ * end_reason: String (Optional)
+ * provider_status_code: Integer (Optional)
+ * provider_sub_code: Integer (Optional)
+ * provider_message: String (Optional)
+ * timing (Required): {
+ * received_at_ms: Long (Optional)
+ * validated_at_ms: Long (Optional)
+ * admitted_at_ms: Long (Optional)
+ * answer_requested_at_ms: Long (Optional)
+ * answered_at_ms: Long (Optional)
+ * media_connected_at_ms: Long (Optional)
+ * agent_session_ready_at_ms: Long (Optional)
+ * first_caller_audio_at_ms: Long (Optional)
+ * first_agent_audio_at_ms: Long (Optional)
+ * ended_at_ms: Long (Optional)
+ * duration_basis: String(answered/received) (Optional)
+ * timestamp_source: String(provider/gateway/derived) (Required)
+ * }
+ * trace (Optional): {
+ * status: String(pending/emitting/available/not_recorded/not_applicable/failed) (Required)
+ * trace_id: String (Optional)
+ * root_span_id: String (Optional)
+ * conversation_id: String (Optional)
+ * mode: String(live/post_call) (Optional)
+ * }
+ * events (Required): [
+ * (Required){
+ * sequence: long (Required)
+ * name: String(telephony.webhook.received/telephony.webhook.validation/telephony.binding.resolve/telephony.provider.answer/telephony.media.connect/telephony.agent_session.connect/telephony.media.first_caller_audio/telephony.media.first_agent_audio/telephony.call.transfer/telephony.call.hangup/telephony.call.disconnect) (Required)
+ * source: String(gateway/teams_phone_extension/twilio/voice_agent) (Required)
+ * outcome: String(observed/started/succeeded/failed/rejected/cancelled) (Required)
+ * observed_at_ms: long (Required)
+ * occurred_at_ms: Long (Optional)
+ * timestamp_source: String(provider/gateway/derived) (Required)
+ * reason: String (Optional)
+ * provider_event_id: String (Optional)
+ * provider_sequence: Long (Optional)
+ * provider_status_code: Integer (Optional)
+ * provider_sub_code: Integer (Optional)
+ * }
+ * ]
+ * events_truncated: boolean (Required)
+ * }
+ * }
+ *
+ *
+ * @param agentName The name of the voice agent that owns the active call.
+ * @param callId The service-generated call identifier.
+ * @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 detailed diagnostics for a durable inbound call to a voice agent along with {@link Response} on
+ * successful completion of {@link Mono}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ public Mono> endTelephonyCallWithResponseAsync(String agentName, String callId,
+ RequestOptions requestOptions) {
+ final String accept = "application/json";
+ return FluxUtil.withContext(context -> service.endTelephonyCall(this.client.getEndpoint(), agentName, callId,
+ this.client.getServiceVersion().getVersion(), accept, requestOptions, context));
+ }
+
+ /**
+ * End an active agent telephony call
+ *
+ * Ends an active inbound call owned by the voice agent named in the path.
+ * Response Body Schema
+ *
+ *
+ * {@code
+ * {
+ * id: String (Required)
+ * provider: String(teams_phone_extension/twilio) (Required)
+ * provider_call_id: String (Optional)
+ * caller_number: String (Optional)
+ * provider_number: String (Optional)
+ * status: String(in_progress/success/failed) (Required)
+ * phase: String(received/validated/admitted/answering/answered/media_connected/agent_session_ready/bridging/managing/completed/rejected/failed) (Required)
+ * started_at: long (Required)
+ * answered_at: Long (Optional)
+ * media_connected_at: Long (Optional)
+ * agent_session_ready_at: Long (Optional)
+ * ended_at: Long (Optional)
+ * duration_seconds: Long (Optional)
+ * end_reason: String (Optional)
+ * provider_status_code: Integer (Optional)
+ * provider_sub_code: Integer (Optional)
+ * provider_message: String (Optional)
+ * timing (Required): {
+ * received_at_ms: Long (Optional)
+ * validated_at_ms: Long (Optional)
+ * admitted_at_ms: Long (Optional)
+ * answer_requested_at_ms: Long (Optional)
+ * answered_at_ms: Long (Optional)
+ * media_connected_at_ms: Long (Optional)
+ * agent_session_ready_at_ms: Long (Optional)
+ * first_caller_audio_at_ms: Long (Optional)
+ * first_agent_audio_at_ms: Long (Optional)
+ * ended_at_ms: Long (Optional)
+ * duration_basis: String(answered/received) (Optional)
+ * timestamp_source: String(provider/gateway/derived) (Required)
+ * }
+ * trace (Optional): {
+ * status: String(pending/emitting/available/not_recorded/not_applicable/failed) (Required)
+ * trace_id: String (Optional)
+ * root_span_id: String (Optional)
+ * conversation_id: String (Optional)
+ * mode: String(live/post_call) (Optional)
+ * }
+ * events (Required): [
+ * (Required){
+ * sequence: long (Required)
+ * name: String(telephony.webhook.received/telephony.webhook.validation/telephony.binding.resolve/telephony.provider.answer/telephony.media.connect/telephony.agent_session.connect/telephony.media.first_caller_audio/telephony.media.first_agent_audio/telephony.call.transfer/telephony.call.hangup/telephony.call.disconnect) (Required)
+ * source: String(gateway/teams_phone_extension/twilio/voice_agent) (Required)
+ * outcome: String(observed/started/succeeded/failed/rejected/cancelled) (Required)
+ * observed_at_ms: long (Required)
+ * occurred_at_ms: Long (Optional)
+ * timestamp_source: String(provider/gateway/derived) (Required)
+ * reason: String (Optional)
+ * provider_event_id: String (Optional)
+ * provider_sequence: Long (Optional)
+ * provider_status_code: Integer (Optional)
+ * provider_sub_code: Integer (Optional)
+ * }
+ * ]
+ * events_truncated: boolean (Required)
+ * }
+ * }
+ *
+ *
+ * @param agentName The name of the voice agent that owns the active call.
+ * @param callId The service-generated call identifier.
+ * @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 detailed diagnostics for a durable inbound call to a voice agent along with {@link Response}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ public Response endTelephonyCallWithResponse(String agentName, String callId,
+ RequestOptions requestOptions) {
+ final String accept = "application/json";
+ return service.endTelephonyCallSync(this.client.getEndpoint(), agentName, callId,
+ this.client.getServiceVersion().getVersion(), accept, requestOptions, Context.NONE);
+ }
+
+ /**
+ * Get agent telephony transfer targets
+ *
+ * Returns all transfer targets configured for the voice agent named in the path.
+ * Response Body Schema
+ *
+ *
+ * {@code
+ * {
+ * transfer_targets (Required): [
+ * (Required){
+ * name: String (Required)
+ * description: String (Required)
+ * destination: BinaryData (Required)
+ * }
+ * ]
+ * }
+ * }
+ *
+ *
+ * Response Headers
+ *
+ * Response Headers
+ * | Name | Type | Description |
+ * | ETag | String | The entity tag to send in the `If-Match` header when replacing the transfer
+ * targets. |
+ *
+ *
+ * @param agentName The name of the voice agent whose transfer targets are retrieved.
+ * @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 agent telephony transfer targets
+ *
+ * Returns all transfer targets configured for the voice agent named in the path along with {@link Response} on
+ * successful completion of {@link Mono}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ public Mono> getTelephonyTransferTargetsWithResponseAsync(String agentName,
+ RequestOptions requestOptions) {
+ final String accept = "application/json";
+ return FluxUtil.withContext(context -> service.getTelephonyTransferTargets(this.client.getEndpoint(), agentName,
+ this.client.getServiceVersion().getVersion(), accept, requestOptions, context));
+ }
+
+ /**
+ * Get agent telephony transfer targets
+ *
+ * Returns all transfer targets configured for the voice agent named in the path.
+ * Response Body Schema
+ *
+ *
+ * {@code
+ * {
+ * transfer_targets (Required): [
+ * (Required){
+ * name: String (Required)
+ * description: String (Required)
+ * destination: BinaryData (Required)
+ * }
+ * ]
+ * }
+ * }
+ *
+ *
+ * Response Headers
+ *
+ * Response Headers
+ * | Name | Type | Description |
+ * | ETag | String | The entity tag to send in the `If-Match` header when replacing the transfer
+ * targets. |
+ *
+ *
+ * @param agentName The name of the voice agent whose transfer targets are retrieved.
+ * @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 agent telephony transfer targets
+ *
+ * Returns all transfer targets configured for the voice agent named in the path along with {@link Response}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ public Response getTelephonyTransferTargetsWithResponse(String agentName,
+ RequestOptions requestOptions) {
+ final String accept = "application/json";
+ return service.getTelephonyTransferTargetsSync(this.client.getEndpoint(), agentName,
+ this.client.getServiceVersion().getVersion(), accept, requestOptions, Context.NONE);
+ }
+
+ /**
+ * Replace agent telephony transfer targets
+ *
+ * Replaces all transfer targets configured for the voice agent named in the path.
+ * Request Body Schema
+ *
+ *
+ * {@code
+ * {
+ * transfer_targets (Required): [
+ * (Required){
+ * name: String (Required)
+ * description: String (Required)
+ * destination: BinaryData (Required)
+ * }
+ * ]
+ * }
+ * }
+ *
+ *
+ * Response Body Schema
+ *
+ *
+ * {@code
+ * {
+ * transfer_targets (Required): [
+ * (Required){
+ * name: String (Required)
+ * description: String (Required)
+ * destination: BinaryData (Required)
+ * }
+ * ]
+ * }
+ * }
+ *
+ *
+ * Response Headers
+ *
+ * Response Headers
+ * | Name | Type | Description |
+ * | ETag | String | The entity tag to send in the `If-Match` header when replacing the transfer
+ * targets. |
+ *
+ *
+ * @param agentName The name of the voice agent whose transfer targets are replaced.
+ * @param ifMatch The entity tag returned by the latest read. The request fails if the resource changed since that
+ * read.
+ * @param replaceTelephonyTransferTargetsRequest The replaceTelephonyTransferTargetsRequest 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 telephony transfer targets configured for one voice agent along with {@link Response} on successful
+ * completion of {@link Mono}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ public Mono> replaceTelephonyTransferTargetsWithResponseAsync(String agentName, String ifMatch,
+ BinaryData replaceTelephonyTransferTargetsRequest, RequestOptions requestOptions) {
+ final String contentType = "application/json";
+ final String accept = "application/json";
+ return FluxUtil.withContext(context -> service.replaceTelephonyTransferTargets(this.client.getEndpoint(),
+ agentName, ifMatch, this.client.getServiceVersion().getVersion(), contentType, accept,
+ replaceTelephonyTransferTargetsRequest, requestOptions, context));
+ }
+
+ /**
+ * Replace agent telephony transfer targets
+ *
+ * Replaces all transfer targets configured for the voice agent named in the path.
+ * Request Body Schema
+ *
+ *
+ * {@code
+ * {
+ * transfer_targets (Required): [
+ * (Required){
+ * name: String (Required)
+ * description: String (Required)
+ * destination: BinaryData (Required)
+ * }
+ * ]
+ * }
+ * }
+ *
+ *
+ * Response Body Schema
+ *
+ *
+ * {@code
+ * {
+ * transfer_targets (Required): [
+ * (Required){
+ * name: String (Required)
+ * description: String (Required)
+ * destination: BinaryData (Required)
+ * }
+ * ]
+ * }
+ * }
+ *
+ *
+ * Response Headers
+ *
+ * Response Headers
+ * | Name | Type | Description |
+ * | ETag | String | The entity tag to send in the `If-Match` header when replacing the transfer
+ * targets. |
+ *
+ *
+ * @param agentName The name of the voice agent whose transfer targets are replaced.
+ * @param ifMatch The entity tag returned by the latest read. The request fails if the resource changed since that
+ * read.
+ * @param replaceTelephonyTransferTargetsRequest The replaceTelephonyTransferTargetsRequest 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 telephony transfer targets configured for one voice agent along with {@link Response}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ public Response replaceTelephonyTransferTargetsWithResponse(String agentName, String ifMatch,
+ BinaryData replaceTelephonyTransferTargetsRequest, RequestOptions requestOptions) {
+ final String contentType = "application/json";
+ final String accept = "application/json";
+ return service.replaceTelephonyTransferTargetsSync(this.client.getEndpoint(), agentName, ifMatch,
+ this.client.getServiceVersion().getVersion(), contentType, accept, replaceTelephonyTransferTargetsRequest,
+ requestOptions, Context.NONE);
+ }
+
/**
* Upload a session file
*
diff --git a/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/implementation/BetaVoiceAgentWebSocketsImpl.java b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/implementation/BetaVoiceAgentWebSocketsImpl.java
index fcb74d1b0773..7094c8611ede 100644
--- a/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/implementation/BetaVoiceAgentWebSocketsImpl.java
+++ b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/implementation/BetaVoiceAgentWebSocketsImpl.java
@@ -96,9 +96,18 @@ Response connectVoiceAgentSync(@HostParam("endpoint") String endpoint,
* `VoiceAgents=V1Preview` opt-in through either the `Foundry-Features` header or the `foundry_features`
* query parameter.
*
- * If the target agent is disabled, the HTTP WebSocket handshake fails before the `101 Switching Protocols`
- * upgrade. The service returns `409 Conflict` using the shared Foundry `ApiErrorResponse` shape with
- * `error.code = agent_disabled`. This failure is terminal until the caller enables the agent.
+ * Handshake failures are evaluated in the following order, independent of the requested `transport`:
+ *
+ * 1. Agent enablement (any transport): if the target agent is disabled, the handshake fails before the
+ * `101 Switching Protocols` upgrade with `409 Conflict`, using the shared Foundry `ApiErrorResponse` shape
+ * with `error.code = agent_disabled`. This failure is terminal until the caller enables the agent, and it
+ * takes precedence over the WebRTC-specific checks below.
+ * 2. WebRTC availability (only when `transport=webrtc`, and only once the agent itself is enabled): the agent
+ * must have the WebRTC transport capability configured. If the agent is enabled but WebRTC is not available
+ * for it, the handshake fails with `404 Not Found`. This is distinct from the `409 agent_disabled` case
+ * above, which concerns the agent itself rather than its WebRTC capability.
+ * 3. WebRTC compatibility (only when `transport=webrtc`): WebRTC does not support bring-your-own-model (BYOM)
+ * or hosted-agent voice agents; those requests fail with `400 Bad Request`.
* Query Parameters
*
* Query Parameters
@@ -108,6 +117,11 @@ Response connectVoiceAgentSync(@HostParam("endpoint") String endpoint,
* WebSocket handshake. Set this to `VoiceAgents=V1Preview`. Either this query parameter or the header is
* required. Allowed values: "WorkflowAgents=V1Preview", "ExternalAgents=V1Preview", "DraftAgents=V1Preview",
* "VoiceAgents=V1Preview", "DigitalWorker=V1Preview".
+ * | transport | String | No | Selects the connection transport. Omit or send `websocket`
+ * for the default, where signaling and audio are
+ * exchanged as JSON events over this WebSocket. Send `webrtc` to negotiate a WebRTC connection: the WebSocket
+ * then carries only SDP signaling (`rtc.call.sdp.create` / `rtc.call.sdp.created`) while media and the data
+ * channel are peer-to-peer. Allowed values: "websocket", "webrtc". |
* | store | Boolean | No | Whether to persist the conversation created by this WebSocket
* session. If omitted, the service honors the
* persisted voice agent definition's configured `store` value. If supplied, this value overrides the
@@ -154,9 +168,18 @@ public Mono> connectVoiceAgentWithResponseAsync(String agentName,
* `VoiceAgents=V1Preview` opt-in through either the `Foundry-Features` header or the `foundry_features`
* query parameter.
*
- * If the target agent is disabled, the HTTP WebSocket handshake fails before the `101 Switching Protocols`
- * upgrade. The service returns `409 Conflict` using the shared Foundry `ApiErrorResponse` shape with
- * `error.code = agent_disabled`. This failure is terminal until the caller enables the agent.
+ * Handshake failures are evaluated in the following order, independent of the requested `transport`:
+ *
+ * 1. Agent enablement (any transport): if the target agent is disabled, the handshake fails before the
+ * `101 Switching Protocols` upgrade with `409 Conflict`, using the shared Foundry `ApiErrorResponse` shape
+ * with `error.code = agent_disabled`. This failure is terminal until the caller enables the agent, and it
+ * takes precedence over the WebRTC-specific checks below.
+ * 2. WebRTC availability (only when `transport=webrtc`, and only once the agent itself is enabled): the agent
+ * must have the WebRTC transport capability configured. If the agent is enabled but WebRTC is not available
+ * for it, the handshake fails with `404 Not Found`. This is distinct from the `409 agent_disabled` case
+ * above, which concerns the agent itself rather than its WebRTC capability.
+ * 3. WebRTC compatibility (only when `transport=webrtc`): WebRTC does not support bring-your-own-model (BYOM)
+ * or hosted-agent voice agents; those requests fail with `400 Bad Request`.
* Query Parameters
*
* Query Parameters
@@ -166,6 +189,11 @@ public Mono> connectVoiceAgentWithResponseAsync(String agentName,
* WebSocket handshake. Set this to `VoiceAgents=V1Preview`. Either this query parameter or the header is
* required. Allowed values: "WorkflowAgents=V1Preview", "ExternalAgents=V1Preview", "DraftAgents=V1Preview",
* "VoiceAgents=V1Preview", "DigitalWorker=V1Preview".
+ * | transport | String | No | Selects the connection transport. Omit or send `websocket`
+ * for the default, where signaling and audio are
+ * exchanged as JSON events over this WebSocket. Send `webrtc` to negotiate a WebRTC connection: the WebSocket
+ * then carries only SDP signaling (`rtc.call.sdp.create` / `rtc.call.sdp.created`) while media and the data
+ * channel are peer-to-peer. Allowed values: "websocket", "webrtc". |
* | store | Boolean | No | Whether to persist the conversation created by this WebSocket
* session. If omitted, the service honors the
* persisted voice agent definition's configured `store` value. If supplied, this value overrides the
diff --git a/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/implementation/JsonMergePatchHelper.java b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/implementation/JsonMergePatchHelper.java
index 38525dbb1215..540db1110e7d 100644
--- a/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/implementation/JsonMergePatchHelper.java
+++ b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/implementation/JsonMergePatchHelper.java
@@ -16,6 +16,7 @@
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.UpdateTelephonyBindingRequest;
import com.azure.ai.agents.models.VersionSelectionRule;
import com.azure.ai.agents.models.VersionSelector;
@@ -260,4 +261,21 @@ public static void setUpdateAgentDetailsOptionsAccessor(UpdateAgentDetailsOption
public static UpdateAgentDetailsOptionsAccessor getUpdateAgentDetailsOptionsAccessor() {
return updateAgentDetailsOptionsAccessor;
}
+
+ private static UpdateTelephonyBindingRequestAccessor updateTelephonyBindingRequestAccessor;
+
+ public interface UpdateTelephonyBindingRequestAccessor {
+ UpdateTelephonyBindingRequest prepareModelForJsonMergePatch(
+ UpdateTelephonyBindingRequest updateTelephonyBindingRequest, boolean jsonMergePatchEnabled);
+
+ boolean isJsonMergePatch(UpdateTelephonyBindingRequest updateTelephonyBindingRequest);
+ }
+
+ public static void setUpdateTelephonyBindingRequestAccessor(UpdateTelephonyBindingRequestAccessor accessor) {
+ updateTelephonyBindingRequestAccessor = accessor;
+ }
+
+ public static UpdateTelephonyBindingRequestAccessor getUpdateTelephonyBindingRequestAccessor() {
+ return updateTelephonyBindingRequestAccessor;
+ }
}
diff --git a/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/implementation/models/ReplaceTelephonyTransferTargetsRequest.java b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/implementation/models/ReplaceTelephonyTransferTargetsRequest.java
new file mode 100644
index 000000000000..a29024aefd72
--- /dev/null
+++ b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/implementation/models/ReplaceTelephonyTransferTargetsRequest.java
@@ -0,0 +1,89 @@
+// 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.TelephonyTransferTarget;
+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;
+
+/**
+ * The ReplaceTelephonyTransferTargetsRequest model.
+ */
+@Immutable
+public final class ReplaceTelephonyTransferTargetsRequest
+ implements JsonSerializable {
+ /*
+ * The complete set of destinations to which the voice agent may transfer calls. An empty array clears all targets
+ * when replacing the configuration.
+ */
+ @Generated
+ private final List transferTargets;
+
+ /**
+ * Creates an instance of ReplaceTelephonyTransferTargetsRequest class.
+ *
+ * @param transferTargets the transferTargets value to set.
+ */
+ @Generated
+ public ReplaceTelephonyTransferTargetsRequest(List transferTargets) {
+ this.transferTargets = transferTargets;
+ }
+
+ /**
+ * Get the transferTargets property: The complete set of destinations to which the voice agent may transfer calls.
+ * An empty array clears all targets when replacing the configuration.
+ *
+ * @return the transferTargets value.
+ */
+ @Generated
+ public List getTransferTargets() {
+ return this.transferTargets;
+ }
+
+ /**
+ * {@inheritDoc}
+ */
+ @Generated
+ @Override
+ public JsonWriter toJson(JsonWriter jsonWriter) throws IOException {
+ jsonWriter.writeStartObject();
+ jsonWriter.writeArrayField("transfer_targets", this.transferTargets,
+ (writer, element) -> writer.writeJson(element));
+ return jsonWriter.writeEndObject();
+ }
+
+ /**
+ * Reads an instance of ReplaceTelephonyTransferTargetsRequest from the JsonReader.
+ *
+ * @param jsonReader The JsonReader being read.
+ * @return An instance of ReplaceTelephonyTransferTargetsRequest 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 ReplaceTelephonyTransferTargetsRequest.
+ */
+ @Generated
+ public static ReplaceTelephonyTransferTargetsRequest fromJson(JsonReader jsonReader) throws IOException {
+ return jsonReader.readObject(reader -> {
+ List transferTargets = null;
+ while (reader.nextToken() != JsonToken.END_OBJECT) {
+ String fieldName = reader.getFieldName();
+ reader.nextToken();
+
+ if ("transfer_targets".equals(fieldName)) {
+ transferTargets = reader.readArray(reader1 -> TelephonyTransferTarget.fromJson(reader1));
+ } else {
+ reader.skipChildren();
+ }
+ }
+ return new ReplaceTelephonyTransferTargetsRequest(transferTargets);
+ });
+ }
+}
diff --git a/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/implementation/models/TransferTelephonyCallRequest.java b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/implementation/models/TransferTelephonyCallRequest.java
new file mode 100644
index 000000000000..dd27c00f5012
--- /dev/null
+++ b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/implementation/models/TransferTelephonyCallRequest.java
@@ -0,0 +1,83 @@
+// 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.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;
+
+/**
+ * The TransferTelephonyCallRequest model.
+ */
+@Immutable
+public final class TransferTelephonyCallRequest implements JsonSerializable {
+ /*
+ * The name of a transfer target configured for the voice agent.
+ */
+ @Generated
+ private final String target;
+
+ /**
+ * Creates an instance of TransferTelephonyCallRequest class.
+ *
+ * @param target the target value to set.
+ */
+ @Generated
+ public TransferTelephonyCallRequest(String target) {
+ this.target = target;
+ }
+
+ /**
+ * Get the target property: The name of a transfer target configured for the voice agent.
+ *
+ * @return the target value.
+ */
+ @Generated
+ public String getTarget() {
+ return this.target;
+ }
+
+ /**
+ * {@inheritDoc}
+ */
+ @Generated
+ @Override
+ public JsonWriter toJson(JsonWriter jsonWriter) throws IOException {
+ jsonWriter.writeStartObject();
+ jsonWriter.writeStringField("target", this.target);
+ return jsonWriter.writeEndObject();
+ }
+
+ /**
+ * Reads an instance of TransferTelephonyCallRequest from the JsonReader.
+ *
+ * @param jsonReader The JsonReader being read.
+ * @return An instance of TransferTelephonyCallRequest 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 TransferTelephonyCallRequest.
+ */
+ @Generated
+ public static TransferTelephonyCallRequest fromJson(JsonReader jsonReader) throws IOException {
+ return jsonReader.readObject(reader -> {
+ String target = null;
+ while (reader.nextToken() != JsonToken.END_OBJECT) {
+ String fieldName = reader.getFieldName();
+ reader.nextToken();
+
+ if ("target".equals(fieldName)) {
+ target = reader.getString();
+ } else {
+ reader.skipChildren();
+ }
+ }
+ return new TransferTelephonyCallRequest(target);
+ });
+ }
+}
diff --git a/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/PSTNTelephonyTransferDestination.java b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/PSTNTelephonyTransferDestination.java
new file mode 100644
index 000000000000..94cf94f754ed
--- /dev/null
+++ b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/PSTNTelephonyTransferDestination.java
@@ -0,0 +1,100 @@
+// 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;
+
+/**
+ * A PSTN destination for a telephony transfer target.
+ */
+@Immutable
+public final class PSTNTelephonyTransferDestination implements JsonSerializable {
+ /*
+ * The PSTN destination type.
+ */
+ @Generated
+ private final String kind = "pstn";
+
+ /*
+ * The E.164 phone number to call.
+ */
+ @Generated
+ private final String value;
+
+ /**
+ * Creates an instance of PSTNTelephonyTransferDestination class.
+ *
+ * @param value the value value to set.
+ */
+ @Generated
+ public PSTNTelephonyTransferDestination(String value) {
+ this.value = value;
+ }
+
+ /**
+ * Get the kind property: The PSTN destination type.
+ *
+ * @return the kind value.
+ */
+ @Generated
+ public String getKind() {
+ return this.kind;
+ }
+
+ /**
+ * Get the value property: The E.164 phone number to call.
+ *
+ * @return the value value.
+ */
+ @Generated
+ public String getValue() {
+ return this.value;
+ }
+
+ /**
+ * {@inheritDoc}
+ */
+ @Generated
+ @Override
+ public JsonWriter toJson(JsonWriter jsonWriter) throws IOException {
+ jsonWriter.writeStartObject();
+ jsonWriter.writeStringField("kind", this.kind);
+ jsonWriter.writeStringField("value", this.value);
+ return jsonWriter.writeEndObject();
+ }
+
+ /**
+ * Reads an instance of PSTNTelephonyTransferDestination from the JsonReader.
+ *
+ * @param jsonReader The JsonReader being read.
+ * @return An instance of PSTNTelephonyTransferDestination 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 PSTNTelephonyTransferDestination.
+ */
+ @Generated
+ public static PSTNTelephonyTransferDestination fromJson(JsonReader jsonReader) throws IOException {
+ return jsonReader.readObject(reader -> {
+ String value = null;
+ while (reader.nextToken() != JsonToken.END_OBJECT) {
+ String fieldName = reader.getFieldName();
+ reader.nextToken();
+
+ if ("value".equals(fieldName)) {
+ value = reader.getString();
+ } else {
+ reader.skipChildren();
+ }
+ }
+ return new PSTNTelephonyTransferDestination(value);
+ });
+ }
+}
diff --git a/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/SipTelephonyTransferDestination.java b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/SipTelephonyTransferDestination.java
new file mode 100644
index 000000000000..42576cf4c27b
--- /dev/null
+++ b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/SipTelephonyTransferDestination.java
@@ -0,0 +1,100 @@
+// 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;
+
+/**
+ * A SIP destination for a telephony transfer target.
+ */
+@Immutable
+public final class SipTelephonyTransferDestination implements JsonSerializable {
+ /*
+ * The SIP destination type.
+ */
+ @Generated
+ private final String kind = "sip";
+
+ /*
+ * The SIP or SIPS URI to call.
+ */
+ @Generated
+ private final String value;
+
+ /**
+ * Creates an instance of SipTelephonyTransferDestination class.
+ *
+ * @param value the value value to set.
+ */
+ @Generated
+ public SipTelephonyTransferDestination(String value) {
+ this.value = value;
+ }
+
+ /**
+ * Get the kind property: The SIP destination type.
+ *
+ * @return the kind value.
+ */
+ @Generated
+ public String getKind() {
+ return this.kind;
+ }
+
+ /**
+ * Get the value property: The SIP or SIPS URI to call.
+ *
+ * @return the value value.
+ */
+ @Generated
+ public String getValue() {
+ return this.value;
+ }
+
+ /**
+ * {@inheritDoc}
+ */
+ @Generated
+ @Override
+ public JsonWriter toJson(JsonWriter jsonWriter) throws IOException {
+ jsonWriter.writeStartObject();
+ jsonWriter.writeStringField("kind", this.kind);
+ jsonWriter.writeStringField("value", this.value);
+ return jsonWriter.writeEndObject();
+ }
+
+ /**
+ * Reads an instance of SipTelephonyTransferDestination from the JsonReader.
+ *
+ * @param jsonReader The JsonReader being read.
+ * @return An instance of SipTelephonyTransferDestination 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 SipTelephonyTransferDestination.
+ */
+ @Generated
+ public static SipTelephonyTransferDestination fromJson(JsonReader jsonReader) throws IOException {
+ return jsonReader.readObject(reader -> {
+ String value = null;
+ while (reader.nextToken() != JsonToken.END_OBJECT) {
+ String fieldName = reader.getFieldName();
+ reader.nextToken();
+
+ if ("value".equals(fieldName)) {
+ value = reader.getString();
+ } else {
+ reader.skipChildren();
+ }
+ }
+ return new SipTelephonyTransferDestination(value);
+ });
+ }
+}
diff --git a/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/TeamsPhoneExtensionTelephonyBindingListItem.java b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/TeamsPhoneExtensionTelephonyBindingListItem.java
new file mode 100644
index 000000000000..47fa7504af65
--- /dev/null
+++ b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/TeamsPhoneExtensionTelephonyBindingListItem.java
@@ -0,0 +1,256 @@
+// 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;
+
+/**
+ * A Microsoft Teams Phone Extension binding returned in a list, including its entity tag.
+ */
+@Immutable
+public final class TeamsPhoneExtensionTelephonyBindingListItem
+ implements JsonSerializable {
+ /*
+ * The service-generated binding identifier.
+ */
+ @Generated
+ private final String id;
+
+ /*
+ * The Microsoft Teams Phone Extension provider.
+ */
+ @Generated
+ private final String provider = "teams_phone_extension";
+
+ /*
+ * The Foundry connection name for the Teams Phone Extension provider.
+ */
+ @Generated
+ private final String connection;
+
+ /*
+ * The optional display phone number for the Teams resource account.
+ */
+ @Generated
+ private String phoneNumber;
+
+ /*
+ * The optional display label for the binding.
+ */
+ @Generated
+ private String label;
+
+ /*
+ * The Microsoft Teams resource-account object identifier as a GUID.
+ */
+ @Generated
+ private final String resourceAccountObjectId;
+
+ /*
+ * The lifecycle status.
+ */
+ @Generated
+ private final TelephonyBindingStatus status;
+
+ /*
+ * The service-generated webhook URL to configure with the telephony provider.
+ */
+ @Generated
+ private final String incomingCallUrl;
+
+ /*
+ * The entity tag to send in the `If-Match` header when updating or deleting this binding.
+ */
+ @Generated
+ private String etag;
+
+ /**
+ * Creates an instance of TeamsPhoneExtensionTelephonyBindingListItem class.
+ *
+ * @param id the id value to set.
+ * @param connection the connection value to set.
+ * @param resourceAccountObjectId the resourceAccountObjectId value to set.
+ * @param status the status value to set.
+ * @param incomingCallUrl the incomingCallUrl value to set.
+ */
+ @Generated
+ private TeamsPhoneExtensionTelephonyBindingListItem(String id, String connection, String resourceAccountObjectId,
+ TelephonyBindingStatus status, String incomingCallUrl) {
+ this.id = id;
+ this.connection = connection;
+ this.resourceAccountObjectId = resourceAccountObjectId;
+ this.status = status;
+ this.incomingCallUrl = incomingCallUrl;
+ }
+
+ /**
+ * Get the id property: The service-generated binding identifier.
+ *
+ * @return the id value.
+ */
+ @Generated
+ public String getId() {
+ return this.id;
+ }
+
+ /**
+ * Get the provider property: The Microsoft Teams Phone Extension provider.
+ *
+ * @return the provider value.
+ */
+ @Generated
+ public String getProvider() {
+ return this.provider;
+ }
+
+ /**
+ * Get the connection property: The Foundry connection name for the Teams Phone Extension provider.
+ *
+ * @return the connection value.
+ */
+ @Generated
+ public String getConnection() {
+ return this.connection;
+ }
+
+ /**
+ * Get the phoneNumber property: The optional display phone number for the Teams resource account.
+ *
+ * @return the phoneNumber value.
+ */
+ @Generated
+ public String getPhoneNumber() {
+ return this.phoneNumber;
+ }
+
+ /**
+ * Get the label property: The optional display label for the binding.
+ *
+ * @return the label value.
+ */
+ @Generated
+ public String getLabel() {
+ return this.label;
+ }
+
+ /**
+ * Get the resourceAccountObjectId property: The Microsoft Teams resource-account object identifier as a GUID.
+ *
+ * @return the resourceAccountObjectId value.
+ */
+ @Generated
+ public String getResourceAccountObjectId() {
+ return this.resourceAccountObjectId;
+ }
+
+ /**
+ * Get the status property: The lifecycle status.
+ *
+ * @return the status value.
+ */
+ @Generated
+ public TelephonyBindingStatus getStatus() {
+ return this.status;
+ }
+
+ /**
+ * Get the incomingCallUrl property: The service-generated webhook URL to configure with the telephony provider.
+ *
+ * @return the incomingCallUrl value.
+ */
+ @Generated
+ public String getIncomingCallUrl() {
+ return this.incomingCallUrl;
+ }
+
+ /**
+ * Get the etag property: The entity tag to send in the `If-Match` header when updating or deleting this binding.
+ *
+ * @return the etag value.
+ */
+ @Generated
+ public String getEtag() {
+ return this.etag;
+ }
+
+ /**
+ * {@inheritDoc}
+ */
+ @Generated
+ @Override
+ public JsonWriter toJson(JsonWriter jsonWriter) throws IOException {
+ jsonWriter.writeStartObject();
+ jsonWriter.writeStringField("id", this.id);
+ jsonWriter.writeStringField("provider", this.provider);
+ jsonWriter.writeStringField("connection", this.connection);
+ jsonWriter.writeStringField("resource_account_object_id", this.resourceAccountObjectId);
+ jsonWriter.writeStringField("status", this.status == null ? null : this.status.toString());
+ jsonWriter.writeStringField("incoming_call_url", this.incomingCallUrl);
+ jsonWriter.writeStringField("phone_number", this.phoneNumber);
+ jsonWriter.writeStringField("label", this.label);
+ return jsonWriter.writeEndObject();
+ }
+
+ /**
+ * Reads an instance of TeamsPhoneExtensionTelephonyBindingListItem from the JsonReader.
+ *
+ * @param jsonReader The JsonReader being read.
+ * @return An instance of TeamsPhoneExtensionTelephonyBindingListItem 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 TeamsPhoneExtensionTelephonyBindingListItem.
+ */
+ @Generated
+ public static TeamsPhoneExtensionTelephonyBindingListItem fromJson(JsonReader jsonReader) throws IOException {
+ return jsonReader.readObject(reader -> {
+ String id = null;
+ String connection = null;
+ String resourceAccountObjectId = null;
+ TelephonyBindingStatus status = null;
+ String incomingCallUrl = null;
+ String etag = null;
+ String phoneNumber = null;
+ String label = null;
+ while (reader.nextToken() != JsonToken.END_OBJECT) {
+ String fieldName = reader.getFieldName();
+ reader.nextToken();
+
+ if ("id".equals(fieldName)) {
+ id = reader.getString();
+ } else if ("connection".equals(fieldName)) {
+ connection = reader.getString();
+ } else if ("resource_account_object_id".equals(fieldName)) {
+ resourceAccountObjectId = reader.getString();
+ } else if ("status".equals(fieldName)) {
+ status = TelephonyBindingStatus.fromString(reader.getString());
+ } else if ("incoming_call_url".equals(fieldName)) {
+ incomingCallUrl = reader.getString();
+ } else if ("etag".equals(fieldName)) {
+ etag = reader.getString();
+ } else if ("phone_number".equals(fieldName)) {
+ phoneNumber = reader.getString();
+ } else if ("label".equals(fieldName)) {
+ label = reader.getString();
+ } else {
+ reader.skipChildren();
+ }
+ }
+ TeamsPhoneExtensionTelephonyBindingListItem deserializedTeamsPhoneExtensionTelephonyBindingListItem
+ = new TeamsPhoneExtensionTelephonyBindingListItem(id, connection, resourceAccountObjectId, status,
+ incomingCallUrl);
+ deserializedTeamsPhoneExtensionTelephonyBindingListItem.etag = etag;
+ deserializedTeamsPhoneExtensionTelephonyBindingListItem.phoneNumber = phoneNumber;
+ deserializedTeamsPhoneExtensionTelephonyBindingListItem.label = label;
+
+ return deserializedTeamsPhoneExtensionTelephonyBindingListItem;
+ });
+ }
+}
diff --git a/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/TeamsTelephonyTransferDestination.java b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/TeamsTelephonyTransferDestination.java
new file mode 100644
index 000000000000..383ed5c83b82
--- /dev/null
+++ b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/TeamsTelephonyTransferDestination.java
@@ -0,0 +1,100 @@
+// 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;
+
+/**
+ * A Microsoft Teams destination for a telephony transfer target.
+ */
+@Immutable
+public final class TeamsTelephonyTransferDestination implements JsonSerializable {
+ /*
+ * The Microsoft Teams destination type.
+ */
+ @Generated
+ private final String kind = "teams";
+
+ /*
+ * The Microsoft Teams user or resource-account identifier.
+ */
+ @Generated
+ private final String value;
+
+ /**
+ * Creates an instance of TeamsTelephonyTransferDestination class.
+ *
+ * @param value the value value to set.
+ */
+ @Generated
+ public TeamsTelephonyTransferDestination(String value) {
+ this.value = value;
+ }
+
+ /**
+ * Get the kind property: The Microsoft Teams destination type.
+ *
+ * @return the kind value.
+ */
+ @Generated
+ public String getKind() {
+ return this.kind;
+ }
+
+ /**
+ * Get the value property: The Microsoft Teams user or resource-account identifier.
+ *
+ * @return the value value.
+ */
+ @Generated
+ public String getValue() {
+ return this.value;
+ }
+
+ /**
+ * {@inheritDoc}
+ */
+ @Generated
+ @Override
+ public JsonWriter toJson(JsonWriter jsonWriter) throws IOException {
+ jsonWriter.writeStartObject();
+ jsonWriter.writeStringField("kind", this.kind);
+ jsonWriter.writeStringField("value", this.value);
+ return jsonWriter.writeEndObject();
+ }
+
+ /**
+ * Reads an instance of TeamsTelephonyTransferDestination from the JsonReader.
+ *
+ * @param jsonReader The JsonReader being read.
+ * @return An instance of TeamsTelephonyTransferDestination 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 TeamsTelephonyTransferDestination.
+ */
+ @Generated
+ public static TeamsTelephonyTransferDestination fromJson(JsonReader jsonReader) throws IOException {
+ return jsonReader.readObject(reader -> {
+ String value = null;
+ while (reader.nextToken() != JsonToken.END_OBJECT) {
+ String fieldName = reader.getFieldName();
+ reader.nextToken();
+
+ if ("value".equals(fieldName)) {
+ value = reader.getString();
+ } else {
+ reader.skipChildren();
+ }
+ }
+ return new TeamsTelephonyTransferDestination(value);
+ });
+ }
+}
diff --git a/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/TelephonyBindingStatus.java b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/TelephonyBindingStatus.java
new file mode 100644
index 000000000000..76cf80fd95c0
--- /dev/null
+++ b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/TelephonyBindingStatus.java
@@ -0,0 +1,57 @@
+// 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 lifecycle status of a telephony binding.
+ */
+public final class TelephonyBindingStatus extends ExpandableStringEnum {
+ /**
+ * The binding accepts new inbound calls.
+ */
+ @Generated
+ public static final TelephonyBindingStatus ACTIVE = fromString("active");
+
+ /**
+ * The binding remains configured but rejects new inbound calls.
+ */
+ @Generated
+ public static final TelephonyBindingStatus SUSPENDED = fromString("suspended");
+
+ /**
+ * Creates a new instance of TelephonyBindingStatus value.
+ *
+ * @deprecated Use the {@link #fromString(String)} factory method.
+ */
+ @Generated
+ @Deprecated
+ public TelephonyBindingStatus() {
+ }
+
+ /**
+ * Creates or finds a TelephonyBindingStatus from its string representation.
+ *
+ * @param name a name to look for.
+ * @return the corresponding TelephonyBindingStatus.
+ */
+ @Generated
+ public static TelephonyBindingStatus fromString(String name) {
+ return fromString(name, TelephonyBindingStatus.class);
+ }
+
+ /**
+ * Gets known TelephonyBindingStatus values.
+ *
+ * @return known TelephonyBindingStatus values.
+ */
+ @Generated
+ public static Collection values() {
+ return values(TelephonyBindingStatus.class);
+ }
+}
diff --git a/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/TelephonyCallDurationBasis.java b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/TelephonyCallDurationBasis.java
new file mode 100644
index 000000000000..3f8f6d91194e
--- /dev/null
+++ b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/TelephonyCallDurationBasis.java
@@ -0,0 +1,57 @@
+// 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 timestamp used as the basis for call duration.
+ */
+public final class TelephonyCallDurationBasis extends ExpandableStringEnum {
+ /**
+ * Duration starts when the provider reports the call as answered.
+ */
+ @Generated
+ public static final TelephonyCallDurationBasis ANSWERED = fromString("answered");
+
+ /**
+ * Duration starts when the inbound webhook is received because no answered timestamp is available.
+ */
+ @Generated
+ public static final TelephonyCallDurationBasis RECEIVED = fromString("received");
+
+ /**
+ * Creates a new instance of TelephonyCallDurationBasis value.
+ *
+ * @deprecated Use the {@link #fromString(String)} factory method.
+ */
+ @Generated
+ @Deprecated
+ public TelephonyCallDurationBasis() {
+ }
+
+ /**
+ * Creates or finds a TelephonyCallDurationBasis from its string representation.
+ *
+ * @param name a name to look for.
+ * @return the corresponding TelephonyCallDurationBasis.
+ */
+ @Generated
+ public static TelephonyCallDurationBasis fromString(String name) {
+ return fromString(name, TelephonyCallDurationBasis.class);
+ }
+
+ /**
+ * Gets known TelephonyCallDurationBasis values.
+ *
+ * @return known TelephonyCallDurationBasis values.
+ */
+ @Generated
+ public static Collection values() {
+ return values(TelephonyCallDurationBasis.class);
+ }
+}
diff --git a/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/TelephonyCallLifecycleEvent.java b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/TelephonyCallLifecycleEvent.java
new file mode 100644
index 000000000000..18965bfc5218
--- /dev/null
+++ b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/TelephonyCallLifecycleEvent.java
@@ -0,0 +1,322 @@
+// 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;
+
+/**
+ * A bounded durable observation in the lifecycle of one telephony call.
+ */
+@Immutable
+public final class TelephonyCallLifecycleEvent implements JsonSerializable {
+ /*
+ * The service-assigned order of the event within the call record.
+ */
+ @Generated
+ private long sequence;
+
+ /*
+ * The stable provider-neutral event name.
+ */
+ @Generated
+ private final TelephonyCallLifecycleEventName name;
+
+ /*
+ * The component that supplied the observation.
+ */
+ @Generated
+ private final TelephonyCallLifecycleEventSource source;
+
+ /*
+ * The outcome of the observed lifecycle operation.
+ */
+ @Generated
+ private final TelephonyCallLifecycleEventOutcome outcome;
+
+ /*
+ * When the service observed the event, as Unix time in milliseconds.
+ */
+ @Generated
+ private final long observedAtMs;
+
+ /*
+ * When the event occurred according to the provider, as Unix time in milliseconds.
+ */
+ @Generated
+ private Long occurredAtMs;
+
+ /*
+ * The source of the event timestamp.
+ */
+ @Generated
+ private final TelephonyCallTimestampSource timestampSource;
+
+ /*
+ * A stable service-generated reason associated with the event.
+ */
+ @Generated
+ private String reason;
+
+ /*
+ * The provider event identifier used for idempotency, when supplied.
+ */
+ @Generated
+ private String providerEventId;
+
+ /*
+ * The provider event sequence, when supplied.
+ */
+ @Generated
+ private Long providerSequence;
+
+ /*
+ * The provider status code associated with the event.
+ */
+ @Generated
+ private Integer providerStatusCode;
+
+ /*
+ * The provider subcode associated with the event.
+ */
+ @Generated
+ private Integer providerSubCode;
+
+ /**
+ * Creates an instance of TelephonyCallLifecycleEvent class.
+ *
+ * @param name the name value to set.
+ * @param source the source value to set.
+ * @param outcome the outcome value to set.
+ * @param observedAtMs the observedAtMs value to set.
+ * @param timestampSource the timestampSource value to set.
+ */
+ @Generated
+ private TelephonyCallLifecycleEvent(TelephonyCallLifecycleEventName name, TelephonyCallLifecycleEventSource source,
+ TelephonyCallLifecycleEventOutcome outcome, long observedAtMs, TelephonyCallTimestampSource timestampSource) {
+ this.name = name;
+ this.source = source;
+ this.outcome = outcome;
+ this.observedAtMs = observedAtMs;
+ this.timestampSource = timestampSource;
+ }
+
+ /**
+ * Get the sequence property: The service-assigned order of the event within the call record.
+ *
+ * @return the sequence value.
+ */
+ @Generated
+ public long getSequence() {
+ return this.sequence;
+ }
+
+ /**
+ * Get the name property: The stable provider-neutral event name.
+ *
+ * @return the name value.
+ */
+ @Generated
+ public TelephonyCallLifecycleEventName getName() {
+ return this.name;
+ }
+
+ /**
+ * Get the source property: The component that supplied the observation.
+ *
+ * @return the source value.
+ */
+ @Generated
+ public TelephonyCallLifecycleEventSource getSource() {
+ return this.source;
+ }
+
+ /**
+ * Get the outcome property: The outcome of the observed lifecycle operation.
+ *
+ * @return the outcome value.
+ */
+ @Generated
+ public TelephonyCallLifecycleEventOutcome getOutcome() {
+ return this.outcome;
+ }
+
+ /**
+ * Get the observedAtMs property: When the service observed the event, as Unix time in milliseconds.
+ *
+ * @return the observedAtMs value.
+ */
+ @Generated
+ public long getObservedAtMs() {
+ return this.observedAtMs;
+ }
+
+ /**
+ * Get the occurredAtMs property: When the event occurred according to the provider, as Unix time in milliseconds.
+ *
+ * @return the occurredAtMs value.
+ */
+ @Generated
+ public Long getOccurredAtMs() {
+ return this.occurredAtMs;
+ }
+
+ /**
+ * Get the timestampSource property: The source of the event timestamp.
+ *
+ * @return the timestampSource value.
+ */
+ @Generated
+ public TelephonyCallTimestampSource getTimestampSource() {
+ return this.timestampSource;
+ }
+
+ /**
+ * Get the reason property: A stable service-generated reason associated with the event.
+ *
+ * @return the reason value.
+ */
+ @Generated
+ public String getReason() {
+ return this.reason;
+ }
+
+ /**
+ * Get the providerEventId property: The provider event identifier used for idempotency, when supplied.
+ *
+ * @return the providerEventId value.
+ */
+ @Generated
+ public String getProviderEventId() {
+ return this.providerEventId;
+ }
+
+ /**
+ * Get the providerSequence property: The provider event sequence, when supplied.
+ *
+ * @return the providerSequence value.
+ */
+ @Generated
+ public Long getProviderSequence() {
+ return this.providerSequence;
+ }
+
+ /**
+ * Get the providerStatusCode property: The provider status code associated with the event.
+ *
+ * @return the providerStatusCode value.
+ */
+ @Generated
+ public Integer getProviderStatusCode() {
+ return this.providerStatusCode;
+ }
+
+ /**
+ * Get the providerSubCode property: The provider subcode associated with the event.
+ *
+ * @return the providerSubCode value.
+ */
+ @Generated
+ public Integer getProviderSubCode() {
+ return this.providerSubCode;
+ }
+
+ /**
+ * {@inheritDoc}
+ */
+ @Generated
+ @Override
+ public JsonWriter toJson(JsonWriter jsonWriter) throws IOException {
+ jsonWriter.writeStartObject();
+ jsonWriter.writeStringField("name", this.name == null ? null : this.name.toString());
+ jsonWriter.writeStringField("source", this.source == null ? null : this.source.toString());
+ jsonWriter.writeStringField("outcome", this.outcome == null ? null : this.outcome.toString());
+ jsonWriter.writeLongField("observed_at_ms", this.observedAtMs);
+ jsonWriter.writeStringField("timestamp_source",
+ this.timestampSource == null ? null : this.timestampSource.toString());
+ jsonWriter.writeNumberField("occurred_at_ms", this.occurredAtMs);
+ jsonWriter.writeStringField("reason", this.reason);
+ jsonWriter.writeStringField("provider_event_id", this.providerEventId);
+ jsonWriter.writeNumberField("provider_sequence", this.providerSequence);
+ jsonWriter.writeNumberField("provider_status_code", this.providerStatusCode);
+ jsonWriter.writeNumberField("provider_sub_code", this.providerSubCode);
+ return jsonWriter.writeEndObject();
+ }
+
+ /**
+ * Reads an instance of TelephonyCallLifecycleEvent from the JsonReader.
+ *
+ * @param jsonReader The JsonReader being read.
+ * @return An instance of TelephonyCallLifecycleEvent 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 TelephonyCallLifecycleEvent.
+ */
+ @Generated
+ public static TelephonyCallLifecycleEvent fromJson(JsonReader jsonReader) throws IOException {
+ return jsonReader.readObject(reader -> {
+ long sequence = 0L;
+ TelephonyCallLifecycleEventName name = null;
+ TelephonyCallLifecycleEventSource source = null;
+ TelephonyCallLifecycleEventOutcome outcome = null;
+ long observedAtMs = 0L;
+ TelephonyCallTimestampSource timestampSource = null;
+ Long occurredAtMs = null;
+ String reason = null;
+ String providerEventId = null;
+ Long providerSequence = null;
+ Integer providerStatusCode = null;
+ Integer providerSubCode = null;
+ while (reader.nextToken() != JsonToken.END_OBJECT) {
+ String fieldName = reader.getFieldName();
+ reader.nextToken();
+
+ if ("sequence".equals(fieldName)) {
+ sequence = reader.getLong();
+ } else if ("name".equals(fieldName)) {
+ name = TelephonyCallLifecycleEventName.fromString(reader.getString());
+ } else if ("source".equals(fieldName)) {
+ source = TelephonyCallLifecycleEventSource.fromString(reader.getString());
+ } else if ("outcome".equals(fieldName)) {
+ outcome = TelephonyCallLifecycleEventOutcome.fromString(reader.getString());
+ } else if ("observed_at_ms".equals(fieldName)) {
+ observedAtMs = reader.getLong();
+ } else if ("timestamp_source".equals(fieldName)) {
+ timestampSource = TelephonyCallTimestampSource.fromString(reader.getString());
+ } else if ("occurred_at_ms".equals(fieldName)) {
+ occurredAtMs = reader.getNullable(JsonReader::getLong);
+ } else if ("reason".equals(fieldName)) {
+ reason = reader.getString();
+ } else if ("provider_event_id".equals(fieldName)) {
+ providerEventId = reader.getString();
+ } else if ("provider_sequence".equals(fieldName)) {
+ providerSequence = reader.getNullable(JsonReader::getLong);
+ } else if ("provider_status_code".equals(fieldName)) {
+ providerStatusCode = reader.getNullable(JsonReader::getInt);
+ } else if ("provider_sub_code".equals(fieldName)) {
+ providerSubCode = reader.getNullable(JsonReader::getInt);
+ } else {
+ reader.skipChildren();
+ }
+ }
+ TelephonyCallLifecycleEvent deserializedTelephonyCallLifecycleEvent
+ = new TelephonyCallLifecycleEvent(name, source, outcome, observedAtMs, timestampSource);
+ deserializedTelephonyCallLifecycleEvent.sequence = sequence;
+ deserializedTelephonyCallLifecycleEvent.occurredAtMs = occurredAtMs;
+ deserializedTelephonyCallLifecycleEvent.reason = reason;
+ deserializedTelephonyCallLifecycleEvent.providerEventId = providerEventId;
+ deserializedTelephonyCallLifecycleEvent.providerSequence = providerSequence;
+ deserializedTelephonyCallLifecycleEvent.providerStatusCode = providerStatusCode;
+ deserializedTelephonyCallLifecycleEvent.providerSubCode = providerSubCode;
+
+ return deserializedTelephonyCallLifecycleEvent;
+ });
+ }
+}
diff --git a/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/TelephonyCallLifecycleEventName.java b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/TelephonyCallLifecycleEventName.java
new file mode 100644
index 000000000000..5089c6329789
--- /dev/null
+++ b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/TelephonyCallLifecycleEventName.java
@@ -0,0 +1,114 @@
+// 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;
+
+/**
+ * A provider-neutral lifecycle event name. Known values are stable; additional values may be added over time.
+ */
+public final class TelephonyCallLifecycleEventName extends ExpandableStringEnum {
+ /**
+ * The provider webhook was received.
+ */
+ @Generated
+ public static final TelephonyCallLifecycleEventName WEBHOOK_RECEIVED = fromString("telephony.webhook.received");
+
+ /**
+ * The provider webhook was validated.
+ */
+ @Generated
+ public static final TelephonyCallLifecycleEventName WEBHOOK_VALIDATION = fromString("telephony.webhook.validation");
+
+ /**
+ * The service attempted to resolve the agent binding.
+ */
+ @Generated
+ public static final TelephonyCallLifecycleEventName BINDING_RESOLVE = fromString("telephony.binding.resolve");
+
+ /**
+ * The service requested or observed provider answer state.
+ */
+ @Generated
+ public static final TelephonyCallLifecycleEventName PROVIDER_ANSWER = fromString("telephony.provider.answer");
+
+ /**
+ * The provider media channel changed connection state.
+ */
+ @Generated
+ public static final TelephonyCallLifecycleEventName MEDIA_CONNECT = fromString("telephony.media.connect");
+
+ /**
+ * The voice-agent session changed connection state.
+ */
+ @Generated
+ public static final TelephonyCallLifecycleEventName AGENT_SESSION_CONNECT
+ = fromString("telephony.agent_session.connect");
+
+ /**
+ * The first caller audio was observed.
+ */
+ @Generated
+ public static final TelephonyCallLifecycleEventName FIRST_CALLER_AUDIO
+ = fromString("telephony.media.first_caller_audio");
+
+ /**
+ * The first agent audio was observed.
+ */
+ @Generated
+ public static final TelephonyCallLifecycleEventName FIRST_AGENT_AUDIO
+ = fromString("telephony.media.first_agent_audio");
+
+ /**
+ * A call transfer changed state.
+ */
+ @Generated
+ public static final TelephonyCallLifecycleEventName CALL_TRANSFER = fromString("telephony.call.transfer");
+
+ /**
+ * A call hang-up changed state.
+ */
+ @Generated
+ public static final TelephonyCallLifecycleEventName CALL_HANGUP = fromString("telephony.call.hangup");
+
+ /**
+ * The call disconnected.
+ */
+ @Generated
+ public static final TelephonyCallLifecycleEventName CALL_DISCONNECT = fromString("telephony.call.disconnect");
+
+ /**
+ * Creates a new instance of TelephonyCallLifecycleEventName value.
+ *
+ * @deprecated Use the {@link #fromString(String)} factory method.
+ */
+ @Generated
+ @Deprecated
+ public TelephonyCallLifecycleEventName() {
+ }
+
+ /**
+ * Creates or finds a TelephonyCallLifecycleEventName from its string representation.
+ *
+ * @param name a name to look for.
+ * @return the corresponding TelephonyCallLifecycleEventName.
+ */
+ @Generated
+ public static TelephonyCallLifecycleEventName fromString(String name) {
+ return fromString(name, TelephonyCallLifecycleEventName.class);
+ }
+
+ /**
+ * Gets known TelephonyCallLifecycleEventName values.
+ *
+ * @return known TelephonyCallLifecycleEventName values.
+ */
+ @Generated
+ public static Collection values() {
+ return values(TelephonyCallLifecycleEventName.class);
+ }
+}
diff --git a/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/TelephonyCallLifecycleEventOutcome.java b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/TelephonyCallLifecycleEventOutcome.java
new file mode 100644
index 000000000000..59112e7cbdf2
--- /dev/null
+++ b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/TelephonyCallLifecycleEventOutcome.java
@@ -0,0 +1,81 @@
+// 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 outcome of one telephony lifecycle observation.
+ */
+public final class TelephonyCallLifecycleEventOutcome extends ExpandableStringEnum {
+ /**
+ * The event was observed without a success or failure result.
+ */
+ @Generated
+ public static final TelephonyCallLifecycleEventOutcome OBSERVED = fromString("observed");
+
+ /**
+ * The operation started.
+ */
+ @Generated
+ public static final TelephonyCallLifecycleEventOutcome STARTED = fromString("started");
+
+ /**
+ * The operation succeeded.
+ */
+ @Generated
+ public static final TelephonyCallLifecycleEventOutcome SUCCEEDED = fromString("succeeded");
+
+ /**
+ * The operation failed.
+ */
+ @Generated
+ public static final TelephonyCallLifecycleEventOutcome FAILED = fromString("failed");
+
+ /**
+ * The operation or call was rejected.
+ */
+ @Generated
+ public static final TelephonyCallLifecycleEventOutcome REJECTED = fromString("rejected");
+
+ /**
+ * The operation was cancelled.
+ */
+ @Generated
+ public static final TelephonyCallLifecycleEventOutcome CANCELLED = fromString("cancelled");
+
+ /**
+ * Creates a new instance of TelephonyCallLifecycleEventOutcome value.
+ *
+ * @deprecated Use the {@link #fromString(String)} factory method.
+ */
+ @Generated
+ @Deprecated
+ public TelephonyCallLifecycleEventOutcome() {
+ }
+
+ /**
+ * Creates or finds a TelephonyCallLifecycleEventOutcome from its string representation.
+ *
+ * @param name a name to look for.
+ * @return the corresponding TelephonyCallLifecycleEventOutcome.
+ */
+ @Generated
+ public static TelephonyCallLifecycleEventOutcome fromString(String name) {
+ return fromString(name, TelephonyCallLifecycleEventOutcome.class);
+ }
+
+ /**
+ * Gets known TelephonyCallLifecycleEventOutcome values.
+ *
+ * @return known TelephonyCallLifecycleEventOutcome values.
+ */
+ @Generated
+ public static Collection values() {
+ return values(TelephonyCallLifecycleEventOutcome.class);
+ }
+}
diff --git a/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/TelephonyCallLifecycleEventSource.java b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/TelephonyCallLifecycleEventSource.java
new file mode 100644
index 000000000000..4e9878efba3e
--- /dev/null
+++ b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/TelephonyCallLifecycleEventSource.java
@@ -0,0 +1,69 @@
+// 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 component that supplied a telephony lifecycle observation.
+ */
+public final class TelephonyCallLifecycleEventSource extends ExpandableStringEnum {
+ /**
+ * The Foundry telephony gateway supplied the observation.
+ */
+ @Generated
+ public static final TelephonyCallLifecycleEventSource GATEWAY = fromString("gateway");
+
+ /**
+ * Microsoft Teams Phone Extension supplied the observation.
+ */
+ @Generated
+ public static final TelephonyCallLifecycleEventSource TEAMS_PHONE_EXTENSION = fromString("teams_phone_extension");
+
+ /**
+ * Twilio supplied the observation.
+ */
+ @Generated
+ public static final TelephonyCallLifecycleEventSource TWILIO = fromString("twilio");
+
+ /**
+ * The voice-agent runtime supplied the observation.
+ */
+ @Generated
+ public static final TelephonyCallLifecycleEventSource VOICE_AGENT = fromString("voice_agent");
+
+ /**
+ * Creates a new instance of TelephonyCallLifecycleEventSource value.
+ *
+ * @deprecated Use the {@link #fromString(String)} factory method.
+ */
+ @Generated
+ @Deprecated
+ public TelephonyCallLifecycleEventSource() {
+ }
+
+ /**
+ * Creates or finds a TelephonyCallLifecycleEventSource from its string representation.
+ *
+ * @param name a name to look for.
+ * @return the corresponding TelephonyCallLifecycleEventSource.
+ */
+ @Generated
+ public static TelephonyCallLifecycleEventSource fromString(String name) {
+ return fromString(name, TelephonyCallLifecycleEventSource.class);
+ }
+
+ /**
+ * Gets known TelephonyCallLifecycleEventSource values.
+ *
+ * @return known TelephonyCallLifecycleEventSource values.
+ */
+ @Generated
+ public static Collection values() {
+ return values(TelephonyCallLifecycleEventSource.class);
+ }
+}
diff --git a/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/TelephonyCallPhase.java b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/TelephonyCallPhase.java
new file mode 100644
index 000000000000..9c5d39676180
--- /dev/null
+++ b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/TelephonyCallPhase.java
@@ -0,0 +1,117 @@
+// 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 provider-neutral phase reached by an inbound telephony call.
+ */
+public final class TelephonyCallPhase extends ExpandableStringEnum {
+ /**
+ * The provider webhook was received.
+ */
+ @Generated
+ public static final TelephonyCallPhase RECEIVED = fromString("received");
+
+ /**
+ * The provider webhook was validated.
+ */
+ @Generated
+ public static final TelephonyCallPhase VALIDATED = fromString("validated");
+
+ /**
+ * The call was admitted to a configured agent binding.
+ */
+ @Generated
+ public static final TelephonyCallPhase ADMITTED = fromString("admitted");
+
+ /**
+ * The provider was asked to answer the call.
+ */
+ @Generated
+ public static final TelephonyCallPhase ANSWERING = fromString("answering");
+
+ /**
+ * The provider reported that the call was answered.
+ */
+ @Generated
+ public static final TelephonyCallPhase ANSWERED = fromString("answered");
+
+ /**
+ * The provider media channel was connected.
+ */
+ @Generated
+ public static final TelephonyCallPhase MEDIA_CONNECTED = fromString("media_connected");
+
+ /**
+ * The voice-agent session was ready.
+ */
+ @Generated
+ public static final TelephonyCallPhase AGENT_SESSION_READY = fromString("agent_session_ready");
+
+ /**
+ * Media was actively bridged between the caller and the voice agent.
+ */
+ @Generated
+ public static final TelephonyCallPhase BRIDGING = fromString("bridging");
+
+ /**
+ * A mid-call management command was in progress.
+ */
+ @Generated
+ public static final TelephonyCallPhase MANAGING = fromString("managing");
+
+ /**
+ * The call completed.
+ */
+ @Generated
+ public static final TelephonyCallPhase COMPLETED = fromString("completed");
+
+ /**
+ * The call was rejected before admission or answer.
+ */
+ @Generated
+ public static final TelephonyCallPhase REJECTED = fromString("rejected");
+
+ /**
+ * The call failed.
+ */
+ @Generated
+ public static final TelephonyCallPhase FAILED = fromString("failed");
+
+ /**
+ * Creates a new instance of TelephonyCallPhase value.
+ *
+ * @deprecated Use the {@link #fromString(String)} factory method.
+ */
+ @Generated
+ @Deprecated
+ public TelephonyCallPhase() {
+ }
+
+ /**
+ * Creates or finds a TelephonyCallPhase from its string representation.
+ *
+ * @param name a name to look for.
+ * @return the corresponding TelephonyCallPhase.
+ */
+ @Generated
+ public static TelephonyCallPhase fromString(String name) {
+ return fromString(name, TelephonyCallPhase.class);
+ }
+
+ /**
+ * Gets known TelephonyCallPhase values.
+ *
+ * @return known TelephonyCallPhase values.
+ */
+ @Generated
+ public static Collection values() {
+ return values(TelephonyCallPhase.class);
+ }
+}
diff --git a/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/TelephonyCallRecord.java b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/TelephonyCallRecord.java
new file mode 100644
index 000000000000..11ef9bec79a0
--- /dev/null
+++ b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/TelephonyCallRecord.java
@@ -0,0 +1,537 @@
+// 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.time.Instant;
+import java.time.OffsetDateTime;
+import java.time.ZoneOffset;
+import java.util.List;
+
+/**
+ * Detailed diagnostics for a durable inbound call to a voice agent.
+ */
+@Immutable
+public final class TelephonyCallRecord implements JsonSerializable {
+ /*
+ * The service-generated call identifier.
+ */
+ @Generated
+ private final String id;
+
+ /*
+ * The telephony provider.
+ */
+ @Generated
+ private final TelephonyProvider provider;
+
+ /*
+ * The provider-assigned call identifier, when available.
+ */
+ @Generated
+ private String providerCallId;
+
+ /*
+ * The caller's phone number, when supplied by the provider.
+ */
+ @Generated
+ private String callerNumber;
+
+ /*
+ * The Teams Phone Extension or Twilio number that received the call.
+ */
+ @Generated
+ private String providerNumber;
+
+ /*
+ * The lifecycle status of the call.
+ */
+ @Generated
+ private final TelephonyCallStatus status;
+
+ /*
+ * The provider-neutral lifecycle phase reached by the call.
+ */
+ @Generated
+ private final TelephonyCallPhase phase;
+
+ /*
+ * The Unix timestamp (in seconds) for when the inbound webhook was received.
+ */
+ @Generated
+ private final long startedAt;
+
+ /*
+ * The Unix timestamp (in seconds) for when the provider reported the call as answered.
+ */
+ @Generated
+ private Long answeredAt;
+
+ /*
+ * The Unix timestamp (in seconds) for when the provider media channel connected.
+ */
+ @Generated
+ private Long mediaConnectedAt;
+
+ /*
+ * The Unix timestamp (in seconds) for when the voice-agent session became ready.
+ */
+ @Generated
+ private Long agentSessionReadyAt;
+
+ /*
+ * The Unix timestamp (in seconds) for when the call ended.
+ */
+ @Generated
+ private Long endedAt;
+
+ /*
+ * The call duration in seconds.
+ */
+ @Generated
+ private Long durationSeconds;
+
+ /*
+ * The service-generated reason that the call ended.
+ */
+ @Generated
+ private String endReason;
+
+ /*
+ * The provider status code associated with the terminal result.
+ */
+ @Generated
+ private Integer providerStatusCode;
+
+ /*
+ * The provider subcode associated with the terminal result.
+ */
+ @Generated
+ private Integer providerSubCode;
+
+ /*
+ * The provider message associated with the terminal result.
+ */
+ @Generated
+ private String providerMessage;
+
+ /*
+ * Detailed provider-neutral call timing.
+ */
+ @Generated
+ private final TelephonyCallTiming timing;
+
+ /*
+ * Correlation to the customer-facing Foundry trace.
+ */
+ @Generated
+ private TelephonyCallTrace trace;
+
+ /*
+ * The bounded lifecycle timeline.
+ */
+ @Generated
+ private final List events;
+
+ /*
+ * Whether older lifecycle events were omitted because the bounded event limit was reached.
+ */
+ @Generated
+ private final boolean eventsTruncated;
+
+ /**
+ * Creates an instance of TelephonyCallRecord class.
+ *
+ * @param id the id value to set.
+ * @param provider the provider value to set.
+ * @param status the status value to set.
+ * @param phase the phase value to set.
+ * @param startedAt the startedAt value to set.
+ * @param timing the timing value to set.
+ * @param events the events value to set.
+ * @param eventsTruncated the eventsTruncated value to set.
+ */
+ @Generated
+ private TelephonyCallRecord(String id, TelephonyProvider provider, TelephonyCallStatus status,
+ TelephonyCallPhase phase, OffsetDateTime startedAt, TelephonyCallTiming timing,
+ List events, boolean eventsTruncated) {
+ this.id = id;
+ this.provider = provider;
+ this.status = status;
+ this.phase = phase;
+ if (startedAt == null) {
+ this.startedAt = 0L;
+ } else {
+ this.startedAt = startedAt.toEpochSecond();
+ }
+ this.timing = timing;
+ this.events = events;
+ this.eventsTruncated = eventsTruncated;
+ }
+
+ /**
+ * Get the id property: The service-generated call identifier.
+ *
+ * @return the id value.
+ */
+ @Generated
+ public String getId() {
+ return this.id;
+ }
+
+ /**
+ * Get the provider property: The telephony provider.
+ *
+ * @return the provider value.
+ */
+ @Generated
+ public TelephonyProvider getProvider() {
+ return this.provider;
+ }
+
+ /**
+ * Get the providerCallId property: The provider-assigned call identifier, when available.
+ *
+ * @return the providerCallId value.
+ */
+ @Generated
+ public String getProviderCallId() {
+ return this.providerCallId;
+ }
+
+ /**
+ * Get the callerNumber property: The caller's phone number, when supplied by the provider.
+ *
+ * @return the callerNumber value.
+ */
+ @Generated
+ public String getCallerNumber() {
+ return this.callerNumber;
+ }
+
+ /**
+ * Get the providerNumber property: The Teams Phone Extension or Twilio number that received the call.
+ *
+ * @return the providerNumber value.
+ */
+ @Generated
+ public String getProviderNumber() {
+ return this.providerNumber;
+ }
+
+ /**
+ * Get the status property: The lifecycle status of the call.
+ *
+ * @return the status value.
+ */
+ @Generated
+ public TelephonyCallStatus getStatus() {
+ return this.status;
+ }
+
+ /**
+ * Get the phase property: The provider-neutral lifecycle phase reached by the call.
+ *
+ * @return the phase value.
+ */
+ @Generated
+ public TelephonyCallPhase getPhase() {
+ return this.phase;
+ }
+
+ /**
+ * Get the startedAt property: The Unix timestamp (in seconds) for when the inbound webhook was received.
+ *
+ * @return the startedAt value.
+ */
+ @Generated
+ public OffsetDateTime getStartedAt() {
+ return OffsetDateTime.ofInstant(Instant.ofEpochSecond(this.startedAt), ZoneOffset.UTC);
+ }
+
+ /**
+ * Get the answeredAt property: The Unix timestamp (in seconds) for when the provider reported the call as answered.
+ *
+ * @return the answeredAt value.
+ */
+ @Generated
+ public OffsetDateTime getAnsweredAt() {
+ if (this.answeredAt == null) {
+ return null;
+ }
+ return OffsetDateTime.ofInstant(Instant.ofEpochSecond(this.answeredAt), ZoneOffset.UTC);
+ }
+
+ /**
+ * Get the mediaConnectedAt property: The Unix timestamp (in seconds) for when the provider media channel connected.
+ *
+ * @return the mediaConnectedAt value.
+ */
+ @Generated
+ public OffsetDateTime getMediaConnectedAt() {
+ if (this.mediaConnectedAt == null) {
+ return null;
+ }
+ return OffsetDateTime.ofInstant(Instant.ofEpochSecond(this.mediaConnectedAt), ZoneOffset.UTC);
+ }
+
+ /**
+ * Get the agentSessionReadyAt property: The Unix timestamp (in seconds) for when the voice-agent session became
+ * ready.
+ *
+ * @return the agentSessionReadyAt value.
+ */
+ @Generated
+ public OffsetDateTime getAgentSessionReadyAt() {
+ if (this.agentSessionReadyAt == null) {
+ return null;
+ }
+ return OffsetDateTime.ofInstant(Instant.ofEpochSecond(this.agentSessionReadyAt), ZoneOffset.UTC);
+ }
+
+ /**
+ * Get the endedAt property: The Unix timestamp (in seconds) for when the call ended.
+ *
+ * @return the endedAt value.
+ */
+ @Generated
+ public OffsetDateTime getEndedAt() {
+ if (this.endedAt == null) {
+ return null;
+ }
+ return OffsetDateTime.ofInstant(Instant.ofEpochSecond(this.endedAt), ZoneOffset.UTC);
+ }
+
+ /**
+ * Get the durationSeconds property: The call duration in seconds.
+ *
+ * @return the durationSeconds value.
+ */
+ @Generated
+ public Long getDurationSeconds() {
+ return this.durationSeconds;
+ }
+
+ /**
+ * Get the endReason property: The service-generated reason that the call ended.
+ *
+ * @return the endReason value.
+ */
+ @Generated
+ public String getEndReason() {
+ return this.endReason;
+ }
+
+ /**
+ * Get the providerStatusCode property: The provider status code associated with the terminal result.
+ *
+ * @return the providerStatusCode value.
+ */
+ @Generated
+ public Integer getProviderStatusCode() {
+ return this.providerStatusCode;
+ }
+
+ /**
+ * Get the providerSubCode property: The provider subcode associated with the terminal result.
+ *
+ * @return the providerSubCode value.
+ */
+ @Generated
+ public Integer getProviderSubCode() {
+ return this.providerSubCode;
+ }
+
+ /**
+ * Get the providerMessage property: The provider message associated with the terminal result.
+ *
+ * @return the providerMessage value.
+ */
+ @Generated
+ public String getProviderMessage() {
+ return this.providerMessage;
+ }
+
+ /**
+ * Get the timing property: Detailed provider-neutral call timing.
+ *
+ * @return the timing value.
+ */
+ @Generated
+ public TelephonyCallTiming getTiming() {
+ return this.timing;
+ }
+
+ /**
+ * Get the trace property: Correlation to the customer-facing Foundry trace.
+ *
+ * @return the trace value.
+ */
+ @Generated
+ public TelephonyCallTrace getTrace() {
+ return this.trace;
+ }
+
+ /**
+ * Get the events property: The bounded lifecycle timeline.
+ *
+ * @return the events value.
+ */
+ @Generated
+ public List getEvents() {
+ return this.events;
+ }
+
+ /**
+ * Get the eventsTruncated property: Whether older lifecycle events were omitted because the bounded event limit was
+ * reached.
+ *
+ * @return the eventsTruncated value.
+ */
+ @Generated
+ public boolean isEventsTruncated() {
+ return this.eventsTruncated;
+ }
+
+ /**
+ * {@inheritDoc}
+ */
+ @Generated
+ @Override
+ public JsonWriter toJson(JsonWriter jsonWriter) throws IOException {
+ jsonWriter.writeStartObject();
+ jsonWriter.writeStringField("id", this.id);
+ jsonWriter.writeStringField("provider", this.provider == null ? null : this.provider.toString());
+ jsonWriter.writeStringField("status", this.status == null ? null : this.status.toString());
+ jsonWriter.writeStringField("phase", this.phase == null ? null : this.phase.toString());
+ jsonWriter.writeLongField("started_at", this.startedAt);
+ jsonWriter.writeJsonField("timing", this.timing);
+ jsonWriter.writeArrayField("events", this.events, (writer, element) -> writer.writeJson(element));
+ jsonWriter.writeBooleanField("events_truncated", this.eventsTruncated);
+ jsonWriter.writeStringField("provider_call_id", this.providerCallId);
+ jsonWriter.writeStringField("caller_number", this.callerNumber);
+ jsonWriter.writeStringField("provider_number", this.providerNumber);
+ jsonWriter.writeNumberField("answered_at", this.answeredAt);
+ jsonWriter.writeNumberField("media_connected_at", this.mediaConnectedAt);
+ jsonWriter.writeNumberField("agent_session_ready_at", this.agentSessionReadyAt);
+ jsonWriter.writeNumberField("ended_at", this.endedAt);
+ jsonWriter.writeNumberField("duration_seconds", this.durationSeconds);
+ jsonWriter.writeStringField("end_reason", this.endReason);
+ jsonWriter.writeNumberField("provider_status_code", this.providerStatusCode);
+ jsonWriter.writeNumberField("provider_sub_code", this.providerSubCode);
+ jsonWriter.writeStringField("provider_message", this.providerMessage);
+ jsonWriter.writeJsonField("trace", this.trace);
+ return jsonWriter.writeEndObject();
+ }
+
+ /**
+ * Reads an instance of TelephonyCallRecord from the JsonReader.
+ *
+ * @param jsonReader The JsonReader being read.
+ * @return An instance of TelephonyCallRecord 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 TelephonyCallRecord.
+ */
+ @Generated
+ public static TelephonyCallRecord fromJson(JsonReader jsonReader) throws IOException {
+ return jsonReader.readObject(reader -> {
+ String id = null;
+ TelephonyProvider provider = null;
+ TelephonyCallStatus status = null;
+ TelephonyCallPhase phase = null;
+ OffsetDateTime startedAt = null;
+ TelephonyCallTiming timing = null;
+ List events = null;
+ boolean eventsTruncated = false;
+ String providerCallId = null;
+ String callerNumber = null;
+ String providerNumber = null;
+ Long answeredAt = null;
+ Long mediaConnectedAt = null;
+ Long agentSessionReadyAt = null;
+ Long endedAt = null;
+ Long durationSeconds = null;
+ String endReason = null;
+ Integer providerStatusCode = null;
+ Integer providerSubCode = null;
+ String providerMessage = null;
+ TelephonyCallTrace trace = null;
+ while (reader.nextToken() != JsonToken.END_OBJECT) {
+ String fieldName = reader.getFieldName();
+ reader.nextToken();
+
+ if ("id".equals(fieldName)) {
+ id = reader.getString();
+ } else if ("provider".equals(fieldName)) {
+ provider = TelephonyProvider.fromString(reader.getString());
+ } else if ("status".equals(fieldName)) {
+ status = TelephonyCallStatus.fromString(reader.getString());
+ } else if ("phase".equals(fieldName)) {
+ phase = TelephonyCallPhase.fromString(reader.getString());
+ } else if ("started_at".equals(fieldName)) {
+ startedAt = OffsetDateTime.ofInstant(Instant.ofEpochSecond(reader.getLong()), ZoneOffset.UTC);
+ } else if ("timing".equals(fieldName)) {
+ timing = TelephonyCallTiming.fromJson(reader);
+ } else if ("events".equals(fieldName)) {
+ events = reader.readArray(reader1 -> TelephonyCallLifecycleEvent.fromJson(reader1));
+ } else if ("events_truncated".equals(fieldName)) {
+ eventsTruncated = reader.getBoolean();
+ } else if ("provider_call_id".equals(fieldName)) {
+ providerCallId = reader.getString();
+ } else if ("caller_number".equals(fieldName)) {
+ callerNumber = reader.getString();
+ } else if ("provider_number".equals(fieldName)) {
+ providerNumber = reader.getString();
+ } else if ("answered_at".equals(fieldName)) {
+ answeredAt = reader.getNullable(JsonReader::getLong);
+ } else if ("media_connected_at".equals(fieldName)) {
+ mediaConnectedAt = reader.getNullable(JsonReader::getLong);
+ } else if ("agent_session_ready_at".equals(fieldName)) {
+ agentSessionReadyAt = reader.getNullable(JsonReader::getLong);
+ } else if ("ended_at".equals(fieldName)) {
+ endedAt = reader.getNullable(JsonReader::getLong);
+ } else if ("duration_seconds".equals(fieldName)) {
+ durationSeconds = reader.getNullable(JsonReader::getLong);
+ } else if ("end_reason".equals(fieldName)) {
+ endReason = reader.getString();
+ } else if ("provider_status_code".equals(fieldName)) {
+ providerStatusCode = reader.getNullable(JsonReader::getInt);
+ } else if ("provider_sub_code".equals(fieldName)) {
+ providerSubCode = reader.getNullable(JsonReader::getInt);
+ } else if ("provider_message".equals(fieldName)) {
+ providerMessage = reader.getString();
+ } else if ("trace".equals(fieldName)) {
+ trace = TelephonyCallTrace.fromJson(reader);
+ } else {
+ reader.skipChildren();
+ }
+ }
+ TelephonyCallRecord deserializedTelephonyCallRecord
+ = new TelephonyCallRecord(id, provider, status, phase, startedAt, timing, events, eventsTruncated);
+ deserializedTelephonyCallRecord.providerCallId = providerCallId;
+ deserializedTelephonyCallRecord.callerNumber = callerNumber;
+ deserializedTelephonyCallRecord.providerNumber = providerNumber;
+ deserializedTelephonyCallRecord.answeredAt = answeredAt;
+ deserializedTelephonyCallRecord.mediaConnectedAt = mediaConnectedAt;
+ deserializedTelephonyCallRecord.agentSessionReadyAt = agentSessionReadyAt;
+ deserializedTelephonyCallRecord.endedAt = endedAt;
+ deserializedTelephonyCallRecord.durationSeconds = durationSeconds;
+ deserializedTelephonyCallRecord.endReason = endReason;
+ deserializedTelephonyCallRecord.providerStatusCode = providerStatusCode;
+ deserializedTelephonyCallRecord.providerSubCode = providerSubCode;
+ deserializedTelephonyCallRecord.providerMessage = providerMessage;
+ deserializedTelephonyCallRecord.trace = trace;
+
+ return deserializedTelephonyCallRecord;
+ });
+ }
+}
diff --git a/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/TelephonyCallStatus.java b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/TelephonyCallStatus.java
new file mode 100644
index 000000000000..aa72b6bd11ce
--- /dev/null
+++ b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/TelephonyCallStatus.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 lifecycle status of an inbound telephony call.
+ */
+public final class TelephonyCallStatus extends ExpandableStringEnum {
+ /**
+ * The call has started and has not reached a terminal state.
+ */
+ @Generated
+ public static final TelephonyCallStatus IN_PROGRESS = fromString("in_progress");
+
+ /**
+ * The call ended successfully.
+ */
+ @Generated
+ public static final TelephonyCallStatus SUCCESS = fromString("success");
+
+ /**
+ * The call ended because of a provider or management failure.
+ */
+ @Generated
+ public static final TelephonyCallStatus FAILED = fromString("failed");
+
+ /**
+ * Creates a new instance of TelephonyCallStatus value.
+ *
+ * @deprecated Use the {@link #fromString(String)} factory method.
+ */
+ @Generated
+ @Deprecated
+ public TelephonyCallStatus() {
+ }
+
+ /**
+ * Creates or finds a TelephonyCallStatus from its string representation.
+ *
+ * @param name a name to look for.
+ * @return the corresponding TelephonyCallStatus.
+ */
+ @Generated
+ public static TelephonyCallStatus fromString(String name) {
+ return fromString(name, TelephonyCallStatus.class);
+ }
+
+ /**
+ * Gets known TelephonyCallStatus values.
+ *
+ * @return known TelephonyCallStatus values.
+ */
+ @Generated
+ public static Collection values() {
+ return values(TelephonyCallStatus.class);
+ }
+}
diff --git a/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/TelephonyCallSummary.java b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/TelephonyCallSummary.java
new file mode 100644
index 000000000000..7416e476641a
--- /dev/null
+++ b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/TelephonyCallSummary.java
@@ -0,0 +1,447 @@
+// 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.time.Instant;
+import java.time.OffsetDateTime;
+import java.time.ZoneOffset;
+
+/**
+ * A summary of a durable inbound call to a voice agent.
+ */
+@Immutable
+public final class TelephonyCallSummary implements JsonSerializable {
+ /*
+ * The service-generated call identifier.
+ */
+ @Generated
+ private final String id;
+
+ /*
+ * The telephony provider.
+ */
+ @Generated
+ private final TelephonyProvider provider;
+
+ /*
+ * The provider-assigned call identifier, when available.
+ */
+ @Generated
+ private String providerCallId;
+
+ /*
+ * The caller's phone number, when supplied by the provider.
+ */
+ @Generated
+ private String callerNumber;
+
+ /*
+ * The Teams Phone Extension or Twilio number that received the call.
+ */
+ @Generated
+ private String providerNumber;
+
+ /*
+ * The lifecycle status of the call.
+ */
+ @Generated
+ private final TelephonyCallStatus status;
+
+ /*
+ * The provider-neutral lifecycle phase reached by the call.
+ */
+ @Generated
+ private final TelephonyCallPhase phase;
+
+ /*
+ * The Unix timestamp (in seconds) for when the inbound webhook was received.
+ */
+ @Generated
+ private final long startedAt;
+
+ /*
+ * The Unix timestamp (in seconds) for when the provider reported the call as answered.
+ */
+ @Generated
+ private Long answeredAt;
+
+ /*
+ * The Unix timestamp (in seconds) for when the provider media channel connected.
+ */
+ @Generated
+ private Long mediaConnectedAt;
+
+ /*
+ * The Unix timestamp (in seconds) for when the voice-agent session became ready.
+ */
+ @Generated
+ private Long agentSessionReadyAt;
+
+ /*
+ * The Unix timestamp (in seconds) for when the call ended.
+ */
+ @Generated
+ private Long endedAt;
+
+ /*
+ * The call duration in seconds.
+ */
+ @Generated
+ private Long durationSeconds;
+
+ /*
+ * The service-generated reason that the call ended.
+ */
+ @Generated
+ private String endReason;
+
+ /*
+ * The provider status code associated with the terminal result.
+ */
+ @Generated
+ private Integer providerStatusCode;
+
+ /*
+ * The provider subcode associated with the terminal result.
+ */
+ @Generated
+ private Integer providerSubCode;
+
+ /*
+ * The provider message associated with the terminal result.
+ */
+ @Generated
+ private String providerMessage;
+
+ /**
+ * Creates an instance of TelephonyCallSummary class.
+ *
+ * @param id the id value to set.
+ * @param provider the provider value to set.
+ * @param status the status value to set.
+ * @param phase the phase value to set.
+ * @param startedAt the startedAt value to set.
+ */
+ @Generated
+ private TelephonyCallSummary(String id, TelephonyProvider provider, TelephonyCallStatus status,
+ TelephonyCallPhase phase, OffsetDateTime startedAt) {
+ this.id = id;
+ this.provider = provider;
+ this.status = status;
+ this.phase = phase;
+ if (startedAt == null) {
+ this.startedAt = 0L;
+ } else {
+ this.startedAt = startedAt.toEpochSecond();
+ }
+ }
+
+ /**
+ * Get the id property: The service-generated call identifier.
+ *
+ * @return the id value.
+ */
+ @Generated
+ public String getId() {
+ return this.id;
+ }
+
+ /**
+ * Get the provider property: The telephony provider.
+ *
+ * @return the provider value.
+ */
+ @Generated
+ public TelephonyProvider getProvider() {
+ return this.provider;
+ }
+
+ /**
+ * Get the providerCallId property: The provider-assigned call identifier, when available.
+ *
+ * @return the providerCallId value.
+ */
+ @Generated
+ public String getProviderCallId() {
+ return this.providerCallId;
+ }
+
+ /**
+ * Get the callerNumber property: The caller's phone number, when supplied by the provider.
+ *
+ * @return the callerNumber value.
+ */
+ @Generated
+ public String getCallerNumber() {
+ return this.callerNumber;
+ }
+
+ /**
+ * Get the providerNumber property: The Teams Phone Extension or Twilio number that received the call.
+ *
+ * @return the providerNumber value.
+ */
+ @Generated
+ public String getProviderNumber() {
+ return this.providerNumber;
+ }
+
+ /**
+ * Get the status property: The lifecycle status of the call.
+ *
+ * @return the status value.
+ */
+ @Generated
+ public TelephonyCallStatus getStatus() {
+ return this.status;
+ }
+
+ /**
+ * Get the phase property: The provider-neutral lifecycle phase reached by the call.
+ *
+ * @return the phase value.
+ */
+ @Generated
+ public TelephonyCallPhase getPhase() {
+ return this.phase;
+ }
+
+ /**
+ * Get the startedAt property: The Unix timestamp (in seconds) for when the inbound webhook was received.
+ *
+ * @return the startedAt value.
+ */
+ @Generated
+ public OffsetDateTime getStartedAt() {
+ return OffsetDateTime.ofInstant(Instant.ofEpochSecond(this.startedAt), ZoneOffset.UTC);
+ }
+
+ /**
+ * Get the answeredAt property: The Unix timestamp (in seconds) for when the provider reported the call as answered.
+ *
+ * @return the answeredAt value.
+ */
+ @Generated
+ public OffsetDateTime getAnsweredAt() {
+ if (this.answeredAt == null) {
+ return null;
+ }
+ return OffsetDateTime.ofInstant(Instant.ofEpochSecond(this.answeredAt), ZoneOffset.UTC);
+ }
+
+ /**
+ * Get the mediaConnectedAt property: The Unix timestamp (in seconds) for when the provider media channel connected.
+ *
+ * @return the mediaConnectedAt value.
+ */
+ @Generated
+ public OffsetDateTime getMediaConnectedAt() {
+ if (this.mediaConnectedAt == null) {
+ return null;
+ }
+ return OffsetDateTime.ofInstant(Instant.ofEpochSecond(this.mediaConnectedAt), ZoneOffset.UTC);
+ }
+
+ /**
+ * Get the agentSessionReadyAt property: The Unix timestamp (in seconds) for when the voice-agent session became
+ * ready.
+ *
+ * @return the agentSessionReadyAt value.
+ */
+ @Generated
+ public OffsetDateTime getAgentSessionReadyAt() {
+ if (this.agentSessionReadyAt == null) {
+ return null;
+ }
+ return OffsetDateTime.ofInstant(Instant.ofEpochSecond(this.agentSessionReadyAt), ZoneOffset.UTC);
+ }
+
+ /**
+ * Get the endedAt property: The Unix timestamp (in seconds) for when the call ended.
+ *
+ * @return the endedAt value.
+ */
+ @Generated
+ public OffsetDateTime getEndedAt() {
+ if (this.endedAt == null) {
+ return null;
+ }
+ return OffsetDateTime.ofInstant(Instant.ofEpochSecond(this.endedAt), ZoneOffset.UTC);
+ }
+
+ /**
+ * Get the durationSeconds property: The call duration in seconds.
+ *
+ * @return the durationSeconds value.
+ */
+ @Generated
+ public Long getDurationSeconds() {
+ return this.durationSeconds;
+ }
+
+ /**
+ * Get the endReason property: The service-generated reason that the call ended.
+ *
+ * @return the endReason value.
+ */
+ @Generated
+ public String getEndReason() {
+ return this.endReason;
+ }
+
+ /**
+ * Get the providerStatusCode property: The provider status code associated with the terminal result.
+ *
+ * @return the providerStatusCode value.
+ */
+ @Generated
+ public Integer getProviderStatusCode() {
+ return this.providerStatusCode;
+ }
+
+ /**
+ * Get the providerSubCode property: The provider subcode associated with the terminal result.
+ *
+ * @return the providerSubCode value.
+ */
+ @Generated
+ public Integer getProviderSubCode() {
+ return this.providerSubCode;
+ }
+
+ /**
+ * Get the providerMessage property: The provider message associated with the terminal result.
+ *
+ * @return the providerMessage value.
+ */
+ @Generated
+ public String getProviderMessage() {
+ return this.providerMessage;
+ }
+
+ /**
+ * {@inheritDoc}
+ */
+ @Generated
+ @Override
+ public JsonWriter toJson(JsonWriter jsonWriter) throws IOException {
+ jsonWriter.writeStartObject();
+ jsonWriter.writeStringField("id", this.id);
+ jsonWriter.writeStringField("provider", this.provider == null ? null : this.provider.toString());
+ jsonWriter.writeStringField("status", this.status == null ? null : this.status.toString());
+ jsonWriter.writeStringField("phase", this.phase == null ? null : this.phase.toString());
+ jsonWriter.writeLongField("started_at", this.startedAt);
+ jsonWriter.writeStringField("provider_call_id", this.providerCallId);
+ jsonWriter.writeStringField("caller_number", this.callerNumber);
+ jsonWriter.writeStringField("provider_number", this.providerNumber);
+ jsonWriter.writeNumberField("answered_at", this.answeredAt);
+ jsonWriter.writeNumberField("media_connected_at", this.mediaConnectedAt);
+ jsonWriter.writeNumberField("agent_session_ready_at", this.agentSessionReadyAt);
+ jsonWriter.writeNumberField("ended_at", this.endedAt);
+ jsonWriter.writeNumberField("duration_seconds", this.durationSeconds);
+ jsonWriter.writeStringField("end_reason", this.endReason);
+ jsonWriter.writeNumberField("provider_status_code", this.providerStatusCode);
+ jsonWriter.writeNumberField("provider_sub_code", this.providerSubCode);
+ jsonWriter.writeStringField("provider_message", this.providerMessage);
+ return jsonWriter.writeEndObject();
+ }
+
+ /**
+ * Reads an instance of TelephonyCallSummary from the JsonReader.
+ *
+ * @param jsonReader The JsonReader being read.
+ * @return An instance of TelephonyCallSummary 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 TelephonyCallSummary.
+ */
+ @Generated
+ public static TelephonyCallSummary fromJson(JsonReader jsonReader) throws IOException {
+ return jsonReader.readObject(reader -> {
+ String id = null;
+ TelephonyProvider provider = null;
+ TelephonyCallStatus status = null;
+ TelephonyCallPhase phase = null;
+ OffsetDateTime startedAt = null;
+ String providerCallId = null;
+ String callerNumber = null;
+ String providerNumber = null;
+ Long answeredAt = null;
+ Long mediaConnectedAt = null;
+ Long agentSessionReadyAt = null;
+ Long endedAt = null;
+ Long durationSeconds = null;
+ String endReason = null;
+ Integer providerStatusCode = null;
+ Integer providerSubCode = null;
+ String providerMessage = null;
+ while (reader.nextToken() != JsonToken.END_OBJECT) {
+ String fieldName = reader.getFieldName();
+ reader.nextToken();
+
+ if ("id".equals(fieldName)) {
+ id = reader.getString();
+ } else if ("provider".equals(fieldName)) {
+ provider = TelephonyProvider.fromString(reader.getString());
+ } else if ("status".equals(fieldName)) {
+ status = TelephonyCallStatus.fromString(reader.getString());
+ } else if ("phase".equals(fieldName)) {
+ phase = TelephonyCallPhase.fromString(reader.getString());
+ } else if ("started_at".equals(fieldName)) {
+ startedAt = OffsetDateTime.ofInstant(Instant.ofEpochSecond(reader.getLong()), ZoneOffset.UTC);
+ } else if ("provider_call_id".equals(fieldName)) {
+ providerCallId = reader.getString();
+ } else if ("caller_number".equals(fieldName)) {
+ callerNumber = reader.getString();
+ } else if ("provider_number".equals(fieldName)) {
+ providerNumber = reader.getString();
+ } else if ("answered_at".equals(fieldName)) {
+ answeredAt = reader.getNullable(JsonReader::getLong);
+ } else if ("media_connected_at".equals(fieldName)) {
+ mediaConnectedAt = reader.getNullable(JsonReader::getLong);
+ } else if ("agent_session_ready_at".equals(fieldName)) {
+ agentSessionReadyAt = reader.getNullable(JsonReader::getLong);
+ } else if ("ended_at".equals(fieldName)) {
+ endedAt = reader.getNullable(JsonReader::getLong);
+ } else if ("duration_seconds".equals(fieldName)) {
+ durationSeconds = reader.getNullable(JsonReader::getLong);
+ } else if ("end_reason".equals(fieldName)) {
+ endReason = reader.getString();
+ } else if ("provider_status_code".equals(fieldName)) {
+ providerStatusCode = reader.getNullable(JsonReader::getInt);
+ } else if ("provider_sub_code".equals(fieldName)) {
+ providerSubCode = reader.getNullable(JsonReader::getInt);
+ } else if ("provider_message".equals(fieldName)) {
+ providerMessage = reader.getString();
+ } else {
+ reader.skipChildren();
+ }
+ }
+ TelephonyCallSummary deserializedTelephonyCallSummary
+ = new TelephonyCallSummary(id, provider, status, phase, startedAt);
+ deserializedTelephonyCallSummary.providerCallId = providerCallId;
+ deserializedTelephonyCallSummary.callerNumber = callerNumber;
+ deserializedTelephonyCallSummary.providerNumber = providerNumber;
+ deserializedTelephonyCallSummary.answeredAt = answeredAt;
+ deserializedTelephonyCallSummary.mediaConnectedAt = mediaConnectedAt;
+ deserializedTelephonyCallSummary.agentSessionReadyAt = agentSessionReadyAt;
+ deserializedTelephonyCallSummary.endedAt = endedAt;
+ deserializedTelephonyCallSummary.durationSeconds = durationSeconds;
+ deserializedTelephonyCallSummary.endReason = endReason;
+ deserializedTelephonyCallSummary.providerStatusCode = providerStatusCode;
+ deserializedTelephonyCallSummary.providerSubCode = providerSubCode;
+ deserializedTelephonyCallSummary.providerMessage = providerMessage;
+
+ return deserializedTelephonyCallSummary;
+ });
+ }
+}
diff --git a/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/TelephonyCallTimestampSource.java b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/TelephonyCallTimestampSource.java
new file mode 100644
index 000000000000..fe2b53b101fe
--- /dev/null
+++ b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/TelephonyCallTimestampSource.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 source of a telephony lifecycle timestamp.
+ */
+public final class TelephonyCallTimestampSource extends ExpandableStringEnum {
+ /**
+ * The telephony provider supplied the timestamp.
+ */
+ @Generated
+ public static final TelephonyCallTimestampSource PROVIDER = fromString("provider");
+
+ /**
+ * The Foundry telephony gateway observed the event.
+ */
+ @Generated
+ public static final TelephonyCallTimestampSource GATEWAY = fromString("gateway");
+
+ /**
+ * The service derived the timestamp from another observation.
+ */
+ @Generated
+ public static final TelephonyCallTimestampSource DERIVED = fromString("derived");
+
+ /**
+ * Creates a new instance of TelephonyCallTimestampSource value.
+ *
+ * @deprecated Use the {@link #fromString(String)} factory method.
+ */
+ @Generated
+ @Deprecated
+ public TelephonyCallTimestampSource() {
+ }
+
+ /**
+ * Creates or finds a TelephonyCallTimestampSource from its string representation.
+ *
+ * @param name a name to look for.
+ * @return the corresponding TelephonyCallTimestampSource.
+ */
+ @Generated
+ public static TelephonyCallTimestampSource fromString(String name) {
+ return fromString(name, TelephonyCallTimestampSource.class);
+ }
+
+ /**
+ * Gets known TelephonyCallTimestampSource values.
+ *
+ * @return known TelephonyCallTimestampSource values.
+ */
+ @Generated
+ public static Collection values() {
+ return values(TelephonyCallTimestampSource.class);
+ }
+}
diff --git a/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/TelephonyCallTiming.java b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/TelephonyCallTiming.java
new file mode 100644
index 000000000000..03fcffa6e30a
--- /dev/null
+++ b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/TelephonyCallTiming.java
@@ -0,0 +1,322 @@
+// 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;
+
+/**
+ * Detailed provider-neutral timing for an inbound telephony call. Millisecond values are Unix timestamps.
+ */
+@Immutable
+public final class TelephonyCallTiming implements JsonSerializable {
+ /*
+ * When the provider webhook was received, as Unix time in milliseconds.
+ */
+ @Generated
+ private Long receivedAtMs;
+
+ /*
+ * When webhook validation completed, as Unix time in milliseconds.
+ */
+ @Generated
+ private Long validatedAtMs;
+
+ /*
+ * When the call was admitted to an agent binding, as Unix time in milliseconds.
+ */
+ @Generated
+ private Long admittedAtMs;
+
+ /*
+ * When the service requested that the provider answer the call, as Unix time in milliseconds.
+ */
+ @Generated
+ private Long answerRequestedAtMs;
+
+ /*
+ * When the provider reported that the call was answered, as Unix time in milliseconds.
+ */
+ @Generated
+ private Long answeredAtMs;
+
+ /*
+ * When the provider media channel connected, as Unix time in milliseconds.
+ */
+ @Generated
+ private Long mediaConnectedAtMs;
+
+ /*
+ * When the voice-agent session became ready, as Unix time in milliseconds.
+ */
+ @Generated
+ private Long agentSessionReadyAtMs;
+
+ /*
+ * When caller audio was first observed, as Unix time in milliseconds.
+ */
+ @Generated
+ private Long firstCallerAudioAtMs;
+
+ /*
+ * When agent audio was first observed, as Unix time in milliseconds.
+ */
+ @Generated
+ private Long firstAgentAudioAtMs;
+
+ /*
+ * When the call reached a terminal state, as Unix time in milliseconds.
+ */
+ @Generated
+ private Long endedAtMs;
+
+ /*
+ * The timestamp used as the basis for duration.
+ */
+ @Generated
+ private TelephonyCallDurationBasis durationBasis;
+
+ /*
+ * The primary source of the timing milestones. Individual lifecycle events identify their own timestamp source
+ * separately.
+ */
+ @Generated
+ private final TelephonyCallTimestampSource timestampSource;
+
+ /**
+ * Creates an instance of TelephonyCallTiming class.
+ *
+ * @param timestampSource the timestampSource value to set.
+ */
+ @Generated
+ private TelephonyCallTiming(TelephonyCallTimestampSource timestampSource) {
+ this.timestampSource = timestampSource;
+ }
+
+ /**
+ * Get the receivedAtMs property: When the provider webhook was received, as Unix time in milliseconds.
+ *
+ * @return the receivedAtMs value.
+ */
+ @Generated
+ public Long getReceivedAtMs() {
+ return this.receivedAtMs;
+ }
+
+ /**
+ * Get the validatedAtMs property: When webhook validation completed, as Unix time in milliseconds.
+ *
+ * @return the validatedAtMs value.
+ */
+ @Generated
+ public Long getValidatedAtMs() {
+ return this.validatedAtMs;
+ }
+
+ /**
+ * Get the admittedAtMs property: When the call was admitted to an agent binding, as Unix time in milliseconds.
+ *
+ * @return the admittedAtMs value.
+ */
+ @Generated
+ public Long getAdmittedAtMs() {
+ return this.admittedAtMs;
+ }
+
+ /**
+ * Get the answerRequestedAtMs property: When the service requested that the provider answer the call, as Unix time
+ * in milliseconds.
+ *
+ * @return the answerRequestedAtMs value.
+ */
+ @Generated
+ public Long getAnswerRequestedAtMs() {
+ return this.answerRequestedAtMs;
+ }
+
+ /**
+ * Get the answeredAtMs property: When the provider reported that the call was answered, as Unix time in
+ * milliseconds.
+ *
+ * @return the answeredAtMs value.
+ */
+ @Generated
+ public Long getAnsweredAtMs() {
+ return this.answeredAtMs;
+ }
+
+ /**
+ * Get the mediaConnectedAtMs property: When the provider media channel connected, as Unix time in milliseconds.
+ *
+ * @return the mediaConnectedAtMs value.
+ */
+ @Generated
+ public Long getMediaConnectedAtMs() {
+ return this.mediaConnectedAtMs;
+ }
+
+ /**
+ * Get the agentSessionReadyAtMs property: When the voice-agent session became ready, as Unix time in milliseconds.
+ *
+ * @return the agentSessionReadyAtMs value.
+ */
+ @Generated
+ public Long getAgentSessionReadyAtMs() {
+ return this.agentSessionReadyAtMs;
+ }
+
+ /**
+ * Get the firstCallerAudioAtMs property: When caller audio was first observed, as Unix time in milliseconds.
+ *
+ * @return the firstCallerAudioAtMs value.
+ */
+ @Generated
+ public Long getFirstCallerAudioAtMs() {
+ return this.firstCallerAudioAtMs;
+ }
+
+ /**
+ * Get the firstAgentAudioAtMs property: When agent audio was first observed, as Unix time in milliseconds.
+ *
+ * @return the firstAgentAudioAtMs value.
+ */
+ @Generated
+ public Long getFirstAgentAudioAtMs() {
+ return this.firstAgentAudioAtMs;
+ }
+
+ /**
+ * Get the endedAtMs property: When the call reached a terminal state, as Unix time in milliseconds.
+ *
+ * @return the endedAtMs value.
+ */
+ @Generated
+ public Long getEndedAtMs() {
+ return this.endedAtMs;
+ }
+
+ /**
+ * Get the durationBasis property: The timestamp used as the basis for duration.
+ *
+ * @return the durationBasis value.
+ */
+ @Generated
+ public TelephonyCallDurationBasis getDurationBasis() {
+ return this.durationBasis;
+ }
+
+ /**
+ * Get the timestampSource property: The primary source of the timing milestones. Individual lifecycle events
+ * identify their own timestamp source separately.
+ *
+ * @return the timestampSource value.
+ */
+ @Generated
+ public TelephonyCallTimestampSource getTimestampSource() {
+ return this.timestampSource;
+ }
+
+ /**
+ * {@inheritDoc}
+ */
+ @Generated
+ @Override
+ public JsonWriter toJson(JsonWriter jsonWriter) throws IOException {
+ jsonWriter.writeStartObject();
+ jsonWriter.writeStringField("timestamp_source",
+ this.timestampSource == null ? null : this.timestampSource.toString());
+ jsonWriter.writeNumberField("received_at_ms", this.receivedAtMs);
+ jsonWriter.writeNumberField("validated_at_ms", this.validatedAtMs);
+ jsonWriter.writeNumberField("admitted_at_ms", this.admittedAtMs);
+ jsonWriter.writeNumberField("answer_requested_at_ms", this.answerRequestedAtMs);
+ jsonWriter.writeNumberField("answered_at_ms", this.answeredAtMs);
+ jsonWriter.writeNumberField("media_connected_at_ms", this.mediaConnectedAtMs);
+ jsonWriter.writeNumberField("agent_session_ready_at_ms", this.agentSessionReadyAtMs);
+ jsonWriter.writeNumberField("first_caller_audio_at_ms", this.firstCallerAudioAtMs);
+ jsonWriter.writeNumberField("first_agent_audio_at_ms", this.firstAgentAudioAtMs);
+ jsonWriter.writeNumberField("ended_at_ms", this.endedAtMs);
+ jsonWriter.writeStringField("duration_basis",
+ this.durationBasis == null ? null : this.durationBasis.toString());
+ return jsonWriter.writeEndObject();
+ }
+
+ /**
+ * Reads an instance of TelephonyCallTiming from the JsonReader.
+ *
+ * @param jsonReader The JsonReader being read.
+ * @return An instance of TelephonyCallTiming 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 TelephonyCallTiming.
+ */
+ @Generated
+ public static TelephonyCallTiming fromJson(JsonReader jsonReader) throws IOException {
+ return jsonReader.readObject(reader -> {
+ TelephonyCallTimestampSource timestampSource = null;
+ Long receivedAtMs = null;
+ Long validatedAtMs = null;
+ Long admittedAtMs = null;
+ Long answerRequestedAtMs = null;
+ Long answeredAtMs = null;
+ Long mediaConnectedAtMs = null;
+ Long agentSessionReadyAtMs = null;
+ Long firstCallerAudioAtMs = null;
+ Long firstAgentAudioAtMs = null;
+ Long endedAtMs = null;
+ TelephonyCallDurationBasis durationBasis = null;
+ while (reader.nextToken() != JsonToken.END_OBJECT) {
+ String fieldName = reader.getFieldName();
+ reader.nextToken();
+
+ if ("timestamp_source".equals(fieldName)) {
+ timestampSource = TelephonyCallTimestampSource.fromString(reader.getString());
+ } else if ("received_at_ms".equals(fieldName)) {
+ receivedAtMs = reader.getNullable(JsonReader::getLong);
+ } else if ("validated_at_ms".equals(fieldName)) {
+ validatedAtMs = reader.getNullable(JsonReader::getLong);
+ } else if ("admitted_at_ms".equals(fieldName)) {
+ admittedAtMs = reader.getNullable(JsonReader::getLong);
+ } else if ("answer_requested_at_ms".equals(fieldName)) {
+ answerRequestedAtMs = reader.getNullable(JsonReader::getLong);
+ } else if ("answered_at_ms".equals(fieldName)) {
+ answeredAtMs = reader.getNullable(JsonReader::getLong);
+ } else if ("media_connected_at_ms".equals(fieldName)) {
+ mediaConnectedAtMs = reader.getNullable(JsonReader::getLong);
+ } else if ("agent_session_ready_at_ms".equals(fieldName)) {
+ agentSessionReadyAtMs = reader.getNullable(JsonReader::getLong);
+ } else if ("first_caller_audio_at_ms".equals(fieldName)) {
+ firstCallerAudioAtMs = reader.getNullable(JsonReader::getLong);
+ } else if ("first_agent_audio_at_ms".equals(fieldName)) {
+ firstAgentAudioAtMs = reader.getNullable(JsonReader::getLong);
+ } else if ("ended_at_ms".equals(fieldName)) {
+ endedAtMs = reader.getNullable(JsonReader::getLong);
+ } else if ("duration_basis".equals(fieldName)) {
+ durationBasis = TelephonyCallDurationBasis.fromString(reader.getString());
+ } else {
+ reader.skipChildren();
+ }
+ }
+ TelephonyCallTiming deserializedTelephonyCallTiming = new TelephonyCallTiming(timestampSource);
+ deserializedTelephonyCallTiming.receivedAtMs = receivedAtMs;
+ deserializedTelephonyCallTiming.validatedAtMs = validatedAtMs;
+ deserializedTelephonyCallTiming.admittedAtMs = admittedAtMs;
+ deserializedTelephonyCallTiming.answerRequestedAtMs = answerRequestedAtMs;
+ deserializedTelephonyCallTiming.answeredAtMs = answeredAtMs;
+ deserializedTelephonyCallTiming.mediaConnectedAtMs = mediaConnectedAtMs;
+ deserializedTelephonyCallTiming.agentSessionReadyAtMs = agentSessionReadyAtMs;
+ deserializedTelephonyCallTiming.firstCallerAudioAtMs = firstCallerAudioAtMs;
+ deserializedTelephonyCallTiming.firstAgentAudioAtMs = firstAgentAudioAtMs;
+ deserializedTelephonyCallTiming.endedAtMs = endedAtMs;
+ deserializedTelephonyCallTiming.durationBasis = durationBasis;
+
+ return deserializedTelephonyCallTiming;
+ });
+ }
+}
diff --git a/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/TelephonyCallTrace.java b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/TelephonyCallTrace.java
new file mode 100644
index 000000000000..bfe3db5bd331
--- /dev/null
+++ b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/TelephonyCallTrace.java
@@ -0,0 +1,169 @@
+// 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;
+
+/**
+ * Correlation from a durable telephony call record to its customer-facing Foundry trace.
+ */
+@Immutable
+public final class TelephonyCallTrace implements JsonSerializable {
+ /*
+ * The trace availability status.
+ */
+ @Generated
+ private final TelephonyCallTraceStatus status;
+
+ /*
+ * The W3C trace identifier, when a trace was recorded.
+ */
+ @Generated
+ private String traceId;
+
+ /*
+ * The root span identifier, when a trace was recorded.
+ */
+ @Generated
+ private String rootSpanId;
+
+ /*
+ * The voice-agent conversation identifier, when a conversation was created.
+ */
+ @Generated
+ private String conversationId;
+
+ /*
+ * Whether the trace was emitted live or after the call ended.
+ */
+ @Generated
+ private TelephonyCallTraceMode mode;
+
+ /**
+ * Creates an instance of TelephonyCallTrace class.
+ *
+ * @param status the status value to set.
+ */
+ @Generated
+ private TelephonyCallTrace(TelephonyCallTraceStatus status) {
+ this.status = status;
+ }
+
+ /**
+ * Get the status property: The trace availability status.
+ *
+ * @return the status value.
+ */
+ @Generated
+ public TelephonyCallTraceStatus getStatus() {
+ return this.status;
+ }
+
+ /**
+ * Get the traceId property: The W3C trace identifier, when a trace was recorded.
+ *
+ * @return the traceId value.
+ */
+ @Generated
+ public String getTraceId() {
+ return this.traceId;
+ }
+
+ /**
+ * Get the rootSpanId property: The root span identifier, when a trace was recorded.
+ *
+ * @return the rootSpanId value.
+ */
+ @Generated
+ public String getRootSpanId() {
+ return this.rootSpanId;
+ }
+
+ /**
+ * Get the conversationId property: The voice-agent conversation identifier, when a conversation was created.
+ *
+ * @return the conversationId value.
+ */
+ @Generated
+ public String getConversationId() {
+ return this.conversationId;
+ }
+
+ /**
+ * Get the mode property: Whether the trace was emitted live or after the call ended.
+ *
+ * @return the mode value.
+ */
+ @Generated
+ public TelephonyCallTraceMode getMode() {
+ return this.mode;
+ }
+
+ /**
+ * {@inheritDoc}
+ */
+ @Generated
+ @Override
+ public JsonWriter toJson(JsonWriter jsonWriter) throws IOException {
+ jsonWriter.writeStartObject();
+ jsonWriter.writeStringField("status", this.status == null ? null : this.status.toString());
+ jsonWriter.writeStringField("trace_id", this.traceId);
+ jsonWriter.writeStringField("root_span_id", this.rootSpanId);
+ jsonWriter.writeStringField("conversation_id", this.conversationId);
+ jsonWriter.writeStringField("mode", this.mode == null ? null : this.mode.toString());
+ return jsonWriter.writeEndObject();
+ }
+
+ /**
+ * Reads an instance of TelephonyCallTrace from the JsonReader.
+ *
+ * @param jsonReader The JsonReader being read.
+ * @return An instance of TelephonyCallTrace 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 TelephonyCallTrace.
+ */
+ @Generated
+ public static TelephonyCallTrace fromJson(JsonReader jsonReader) throws IOException {
+ return jsonReader.readObject(reader -> {
+ TelephonyCallTraceStatus status = null;
+ String traceId = null;
+ String rootSpanId = null;
+ String conversationId = null;
+ TelephonyCallTraceMode mode = null;
+ while (reader.nextToken() != JsonToken.END_OBJECT) {
+ String fieldName = reader.getFieldName();
+ reader.nextToken();
+
+ if ("status".equals(fieldName)) {
+ status = TelephonyCallTraceStatus.fromString(reader.getString());
+ } else if ("trace_id".equals(fieldName)) {
+ traceId = reader.getString();
+ } else if ("root_span_id".equals(fieldName)) {
+ rootSpanId = reader.getString();
+ } else if ("conversation_id".equals(fieldName)) {
+ conversationId = reader.getString();
+ } else if ("mode".equals(fieldName)) {
+ mode = TelephonyCallTraceMode.fromString(reader.getString());
+ } else {
+ reader.skipChildren();
+ }
+ }
+ TelephonyCallTrace deserializedTelephonyCallTrace = new TelephonyCallTrace(status);
+ deserializedTelephonyCallTrace.traceId = traceId;
+ deserializedTelephonyCallTrace.rootSpanId = rootSpanId;
+ deserializedTelephonyCallTrace.conversationId = conversationId;
+ deserializedTelephonyCallTrace.mode = mode;
+
+ return deserializedTelephonyCallTrace;
+ });
+ }
+}
diff --git a/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/TelephonyCallTraceMode.java b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/TelephonyCallTraceMode.java
new file mode 100644
index 000000000000..57b05116cb3a
--- /dev/null
+++ b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/TelephonyCallTraceMode.java
@@ -0,0 +1,58 @@
+// 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 mode used to expose a telephony call as a customer-facing Foundry trace.
+ */
+public final class TelephonyCallTraceMode extends ExpandableStringEnum {
+ /**
+ * The trace was created while the voice-agent conversation was live.
+ */
+ @Generated
+ public static final TelephonyCallTraceMode LIVE = fromString("live");
+
+ /**
+ * The trace summarizes a validated, customer-owned call that ended before a live voice-agent conversation was
+ * created.
+ */
+ @Generated
+ public static final TelephonyCallTraceMode POST_CALL = fromString("post_call");
+
+ /**
+ * Creates a new instance of TelephonyCallTraceMode value.
+ *
+ * @deprecated Use the {@link #fromString(String)} factory method.
+ */
+ @Generated
+ @Deprecated
+ public TelephonyCallTraceMode() {
+ }
+
+ /**
+ * Creates or finds a TelephonyCallTraceMode from its string representation.
+ *
+ * @param name a name to look for.
+ * @return the corresponding TelephonyCallTraceMode.
+ */
+ @Generated
+ public static TelephonyCallTraceMode fromString(String name) {
+ return fromString(name, TelephonyCallTraceMode.class);
+ }
+
+ /**
+ * Gets known TelephonyCallTraceMode values.
+ *
+ * @return known TelephonyCallTraceMode values.
+ */
+ @Generated
+ public static Collection values() {
+ return values(TelephonyCallTraceMode.class);
+ }
+}
diff --git a/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/TelephonyCallTraceStatus.java b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/TelephonyCallTraceStatus.java
new file mode 100644
index 000000000000..7dcea8a60647
--- /dev/null
+++ b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/TelephonyCallTraceStatus.java
@@ -0,0 +1,81 @@
+// 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 availability status of a customer-facing telephony call trace.
+ */
+public final class TelephonyCallTraceStatus extends ExpandableStringEnum {
+ /**
+ * Trace creation has not completed.
+ */
+ @Generated
+ public static final TelephonyCallTraceStatus PENDING = fromString("pending");
+
+ /**
+ * Trace creation is in progress.
+ */
+ @Generated
+ public static final TelephonyCallTraceStatus EMITTING = fromString("emitting");
+
+ /**
+ * The trace is available.
+ */
+ @Generated
+ public static final TelephonyCallTraceStatus AVAILABLE = fromString("available");
+
+ /**
+ * Tracing was disabled or no trace listener recorded the call.
+ */
+ @Generated
+ public static final TelephonyCallTraceStatus NOT_RECORDED = fromString("not_recorded");
+
+ /**
+ * The call was not eligible for a customer-facing trace.
+ */
+ @Generated
+ public static final TelephonyCallTraceStatus NOT_APPLICABLE = fromString("not_applicable");
+
+ /**
+ * Trace creation failed.
+ */
+ @Generated
+ public static final TelephonyCallTraceStatus FAILED = fromString("failed");
+
+ /**
+ * Creates a new instance of TelephonyCallTraceStatus value.
+ *
+ * @deprecated Use the {@link #fromString(String)} factory method.
+ */
+ @Generated
+ @Deprecated
+ public TelephonyCallTraceStatus() {
+ }
+
+ /**
+ * Creates or finds a TelephonyCallTraceStatus from its string representation.
+ *
+ * @param name a name to look for.
+ * @return the corresponding TelephonyCallTraceStatus.
+ */
+ @Generated
+ public static TelephonyCallTraceStatus fromString(String name) {
+ return fromString(name, TelephonyCallTraceStatus.class);
+ }
+
+ /**
+ * Gets known TelephonyCallTraceStatus values.
+ *
+ * @return known TelephonyCallTraceStatus values.
+ */
+ @Generated
+ public static Collection values() {
+ return values(TelephonyCallTraceStatus.class);
+ }
+}
diff --git a/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/TelephonyProvider.java b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/TelephonyProvider.java
new file mode 100644
index 000000000000..c812ace11f11
--- /dev/null
+++ b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/TelephonyProvider.java
@@ -0,0 +1,58 @@
+// 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;
+
+/**
+ * A telephony provider supported by an agent binding. Known values are stable; additional values may be added over
+ * time.
+ */
+public final class TelephonyProvider extends ExpandableStringEnum {
+ /**
+ * Microsoft Teams Phone Extension.
+ */
+ @Generated
+ public static final TelephonyProvider TEAMS_PHONE_EXTENSION = fromString("teams_phone_extension");
+
+ /**
+ * Twilio Programmable Voice.
+ */
+ @Generated
+ public static final TelephonyProvider TWILIO = fromString("twilio");
+
+ /**
+ * Creates a new instance of TelephonyProvider value.
+ *
+ * @deprecated Use the {@link #fromString(String)} factory method.
+ */
+ @Generated
+ @Deprecated
+ public TelephonyProvider() {
+ }
+
+ /**
+ * Creates or finds a TelephonyProvider from its string representation.
+ *
+ * @param name a name to look for.
+ * @return the corresponding TelephonyProvider.
+ */
+ @Generated
+ public static TelephonyProvider fromString(String name) {
+ return fromString(name, TelephonyProvider.class);
+ }
+
+ /**
+ * Gets known TelephonyProvider values.
+ *
+ * @return known TelephonyProvider values.
+ */
+ @Generated
+ public static Collection values() {
+ return values(TelephonyProvider.class);
+ }
+}
diff --git a/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/TelephonyTransferTarget.java b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/TelephonyTransferTarget.java
new file mode 100644
index 000000000000..e8aa622a8d04
--- /dev/null
+++ b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/TelephonyTransferTarget.java
@@ -0,0 +1,130 @@
+// 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.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;
+
+/**
+ * A named destination to which the voice agent may transfer a call.
+ */
+@Immutable
+public final class TelephonyTransferTarget implements JsonSerializable {
+ /*
+ * The unique name exposed to the voice agent for this transfer target.
+ */
+ @Generated
+ private final String name;
+
+ /*
+ * A description that helps the voice agent decide when to use this target.
+ */
+ @Generated
+ private final String description;
+
+ /*
+ * The provider-specific transfer destination.
+ */
+ @Generated
+ private final BinaryData destination;
+
+ /**
+ * Creates an instance of TelephonyTransferTarget class.
+ *
+ * @param name the name value to set.
+ * @param description the description value to set.
+ * @param destination the destination value to set.
+ */
+ @Generated
+ public TelephonyTransferTarget(String name, String description, BinaryData destination) {
+ this.name = name;
+ this.description = description;
+ this.destination = destination;
+ }
+
+ /**
+ * Get the name property: The unique name exposed to the voice agent for this transfer target.
+ *
+ * @return the name value.
+ */
+ @Generated
+ public String getName() {
+ return this.name;
+ }
+
+ /**
+ * Get the description property: A description that helps the voice agent decide when to use this target.
+ *
+ * @return the description value.
+ */
+ @Generated
+ public String getDescription() {
+ return this.description;
+ }
+
+ /**
+ * Get the destination property: The provider-specific transfer destination.
+ *
+ * @return the destination value.
+ */
+ @Generated
+ public BinaryData getDestination() {
+ return this.destination;
+ }
+
+ /**
+ * {@inheritDoc}
+ */
+ @Generated
+ @Override
+ public JsonWriter toJson(JsonWriter jsonWriter) throws IOException {
+ jsonWriter.writeStartObject();
+ jsonWriter.writeStringField("name", this.name);
+ jsonWriter.writeStringField("description", this.description);
+ jsonWriter.writeFieldName("destination");
+ this.destination.writeTo(jsonWriter);
+ return jsonWriter.writeEndObject();
+ }
+
+ /**
+ * Reads an instance of TelephonyTransferTarget from the JsonReader.
+ *
+ * @param jsonReader The JsonReader being read.
+ * @return An instance of TelephonyTransferTarget 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 TelephonyTransferTarget.
+ */
+ @Generated
+ public static TelephonyTransferTarget fromJson(JsonReader jsonReader) throws IOException {
+ return jsonReader.readObject(reader -> {
+ String name = null;
+ String description = null;
+ BinaryData destination = 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 ("destination".equals(fieldName)) {
+ destination
+ = reader.getNullable(nonNullReader -> BinaryData.fromObject(nonNullReader.readUntyped()));
+ } else {
+ reader.skipChildren();
+ }
+ }
+ return new TelephonyTransferTarget(name, description, destination);
+ });
+ }
+}
diff --git a/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/TelephonyTransferTargets.java b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/TelephonyTransferTargets.java
new file mode 100644
index 000000000000..cd7dd0436425
--- /dev/null
+++ b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/TelephonyTransferTargets.java
@@ -0,0 +1,87 @@
+// 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;
+
+/**
+ * The telephony transfer targets configured for one voice agent.
+ */
+@Immutable
+public final class TelephonyTransferTargets implements JsonSerializable {
+ /*
+ * The complete set of destinations to which the voice agent may transfer calls. An empty array clears all targets
+ * when replacing the configuration.
+ */
+ @Generated
+ private final List transferTargets;
+
+ /**
+ * Creates an instance of TelephonyTransferTargets class.
+ *
+ * @param transferTargets the transferTargets value to set.
+ */
+ @Generated
+ private TelephonyTransferTargets(List transferTargets) {
+ this.transferTargets = transferTargets;
+ }
+
+ /**
+ * Get the transferTargets property: The complete set of destinations to which the voice agent may transfer calls.
+ * An empty array clears all targets when replacing the configuration.
+ *
+ * @return the transferTargets value.
+ */
+ @Generated
+ public List getTransferTargets() {
+ return this.transferTargets;
+ }
+
+ /**
+ * {@inheritDoc}
+ */
+ @Generated
+ @Override
+ public JsonWriter toJson(JsonWriter jsonWriter) throws IOException {
+ jsonWriter.writeStartObject();
+ jsonWriter.writeArrayField("transfer_targets", this.transferTargets,
+ (writer, element) -> writer.writeJson(element));
+ return jsonWriter.writeEndObject();
+ }
+
+ /**
+ * Reads an instance of TelephonyTransferTargets from the JsonReader.
+ *
+ * @param jsonReader The JsonReader being read.
+ * @return An instance of TelephonyTransferTargets 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 TelephonyTransferTargets.
+ */
+ @Generated
+ public static TelephonyTransferTargets fromJson(JsonReader jsonReader) throws IOException {
+ return jsonReader.readObject(reader -> {
+ List transferTargets = null;
+ while (reader.nextToken() != JsonToken.END_OBJECT) {
+ String fieldName = reader.getFieldName();
+ reader.nextToken();
+
+ if ("transfer_targets".equals(fieldName)) {
+ transferTargets = reader.readArray(reader1 -> TelephonyTransferTarget.fromJson(reader1));
+ } else {
+ reader.skipChildren();
+ }
+ }
+ return new TelephonyTransferTargets(transferTargets);
+ });
+ }
+}
diff --git a/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/TwilioTelephonyBindingListItem.java b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/TwilioTelephonyBindingListItem.java
new file mode 100644
index 000000000000..23bca5f277ad
--- /dev/null
+++ b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/TwilioTelephonyBindingListItem.java
@@ -0,0 +1,233 @@
+// 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;
+
+/**
+ * A Twilio binding returned in a list, including its entity tag.
+ */
+@Immutable
+public final class TwilioTelephonyBindingListItem implements JsonSerializable {
+ /*
+ * The service-generated binding identifier.
+ */
+ @Generated
+ private final String id;
+
+ /*
+ * The Twilio provider.
+ */
+ @Generated
+ private final String provider = "twilio";
+
+ /*
+ * The Foundry connection name for the Twilio provider.
+ */
+ @Generated
+ private final String connection;
+
+ /*
+ * The Twilio E.164 phone number.
+ */
+ @Generated
+ private final String phoneNumber;
+
+ /*
+ * The optional display label for the binding.
+ */
+ @Generated
+ private String label;
+
+ /*
+ * The lifecycle status.
+ */
+ @Generated
+ private final TelephonyBindingStatus status;
+
+ /*
+ * The service-generated webhook URL to configure with Twilio.
+ */
+ @Generated
+ private final String incomingCallUrl;
+
+ /*
+ * The entity tag to send in the `If-Match` header when updating or deleting this binding.
+ */
+ @Generated
+ private String etag;
+
+ /**
+ * Creates an instance of TwilioTelephonyBindingListItem class.
+ *
+ * @param id the id value to set.
+ * @param connection the connection value to set.
+ * @param phoneNumber the phoneNumber value to set.
+ * @param status the status value to set.
+ * @param incomingCallUrl the incomingCallUrl value to set.
+ */
+ @Generated
+ private TwilioTelephonyBindingListItem(String id, String connection, String phoneNumber,
+ TelephonyBindingStatus status, String incomingCallUrl) {
+ this.id = id;
+ this.connection = connection;
+ this.phoneNumber = phoneNumber;
+ this.status = status;
+ this.incomingCallUrl = incomingCallUrl;
+ }
+
+ /**
+ * Get the id property: The service-generated binding identifier.
+ *
+ * @return the id value.
+ */
+ @Generated
+ public String getId() {
+ return this.id;
+ }
+
+ /**
+ * Get the provider property: The Twilio provider.
+ *
+ * @return the provider value.
+ */
+ @Generated
+ public String getProvider() {
+ return this.provider;
+ }
+
+ /**
+ * Get the connection property: The Foundry connection name for the Twilio provider.
+ *
+ * @return the connection value.
+ */
+ @Generated
+ public String getConnection() {
+ return this.connection;
+ }
+
+ /**
+ * Get the phoneNumber property: The Twilio E.164 phone number.
+ *
+ * @return the phoneNumber value.
+ */
+ @Generated
+ public String getPhoneNumber() {
+ return this.phoneNumber;
+ }
+
+ /**
+ * Get the label property: The optional display label for the binding.
+ *
+ * @return the label value.
+ */
+ @Generated
+ public String getLabel() {
+ return this.label;
+ }
+
+ /**
+ * Get the status property: The lifecycle status.
+ *
+ * @return the status value.
+ */
+ @Generated
+ public TelephonyBindingStatus getStatus() {
+ return this.status;
+ }
+
+ /**
+ * Get the incomingCallUrl property: The service-generated webhook URL to configure with Twilio.
+ *
+ * @return the incomingCallUrl value.
+ */
+ @Generated
+ public String getIncomingCallUrl() {
+ return this.incomingCallUrl;
+ }
+
+ /**
+ * Get the etag property: The entity tag to send in the `If-Match` header when updating or deleting this binding.
+ *
+ * @return the etag value.
+ */
+ @Generated
+ public String getEtag() {
+ return this.etag;
+ }
+
+ /**
+ * {@inheritDoc}
+ */
+ @Generated
+ @Override
+ public JsonWriter toJson(JsonWriter jsonWriter) throws IOException {
+ jsonWriter.writeStartObject();
+ jsonWriter.writeStringField("id", this.id);
+ jsonWriter.writeStringField("provider", this.provider);
+ jsonWriter.writeStringField("connection", this.connection);
+ jsonWriter.writeStringField("phone_number", this.phoneNumber);
+ jsonWriter.writeStringField("status", this.status == null ? null : this.status.toString());
+ jsonWriter.writeStringField("incoming_call_url", this.incomingCallUrl);
+ jsonWriter.writeStringField("label", this.label);
+ return jsonWriter.writeEndObject();
+ }
+
+ /**
+ * Reads an instance of TwilioTelephonyBindingListItem from the JsonReader.
+ *
+ * @param jsonReader The JsonReader being read.
+ * @return An instance of TwilioTelephonyBindingListItem 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 TwilioTelephonyBindingListItem.
+ */
+ @Generated
+ public static TwilioTelephonyBindingListItem fromJson(JsonReader jsonReader) throws IOException {
+ return jsonReader.readObject(reader -> {
+ String id = null;
+ String connection = null;
+ String phoneNumber = null;
+ TelephonyBindingStatus status = null;
+ String incomingCallUrl = null;
+ String etag = null;
+ String label = null;
+ while (reader.nextToken() != JsonToken.END_OBJECT) {
+ String fieldName = reader.getFieldName();
+ reader.nextToken();
+
+ if ("id".equals(fieldName)) {
+ id = reader.getString();
+ } else if ("connection".equals(fieldName)) {
+ connection = reader.getString();
+ } else if ("phone_number".equals(fieldName)) {
+ phoneNumber = reader.getString();
+ } else if ("status".equals(fieldName)) {
+ status = TelephonyBindingStatus.fromString(reader.getString());
+ } else if ("incoming_call_url".equals(fieldName)) {
+ incomingCallUrl = reader.getString();
+ } else if ("etag".equals(fieldName)) {
+ etag = reader.getString();
+ } else if ("label".equals(fieldName)) {
+ label = reader.getString();
+ } else {
+ reader.skipChildren();
+ }
+ }
+ TwilioTelephonyBindingListItem deserializedTwilioTelephonyBindingListItem
+ = new TwilioTelephonyBindingListItem(id, connection, phoneNumber, status, incomingCallUrl);
+ deserializedTwilioTelephonyBindingListItem.etag = etag;
+ deserializedTwilioTelephonyBindingListItem.label = label;
+
+ return deserializedTwilioTelephonyBindingListItem;
+ });
+ }
+}
diff --git a/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/UpdateTelephonyBindingRequest.java b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/UpdateTelephonyBindingRequest.java
new file mode 100644
index 000000000000..8211c105bbe0
--- /dev/null
+++ b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/UpdateTelephonyBindingRequest.java
@@ -0,0 +1,272 @@
+// 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.JsonMergePatchHelper;
+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.HashSet;
+import java.util.Set;
+
+/**
+ * The request to update an existing telephony binding. Every property is optional and the binding's provider is
+ * immutable.
+ */
+@Fluent
+public final class UpdateTelephonyBindingRequest implements JsonSerializable {
+ /*
+ * The new lifecycle status.
+ */
+ @Generated
+ private TelephonyBindingStatus status;
+
+ /*
+ * The replacement display label. Omit it to preserve the current value; use null to clear it.
+ */
+ @Generated
+ private String label;
+
+ /*
+ * The replacement Foundry connection name. This property is valid only for a Teams Phone Extension binding; a
+ * Twilio binding's connection is immutable.
+ */
+ @Generated
+ private String connection;
+
+ /*
+ * The replacement Teams Phone Extension display phone number. Omit it to preserve the current value; use null to
+ * clear it. This property is valid only for a Teams Phone Extension binding.
+ */
+ @Generated
+ private String phoneNumber;
+
+ /**
+ * Stores updated model property, the value is property name, not serialized name.
+ */
+ @Generated
+ private final Set updatedProperties = new HashSet<>();
+
+ @Generated
+ private boolean jsonMergePatch;
+
+ @Generated
+ private void serializeAsJsonMergePatch(boolean jsonMergePatch) {
+ this.jsonMergePatch = jsonMergePatch;
+ }
+
+ static {
+ JsonMergePatchHelper
+ .setUpdateTelephonyBindingRequestAccessor(new JsonMergePatchHelper.UpdateTelephonyBindingRequestAccessor() {
+ @Override
+ public UpdateTelephonyBindingRequest prepareModelForJsonMergePatch(UpdateTelephonyBindingRequest model,
+ boolean jsonMergePatchEnabled) {
+ model.serializeAsJsonMergePatch(jsonMergePatchEnabled);
+ return model;
+ }
+
+ @Override
+ public boolean isJsonMergePatch(UpdateTelephonyBindingRequest model) {
+ return model.jsonMergePatch;
+ }
+ });
+ }
+
+ /**
+ * Creates an instance of UpdateTelephonyBindingRequest class.
+ */
+ @Generated
+ public UpdateTelephonyBindingRequest() {
+ }
+
+ /**
+ * Get the status property: The new lifecycle status.
+ *
+ * @return the status value.
+ */
+ @Generated
+ public TelephonyBindingStatus getStatus() {
+ return this.status;
+ }
+
+ /**
+ * Set the status property: The new lifecycle status.
+ *
+ * @param status the status value to set.
+ * @return the UpdateTelephonyBindingRequest object itself.
+ */
+ @Generated
+ public UpdateTelephonyBindingRequest setStatus(TelephonyBindingStatus status) {
+ this.status = status;
+ this.updatedProperties.add("status");
+ return this;
+ }
+
+ /**
+ * Get the label property: The replacement display label. Omit it to preserve the current value; use null to clear
+ * it.
+ *
+ * @return the label value.
+ */
+ @Generated
+ public String getLabel() {
+ return this.label;
+ }
+
+ /**
+ * Set the label property: The replacement display label. Omit it to preserve the current value; use null to clear
+ * it.
+ *
+ * @param label the label value to set.
+ * @return the UpdateTelephonyBindingRequest object itself.
+ */
+ @Generated
+ public UpdateTelephonyBindingRequest setLabel(String label) {
+ this.label = label;
+ this.updatedProperties.add("label");
+ return this;
+ }
+
+ /**
+ * Get the connection property: The replacement Foundry connection name. This property is valid only for a Teams
+ * Phone Extension binding; a Twilio binding's connection is immutable.
+ *
+ * @return the connection value.
+ */
+ @Generated
+ public String getConnection() {
+ return this.connection;
+ }
+
+ /**
+ * Set the connection property: The replacement Foundry connection name. This property is valid only for a Teams
+ * Phone Extension binding; a Twilio binding's connection is immutable.
+ *
+ * @param connection the connection value to set.
+ * @return the UpdateTelephonyBindingRequest object itself.
+ */
+ @Generated
+ public UpdateTelephonyBindingRequest setConnection(String connection) {
+ this.connection = connection;
+ this.updatedProperties.add("connection");
+ return this;
+ }
+
+ /**
+ * Get the phoneNumber property: The replacement Teams Phone Extension display phone number. Omit it to preserve the
+ * current value; use null to clear it. This property is valid only for a Teams Phone Extension binding.
+ *
+ * @return the phoneNumber value.
+ */
+ @Generated
+ public String getPhoneNumber() {
+ return this.phoneNumber;
+ }
+
+ /**
+ * Set the phoneNumber property: The replacement Teams Phone Extension display phone number. Omit it to preserve the
+ * current value; use null to clear it. This property is valid only for a Teams Phone Extension binding.
+ *
+ * @param phoneNumber the phoneNumber value to set.
+ * @return the UpdateTelephonyBindingRequest object itself.
+ */
+ @Generated
+ public UpdateTelephonyBindingRequest setPhoneNumber(String phoneNumber) {
+ this.phoneNumber = phoneNumber;
+ this.updatedProperties.add("phoneNumber");
+ return this;
+ }
+
+ /**
+ * {@inheritDoc}
+ */
+ @Generated
+ @Override
+ public JsonWriter toJson(JsonWriter jsonWriter) throws IOException {
+ if (jsonMergePatch) {
+ return toJsonMergePatch(jsonWriter);
+ } else {
+ jsonWriter.writeStartObject();
+ jsonWriter.writeStringField("status", this.status == null ? null : this.status.toString());
+ jsonWriter.writeStringField("label", this.label);
+ jsonWriter.writeStringField("connection", this.connection);
+ jsonWriter.writeStringField("phone_number", this.phoneNumber);
+ return jsonWriter.writeEndObject();
+ }
+ }
+
+ @Generated
+ private JsonWriter toJsonMergePatch(JsonWriter jsonWriter) throws IOException {
+ jsonWriter.writeStartObject();
+ if (updatedProperties.contains("status")) {
+ if (this.status == null) {
+ jsonWriter.writeNullField("status");
+ } else {
+ jsonWriter.writeStringField("status", this.status.toString());
+ }
+ }
+ if (updatedProperties.contains("label")) {
+ if (this.label == null) {
+ jsonWriter.writeNullField("label");
+ } else {
+ jsonWriter.writeStringField("label", this.label);
+ }
+ }
+ if (updatedProperties.contains("connection")) {
+ if (this.connection == null) {
+ jsonWriter.writeNullField("connection");
+ } else {
+ jsonWriter.writeStringField("connection", this.connection);
+ }
+ }
+ if (updatedProperties.contains("phoneNumber")) {
+ if (this.phoneNumber == null) {
+ jsonWriter.writeNullField("phone_number");
+ } else {
+ jsonWriter.writeStringField("phone_number", this.phoneNumber);
+ }
+ }
+ return jsonWriter.writeEndObject();
+ }
+
+ /**
+ * Reads an instance of UpdateTelephonyBindingRequest from the JsonReader.
+ *
+ * @param jsonReader The JsonReader being read.
+ * @return An instance of UpdateTelephonyBindingRequest 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 UpdateTelephonyBindingRequest.
+ */
+ @Generated
+ public static UpdateTelephonyBindingRequest fromJson(JsonReader jsonReader) throws IOException {
+ return jsonReader.readObject(reader -> {
+ UpdateTelephonyBindingRequest deserializedUpdateTelephonyBindingRequest
+ = new UpdateTelephonyBindingRequest();
+ while (reader.nextToken() != JsonToken.END_OBJECT) {
+ String fieldName = reader.getFieldName();
+ reader.nextToken();
+
+ if ("status".equals(fieldName)) {
+ deserializedUpdateTelephonyBindingRequest.status
+ = TelephonyBindingStatus.fromString(reader.getString());
+ } else if ("label".equals(fieldName)) {
+ deserializedUpdateTelephonyBindingRequest.label = reader.getString();
+ } else if ("connection".equals(fieldName)) {
+ deserializedUpdateTelephonyBindingRequest.connection = reader.getString();
+ } else if ("phone_number".equals(fieldName)) {
+ deserializedUpdateTelephonyBindingRequest.phoneNumber = reader.getString();
+ } else {
+ reader.skipChildren();
+ }
+ }
+
+ return deserializedUpdateTelephonyBindingRequest;
+ });
+ }
+}
diff --git a/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/VoiceAgentDefinition.java b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/VoiceAgentDefinition.java
index 8182da3eedf1..68c67cd95d9e 100644
--- a/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/VoiceAgentDefinition.java
+++ b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/VoiceAgentDefinition.java
@@ -28,20 +28,21 @@ public final class VoiceAgentDefinition extends AgentDefinition {
private AgentKind kind = AgentKind.VOICE;
/*
- * How the model backing this agent is served. Together with `model`, this selects the model up front. `managed`
- * uses a service-managed model; `self_deployed` uses the customer's own Foundry deployment. This is independent of
- * the architecture (realtime or cascaded), which the service derives from the selected model.
+ * How the voice agent obtains its conversational backend. `managed` uses the service-managed model named by
+ * `model`; `self_deployed` uses the customer's Foundry deployment named by `model`; `hosted_agent` fronts the
+ * hosted text agent referenced by `target_agent`. This is independent of the architecture (realtime or cascaded),
+ * which the service derives from the selected backend.
*/
@Generated
private final VoiceModelType modelType;
/*
- * The model to use for this agent, paired with `model_type`: the service-managed model name when `model_type` is
- * `managed`, or the customer's Foundry deployment name when `model_type` is `self_deployed`. The model must support
- * realtime or cascaded voice. The service derives the architecture from the selected model.
+ * The model to use for this agent. Required when `model_type` is `managed` (the service-managed model name) or
+ * `self_deployed` (the customer's Foundry deployment name). Omit this property when `model_type` is `hosted_agent`;
+ * `target_agent` identifies the conversational backend. The model must support realtime or cascaded voice.
*/
@Generated
- private final String model;
+ private String model;
/*
* A system (or developer) message inserted into the model's context. Supports template substitution via
@@ -136,18 +137,6 @@ public final class VoiceAgentDefinition extends AgentDefinition {
@Generated
private Boolean store;
- /**
- * Creates an instance of VoiceAgentDefinition class.
- *
- * @param modelType the modelType value to set.
- * @param model the model value to set.
- */
- @Generated
- public VoiceAgentDefinition(VoiceModelType modelType, String model) {
- this.modelType = modelType;
- this.model = model;
- }
-
/**
* Get the kind property: The kind property.
*
@@ -160,10 +149,10 @@ public AgentKind getKind() {
}
/**
- * Get the modelType property: How the model backing this agent is served. Together with `model`, this selects the
- * model up front. `managed` uses a service-managed model; `self_deployed` uses the customer's own Foundry
- * deployment. This is independent of the architecture (realtime or cascaded), which the service derives from the
- * selected model.
+ * Get the modelType property: How the voice agent obtains its conversational backend. `managed` uses the
+ * service-managed model named by `model`; `self_deployed` uses the customer's Foundry deployment named by `model`;
+ * `hosted_agent` fronts the hosted text agent referenced by `target_agent`. This is independent of the architecture
+ * (realtime or cascaded), which the service derives from the selected backend.
*
* @return the modelType value.
*/
@@ -173,9 +162,10 @@ public VoiceModelType getModelType() {
}
/**
- * Get the model property: The model to use for this agent, paired with `model_type`: the service-managed model name
- * when `model_type` is `managed`, or the customer's Foundry deployment name when `model_type` is `self_deployed`.
- * The model must support realtime or cascaded voice. The service derives the architecture from the selected model.
+ * Get the model property: The model to use for this agent. Required when `model_type` is `managed` (the
+ * service-managed model name) or `self_deployed` (the customer's Foundry deployment name). Omit this property when
+ * `model_type` is `hosted_agent`; `target_agent` identifies the conversational backend. The model must support
+ * realtime or cascaded voice.
*
* @return the model value.
*/
@@ -531,8 +521,9 @@ public JsonWriter toJson(JsonWriter jsonWriter) throws IOException {
jsonWriter.writeStartObject();
jsonWriter.writeJsonField("rai_config", getRaiConfig());
jsonWriter.writeStringField("model_type", this.modelType == null ? null : this.modelType.toString());
- jsonWriter.writeStringField("model", this.model);
jsonWriter.writeStringField("kind", this.kind == null ? null : this.kind.toString());
+ jsonWriter.writeStringField("model", this.model);
+ jsonWriter.writeJsonField("target_agent", this.targetAgent);
jsonWriter.writeStringField("instructions", this.instructions);
jsonWriter.writeJsonField("greeting", this.greeting);
jsonWriter.writeJsonField("audio", this.audio);
@@ -554,6 +545,7 @@ public JsonWriter toJson(JsonWriter jsonWriter) throws IOException {
jsonWriter.writeBooleanField("parallel_tool_calls", this.parallelToolCalls);
jsonWriter.writeMapField("structured_inputs", this.structuredInputs,
(writer, element) -> writer.writeJson(element));
+ jsonWriter.writeJsonField("subagent_config", this.subagentConfig);
jsonWriter.writeBooleanField("store", this.store);
return jsonWriter.writeEndObject();
}
@@ -572,8 +564,9 @@ public static VoiceAgentDefinition fromJson(JsonReader jsonReader) throws IOExce
return jsonReader.readObject(reader -> {
RaiConfig raiConfig = null;
VoiceModelType modelType = null;
- String model = null;
AgentKind kind = AgentKind.VOICE;
+ String model = null;
+ VoiceAgentTargetAgent targetAgent = null;
String instructions = null;
VoiceAgentGreetingConfig greeting = null;
VoiceAgentAudioConfig audio = null;
@@ -586,6 +579,7 @@ public static VoiceAgentDefinition fromJson(JsonReader jsonReader) throws IOExce
BinaryData toolChoice = null;
Boolean parallelToolCalls = null;
Map structuredInputs = null;
+ VoiceAgentSubAgentConfig subagentConfig = null;
Boolean store = null;
while (reader.nextToken() != JsonToken.END_OBJECT) {
String fieldName = reader.getFieldName();
@@ -594,10 +588,12 @@ public static VoiceAgentDefinition fromJson(JsonReader jsonReader) throws IOExce
raiConfig = RaiConfig.fromJson(reader);
} else if ("model_type".equals(fieldName)) {
modelType = VoiceModelType.fromString(reader.getString());
- } else if ("model".equals(fieldName)) {
- model = reader.getString();
} else if ("kind".equals(fieldName)) {
kind = AgentKind.fromString(reader.getString());
+ } else if ("model".equals(fieldName)) {
+ model = reader.getString();
+ } else if ("target_agent".equals(fieldName)) {
+ targetAgent = VoiceAgentTargetAgent.fromJson(reader);
} else if ("instructions".equals(fieldName)) {
instructions = reader.getString();
} else if ("greeting".equals(fieldName)) {
@@ -625,15 +621,19 @@ public static VoiceAgentDefinition fromJson(JsonReader jsonReader) throws IOExce
parallelToolCalls = reader.getNullable(JsonReader::getBoolean);
} else if ("structured_inputs".equals(fieldName)) {
structuredInputs = reader.readMap(reader1 -> StructuredInputDefinition.fromJson(reader1));
+ } else if ("subagent_config".equals(fieldName)) {
+ subagentConfig = VoiceAgentSubAgentConfig.fromJson(reader);
} else if ("store".equals(fieldName)) {
store = reader.getNullable(JsonReader::getBoolean);
} else {
reader.skipChildren();
}
}
- VoiceAgentDefinition deserializedVoiceAgentDefinition = new VoiceAgentDefinition(modelType, model);
+ VoiceAgentDefinition deserializedVoiceAgentDefinition = new VoiceAgentDefinition(modelType);
deserializedVoiceAgentDefinition.setRaiConfig(raiConfig);
deserializedVoiceAgentDefinition.kind = kind;
+ deserializedVoiceAgentDefinition.model = model;
+ deserializedVoiceAgentDefinition.targetAgent = targetAgent;
deserializedVoiceAgentDefinition.instructions = instructions;
deserializedVoiceAgentDefinition.greeting = greeting;
deserializedVoiceAgentDefinition.audio = audio;
@@ -646,8 +646,105 @@ public static VoiceAgentDefinition fromJson(JsonReader jsonReader) throws IOExce
deserializedVoiceAgentDefinition.toolChoice = toolChoice;
deserializedVoiceAgentDefinition.parallelToolCalls = parallelToolCalls;
deserializedVoiceAgentDefinition.structuredInputs = structuredInputs;
+ deserializedVoiceAgentDefinition.subagentConfig = subagentConfig;
deserializedVoiceAgentDefinition.store = store;
return deserializedVoiceAgentDefinition;
});
}
+
+ /*
+ * The hosted text agent that this voice agent fronts. Required when `model_type` is `hosted_agent` and not
+ * applicable otherwise. In this mode, `model`, `instructions`, `tools`, and `tool_choice` must be omitted, and
+ * `greeting.tool_choice` cannot be `required`, because the target agent owns the conversation logic. The target
+ * must be in the same project and support the `invocations_ws` protocol, Voice Live compatibility, and Bridge
+ * Protocol 1.0.
+ */
+ @Generated
+ private VoiceAgentTargetAgent targetAgent;
+
+ /*
+ * Optional configuration for sibling Foundry text agents that this voice agent may consult as background
+ * specialists.
+ */
+ @Generated
+ private VoiceAgentSubAgentConfig subagentConfig;
+
+ /**
+ * Creates an instance of VoiceAgentDefinition class.
+ *
+ * @param modelType the modelType value to set.
+ */
+ @Generated
+ public VoiceAgentDefinition(VoiceModelType modelType) {
+ this.modelType = modelType;
+ }
+
+ /**
+ * Set the model property: The model to use for this agent. Required when `model_type` is `managed` (the
+ * service-managed model name) or `self_deployed` (the customer's Foundry deployment name). Omit this property when
+ * `model_type` is `hosted_agent`; `target_agent` identifies the conversational backend. The model must support
+ * realtime or cascaded voice.
+ *
+ * @param model the model value to set.
+ * @return the VoiceAgentDefinition object itself.
+ */
+ @Generated
+ public VoiceAgentDefinition setModel(String model) {
+ this.model = model;
+ return this;
+ }
+
+ /**
+ * Get the targetAgent property: The hosted text agent that this voice agent fronts. Required when `model_type` is
+ * `hosted_agent` and not applicable otherwise. In this mode, `model`, `instructions`, `tools`, and `tool_choice`
+ * must be omitted, and `greeting.tool_choice` cannot be `required`, because the target agent owns the conversation
+ * logic. The target must be in the same project and support the `invocations_ws` protocol, Voice Live
+ * compatibility, and Bridge Protocol 1.0.
+ *
+ * @return the targetAgent value.
+ */
+ @Generated
+ public VoiceAgentTargetAgent getTargetAgent() {
+ return this.targetAgent;
+ }
+
+ /**
+ * Set the targetAgent property: The hosted text agent that this voice agent fronts. Required when `model_type` is
+ * `hosted_agent` and not applicable otherwise. In this mode, `model`, `instructions`, `tools`, and `tool_choice`
+ * must be omitted, and `greeting.tool_choice` cannot be `required`, because the target agent owns the conversation
+ * logic. The target must be in the same project and support the `invocations_ws` protocol, Voice Live
+ * compatibility, and Bridge Protocol 1.0.
+ *
+ * @param targetAgent the targetAgent value to set.
+ * @return the VoiceAgentDefinition object itself.
+ */
+ @Generated
+ public VoiceAgentDefinition setTargetAgent(VoiceAgentTargetAgent targetAgent) {
+ this.targetAgent = targetAgent;
+ return this;
+ }
+
+ /**
+ * Get the subagentConfig property: Optional configuration for sibling Foundry text agents that this voice agent may
+ * consult as background specialists.
+ *
+ * @return the subagentConfig value.
+ */
+ @Generated
+ public VoiceAgentSubAgentConfig getSubagentConfig() {
+ return this.subagentConfig;
+ }
+
+ /**
+ * Set the subagentConfig property: Optional configuration for sibling Foundry text agents that this voice agent may
+ * consult as background specialists.
+ *
+ * @param subagentConfig the subagentConfig value to set.
+ * @return the VoiceAgentDefinition object itself.
+ */
+ @Generated
+ public VoiceAgentDefinition setSubagentConfig(VoiceAgentSubAgentConfig subagentConfig) {
+ this.subagentConfig = subagentConfig;
+ return this;
+ }
}
diff --git a/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/VoiceAgentSubAgent.java b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/VoiceAgentSubAgent.java
new file mode 100644
index 000000000000..706e628f42f5
--- /dev/null
+++ b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/VoiceAgentSubAgent.java
@@ -0,0 +1,221 @@
+// 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;
+
+/**
+ * A sibling Foundry text agent that a voice agent may consult as a background specialist.
+ */
+@Fluent
+public final class VoiceAgentSubAgent implements JsonSerializable {
+ /*
+ * The name of the subagent. The subagent must be in the same project as the voice agent.
+ */
+ @Generated
+ private final String agentName;
+
+ /*
+ * The version of the subagent. When omitted, the active version is used.
+ */
+ @Generated
+ private String agentVersion;
+
+ /*
+ * A description of the subagent's capabilities, used by the voice agent to decide whether to forward a query.
+ */
+ @Generated
+ private final String agentCapabilities;
+
+ /*
+ * Policy for acknowledging forwarded requests and filling gaps while waiting for this subagent's response.
+ */
+ @Generated
+ private VoiceAgentSubagentResponsePolicy responsePolicy;
+
+ /*
+ * The wall-clock timeout, in seconds, for each invocation of this subagent. When omitted, the service timeout is
+ * used.
+ */
+ @Generated
+ private Long invokeTimeoutSeconds;
+
+ /**
+ * Creates an instance of VoiceAgentSubAgent class.
+ *
+ * @param agentName the agentName value to set.
+ * @param agentCapabilities the agentCapabilities value to set.
+ */
+ @Generated
+ public VoiceAgentSubAgent(String agentName, String agentCapabilities) {
+ this.agentName = agentName;
+ this.agentCapabilities = agentCapabilities;
+ }
+
+ /**
+ * Get the agentName property: The name of the subagent. The subagent must be in the same project as the voice
+ * agent.
+ *
+ * @return the agentName value.
+ */
+ @Generated
+ public String getAgentName() {
+ return this.agentName;
+ }
+
+ /**
+ * Get the agentVersion property: The version of the subagent. When omitted, the active version is used.
+ *
+ * @return the agentVersion value.
+ */
+ @Generated
+ public String getAgentVersion() {
+ return this.agentVersion;
+ }
+
+ /**
+ * Set the agentVersion property: The version of the subagent. When omitted, the active version is used.
+ *
+ * @param agentVersion the agentVersion value to set.
+ * @return the VoiceAgentSubAgent object itself.
+ */
+ @Generated
+ public VoiceAgentSubAgent setAgentVersion(String agentVersion) {
+ this.agentVersion = agentVersion;
+ return this;
+ }
+
+ /**
+ * Get the agentCapabilities property: A description of the subagent's capabilities, used by the voice agent to
+ * decide whether to forward a query.
+ *
+ * @return the agentCapabilities value.
+ */
+ @Generated
+ public String getAgentCapabilities() {
+ return this.agentCapabilities;
+ }
+
+ /**
+ * Get the responsePolicy property: Policy for acknowledging forwarded requests and filling gaps while waiting for
+ * this subagent's response.
+ *
+ * @return the responsePolicy value.
+ */
+ @Generated
+ public VoiceAgentSubagentResponsePolicy getResponsePolicy() {
+ return this.responsePolicy;
+ }
+
+ /**
+ * Set the responsePolicy property: Policy for acknowledging forwarded requests and filling gaps while waiting for
+ * this subagent's response.
+ *
+ * @param responsePolicy the responsePolicy value to set.
+ * @return the VoiceAgentSubAgent object itself.
+ */
+ @Generated
+ public VoiceAgentSubAgent setResponsePolicy(VoiceAgentSubagentResponsePolicy responsePolicy) {
+ this.responsePolicy = responsePolicy;
+ return this;
+ }
+
+ /**
+ * Get the invokeTimeoutSeconds property: The wall-clock timeout, in seconds, for each invocation of this subagent.
+ * When omitted, the service timeout is used.
+ *
+ * @return the invokeTimeoutSeconds value.
+ */
+ @Generated
+ public Duration getInvokeTimeoutSeconds() {
+ if (this.invokeTimeoutSeconds == null) {
+ return null;
+ }
+ return Duration.ofSeconds(this.invokeTimeoutSeconds);
+ }
+
+ /**
+ * Set the invokeTimeoutSeconds property: The wall-clock timeout, in seconds, for each invocation of this subagent.
+ * When omitted, the service timeout is used.
+ *
+ * @param invokeTimeoutSeconds the invokeTimeoutSeconds value to set.
+ * @return the VoiceAgentSubAgent object itself.
+ */
+ @Generated
+ public VoiceAgentSubAgent setInvokeTimeoutSeconds(Duration invokeTimeoutSeconds) {
+ if (invokeTimeoutSeconds == null) {
+ this.invokeTimeoutSeconds = null;
+ } else {
+ this.invokeTimeoutSeconds = invokeTimeoutSeconds.getSeconds();
+ }
+ return this;
+ }
+
+ /**
+ * {@inheritDoc}
+ */
+ @Generated
+ @Override
+ public JsonWriter toJson(JsonWriter jsonWriter) throws IOException {
+ jsonWriter.writeStartObject();
+ jsonWriter.writeStringField("agent_name", this.agentName);
+ jsonWriter.writeStringField("agent_capabilities", this.agentCapabilities);
+ jsonWriter.writeStringField("agent_version", this.agentVersion);
+ jsonWriter.writeJsonField("response_policy", this.responsePolicy);
+ jsonWriter.writeNumberField("invoke_timeout_seconds", this.invokeTimeoutSeconds);
+ return jsonWriter.writeEndObject();
+ }
+
+ /**
+ * Reads an instance of VoiceAgentSubAgent from the JsonReader.
+ *
+ * @param jsonReader The JsonReader being read.
+ * @return An instance of VoiceAgentSubAgent 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 VoiceAgentSubAgent.
+ */
+ @Generated
+ public static VoiceAgentSubAgent fromJson(JsonReader jsonReader) throws IOException {
+ return jsonReader.readObject(reader -> {
+ String agentName = null;
+ String agentCapabilities = null;
+ String agentVersion = null;
+ VoiceAgentSubagentResponsePolicy responsePolicy = null;
+ Long invokeTimeoutSeconds = null;
+ while (reader.nextToken() != JsonToken.END_OBJECT) {
+ String fieldName = reader.getFieldName();
+ reader.nextToken();
+
+ if ("agent_name".equals(fieldName)) {
+ agentName = reader.getString();
+ } else if ("agent_capabilities".equals(fieldName)) {
+ agentCapabilities = reader.getString();
+ } else if ("agent_version".equals(fieldName)) {
+ agentVersion = reader.getString();
+ } else if ("response_policy".equals(fieldName)) {
+ responsePolicy = VoiceAgentSubagentResponsePolicy.fromJson(reader);
+ } else if ("invoke_timeout_seconds".equals(fieldName)) {
+ invokeTimeoutSeconds = reader.getNullable(JsonReader::getLong);
+ } else {
+ reader.skipChildren();
+ }
+ }
+ VoiceAgentSubAgent deserializedVoiceAgentSubAgent = new VoiceAgentSubAgent(agentName, agentCapabilities);
+ deserializedVoiceAgentSubAgent.agentVersion = agentVersion;
+ deserializedVoiceAgentSubAgent.responsePolicy = responsePolicy;
+ deserializedVoiceAgentSubAgent.invokeTimeoutSeconds = invokeTimeoutSeconds;
+
+ return deserializedVoiceAgentSubAgent;
+ });
+ }
+}
diff --git a/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/VoiceAgentSubAgentConfig.java b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/VoiceAgentSubAgentConfig.java
new file mode 100644
index 000000000000..c5eaafc9d3e3
--- /dev/null
+++ b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/VoiceAgentSubAgentConfig.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.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;
+
+/**
+ * Configuration for sibling Foundry text agents that a voice agent may consult.
+ */
+@Immutable
+public final class VoiceAgentSubAgentConfig implements JsonSerializable {
+ /*
+ * The sibling Foundry text agents, in the same project, that this voice agent may consult.
+ */
+ @Generated
+ private final List subagents;
+
+ /**
+ * Creates an instance of VoiceAgentSubAgentConfig class.
+ *
+ * @param subagents the subagents value to set.
+ */
+ @Generated
+ public VoiceAgentSubAgentConfig(List subagents) {
+ this.subagents = subagents;
+ }
+
+ /**
+ * Get the subagents property: The sibling Foundry text agents, in the same project, that this voice agent may
+ * consult.
+ *
+ * @return the subagents value.
+ */
+ @Generated
+ public List getSubagents() {
+ return this.subagents;
+ }
+
+ /**
+ * {@inheritDoc}
+ */
+ @Generated
+ @Override
+ public JsonWriter toJson(JsonWriter jsonWriter) throws IOException {
+ jsonWriter.writeStartObject();
+ jsonWriter.writeArrayField("subagents", this.subagents, (writer, element) -> writer.writeJson(element));
+ return jsonWriter.writeEndObject();
+ }
+
+ /**
+ * Reads an instance of VoiceAgentSubAgentConfig from the JsonReader.
+ *
+ * @param jsonReader The JsonReader being read.
+ * @return An instance of VoiceAgentSubAgentConfig 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 VoiceAgentSubAgentConfig.
+ */
+ @Generated
+ public static VoiceAgentSubAgentConfig fromJson(JsonReader jsonReader) throws IOException {
+ return jsonReader.readObject(reader -> {
+ List subagents = null;
+ while (reader.nextToken() != JsonToken.END_OBJECT) {
+ String fieldName = reader.getFieldName();
+ reader.nextToken();
+
+ if ("subagents".equals(fieldName)) {
+ subagents = reader.readArray(reader1 -> VoiceAgentSubAgent.fromJson(reader1));
+ } else {
+ reader.skipChildren();
+ }
+ }
+ return new VoiceAgentSubAgentConfig(subagents);
+ });
+ }
+}
diff --git a/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/VoiceAgentSubagentResponsePolicy.java b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/VoiceAgentSubagentResponsePolicy.java
new file mode 100644
index 000000000000..a7cf53246ef8
--- /dev/null
+++ b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/VoiceAgentSubagentResponsePolicy.java
@@ -0,0 +1,308 @@
+// 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;
+
+/**
+ * Policy for delivering responses while a voice agent waits for a subagent.
+ */
+@Fluent
+public final class VoiceAgentSubagentResponsePolicy implements JsonSerializable {
+ /*
+ * Whether the voice agent provides an immediate acknowledgement before forwarding a request to a subagent.
+ */
+ @Generated
+ private Boolean immediateAck;
+
+ /*
+ * The number of seconds without subagent content or user input before the voice agent provides a gap-filling
+ * response.
+ */
+ @Generated
+ private Long gapFillingInterval;
+
+ /*
+ * Instructions used to generate the immediate acknowledgement.
+ */
+ @Generated
+ private String ackInstructions;
+
+ /*
+ * Instructions used to generate gap-filling speech while waiting for progress.
+ */
+ @Generated
+ private String gapFillingInstructions;
+
+ /*
+ * Whether progress updates are emitted incrementally instead of only when the subagent invocation completes.
+ * Defaults to `false`.
+ */
+ @Generated
+ private Boolean enableDeltaProgress;
+
+ /*
+ * Instructions used to summarize streamed subagent progress for speech.
+ */
+ @Generated
+ private String progressInstructions;
+
+ /*
+ * The minimum number of seconds between spoken progress updates.
+ */
+ @Generated
+ private Long progressUpdateInterval;
+
+ /**
+ * Creates an instance of VoiceAgentSubagentResponsePolicy class.
+ */
+ @Generated
+ public VoiceAgentSubagentResponsePolicy() {
+ }
+
+ /**
+ * Get the immediateAck property: Whether the voice agent provides an immediate acknowledgement before forwarding a
+ * request to a subagent.
+ *
+ * @return the immediateAck value.
+ */
+ @Generated
+ public Boolean isImmediateAck() {
+ return this.immediateAck;
+ }
+
+ /**
+ * Set the immediateAck property: Whether the voice agent provides an immediate acknowledgement before forwarding a
+ * request to a subagent.
+ *
+ * @param immediateAck the immediateAck value to set.
+ * @return the VoiceAgentSubagentResponsePolicy object itself.
+ */
+ @Generated
+ public VoiceAgentSubagentResponsePolicy setImmediateAck(Boolean immediateAck) {
+ this.immediateAck = immediateAck;
+ return this;
+ }
+
+ /**
+ * Get the gapFillingInterval property: The number of seconds without subagent content or user input before the
+ * voice agent provides a gap-filling response.
+ *
+ * @return the gapFillingInterval value.
+ */
+ @Generated
+ public Duration getGapFillingInterval() {
+ if (this.gapFillingInterval == null) {
+ return null;
+ }
+ return Duration.ofSeconds(this.gapFillingInterval);
+ }
+
+ /**
+ * Set the gapFillingInterval property: The number of seconds without subagent content or user input before the
+ * voice agent provides a gap-filling response.
+ *
+ * @param gapFillingInterval the gapFillingInterval value to set.
+ * @return the VoiceAgentSubagentResponsePolicy object itself.
+ */
+ @Generated
+ public VoiceAgentSubagentResponsePolicy setGapFillingInterval(Duration gapFillingInterval) {
+ if (gapFillingInterval == null) {
+ this.gapFillingInterval = null;
+ } else {
+ this.gapFillingInterval = gapFillingInterval.getSeconds();
+ }
+ return this;
+ }
+
+ /**
+ * Get the ackInstructions property: Instructions used to generate the immediate acknowledgement.
+ *
+ * @return the ackInstructions value.
+ */
+ @Generated
+ public String getAckInstructions() {
+ return this.ackInstructions;
+ }
+
+ /**
+ * Set the ackInstructions property: Instructions used to generate the immediate acknowledgement.
+ *
+ * @param ackInstructions the ackInstructions value to set.
+ * @return the VoiceAgentSubagentResponsePolicy object itself.
+ */
+ @Generated
+ public VoiceAgentSubagentResponsePolicy setAckInstructions(String ackInstructions) {
+ this.ackInstructions = ackInstructions;
+ return this;
+ }
+
+ /**
+ * Get the gapFillingInstructions property: Instructions used to generate gap-filling speech while waiting for
+ * progress.
+ *
+ * @return the gapFillingInstructions value.
+ */
+ @Generated
+ public String getGapFillingInstructions() {
+ return this.gapFillingInstructions;
+ }
+
+ /**
+ * Set the gapFillingInstructions property: Instructions used to generate gap-filling speech while waiting for
+ * progress.
+ *
+ * @param gapFillingInstructions the gapFillingInstructions value to set.
+ * @return the VoiceAgentSubagentResponsePolicy object itself.
+ */
+ @Generated
+ public VoiceAgentSubagentResponsePolicy setGapFillingInstructions(String gapFillingInstructions) {
+ this.gapFillingInstructions = gapFillingInstructions;
+ return this;
+ }
+
+ /**
+ * Get the enableDeltaProgress property: Whether progress updates are emitted incrementally instead of only when the
+ * subagent invocation completes. Defaults to `false`.
+ *
+ * @return the enableDeltaProgress value.
+ */
+ @Generated
+ public Boolean isEnableDeltaProgress() {
+ return this.enableDeltaProgress;
+ }
+
+ /**
+ * Set the enableDeltaProgress property: Whether progress updates are emitted incrementally instead of only when the
+ * subagent invocation completes. Defaults to `false`.
+ *
+ * @param enableDeltaProgress the enableDeltaProgress value to set.
+ * @return the VoiceAgentSubagentResponsePolicy object itself.
+ */
+ @Generated
+ public VoiceAgentSubagentResponsePolicy setEnableDeltaProgress(Boolean enableDeltaProgress) {
+ this.enableDeltaProgress = enableDeltaProgress;
+ return this;
+ }
+
+ /**
+ * Get the progressInstructions property: Instructions used to summarize streamed subagent progress for speech.
+ *
+ * @return the progressInstructions value.
+ */
+ @Generated
+ public String getProgressInstructions() {
+ return this.progressInstructions;
+ }
+
+ /**
+ * Set the progressInstructions property: Instructions used to summarize streamed subagent progress for speech.
+ *
+ * @param progressInstructions the progressInstructions value to set.
+ * @return the VoiceAgentSubagentResponsePolicy object itself.
+ */
+ @Generated
+ public VoiceAgentSubagentResponsePolicy setProgressInstructions(String progressInstructions) {
+ this.progressInstructions = progressInstructions;
+ return this;
+ }
+
+ /**
+ * Get the progressUpdateInterval property: The minimum number of seconds between spoken progress updates.
+ *
+ * @return the progressUpdateInterval value.
+ */
+ @Generated
+ public Duration getProgressUpdateInterval() {
+ if (this.progressUpdateInterval == null) {
+ return null;
+ }
+ return Duration.ofSeconds(this.progressUpdateInterval);
+ }
+
+ /**
+ * Set the progressUpdateInterval property: The minimum number of seconds between spoken progress updates.
+ *
+ * @param progressUpdateInterval the progressUpdateInterval value to set.
+ * @return the VoiceAgentSubagentResponsePolicy object itself.
+ */
+ @Generated
+ public VoiceAgentSubagentResponsePolicy setProgressUpdateInterval(Duration progressUpdateInterval) {
+ if (progressUpdateInterval == null) {
+ this.progressUpdateInterval = null;
+ } else {
+ this.progressUpdateInterval = progressUpdateInterval.getSeconds();
+ }
+ return this;
+ }
+
+ /**
+ * {@inheritDoc}
+ */
+ @Generated
+ @Override
+ public JsonWriter toJson(JsonWriter jsonWriter) throws IOException {
+ jsonWriter.writeStartObject();
+ jsonWriter.writeBooleanField("immediate_ack", this.immediateAck);
+ jsonWriter.writeNumberField("gap_filling_interval", this.gapFillingInterval);
+ jsonWriter.writeStringField("ack_instructions", this.ackInstructions);
+ jsonWriter.writeStringField("gap_filling_instructions", this.gapFillingInstructions);
+ jsonWriter.writeBooleanField("enable_delta_progress", this.enableDeltaProgress);
+ jsonWriter.writeStringField("progress_instructions", this.progressInstructions);
+ jsonWriter.writeNumberField("progress_update_interval", this.progressUpdateInterval);
+ return jsonWriter.writeEndObject();
+ }
+
+ /**
+ * Reads an instance of VoiceAgentSubagentResponsePolicy from the JsonReader.
+ *
+ * @param jsonReader The JsonReader being read.
+ * @return An instance of VoiceAgentSubagentResponsePolicy 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 VoiceAgentSubagentResponsePolicy.
+ */
+ @Generated
+ public static VoiceAgentSubagentResponsePolicy fromJson(JsonReader jsonReader) throws IOException {
+ return jsonReader.readObject(reader -> {
+ VoiceAgentSubagentResponsePolicy deserializedVoiceAgentSubagentResponsePolicy
+ = new VoiceAgentSubagentResponsePolicy();
+ while (reader.nextToken() != JsonToken.END_OBJECT) {
+ String fieldName = reader.getFieldName();
+ reader.nextToken();
+
+ if ("immediate_ack".equals(fieldName)) {
+ deserializedVoiceAgentSubagentResponsePolicy.immediateAck
+ = reader.getNullable(JsonReader::getBoolean);
+ } else if ("gap_filling_interval".equals(fieldName)) {
+ deserializedVoiceAgentSubagentResponsePolicy.gapFillingInterval
+ = reader.getNullable(JsonReader::getLong);
+ } else if ("ack_instructions".equals(fieldName)) {
+ deserializedVoiceAgentSubagentResponsePolicy.ackInstructions = reader.getString();
+ } else if ("gap_filling_instructions".equals(fieldName)) {
+ deserializedVoiceAgentSubagentResponsePolicy.gapFillingInstructions = reader.getString();
+ } else if ("enable_delta_progress".equals(fieldName)) {
+ deserializedVoiceAgentSubagentResponsePolicy.enableDeltaProgress
+ = reader.getNullable(JsonReader::getBoolean);
+ } else if ("progress_instructions".equals(fieldName)) {
+ deserializedVoiceAgentSubagentResponsePolicy.progressInstructions = reader.getString();
+ } else if ("progress_update_interval".equals(fieldName)) {
+ deserializedVoiceAgentSubagentResponsePolicy.progressUpdateInterval
+ = reader.getNullable(JsonReader::getLong);
+ } else {
+ reader.skipChildren();
+ }
+ }
+
+ return deserializedVoiceAgentSubagentResponsePolicy;
+ });
+ }
+}
diff --git a/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/VoiceAgentTargetAgent.java b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/VoiceAgentTargetAgent.java
new file mode 100644
index 000000000000..f5bfc56d6c4d
--- /dev/null
+++ b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/VoiceAgentTargetAgent.java
@@ -0,0 +1,176 @@
+// 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.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.LinkedHashMap;
+import java.util.Map;
+
+/**
+ * A closed reference to the hosted text agent that a `hosted_agent` voice agent fronts, containing only its name and
+ * optional version. The target is resolved within the same project.
+ */
+@Fluent
+public final class VoiceAgentTargetAgent implements JsonSerializable {
+ /*
+ * The non-empty DNS-like name of the target hosted text agent in the same project.
+ */
+ @Generated
+ private final String name;
+
+ /*
+ * The target agent version. Omit this property to select the latest version when the voice session starts. When
+ * supplied, use a positive integer or `draft-{positive-unix-timestamp}` whose numeric component fits in a signed
+ * 64-bit integer.
+ */
+ @Generated
+ private String version;
+
+ /*
+ * A closed reference to the hosted text agent that a `hosted_agent` voice agent fronts, containing only its name
+ * and optional version. The target is resolved within the same project.
+ */
+ @Generated
+ private Map additionalProperties;
+
+ /**
+ * Creates an instance of VoiceAgentTargetAgent class.
+ *
+ * @param name the name value to set.
+ */
+ @Generated
+ public VoiceAgentTargetAgent(String name) {
+ this.name = name;
+ }
+
+ /**
+ * Get the name property: The non-empty DNS-like name of the target hosted text agent in the same project.
+ *
+ * @return the name value.
+ */
+ @Generated
+ public String getName() {
+ return this.name;
+ }
+
+ /**
+ * Get the version property: The target agent version. Omit this property to select the latest version when the
+ * voice session starts. When supplied, use a positive integer or `draft-{positive-unix-timestamp}` whose numeric
+ * component fits in a signed 64-bit integer.
+ *
+ * @return the version value.
+ */
+ @Generated
+ public String getVersion() {
+ return this.version;
+ }
+
+ /**
+ * Set the version property: The target agent version. Omit this property to select the latest version when the
+ * voice session starts. When supplied, use a positive integer or `draft-{positive-unix-timestamp}` whose numeric
+ * component fits in a signed 64-bit integer.
+ *
+ * @param version the version value to set.
+ * @return the VoiceAgentTargetAgent object itself.
+ */
+ @Generated
+ public VoiceAgentTargetAgent setVersion(String version) {
+ this.version = version;
+ return this;
+ }
+
+ /**
+ * Get the additionalProperties property: A closed reference to the hosted text agent that a `hosted_agent` voice
+ * agent fronts, containing only its name and optional version. The target is resolved within the same project.
+ *
+ * @return the additionalProperties value.
+ */
+ @Generated
+ public Map getAdditionalProperties() {
+ return this.additionalProperties;
+ }
+
+ /**
+ * Set the additionalProperties property: A closed reference to the hosted text agent that a `hosted_agent` voice
+ * agent fronts, containing only its name and optional version. The target is resolved within the same project.
+ *
+ * @param additionalProperties the additionalProperties value to set.
+ * @return the VoiceAgentTargetAgent object itself.
+ */
+ @Generated
+ public VoiceAgentTargetAgent setAdditionalProperties(Map additionalProperties) {
+ this.additionalProperties = additionalProperties;
+ return this;
+ }
+
+ /**
+ * {@inheritDoc}
+ */
+ @Generated
+ @Override
+ public JsonWriter toJson(JsonWriter jsonWriter) throws IOException {
+ jsonWriter.writeStartObject();
+ jsonWriter.writeStringField("name", this.name);
+ jsonWriter.writeStringField("version", this.version);
+ if (additionalProperties != null) {
+ for (Map.Entry additionalProperty : additionalProperties.entrySet()) {
+ jsonWriter.writeFieldName(additionalProperty.getKey());
+ if (additionalProperty.getValue() == null) {
+ jsonWriter.writeNull();
+ } else {
+ additionalProperty.getValue().writeTo(jsonWriter);
+ }
+ }
+ }
+ return jsonWriter.writeEndObject();
+ }
+
+ /**
+ * Reads an instance of VoiceAgentTargetAgent from the JsonReader.
+ *
+ * @param jsonReader The JsonReader being read.
+ * @return An instance of VoiceAgentTargetAgent 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 VoiceAgentTargetAgent.
+ */
+ @Generated
+ public static VoiceAgentTargetAgent fromJson(JsonReader jsonReader) throws IOException {
+ return jsonReader.readObject(reader -> {
+ String name = null;
+ String version = null;
+ Map additionalProperties = null;
+ while (reader.nextToken() != JsonToken.END_OBJECT) {
+ String fieldName = reader.getFieldName();
+ reader.nextToken();
+
+ if ("name".equals(fieldName)) {
+ name = reader.getString();
+ } else if ("version".equals(fieldName)) {
+ version = reader.getString();
+ } else {
+ if (additionalProperties == null) {
+ additionalProperties = new LinkedHashMap<>();
+ }
+
+ additionalProperties.put(fieldName,
+ reader.getNullable(nonNullReader -> BinaryData.fromObject(nonNullReader.readUntyped())));
+ }
+ }
+ VoiceAgentTargetAgent deserializedVoiceAgentTargetAgent = new VoiceAgentTargetAgent(name);
+ deserializedVoiceAgentTargetAgent.version = version;
+ deserializedVoiceAgentTargetAgent.additionalProperties = additionalProperties;
+
+ return deserializedVoiceAgentTargetAgent;
+ });
+ }
+}
diff --git a/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/VoiceAgentTransport.java b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/VoiceAgentTransport.java
new file mode 100644
index 000000000000..ca50b6ce7161
--- /dev/null
+++ b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/VoiceAgentTransport.java
@@ -0,0 +1,57 @@
+// 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 transport used for a voice-agent connection.
+ */
+public final class VoiceAgentTransport extends ExpandableStringEnum {
+ /**
+ * Signaling and audio are exchanged as JSON events over the WebSocket. This is the default.
+ */
+ @Generated
+ public static final VoiceAgentTransport WEBSOCKET = fromString("websocket");
+
+ /**
+ * WebRTC: the WebSocket carries only SDP signaling; media and the data channel are peer-to-peer.
+ */
+ @Generated
+ public static final VoiceAgentTransport WEBRTC = fromString("webrtc");
+
+ /**
+ * Creates a new instance of VoiceAgentTransport value.
+ *
+ * @deprecated Use the {@link #fromString(String)} factory method.
+ */
+ @Generated
+ @Deprecated
+ public VoiceAgentTransport() {
+ }
+
+ /**
+ * Creates or finds a VoiceAgentTransport from its string representation.
+ *
+ * @param name a name to look for.
+ * @return the corresponding VoiceAgentTransport.
+ */
+ @Generated
+ public static VoiceAgentTransport fromString(String name) {
+ return fromString(name, VoiceAgentTransport.class);
+ }
+
+ /**
+ * Gets known VoiceAgentTransport values.
+ *
+ * @return known VoiceAgentTransport values.
+ */
+ @Generated
+ public static Collection values() {
+ return values(VoiceAgentTransport.class);
+ }
+}
diff --git a/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/VoiceGeneratedItemAudioResponse.java b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/VoiceGeneratedItemAudioResponse.java
new file mode 100644
index 000000000000..3bad080b8d7b
--- /dev/null
+++ b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/VoiceGeneratedItemAudioResponse.java
@@ -0,0 +1,291 @@
+// 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.time.Duration;
+
+/**
+ * Metadata for a conversation item's generated audio. For bring-your-own-storage (BYOS), the response includes
+ * `blob_uri`, a direct customer-storage URI without a SAS token, that the customer accesses with their own
+ * credentials. For Foundry-managed storage, `blob_uri` is absent and the bytes are streamed through the item's
+ * `/audio/generated/content` route.
+ */
+@Immutable
+public final class VoiceGeneratedItemAudioResponse implements JsonSerializable {
+ /*
+ * The id of the conversation the item belongs to.
+ */
+ @Generated
+ private final String conversationId;
+
+ /*
+ * The id of the item this audio belongs to.
+ */
+ @Generated
+ private final String itemId;
+
+ /*
+ * The role the audio belongs to.
+ */
+ @Generated
+ private VoiceAudioRole role;
+
+ /*
+ * The container format of the audio.
+ */
+ @Generated
+ private VoiceAudioContainerFormat format;
+
+ /*
+ * The audio codec.
+ */
+ @Generated
+ private VoiceAudioCodec codec;
+
+ /*
+ * The sample rate in Hz.
+ */
+ @Generated
+ private Integer sampleRate;
+
+ /*
+ * The number of audio channels.
+ */
+ @Generated
+ private Integer channels;
+
+ /*
+ * The offset from the session start at which this segment begins.
+ */
+ @Generated
+ private Long startOffsetMs;
+
+ /*
+ * The duration of the audio segment.
+ */
+ @Generated
+ private Long durationMs;
+
+ /*
+ * For bring-your-own-storage (BYOS) recordings only: the URI of the generated audio in the customer's own storage,
+ * without a SAS token. The customer downloads it using their own storage credentials. Absent for Foundry-managed
+ * storage, where the bytes are streamed via the item's `/audio/generated/content` route instead.
+ */
+ @Generated
+ private String blobUri;
+
+ /**
+ * Creates an instance of VoiceGeneratedItemAudioResponse class.
+ *
+ * @param conversationId the conversationId value to set.
+ * @param itemId the itemId value to set.
+ */
+ @Generated
+ private VoiceGeneratedItemAudioResponse(String conversationId, String itemId) {
+ this.conversationId = conversationId;
+ this.itemId = itemId;
+ }
+
+ /**
+ * Get the conversationId property: The id of the conversation the item belongs to.
+ *
+ * @return the conversationId value.
+ */
+ @Generated
+ public String getConversationId() {
+ return this.conversationId;
+ }
+
+ /**
+ * Get the itemId property: The id of the item this audio belongs to.
+ *
+ * @return the itemId value.
+ */
+ @Generated
+ public String getItemId() {
+ return this.itemId;
+ }
+
+ /**
+ * Get the role property: The role the audio belongs to.
+ *
+ * @return the role value.
+ */
+ @Generated
+ public VoiceAudioRole getRole() {
+ return this.role;
+ }
+
+ /**
+ * Get the format property: The container format of the audio.
+ *
+ * @return the format value.
+ */
+ @Generated
+ public VoiceAudioContainerFormat getFormat() {
+ return this.format;
+ }
+
+ /**
+ * Get the codec property: The audio codec.
+ *
+ * @return the codec value.
+ */
+ @Generated
+ public VoiceAudioCodec getCodec() {
+ return this.codec;
+ }
+
+ /**
+ * Get the sampleRate property: The sample rate in Hz.
+ *
+ * @return the sampleRate value.
+ */
+ @Generated
+ public Integer getSampleRate() {
+ return this.sampleRate;
+ }
+
+ /**
+ * Get the channels property: The number of audio channels.
+ *
+ * @return the channels value.
+ */
+ @Generated
+ public Integer getChannels() {
+ return this.channels;
+ }
+
+ /**
+ * Get the startOffsetMs property: The offset from the session start at which this segment begins.
+ *
+ * @return the startOffsetMs value.
+ */
+ @Generated
+ public Duration getStartOffsetMs() {
+ if (this.startOffsetMs == null) {
+ return null;
+ }
+ return Duration.ofMillis(this.startOffsetMs);
+ }
+
+ /**
+ * Get the durationMs property: The duration of the audio segment.
+ *
+ * @return the durationMs value.
+ */
+ @Generated
+ public Duration getDurationMs() {
+ if (this.durationMs == null) {
+ return null;
+ }
+ return Duration.ofMillis(this.durationMs);
+ }
+
+ /**
+ * Get the blobUri property: For bring-your-own-storage (BYOS) recordings only: the URI of the generated audio in
+ * the customer's own storage, without a SAS token. The customer downloads it using their own storage credentials.
+ * Absent for Foundry-managed storage, where the bytes are streamed via the item's `/audio/generated/content` route
+ * instead.
+ *
+ * @return the blobUri value.
+ */
+ @Generated
+ public String getBlobUri() {
+ return this.blobUri;
+ }
+
+ /**
+ * {@inheritDoc}
+ */
+ @Generated
+ @Override
+ public JsonWriter toJson(JsonWriter jsonWriter) throws IOException {
+ jsonWriter.writeStartObject();
+ jsonWriter.writeStringField("conversation_id", this.conversationId);
+ jsonWriter.writeStringField("item_id", this.itemId);
+ jsonWriter.writeStringField("role", this.role == null ? null : this.role.toString());
+ jsonWriter.writeStringField("format", this.format == null ? null : this.format.toString());
+ jsonWriter.writeStringField("codec", this.codec == null ? null : this.codec.toString());
+ jsonWriter.writeNumberField("sample_rate", this.sampleRate);
+ jsonWriter.writeNumberField("channels", this.channels);
+ jsonWriter.writeNumberField("start_offset_ms", this.startOffsetMs);
+ jsonWriter.writeNumberField("duration_ms", this.durationMs);
+ jsonWriter.writeStringField("blob_uri", this.blobUri);
+ return jsonWriter.writeEndObject();
+ }
+
+ /**
+ * Reads an instance of VoiceGeneratedItemAudioResponse from the JsonReader.
+ *
+ * @param jsonReader The JsonReader being read.
+ * @return An instance of VoiceGeneratedItemAudioResponse 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 VoiceGeneratedItemAudioResponse.
+ */
+ @Generated
+ public static VoiceGeneratedItemAudioResponse fromJson(JsonReader jsonReader) throws IOException {
+ return jsonReader.readObject(reader -> {
+ String conversationId = null;
+ String itemId = null;
+ VoiceAudioRole role = null;
+ VoiceAudioContainerFormat format = null;
+ VoiceAudioCodec codec = null;
+ Integer sampleRate = null;
+ Integer channels = null;
+ Long startOffsetMs = null;
+ Long durationMs = null;
+ String blobUri = null;
+ while (reader.nextToken() != JsonToken.END_OBJECT) {
+ String fieldName = reader.getFieldName();
+ reader.nextToken();
+
+ if ("conversation_id".equals(fieldName)) {
+ conversationId = reader.getString();
+ } else if ("item_id".equals(fieldName)) {
+ itemId = reader.getString();
+ } else if ("role".equals(fieldName)) {
+ role = VoiceAudioRole.fromString(reader.getString());
+ } else if ("format".equals(fieldName)) {
+ format = VoiceAudioContainerFormat.fromString(reader.getString());
+ } else if ("codec".equals(fieldName)) {
+ codec = VoiceAudioCodec.fromString(reader.getString());
+ } else if ("sample_rate".equals(fieldName)) {
+ sampleRate = reader.getNullable(JsonReader::getInt);
+ } else if ("channels".equals(fieldName)) {
+ channels = reader.getNullable(JsonReader::getInt);
+ } else if ("start_offset_ms".equals(fieldName)) {
+ startOffsetMs = reader.getNullable(JsonReader::getLong);
+ } else if ("duration_ms".equals(fieldName)) {
+ durationMs = reader.getNullable(JsonReader::getLong);
+ } else if ("blob_uri".equals(fieldName)) {
+ blobUri = reader.getString();
+ } else {
+ reader.skipChildren();
+ }
+ }
+ VoiceGeneratedItemAudioResponse deserializedVoiceGeneratedItemAudioResponse
+ = new VoiceGeneratedItemAudioResponse(conversationId, itemId);
+ deserializedVoiceGeneratedItemAudioResponse.role = role;
+ deserializedVoiceGeneratedItemAudioResponse.format = format;
+ deserializedVoiceGeneratedItemAudioResponse.codec = codec;
+ deserializedVoiceGeneratedItemAudioResponse.sampleRate = sampleRate;
+ deserializedVoiceGeneratedItemAudioResponse.channels = channels;
+ deserializedVoiceGeneratedItemAudioResponse.startOffsetMs = startOffsetMs;
+ deserializedVoiceGeneratedItemAudioResponse.durationMs = durationMs;
+ deserializedVoiceGeneratedItemAudioResponse.blobUri = blobUri;
+
+ return deserializedVoiceGeneratedItemAudioResponse;
+ });
+ }
+}
diff --git a/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/VoiceModelType.java b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/VoiceModelType.java
index 4a469e25bacf..ba3c527c3967 100644
--- a/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/VoiceModelType.java
+++ b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/VoiceModelType.java
@@ -55,4 +55,10 @@ public static VoiceModelType fromString(String name) {
public static Collection values() {
return values(VoiceModelType.class);
}
+
+ /**
+ * The service fronts a hosted text agent referenced by `target_agent`; `model` is not applicable in this mode.
+ */
+ @Generated
+ public static final VoiceModelType HOSTED_AGENT = fromString("hosted_agent");
}
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 ad16a6038d10..5dfeb2b9315a 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":"5e37d29056d2","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.generateAgent":"Azure.AI.Projects.Agents.generateAgent","com.azure.ai.agents.AgentsAsyncClient.generateAgentWithResponse":"Azure.AI.Projects.Agents.generateAgent","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.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.generateAgent":"Azure.AI.Projects.Agents.generateAgent","com.azure.ai.agents.AgentsClient.generateAgentWithResponse":"Azure.AI.Projects.Agents.generateAgent","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.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.BetaAgentEndpointConversationsAsyncClient":"Azure.AI.Projects.Beta.AgentEndpointConversations","com.azure.ai.agents.BetaAgentEndpointConversationsAsyncClient.deleteAgentConversation":"Azure.AI.Projects.AgentEndpointConversations.deleteAgentConversation","com.azure.ai.agents.BetaAgentEndpointConversationsAsyncClient.deleteAgentConversationWithResponse":"Azure.AI.Projects.AgentEndpointConversations.deleteAgentConversation","com.azure.ai.agents.BetaAgentEndpointConversationsAsyncClient.getAgentConversation":"Azure.AI.Projects.AgentEndpointConversations.getAgentConversation","com.azure.ai.agents.BetaAgentEndpointConversationsAsyncClient.getAgentConversationAudio":"Azure.AI.Projects.AgentEndpointConversations.getAgentConversationAudio","com.azure.ai.agents.BetaAgentEndpointConversationsAsyncClient.getAgentConversationAudioContent":"Azure.AI.Projects.AgentEndpointConversations.getAgentConversationAudioContent","com.azure.ai.agents.BetaAgentEndpointConversationsAsyncClient.getAgentConversationAudioContentWithResponse":"Azure.AI.Projects.AgentEndpointConversations.getAgentConversationAudioContent","com.azure.ai.agents.BetaAgentEndpointConversationsAsyncClient.getAgentConversationAudioWithResponse":"Azure.AI.Projects.AgentEndpointConversations.getAgentConversationAudio","com.azure.ai.agents.BetaAgentEndpointConversationsAsyncClient.getAgentConversationItem":"Azure.AI.Projects.AgentEndpointConversations.getAgentConversationItem","com.azure.ai.agents.BetaAgentEndpointConversationsAsyncClient.getAgentConversationItemAudio":"Azure.AI.Projects.AgentEndpointConversations.getAgentConversationItemAudio","com.azure.ai.agents.BetaAgentEndpointConversationsAsyncClient.getAgentConversationItemAudioContent":"Azure.AI.Projects.AgentEndpointConversations.getAgentConversationItemAudioContent","com.azure.ai.agents.BetaAgentEndpointConversationsAsyncClient.getAgentConversationItemAudioContentWithResponse":"Azure.AI.Projects.AgentEndpointConversations.getAgentConversationItemAudioContent","com.azure.ai.agents.BetaAgentEndpointConversationsAsyncClient.getAgentConversationItemAudioWithResponse":"Azure.AI.Projects.AgentEndpointConversations.getAgentConversationItemAudio","com.azure.ai.agents.BetaAgentEndpointConversationsAsyncClient.getAgentConversationItemWithResponse":"Azure.AI.Projects.AgentEndpointConversations.getAgentConversationItem","com.azure.ai.agents.BetaAgentEndpointConversationsAsyncClient.getAgentConversationResponse":"Azure.AI.Projects.AgentEndpointConversations.getAgentConversationResponse","com.azure.ai.agents.BetaAgentEndpointConversationsAsyncClient.getAgentConversationResponseWithResponse":"Azure.AI.Projects.AgentEndpointConversations.getAgentConversationResponse","com.azure.ai.agents.BetaAgentEndpointConversationsAsyncClient.getAgentConversationWithResponse":"Azure.AI.Projects.AgentEndpointConversations.getAgentConversation","com.azure.ai.agents.BetaAgentEndpointConversationsAsyncClient.listAgentConversationItems":"Azure.AI.Projects.AgentEndpointConversations.listAgentConversationItems","com.azure.ai.agents.BetaAgentEndpointConversationsAsyncClient.listAgentConversationResponseItems":"Azure.AI.Projects.AgentEndpointConversations.listAgentConversationResponseItems","com.azure.ai.agents.BetaAgentEndpointConversationsAsyncClient.listAgentConversationResponses":"Azure.AI.Projects.AgentEndpointConversations.listAgentConversationResponses","com.azure.ai.agents.BetaAgentEndpointConversationsAsyncClient.listAgentConversations":"Azure.AI.Projects.AgentEndpointConversations.listAgentConversations","com.azure.ai.agents.BetaAgentEndpointConversationsClient":"Azure.AI.Projects.Beta.AgentEndpointConversations","com.azure.ai.agents.BetaAgentEndpointConversationsClient.deleteAgentConversation":"Azure.AI.Projects.AgentEndpointConversations.deleteAgentConversation","com.azure.ai.agents.BetaAgentEndpointConversationsClient.deleteAgentConversationWithResponse":"Azure.AI.Projects.AgentEndpointConversations.deleteAgentConversation","com.azure.ai.agents.BetaAgentEndpointConversationsClient.getAgentConversation":"Azure.AI.Projects.AgentEndpointConversations.getAgentConversation","com.azure.ai.agents.BetaAgentEndpointConversationsClient.getAgentConversationAudio":"Azure.AI.Projects.AgentEndpointConversations.getAgentConversationAudio","com.azure.ai.agents.BetaAgentEndpointConversationsClient.getAgentConversationAudioContent":"Azure.AI.Projects.AgentEndpointConversations.getAgentConversationAudioContent","com.azure.ai.agents.BetaAgentEndpointConversationsClient.getAgentConversationAudioContentWithResponse":"Azure.AI.Projects.AgentEndpointConversations.getAgentConversationAudioContent","com.azure.ai.agents.BetaAgentEndpointConversationsClient.getAgentConversationAudioWithResponse":"Azure.AI.Projects.AgentEndpointConversations.getAgentConversationAudio","com.azure.ai.agents.BetaAgentEndpointConversationsClient.getAgentConversationItem":"Azure.AI.Projects.AgentEndpointConversations.getAgentConversationItem","com.azure.ai.agents.BetaAgentEndpointConversationsClient.getAgentConversationItemAudio":"Azure.AI.Projects.AgentEndpointConversations.getAgentConversationItemAudio","com.azure.ai.agents.BetaAgentEndpointConversationsClient.getAgentConversationItemAudioContent":"Azure.AI.Projects.AgentEndpointConversations.getAgentConversationItemAudioContent","com.azure.ai.agents.BetaAgentEndpointConversationsClient.getAgentConversationItemAudioContentWithResponse":"Azure.AI.Projects.AgentEndpointConversations.getAgentConversationItemAudioContent","com.azure.ai.agents.BetaAgentEndpointConversationsClient.getAgentConversationItemAudioWithResponse":"Azure.AI.Projects.AgentEndpointConversations.getAgentConversationItemAudio","com.azure.ai.agents.BetaAgentEndpointConversationsClient.getAgentConversationItemWithResponse":"Azure.AI.Projects.AgentEndpointConversations.getAgentConversationItem","com.azure.ai.agents.BetaAgentEndpointConversationsClient.getAgentConversationResponse":"Azure.AI.Projects.AgentEndpointConversations.getAgentConversationResponse","com.azure.ai.agents.BetaAgentEndpointConversationsClient.getAgentConversationResponseWithResponse":"Azure.AI.Projects.AgentEndpointConversations.getAgentConversationResponse","com.azure.ai.agents.BetaAgentEndpointConversationsClient.getAgentConversationWithResponse":"Azure.AI.Projects.AgentEndpointConversations.getAgentConversation","com.azure.ai.agents.BetaAgentEndpointConversationsClient.listAgentConversationItems":"Azure.AI.Projects.AgentEndpointConversations.listAgentConversationItems","com.azure.ai.agents.BetaAgentEndpointConversationsClient.listAgentConversationResponseItems":"Azure.AI.Projects.AgentEndpointConversations.listAgentConversationResponseItems","com.azure.ai.agents.BetaAgentEndpointConversationsClient.listAgentConversationResponses":"Azure.AI.Projects.AgentEndpointConversations.listAgentConversationResponses","com.azure.ai.agents.BetaAgentEndpointConversationsClient.listAgentConversations":"Azure.AI.Projects.AgentEndpointConversations.listAgentConversations","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.BetaVoiceAgentWebSocketAsyncClient":"Azure.AI.Projects.Beta.VoiceAgentWebSocket","com.azure.ai.agents.BetaVoiceAgentWebSocketAsyncClient.connectVoiceAgent":"Azure.AI.Projects.VoiceAgentWebSocket.connectVoiceAgent","com.azure.ai.agents.BetaVoiceAgentWebSocketAsyncClient.connectVoiceAgentWithResponse":"Azure.AI.Projects.VoiceAgentWebSocket.connectVoiceAgent","com.azure.ai.agents.BetaVoiceAgentWebSocketClient":"Azure.AI.Projects.Beta.VoiceAgentWebSocket","com.azure.ai.agents.BetaVoiceAgentWebSocketClient.connectVoiceAgent":"Azure.AI.Projects.VoiceAgentWebSocket.connectVoiceAgent","com.azure.ai.agents.BetaVoiceAgentWebSocketClient.connectVoiceAgentWithResponse":"Azure.AI.Projects.VoiceAgentWebSocket.connectVoiceAgent","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.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.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.McpListToolsTool":"OpenAI.MCPListToolsTool","com.azure.ai.agents.models.McpListToolsToolAnnotations":"OpenAI.MCPListToolsToolAnnotations","com.azure.ai.agents.models.McpListToolsToolInputSchema":"OpenAI.MCPListToolsToolInputSchema","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.Microsoft365PublishResponse":"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.PromptAgentDefinitionReasoningContext":"Azure.AI.Projects.PromptAgentDefinition.reasoning.context.anonymous","com.azure.ai.agents.models.PromptAgentDefinitionReasoningGenerateSummary":"Azure.AI.Projects.PromptAgentDefinition.reasoning.generate_summary.anonymous","com.azure.ai.agents.models.PromptAgentDefinitionReasoningSummary":"Azure.AI.Projects.PromptAgentDefinition.reasoning.summary.anonymous","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.RealtimeAudioFormats":"OpenAI.RealtimeAudioFormats","com.azure.ai.agents.models.RealtimeAudioFormatsAudioPcm":"OpenAI.RealtimeAudioFormatsAudioPcm","com.azure.ai.agents.models.RealtimeAudioFormatsAudioPcmRate":null,"com.azure.ai.agents.models.RealtimeAudioFormatsAudioPcma":"OpenAI.RealtimeAudioFormatsAudioPcma","com.azure.ai.agents.models.RealtimeAudioFormatsAudioPcmu":"OpenAI.RealtimeAudioFormatsAudioPcmu","com.azure.ai.agents.models.RealtimeAudioFormatsType":"OpenAI.RealtimeAudioFormatsType","com.azure.ai.agents.models.RealtimeConversationItem":"OpenAI.RealtimeConversationItem","com.azure.ai.agents.models.RealtimeConversationItemFunctionCall":"OpenAI.RealtimeConversationItemFunctionCall","com.azure.ai.agents.models.RealtimeConversationItemFunctionCallOutput":"OpenAI.RealtimeConversationItemFunctionCallOutput","com.azure.ai.agents.models.RealtimeConversationItemFunctionCallOutputStatus":"OpenAI.RealtimeConversationItemFunctionCallOutput.status.anonymous","com.azure.ai.agents.models.RealtimeConversationItemFunctionCallStatus":"OpenAI.RealtimeConversationItemFunctionCall.status.anonymous","com.azure.ai.agents.models.RealtimeConversationItemMessageSystemObject":null,"com.azure.ai.agents.models.RealtimeConversationItemMessageSystemObject1":null,"com.azure.ai.agents.models.RealtimeConversationItemType":"OpenAI.RealtimeConversationItemType","com.azure.ai.agents.models.RealtimeFunctionToolParameters":"OpenAI.RealtimeFunctionToolParameters","com.azure.ai.agents.models.RealtimeMCPApprovalRequest":"OpenAI.RealtimeMCPApprovalRequest","com.azure.ai.agents.models.RealtimeMCPApprovalResponse":"OpenAI.RealtimeMCPApprovalResponse","com.azure.ai.agents.models.RealtimeMCPError":"OpenAI.RealtimeMCPError","com.azure.ai.agents.models.RealtimeMCPHttpError":"OpenAI.RealtimeMCPHTTPError","com.azure.ai.agents.models.RealtimeMCPListTools":"OpenAI.RealtimeMCPListTools","com.azure.ai.agents.models.RealtimeMCPProtocolError":"OpenAI.RealtimeMCPProtocolError","com.azure.ai.agents.models.RealtimeMCPToolCall":"OpenAI.RealtimeMCPToolCall","com.azure.ai.agents.models.RealtimeMCPToolExecutionError":"OpenAI.RealtimeMCPToolExecutionError","com.azure.ai.agents.models.RealtimeMcpErrorType":"OpenAI.RealtimeMcpErrorType","com.azure.ai.agents.models.RealtimeResponseStatusDetails":"OpenAI.RealtimeResponseStatusDetails","com.azure.ai.agents.models.RealtimeResponseStatusDetailsError":"OpenAI.RealtimeResponseStatusDetailsError","com.azure.ai.agents.models.RealtimeResponseStatusDetailsReason":"OpenAI.RealtimeResponseStatusDetails.reason.anonymous","com.azure.ai.agents.models.RealtimeResponseStatusDetailsType":"OpenAI.RealtimeResponseStatusDetails.type.anonymous","com.azure.ai.agents.models.RealtimeResponseUsage":"OpenAI.RealtimeResponseUsage","com.azure.ai.agents.models.RealtimeResponseUsageInputTokenDetails":"OpenAI.RealtimeResponseUsageInputTokenDetails","com.azure.ai.agents.models.RealtimeResponseUsageInputTokenDetailsCachedTokensDetails":"OpenAI.RealtimeResponseUsageInputTokenDetailsCachedTokensDetails","com.azure.ai.agents.models.RealtimeResponseUsageOutputTokenDetails":"OpenAI.RealtimeResponseUsageOutputTokenDetails","com.azure.ai.agents.models.Reasoning":"OpenAI.Reasoning","com.azure.ai.agents.models.ReasoningEffort":"OpenAI.ReasoningEffort","com.azure.ai.agents.models.ReasoningModeEnum":"OpenAI.ReasoningModeEnum","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.ToolChoiceFunction":"OpenAI.ToolChoiceFunction","com.azure.ai.agents.models.ToolChoiceMCP":"OpenAI.ToolChoiceMCP","com.azure.ai.agents.models.ToolChoiceParam":"OpenAI.ToolChoiceParam","com.azure.ai.agents.models.ToolChoiceParamType":"OpenAI.ToolChoiceParamType","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.VoiceAgentAudioConfig":"Azure.AI.Projects.VoiceAgentAudioConfig","com.azure.ai.agents.models.VoiceAgentAudioInputConfig":"Azure.AI.Projects.VoiceAgentAudioInputConfig","com.azure.ai.agents.models.VoiceAgentAudioInputConfigTranscriptionDelay":"Azure.AI.Projects.VoiceAgentAudioInputConfig.transcription.delay.anonymous","com.azure.ai.agents.models.VoiceAgentAudioOutputConfig":"Azure.AI.Projects.VoiceAgentAudioOutputConfig","com.azure.ai.agents.models.VoiceAgentAudioTimestampType":"Azure.AI.Projects.VoiceAgentAudioTimestampType","com.azure.ai.agents.models.VoiceAgentAvatarConfig":"Azure.AI.Projects.VoiceAgentAvatarConfig","com.azure.ai.agents.models.VoiceAgentAvatarOutputProtocol":"Azure.AI.Projects.VoiceAgentAvatarOutputProtocol","com.azure.ai.agents.models.VoiceAgentAvatarScene":"Azure.AI.Projects.VoiceAgentAvatarScene","com.azure.ai.agents.models.VoiceAgentAvatarType":"Azure.AI.Projects.VoiceAgentAvatarType","com.azure.ai.agents.models.VoiceAgentAvatarVideoBackground":"Azure.AI.Projects.VoiceAgentAvatarVideoBackground","com.azure.ai.agents.models.VoiceAgentAvatarVideoCrop":"Azure.AI.Projects.VoiceAgentAvatarVideoCrop","com.azure.ai.agents.models.VoiceAgentAvatarVideoParams":"Azure.AI.Projects.VoiceAgentAvatarVideoParams","com.azure.ai.agents.models.VoiceAgentAvatarVideoResolution":"Azure.AI.Projects.VoiceAgentAvatarVideoResolution","com.azure.ai.agents.models.VoiceAgentAzureSemanticVadEnTurnDetection":"Azure.AI.Projects.VoiceAgentAzureSemanticVadEnTurnDetection","com.azure.ai.agents.models.VoiceAgentAzureSemanticVadMultilingualTurnDetection":"Azure.AI.Projects.VoiceAgentAzureSemanticVadMultilingualTurnDetection","com.azure.ai.agents.models.VoiceAgentAzureSemanticVadTurnDetection":"Azure.AI.Projects.VoiceAgentAzureSemanticVadTurnDetection","com.azure.ai.agents.models.VoiceAgentDefinition":"Azure.AI.Projects.VoiceAgentDefinition","com.azure.ai.agents.models.VoiceAgentEchoCancellation":"Azure.AI.Projects.VoiceAgentEchoCancellation","com.azure.ai.agents.models.VoiceAgentEchoCancellationReferenceSource":"Azure.AI.Projects.VoiceAgentEchoCancellationReferenceSource","com.azure.ai.agents.models.VoiceAgentEndOfUtteranceDetection":"Azure.AI.Projects.VoiceAgentEndOfUtteranceDetection","com.azure.ai.agents.models.VoiceAgentEndOfUtteranceDetectionModel":"Azure.AI.Projects.VoiceAgentEndOfUtteranceDetectionModel","com.azure.ai.agents.models.VoiceAgentEndOfUtteranceThresholdLevel":"Azure.AI.Projects.VoiceAgentEndOfUtteranceThresholdLevel","com.azure.ai.agents.models.VoiceAgentFunctionTool":"Azure.AI.Projects.VoiceAgentFunctionTool","com.azure.ai.agents.models.VoiceAgentGreetingConfig":"Azure.AI.Projects.VoiceAgentGreetingConfig","com.azure.ai.agents.models.VoiceAgentInputTranscription":"Azure.AI.Projects.VoiceAgentInputTranscription","com.azure.ai.agents.models.VoiceAgentInputTranscriptionModel":"Azure.AI.Projects.VoiceAgentInputTranscriptionModel","com.azure.ai.agents.models.VoiceAgentInterimResponseConfig":"Azure.AI.Projects.VoiceAgentInterimResponseConfig","com.azure.ai.agents.models.VoiceAgentInterimResponseTrigger":"Azure.AI.Projects.VoiceAgentInterimResponseTrigger","com.azure.ai.agents.models.VoiceAgentLlmGeneratedGreetingConfig":"Azure.AI.Projects.VoiceAgentLlmGeneratedGreetingConfig","com.azure.ai.agents.models.VoiceAgentLlmInterimResponseConfig":"Azure.AI.Projects.VoiceAgentLlmInterimResponseConfig","com.azure.ai.agents.models.VoiceAgentMcpTool":"Azure.AI.Projects.VoiceAgentMcpTool","com.azure.ai.agents.models.VoiceAgentNoiseReduction":"Azure.AI.Projects.VoiceAgentNoiseReduction","com.azure.ai.agents.models.VoiceAgentNoiseReductionType":"Azure.AI.Projects.VoiceAgentNoiseReductionType","com.azure.ai.agents.models.VoiceAgentSemanticVadTurnDetection":"Azure.AI.Projects.VoiceAgentSemanticVadTurnDetection","com.azure.ai.agents.models.VoiceAgentSemanticVadTurnDetectionEagerness":"Azure.AI.Projects.VoiceAgentSemanticVadTurnDetection.eagerness.anonymous","com.azure.ai.agents.models.VoiceAgentServerVadTurnDetection":"Azure.AI.Projects.VoiceAgentServerVadTurnDetection","com.azure.ai.agents.models.VoiceAgentSessionIncludeOption":"Azure.AI.Projects.VoiceAgentSessionIncludeOption","com.azure.ai.agents.models.VoiceAgentStaticInterimResponseConfig":"Azure.AI.Projects.VoiceAgentStaticInterimResponseConfig","com.azure.ai.agents.models.VoiceAgentSystemTool":"Azure.AI.Projects.VoiceAgentSystemTool","com.azure.ai.agents.models.VoiceAgentSystemToolName":"Azure.AI.Projects.VoiceAgentSystemToolName","com.azure.ai.agents.models.VoiceAgentTemplateGreetingConfig":"Azure.AI.Projects.VoiceAgentTemplateGreetingConfig","com.azure.ai.agents.models.VoiceAgentTool":"Azure.AI.Projects.VoiceAgentTool","com.azure.ai.agents.models.VoiceAgentToolResponseScheduling":"Azure.AI.Projects.VoiceAgentToolResponseScheduling","com.azure.ai.agents.models.VoiceAgentToolboxTool":"Azure.AI.Projects.VoiceAgentToolboxTool","com.azure.ai.agents.models.VoiceAgentTurnDetectionConfig":"Azure.AI.Projects.VoiceAgentTurnDetectionConfig","com.azure.ai.agents.models.VoiceAgentTurnDetectionType":"Azure.AI.Projects.VoiceAgentTurnDetectionType","com.azure.ai.agents.models.VoiceAgentWebSocketSubprotocol":"Azure.AI.Projects.VoiceAgentWebSocketSubprotocol","com.azure.ai.agents.models.VoiceAudioCodec":"Azure.AI.Projects.VoiceAudioCodec","com.azure.ai.agents.models.VoiceAudioContainerFormat":"Azure.AI.Projects.VoiceAudioContainerFormat","com.azure.ai.agents.models.VoiceAudioRole":"Azure.AI.Projects.VoiceAudioRole","com.azure.ai.agents.models.VoiceConversation":"Azure.AI.Projects.VoiceConversation","com.azure.ai.agents.models.VoiceConversationStatus":"Azure.AI.Projects.VoiceConversationStatus","com.azure.ai.agents.models.VoiceItemAudioResponse":"Azure.AI.Projects.VoiceItemAudioResponse","com.azure.ai.agents.models.VoiceModelType":"Azure.AI.Projects.VoiceModelType","com.azure.ai.agents.models.VoiceOutputModality":"Azure.AI.Projects.VoiceOutputModality","com.azure.ai.agents.models.VoiceRecordingChannelLayout":"Azure.AI.Projects.VoiceRecordingChannelLayout","com.azure.ai.agents.models.VoiceRecordingResponse":"Azure.AI.Projects.VoiceRecordingResponse","com.azure.ai.agents.models.VoiceResponse":"Azure.AI.Projects.VoiceResponse","com.azure.ai.agents.models.VoiceResponseAudio":"Azure.AI.Projects.VoiceResponseAudio","com.azure.ai.agents.models.VoiceResponseAudioOutput":"Azure.AI.Projects.VoiceResponseAudioOutput","com.azure.ai.agents.models.VoiceResponseBase":"Azure.AI.Projects.VoiceResponseBase","com.azure.ai.agents.models.VoiceResponseBaseObject":null,"com.azure.ai.agents.models.VoiceResponseBaseOutputModality":"Azure.AI.Projects.VoiceResponseBase.output_modality.anonymous","com.azure.ai.agents.models.VoiceResponseBaseStatus":"Azure.AI.Projects.VoiceResponseBase.status.anonymous","com.azure.ai.agents.models.VoiceType":"Azure.AI.Projects.VoiceType","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/BetaAgentEndpointConversationsAsyncClient.java","src/main/java/com/azure/ai/agents/BetaAgentEndpointConversationsClient.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/BetaVoiceAgentWebSocketAsyncClient.java","src/main/java/com/azure/ai/agents/BetaVoiceAgentWebSocketClient.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/BetaAgentEndpointConversationsImpl.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/BetaVoiceAgentWebSocketsImpl.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/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/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/McpListToolsTool.java","src/main/java/com/azure/ai/agents/models/McpListToolsToolAnnotations.java","src/main/java/com/azure/ai/agents/models/McpListToolsToolInputSchema.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/Microsoft365PublishResponse.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/PromptAgentDefinitionReasoningContext.java","src/main/java/com/azure/ai/agents/models/PromptAgentDefinitionReasoningGenerateSummary.java","src/main/java/com/azure/ai/agents/models/PromptAgentDefinitionReasoningSummary.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/RealtimeAudioFormats.java","src/main/java/com/azure/ai/agents/models/RealtimeAudioFormatsAudioPcm.java","src/main/java/com/azure/ai/agents/models/RealtimeAudioFormatsAudioPcmRate.java","src/main/java/com/azure/ai/agents/models/RealtimeAudioFormatsAudioPcma.java","src/main/java/com/azure/ai/agents/models/RealtimeAudioFormatsAudioPcmu.java","src/main/java/com/azure/ai/agents/models/RealtimeAudioFormatsType.java","src/main/java/com/azure/ai/agents/models/RealtimeConversationItem.java","src/main/java/com/azure/ai/agents/models/RealtimeConversationItemFunctionCall.java","src/main/java/com/azure/ai/agents/models/RealtimeConversationItemFunctionCallOutput.java","src/main/java/com/azure/ai/agents/models/RealtimeConversationItemFunctionCallOutputStatus.java","src/main/java/com/azure/ai/agents/models/RealtimeConversationItemFunctionCallStatus.java","src/main/java/com/azure/ai/agents/models/RealtimeConversationItemMessageSystemObject.java","src/main/java/com/azure/ai/agents/models/RealtimeConversationItemMessageSystemObject1.java","src/main/java/com/azure/ai/agents/models/RealtimeConversationItemType.java","src/main/java/com/azure/ai/agents/models/RealtimeFunctionToolParameters.java","src/main/java/com/azure/ai/agents/models/RealtimeMCPApprovalRequest.java","src/main/java/com/azure/ai/agents/models/RealtimeMCPApprovalResponse.java","src/main/java/com/azure/ai/agents/models/RealtimeMCPError.java","src/main/java/com/azure/ai/agents/models/RealtimeMCPHttpError.java","src/main/java/com/azure/ai/agents/models/RealtimeMCPListTools.java","src/main/java/com/azure/ai/agents/models/RealtimeMCPProtocolError.java","src/main/java/com/azure/ai/agents/models/RealtimeMCPToolCall.java","src/main/java/com/azure/ai/agents/models/RealtimeMCPToolExecutionError.java","src/main/java/com/azure/ai/agents/models/RealtimeMcpErrorType.java","src/main/java/com/azure/ai/agents/models/RealtimeResponseStatusDetails.java","src/main/java/com/azure/ai/agents/models/RealtimeResponseStatusDetailsError.java","src/main/java/com/azure/ai/agents/models/RealtimeResponseStatusDetailsReason.java","src/main/java/com/azure/ai/agents/models/RealtimeResponseStatusDetailsType.java","src/main/java/com/azure/ai/agents/models/RealtimeResponseUsage.java","src/main/java/com/azure/ai/agents/models/RealtimeResponseUsageInputTokenDetails.java","src/main/java/com/azure/ai/agents/models/RealtimeResponseUsageInputTokenDetailsCachedTokensDetails.java","src/main/java/com/azure/ai/agents/models/RealtimeResponseUsageOutputTokenDetails.java","src/main/java/com/azure/ai/agents/models/Reasoning.java","src/main/java/com/azure/ai/agents/models/ReasoningEffort.java","src/main/java/com/azure/ai/agents/models/ReasoningModeEnum.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/ToolChoiceFunction.java","src/main/java/com/azure/ai/agents/models/ToolChoiceMCP.java","src/main/java/com/azure/ai/agents/models/ToolChoiceParam.java","src/main/java/com/azure/ai/agents/models/ToolChoiceParamType.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/VoiceAgentAudioConfig.java","src/main/java/com/azure/ai/agents/models/VoiceAgentAudioInputConfig.java","src/main/java/com/azure/ai/agents/models/VoiceAgentAudioInputConfigTranscriptionDelay.java","src/main/java/com/azure/ai/agents/models/VoiceAgentAudioOutputConfig.java","src/main/java/com/azure/ai/agents/models/VoiceAgentAudioTimestampType.java","src/main/java/com/azure/ai/agents/models/VoiceAgentAvatarConfig.java","src/main/java/com/azure/ai/agents/models/VoiceAgentAvatarOutputProtocol.java","src/main/java/com/azure/ai/agents/models/VoiceAgentAvatarScene.java","src/main/java/com/azure/ai/agents/models/VoiceAgentAvatarType.java","src/main/java/com/azure/ai/agents/models/VoiceAgentAvatarVideoBackground.java","src/main/java/com/azure/ai/agents/models/VoiceAgentAvatarVideoCrop.java","src/main/java/com/azure/ai/agents/models/VoiceAgentAvatarVideoParams.java","src/main/java/com/azure/ai/agents/models/VoiceAgentAvatarVideoResolution.java","src/main/java/com/azure/ai/agents/models/VoiceAgentAzureSemanticVadEnTurnDetection.java","src/main/java/com/azure/ai/agents/models/VoiceAgentAzureSemanticVadMultilingualTurnDetection.java","src/main/java/com/azure/ai/agents/models/VoiceAgentAzureSemanticVadTurnDetection.java","src/main/java/com/azure/ai/agents/models/VoiceAgentDefinition.java","src/main/java/com/azure/ai/agents/models/VoiceAgentEchoCancellation.java","src/main/java/com/azure/ai/agents/models/VoiceAgentEchoCancellationReferenceSource.java","src/main/java/com/azure/ai/agents/models/VoiceAgentEndOfUtteranceDetection.java","src/main/java/com/azure/ai/agents/models/VoiceAgentEndOfUtteranceDetectionModel.java","src/main/java/com/azure/ai/agents/models/VoiceAgentEndOfUtteranceThresholdLevel.java","src/main/java/com/azure/ai/agents/models/VoiceAgentFunctionTool.java","src/main/java/com/azure/ai/agents/models/VoiceAgentGreetingConfig.java","src/main/java/com/azure/ai/agents/models/VoiceAgentInputTranscription.java","src/main/java/com/azure/ai/agents/models/VoiceAgentInputTranscriptionModel.java","src/main/java/com/azure/ai/agents/models/VoiceAgentInterimResponseConfig.java","src/main/java/com/azure/ai/agents/models/VoiceAgentInterimResponseTrigger.java","src/main/java/com/azure/ai/agents/models/VoiceAgentLlmGeneratedGreetingConfig.java","src/main/java/com/azure/ai/agents/models/VoiceAgentLlmInterimResponseConfig.java","src/main/java/com/azure/ai/agents/models/VoiceAgentMcpTool.java","src/main/java/com/azure/ai/agents/models/VoiceAgentNoiseReduction.java","src/main/java/com/azure/ai/agents/models/VoiceAgentNoiseReductionType.java","src/main/java/com/azure/ai/agents/models/VoiceAgentSemanticVadTurnDetection.java","src/main/java/com/azure/ai/agents/models/VoiceAgentSemanticVadTurnDetectionEagerness.java","src/main/java/com/azure/ai/agents/models/VoiceAgentServerVadTurnDetection.java","src/main/java/com/azure/ai/agents/models/VoiceAgentSessionIncludeOption.java","src/main/java/com/azure/ai/agents/models/VoiceAgentStaticInterimResponseConfig.java","src/main/java/com/azure/ai/agents/models/VoiceAgentSystemTool.java","src/main/java/com/azure/ai/agents/models/VoiceAgentSystemToolName.java","src/main/java/com/azure/ai/agents/models/VoiceAgentTemplateGreetingConfig.java","src/main/java/com/azure/ai/agents/models/VoiceAgentTool.java","src/main/java/com/azure/ai/agents/models/VoiceAgentToolResponseScheduling.java","src/main/java/com/azure/ai/agents/models/VoiceAgentToolboxTool.java","src/main/java/com/azure/ai/agents/models/VoiceAgentTurnDetectionConfig.java","src/main/java/com/azure/ai/agents/models/VoiceAgentTurnDetectionType.java","src/main/java/com/azure/ai/agents/models/VoiceAgentWebSocketSubprotocol.java","src/main/java/com/azure/ai/agents/models/VoiceAudioCodec.java","src/main/java/com/azure/ai/agents/models/VoiceAudioContainerFormat.java","src/main/java/com/azure/ai/agents/models/VoiceAudioRole.java","src/main/java/com/azure/ai/agents/models/VoiceConversation.java","src/main/java/com/azure/ai/agents/models/VoiceConversationStatus.java","src/main/java/com/azure/ai/agents/models/VoiceItemAudioResponse.java","src/main/java/com/azure/ai/agents/models/VoiceModelType.java","src/main/java/com/azure/ai/agents/models/VoiceOutputModality.java","src/main/java/com/azure/ai/agents/models/VoiceRecordingChannelLayout.java","src/main/java/com/azure/ai/agents/models/VoiceRecordingResponse.java","src/main/java/com/azure/ai/agents/models/VoiceResponse.java","src/main/java/com/azure/ai/agents/models/VoiceResponseAudio.java","src/main/java/com/azure/ai/agents/models/VoiceResponseAudioOutput.java","src/main/java/com/azure/ai/agents/models/VoiceResponseBase.java","src/main/java/com/azure/ai/agents/models/VoiceResponseBaseObject.java","src/main/java/com/azure/ai/agents/models/VoiceResponseBaseOutputModality.java","src/main/java/com/azure/ai/agents/models/VoiceResponseBaseStatus.java","src/main/java/com/azure/ai/agents/models/VoiceType.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
+{"flavor":"azure","apiVersions":{"Azure.AI.Projects":"v1"},"crossLanguagePackageId":"Azure.AI.Projects","crossLanguageVersion":"7737a56f4bcd","crossLanguageDefinitions":{"com.azure.ai.agents.AgentEndpointConversationsAsyncClient":"Azure.AI.Projects.AgentEndpointConversations","com.azure.ai.agents.AgentEndpointConversationsAsyncClient.getAgentConversationItemGeneratedAudio":"Azure.AI.Projects.AgentEndpointConversations.getAgentConversationItemGeneratedAudio","com.azure.ai.agents.AgentEndpointConversationsAsyncClient.getAgentConversationItemGeneratedAudioContent":"Azure.AI.Projects.AgentEndpointConversations.getAgentConversationItemGeneratedAudioContent","com.azure.ai.agents.AgentEndpointConversationsAsyncClient.getAgentConversationItemGeneratedAudioContentWithResponse":"Azure.AI.Projects.AgentEndpointConversations.getAgentConversationItemGeneratedAudioContent","com.azure.ai.agents.AgentEndpointConversationsAsyncClient.getAgentConversationItemGeneratedAudioWithResponse":"Azure.AI.Projects.AgentEndpointConversations.getAgentConversationItemGeneratedAudio","com.azure.ai.agents.AgentEndpointConversationsClient":"Azure.AI.Projects.AgentEndpointConversations","com.azure.ai.agents.AgentEndpointConversationsClient.getAgentConversationItemGeneratedAudio":"Azure.AI.Projects.AgentEndpointConversations.getAgentConversationItemGeneratedAudio","com.azure.ai.agents.AgentEndpointConversationsClient.getAgentConversationItemGeneratedAudioContent":"Azure.AI.Projects.AgentEndpointConversations.getAgentConversationItemGeneratedAudioContent","com.azure.ai.agents.AgentEndpointConversationsClient.getAgentConversationItemGeneratedAudioContentWithResponse":"Azure.AI.Projects.AgentEndpointConversations.getAgentConversationItemGeneratedAudioContent","com.azure.ai.agents.AgentEndpointConversationsClient.getAgentConversationItemGeneratedAudioWithResponse":"Azure.AI.Projects.AgentEndpointConversations.getAgentConversationItemGeneratedAudio","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.createTelephonyBinding":"Azure.AI.Projects.AgentTelephony.createTelephonyBinding","com.azure.ai.agents.AgentsAsyncClient.createTelephonyBindingWithResponse":"Azure.AI.Projects.AgentTelephony.createTelephonyBinding","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.deleteTelephonyBinding":"Azure.AI.Projects.AgentTelephony.deleteTelephonyBinding","com.azure.ai.agents.AgentsAsyncClient.deleteTelephonyBindingWithResponse":"Azure.AI.Projects.AgentTelephony.deleteTelephonyBinding","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.endTelephonyCall":"Azure.AI.Projects.AgentTelephony.endTelephonyCall","com.azure.ai.agents.AgentsAsyncClient.endTelephonyCallWithResponse":"Azure.AI.Projects.AgentTelephony.endTelephonyCall","com.azure.ai.agents.AgentsAsyncClient.generateAgent":"Azure.AI.Projects.Agents.generateAgent","com.azure.ai.agents.AgentsAsyncClient.generateAgentWithResponse":"Azure.AI.Projects.Agents.generateAgent","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.getTelephonyBinding":"Azure.AI.Projects.AgentTelephony.getTelephonyBinding","com.azure.ai.agents.AgentsAsyncClient.getTelephonyBindingWithResponse":"Azure.AI.Projects.AgentTelephony.getTelephonyBinding","com.azure.ai.agents.AgentsAsyncClient.getTelephonyCall":"Azure.AI.Projects.AgentTelephony.getTelephonyCall","com.azure.ai.agents.AgentsAsyncClient.getTelephonyCallWithResponse":"Azure.AI.Projects.AgentTelephony.getTelephonyCall","com.azure.ai.agents.AgentsAsyncClient.getTelephonyTransferTargets":"Azure.AI.Projects.AgentTelephony.getTelephonyTransferTargets","com.azure.ai.agents.AgentsAsyncClient.getTelephonyTransferTargetsWithResponse":"Azure.AI.Projects.AgentTelephony.getTelephonyTransferTargets","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.listTelephonyBindings":"Azure.AI.Projects.AgentTelephony.listTelephonyBindings","com.azure.ai.agents.AgentsAsyncClient.listTelephonyCalls":"Azure.AI.Projects.AgentTelephony.listTelephonyCalls","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.replaceTelephonyTransferTargets":"Azure.AI.Projects.AgentTelephony.replaceTelephonyTransferTargets","com.azure.ai.agents.AgentsAsyncClient.replaceTelephonyTransferTargetsWithResponse":"Azure.AI.Projects.AgentTelephony.replaceTelephonyTransferTargets","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.transferTelephonyCall":"Azure.AI.Projects.AgentTelephony.transferTelephonyCall","com.azure.ai.agents.AgentsAsyncClient.transferTelephonyCallWithResponse":"Azure.AI.Projects.AgentTelephony.transferTelephonyCall","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.updateTelephonyBinding":"Azure.AI.Projects.AgentTelephony.updateTelephonyBinding","com.azure.ai.agents.AgentsAsyncClient.updateTelephonyBindingWithResponse":"Azure.AI.Projects.AgentTelephony.updateTelephonyBinding","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.createTelephonyBinding":"Azure.AI.Projects.AgentTelephony.createTelephonyBinding","com.azure.ai.agents.AgentsClient.createTelephonyBindingWithResponse":"Azure.AI.Projects.AgentTelephony.createTelephonyBinding","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.deleteTelephonyBinding":"Azure.AI.Projects.AgentTelephony.deleteTelephonyBinding","com.azure.ai.agents.AgentsClient.deleteTelephonyBindingWithResponse":"Azure.AI.Projects.AgentTelephony.deleteTelephonyBinding","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.endTelephonyCall":"Azure.AI.Projects.AgentTelephony.endTelephonyCall","com.azure.ai.agents.AgentsClient.endTelephonyCallWithResponse":"Azure.AI.Projects.AgentTelephony.endTelephonyCall","com.azure.ai.agents.AgentsClient.generateAgent":"Azure.AI.Projects.Agents.generateAgent","com.azure.ai.agents.AgentsClient.generateAgentWithResponse":"Azure.AI.Projects.Agents.generateAgent","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.getTelephonyBinding":"Azure.AI.Projects.AgentTelephony.getTelephonyBinding","com.azure.ai.agents.AgentsClient.getTelephonyBindingWithResponse":"Azure.AI.Projects.AgentTelephony.getTelephonyBinding","com.azure.ai.agents.AgentsClient.getTelephonyCall":"Azure.AI.Projects.AgentTelephony.getTelephonyCall","com.azure.ai.agents.AgentsClient.getTelephonyCallWithResponse":"Azure.AI.Projects.AgentTelephony.getTelephonyCall","com.azure.ai.agents.AgentsClient.getTelephonyTransferTargets":"Azure.AI.Projects.AgentTelephony.getTelephonyTransferTargets","com.azure.ai.agents.AgentsClient.getTelephonyTransferTargetsWithResponse":"Azure.AI.Projects.AgentTelephony.getTelephonyTransferTargets","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.listTelephonyBindings":"Azure.AI.Projects.AgentTelephony.listTelephonyBindings","com.azure.ai.agents.AgentsClient.listTelephonyCalls":"Azure.AI.Projects.AgentTelephony.listTelephonyCalls","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.replaceTelephonyTransferTargets":"Azure.AI.Projects.AgentTelephony.replaceTelephonyTransferTargets","com.azure.ai.agents.AgentsClient.replaceTelephonyTransferTargetsWithResponse":"Azure.AI.Projects.AgentTelephony.replaceTelephonyTransferTargets","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.transferTelephonyCall":"Azure.AI.Projects.AgentTelephony.transferTelephonyCall","com.azure.ai.agents.AgentsClient.transferTelephonyCallWithResponse":"Azure.AI.Projects.AgentTelephony.transferTelephonyCall","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.updateTelephonyBinding":"Azure.AI.Projects.AgentTelephony.updateTelephonyBinding","com.azure.ai.agents.AgentsClient.updateTelephonyBindingWithResponse":"Azure.AI.Projects.AgentTelephony.updateTelephonyBinding","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.BetaAgentEndpointConversationsAsyncClient":"Azure.AI.Projects.Beta.AgentEndpointConversations","com.azure.ai.agents.BetaAgentEndpointConversationsAsyncClient.deleteAgentConversation":"Azure.AI.Projects.AgentEndpointConversations.deleteAgentConversation","com.azure.ai.agents.BetaAgentEndpointConversationsAsyncClient.deleteAgentConversationWithResponse":"Azure.AI.Projects.AgentEndpointConversations.deleteAgentConversation","com.azure.ai.agents.BetaAgentEndpointConversationsAsyncClient.getAgentConversation":"Azure.AI.Projects.AgentEndpointConversations.getAgentConversation","com.azure.ai.agents.BetaAgentEndpointConversationsAsyncClient.getAgentConversationAudio":"Azure.AI.Projects.AgentEndpointConversations.getAgentConversationAudio","com.azure.ai.agents.BetaAgentEndpointConversationsAsyncClient.getAgentConversationAudioContent":"Azure.AI.Projects.AgentEndpointConversations.getAgentConversationAudioContent","com.azure.ai.agents.BetaAgentEndpointConversationsAsyncClient.getAgentConversationAudioContentWithResponse":"Azure.AI.Projects.AgentEndpointConversations.getAgentConversationAudioContent","com.azure.ai.agents.BetaAgentEndpointConversationsAsyncClient.getAgentConversationAudioWithResponse":"Azure.AI.Projects.AgentEndpointConversations.getAgentConversationAudio","com.azure.ai.agents.BetaAgentEndpointConversationsAsyncClient.getAgentConversationItem":"Azure.AI.Projects.AgentEndpointConversations.getAgentConversationItem","com.azure.ai.agents.BetaAgentEndpointConversationsAsyncClient.getAgentConversationItemAudio":"Azure.AI.Projects.AgentEndpointConversations.getAgentConversationItemAudio","com.azure.ai.agents.BetaAgentEndpointConversationsAsyncClient.getAgentConversationItemAudioContent":"Azure.AI.Projects.AgentEndpointConversations.getAgentConversationItemAudioContent","com.azure.ai.agents.BetaAgentEndpointConversationsAsyncClient.getAgentConversationItemAudioContentWithResponse":"Azure.AI.Projects.AgentEndpointConversations.getAgentConversationItemAudioContent","com.azure.ai.agents.BetaAgentEndpointConversationsAsyncClient.getAgentConversationItemAudioWithResponse":"Azure.AI.Projects.AgentEndpointConversations.getAgentConversationItemAudio","com.azure.ai.agents.BetaAgentEndpointConversationsAsyncClient.getAgentConversationItemWithResponse":"Azure.AI.Projects.AgentEndpointConversations.getAgentConversationItem","com.azure.ai.agents.BetaAgentEndpointConversationsAsyncClient.getAgentConversationResponse":"Azure.AI.Projects.AgentEndpointConversations.getAgentConversationResponse","com.azure.ai.agents.BetaAgentEndpointConversationsAsyncClient.getAgentConversationResponseWithResponse":"Azure.AI.Projects.AgentEndpointConversations.getAgentConversationResponse","com.azure.ai.agents.BetaAgentEndpointConversationsAsyncClient.getAgentConversationWithResponse":"Azure.AI.Projects.AgentEndpointConversations.getAgentConversation","com.azure.ai.agents.BetaAgentEndpointConversationsAsyncClient.listAgentConversationItems":"Azure.AI.Projects.AgentEndpointConversations.listAgentConversationItems","com.azure.ai.agents.BetaAgentEndpointConversationsAsyncClient.listAgentConversationResponseItems":"Azure.AI.Projects.AgentEndpointConversations.listAgentConversationResponseItems","com.azure.ai.agents.BetaAgentEndpointConversationsAsyncClient.listAgentConversationResponses":"Azure.AI.Projects.AgentEndpointConversations.listAgentConversationResponses","com.azure.ai.agents.BetaAgentEndpointConversationsAsyncClient.listAgentConversations":"Azure.AI.Projects.AgentEndpointConversations.listAgentConversations","com.azure.ai.agents.BetaAgentEndpointConversationsClient":"Azure.AI.Projects.Beta.AgentEndpointConversations","com.azure.ai.agents.BetaAgentEndpointConversationsClient.deleteAgentConversation":"Azure.AI.Projects.AgentEndpointConversations.deleteAgentConversation","com.azure.ai.agents.BetaAgentEndpointConversationsClient.deleteAgentConversationWithResponse":"Azure.AI.Projects.AgentEndpointConversations.deleteAgentConversation","com.azure.ai.agents.BetaAgentEndpointConversationsClient.getAgentConversation":"Azure.AI.Projects.AgentEndpointConversations.getAgentConversation","com.azure.ai.agents.BetaAgentEndpointConversationsClient.getAgentConversationAudio":"Azure.AI.Projects.AgentEndpointConversations.getAgentConversationAudio","com.azure.ai.agents.BetaAgentEndpointConversationsClient.getAgentConversationAudioContent":"Azure.AI.Projects.AgentEndpointConversations.getAgentConversationAudioContent","com.azure.ai.agents.BetaAgentEndpointConversationsClient.getAgentConversationAudioContentWithResponse":"Azure.AI.Projects.AgentEndpointConversations.getAgentConversationAudioContent","com.azure.ai.agents.BetaAgentEndpointConversationsClient.getAgentConversationAudioWithResponse":"Azure.AI.Projects.AgentEndpointConversations.getAgentConversationAudio","com.azure.ai.agents.BetaAgentEndpointConversationsClient.getAgentConversationItem":"Azure.AI.Projects.AgentEndpointConversations.getAgentConversationItem","com.azure.ai.agents.BetaAgentEndpointConversationsClient.getAgentConversationItemAudio":"Azure.AI.Projects.AgentEndpointConversations.getAgentConversationItemAudio","com.azure.ai.agents.BetaAgentEndpointConversationsClient.getAgentConversationItemAudioContent":"Azure.AI.Projects.AgentEndpointConversations.getAgentConversationItemAudioContent","com.azure.ai.agents.BetaAgentEndpointConversationsClient.getAgentConversationItemAudioContentWithResponse":"Azure.AI.Projects.AgentEndpointConversations.getAgentConversationItemAudioContent","com.azure.ai.agents.BetaAgentEndpointConversationsClient.getAgentConversationItemAudioWithResponse":"Azure.AI.Projects.AgentEndpointConversations.getAgentConversationItemAudio","com.azure.ai.agents.BetaAgentEndpointConversationsClient.getAgentConversationItemWithResponse":"Azure.AI.Projects.AgentEndpointConversations.getAgentConversationItem","com.azure.ai.agents.BetaAgentEndpointConversationsClient.getAgentConversationResponse":"Azure.AI.Projects.AgentEndpointConversations.getAgentConversationResponse","com.azure.ai.agents.BetaAgentEndpointConversationsClient.getAgentConversationResponseWithResponse":"Azure.AI.Projects.AgentEndpointConversations.getAgentConversationResponse","com.azure.ai.agents.BetaAgentEndpointConversationsClient.getAgentConversationWithResponse":"Azure.AI.Projects.AgentEndpointConversations.getAgentConversation","com.azure.ai.agents.BetaAgentEndpointConversationsClient.listAgentConversationItems":"Azure.AI.Projects.AgentEndpointConversations.listAgentConversationItems","com.azure.ai.agents.BetaAgentEndpointConversationsClient.listAgentConversationResponseItems":"Azure.AI.Projects.AgentEndpointConversations.listAgentConversationResponseItems","com.azure.ai.agents.BetaAgentEndpointConversationsClient.listAgentConversationResponses":"Azure.AI.Projects.AgentEndpointConversations.listAgentConversationResponses","com.azure.ai.agents.BetaAgentEndpointConversationsClient.listAgentConversations":"Azure.AI.Projects.AgentEndpointConversations.listAgentConversations","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.BetaVoiceAgentWebSocketAsyncClient":"Azure.AI.Projects.Beta.VoiceAgentWebSocket","com.azure.ai.agents.BetaVoiceAgentWebSocketAsyncClient.connectVoiceAgent":"Azure.AI.Projects.VoiceAgentWebSocket.connectVoiceAgent","com.azure.ai.agents.BetaVoiceAgentWebSocketAsyncClient.connectVoiceAgentWithResponse":"Azure.AI.Projects.VoiceAgentWebSocket.connectVoiceAgent","com.azure.ai.agents.BetaVoiceAgentWebSocketClient":"Azure.AI.Projects.Beta.VoiceAgentWebSocket","com.azure.ai.agents.BetaVoiceAgentWebSocketClient.connectVoiceAgent":"Azure.AI.Projects.VoiceAgentWebSocket.connectVoiceAgent","com.azure.ai.agents.BetaVoiceAgentWebSocketClient.connectVoiceAgentWithResponse":"Azure.AI.Projects.VoiceAgentWebSocket.connectVoiceAgent","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.ReplaceTelephonyTransferTargetsRequest":"Azure.AI.Projects.replaceTelephonyTransferTargets.Request.anonymous","com.azure.ai.agents.implementation.models.SearchMemoriesRequest":"Azure.AI.Projects.searchMemories.Request.anonymous","com.azure.ai.agents.implementation.models.TransferTelephonyCallRequest":"Azure.AI.Projects.transferTelephonyCall.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.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.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.McpListToolsTool":"OpenAI.MCPListToolsTool","com.azure.ai.agents.models.McpListToolsToolAnnotations":"OpenAI.MCPListToolsToolAnnotations","com.azure.ai.agents.models.McpListToolsToolInputSchema":"OpenAI.MCPListToolsToolInputSchema","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.Microsoft365PublishResponse":"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.PSTNTelephonyTransferDestination":"Azure.AI.Projects.PSTNTelephonyTransferDestination","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.PromptAgentDefinitionReasoningContext":"Azure.AI.Projects.PromptAgentDefinition.reasoning.context.anonymous","com.azure.ai.agents.models.PromptAgentDefinitionReasoningGenerateSummary":"Azure.AI.Projects.PromptAgentDefinition.reasoning.generate_summary.anonymous","com.azure.ai.agents.models.PromptAgentDefinitionReasoningSummary":"Azure.AI.Projects.PromptAgentDefinition.reasoning.summary.anonymous","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.RealtimeAudioFormats":"OpenAI.RealtimeAudioFormats","com.azure.ai.agents.models.RealtimeAudioFormatsAudioPcm":"OpenAI.RealtimeAudioFormatsAudioPcm","com.azure.ai.agents.models.RealtimeAudioFormatsAudioPcmRate":null,"com.azure.ai.agents.models.RealtimeAudioFormatsAudioPcma":"OpenAI.RealtimeAudioFormatsAudioPcma","com.azure.ai.agents.models.RealtimeAudioFormatsAudioPcmu":"OpenAI.RealtimeAudioFormatsAudioPcmu","com.azure.ai.agents.models.RealtimeAudioFormatsType":"OpenAI.RealtimeAudioFormatsType","com.azure.ai.agents.models.RealtimeConversationItem":"OpenAI.RealtimeConversationItem","com.azure.ai.agents.models.RealtimeConversationItemFunctionCall":"OpenAI.RealtimeConversationItemFunctionCall","com.azure.ai.agents.models.RealtimeConversationItemFunctionCallOutput":"OpenAI.RealtimeConversationItemFunctionCallOutput","com.azure.ai.agents.models.RealtimeConversationItemFunctionCallOutputStatus":"OpenAI.RealtimeConversationItemFunctionCallOutput.status.anonymous","com.azure.ai.agents.models.RealtimeConversationItemFunctionCallStatus":"OpenAI.RealtimeConversationItemFunctionCall.status.anonymous","com.azure.ai.agents.models.RealtimeConversationItemMessageSystemObject":null,"com.azure.ai.agents.models.RealtimeConversationItemMessageSystemObject1":null,"com.azure.ai.agents.models.RealtimeConversationItemType":"OpenAI.RealtimeConversationItemType","com.azure.ai.agents.models.RealtimeFunctionToolParameters":"OpenAI.RealtimeFunctionToolParameters","com.azure.ai.agents.models.RealtimeMCPApprovalRequest":"OpenAI.RealtimeMCPApprovalRequest","com.azure.ai.agents.models.RealtimeMCPApprovalResponse":"OpenAI.RealtimeMCPApprovalResponse","com.azure.ai.agents.models.RealtimeMCPError":"OpenAI.RealtimeMCPError","com.azure.ai.agents.models.RealtimeMCPHttpError":"OpenAI.RealtimeMCPHTTPError","com.azure.ai.agents.models.RealtimeMCPListTools":"OpenAI.RealtimeMCPListTools","com.azure.ai.agents.models.RealtimeMCPProtocolError":"OpenAI.RealtimeMCPProtocolError","com.azure.ai.agents.models.RealtimeMCPToolCall":"OpenAI.RealtimeMCPToolCall","com.azure.ai.agents.models.RealtimeMCPToolExecutionError":"OpenAI.RealtimeMCPToolExecutionError","com.azure.ai.agents.models.RealtimeMcpErrorType":"OpenAI.RealtimeMcpErrorType","com.azure.ai.agents.models.RealtimeResponseStatusDetails":"OpenAI.RealtimeResponseStatusDetails","com.azure.ai.agents.models.RealtimeResponseStatusDetailsError":"OpenAI.RealtimeResponseStatusDetailsError","com.azure.ai.agents.models.RealtimeResponseStatusDetailsReason":"OpenAI.RealtimeResponseStatusDetails.reason.anonymous","com.azure.ai.agents.models.RealtimeResponseStatusDetailsType":"OpenAI.RealtimeResponseStatusDetails.type.anonymous","com.azure.ai.agents.models.RealtimeResponseUsage":"OpenAI.RealtimeResponseUsage","com.azure.ai.agents.models.RealtimeResponseUsageInputTokenDetails":"OpenAI.RealtimeResponseUsageInputTokenDetails","com.azure.ai.agents.models.RealtimeResponseUsageInputTokenDetailsCachedTokensDetails":"OpenAI.RealtimeResponseUsageInputTokenDetailsCachedTokensDetails","com.azure.ai.agents.models.RealtimeResponseUsageOutputTokenDetails":"OpenAI.RealtimeResponseUsageOutputTokenDetails","com.azure.ai.agents.models.Reasoning":"OpenAI.Reasoning","com.azure.ai.agents.models.ReasoningEffort":"OpenAI.ReasoningEffort","com.azure.ai.agents.models.ReasoningModeEnum":"OpenAI.ReasoningModeEnum","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.SipTelephonyTransferDestination":"Azure.AI.Projects.SipTelephonyTransferDestination","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.TeamsPhoneExtensionTelephonyBindingListItem":"Azure.AI.Projects.TeamsPhoneExtensionTelephonyBindingListItem","com.azure.ai.agents.models.TeamsTelephonyTransferDestination":"Azure.AI.Projects.TeamsTelephonyTransferDestination","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.TelephonyBindingStatus":"Azure.AI.Projects.TelephonyBindingStatus","com.azure.ai.agents.models.TelephonyCallDurationBasis":"Azure.AI.Projects.TelephonyCallDurationBasis","com.azure.ai.agents.models.TelephonyCallLifecycleEvent":"Azure.AI.Projects.TelephonyCallLifecycleEvent","com.azure.ai.agents.models.TelephonyCallLifecycleEventName":"Azure.AI.Projects.TelephonyCallLifecycleEventName","com.azure.ai.agents.models.TelephonyCallLifecycleEventOutcome":"Azure.AI.Projects.TelephonyCallLifecycleEventOutcome","com.azure.ai.agents.models.TelephonyCallLifecycleEventSource":"Azure.AI.Projects.TelephonyCallLifecycleEventSource","com.azure.ai.agents.models.TelephonyCallPhase":"Azure.AI.Projects.TelephonyCallPhase","com.azure.ai.agents.models.TelephonyCallRecord":"Azure.AI.Projects.TelephonyCallRecord","com.azure.ai.agents.models.TelephonyCallStatus":"Azure.AI.Projects.TelephonyCallStatus","com.azure.ai.agents.models.TelephonyCallSummary":"Azure.AI.Projects.TelephonyCallSummary","com.azure.ai.agents.models.TelephonyCallTimestampSource":"Azure.AI.Projects.TelephonyCallTimestampSource","com.azure.ai.agents.models.TelephonyCallTiming":"Azure.AI.Projects.TelephonyCallTiming","com.azure.ai.agents.models.TelephonyCallTrace":"Azure.AI.Projects.TelephonyCallTrace","com.azure.ai.agents.models.TelephonyCallTraceMode":"Azure.AI.Projects.TelephonyCallTraceMode","com.azure.ai.agents.models.TelephonyCallTraceStatus":"Azure.AI.Projects.TelephonyCallTraceStatus","com.azure.ai.agents.models.TelephonyProvider":"Azure.AI.Projects.TelephonyProvider","com.azure.ai.agents.models.TelephonyTransferTarget":"Azure.AI.Projects.TelephonyTransferTarget","com.azure.ai.agents.models.TelephonyTransferTargets":"Azure.AI.Projects.TelephonyTransferTargets","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.ToolChoiceFunction":"OpenAI.ToolChoiceFunction","com.azure.ai.agents.models.ToolChoiceMCP":"OpenAI.ToolChoiceMCP","com.azure.ai.agents.models.ToolChoiceParam":"OpenAI.ToolChoiceParam","com.azure.ai.agents.models.ToolChoiceParamType":"OpenAI.ToolChoiceParamType","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.TwilioTelephonyBindingListItem":"Azure.AI.Projects.TwilioTelephonyBindingListItem","com.azure.ai.agents.models.UpdateAgentDetailsOptions":"Azure.AI.Projects.patchAgentObject.Request.anonymous","com.azure.ai.agents.models.UpdateTelephonyBindingRequest":"Azure.AI.Projects.UpdateTelephonyBindingRequest","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.VoiceAgentAudioConfig":"Azure.AI.Projects.VoiceAgentAudioConfig","com.azure.ai.agents.models.VoiceAgentAudioInputConfig":"Azure.AI.Projects.VoiceAgentAudioInputConfig","com.azure.ai.agents.models.VoiceAgentAudioInputConfigTranscriptionDelay":"Azure.AI.Projects.VoiceAgentAudioInputConfig.transcription.delay.anonymous","com.azure.ai.agents.models.VoiceAgentAudioOutputConfig":"Azure.AI.Projects.VoiceAgentAudioOutputConfig","com.azure.ai.agents.models.VoiceAgentAudioTimestampType":"Azure.AI.Projects.VoiceAgentAudioTimestampType","com.azure.ai.agents.models.VoiceAgentAvatarConfig":"Azure.AI.Projects.VoiceAgentAvatarConfig","com.azure.ai.agents.models.VoiceAgentAvatarOutputProtocol":"Azure.AI.Projects.VoiceAgentAvatarOutputProtocol","com.azure.ai.agents.models.VoiceAgentAvatarScene":"Azure.AI.Projects.VoiceAgentAvatarScene","com.azure.ai.agents.models.VoiceAgentAvatarType":"Azure.AI.Projects.VoiceAgentAvatarType","com.azure.ai.agents.models.VoiceAgentAvatarVideoBackground":"Azure.AI.Projects.VoiceAgentAvatarVideoBackground","com.azure.ai.agents.models.VoiceAgentAvatarVideoCrop":"Azure.AI.Projects.VoiceAgentAvatarVideoCrop","com.azure.ai.agents.models.VoiceAgentAvatarVideoParams":"Azure.AI.Projects.VoiceAgentAvatarVideoParams","com.azure.ai.agents.models.VoiceAgentAvatarVideoResolution":"Azure.AI.Projects.VoiceAgentAvatarVideoResolution","com.azure.ai.agents.models.VoiceAgentAzureSemanticVadEnTurnDetection":"Azure.AI.Projects.VoiceAgentAzureSemanticVadEnTurnDetection","com.azure.ai.agents.models.VoiceAgentAzureSemanticVadMultilingualTurnDetection":"Azure.AI.Projects.VoiceAgentAzureSemanticVadMultilingualTurnDetection","com.azure.ai.agents.models.VoiceAgentAzureSemanticVadTurnDetection":"Azure.AI.Projects.VoiceAgentAzureSemanticVadTurnDetection","com.azure.ai.agents.models.VoiceAgentDefinition":"Azure.AI.Projects.VoiceAgentDefinition","com.azure.ai.agents.models.VoiceAgentEchoCancellation":"Azure.AI.Projects.VoiceAgentEchoCancellation","com.azure.ai.agents.models.VoiceAgentEchoCancellationReferenceSource":"Azure.AI.Projects.VoiceAgentEchoCancellationReferenceSource","com.azure.ai.agents.models.VoiceAgentEndOfUtteranceDetection":"Azure.AI.Projects.VoiceAgentEndOfUtteranceDetection","com.azure.ai.agents.models.VoiceAgentEndOfUtteranceDetectionModel":"Azure.AI.Projects.VoiceAgentEndOfUtteranceDetectionModel","com.azure.ai.agents.models.VoiceAgentEndOfUtteranceThresholdLevel":"Azure.AI.Projects.VoiceAgentEndOfUtteranceThresholdLevel","com.azure.ai.agents.models.VoiceAgentFunctionTool":"Azure.AI.Projects.VoiceAgentFunctionTool","com.azure.ai.agents.models.VoiceAgentGreetingConfig":"Azure.AI.Projects.VoiceAgentGreetingConfig","com.azure.ai.agents.models.VoiceAgentInputTranscription":"Azure.AI.Projects.VoiceAgentInputTranscription","com.azure.ai.agents.models.VoiceAgentInputTranscriptionModel":"Azure.AI.Projects.VoiceAgentInputTranscriptionModel","com.azure.ai.agents.models.VoiceAgentInterimResponseConfig":"Azure.AI.Projects.VoiceAgentInterimResponseConfig","com.azure.ai.agents.models.VoiceAgentInterimResponseTrigger":"Azure.AI.Projects.VoiceAgentInterimResponseTrigger","com.azure.ai.agents.models.VoiceAgentLlmGeneratedGreetingConfig":"Azure.AI.Projects.VoiceAgentLlmGeneratedGreetingConfig","com.azure.ai.agents.models.VoiceAgentLlmInterimResponseConfig":"Azure.AI.Projects.VoiceAgentLlmInterimResponseConfig","com.azure.ai.agents.models.VoiceAgentMcpTool":"Azure.AI.Projects.VoiceAgentMcpTool","com.azure.ai.agents.models.VoiceAgentNoiseReduction":"Azure.AI.Projects.VoiceAgentNoiseReduction","com.azure.ai.agents.models.VoiceAgentNoiseReductionType":"Azure.AI.Projects.VoiceAgentNoiseReductionType","com.azure.ai.agents.models.VoiceAgentSemanticVadTurnDetection":"Azure.AI.Projects.VoiceAgentSemanticVadTurnDetection","com.azure.ai.agents.models.VoiceAgentSemanticVadTurnDetectionEagerness":"Azure.AI.Projects.VoiceAgentSemanticVadTurnDetection.eagerness.anonymous","com.azure.ai.agents.models.VoiceAgentServerVadTurnDetection":"Azure.AI.Projects.VoiceAgentServerVadTurnDetection","com.azure.ai.agents.models.VoiceAgentSessionIncludeOption":"Azure.AI.Projects.VoiceAgentSessionIncludeOption","com.azure.ai.agents.models.VoiceAgentStaticInterimResponseConfig":"Azure.AI.Projects.VoiceAgentStaticInterimResponseConfig","com.azure.ai.agents.models.VoiceAgentSubAgent":"Azure.AI.Projects.VoiceAgentSubAgent","com.azure.ai.agents.models.VoiceAgentSubAgentConfig":"Azure.AI.Projects.VoiceAgentSubAgentConfig","com.azure.ai.agents.models.VoiceAgentSubagentResponsePolicy":"Azure.AI.Projects.VoiceAgentSubagentResponsePolicy","com.azure.ai.agents.models.VoiceAgentSystemTool":"Azure.AI.Projects.VoiceAgentSystemTool","com.azure.ai.agents.models.VoiceAgentSystemToolName":"Azure.AI.Projects.VoiceAgentSystemToolName","com.azure.ai.agents.models.VoiceAgentTargetAgent":"Azure.AI.Projects.VoiceAgentTargetAgent","com.azure.ai.agents.models.VoiceAgentTemplateGreetingConfig":"Azure.AI.Projects.VoiceAgentTemplateGreetingConfig","com.azure.ai.agents.models.VoiceAgentTool":"Azure.AI.Projects.VoiceAgentTool","com.azure.ai.agents.models.VoiceAgentToolResponseScheduling":"Azure.AI.Projects.VoiceAgentToolResponseScheduling","com.azure.ai.agents.models.VoiceAgentToolboxTool":"Azure.AI.Projects.VoiceAgentToolboxTool","com.azure.ai.agents.models.VoiceAgentTransport":"Azure.AI.Projects.VoiceAgentTransport","com.azure.ai.agents.models.VoiceAgentTurnDetectionConfig":"Azure.AI.Projects.VoiceAgentTurnDetectionConfig","com.azure.ai.agents.models.VoiceAgentTurnDetectionType":"Azure.AI.Projects.VoiceAgentTurnDetectionType","com.azure.ai.agents.models.VoiceAgentWebSocketSubprotocol":"Azure.AI.Projects.VoiceAgentWebSocketSubprotocol","com.azure.ai.agents.models.VoiceAudioCodec":"Azure.AI.Projects.VoiceAudioCodec","com.azure.ai.agents.models.VoiceAudioContainerFormat":"Azure.AI.Projects.VoiceAudioContainerFormat","com.azure.ai.agents.models.VoiceAudioRole":"Azure.AI.Projects.VoiceAudioRole","com.azure.ai.agents.models.VoiceConversation":"Azure.AI.Projects.VoiceConversation","com.azure.ai.agents.models.VoiceConversationStatus":"Azure.AI.Projects.VoiceConversationStatus","com.azure.ai.agents.models.VoiceGeneratedItemAudioResponse":"Azure.AI.Projects.VoiceGeneratedItemAudioResponse","com.azure.ai.agents.models.VoiceItemAudioResponse":"Azure.AI.Projects.VoiceItemAudioResponse","com.azure.ai.agents.models.VoiceModelType":"Azure.AI.Projects.VoiceModelType","com.azure.ai.agents.models.VoiceOutputModality":"Azure.AI.Projects.VoiceOutputModality","com.azure.ai.agents.models.VoiceRecordingChannelLayout":"Azure.AI.Projects.VoiceRecordingChannelLayout","com.azure.ai.agents.models.VoiceRecordingResponse":"Azure.AI.Projects.VoiceRecordingResponse","com.azure.ai.agents.models.VoiceResponse":"Azure.AI.Projects.VoiceResponse","com.azure.ai.agents.models.VoiceResponseAudio":"Azure.AI.Projects.VoiceResponseAudio","com.azure.ai.agents.models.VoiceResponseAudioOutput":"Azure.AI.Projects.VoiceResponseAudioOutput","com.azure.ai.agents.models.VoiceResponseBase":"Azure.AI.Projects.VoiceResponseBase","com.azure.ai.agents.models.VoiceResponseBaseObject":null,"com.azure.ai.agents.models.VoiceResponseBaseOutputModality":"Azure.AI.Projects.VoiceResponseBase.output_modality.anonymous","com.azure.ai.agents.models.VoiceResponseBaseStatus":"Azure.AI.Projects.VoiceResponseBase.status.anonymous","com.azure.ai.agents.models.VoiceType":"Azure.AI.Projects.VoiceType","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/AgentEndpointConversationsAsyncClient.java","src/main/java/com/azure/ai/agents/AgentEndpointConversationsClient.java","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/BetaAgentEndpointConversationsAsyncClient.java","src/main/java/com/azure/ai/agents/BetaAgentEndpointConversationsClient.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/BetaVoiceAgentWebSocketAsyncClient.java","src/main/java/com/azure/ai/agents/BetaVoiceAgentWebSocketClient.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/AgentEndpointConversationsImpl.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/BetaAgentEndpointConversationsImpl.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/BetaVoiceAgentWebSocketsImpl.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/ReplaceTelephonyTransferTargetsRequest.java","src/main/java/com/azure/ai/agents/implementation/models/SearchMemoriesRequest.java","src/main/java/com/azure/ai/agents/implementation/models/TransferTelephonyCallRequest.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/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/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/McpListToolsTool.java","src/main/java/com/azure/ai/agents/models/McpListToolsToolAnnotations.java","src/main/java/com/azure/ai/agents/models/McpListToolsToolInputSchema.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/Microsoft365PublishResponse.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/PSTNTelephonyTransferDestination.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/PromptAgentDefinitionReasoningContext.java","src/main/java/com/azure/ai/agents/models/PromptAgentDefinitionReasoningGenerateSummary.java","src/main/java/com/azure/ai/agents/models/PromptAgentDefinitionReasoningSummary.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/RealtimeAudioFormats.java","src/main/java/com/azure/ai/agents/models/RealtimeAudioFormatsAudioPcm.java","src/main/java/com/azure/ai/agents/models/RealtimeAudioFormatsAudioPcmRate.java","src/main/java/com/azure/ai/agents/models/RealtimeAudioFormatsAudioPcma.java","src/main/java/com/azure/ai/agents/models/RealtimeAudioFormatsAudioPcmu.java","src/main/java/com/azure/ai/agents/models/RealtimeAudioFormatsType.java","src/main/java/com/azure/ai/agents/models/RealtimeConversationItem.java","src/main/java/com/azure/ai/agents/models/RealtimeConversationItemFunctionCall.java","src/main/java/com/azure/ai/agents/models/RealtimeConversationItemFunctionCallOutput.java","src/main/java/com/azure/ai/agents/models/RealtimeConversationItemFunctionCallOutputStatus.java","src/main/java/com/azure/ai/agents/models/RealtimeConversationItemFunctionCallStatus.java","src/main/java/com/azure/ai/agents/models/RealtimeConversationItemMessageSystemObject.java","src/main/java/com/azure/ai/agents/models/RealtimeConversationItemMessageSystemObject1.java","src/main/java/com/azure/ai/agents/models/RealtimeConversationItemType.java","src/main/java/com/azure/ai/agents/models/RealtimeFunctionToolParameters.java","src/main/java/com/azure/ai/agents/models/RealtimeMCPApprovalRequest.java","src/main/java/com/azure/ai/agents/models/RealtimeMCPApprovalResponse.java","src/main/java/com/azure/ai/agents/models/RealtimeMCPError.java","src/main/java/com/azure/ai/agents/models/RealtimeMCPHttpError.java","src/main/java/com/azure/ai/agents/models/RealtimeMCPListTools.java","src/main/java/com/azure/ai/agents/models/RealtimeMCPProtocolError.java","src/main/java/com/azure/ai/agents/models/RealtimeMCPToolCall.java","src/main/java/com/azure/ai/agents/models/RealtimeMCPToolExecutionError.java","src/main/java/com/azure/ai/agents/models/RealtimeMcpErrorType.java","src/main/java/com/azure/ai/agents/models/RealtimeResponseStatusDetails.java","src/main/java/com/azure/ai/agents/models/RealtimeResponseStatusDetailsError.java","src/main/java/com/azure/ai/agents/models/RealtimeResponseStatusDetailsReason.java","src/main/java/com/azure/ai/agents/models/RealtimeResponseStatusDetailsType.java","src/main/java/com/azure/ai/agents/models/RealtimeResponseUsage.java","src/main/java/com/azure/ai/agents/models/RealtimeResponseUsageInputTokenDetails.java","src/main/java/com/azure/ai/agents/models/RealtimeResponseUsageInputTokenDetailsCachedTokensDetails.java","src/main/java/com/azure/ai/agents/models/RealtimeResponseUsageOutputTokenDetails.java","src/main/java/com/azure/ai/agents/models/Reasoning.java","src/main/java/com/azure/ai/agents/models/ReasoningEffort.java","src/main/java/com/azure/ai/agents/models/ReasoningModeEnum.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/SipTelephonyTransferDestination.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/TeamsPhoneExtensionTelephonyBindingListItem.java","src/main/java/com/azure/ai/agents/models/TeamsTelephonyTransferDestination.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/TelephonyBindingStatus.java","src/main/java/com/azure/ai/agents/models/TelephonyCallDurationBasis.java","src/main/java/com/azure/ai/agents/models/TelephonyCallLifecycleEvent.java","src/main/java/com/azure/ai/agents/models/TelephonyCallLifecycleEventName.java","src/main/java/com/azure/ai/agents/models/TelephonyCallLifecycleEventOutcome.java","src/main/java/com/azure/ai/agents/models/TelephonyCallLifecycleEventSource.java","src/main/java/com/azure/ai/agents/models/TelephonyCallPhase.java","src/main/java/com/azure/ai/agents/models/TelephonyCallRecord.java","src/main/java/com/azure/ai/agents/models/TelephonyCallStatus.java","src/main/java/com/azure/ai/agents/models/TelephonyCallSummary.java","src/main/java/com/azure/ai/agents/models/TelephonyCallTimestampSource.java","src/main/java/com/azure/ai/agents/models/TelephonyCallTiming.java","src/main/java/com/azure/ai/agents/models/TelephonyCallTrace.java","src/main/java/com/azure/ai/agents/models/TelephonyCallTraceMode.java","src/main/java/com/azure/ai/agents/models/TelephonyCallTraceStatus.java","src/main/java/com/azure/ai/agents/models/TelephonyProvider.java","src/main/java/com/azure/ai/agents/models/TelephonyTransferTarget.java","src/main/java/com/azure/ai/agents/models/TelephonyTransferTargets.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/ToolChoiceFunction.java","src/main/java/com/azure/ai/agents/models/ToolChoiceMCP.java","src/main/java/com/azure/ai/agents/models/ToolChoiceParam.java","src/main/java/com/azure/ai/agents/models/ToolChoiceParamType.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/TwilioTelephonyBindingListItem.java","src/main/java/com/azure/ai/agents/models/UpdateAgentDetailsOptions.java","src/main/java/com/azure/ai/agents/models/UpdateTelephonyBindingRequest.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/VoiceAgentAudioConfig.java","src/main/java/com/azure/ai/agents/models/VoiceAgentAudioInputConfig.java","src/main/java/com/azure/ai/agents/models/VoiceAgentAudioInputConfigTranscriptionDelay.java","src/main/java/com/azure/ai/agents/models/VoiceAgentAudioOutputConfig.java","src/main/java/com/azure/ai/agents/models/VoiceAgentAudioTimestampType.java","src/main/java/com/azure/ai/agents/models/VoiceAgentAvatarConfig.java","src/main/java/com/azure/ai/agents/models/VoiceAgentAvatarOutputProtocol.java","src/main/java/com/azure/ai/agents/models/VoiceAgentAvatarScene.java","src/main/java/com/azure/ai/agents/models/VoiceAgentAvatarType.java","src/main/java/com/azure/ai/agents/models/VoiceAgentAvatarVideoBackground.java","src/main/java/com/azure/ai/agents/models/VoiceAgentAvatarVideoCrop.java","src/main/java/com/azure/ai/agents/models/VoiceAgentAvatarVideoParams.java","src/main/java/com/azure/ai/agents/models/VoiceAgentAvatarVideoResolution.java","src/main/java/com/azure/ai/agents/models/VoiceAgentAzureSemanticVadEnTurnDetection.java","src/main/java/com/azure/ai/agents/models/VoiceAgentAzureSemanticVadMultilingualTurnDetection.java","src/main/java/com/azure/ai/agents/models/VoiceAgentAzureSemanticVadTurnDetection.java","src/main/java/com/azure/ai/agents/models/VoiceAgentDefinition.java","src/main/java/com/azure/ai/agents/models/VoiceAgentEchoCancellation.java","src/main/java/com/azure/ai/agents/models/VoiceAgentEchoCancellationReferenceSource.java","src/main/java/com/azure/ai/agents/models/VoiceAgentEndOfUtteranceDetection.java","src/main/java/com/azure/ai/agents/models/VoiceAgentEndOfUtteranceDetectionModel.java","src/main/java/com/azure/ai/agents/models/VoiceAgentEndOfUtteranceThresholdLevel.java","src/main/java/com/azure/ai/agents/models/VoiceAgentFunctionTool.java","src/main/java/com/azure/ai/agents/models/VoiceAgentGreetingConfig.java","src/main/java/com/azure/ai/agents/models/VoiceAgentInputTranscription.java","src/main/java/com/azure/ai/agents/models/VoiceAgentInputTranscriptionModel.java","src/main/java/com/azure/ai/agents/models/VoiceAgentInterimResponseConfig.java","src/main/java/com/azure/ai/agents/models/VoiceAgentInterimResponseTrigger.java","src/main/java/com/azure/ai/agents/models/VoiceAgentLlmGeneratedGreetingConfig.java","src/main/java/com/azure/ai/agents/models/VoiceAgentLlmInterimResponseConfig.java","src/main/java/com/azure/ai/agents/models/VoiceAgentMcpTool.java","src/main/java/com/azure/ai/agents/models/VoiceAgentNoiseReduction.java","src/main/java/com/azure/ai/agents/models/VoiceAgentNoiseReductionType.java","src/main/java/com/azure/ai/agents/models/VoiceAgentSemanticVadTurnDetection.java","src/main/java/com/azure/ai/agents/models/VoiceAgentSemanticVadTurnDetectionEagerness.java","src/main/java/com/azure/ai/agents/models/VoiceAgentServerVadTurnDetection.java","src/main/java/com/azure/ai/agents/models/VoiceAgentSessionIncludeOption.java","src/main/java/com/azure/ai/agents/models/VoiceAgentStaticInterimResponseConfig.java","src/main/java/com/azure/ai/agents/models/VoiceAgentSubAgent.java","src/main/java/com/azure/ai/agents/models/VoiceAgentSubAgentConfig.java","src/main/java/com/azure/ai/agents/models/VoiceAgentSubagentResponsePolicy.java","src/main/java/com/azure/ai/agents/models/VoiceAgentSystemTool.java","src/main/java/com/azure/ai/agents/models/VoiceAgentSystemToolName.java","src/main/java/com/azure/ai/agents/models/VoiceAgentTargetAgent.java","src/main/java/com/azure/ai/agents/models/VoiceAgentTemplateGreetingConfig.java","src/main/java/com/azure/ai/agents/models/VoiceAgentTool.java","src/main/java/com/azure/ai/agents/models/VoiceAgentToolResponseScheduling.java","src/main/java/com/azure/ai/agents/models/VoiceAgentToolboxTool.java","src/main/java/com/azure/ai/agents/models/VoiceAgentTransport.java","src/main/java/com/azure/ai/agents/models/VoiceAgentTurnDetectionConfig.java","src/main/java/com/azure/ai/agents/models/VoiceAgentTurnDetectionType.java","src/main/java/com/azure/ai/agents/models/VoiceAgentWebSocketSubprotocol.java","src/main/java/com/azure/ai/agents/models/VoiceAudioCodec.java","src/main/java/com/azure/ai/agents/models/VoiceAudioContainerFormat.java","src/main/java/com/azure/ai/agents/models/VoiceAudioRole.java","src/main/java/com/azure/ai/agents/models/VoiceConversation.java","src/main/java/com/azure/ai/agents/models/VoiceConversationStatus.java","src/main/java/com/azure/ai/agents/models/VoiceGeneratedItemAudioResponse.java","src/main/java/com/azure/ai/agents/models/VoiceItemAudioResponse.java","src/main/java/com/azure/ai/agents/models/VoiceModelType.java","src/main/java/com/azure/ai/agents/models/VoiceOutputModality.java","src/main/java/com/azure/ai/agents/models/VoiceRecordingChannelLayout.java","src/main/java/com/azure/ai/agents/models/VoiceRecordingResponse.java","src/main/java/com/azure/ai/agents/models/VoiceResponse.java","src/main/java/com/azure/ai/agents/models/VoiceResponseAudio.java","src/main/java/com/azure/ai/agents/models/VoiceResponseAudioOutput.java","src/main/java/com/azure/ai/agents/models/VoiceResponseBase.java","src/main/java/com/azure/ai/agents/models/VoiceResponseBaseObject.java","src/main/java/com/azure/ai/agents/models/VoiceResponseBaseOutputModality.java","src/main/java/com/azure/ai/agents/models/VoiceResponseBaseStatus.java","src/main/java/com/azure/ai/agents/models/VoiceType.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/voice/VoiceAgentSampleUtils.java b/sdk/ai/azure-ai-agents/src/samples/java/com/azure/ai/agents/voice/VoiceAgentSampleUtils.java
index 2ddcf80d3bbb..f4eb84ed7b01 100644
--- a/sdk/ai/azure-ai-agents/src/samples/java/com/azure/ai/agents/voice/VoiceAgentSampleUtils.java
+++ b/sdk/ai/azure-ai-agents/src/samples/java/com/azure/ai/agents/voice/VoiceAgentSampleUtils.java
@@ -20,7 +20,8 @@ static VoiceAgentDefinition createDefinition(VoiceModelType modelType, String mo
VoiceAgentAudioOutputConfig output = new VoiceAgentAudioOutputConfig()
.setVoice("en-US-AvaNeural")
.setVoiceType(VoiceType.AZURE_STANDARD);
- return new VoiceAgentDefinition(modelType, model)
+ return new VoiceAgentDefinition(modelType)
+ .setModel(model)
.setInstructions(instructions)
.setAudio(new VoiceAgentAudioConfig().setOutput(output))
.setOutputModalities(Collections.singletonList(VoiceOutputModality.AUDIO))
diff --git a/sdk/ai/azure-ai-agents/src/samples/java/com/azure/ai/agents/voice/VoiceAgentWithToolsSample.java b/sdk/ai/azure-ai-agents/src/samples/java/com/azure/ai/agents/voice/VoiceAgentWithToolsSample.java
index 347924ebf6e2..99e47624a27b 100644
--- a/sdk/ai/azure-ai-agents/src/samples/java/com/azure/ai/agents/voice/VoiceAgentWithToolsSample.java
+++ b/sdk/ai/azure-ai-agents/src/samples/java/com/azure/ai/agents/voice/VoiceAgentWithToolsSample.java
@@ -72,13 +72,13 @@ public static void main(String[] args) {
.setDescription("Get the current weather for a city.")
.setParameters(new RealtimeFunctionToolParameters());
VoiceAgentSystemTool endCall = new VoiceAgentSystemTool(VoiceAgentSystemToolName.END_CONVERSATION);
- VoiceAgentDefinition definition = new VoiceAgentDefinition(
- modelType, model)
- .setInstructions("Use tools when they help answer the caller.")
- .setAudio(new VoiceAgentAudioConfig().setInput(input).setOutput(output))
- .setOutputModalities(Collections.singletonList(VoiceOutputModality.AUDIO))
- .setTools(Arrays.asList(weather, endCall))
- .setStore(true);
+ VoiceAgentDefinition definition = new VoiceAgentDefinition(modelType)
+ .setModel(model)
+ .setInstructions("Use tools when they help answer the caller.")
+ .setAudio(new VoiceAgentAudioConfig().setInput(input).setOutput(output))
+ .setOutputModalities(Collections.singletonList(VoiceOutputModality.AUDIO))
+ .setTools(Arrays.asList(weather, endCall))
+ .setStore(true);
try {
AgentVersionDetails created = client.createAgentVersion(agentName,
diff --git a/sdk/ai/azure-ai-agents/src/test/java/com/azure/ai/agents/VoiceAgentsMockTests.java b/sdk/ai/azure-ai-agents/src/test/java/com/azure/ai/agents/VoiceAgentsMockTests.java
index c7e6e14040a5..7de21ca4729d 100644
--- a/sdk/ai/azure-ai-agents/src/test/java/com/azure/ai/agents/VoiceAgentsMockTests.java
+++ b/sdk/ai/azure-ai-agents/src/test/java/com/azure/ai/agents/VoiceAgentsMockTests.java
@@ -198,7 +198,8 @@ private static AgentsClientBuilder createBuilder(DeterministicHttpClient httpCli
private static VoiceAgentDefinition createVoiceDefinition(String instructions) {
VoiceAgentAudioOutputConfig output
= new VoiceAgentAudioOutputConfig().setVoice("en-US-AvaNeural").setVoiceType(VoiceType.AZURE_STANDARD);
- return new VoiceAgentDefinition(VoiceModelType.MANAGED, "gpt-realtime").setInstructions(instructions)
+ return new VoiceAgentDefinition(VoiceModelType.MANAGED).setModel("gpt-realtime")
+ .setInstructions(instructions)
.setAudio(new VoiceAgentAudioConfig().setOutput(output))
.setOutputModalities(Collections.singletonList(VoiceOutputModality.AUDIO))
.setStore(true);
diff --git a/sdk/ai/azure-ai-agents/src/test/java/com/azure/ai/agents/models/VoiceAgentDefinitionSerializationTests.java b/sdk/ai/azure-ai-agents/src/test/java/com/azure/ai/agents/models/VoiceAgentDefinitionSerializationTests.java
index 635334683645..7bddc15d66d5 100644
--- a/sdk/ai/azure-ai-agents/src/test/java/com/azure/ai/agents/models/VoiceAgentDefinitionSerializationTests.java
+++ b/sdk/ai/azure-ai-agents/src/test/java/com/azure/ai/agents/models/VoiceAgentDefinitionSerializationTests.java
@@ -37,7 +37,7 @@ public void fullVoiceDefinitionRoundTrips() throws IOException {
.setParameters(new RealtimeFunctionToolParameters());
VoiceAgentSystemTool systemTool = new VoiceAgentSystemTool(VoiceAgentSystemToolName.END_CONVERSATION);
- VoiceAgentDefinition original = new VoiceAgentDefinition(VoiceModelType.MANAGED, "gpt-realtime")
+ VoiceAgentDefinition original = new VoiceAgentDefinition(VoiceModelType.MANAGED).setModel("gpt-realtime")
.setInstructions("Keep replies short and natural.")
.setAudio(new VoiceAgentAudioConfig().setInput(input).setOutput(output))
.setOutputModalities(Collections.singletonList(VoiceOutputModality.AUDIO))
@@ -78,7 +78,7 @@ public void fullVoiceDefinitionRoundTrips() throws IOException {
@Test
public void selfDeployedVoiceDefinitionRoundTrips() throws IOException {
VoiceAgentDefinition original
- = new VoiceAgentDefinition(VoiceModelType.SELF_DEPLOYED, "customer-realtime-deployment")
+ = new VoiceAgentDefinition(VoiceModelType.SELF_DEPLOYED).setModel("customer-realtime-deployment")
.setInstructions("Use the customer deployment.");
String json = serialize(original);
diff --git a/sdk/ai/azure-ai-agents/tsp-location.yaml b/sdk/ai/azure-ai-agents/tsp-location.yaml
new file mode 100644
index 000000000000..6ed7c6dfd629
--- /dev/null
+++ b/sdk/ai/azure-ai-agents/tsp-location.yaml
@@ -0,0 +1,26 @@
+directory: specification/ai-foundry/data-plane/Foundry/src/sdk-java-azure-ai-agents
+commit:
+repo: Azure/azure-rest-api-specs
+additionalDirectories:
+- specification/ai-foundry/data-plane/Foundry/src/agents
+- specification/ai-foundry/data-plane/Foundry/src/agents-optimization
+- specification/ai-foundry/data-plane/Foundry/src/agents-session-files
+- specification/ai-foundry/data-plane/Foundry/src/agents-microsoft365
+- specification/ai-foundry/data-plane/Foundry/src/common
+- specification/ai-foundry/data-plane/Foundry/src/connections
+- specification/ai-foundry/data-plane/Foundry/src/datasets
+- specification/ai-foundry/data-plane/Foundry/src/indexes
+- specification/ai-foundry/data-plane/Foundry/src/deployments
+- specification/ai-foundry/data-plane/Foundry/src/red-teams
+- specification/ai-foundry/data-plane/Foundry/src/evaluation-rules
+- specification/ai-foundry/data-plane/Foundry/src/evaluation-taxonomies
+- specification/ai-foundry/data-plane/Foundry/src/evaluators
+- specification/ai-foundry/data-plane/Foundry/src/insights
+- specification/ai-foundry/data-plane/Foundry/src/schedules
+- specification/ai-foundry/data-plane/Foundry/src/memory-stores
+- specification/ai-foundry/data-plane/Foundry/src/openai
+- specification/ai-foundry/data-plane/Foundry/src/sdk-common
+- specification/ai-foundry/data-plane/Foundry/src/skills
+- specification/ai-foundry/data-plane/Foundry/src/toolboxes
+- specification/ai-foundry/data-plane/Foundry/src/tools
+- specification/ai-foundry/data-plane/Foundry/src/voice-agents
diff --git a/sdk/ai/azure-ai-projects/tsp-location.yaml b/sdk/ai/azure-ai-projects/tsp-location.yaml
new file mode 100644
index 000000000000..80a72b20dbdb
--- /dev/null
+++ b/sdk/ai/azure-ai-projects/tsp-location.yaml
@@ -0,0 +1,26 @@
+directory: specification/ai-foundry/data-plane/Foundry/src/sdk-java-azure-ai-projects
+commit:
+repo: Azure/azure-rest-api-specs
+additionalDirectories:
+- specification/ai-foundry/data-plane/Foundry/src/agent-insights
+- specification/ai-foundry/data-plane/Foundry/src/sdk-common
+- specification/ai-foundry/data-plane/Foundry/src/agents-session-files
+- specification/ai-foundry/data-plane/Foundry/src/common
+- specification/ai-foundry/data-plane/Foundry/src/connections
+- specification/ai-foundry/data-plane/Foundry/src/data_generation_jobs
+- specification/ai-foundry/data-plane/Foundry/src/datasets
+- specification/ai-foundry/data-plane/Foundry/src/deployments
+- specification/ai-foundry/data-plane/Foundry/src/evaluation-rules
+- specification/ai-foundry/data-plane/Foundry/src/evaluation-taxonomies
+- specification/ai-foundry/data-plane/Foundry/src/evaluators
+- specification/ai-foundry/data-plane/Foundry/src/indexes
+- specification/ai-foundry/data-plane/Foundry/src/insights
+- specification/ai-foundry/data-plane/Foundry/src/memory-stores
+- specification/ai-foundry/data-plane/Foundry/src/models
+- specification/ai-foundry/data-plane/Foundry/src/openai
+- specification/ai-foundry/data-plane/Foundry/src/red-teams
+- specification/ai-foundry/data-plane/Foundry/src/routines
+- specification/ai-foundry/data-plane/Foundry/src/schedules
+- specification/ai-foundry/data-plane/Foundry/src/skills
+- specification/ai-foundry/data-plane/Foundry/src/toolboxes
+- specification/ai-foundry/data-plane/Foundry/src/tools
| | | |